diff --git a/docs/articles_en/about-openvino/release-notes-openvino.rst b/docs/articles_en/about-openvino/release-notes-openvino.rst index 1d0c7f8d99e..1cb9b34dc9f 100644 --- a/docs/articles_en/about-openvino/release-notes-openvino.rst +++ b/docs/articles_en/about-openvino/release-notes-openvino.rst @@ -232,18 +232,18 @@ Jupyter Notebooks The following notebooks have been updated or newly added: -* `Mobile language assistant with MobileVLM `__ -* `Depth estimation with DepthAnything `__ -* `Kosmos-2 `__ -* `Zero-shot Image Classification with SigLIP `__ -* `Personalized image generation with PhotoMaker `__ -* `Voice tone cloning with OpenVoice `__ -* `Line-level text detection with Surya `__ -* `InstantID: Zero-shot Identity-Preserving Generation using OpenVINO `__ -* `Tutorial for Big Image Transfer (BIT) model quantization using NNCF `__ -* `Tutorial for OpenVINO Tokenizers integration into inference pipelines `__ -* `LLM chatbot `__ and - `LLM RAG pipeline `__ +* `Mobile language assistant with MobileVLM `__ +* `Depth estimation with DepthAnything `__ +* `Kosmos-2 `__ +* `Zero-shot Image Classification with SigLIP `__ +* `Personalized image generation with PhotoMaker `__ +* `Voice tone cloning with OpenVoice `__ +* `Line-level text detection with Surya `__ +* `InstantID: Zero-shot Identity-Preserving Generation using OpenVINO `__ +* `Tutorial for Big Image Transfer (BIT) model quantization using NNCF `__ +* `Tutorial for OpenVINO Tokenizers integration into inference pipelines `__ +* `LLM chatbot `__ and + `LLM RAG pipeline `__ have received integration with new models: minicpm-2b-dpo, gemma-7b-it, qwen1.5-7b-chat, baichuan2-7b-chat diff --git a/docs/articles_en/documentation/legacy-features/install-dev-tools.rst b/docs/articles_en/documentation/legacy-features/install-dev-tools.rst index 1c631599b73..59e97b69ab7 100644 --- a/docs/articles_en/documentation/legacy-features/install-dev-tools.rst +++ b/docs/articles_en/documentation/legacy-features/install-dev-tools.rst @@ -176,13 +176,13 @@ Get started with Python .. image:: ../../_static/images/get_started_with_python.gif :width: 400 -Try the `Python Quick Start Example <../../notebooks/201-vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. +Try the `Python Quick Start Example <../../notebooks/vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. Visit the :doc:`Tutorials <../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: -* `OpenVINO Python API Tutorial <../../notebooks/002-openvino-api-with-output.html>`__ -* `Basic image classification program with Hello Image Classification <../../notebooks/001-hello-world-with-output.html>`__ -* `Convert a PyTorch model and use it for image background removal <../../notebooks/205-vision-background-removal-with-output.html>`__ +* `OpenVINO Python API Tutorial <../../notebooks/openvino-api-with-output.html>`__ +* `Basic image classification program with Hello Image Classification <../../notebooks/hello-world-with-output.html>`__ +* `Convert a PyTorch model and use it for image background removal <../../notebooks/vision-background-removal-with-output.html>`__ Get started with C++ ++++++++++++++++++++ diff --git a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst index 8fada51305c..b4296d69a8a 100644 --- a/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst +++ b/docs/articles_en/documentation/legacy-features/transition-legacy-conversion-api/legacy-conversion-api/[legacy]-supported-model-formats.rst @@ -76,7 +76,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-pytorch>` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. .. tab-item:: TensorFlow @@ -115,14 +115,14 @@ Here are code examples of how to use these methods with different model formats: import openvino from openvino.tools.mo import convert_model - + core = openvino.Core() ov_model = convert_model("saved_model.pb") compiled_model = core.compile_model(ov_model, "AUTO") For more details on conversion, refer to the :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-tensorflow>` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. * The ``read_model()`` and ``compile_model()`` methods: @@ -227,7 +227,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-tensorflow>` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. @@ -260,7 +260,7 @@ Here are code examples of how to use these methods with different model formats: :force: import openvino - + core = openvino.Core() compiled_model = core.compile_model(".tflite", "AUTO") @@ -355,7 +355,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-onnx>` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. @@ -486,7 +486,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide <[legacy]-supported-model-formats/[legacy]-convert-paddle>` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. * The ``read_model()`` method: diff --git a/docs/articles_en/get-started.rst b/docs/articles_en/get-started.rst index edae30592b6..05d15de18e1 100644 --- a/docs/articles_en/get-started.rst +++ b/docs/articles_en/get-started.rst @@ -24,7 +24,7 @@ GET STARTED

Welcome to OpenVINO! This guide introduces installation and learning materials for Intel® Distribution of OpenVINO™ toolkit. The guide walks through the following steps:
- Quick Start Example + Quick Start Example Install OpenVINO Learn OpenVINO

@@ -43,7 +43,7 @@ For a quick reference, check out .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 -Try out OpenVINO's capabilities with this `quick start example `__ that estimates depth in a scene using an OpenVINO monodepth model to quickly see how to load a model, prepare an image, inference the image, and display the result. +Try out OpenVINO's capabilities with this `quick start example `__ that estimates depth in a scene using an OpenVINO monodepth model to quickly see how to load a model, prepare an image, inference the image, and display the result. .. _install-openvino-gsg: @@ -75,10 +75,10 @@ Interactive Tutorials - Jupyter Notebooks Start with :doc:`interactive Python ` that show the basics of model inferencing, the OpenVINO API, how to convert models to OpenVINO format, and more. -* `Hello Image Classification `__ - Load an image classification model in OpenVINO and use it to apply a label to an image -* `OpenVINO Runtime API Tutorial `__ - Learn the basic Python API for working with models in OpenVINO -* `Convert TensorFlow Models to OpenVINO `__ -* `Convert PyTorch Models to OpenVINO `__ +* `Hello Image Classification `__ - Load an image classification model in OpenVINO and use it to apply a label to an image +* `OpenVINO Runtime API Tutorial `__ - Learn the basic Python API for working with models in OpenVINO +* `Convert TensorFlow Models to OpenVINO `__ +* `Convert PyTorch Models to OpenVINO `__ .. _code-samples: @@ -106,8 +106,8 @@ Model Compression and Quantization Use OpenVINO’s model compression tools to reduce your model’s latency and memory footprint while maintaining good accuracy. -* Tutorial - `Quantization-Aware Training in TensorFlow with OpenVINO NNCF `__ -* Tutorial - `Quantization-Aware Training in PyTorch with NNCF `__ +* Tutorial - `Quantization-Aware Training in TensorFlow with OpenVINO NNCF `__ +* Tutorial - `Quantization-Aware Training in PyTorch with NNCF `__ * :doc:`Model Optimization Guide ` Automated Device Configuration diff --git a/docs/articles_en/get-started/install-openvino/install-openvino-archive-linux.rst b/docs/articles_en/get-started/install-openvino/install-openvino-archive-linux.rst index 7cee296cb7c..6364d598587 100644 --- a/docs/articles_en/get-started/install-openvino/install-openvino-archive-linux.rst +++ b/docs/articles_en/get-started/install-openvino/install-openvino-archive-linux.rst @@ -283,7 +283,7 @@ Learn more about how to integrate a model in OpenVINO applications by trying out .. tab-item:: Get started with Python :sync: get-started-py - Try the `Python Quick Start Example <../../notebooks/201-vision-monodepth-with-output.html>`__ + Try the `Python Quick Start Example <../../notebooks/vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif @@ -291,9 +291,9 @@ Learn more about how to integrate a model in OpenVINO applications by trying out Visit the :doc:`Tutorials <../../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: - * `OpenVINO Python API Tutorial <../../notebooks/002-openvino-api-with-output.html>`__ - * `Basic image classification program with Hello Image Classification <../../notebooks/001-hello-world-with-output.html>`__ - * `Convert a PyTorch model and use it for image background removal <../../notebooks/205-vision-background-removal-with-output.html>`__ + * `OpenVINO Python API Tutorial <../../notebooks/openvino-api-with-output.html>`__ + * `Basic image classification program with Hello Image Classification <../../notebooks/hello-world-with-output.html>`__ + * `Convert a PyTorch model and use it for image background removal <../../notebooks/vision-background-removal-with-output.html>`__ .. tab-item:: Get started with C++ diff --git a/docs/articles_en/get-started/install-openvino/install-openvino-archive-macos.rst b/docs/articles_en/get-started/install-openvino/install-openvino-archive-macos.rst index 91907cd3ec5..2421ec54c32 100644 --- a/docs/articles_en/get-started/install-openvino/install-openvino-archive-macos.rst +++ b/docs/articles_en/get-started/install-openvino/install-openvino-archive-macos.rst @@ -156,16 +156,16 @@ Now that you've installed OpenVINO Runtime, you're ready to run your own machine .. tab-item:: Get started with Python :sync: get-started-py - Try the `Python Quick Start Example <../../notebooks/201-vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. + Try the `Python Quick Start Example <../../notebooks/vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 Visit the :doc:`Tutorials <../../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: - * `OpenVINO Python API Tutorial <../../notebooks/002-openvino-api-with-output.html>`__ - * `Basic image classification program with Hello Image Classification <../../notebooks/001-hello-world-with-output.html>`__ - * `Convert a PyTorch model and use it for image background removal <../../notebooks/205-vision-background-removal-with-output.html>`__ + * `OpenVINO Python API Tutorial <../../notebooks/openvino-api-with-output.html>`__ + * `Basic image classification program with Hello Image Classification <../../notebooks/hello-world-with-output.html>`__ + * `Convert a PyTorch model and use it for image background removal <../../notebooks/vision-background-removal-with-output.html>`__ .. tab-item:: Get started with C++ :sync: get-started-cpp diff --git a/docs/articles_en/get-started/install-openvino/install-openvino-archive-windows.rst b/docs/articles_en/get-started/install-openvino/install-openvino-archive-windows.rst index 94b4eb2d7fc..ffa5e612ab1 100644 --- a/docs/articles_en/get-started/install-openvino/install-openvino-archive-windows.rst +++ b/docs/articles_en/get-started/install-openvino/install-openvino-archive-windows.rst @@ -194,16 +194,16 @@ Now that you've installed OpenVINO Runtime, you're ready to run your own machine .. tab-item:: Get started with Python :sync: get-started-py - Try the `Python Quick Start Example <../../notebooks/201-vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. + Try the `Python Quick Start Example <../../notebooks/vision-monodepth-with-output.html>`__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 Visit the :doc:`Tutorials <../../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: - * `OpenVINO Python API Tutorial <../../notebooks/002-openvino-api-with-output.html>`__ - * `Basic image classification program with Hello Image Classification <../../notebooks/001-hello-world-with-output.html>`__ - * `Convert a PyTorch model and use it for image background removal <../../notebooks/205-vision-background-removal-with-output.html>`__ + * `OpenVINO Python API Tutorial <../../notebooks/openvino-api-with-output.html>`__ + * `Basic image classification program with Hello Image Classification <../../notebooks/hello-world-with-output.html>`__ + * `Convert a PyTorch model and use it for image background removal <../../notebooks/vision-background-removal-with-output.html>`__ .. tab-item:: Get started with C++ :sync: get-started-cpp diff --git a/docs/articles_en/get-started/install-openvino/install-openvino-pip.rst b/docs/articles_en/get-started/install-openvino/install-openvino-pip.rst index 6d00c1bc0b0..ed3c1b12428 100644 --- a/docs/articles_en/get-started/install-openvino/install-openvino-pip.rst +++ b/docs/articles_en/get-started/install-openvino/install-openvino-pip.rst @@ -135,16 +135,16 @@ Now that you've installed OpenVINO Runtime, you're ready to run your own machine .. image:: https://user-images.githubusercontent.com/15709723/127752390-f6aa371f-31b5-4846-84b9-18dd4f662406.gif :width: 400 -Try the `Python Quick Start Example `__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. +Try the `Python Quick Start Example `__ to estimate depth in a scene using an OpenVINO monodepth model in a Jupyter Notebook inside your web browser. Get started with Python +++++++++++++++++++++++ Visit the :doc:`Tutorials <../../../learn-openvino/interactive-tutorials-python>` page for more Jupyter Notebooks to get you started with OpenVINO, such as: -* `OpenVINO Python API Tutorial `__ -* `Basic image classification program with Hello Image Classification `__ -* `Convert a PyTorch model and use it for image background removal `__ +* `OpenVINO Python API Tutorial `__ +* `Basic image classification program with Hello Image Classification `__ +* `Convert a PyTorch model and use it for image background removal `__ diff --git a/docs/articles_en/learn-openvino/interactive-tutorials-python.rst b/docs/articles_en/learn-openvino/interactive-tutorials-python.rst index b0656649119..98719478526 100644 --- a/docs/articles_en/learn-openvino/interactive-tutorials-python.rst +++ b/docs/articles_en/learn-openvino/interactive-tutorials-python.rst @@ -43,7 +43,7 @@ on how to run and manage the notebooks on your system. Additional Resources ###################### -* `OpenVINO™ Notebooks - Github Repository `_ +* `OpenVINO™ Notebooks - Github Repository `_ * `Binder documentation `_ * `Google Colab `__ diff --git a/docs/articles_en/learn-openvino/interactive-tutorials-python/notebooks-installation.rst b/docs/articles_en/learn-openvino/interactive-tutorials-python/notebooks-installation.rst index c091a5a8d1e..bda27362fbf 100644 --- a/docs/articles_en/learn-openvino/interactive-tutorials-python/notebooks-installation.rst +++ b/docs/articles_en/learn-openvino/interactive-tutorials-python/notebooks-installation.rst @@ -175,7 +175,7 @@ Installing prerequisites .. code-block:: sh - :caption: Source: https://github.com/openvinotoolkit/openvino_notebooks/blob/main/Dockerfile + :caption: Source: https://github.com/openvinotoolkit/openvino_notebooks/blob/latest/Dockerfile FROM quay.io/thoth-station/s2i-thoth-ubi8-py38:v0.29.0 @@ -485,7 +485,7 @@ If you want to launch only one notebook, such as the *Monodepth* notebook, run t .. code:: bash - jupyter lab notebooks/201-vision-monodepth/201-vision-monodepth.ipynb + jupyter lab notebooks/vision-monodepth/vision-monodepth.ipynb Launch All Notebooks ++++++++++++++++++++ @@ -605,7 +605,7 @@ or create an Additional Resources #################### -* `OpenVINO™ Notebooks - Github Repository `_ +* `OpenVINO™ Notebooks - Github Repository `_ .. |launch-jupyter| image:: https://user-images.githubusercontent.com/15709723/120527271-006fd200-c38f-11eb-9935-2d36d50bab9f.gif diff --git a/docs/articles_en/learn-openvino/llm_inference_guide/llm-inference-hf.rst b/docs/articles_en/learn-openvino/llm_inference_guide/llm-inference-hf.rst index 571108f07dc..aa5ad1066b5 100644 --- a/docs/articles_en/learn-openvino/llm_inference_guide/llm-inference-hf.rst +++ b/docs/articles_en/learn-openvino/llm_inference_guide/llm-inference-hf.rst @@ -171,15 +171,15 @@ parameters. Below are some examples of using Optimum-Intel for model conversion and inference: -* `Instruction following using Databricks Dolly 2.0 and OpenVINO `__ -* `Create an LLM-powered Chatbot using OpenVINO `__ +* `Instruction following using Databricks Dolly 2.0 and OpenVINO `__ +* `Create an LLM-powered Chatbot using OpenVINO `__ .. note:: Optimum-Intel can be used for other generative AI models. See - `Stable Diffusion v2.1 using Optimum-Intel OpenVINO `__ + `Stable Diffusion v2.1 using Optimum-Intel OpenVINO `__ and - `Image generation with Stable Diffusion XL and OpenVINO `__ + `Image generation with Stable Diffusion XL and OpenVINO `__ for more examples. Inference Example diff --git a/docs/articles_en/learn-openvino/llm_inference_guide/ov-tokenizers.rst b/docs/articles_en/learn-openvino/llm_inference_guide/ov-tokenizers.rst index 3a35b00be6e..e7e59ba5755 100644 --- a/docs/articles_en/learn-openvino/llm_inference_guide/ov-tokenizers.rst +++ b/docs/articles_en/learn-openvino/llm_inference_guide/ov-tokenizers.rst @@ -25,7 +25,7 @@ tokenizer conversion for seamless integration into your project. With OpenVINO T * Convert Hugging Face tokenizers into OpenVINO tokenizer and detokenizer for efficient deployment across different environments. See the `conversion example `__ for more details. -* Combine OpenVINO models into a single model. Recommended for specific models, like classifiers or RAG Embedders, where both tokenizer and a model are used once in each pipeline inference. For more information, see the `OpenVINO Tokenizers Notebook `__. +* Combine OpenVINO models into a single model. Recommended for specific models, like classifiers or RAG Embedders, where both tokenizer and a model are used once in each pipeline inference. For more information, see the `OpenVINO Tokenizers Notebook `__. * Add greedy decoding pipeline to text generation models. @@ -273,7 +273,7 @@ Convert Tokenizers: tokenizer, detokenizer = compile_model(ov_tokenizer), compile_model(ov_detokenizer) The result is two OpenVINO models: ``ov_tokenizer`` and ``ov_detokenizer``. -You can find more information and code snippets in the `OpenVINO Tokenizers Notebook `__. +You can find more information and code snippets in the `OpenVINO Tokenizers Notebook `__. 2. Tokenize and Prepare Inputs +++++++++++++++++++++++++++++++ @@ -337,7 +337,7 @@ Additional Resources #################### * `OpenVINO Tokenizers repo `__ -* `OpenVINO Tokenizers Notebook `__ +* `OpenVINO Tokenizers Notebook `__ * `Text generation C++ samples that support most popular models like LLaMA 2 `__ * `OpenVINO GenAI Repo `__ diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst index 618ec460c3f..c1796c87113 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training.rst @@ -30,8 +30,8 @@ NNCF Quick Start Examples See the following Jupyter Notebooks for step-by-step examples showing how to add model compression to a PyTorch or Tensorflow training pipeline with NNCF: -- `Quantization Aware Training with NNCF and PyTorch `__. -- `Quantization Aware Training with NNCF and TensorFlow `__. +- `Quantization Aware Training with NNCF and PyTorch `__. +- `Quantization Aware Training with NNCF and TensorFlow `__. Installation #################### @@ -111,6 +111,6 @@ Additional Resources - :doc:`Quantizing Models Post-training ` - `NNCF GitHub repository `__ - `NNCF FAQ `__ -- `Quantization Aware Training with NNCF and PyTorch `__. -- `Quantization Aware Training with NNCF and TensorFlow `__. +- `Quantization Aware Training with NNCF and PyTorch `__. +- `Quantization Aware Training with NNCF and TensorFlow `__. diff --git a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst index d39303396eb..cce63315939 100644 --- a/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst +++ b/docs/articles_en/openvino-workflow/model-optimization-guide/compressing-models-during-training/quantization-aware-training.rst @@ -228,7 +228,7 @@ required in this case. For more details, see the corresponding :doc:`documentati Examples #################### -* `Quantizing PyTorch model with NNCF `__ +* `Quantizing PyTorch model with NNCF `__ -* `Quantizing TensorFlow model with NNCF `__ +* `Quantizing TensorFlow model with NNCF `__ diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst index 2a6eb48a79b..a395e5ed942 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-pytorch.rst @@ -124,8 +124,8 @@ If your model has a ``dict`` input, such as, ``{"x": a, "y": b, "z": c}``, it wi Check out more examples of model conversion with non-tensor data types in the following tutorials: -* `Video Subtitle Generation using Whisper and OpenVINO™ `__ -* `Visual Question Answering and Image Captioning using BLIP and OpenVINO `__ +* `Video Subtitle Generation using Whisper and OpenVINO™ `__ +* `Visual Question Answering and Image Captioning using BLIP and OpenVINO `__ Input and output names of the model ################################### diff --git a/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst b/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst index 9220b5d5c32..ac008631e49 100644 --- a/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst +++ b/docs/articles_en/openvino-workflow/model-preparation/convert-model-to-ir.rst @@ -61,7 +61,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide ` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. .. tab-item:: TensorFlow @@ -105,7 +105,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide ` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. * The ``read_model()`` and ``compile_model()`` methods: @@ -211,7 +211,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide ` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. @@ -336,7 +336,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide ` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. @@ -464,7 +464,7 @@ Here are code examples of how to use these methods with different model formats: For more details on conversion, refer to the :doc:`guide ` - and an example `tutorial `__ + and an example `tutorial `__ on this topic. * The ``read_model()`` method: diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst index c17afa0ad05..80471869497 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/auto-device-selection.rst @@ -314,8 +314,8 @@ asynchronous inference pipeline. For information on asynchronous inference, see The following notebooks provide examples of how to set up an asynchronous pipeline: * :doc:`Image Classification Async Sample <../../../learn-openvino/openvino-samples/image-classification-async>` -* `Notebook - Asynchronous Inference with OpenVINO™ <./../../../notebooks/115-async-api-with-output.html>`__ -* `Notebook - Automatic Device Selection with OpenVINO <./../../../notebooks/106-auto-device-with-output.html>`__ +* `Notebook - Asynchronous Inference with OpenVINO™ <./../../../notebooks/async-api-with-output.html>`__ +* `Notebook - Automatic Device Selection with OpenVINO <./../../../notebooks/auto-device-with-output.html>`__ LATENCY -------------------- diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst index ae5bd055fbb..f0b5505e867 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst @@ -153,7 +153,7 @@ guaranteed. Additional Resources ############################# -* `Vision colorization Notebook `__ +* `Vision colorization Notebook `__ * `Classification Benchmark C++ Demo `__ * `3D Human Pose Estimation Python Demo `__ * `Object Detection C++ Demo `__ diff --git a/docs/articles_en/openvino-workflow/running-inference/stateful-models.rst b/docs/articles_en/openvino-workflow/running-inference/stateful-models.rst index 735f30b07dd..19517adf0af 100644 --- a/docs/articles_en/openvino-workflow/running-inference/stateful-models.rst +++ b/docs/articles_en/openvino-workflow/running-inference/stateful-models.rst @@ -141,5 +141,5 @@ sequences. You can find more examples demonstrating how to work with states in other articles: -* `LLM Chatbot notebook <../../notebooks/273-stable-zephyr-3b-chatbot-with-output.html>`__ +* `LLM Chatbot notebook <../../notebooks/stable-zephyr-3b-chatbot-with-output.html>`__ * :doc:`Serving Stateful Models with OpenVINO Model Server <../../ovms_docs_stateful_models>` diff --git a/docs/nbdoc/consts.py b/docs/nbdoc/consts.py index 3993b7835c1..4c069874647 100644 --- a/docs/nbdoc/consts.py +++ b/docs/nbdoc/consts.py @@ -6,11 +6,11 @@ repo_directory = "notebooks" repo_owner = "openvinotoolkit" repo_name = "openvino_notebooks" repo_branch = "tree/main" -artifacts_link = "http://repository.toolbox.iotg.sclab.intel.com/projects/ov-notebook/0.1.0-latest/20240312220809/dist/rst_files/" +artifacts_link = "http://repository.toolbox.iotg.sclab.intel.com/projects/ov-notebook/0.1.0-latest/20240417220808/dist/rst_files/" blacklisted_extensions = ['.xml', '.bin'] -notebooks_repo = "https://github.com/openvinotoolkit/openvino_notebooks/blob/main/" +notebooks_repo = "https://github.com/openvinotoolkit/openvino_notebooks/blob/latest/" notebooks_binder = "https://mybinder.org/v2/gh/openvinotoolkit/openvino_notebooks/HEAD?filepath=" -notebooks_colab = "https://colab.research.google.com/github/openvinotoolkit/openvino_notebooks/blob/main/" +notebooks_colab = "https://colab.research.google.com/github/openvinotoolkit/openvino_notebooks/blob/latest/" file_with_binder_notebooks = Path('../../docs/notebooks/notebooks_with_binder_buttons.txt').resolve(strict=True) file_with_colab_notebooks = Path('../../docs/notebooks/notebooks_with_colab_buttons.txt').resolve(strict=True) openvino_notebooks_ipynb_list = Path('../../docs/notebooks/all_notebooks_paths.txt').resolve(strict=True) diff --git a/docs/nbdoc/nbdoc.py b/docs/nbdoc/nbdoc.py index ed390586164..dd6bb0eaa29 100644 --- a/docs/nbdoc/nbdoc.py +++ b/docs/nbdoc/nbdoc.py @@ -37,8 +37,6 @@ import os import re import sys -matching_notebooks_paths = [] - def fetch_binder_list(binder_list_file) -> list: """Function that fetches list of notebooks with binder buttons @@ -127,25 +125,6 @@ class NbProcessor: def __init__(self, nb_path: str = notebooks_path): self.nb_path = nb_path - with open(openvino_notebooks_ipynb_list, 'r+', encoding='cp437') as ipynb_file: - openvino_notebooks_paths_list = ipynb_file.readlines() - - for notebook_name in [ - nb for nb in os.listdir(self.nb_path) if - verify_notebook_name(nb) - ]: - - if not os.path.exists(openvino_notebooks_ipynb_list): - raise FileNotFoundError("all_notebooks_paths.txt is not found") - else: - ipynb_list = [x for x in openvino_notebooks_paths_list if re.match("notebooks/[0-9]{3}.*\.ipynb$", x)] - notebook_with_ext = notebook_name[:-16] + ".ipynb" - matching_notebooks = [re.sub('[\n]', '', match) for match in ipynb_list if notebook_with_ext in match] - - if matching_notebooks is not None: - for n in matching_notebooks: - matching_notebooks_paths.append(n) - def add_binder(self, buttons_list: list, cbuttons_list: list, template_with_colab_and_binder: str = binder_colab_template, template_without_binder: str = no_binder_template): """A function working as an example of how to add Binder or Google Colab buttons to existing RST files. @@ -161,22 +140,30 @@ class NbProcessor: """ - for notebook_file, nb_path in zip([ - nb for nb in os.listdir(self.nb_path) if verify_notebook_name(nb) - ], matching_notebooks_paths): + if not os.path.exists(openvino_notebooks_ipynb_list): + raise FileNotFoundError("all_notebooks_paths.txt is not found") + else: + with open(openvino_notebooks_ipynb_list, 'r+', encoding='cp437') as ipynb_file: + openvino_notebooks_paths_list = ipynb_file.read() + for notebook_file in [nb for nb in os.listdir(self.nb_path) if verify_notebook_name(nb)]: + + notebook_ipynb_ext = notebook_file[:-16] + ".ipynb" + nb_path_match = [line for line in openvino_notebooks_paths_list.split('\n') if notebook_ipynb_ext in line] + nb_repo_path = ''.join(nb_path_match) notebook_item = '-'.join(notebook_file.split('-')[:-2]) + local_install = ".. |installation_link| raw:: html\n\n local installation \n\n" binder_badge = ".. raw:: html\n\n Binder\n\n" colab_badge = ".. raw:: html\n\n Google Colab\n\n" github_badge = ".. raw:: html\n\n Github

\n\n" binder_data = { diff --git a/docs/nbdoc/utils.py b/docs/nbdoc/utils.py index bbef186640b..6533c23a3de 100644 --- a/docs/nbdoc/utils.py +++ b/docs/nbdoc/utils.py @@ -47,11 +47,11 @@ def verify_notebook_name(notebook_name: str) -> bool: """Verification based on notebook name :param notebook_name: Notebook name by default keeps convention: - [3 digit]-name-with-dashes-with-output.rst, - example: 001-hello-world-with-output.rst + name-with-dashes-with-output.rst, + example: hello-world-with-output.rst :type notebook_name: str :returns: Return if notebook meets requirements :rtype: bool """ - return notebook_name[:3].isdigit() and notebook_name[-4:] == ".rst" \ No newline at end of file + return notebook_name[-16:] == "-with-output.rst" \ No newline at end of file diff --git a/docs/notebooks/001-hello-world-with-output_files/001-hello-world-with-output_11_1.png b/docs/notebooks/001-hello-world-with-output_files/001-hello-world-with-output_11_1.png deleted file mode 100644 index a142093f6e6..00000000000 --- a/docs/notebooks/001-hello-world-with-output_files/001-hello-world-with-output_11_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5712bd24e962ae0e0267607554ebe1f2869c223b108876ce10e5d20fe6285126 -size 387941 diff --git a/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_11_2.png b/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_11_2.png deleted file mode 100644 index 5023362b06b..00000000000 --- a/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_11_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:96f0eb3a9535d57b8784be4b717dc9f280e4bf107e5b61d7cf51b36e142e4c7a -size 249032 diff --git a/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_13_1.png b/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_13_1.png deleted file mode 100644 index fe6d042ef77..00000000000 --- a/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_13_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:caef59a6c15a5a1d512f4dd22395b12fbd754bba264ea5f0deae323ff8edee39 -size 20550 diff --git a/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_17_0.png b/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_17_0.png deleted file mode 100644 index 310b0d3545d..00000000000 --- a/docs/notebooks/003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_17_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a3137d9359a44fb19e1900e6b808f9e7e7ded0ba209abe8c4bd90fcf37b1c6a -size 260045 diff --git a/docs/notebooks/004-hello-detection-with-output_files/004-hello-detection-with-output_11_1.png b/docs/notebooks/004-hello-detection-with-output_files/004-hello-detection-with-output_11_1.png deleted file mode 100644 index b696d287ded..00000000000 --- a/docs/notebooks/004-hello-detection-with-output_files/004-hello-detection-with-output_11_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7a830fedc5653fd506c656144decc048cad5a7651c8e498024f0eb0ab8c8e96 -size 305482 diff --git a/docs/notebooks/004-hello-detection-with-output_files/004-hello-detection-with-output_16_0.png b/docs/notebooks/004-hello-detection-with-output_files/004-hello-detection-with-output_16_0.png deleted file mode 100644 index 5e6438a7885..00000000000 --- a/docs/notebooks/004-hello-detection-with-output_files/004-hello-detection-with-output_16_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:edb00cb4f0e2c42cd9e0f90939afbd6352ca40c90866821898f2c42c1fd9df64 -size 457214 diff --git a/docs/notebooks/101-tensorflow-classification-to-openvino-with-output_files/101-tensorflow-classification-to-openvino-with-output_19_1.png b/docs/notebooks/101-tensorflow-classification-to-openvino-with-output_files/101-tensorflow-classification-to-openvino-with-output_19_1.png deleted file mode 100644 index a142093f6e6..00000000000 --- a/docs/notebooks/101-tensorflow-classification-to-openvino-with-output_files/101-tensorflow-classification-to-openvino-with-output_19_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5712bd24e962ae0e0267607554ebe1f2869c223b108876ce10e5d20fe6285126 -size 387941 diff --git a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_22_0.png b/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_22_0.png deleted file mode 100644 index da104b7f7db..00000000000 --- a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:085fc2e0ffdf71311eed99aebb0c6efafffe33ab3f01ca34c44f99feba46a565 -size 465692 diff --git a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_27_0.png b/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_27_0.png deleted file mode 100644 index 910491aead8..00000000000 --- a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_27_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe706f0dda105330b25a3a8d1679019ef40d88c86b28a5aa2ca77449800ec939 -size 465695 diff --git a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_29_0.png b/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_29_0.png deleted file mode 100644 index da104b7f7db..00000000000 --- a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_29_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:085fc2e0ffdf71311eed99aebb0c6efafffe33ab3f01ca34c44f99feba46a565 -size 465692 diff --git a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_15_3.png b/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_15_3.png deleted file mode 100644 index 35e0c81123f..00000000000 --- a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_15_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:99b8398ef76f2959d210e2d30bb44420f8d34a885a4480bc26e2af6627ba7119 -size 120883 diff --git a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_23_1.png b/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_23_1.png deleted file mode 100644 index 35c91e327be..00000000000 --- a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_23_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1381e5922057c6bc70eb4ba9a04f3164382ad01191d320c1acbc819e7261f8c1 -size 224886 diff --git a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_27_1.png b/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_27_1.png deleted file mode 100644 index 35c91e327be..00000000000 --- a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_27_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1381e5922057c6bc70eb4ba9a04f3164382ad01191d320c1acbc819e7261f8c1 -size 224886 diff --git a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_30_1.png b/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_30_1.png deleted file mode 100644 index 35c91e327be..00000000000 --- a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_30_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1381e5922057c6bc70eb4ba9a04f3164382ad01191d320c1acbc819e7261f8c1 -size 224886 diff --git a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_8_2.png b/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_8_2.png deleted file mode 100644 index 35c91e327be..00000000000 --- a/docs/notebooks/103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_8_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1381e5922057c6bc70eb4ba9a04f3164382ad01191d320c1acbc819e7261f8c1 -size 224886 diff --git a/docs/notebooks/104-model-tools-with-output.rst b/docs/notebooks/104-model-tools-with-output.rst deleted file mode 100644 index ed9b11c69f1..00000000000 --- a/docs/notebooks/104-model-tools-with-output.rst +++ /dev/null @@ -1,1034 +0,0 @@ -Working with Open Model Zoo Models -================================== - -This tutorial shows how to download a model from `Open Model -Zoo `__, convert it -to OpenVINO™ IR format, show information about the model, and benchmark -the model. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `OpenVINO and Open Model Zoo - Tools <#openvino-and-open-model-zoo-tools>`__ -- `Preparation <#preparation>`__ - - - `Model Name <#model-name>`__ - - `Imports <#imports>`__ - - `Settings and Configuration <#settings-and-configuration>`__ - -- `Download a Model from Open Model - Zoo <#download-a-model-from-open-model-zoo>`__ -- `Convert a Model to OpenVINO IR - format <#convert-a-model-to-openvino-ir-format>`__ -- `Get Model Information <#get-model-information>`__ -- `Run Benchmark Tool <#run-benchmark-tool>`__ - - - `Benchmark with Different - Settings <#benchmark-with-different-settings>`__ - -OpenVINO and Open Model Zoo Tools ---------------------------------- - - - -OpenVINO and Open Model Zoo tools are listed in the table below. - -+------------+--------------+-----------------------------------------+ -| Tool | Command | Description | -+============+==============+=========================================+ -| Model | ``omz_downlo | Download models from Open Model Zoo. | -| Downloader | ader`` | | -+------------+--------------+-----------------------------------------+ -| Model | ``omz_conver | Convert Open Model Zoo models to | -| Converter | ter`` | OpenVINO’s IR format. | -+------------+--------------+-----------------------------------------+ -| Info | ``omz_info_d | Print information about Open Model Zoo | -| Dumper | umper`` | models. | -+------------+--------------+-----------------------------------------+ -| Benchmark | ``benchmark_ | Benchmark model performance by | -| Tool | app`` | computing inference time. | -+------------+--------------+-----------------------------------------+ - -.. code:: ipython3 - - # Install openvino package - %pip install -q "openvino-dev>=2024.0.0" - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Preparation ------------ - - - -Model Name -~~~~~~~~~~ - - - -Set ``model_name`` to the name of the Open Model Zoo model to use in -this notebook. Refer to the list of -`public `__ -and -`Intel `__ -pre-trained models for a full list of models that can be used. Set -``model_name`` to the model you want to use. - -.. code:: ipython3 - - # model_name = "resnet-50-pytorch" - model_name = "mobilenet-v2-pytorch" - -Imports -~~~~~~~ - - - -.. code:: ipython3 - - import json - from pathlib import Path - - import openvino as ov - from IPython.display import Markdown, display - - # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ) - from notebook_utils import DeviceNotFoundAlert, NotebookAlert - -Settings and Configuration -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Set the file and directory paths. By default, this notebook downloads -models from Open Model Zoo to the ``open_model_zoo_models`` directory in -your ``$HOME`` directory. On Windows, the $HOME directory is usually -``c:\users\username``, on Linux ``/home/username``. To change the -folder, change ``base_model_dir`` in the cell below. - -The following settings can be changed: - -- ``base_model_dir``: Models will be downloaded into the ``intel`` and - ``public`` folders in this directory. -- ``omz_cache_dir``: Cache folder for Open Model Zoo. Specifying a - cache directory is not required for Model Downloader and Model - Converter, but it speeds up subsequent downloads. -- ``precision``: If specified, only models with this precision will be - downloaded and converted. - -.. code:: ipython3 - - base_model_dir = Path("model") - omz_cache_dir = Path("cache") - precision = "FP16" - - # Check if an GPU is available on this system to use with Benchmark App. - core = ov.Core() - gpu_available = "GPU" in core.available_devices - - print( - f"base_model_dir: {base_model_dir}, omz_cache_dir: {omz_cache_dir}, gpu_availble: {gpu_available}" - ) - - -.. parsed-literal:: - - base_model_dir: model, omz_cache_dir: cache, gpu_availble: False - - -Download a Model from Open Model Zoo ------------------------------------- - - - -Specify, display and run the Model Downloader command to download the -model. - -.. code:: ipython3 - - ## Uncomment the next line to show help in omz_downloader which explains the command-line options. - - # !omz_downloader --help - -.. code:: ipython3 - - download_command = ( - f"omz_downloader --name {model_name} --output_dir {base_model_dir} --cache_dir {omz_cache_dir}" - ) - display(Markdown(f"Download command: `{download_command}`")) - display(Markdown(f"Downloading {model_name}...")) - ! $download_command - - - -Download command: -``omz_downloader --name mobilenet-v2-pytorch --output_dir model --cache_dir cache`` - - - -Downloading mobilenet-v2-pytorch… - - -.. parsed-literal:: - - ################|| Downloading mobilenet-v2-pytorch ||################ - - - -.. parsed-literal:: - - ========== Downloading model/public/mobilenet-v2-pytorch/mobilenet_v2-b0353104.pth - - -.. parsed-literal:: - - ... 0%, 32 KB, 967 KB/s, 0 seconds passed -... 0%, 64 KB, 961 KB/s, 0 seconds passed -... 0%, 96 KB, 1403 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 128 KB, 1260 KB/s, 0 seconds passed -... 1%, 160 KB, 1556 KB/s, 0 seconds passed -... 1%, 192 KB, 1836 KB/s, 0 seconds passed -... 1%, 224 KB, 2101 KB/s, 0 seconds passed -... 1%, 256 KB, 2357 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 2%, 288 KB, 2128 KB/s, 0 seconds passed -... 2%, 320 KB, 2358 KB/s, 0 seconds passed -... 2%, 352 KB, 2586 KB/s, 0 seconds passed -... 2%, 384 KB, 2807 KB/s, 0 seconds passed -... 2%, 416 KB, 3017 KB/s, 0 seconds passed -... 3%, 448 KB, 3232 KB/s, 0 seconds passed -... 3%, 480 KB, 3455 KB/s, 0 seconds passed -... 3%, 512 KB, 3567 KB/s, 0 seconds passed -... 3%, 544 KB, 3779 KB/s, 0 seconds passed -... 4%, 576 KB, 3992 KB/s, 0 seconds passed -... 4%, 608 KB, 3572 KB/s, 0 seconds passed -... 4%, 640 KB, 3750 KB/s, 0 seconds passed -... 4%, 672 KB, 3929 KB/s, 0 seconds passed -... 5%, 704 KB, 4108 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 5%, 736 KB, 4238 KB/s, 0 seconds passed -... 5%, 768 KB, 4413 KB/s, 0 seconds passed -... 5%, 800 KB, 4589 KB/s, 0 seconds passed -... 5%, 832 KB, 4764 KB/s, 0 seconds passed -... 6%, 864 KB, 4939 KB/s, 0 seconds passed -... 6%, 896 KB, 5112 KB/s, 0 seconds passed -... 6%, 928 KB, 5286 KB/s, 0 seconds passed -... 6%, 960 KB, 5459 KB/s, 0 seconds passed -... 7%, 992 KB, 5598 KB/s, 0 seconds passed -... 7%, 1024 KB, 5765 KB/s, 0 seconds passed -... 7%, 1056 KB, 5935 KB/s, 0 seconds passed -... 7%, 1088 KB, 6103 KB/s, 0 seconds passed -... 8%, 1120 KB, 6272 KB/s, 0 seconds passed -... 8%, 1152 KB, 6441 KB/s, 0 seconds passed -... 8%, 1184 KB, 5729 KB/s, 0 seconds passed -... 8%, 1216 KB, 5869 KB/s, 0 seconds passed -... 8%, 1248 KB, 6013 KB/s, 0 seconds passed -... 9%, 1280 KB, 6159 KB/s, 0 seconds passed -... 9%, 1312 KB, 6304 KB/s, 0 seconds passed -... 9%, 1344 KB, 6448 KB/s, 0 seconds passed -... 9%, 1376 KB, 6591 KB/s, 0 seconds passed -... 10%, 1408 KB, 6735 KB/s, 0 seconds passed -... 10%, 1440 KB, 6878 KB/s, 0 seconds passed -... 10%, 1472 KB, 7021 KB/s, 0 seconds passed -... 10%, 1504 KB, 7163 KB/s, 0 seconds passed -... 11%, 1536 KB, 7305 KB/s, 0 seconds passed -... 11%, 1568 KB, 7447 KB/s, 0 seconds passed -... 11%, 1600 KB, 7588 KB/s, 0 seconds passed -... 11%, 1632 KB, 7728 KB/s, 0 seconds passed -... 11%, 1664 KB, 7869 KB/s, 0 seconds passed -... 12%, 1696 KB, 8008 KB/s, 0 seconds passed -... 12%, 1728 KB, 8148 KB/s, 0 seconds passed -... 12%, 1760 KB, 8288 KB/s, 0 seconds passed -... 12%, 1792 KB, 8426 KB/s, 0 seconds passed -... 13%, 1824 KB, 8565 KB/s, 0 seconds passed -... 13%, 1856 KB, 8703 KB/s, 0 seconds passed -... 13%, 1888 KB, 8841 KB/s, 0 seconds passed -... 13%, 1920 KB, 8978 KB/s, 0 seconds passed -... 14%, 1952 KB, 9115 KB/s, 0 seconds passed -... 14%, 1984 KB, 9251 KB/s, 0 seconds passed -... 14%, 2016 KB, 9388 KB/s, 0 seconds passed -... 14%, 2048 KB, 9524 KB/s, 0 seconds passed -... 14%, 2080 KB, 9658 KB/s, 0 seconds passed -... 15%, 2112 KB, 9793 KB/s, 0 seconds passed -... 15%, 2144 KB, 9927 KB/s, 0 seconds passed -... 15%, 2176 KB, 10061 KB/s, 0 seconds passed -... 15%, 2208 KB, 10195 KB/s, 0 seconds passed -... 16%, 2240 KB, 10329 KB/s, 0 seconds passed -... 16%, 2272 KB, 10462 KB/s, 0 seconds passed -... 16%, 2304 KB, 10596 KB/s, 0 seconds passed -... 16%, 2336 KB, 10729 KB/s, 0 seconds passed -... 17%, 2368 KB, 10862 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 17%, 2400 KB, 10090 KB/s, 0 seconds passed -... 17%, 2432 KB, 10125 KB/s, 0 seconds passed -... 17%, 2464 KB, 10240 KB/s, 0 seconds passed -... 17%, 2496 KB, 10358 KB/s, 0 seconds passed -... 18%, 2528 KB, 10477 KB/s, 0 seconds passed -... 18%, 2560 KB, 10596 KB/s, 0 seconds passed -... 18%, 2592 KB, 10715 KB/s, 0 seconds passed -... 18%, 2624 KB, 10833 KB/s, 0 seconds passed -... 19%, 2656 KB, 10951 KB/s, 0 seconds passed -... 19%, 2688 KB, 11070 KB/s, 0 seconds passed -... 19%, 2720 KB, 11187 KB/s, 0 seconds passed -... 19%, 2752 KB, 11303 KB/s, 0 seconds passed -... 20%, 2784 KB, 11421 KB/s, 0 seconds passed -... 20%, 2816 KB, 11537 KB/s, 0 seconds passed -... 20%, 2848 KB, 11655 KB/s, 0 seconds passed -... 20%, 2880 KB, 11771 KB/s, 0 seconds passed -... 20%, 2912 KB, 11888 KB/s, 0 seconds passed -... 21%, 2944 KB, 12004 KB/s, 0 seconds passed -... 21%, 2976 KB, 12120 KB/s, 0 seconds passed -... 21%, 3008 KB, 12235 KB/s, 0 seconds passed -... 21%, 3040 KB, 12350 KB/s, 0 seconds passed -... 22%, 3072 KB, 12465 KB/s, 0 seconds passed -... 22%, 3104 KB, 12579 KB/s, 0 seconds passed -... 22%, 3136 KB, 12693 KB/s, 0 seconds passed -... 22%, 3168 KB, 12806 KB/s, 0 seconds passed -... 23%, 3200 KB, 12920 KB/s, 0 seconds passed -... 23%, 3232 KB, 13034 KB/s, 0 seconds passed -... 23%, 3264 KB, 13147 KB/s, 0 seconds passed -... 23%, 3296 KB, 13260 KB/s, 0 seconds passed -... 23%, 3328 KB, 13373 KB/s, 0 seconds passed -... 24%, 3360 KB, 13486 KB/s, 0 seconds passed -... 24%, 3392 KB, 13598 KB/s, 0 seconds passed -... 24%, 3424 KB, 13710 KB/s, 0 seconds passed -... 24%, 3456 KB, 13821 KB/s, 0 seconds passed -... 25%, 3488 KB, 13931 KB/s, 0 seconds passed -... 25%, 3520 KB, 14043 KB/s, 0 seconds passed -... 25%, 3552 KB, 14154 KB/s, 0 seconds passed -... 25%, 3584 KB, 14263 KB/s, 0 seconds passed -... 26%, 3616 KB, 14373 KB/s, 0 seconds passed -... 26%, 3648 KB, 14481 KB/s, 0 seconds passed -... 26%, 3680 KB, 14591 KB/s, 0 seconds passed -... 26%, 3712 KB, 14700 KB/s, 0 seconds passed -... 26%, 3744 KB, 14815 KB/s, 0 seconds passed -... 27%, 3776 KB, 14929 KB/s, 0 seconds passed -... 27%, 3808 KB, 15044 KB/s, 0 seconds passed -... 27%, 3840 KB, 15159 KB/s, 0 seconds passed -... 27%, 3872 KB, 15273 KB/s, 0 seconds passed -... 28%, 3904 KB, 15386 KB/s, 0 seconds passed -... 28%, 3936 KB, 15499 KB/s, 0 seconds passed -... 28%, 3968 KB, 15603 KB/s, 0 seconds passed -... 28%, 4000 KB, 15712 KB/s, 0 seconds passed -... 29%, 4032 KB, 15821 KB/s, 0 seconds passed -... 29%, 4064 KB, 15926 KB/s, 0 seconds passed -... 29%, 4096 KB, 16023 KB/s, 0 seconds passed -... 29%, 4128 KB, 16109 KB/s, 0 seconds passed -... 29%, 4160 KB, 16206 KB/s, 0 seconds passed -... 30%, 4192 KB, 16303 KB/s, 0 seconds passed -... 30%, 4224 KB, 16402 KB/s, 0 seconds passed -... 30%, 4256 KB, 16502 KB/s, 0 seconds passed -... 30%, 4288 KB, 16607 KB/s, 0 seconds passed -... 31%, 4320 KB, 16713 KB/s, 0 seconds passed -... 31%, 4352 KB, 16818 KB/s, 0 seconds passed -... 31%, 4384 KB, 16578 KB/s, 0 seconds passed -... 31%, 4416 KB, 16670 KB/s, 0 seconds passed -... 32%, 4448 KB, 16767 KB/s, 0 seconds passed -... 32%, 4480 KB, 16862 KB/s, 0 seconds passed -... 32%, 4512 KB, 16958 KB/s, 0 seconds passed -... 32%, 4544 KB, 17053 KB/s, 0 seconds passed -... 32%, 4576 KB, 17153 KB/s, 0 seconds passed -... 33%, 4608 KB, 17254 KB/s, 0 seconds passed -... 33%, 4640 KB, 17106 KB/s, 0 seconds passed -... 33%, 4672 KB, 17187 KB/s, 0 seconds passed -... 33%, 4704 KB, 17278 KB/s, 0 seconds passed -... 34%, 4736 KB, 17372 KB/s, 0 seconds passed -... 34%, 4768 KB, 17465 KB/s, 0 seconds passed -... 34%, 4800 KB, 17561 KB/s, 0 seconds passed -... 34%, 4832 KB, 17659 KB/s, 0 seconds passed -... 35%, 4864 KB, 17749 KB/s, 0 seconds passed -... 35%, 4896 KB, 17841 KB/s, 0 seconds passed -... 35%, 4928 KB, 17935 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 35%, 4960 KB, 17758 KB/s, 0 seconds passed -... 35%, 4992 KB, 17845 KB/s, 0 seconds passed -... 36%, 5024 KB, 17939 KB/s, 0 seconds passed -... 36%, 5056 KB, 18033 KB/s, 0 seconds passed -... 36%, 5088 KB, 18127 KB/s, 0 seconds passed -... 36%, 5120 KB, 18222 KB/s, 0 seconds passed -... 37%, 5152 KB, 18316 KB/s, 0 seconds passed -... 37%, 5184 KB, 18410 KB/s, 0 seconds passed -... 37%, 5216 KB, 18504 KB/s, 0 seconds passed -... 37%, 5248 KB, 18598 KB/s, 0 seconds passed -... 38%, 5280 KB, 18679 KB/s, 0 seconds passed -... 38%, 5312 KB, 18744 KB/s, 0 seconds passed -... 38%, 5344 KB, 18835 KB/s, 0 seconds passed -... 38%, 5376 KB, 18929 KB/s, 0 seconds passed -... 38%, 5408 KB, 19021 KB/s, 0 seconds passed -... 39%, 5440 KB, 19110 KB/s, 0 seconds passed -... 39%, 5472 KB, 19179 KB/s, 0 seconds passed -... 39%, 5504 KB, 19267 KB/s, 0 seconds passed -... 39%, 5536 KB, 19358 KB/s, 0 seconds passed -... 40%, 5568 KB, 19430 KB/s, 0 seconds passed -... 40%, 5600 KB, 19521 KB/s, 0 seconds passed -... 40%, 5632 KB, 19608 KB/s, 0 seconds passed -... 40%, 5664 KB, 19695 KB/s, 0 seconds passed -... 41%, 5696 KB, 19768 KB/s, 0 seconds passed -... 41%, 5728 KB, 19835 KB/s, 0 seconds passed -... 41%, 5760 KB, 19915 KB/s, 0 seconds passed -... 41%, 5792 KB, 20005 KB/s, 0 seconds passed -... 41%, 5824 KB, 20091 KB/s, 0 seconds passed -... 42%, 5856 KB, 20158 KB/s, 0 seconds passed -... 42%, 5888 KB, 20247 KB/s, 0 seconds passed -... 42%, 5920 KB, 20314 KB/s, 0 seconds passed -... 42%, 5952 KB, 20396 KB/s, 0 seconds passed -... 43%, 5984 KB, 20484 KB/s, 0 seconds passed -... 43%, 6016 KB, 20559 KB/s, 0 seconds passed -... 43%, 6048 KB, 20639 KB/s, 0 seconds passed -... 43%, 6080 KB, 20726 KB/s, 0 seconds passed -... 44%, 6112 KB, 20811 KB/s, 0 seconds passed -... 44%, 6144 KB, 20898 KB/s, 0 seconds passed -... 44%, 6176 KB, 20983 KB/s, 0 seconds passed -... 44%, 6208 KB, 21065 KB/s, 0 seconds passed -... 44%, 6240 KB, 21117 KB/s, 0 seconds passed -... 45%, 6272 KB, 21201 KB/s, 0 seconds passed -... 45%, 6304 KB, 20427 KB/s, 0 seconds passed -... 45%, 6336 KB, 20501 KB/s, 0 seconds passed -... 45%, 6368 KB, 20582 KB/s, 0 seconds passed -... 46%, 6400 KB, 20664 KB/s, 0 seconds passed -... 46%, 6432 KB, 20746 KB/s, 0 seconds passed -... 46%, 6464 KB, 20829 KB/s, 0 seconds passed -... 46%, 6496 KB, 20911 KB/s, 0 seconds passed -... 47%, 6528 KB, 20947 KB/s, 0 seconds passed -... 47%, 6560 KB, 21027 KB/s, 0 seconds passed -... 47%, 6592 KB, 21107 KB/s, 0 seconds passed -... 47%, 6624 KB, 21188 KB/s, 0 seconds passed -... 47%, 6656 KB, 21267 KB/s, 0 seconds passed -... 48%, 6688 KB, 21347 KB/s, 0 seconds passed -... 48%, 6720 KB, 21429 KB/s, 0 seconds passed -... 48%, 6752 KB, 21511 KB/s, 0 seconds passed -... 48%, 6784 KB, 21592 KB/s, 0 seconds passed -... 49%, 6816 KB, 21673 KB/s, 0 seconds passed -... 49%, 6848 KB, 21754 KB/s, 0 seconds passed -... 49%, 6880 KB, 21835 KB/s, 0 seconds passed -... 49%, 6912 KB, 21915 KB/s, 0 seconds passed -... 50%, 6944 KB, 21996 KB/s, 0 seconds passed -... 50%, 6976 KB, 22076 KB/s, 0 seconds passed -... 50%, 7008 KB, 22156 KB/s, 0 seconds passed -... 50%, 7040 KB, 22236 KB/s, 0 seconds passed -... 50%, 7072 KB, 22317 KB/s, 0 seconds passed -... 51%, 7104 KB, 22274 KB/s, 0 seconds passed -... 51%, 7136 KB, 22315 KB/s, 0 seconds passed -... 51%, 7168 KB, 22392 KB/s, 0 seconds passed -... 51%, 7200 KB, 22471 KB/s, 0 seconds passed -... 52%, 7232 KB, 22550 KB/s, 0 seconds passed -... 52%, 7264 KB, 22629 KB/s, 0 seconds passed -... 52%, 7296 KB, 22708 KB/s, 0 seconds passed -... 52%, 7328 KB, 22786 KB/s, 0 seconds passed -... 53%, 7360 KB, 22865 KB/s, 0 seconds passed -... 53%, 7392 KB, 22943 KB/s, 0 seconds passed -... 53%, 7424 KB, 23021 KB/s, 0 seconds passed -... 53%, 7456 KB, 23097 KB/s, 0 seconds passed -... 53%, 7488 KB, 23176 KB/s, 0 seconds passed -... 54%, 7520 KB, 23255 KB/s, 0 seconds passed -... 54%, 7552 KB, 23335 KB/s, 0 seconds passed -... 54%, 7584 KB, 23415 KB/s, 0 seconds passed -... 54%, 7616 KB, 23494 KB/s, 0 seconds passed -... 55%, 7648 KB, 23573 KB/s, 0 seconds passed -... 55%, 7680 KB, 23653 KB/s, 0 seconds passed -... 55%, 7712 KB, 23733 KB/s, 0 seconds passed -... 55%, 7744 KB, 23812 KB/s, 0 seconds passed -... 56%, 7776 KB, 23891 KB/s, 0 seconds passed -... 56%, 7808 KB, 23971 KB/s, 0 seconds passed -... 56%, 7840 KB, 24049 KB/s, 0 seconds passed -... 56%, 7872 KB, 24128 KB/s, 0 seconds passed -... 56%, 7904 KB, 24207 KB/s, 0 seconds passed -... 57%, 7936 KB, 24286 KB/s, 0 seconds passed -... 57%, 7968 KB, 24364 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 57%, 8000 KB, 24441 KB/s, 0 seconds passed -... 57%, 8032 KB, 24519 KB/s, 0 seconds passed -... 58%, 8064 KB, 24597 KB/s, 0 seconds passed -... 58%, 8096 KB, 24674 KB/s, 0 seconds passed -... 58%, 8128 KB, 24752 KB/s, 0 seconds passed -... 58%, 8160 KB, 24830 KB/s, 0 seconds passed -... 59%, 8192 KB, 24907 KB/s, 0 seconds passed -... 59%, 8224 KB, 24984 KB/s, 0 seconds passed -... 59%, 8256 KB, 25051 KB/s, 0 seconds passed -... 59%, 8288 KB, 25127 KB/s, 0 seconds passed -... 59%, 8320 KB, 25204 KB/s, 0 seconds passed -... 60%, 8352 KB, 25276 KB/s, 0 seconds passed -... 60%, 8384 KB, 25353 KB/s, 0 seconds passed -... 60%, 8416 KB, 25429 KB/s, 0 seconds passed -... 60%, 8448 KB, 25504 KB/s, 0 seconds passed -... 61%, 8480 KB, 25580 KB/s, 0 seconds passed -... 61%, 8512 KB, 25656 KB/s, 0 seconds passed -... 61%, 8544 KB, 25732 KB/s, 0 seconds passed -... 61%, 8576 KB, 25808 KB/s, 0 seconds passed -... 62%, 8608 KB, 25883 KB/s, 0 seconds passed -... 62%, 8640 KB, 25958 KB/s, 0 seconds passed -... 62%, 8672 KB, 26032 KB/s, 0 seconds passed -... 62%, 8704 KB, 26107 KB/s, 0 seconds passed -... 62%, 8736 KB, 26180 KB/s, 0 seconds passed -... 63%, 8768 KB, 26256 KB/s, 0 seconds passed -... 63%, 8800 KB, 26331 KB/s, 0 seconds passed -... 63%, 8832 KB, 26406 KB/s, 0 seconds passed -... 63%, 8864 KB, 26480 KB/s, 0 seconds passed -... 64%, 8896 KB, 26550 KB/s, 0 seconds passed -... 64%, 8928 KB, 26624 KB/s, 0 seconds passed -... 64%, 8960 KB, 26698 KB/s, 0 seconds passed -... 64%, 8992 KB, 26773 KB/s, 0 seconds passed -... 65%, 9024 KB, 26838 KB/s, 0 seconds passed -... 65%, 9056 KB, 26907 KB/s, 0 seconds passed -... 65%, 9088 KB, 26982 KB/s, 0 seconds passed -... 65%, 9120 KB, 27055 KB/s, 0 seconds passed -... 65%, 9152 KB, 27128 KB/s, 0 seconds passed -... 66%, 9184 KB, 27201 KB/s, 0 seconds passed -... 66%, 9216 KB, 27271 KB/s, 0 seconds passed -... 66%, 9248 KB, 27348 KB/s, 0 seconds passed -... 66%, 9280 KB, 27421 KB/s, 0 seconds passed -... 67%, 9312 KB, 27494 KB/s, 0 seconds passed -... 67%, 9344 KB, 27563 KB/s, 0 seconds passed -... 67%, 9376 KB, 27634 KB/s, 0 seconds passed -... 67%, 9408 KB, 27708 KB/s, 0 seconds passed -... 68%, 9440 KB, 27781 KB/s, 0 seconds passed -... 68%, 9472 KB, 27848 KB/s, 0 seconds passed -... 68%, 9504 KB, 27924 KB/s, 0 seconds passed -... 68%, 9536 KB, 27997 KB/s, 0 seconds passed -... 68%, 9568 KB, 28069 KB/s, 0 seconds passed -... 69%, 9600 KB, 28136 KB/s, 0 seconds passed -... 69%, 9632 KB, 28208 KB/s, 0 seconds passed -... 69%, 9664 KB, 28280 KB/s, 0 seconds passed -... 69%, 9696 KB, 28351 KB/s, 0 seconds passed -... 70%, 9728 KB, 28423 KB/s, 0 seconds passed -... 70%, 9760 KB, 28490 KB/s, 0 seconds passed -... 70%, 9792 KB, 28561 KB/s, 0 seconds passed -... 70%, 9824 KB, 28622 KB/s, 0 seconds passed -... 71%, 9856 KB, 28695 KB/s, 0 seconds passed -... 71%, 9888 KB, 28765 KB/s, 0 seconds passed -... 71%, 9920 KB, 28836 KB/s, 0 seconds passed -... 71%, 9952 KB, 28906 KB/s, 0 seconds passed -... 71%, 9984 KB, 28977 KB/s, 0 seconds passed -... 72%, 10016 KB, 29042 KB/s, 0 seconds passed -... 72%, 10048 KB, 29113 KB/s, 0 seconds passed -... 72%, 10080 KB, 29183 KB/s, 0 seconds passed -... 72%, 10112 KB, 29254 KB/s, 0 seconds passed -... 73%, 10144 KB, 29319 KB/s, 0 seconds passed -... 73%, 10176 KB, 29388 KB/s, 0 seconds passed -... 73%, 10208 KB, 29453 KB/s, 0 seconds passed -... 73%, 10240 KB, 29524 KB/s, 0 seconds passed -... 74%, 10272 KB, 29593 KB/s, 0 seconds passed -... 74%, 10304 KB, 29662 KB/s, 0 seconds passed -... 74%, 10336 KB, 29728 KB/s, 0 seconds passed -... 74%, 10368 KB, 29801 KB/s, 0 seconds passed -... 74%, 10400 KB, 29865 KB/s, 0 seconds passed -... 75%, 10432 KB, 29935 KB/s, 0 seconds passed -... 75%, 10464 KB, 30004 KB/s, 0 seconds passed -... 75%, 10496 KB, 30073 KB/s, 0 seconds passed -... 75%, 10528 KB, 30137 KB/s, 0 seconds passed -... 76%, 10560 KB, 30205 KB/s, 0 seconds passed -... 76%, 10592 KB, 30273 KB/s, 0 seconds passed -... 76%, 10624 KB, 30342 KB/s, 0 seconds passed -... 76%, 10656 KB, 30411 KB/s, 0 seconds passed -... 77%, 10688 KB, 30474 KB/s, 0 seconds passed -... 77%, 10720 KB, 30543 KB/s, 0 seconds passed -... 77%, 10752 KB, 30610 KB/s, 0 seconds passed -... 77%, 10784 KB, 30678 KB/s, 0 seconds passed -... 77%, 10816 KB, 30741 KB/s, 0 seconds passed -... 78%, 10848 KB, 30809 KB/s, 0 seconds passed -... 78%, 10880 KB, 30882 KB/s, 0 seconds passed -... 78%, 10912 KB, 30948 KB/s, 0 seconds passed -... 78%, 10944 KB, 31012 KB/s, 0 seconds passed -... 79%, 10976 KB, 31079 KB/s, 0 seconds passed -... 79%, 11008 KB, 31145 KB/s, 0 seconds passed -... 79%, 11040 KB, 31213 KB/s, 0 seconds passed -... 79%, 11072 KB, 31280 KB/s, 0 seconds passed -... 80%, 11104 KB, 31341 KB/s, 0 seconds passed -... 80%, 11136 KB, 31409 KB/s, 0 seconds passed -... 80%, 11168 KB, 31476 KB/s, 0 seconds passed -... 80%, 11200 KB, 31541 KB/s, 0 seconds passed -... 80%, 11232 KB, 31604 KB/s, 0 seconds passed -... 81%, 11264 KB, 31671 KB/s, 0 seconds passed -... 81%, 11296 KB, 31723 KB/s, 0 seconds passed -... 81%, 11328 KB, 31785 KB/s, 0 seconds passed -... 81%, 11360 KB, 31845 KB/s, 0 seconds passed -... 82%, 11392 KB, 31916 KB/s, 0 seconds passed -... 82%, 11424 KB, 31987 KB/s, 0 seconds passed -... 82%, 11456 KB, 32048 KB/s, 0 seconds passed -... 82%, 11488 KB, 32113 KB/s, 0 seconds passed -... 82%, 11520 KB, 32179 KB/s, 0 seconds passed -... 83%, 11552 KB, 32245 KB/s, 0 seconds passed -... 83%, 11584 KB, 32310 KB/s, 0 seconds passed -... 83%, 11616 KB, 32375 KB/s, 0 seconds passed -... 83%, 11648 KB, 32440 KB/s, 0 seconds passed -... 84%, 11680 KB, 32501 KB/s, 0 seconds passed -... 84%, 11712 KB, 32565 KB/s, 0 seconds passed -... 84%, 11744 KB, 32631 KB/s, 0 seconds passed -... 84%, 11776 KB, 32696 KB/s, 0 seconds passed -... 85%, 11808 KB, 32760 KB/s, 0 seconds passed -... 85%, 11840 KB, 32825 KB/s, 0 seconds passed -... 85%, 11872 KB, 32885 KB/s, 0 seconds passed -... 85%, 11904 KB, 32949 KB/s, 0 seconds passed -... 85%, 11936 KB, 33013 KB/s, 0 seconds passed -... 86%, 11968 KB, 33078 KB/s, 0 seconds passed -... 86%, 12000 KB, 33142 KB/s, 0 seconds passed -... 86%, 12032 KB, 33206 KB/s, 0 seconds passed -... 86%, 12064 KB, 33265 KB/s, 0 seconds passed -... 87%, 12096 KB, 33319 KB/s, 0 seconds passed -... 87%, 12128 KB, 33383 KB/s, 0 seconds passed -... 87%, 12160 KB, 33447 KB/s, 0 seconds passed -... 87%, 12192 KB, 33510 KB/s, 0 seconds passed -... 88%, 12224 KB, 33569 KB/s, 0 seconds passed -... 88%, 12256 KB, 33633 KB/s, 0 seconds passed -... 88%, 12288 KB, 33695 KB/s, 0 seconds passed -... 88%, 12320 KB, 33759 KB/s, 0 seconds passed -... 88%, 12352 KB, 33817 KB/s, 0 seconds passed -... 89%, 12384 KB, 33880 KB/s, 0 seconds passed -... 89%, 12416 KB, 33943 KB/s, 0 seconds passed -... 89%, 12448 KB, 34006 KB/s, 0 seconds passed -... 89%, 12480 KB, 34068 KB/s, 0 seconds passed -... 90%, 12512 KB, 34132 KB/s, 0 seconds passed -... 90%, 12544 KB, 34194 KB/s, 0 seconds passed -... 90%, 12576 KB, 34256 KB/s, 0 seconds passed -... 90%, 12608 KB, 34319 KB/s, 0 seconds passed -... 91%, 12640 KB, 34377 KB/s, 0 seconds passed -... 91%, 12672 KB, 34426 KB/s, 0 seconds passed -... 91%, 12704 KB, 34482 KB/s, 0 seconds passed -... 91%, 12736 KB, 34540 KB/s, 0 seconds passed -... 91%, 12768 KB, 34610 KB/s, 0 seconds passed -... 92%, 12800 KB, 34671 KB/s, 0 seconds passed -... 92%, 12832 KB, 34733 KB/s, 0 seconds passed -... 92%, 12864 KB, 34790 KB/s, 0 seconds passed -... 92%, 12896 KB, 34857 KB/s, 0 seconds passed -... 93%, 12928 KB, 34918 KB/s, 0 seconds passed -... 93%, 12960 KB, 34979 KB/s, 0 seconds passed -... 93%, 12992 KB, 35036 KB/s, 0 seconds passed -... 93%, 13024 KB, 35098 KB/s, 0 seconds passed -... 94%, 13056 KB, 35158 KB/s, 0 seconds passed -... 94%, 13088 KB, 35220 KB/s, 0 seconds passed -... 94%, 13120 KB, 35281 KB/s, 0 seconds passed -... 94%, 13152 KB, 35342 KB/s, 0 seconds passed -... 94%, 13184 KB, 35397 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 95%, 13216 KB, 33905 KB/s, 0 seconds passed -... 95%, 13248 KB, 33962 KB/s, 0 seconds passed -... 95%, 13280 KB, 34026 KB/s, 0 seconds passed -... 95%, 13312 KB, 34086 KB/s, 0 seconds passed -... 96%, 13344 KB, 34130 KB/s, 0 seconds passed -... 96%, 13376 KB, 34189 KB/s, 0 seconds passed -... 96%, 13408 KB, 34247 KB/s, 0 seconds passed -... 96%, 13440 KB, 34302 KB/s, 0 seconds passed -... 97%, 13472 KB, 34360 KB/s, 0 seconds passed -... 97%, 13504 KB, 34418 KB/s, 0 seconds passed -... 97%, 13536 KB, 34477 KB/s, 0 seconds passed -... 97%, 13568 KB, 34535 KB/s, 0 seconds passed -... 97%, 13600 KB, 34592 KB/s, 0 seconds passed -... 98%, 13632 KB, 34651 KB/s, 0 seconds passed -... 98%, 13664 KB, 34709 KB/s, 0 seconds passed -... 98%, 13696 KB, 34760 KB/s, 0 seconds passed -... 98%, 13728 KB, 34819 KB/s, 0 seconds passed -... 99%, 13760 KB, 34876 KB/s, 0 seconds passed -... 99%, 13792 KB, 34934 KB/s, 0 seconds passed -... 99%, 13824 KB, 34991 KB/s, 0 seconds passed -... 99%, 13856 KB, 35044 KB/s, 0 seconds passed -... 100%, 13879 KB, 35077 KB/s, 0 seconds passed - - - - -Convert a Model to OpenVINO IR format -------------------------------------- - - - -Specify, display and run the Model Converter command to convert the -model to OpenVINO IR format. Model conversion may take a while. The -output of the Model Converter command will be displayed. When the -conversion is successful, the last lines of the output will include: -``[ SUCCESS ] Generated IR version 11 model.`` For downloaded models -that are already in OpenVINO IR format, conversion will be skipped. - -.. code:: ipython3 - - ## Uncomment the next line to show Help in omz_converter which explains the command-line options. - - # !omz_converter --help - -.. code:: ipython3 - - convert_command = f"omz_converter --name {model_name} --precisions {precision} --download_dir {base_model_dir} --output_dir {base_model_dir}" - display(Markdown(f"Convert command: `{convert_command}`")) - display(Markdown(f"Converting {model_name}...")) - - ! $convert_command - - - -Convert command: -``omz_converter --name mobilenet-v2-pytorch --precisions FP16 --download_dir model --output_dir model`` - - - -Converting mobilenet-v2-pytorch… - - -.. parsed-literal:: - - ========== Converting mobilenet-v2-pytorch to ONNX - Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-name=mobilenet_v2 --weights=model/public/mobilenet-v2-pytorch/mobilenet_v2-b0353104.pth --import-module=torchvision.models --input-shape=1,3,224,224 --output-file=model/public/mobilenet-v2-pytorch/mobilenet-v2.onnx --input-names=data --output-names=prob - - - -.. parsed-literal:: - - ONNX check passed successfully. - - -.. parsed-literal:: - - - ========== Converting mobilenet-v2-pytorch to IR (FP16) - Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=model/public/mobilenet-v2-pytorch/FP16 --model_name=mobilenet-v2-pytorch --input=data '--mean_values=data[123.675,116.28,103.53]' '--scale_values=data[58.624,57.12,57.375]' --reverse_input_channels --output=prob --input_model=model/public/mobilenet-v2-pytorch/mobilenet-v2.onnx '--layout=data(NCHW)' '--input_shape=[1, 3, 224, 224]' --compress_to_fp16=True - - - -.. parsed-literal:: - - [ INFO ] Generated IR will be compressed to FP16. If you get lower accuracy, please consider disabling compression explicitly by adding argument --compress_to_fp16=False. - Find more information about compression to FP16 at https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_FP16_Compression.html - [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. - Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html - [ SUCCESS ] Generated IR version 11 model. - [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/104-model-tools/model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml - [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/104-model-tools/model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.bin - - - -Get Model Information ---------------------- - - - -The Info Dumper prints the following information for Open Model Zoo -models: - -- Model name -- Description -- Framework that was used to train the model -- License URL -- Precisions supported by the model -- Subdirectory: the location of the downloaded model -- Task type - -This information can be shown by running -``omz_info_dumper --name model_name`` in a terminal. The information can -also be parsed and used in scripts. - -In the next cell, run Info Dumper and use ``json`` to load the -information in a dictionary. - -.. code:: ipython3 - - model_info_output = %sx omz_info_dumper --name $model_name - model_info = json.loads(model_info_output.get_nlstr()) - - if len(model_info) > 1: - NotebookAlert( - f"There are multiple IR files for the {model_name} model. The first model in the " - "omz_info_dumper output will be used for benchmarking. Change " - "`selected_model_info` in the cell below to select a different model from the list.", - "warning", - ) - - model_info - - - - -.. parsed-literal:: - - [{'name': 'mobilenet-v2-pytorch', - 'composite_model_name': None, - 'description': 'MobileNet V2 is image classification model pre-trained on ImageNet dataset. This is a PyTorch* implementation of MobileNetV2 architecture as described in the paper "Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation" .\nThe model input is a blob that consists of a single image of "1, 3, 224, 224" in "RGB" order.\nThe model output is typical object classifier for the 1000 different classifications matching with those in the ImageNet database.', - 'framework': 'pytorch', - 'license_url': 'https://raw.githubusercontent.com/pytorch/vision/master/LICENSE', - 'accuracy_config': '/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/models/public/mobilenet-v2-pytorch/accuracy-check.yml', - 'model_config': '/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/models/public/mobilenet-v2-pytorch/model.yml', - 'precisions': ['FP16', 'FP32'], - 'subdirectory': 'public/mobilenet-v2-pytorch', - 'task_type': 'classification', - 'input_info': [{'name': 'data', - 'shape': [1, 3, 224, 224], - 'layout': 'NCHW'}], - 'model_stages': []}] - - - -Having information of the model in a JSON file enables extraction of the -path to the model directory, and building the path to the OpenVINO IR -file. - -.. code:: ipython3 - - selected_model_info = model_info[0] - model_path = ( - base_model_dir - / Path(selected_model_info["subdirectory"]) - / Path(f"{precision}/{selected_model_info['name']}.xml") - ) - print(model_path, "exists:", model_path.exists()) - - -.. parsed-literal:: - - model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml exists: True - - -Run Benchmark Tool ------------------- - - - -By default, Benchmark Tool runs inference for 60 seconds in asynchronous -mode on CPU. It returns inference speed as latency (milliseconds per -image) and throughput values (frames per second). - -.. code:: ipython3 - - ## Uncomment the next line to show Help in benchmark_app which explains the command-line options. - # !benchmark_app --help - -.. code:: ipython3 - - benchmark_command = f"benchmark_app -m {model_path} -t 15" - display(Markdown(f"Benchmark command: `{benchmark_command}`")) - display(Markdown(f"Benchmarking {model_name} on CPU with async inference for 15 seconds...")) - - ! $benchmark_command - - - -Benchmark command: -``benchmark_app -m model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml -t 15`` - - - -Benchmarking mobilenet-v2-pytorch on CPU with async inference for 15 -seconds… - - -.. parsed-literal:: - - [Step 1/11] Parsing and validating input arguments - [ INFO ] Parsing input parameters - [Step 2/11] Loading OpenVINO Runtime - [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 - [ INFO ] - [ INFO ] Device info: - - -.. parsed-literal:: - - [ INFO ] CPU - [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 - [ INFO ] - [ INFO ] - [Step 3/11] Setting device configuration - [ WARNING ] Performance hint was not explicitly specified in command line. Device(CPU) performance hint will be set to PerformanceMode.THROUGHPUT. - [Step 4/11] Reading model files - [ INFO ] Loading model files - - -.. parsed-literal:: - - [ INFO ] Read model took 30.94 ms - [ INFO ] Original model I/O parameters: - [ INFO ] Model inputs: - [ INFO ] data (node: data) : f32 / [N,C,H,W] / [1,3,224,224] - [ INFO ] Model outputs: - [ INFO ] prob (node: prob) : f32 / [...] / [1,1000] - [Step 5/11] Resizing model to match image sizes and given batch - [ INFO ] Model batch size: 1 - [Step 6/11] Configuring input of the model - [ INFO ] Model inputs: - [ INFO ] data (node: data) : u8 / [N,C,H,W] / [1,3,224,224] - [ INFO ] Model outputs: - [ INFO ] prob (node: prob) : f32 / [...] / [1,1000] - [Step 7/11] Loading the model to the device - - -.. parsed-literal:: - - [ INFO ] Compile model took 136.02 ms - [Step 8/11] Querying optimal runtime parameters - [ INFO ] Model: - [ INFO ] NETWORK_NAME: main_graph - [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 - [ INFO ] NUM_STREAMS: 6 - [ INFO ] AFFINITY: Affinity.CORE - [ INFO ] INFERENCE_NUM_THREADS: 24 - [ INFO ] PERF_COUNT: NO - [ INFO ] INFERENCE_PRECISION_HINT: - [ INFO ] PERFORMANCE_HINT: THROUGHPUT - [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE - [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 - [ INFO ] ENABLE_CPU_PINNING: True - [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE - [ INFO ] ENABLE_HYPER_THREADING: True - [ INFO ] EXECUTION_DEVICES: ['CPU'] - [ INFO ] CPU_DENORMALS_OPTIMIZATION: False - [ INFO ] LOG_LEVEL: Level.NO - [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 - [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 - [ INFO ] KV_CACHE_PRECISION: - [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'data'!. This input will be filled with random values! - [ INFO ] Fill input 'data' with random values - [Step 10/11] Measuring performance (Start inference asynchronously, 6 inference requests, limits: 15000 ms duration) - [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 6.30 ms - - -.. parsed-literal:: - - [Step 11/11] Dumping statistics report - [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 20280 iterations - [ INFO ] Duration: 15006.67 ms - [ INFO ] Latency: - [ INFO ] Median: 4.31 ms - [ INFO ] Average: 4.31 ms - [ INFO ] Min: 2.75 ms - [ INFO ] Max: 13.73 ms - [ INFO ] Throughput: 1351.40 FPS - - -Benchmark with Different Settings -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -The ``benchmark_app`` tool displays logging information that is not -always necessary. A more compact result is achieved when the output is -parsed with ``json``. - -The following cells show some examples of ``benchmark_app`` with -different parameters. Below are some useful parameters: - -- ``-d`` A device to use for inference. For example: CPU, GPU, MULTI. - Default: CPU. -- ``-t`` Time expressed in number of seconds to run inference. Default: - 60. -- ``-api`` Use asynchronous (async) or synchronous (sync) inference. - Default: async. -- ``-b`` Batch size. Default: 1. - -Run ``! benchmark_app --help`` to get an overview of all possible -command-line parameters. - -In the next cell, define the ``benchmark_model()`` function that calls -``benchmark_app``. This makes it easy to try different combinations. In -the cell below that, you display available devices on the system. - - **Note**: In this notebook, ``benchmark_app`` runs for 15 seconds to - give a quick indication of performance. For more accurate - performance, it is recommended to run inference for at least one - minute by setting the ``t`` parameter to 60 or higher, and run - ``benchmark_app`` in a terminal/command prompt after closing other - applications. Copy the **benchmark command** and paste it in a - command prompt where you have activated the ``openvino_env`` - environment. - -.. code:: ipython3 - - def benchmark_model(model_xml, device="CPU", seconds=60, api="async", batch=1): - core = ov.Core() - model_path = Path(model_xml) - if ("GPU" in device) and ("GPU" not in core.available_devices): - DeviceNotFoundAlert("GPU") - else: - benchmark_command = f"benchmark_app -m {model_path} -d {device} -t {seconds} -api {api} -b {batch}" - display(Markdown(f"**Benchmark {model_path.name} with {device} for {seconds} seconds with {api} inference**")) - display(Markdown(f"Benchmark command: `{benchmark_command}`")) - - benchmark_output = %sx $benchmark_command - print("command ended") - benchmark_result = [line for line in benchmark_output - if not (line.startswith(r"[") or line.startswith(" ") or line == "")] - print("\n".join(benchmark_result)) - -.. code:: ipython3 - - core = ov.Core() - - # Show devices available for OpenVINO Runtime - for device in core.available_devices: - device_name = core.get_property(device, "FULL_DEVICE_NAME") - print(f"{device}: {device_name}") - - -.. parsed-literal:: - - CPU: Intel(R) Core(TM) i9-10920X CPU @ 3.50GHz - - -You can select inference device using device widget - -.. code:: ipython3 - - import ipywidgets as widgets - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', options=('CPU', 'AUTO'), value='CPU') - - - -.. code:: ipython3 - - benchmark_model(model_path, device=device.value, seconds=15, api="async") - - - -**Benchmark mobilenet-v2-pytorch.xml with CPU for 15 seconds with async -inference** - - - -Benchmark command: -``benchmark_app -m model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml -d CPU -t 15 -api async -b 1`` - - -.. parsed-literal:: - - command ended - - diff --git a/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_27_0.png b/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_27_0.png deleted file mode 100644 index dda596f1105..00000000000 --- a/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_27_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8ce150e30514fd5c85f9d29b953b41d9cbd0c4f58c2289513286a4aef99c3984 -size 26193 diff --git a/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_28_0.png b/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_28_0.png deleted file mode 100644 index 682ea8ddc75..00000000000 --- a/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_28_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7b1eaf56574fadd9331d380d2f057dd74775ebacdaa34fff9a1af2fe382128ab -size 40039 diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_31_0.png b/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_31_0.png deleted file mode 100644 index c9dd3335509..00000000000 --- a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_31_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d89934369311be59343b18178462948179f2338b011e203bd44ba12f2c5f415 -size 52981 diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_34_0.png b/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_34_0.png deleted file mode 100644 index 6822e59f7b1..00000000000 --- a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_34_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd3c5e32a2fa420855d0c3afbe63b2766bea7945af42dc014a2c4ef0511b34e9 -size 62481 diff --git a/docs/notebooks/110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_37_1.png b/docs/notebooks/110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_37_1.png deleted file mode 100644 index 8ca3d7c625d..00000000000 --- a/docs/notebooks/110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_37_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:343ba28303ca515ea1d2e7a3a11fc71f2da545414422d023c6bb0bf6e5f0d33c -size 387909 diff --git a/docs/notebooks/113-image-classification-quantization-with-output_files/113-image-classification-quantization-with-output_30_5.png b/docs/notebooks/113-image-classification-quantization-with-output_files/113-image-classification-quantization-with-output_30_5.png deleted file mode 100644 index 62b64e695a3..00000000000 --- a/docs/notebooks/113-image-classification-quantization-with-output_files/113-image-classification-quantization-with-output_30_5.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9990baa1e4f121781deb249b7534c8f31f26ca9b37afd3f269ca50ec0318e7d4 -size 14855 diff --git a/docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_23_0.png b/docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_23_0.png deleted file mode 100644 index 16e5382d892..00000000000 --- a/docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_23_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:93643954352f7013007d0c5a7b47097cbdf533cf5b4aae690069ca9b78625ce2 -size 30425 diff --git a/docs/notebooks/118-optimize-preprocessing-with-output_files/118-optimize-preprocessing-with-output_14_1.png b/docs/notebooks/118-optimize-preprocessing-with-output_files/118-optimize-preprocessing-with-output_14_1.png deleted file mode 100644 index a142093f6e6..00000000000 --- a/docs/notebooks/118-optimize-preprocessing-with-output_files/118-optimize-preprocessing-with-output_14_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5712bd24e962ae0e0267607554ebe1f2869c223b108876ce10e5d20fe6285126 -size 387941 diff --git a/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_25_1.png b/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_25_1.png deleted file mode 100644 index 1930c8c80fa..00000000000 --- a/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_25_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90f5ec228ab4ebfbb7bbf584f3eb86452f97261c08225f0fd2cb0b4bceadacb1 -size 395346 diff --git a/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_39_0.png b/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_39_0.png deleted file mode 100644 index eff56d2a045..00000000000 --- a/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_39_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:50bd4a35af276f9e1ead8973e69ac3ae780beb2087b477c4d20929bf2f61b93f -size 389505 diff --git a/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_25_1.png b/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_25_1.png deleted file mode 100644 index 1930c8c80fa..00000000000 --- a/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_25_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90f5ec228ab4ebfbb7bbf584f3eb86452f97261c08225f0fd2cb0b4bceadacb1 -size 395346 diff --git a/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_38_0.png b/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_38_0.png deleted file mode 100644 index 60ceea68221..00000000000 --- a/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_38_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b7c3ef737ce7f0e16dd9d3a392c533b542f408fe58f47c9bcc2b28f8d54e67d8 -size 391878 diff --git a/docs/notebooks/122-speech-recognition-quantization-wav2vec2-with-output.rst b/docs/notebooks/122-speech-recognition-quantization-wav2vec2-with-output.rst deleted file mode 100644 index cf238be5903..00000000000 --- a/docs/notebooks/122-speech-recognition-quantization-wav2vec2-with-output.rst +++ /dev/null @@ -1,481 +0,0 @@ -Quantize Speech Recognition Models with accuracy control using NNCF PTQ API -=========================================================================== - -This tutorial demonstrates how to apply ``INT8`` quantization with -accuracy control to the speech recognition model, known as -`Wav2Vec2 `__, -using the NNCF (Neural Network Compression Framework) 8-bit quantization -with accuracy control in post-training mode (without the fine-tuning -pipeline). This notebook uses a fine-tuned -`Wav2Vec2-Base-960h `__ -`PyTorch `__ model trained on the `LibriSpeech ASR -corpus `__. The tutorial is designed to be -extendable to custom models and datasets. It consists of the following -steps: - -- Download and prepare the Wav2Vec2 model and LibriSpeech dataset. -- Define data loading and accuracy validation functionality. -- Model quantization with accuracy control. -- Compare Accuracy of original PyTorch model, OpenVINO FP16 and INT8 - models. -- Compare performance of the original and quantized models. - -The advanced quantization flow allows to apply 8-bit quantization to the -model with control of accuracy metric. This is achieved by keeping the -most impactful operations within the model in the original precision. -The flow is based on the `Basic 8-bit -quantization `__ -and has the following differences: - -- Besides the calibration dataset, a validation dataset is required to - compute the accuracy metric. Both datasets can refer to the same data - in the simplest case. -- Validation function, used to compute accuracy metric is required. It - can be a function that is already available in the source framework - or a custom function. -- Since accuracy validation is run several times during the - quantization process, quantization with accuracy control can take - more time than the Basic 8-bit quantization flow. -- The resulted model can provide smaller performance improvement than - the Basic 8-bit quantization flow because some of the operations are - kept in the original precision. - -.. - - **NOTE**: Currently, 8-bit quantization with accuracy control in NNCF - is available only for models in OpenVINO representation. - -The steps for the quantization with accuracy control are described -below. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Imports <#imports>`__ -- `Prepare the Model <#prepare-the-model>`__ -- `Prepare LibriSpeech Dataset <#prepare-librispeech-dataset>`__ -- `Prepare calibration dataset <#prepare-calibration-dataset>`__ -- `Prepare validation function <#prepare-validation-function>`__ -- `Run quantization with accuracy - control <#run-quantization-with-accuracy-control>`__ -- `Model Usage Example <#model-usage-example>`__ -- `Compare Accuracy of the Original and Quantized - Models <#compare-accuracy-of-the-original-and-quantized-models>`__ - -.. code:: ipython3 - - %pip install -q "openvino>=2023.1.0" - %pip install -q "nncf>=2.6.0" - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu soundfile librosa transformers torch datasets torchmetrics - -Imports -------- - - - -.. code:: ipython3 - - import numpy as np - import torch - - from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor - - -.. parsed-literal:: - - 2023-10-10 09:32:06.465943: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2023-10-10 09:32:06.505459: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2023-10-10 09:32:07.113533: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -Prepare the Model ------------------ - - - -For instantiating PyTorch model class, we should use -``Wav2Vec2ForCTC.from_pretrained`` method with providing model ID for -downloading from HuggingFace hub. Model weights and configuration files -will be downloaded automatically in first time usage. Keep in mind that -downloading the files can take several minutes and depends on your -internet connection. - -Additionally, we can create processor class which is responsible for -model specific pre- and post-processing steps. - -.. code:: ipython3 - - BATCH_SIZE = 1 - MAX_SEQ_LENGTH = 30480 - - - torch_model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-base-960h", ctc_loss_reduction="mean") - processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-base-960h") - - -.. parsed-literal:: - - Some weights of Wav2Vec2ForCTC were not initialized from the model checkpoint at facebook/wav2vec2-base-960h and are newly initialized: ['wav2vec2.masked_spec_embed'] - You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference. - - -Convert it to the OpenVINO Intermediate Representation (OpenVINO IR) - -.. code:: ipython3 - - import openvino as ov - - - default_input = torch.zeros([1, MAX_SEQ_LENGTH], dtype=torch.float) - ov_model = ov.convert_model(torch_model, example_input=default_input) - - -.. parsed-literal:: - - WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. - - -.. parsed-literal:: - - [ WARNING ] Please fix your imports. Module %s has been moved to %s. The old module will be deleted in version %s. - /home/ea/work/ov_venv/lib/python3.8/site-packages/transformers/models/wav2vec2/modeling_wav2vec2.py:595: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): - /home/ea/work/ov_venv/lib/python3.8/site-packages/transformers/models/wav2vec2/modeling_wav2vec2.py:634: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if attn_output.size() != (bsz * self.num_heads, tgt_len, self.head_dim): - - -Prepare LibriSpeech Dataset ---------------------------- - - - -For demonstration purposes, we will use short dummy version of -LibriSpeech dataset - ``patrickvonplaten/librispeech_asr_dummy`` to -speed up model evaluation. Model accuracy can be different from reported -in the paper. For reproducing original accuracy, use ``librispeech_asr`` -dataset. - -.. code:: ipython3 - - from datasets import load_dataset - - - dataset = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation") - test_sample = dataset[0]["audio"] - - - # define preprocessing function for converting audio to input values for model - def map_to_input(batch): - preprocessed_signal = processor(batch["audio"]["array"], return_tensors="pt", padding="longest", sampling_rate=batch['audio']['sampling_rate']) - input_values = preprocessed_signal.input_values - batch['input_values'] = input_values - return batch - - - # apply preprocessing function to dataset and remove audio column, to save memory as we do not need it anymore - dataset = dataset.map(map_to_input, batched=False, remove_columns=["audio"]) - - -.. parsed-literal:: - - Found cached dataset librispeech_asr_dummy (/home/ea/.cache/huggingface/datasets/patrickvonplaten___librispeech_asr_dummy/clean/2.1.0/f2c70a4d03ab4410954901bde48c54b85ca1b7f9bf7d616e7e2a72b5ee6ddbfc) - Loading cached processed dataset at /home/ea/.cache/huggingface/datasets/patrickvonplaten___librispeech_asr_dummy/clean/2.1.0/f2c70a4d03ab4410954901bde48c54b85ca1b7f9bf7d616e7e2a72b5ee6ddbfc/cache-dcb48242e67b91b1.arrow - - -Prepare calibration dataset ---------------------------- - - - -.. code:: ipython3 - - import nncf - - - def transform_fn(data_item): - """ - Extract the model's input from the data item. - The data item here is the data item that is returned from the data source per iteration. - This function should be passed when the data item cannot be used as model's input. - """ - return np.array(data_item["input_values"]) - - - calibration_dataset = nncf.Dataset(dataset, transform_fn) - - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -Prepare validation function ---------------------------- - - - -Define the validation function. - -.. code:: ipython3 - - from torchmetrics import WordErrorRate - from tqdm.notebook import tqdm - - - def validation_fn(model, dataset): - """ - Calculate and returns a metric for the model. - """ - wer = WordErrorRate() - for sample in dataset: - # run infer function on sample - output = model.output(0) - logits = model(np.array(sample['input_values']))[output] - predicted_ids = np.argmax(logits, axis=-1) - transcription = processor.batch_decode(torch.from_numpy(predicted_ids)) - - # update metric on sample result - wer.update(transcription, [sample['text']]) - - result = wer.compute() - - return 1 - result - -Run quantization with accuracy control --------------------------------------- - - - -You should provide the calibration dataset and the validation dataset. -It can be the same dataset. - parameter ``max_drop`` defines the -accuracy drop threshold. The quantization process stops when the -degradation of accuracy metric on the validation dataset is less than -the ``max_drop``. The default value is 0.01. NNCF will stop the -quantization and report an error if the ``max_drop`` value can’t be -reached. - ``drop_type`` defines how the accuracy drop will be -calculated: ABSOLUTE (used by default) or RELATIVE. - -``ranking_subset_size`` - size of a subset that is used to rank layers -by their contribution to the accuracy drop. Default value is 300, and -the more samples it has the better ranking, potentially. Here we use the -value 25 to speed up the execution. - - **NOTE**: Execution can take tens of minutes and requires up to 10 GB - of free memory - -.. code:: ipython3 - - from nncf.quantization.advanced_parameters import AdvancedAccuracyRestorerParameters - from nncf.parameters import ModelType - - quantized_model = nncf.quantize_with_accuracy_control( - ov_model, - calibration_dataset=calibration_dataset, - validation_dataset=calibration_dataset, - validation_fn=validation_fn, - max_drop=0.01, - drop_type=nncf.DropType.ABSOLUTE, - model_type=ModelType.TRANSFORMER, - advanced_accuracy_restorer_parameters=AdvancedAccuracyRestorerParameters( - ranking_subset_size=25 - ), - ) - - -.. parsed-literal:: - - Statistics collection: 24%|███████████████████████████████████▎ | 73/300 [00:12<00:37, 5.98it/s] - Applying Smooth Quant: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [00:01<00:00, 41.01it/s] - - -.. parsed-literal:: - - INFO:nncf:36 ignored nodes was found by name in the NNCFGraph - - -.. parsed-literal:: - - Statistics collection: 24%|███████████████████████████████████▎ | 73/300 [00:22<01:08, 3.31it/s] - Applying Fast Bias correction: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 74/74 [00:23<00:00, 3.09it/s] - -.. parsed-literal:: - - INFO:nncf:Validation of initial model was started - - - - - - - -.. parsed-literal:: - - INFO:nncf:Elapsed Time: 00:00:00 - INFO:nncf:Elapsed Time: 00:00:11 - INFO:nncf:Metric of initial model: 0.9469565153121948 - INFO:nncf:Collecting values for each data item using the initial model - INFO:nncf:Elapsed Time: 00:00:09 - INFO:nncf:Validation of quantized model was started - INFO:nncf:Elapsed Time: 00:00:22 - INFO:nncf:Elapsed Time: 00:00:11 - INFO:nncf:Metric of quantized model: 0.5 - INFO:nncf:Collecting values for each data item using the quantized model - INFO:nncf:Elapsed Time: 00:00:06 - INFO:nncf:Accuracy drop: 0.4469565153121948 (DropType.ABSOLUTE) - INFO:nncf:Accuracy drop: 0.4469565153121948 (DropType.ABSOLUTE) - INFO:nncf:Total number of quantized operations in the model: 94 - INFO:nncf:Number of parallel processes to rank quantized operations: 14 - INFO:nncf:ORIGINAL metric is used to rank quantizers - INFO:nncf:Calculating ranking score for groups of quantizers - INFO:nncf:Elapsed Time: 00:04:36 - INFO:nncf:Changing the scope of quantizer nodes was started - INFO:nncf:Reverted 1 operations to the floating-point precision: - __module.wav2vec2.feature_extractor.conv_layers.2.conv/aten::_convolution/Convolution_11 - INFO:nncf:Accuracy drop with the new quantization scope is 0.06173914670944214 (DropType.ABSOLUTE) - INFO:nncf:Reverted 1 operations to the floating-point precision: - __module.wav2vec2.feature_extractor.conv_layers.1.conv/aten::_convolution/Convolution_10 - INFO:nncf:Accuracy drop with the new quantization scope is 0.010434746742248535 (DropType.ABSOLUTE) - INFO:nncf:Reverted 1 operations to the floating-point precision: - __module.wav2vec2.feature_extractor.conv_layers.3.conv/aten::_convolution/Convolution_12 - INFO:nncf:Algorithm completed: achieved required accuracy drop 0.006956517696380615 (DropType.ABSOLUTE) - INFO:nncf:3 out of 94 were reverted back to the floating-point precision: - __module.wav2vec2.feature_extractor.conv_layers.2.conv/aten::_convolution/Convolution_11 - __module.wav2vec2.feature_extractor.conv_layers.1.conv/aten::_convolution/Convolution_10 - __module.wav2vec2.feature_extractor.conv_layers.3.conv/aten::_convolution/Convolution_12 - - -Model Usage Example -------------------- - - - -.. code:: ipython3 - - import IPython.display as ipd - - - ipd.Audio(test_sample["array"], rate=16000) - - - - -.. raw:: html - - - - - - - -Select device for inference - -.. code:: ipython3 - - import ipywidgets as widgets - - core = ov.Core() - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', - disabled=False, - ) - - device - -.. code:: ipython3 - - compiled_quantized_model = core.compile_model(model=quantized_model, device_name=device.value) - - input_data = np.expand_dims(test_sample["array"], axis=0) - -Next, make a prediction. - -.. code:: ipython3 - - predictions = compiled_quantized_model([input_data])[0] - predicted_ids = np.argmax(predictions, axis=-1) - transcription = processor.batch_decode(torch.from_numpy(predicted_ids)) - transcription - - - - -.. parsed-literal:: - - ['I E O WE WORD I O O FAGGI FARE E BO'] - - - -Compare Accuracy of the Original and Quantized Models ------------------------------------------------------ - - - -- Define dataloader for test dataset. -- Define functions to get inference for PyTorch and OpenVINO models. -- Define functions to compute Word Error Rate. - -.. code:: ipython3 - - # inference function for pytorch - def torch_infer(model, sample): - logits = model(torch.Tensor(sample['input_values'])).logits - # take argmax and decode - predicted_ids = torch.argmax(logits, dim=-1) - transcription = processor.batch_decode(predicted_ids) - return transcription - - - # inference function for openvino - def ov_infer(model, sample): - output = model.output(0) - logits = model(np.array(sample['input_values']))[output] - predicted_ids = np.argmax(logits, axis=-1) - transcription = processor.batch_decode(torch.from_numpy(predicted_ids)) - return transcription - - - def compute_wer(dataset, model, infer_fn): - wer = WordErrorRate() - for sample in tqdm(dataset): - # run infer function on sample - transcription = infer_fn(model, sample) - # update metric on sample result - wer.update(transcription, [sample['text']]) - # finalize metric calculation - result = wer.compute() - return result - -Now, compute WER for the original PyTorch model and quantized model. - -.. code:: ipython3 - - pt_result = compute_wer(dataset, torch_model, torch_infer) - quantized_result = compute_wer(dataset, compiled_quantized_model, ov_infer) - - print(f'[PyTorch] Word Error Rate: {pt_result:.4f}') - print(f'[Quantized OpenVino] Word Error Rate: {quantized_result:.4f}') - - - -.. parsed-literal:: - - 0%| | 0/73 [00:00`__. It uses -`BiT-M-R50x1/1 `__ -model, which is trained on ImageNet-21k. Big Transfer is a recipe for -pre-training image classification models on large supervised datasets -and efficiently fine-tuning them on any given target task. The recipe -achieves excellent performance on a wide variety of tasks, even when -using very few labeled examples from the target dataset. This tutorial -uses OpenVINO backend for performing model quantization in NNCF. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Prepare Dataset <#prepare-dataset>`__ -- `Plotting data samples <#plotting-data-samples>`__ -- `Model Fine-tuning <#model-fine-tuning>`__ -- `Perform model optimization (IR) - step <#perform-model-optimization-ir-step>`__ -- `Compute accuracy of the TF - model <#compute-accuracy-of-the-tf-model>`__ -- `Compute accuracy of the OpenVINO - model <#compute-accuracy-of-the-openvino-model>`__ -- `Quantize OpenVINO model using - NNCF <#quantize-openvino-model-using-nncf>`__ -- `Compute accuracy of the quantized - model <#compute-accuracy-of-the-quantized-model>`__ -- `Compare FP32 and INT8 accuracy <#compare-fp32-and-int8-accuracy>`__ -- `Compare inference results on one - picture <#compare-inference-results-on-one-picture>`__ - -.. code:: ipython3 - - %pip install -q "openvino>=2024.0.0" "nncf>=2.7.0" "tensorflow-hub>=0.15.0" "tensorflow_datasets" - %pip install -q "scikit-learn>=1.3.2" - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. code:: ipython3 - - import os - import sys - import numpy as np - from pathlib import Path - - from openvino.runtime import Core - import openvino as ov - import nncf - import logging - - sys.path.append("../utils") - from nncf.common.logging.logger import set_log_level - set_log_level(logging.ERROR) - - from sklearn.metrics import accuracy_score - - import tensorflow as tf - import tensorflow_datasets as tfds - import tensorflow_hub as hub - - tfds.core.utils.gcs_utils._is_gcs_disabled = True - os.environ['NO_GCE_CHECK'] = 'true' - - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -.. parsed-literal:: - - 2024-03-12 22:55:31.874883: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:55:31.909243: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-12 22:55:32.550119: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -.. code:: ipython3 - - core = Core() - tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) - os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' - - - # For top 5 labels. - MAX_PREDS = 1 - TRAINING_BATCH_SIZE = 128 - BATCH_SIZE = 1 - IMG_SIZE = (256, 256) # Default Imagenet image size - NUM_CLASSES = 10 # For Imagenette dataset - FINE_TUNING_STEPS = 1 - LR = 1e-5 - - MEAN_RGB = (0.485 * 255, 0.456 * 255, 0.406 * 255) # From Imagenet dataset - STDDEV_RGB = (0.229 * 255, 0.224 * 255, 0.225 * 255) # From Imagenet dataset - - -Prepare Dataset -~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - datasets, datasets_info = tfds.load('imagenette/160px', shuffle_files=True, as_supervised=True, with_info=True, - read_config=tfds.ReadConfig(shuffle_seed=0)) - train_ds, validation_ds = datasets['train'], datasets['validation'] - - - -.. parsed-literal:: - - 2024-03-12 22:55:35.401645: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-12 22:55:35.401677: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-12 22:55:35.401681: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-12 22:55:35.401861: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-12 22:55:35.401877: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-12 22:55:35.401880: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration - - -.. code:: ipython3 - - def preprocessing(image, label): - image = tf.image.resize(image, IMG_SIZE) - image = tf.cast(image, tf.float32) / 255.0 - label = tf.one_hot(label, NUM_CLASSES) - return image, label - - train_dataset = (train_ds.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE) - .batch(TRAINING_BATCH_SIZE).prefetch(tf.data.experimental.AUTOTUNE)) - validation_dataset = (validation_ds.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE) - .batch(TRAINING_BATCH_SIZE).prefetch(tf.data.experimental.AUTOTUNE)) - -.. code:: ipython3 - - # Class labels dictionary with imagenette sample names and classes - lbl_dict = dict( - n01440764='tench', - n02102040='English springer', - n02979186='cassette player', - n03000684='chain saw', - n03028079='church', - n03394916='French horn', - n03417042='garbage truck', - n03425413='gas pump', - n03445777='golf ball', - n03888257='parachute' - ) - - # Imagenette samples name index - class_idx_dict = ['n01440764', 'n02102040', 'n02979186', 'n03000684', - 'n03028079', 'n03394916', 'n03417042', 'n03425413', - 'n03445777', 'n03888257'] - - def label_func(key): - return lbl_dict[key] - -Plotting data samples -~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - import matplotlib.pyplot as plt - - # Get the class labels from the dataset info - class_labels = datasets_info.features['label'].names - - # Display labels along with the examples - num_examples_to_display = 4 - fig, axes = plt.subplots(nrows=1, ncols=num_examples_to_display, figsize=(10, 5)) - - for i, (image, label_index) in enumerate(train_ds.take(num_examples_to_display)): - label_name = class_labels[label_index.numpy()] - - axes[i].imshow(image.numpy()) - axes[i].set_title(f"{label_func(label_name)}") - axes[i].axis('off') - plt.tight_layout() - plt.show() - - -.. parsed-literal:: - - 2024-03-12 22:55:35.857921: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] - [[{{node Placeholder/_1}}]] - 2024-03-12 22:55:35.858264: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int64 and shape [1] - [[{{node Placeholder/_4}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:36.118290: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. - - - -.. image:: 127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_9_2.png - - -.. code:: ipython3 - - # Get the class labels from the dataset info - class_labels = datasets_info.features['label'].names - - # Display labels along with the examples - num_examples_to_display = 4 - fig, axes = plt.subplots(nrows=1, ncols=num_examples_to_display, figsize=(10, 5)) - - for i, (image, label_index) in enumerate(validation_ds.take(num_examples_to_display)): - label_name = class_labels[label_index.numpy()] - - axes[i].imshow(image.numpy()) - axes[i].set_title(f"{label_func(label_name)}") - axes[i].axis('off') - plt.tight_layout() - plt.show() - - -.. parsed-literal:: - - 2024-03-12 22:55:36.596528: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_2' with dtype string and shape [1] - [[{{node Placeholder/_2}}]] - 2024-03-12 22:55:36.596875: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] - [[{{node Placeholder/_1}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:36.801171: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. - - - -.. image:: 127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_10_2.png - - -Model Fine-tuning -~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - # Load the Big Transfer model - bit_model_url = "https://www.kaggle.com/models/google/bit/frameworks/TensorFlow2/variations/m-r50x1/versions/1" - bit_m = hub.KerasLayer(bit_model_url, trainable=True) - - # Customize the model for the new task - model = tf.keras.Sequential([ - bit_m, - tf.keras.layers.Dense(NUM_CLASSES, activation='softmax') - ]) - - # Compile the model - model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=LR), - loss='categorical_crossentropy', - metrics=['accuracy']) - - # Fine-tune the model - model.fit(train_dataset.take(3000), - epochs=FINE_TUNING_STEPS, - validation_data=validation_dataset.take(1000)) - model.save("./bit_tf_model/", save_format='tf') - - -.. parsed-literal:: - - 2024-03-12 22:55:45.506934: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] - [[{{node Placeholder/_1}}]] - 2024-03-12 22:55:45.507317: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [1] - [[{{node Placeholder/_0}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:46.103799: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/global_average_pooling2d/PartitionedCall_grad/global_average_pooling2d/PartitionedCall' with dtype float and shape [?,?,?,?] - [[{{node gradients/global_average_pooling2d/PartitionedCall_grad/global_average_pooling2d/PartitionedCall}}]] - 2024-03-12 22:55:46.103863: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/global_average_pooling2d/PartitionedCall_grad/global_average_pooling2d/PartitionedCall_1' with dtype int32 and shape [2] - [[{{node gradients/global_average_pooling2d/PartitionedCall_grad/global_average_pooling2d/PartitionedCall_1}}]] - 2024-03-12 22:55:46.163066: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall}}]] - 2024-03-12 22:55:46.163144: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_1' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_1}}]] - 2024-03-12 22:55:46.163184: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_2' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_2}}]] - 2024-03-12 22:55:46.163219: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_3' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_3}}]] - 2024-03-12 22:55:46.163253: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_4' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_4}}]] - 2024-03-12 22:55:46.163287: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_5' with dtype float and shape [32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_5}}]] - 2024-03-12 22:55:46.163322: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_6' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:46.163357: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_7' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_7}}]] - 2024-03-12 22:55:46.163392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_8' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_8}}]] - 2024-03-12 22:55:46.163428: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_9' with dtype float and shape [32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_9}}]] - 2024-03-12 22:55:46.163462: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_10' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_10}}]] - 2024-03-12 22:55:46.163497: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_11' with dtype float - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_11}}]] - 2024-03-12 22:55:46.163532: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_12' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_12}}]] - 2024-03-12 22:55:46.163576: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_13' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_13}}]] - 2024-03-12 22:55:46.163608: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_14' with dtype float and shape [?,?,?,2048] - [[{{node gradients/group_norm/StatefulPartitionedCall_grad/group_norm/StatefulPartitionedCall_14}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:46.920175: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall}}]] - 2024-03-12 22:55:46.920248: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_1' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_1}}]] - 2024-03-12 22:55:46.920285: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_2' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_2}}]] - 2024-03-12 22:55:46.920319: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_6' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:46.920351: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_7' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_7}}]] - 2024-03-12 22:55:46.920382: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_8' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_8}}]] - 2024-03-12 22:55:46.920430: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_9' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_9}}]] - 2024-03-12 22:55:46.920463: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_10' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_10}}]] - 2024-03-12 22:55:46.920496: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_11' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_11}}]] - 2024-03-12 22:55:46.920528: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_12' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_12}}]] - 2024-03-12 22:55:46.920560: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_13' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_13}}]] - 2024-03-12 22:55:46.920594: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_16' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_16}}]] - 2024-03-12 22:55:46.920626: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_17' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_17}}]] - 2024-03-12 22:55:46.920658: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_18' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_18}}]] - 2024-03-12 22:55:46.920691: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_19' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_19}}]] - 2024-03-12 22:55:46.920724: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_20' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_20}}]] - 2024-03-12 22:55:46.920756: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_21' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_21}}]] - 2024-03-12 22:55:46.920787: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_22' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_22}}]] - 2024-03-12 22:55:46.920819: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_23' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_23}}]] - 2024-03-12 22:55:46.920852: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_25' with dtype int32 and shape [4,2] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_25}}]] - 2024-03-12 22:55:46.920884: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_26' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_26}}]] - 2024-03-12 22:55:46.920917: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_29' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_29}}]] - 2024-03-12 22:55:46.920950: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_30' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_30}}]] - 2024-03-12 22:55:46.920982: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_31' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_31}}]] - 2024-03-12 22:55:46.921014: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_32' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_32}}]] - 2024-03-12 22:55:46.921046: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_33' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_33}}]] - 2024-03-12 22:55:46.921078: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_34' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_34}}]] - 2024-03-12 22:55:46.921113: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_35' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_35}}]] - 2024-03-12 22:55:46.921148: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_38' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_38}}]] - 2024-03-12 22:55:46.921183: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_39' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_39}}]] - 2024-03-12 22:55:46.921217: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_40' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_40}}]] - 2024-03-12 22:55:46.921251: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_41' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_41}}]] - 2024-03-12 22:55:46.921286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_42' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_42}}]] - 2024-03-12 22:55:46.921322: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_43' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_43}}]] - 2024-03-12 22:55:46.921357: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_44' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_44}}]] - 2024-03-12 22:55:46.921391: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_45' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_45}}]] - 2024-03-12 22:55:46.921426: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_46' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_46}}]] - 2024-03-12 22:55:46.921467: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_50' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_50}}]] - 2024-03-12 22:55:46.921500: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_51' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_51}}]] - 2024-03-12 22:55:46.921536: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_52' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_52}}]] - 2024-03-12 22:55:46.921585: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_53' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_53}}]] - 2024-03-12 22:55:46.921618: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_54' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_54}}]] - 2024-03-12 22:55:46.921652: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_55' with dtype float and shape [32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_55}}]] - 2024-03-12 22:55:46.921686: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_56' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_56}}]] - 2024-03-12 22:55:46.921719: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_57' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_57}}]] - 2024-03-12 22:55:46.921753: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_60' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_60}}]] - 2024-03-12 22:55:46.921792: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_61' with dtype float and shape [32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_61}}]] - 2024-03-12 22:55:46.921827: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_62' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_62}}]] - 2024-03-12 22:55:46.921863: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_63' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_63}}]] - 2024-03-12 22:55:46.921898: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_64' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_64}}]] - 2024-03-12 22:55:46.921934: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_65' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_65}}]] - 2024-03-12 22:55:46.921969: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_66' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_66}}]] - 2024-03-12 22:55:46.922004: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_67' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_67}}]] - 2024-03-12 22:55:46.922050: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_68' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_68}}]] - 2024-03-12 22:55:46.922084: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_72' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_72}}]] - 2024-03-12 22:55:46.922118: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_73' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_73}}]] - 2024-03-12 22:55:46.922153: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_74' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_74}}]] - 2024-03-12 22:55:46.922187: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_75' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_75}}]] - 2024-03-12 22:55:46.922222: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_76' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_76}}]] - 2024-03-12 22:55:46.922256: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_77' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_77}}]] - 2024-03-12 22:55:46.922291: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_78' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_78}}]] - 2024-03-12 22:55:46.922326: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_79' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_79}}]] - 2024-03-12 22:55:46.922361: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_82' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_82}}]] - 2024-03-12 22:55:46.922396: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_83' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_83}}]] - 2024-03-12 22:55:46.922431: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_84' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_84}}]] - 2024-03-12 22:55:46.922465: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_85' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_85}}]] - 2024-03-12 22:55:46.922500: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_86' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_86}}]] - 2024-03-12 22:55:46.922535: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_87' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_87}}]] - 2024-03-12 22:55:46.922569: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_88' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_88}}]] - 2024-03-12 22:55:46.922604: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_89' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_89}}]] - 2024-03-12 22:55:46.922639: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_91' with dtype int32 and shape [4,2] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_91}}]] - 2024-03-12 22:55:46.922673: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_92' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_92}}]] - 2024-03-12 22:55:46.922708: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_95' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_95}}]] - 2024-03-12 22:55:46.922742: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_96' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_96}}]] - 2024-03-12 22:55:46.922776: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_97' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_97}}]] - 2024-03-12 22:55:46.922811: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_98' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_98}}]] - 2024-03-12 22:55:46.922845: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_99' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_99}}]] - 2024-03-12 22:55:46.922879: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_100' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_100}}]] - 2024-03-12 22:55:46.922914: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_101' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_101}}]] - 2024-03-12 22:55:46.922949: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_104' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_104}}]] - 2024-03-12 22:55:46.922984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_105' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_105}}]] - 2024-03-12 22:55:46.923018: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_106' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_106}}]] - 2024-03-12 22:55:46.923053: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_107' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_107}}]] - 2024-03-12 22:55:46.923087: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_108' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_108}}]] - 2024-03-12 22:55:46.923121: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_109' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_109}}]] - 2024-03-12 22:55:46.923156: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_110' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_110}}]] - 2024-03-12 22:55:46.923190: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_111' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_111}}]] - 2024-03-12 22:55:46.923224: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_112' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_112}}]] - 2024-03-12 22:55:46.923258: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_116' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_116}}]] - 2024-03-12 22:55:46.923293: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_117' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_117}}]] - 2024-03-12 22:55:46.923328: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_118' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_118}}]] - 2024-03-12 22:55:46.923362: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_119' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_119}}]] - 2024-03-12 22:55:46.923396: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_120' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_120}}]] - 2024-03-12 22:55:46.923431: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_121' with dtype float and shape [32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_121}}]] - 2024-03-12 22:55:46.923465: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_122' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_122}}]] - 2024-03-12 22:55:46.923500: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_123' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_123}}]] - 2024-03-12 22:55:46.923533: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_126' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_126}}]] - 2024-03-12 22:55:46.923567: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_127' with dtype float and shape [32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_127}}]] - 2024-03-12 22:55:46.923601: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_128' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_128}}]] - 2024-03-12 22:55:46.923635: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_129' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_129}}]] - 2024-03-12 22:55:46.923670: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_130' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_130}}]] - 2024-03-12 22:55:46.923704: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_131' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_131}}]] - 2024-03-12 22:55:46.923739: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_132' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_132}}]] - 2024-03-12 22:55:46.923773: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_133' with dtype float and shape [?,?,?,2048] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_133}}]] - 2024-03-12 22:55:46.923807: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_134' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_134}}]] - 2024-03-12 22:55:46.923841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_136' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_136}}]] - 2024-03-12 22:55:46.923874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_142' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_142}}]] - 2024-03-12 22:55:46.923909: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_143' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_143}}]] - 2024-03-12 22:55:46.923943: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_144' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_144}}]] - 2024-03-12 22:55:46.923978: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_145' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_145}}]] - 2024-03-12 22:55:46.924012: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_146' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_146}}]] - 2024-03-12 22:55:46.924047: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_147' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_147}}]] - 2024-03-12 22:55:46.924080: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_148' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_148}}]] - 2024-03-12 22:55:46.924114: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_149' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_149}}]] - 2024-03-12 22:55:46.924149: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_154' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_154}}]] - 2024-03-12 22:55:46.924183: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_155' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_155}}]] - 2024-03-12 22:55:46.924217: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_156' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_156}}]] - 2024-03-12 22:55:46.924250: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_157' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_157}}]] - 2024-03-12 22:55:46.924285: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_158' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_158}}]] - 2024-03-12 22:55:46.924319: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_159' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_159}}]] - 2024-03-12 22:55:46.924354: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_160' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_160}}]] - 2024-03-12 22:55:46.924388: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_161' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_161}}]] - 2024-03-12 22:55:46.924422: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_163' with dtype int32 and shape [4,2] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_163}}]] - 2024-03-12 22:55:46.924456: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_164' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_164}}]] - 2024-03-12 22:55:46.924491: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_167' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_167}}]] - 2024-03-12 22:55:46.924525: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_168' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_168}}]] - 2024-03-12 22:55:46.924559: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_169' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_169}}]] - 2024-03-12 22:55:46.924592: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_170' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_170}}]] - 2024-03-12 22:55:46.924625: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_171' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_171}}]] - 2024-03-12 22:55:46.924660: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_172' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_172}}]] - 2024-03-12 22:55:46.924694: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_173' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_173}}]] - 2024-03-12 22:55:46.924727: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_176' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_176}}]] - 2024-03-12 22:55:46.924761: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_177' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_177}}]] - 2024-03-12 22:55:46.924795: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_178' with dtype float and shape [32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_178}}]] - 2024-03-12 22:55:46.924829: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_179' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_179}}]] - 2024-03-12 22:55:46.924879: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_180' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_180}}]] - 2024-03-12 22:55:46.924915: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_181' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_181}}]] - 2024-03-12 22:55:46.924950: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_182' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_182}}]] - 2024-03-12 22:55:46.924984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_183' with dtype float and shape [?,?,?,512] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_183}}]] - 2024-03-12 22:55:46.925020: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_187' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_187}}]] - 2024-03-12 22:55:46.925055: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_188' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_188}}]] - 2024-03-12 22:55:46.925090: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_189' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_189}}]] - 2024-03-12 22:55:46.925124: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_190' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_190}}]] - 2024-03-12 22:55:46.925159: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_191' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_191}}]] - 2024-03-12 22:55:46.925194: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_192' with dtype float and shape [32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_192}}]] - 2024-03-12 22:55:46.925228: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_193' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_193}}]] - 2024-03-12 22:55:46.925263: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_194' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_194}}]] - 2024-03-12 22:55:46.925298: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_197' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_197}}]] - 2024-03-12 22:55:46.925333: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_198' with dtype float and shape [32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_198}}]] - 2024-03-12 22:55:46.925368: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_199' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_199}}]] - 2024-03-12 22:55:46.925402: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_200' with dtype float - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_200}}]] - 2024-03-12 22:55:46.925441: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_201' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_201}}]] - 2024-03-12 22:55:46.925478: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_202' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_202}}]] - 2024-03-12 22:55:46.925513: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_203' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block4/StatefulPartitionedCall_grad/block4/StatefulPartitionedCall_203}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:48.389526: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall}}]] - 2024-03-12 22:55:48.389618: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_1' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_1}}]] - 2024-03-12 22:55:48.389656: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_2' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_2}}]] - 2024-03-12 22:55:48.389691: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_6' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:48.389726: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_7' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_7}}]] - 2024-03-12 22:55:48.389760: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_8' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_8}}]] - 2024-03-12 22:55:48.389794: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_9' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_9}}]] - 2024-03-12 22:55:48.389827: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_10' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_10}}]] - 2024-03-12 22:55:48.389860: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_11' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_11}}]] - 2024-03-12 22:55:48.389892: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_12' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_12}}]] - 2024-03-12 22:55:48.389927: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_13' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_13}}]] - 2024-03-12 22:55:48.389959: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_16' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_16}}]] - 2024-03-12 22:55:48.389992: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_17' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_17}}]] - 2024-03-12 22:55:48.390026: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_18' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_18}}]] - 2024-03-12 22:55:48.390059: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_19' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_19}}]] - 2024-03-12 22:55:48.390092: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_20' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_20}}]] - 2024-03-12 22:55:48.390125: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_21' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_21}}]] - 2024-03-12 22:55:48.390157: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_22' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_22}}]] - 2024-03-12 22:55:48.390191: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_23' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_23}}]] - 2024-03-12 22:55:48.390223: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_25' with dtype int32 and shape [4,2] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_25}}]] - 2024-03-12 22:55:48.390255: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_26' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_26}}]] - 2024-03-12 22:55:48.390288: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_29' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_29}}]] - 2024-03-12 22:55:48.390320: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_30' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_30}}]] - 2024-03-12 22:55:48.390353: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_31' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_31}}]] - 2024-03-12 22:55:48.390385: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_32' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_32}}]] - 2024-03-12 22:55:48.390421: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_33' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_33}}]] - 2024-03-12 22:55:48.390456: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_34' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_34}}]] - 2024-03-12 22:55:48.390491: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_35' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_35}}]] - 2024-03-12 22:55:48.390525: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_38' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_38}}]] - 2024-03-12 22:55:48.390559: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_39' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_39}}]] - 2024-03-12 22:55:48.390594: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_40' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_40}}]] - 2024-03-12 22:55:48.390629: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_41' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_41}}]] - 2024-03-12 22:55:48.390663: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_42' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_42}}]] - 2024-03-12 22:55:48.390698: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_43' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_43}}]] - 2024-03-12 22:55:48.390732: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_44' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_44}}]] - 2024-03-12 22:55:48.390767: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_45' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_45}}]] - 2024-03-12 22:55:48.390801: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_46' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_46}}]] - 2024-03-12 22:55:48.390835: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_50' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_50}}]] - 2024-03-12 22:55:48.390870: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_51' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_51}}]] - 2024-03-12 22:55:48.390905: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_52' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_52}}]] - 2024-03-12 22:55:48.390939: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_53' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_53}}]] - 2024-03-12 22:55:48.390973: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_54' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_54}}]] - 2024-03-12 22:55:48.391008: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_55' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_55}}]] - 2024-03-12 22:55:48.391043: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_56' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_56}}]] - 2024-03-12 22:55:48.391077: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_57' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_57}}]] - 2024-03-12 22:55:48.391110: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_60' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_60}}]] - 2024-03-12 22:55:48.391144: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_61' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_61}}]] - 2024-03-12 22:55:48.391179: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_62' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_62}}]] - 2024-03-12 22:55:48.391213: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_63' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_63}}]] - 2024-03-12 22:55:48.391247: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_64' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_64}}]] - 2024-03-12 22:55:48.391281: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_65' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_65}}]] - 2024-03-12 22:55:48.391316: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_66' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_66}}]] - 2024-03-12 22:55:48.391350: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_67' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_67}}]] - 2024-03-12 22:55:48.391384: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_68' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_68}}]] - 2024-03-12 22:55:48.391419: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_72' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_72}}]] - 2024-03-12 22:55:48.391455: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_73' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_73}}]] - 2024-03-12 22:55:48.391490: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_74' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_74}}]] - 2024-03-12 22:55:48.391524: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_75' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_75}}]] - 2024-03-12 22:55:48.391559: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_76' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_76}}]] - 2024-03-12 22:55:48.391593: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_77' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_77}}]] - 2024-03-12 22:55:48.391628: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_78' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_78}}]] - 2024-03-12 22:55:48.391661: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_79' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_79}}]] - 2024-03-12 22:55:48.391697: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_82' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_82}}]] - 2024-03-12 22:55:48.391733: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_83' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_83}}]] - 2024-03-12 22:55:48.391768: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_84' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_84}}]] - 2024-03-12 22:55:48.391804: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_85' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_85}}]] - 2024-03-12 22:55:48.391838: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_86' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_86}}]] - 2024-03-12 22:55:48.391874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_87' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_87}}]] - 2024-03-12 22:55:48.391908: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_88' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_88}}]] - 2024-03-12 22:55:48.391943: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_89' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_89}}]] - 2024-03-12 22:55:48.391978: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_91' with dtype int32 and shape [4,2] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_91}}]] - 2024-03-12 22:55:48.392014: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_92' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_92}}]] - 2024-03-12 22:55:48.392049: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_95' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_95}}]] - 2024-03-12 22:55:48.392083: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_96' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_96}}]] - 2024-03-12 22:55:48.392118: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_97' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_97}}]] - 2024-03-12 22:55:48.392152: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_98' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_98}}]] - 2024-03-12 22:55:48.392187: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_99' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_99}}]] - 2024-03-12 22:55:48.392222: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_100' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_100}}]] - 2024-03-12 22:55:48.392257: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_101' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_101}}]] - 2024-03-12 22:55:48.392292: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_104' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_104}}]] - 2024-03-12 22:55:48.392337: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_105' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_105}}]] - 2024-03-12 22:55:48.392371: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_106' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_106}}]] - 2024-03-12 22:55:48.392404: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_107' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_107}}]] - 2024-03-12 22:55:48.392438: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_108' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_108}}]] - 2024-03-12 22:55:48.392471: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_109' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_109}}]] - 2024-03-12 22:55:48.392505: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_110' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_110}}]] - 2024-03-12 22:55:48.392538: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_111' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_111}}]] - 2024-03-12 22:55:48.392571: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_112' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_112}}]] - 2024-03-12 22:55:48.392605: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_116' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_116}}]] - 2024-03-12 22:55:48.392639: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_117' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_117}}]] - 2024-03-12 22:55:48.392672: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_118' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_118}}]] - 2024-03-12 22:55:48.392706: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_119' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_119}}]] - 2024-03-12 22:55:48.392740: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_120' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_120}}]] - 2024-03-12 22:55:48.392773: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_121' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_121}}]] - 2024-03-12 22:55:48.392806: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_122' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_122}}]] - 2024-03-12 22:55:48.392840: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_123' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_123}}]] - 2024-03-12 22:55:48.392874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_126' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_126}}]] - 2024-03-12 22:55:48.392908: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_127' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_127}}]] - 2024-03-12 22:55:48.392941: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_128' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_128}}]] - 2024-03-12 22:55:48.392974: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_129' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_129}}]] - 2024-03-12 22:55:48.393008: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_130' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_130}}]] - 2024-03-12 22:55:48.393042: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_131' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_131}}]] - 2024-03-12 22:55:48.393076: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_132' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_132}}]] - 2024-03-12 22:55:48.393110: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_133' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_133}}]] - 2024-03-12 22:55:48.393143: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_134' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_134}}]] - 2024-03-12 22:55:48.393176: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_138' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_138}}]] - 2024-03-12 22:55:48.393210: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_139' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_139}}]] - 2024-03-12 22:55:48.393244: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_140' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_140}}]] - 2024-03-12 22:55:48.393277: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_141' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_141}}]] - 2024-03-12 22:55:48.393310: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_142' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_142}}]] - 2024-03-12 22:55:48.393344: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_143' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_143}}]] - 2024-03-12 22:55:48.393378: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_144' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_144}}]] - 2024-03-12 22:55:48.393411: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_145' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_145}}]] - 2024-03-12 22:55:48.393449: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_148' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_148}}]] - 2024-03-12 22:55:48.393501: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_149' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_149}}]] - 2024-03-12 22:55:48.393537: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_150' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_150}}]] - 2024-03-12 22:55:48.393572: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_151' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_151}}]] - 2024-03-12 22:55:48.393621: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_152' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_152}}]] - 2024-03-12 22:55:48.393655: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_153' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_153}}]] - 2024-03-12 22:55:48.393689: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_154' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_154}}]] - 2024-03-12 22:55:48.393722: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_155' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_155}}]] - 2024-03-12 22:55:48.393756: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_157' with dtype int32 and shape [4,2] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_157}}]] - 2024-03-12 22:55:48.393789: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_158' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_158}}]] - 2024-03-12 22:55:48.393828: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_161' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_161}}]] - 2024-03-12 22:55:48.393864: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_162' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_162}}]] - 2024-03-12 22:55:48.393900: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_163' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_163}}]] - 2024-03-12 22:55:48.393935: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_164' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_164}}]] - 2024-03-12 22:55:48.393970: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_165' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_165}}]] - 2024-03-12 22:55:48.394006: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_166' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_166}}]] - 2024-03-12 22:55:48.394041: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_167' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_167}}]] - 2024-03-12 22:55:48.394078: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_170' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_170}}]] - 2024-03-12 22:55:48.394114: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_171' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_171}}]] - 2024-03-12 22:55:48.394149: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_172' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_172}}]] - 2024-03-12 22:55:48.394185: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_173' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_173}}]] - 2024-03-12 22:55:48.394221: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_174' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_174}}]] - 2024-03-12 22:55:48.394257: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_175' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_175}}]] - 2024-03-12 22:55:48.394292: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_176' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_176}}]] - 2024-03-12 22:55:48.394328: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_177' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_177}}]] - 2024-03-12 22:55:48.394363: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_178' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_178}}]] - 2024-03-12 22:55:48.394399: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_182' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_182}}]] - 2024-03-12 22:55:48.394435: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_183' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_183}}]] - 2024-03-12 22:55:48.394471: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_184' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_184}}]] - 2024-03-12 22:55:48.394506: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_185' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_185}}]] - 2024-03-12 22:55:48.394542: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_186' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_186}}]] - 2024-03-12 22:55:48.394578: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_187' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_187}}]] - 2024-03-12 22:55:48.394613: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_188' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_188}}]] - 2024-03-12 22:55:48.394659: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_189' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_189}}]] - 2024-03-12 22:55:48.394694: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_192' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_192}}]] - 2024-03-12 22:55:48.394729: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_193' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_193}}]] - 2024-03-12 22:55:48.394764: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_194' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_194}}]] - 2024-03-12 22:55:48.394799: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_195' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_195}}]] - 2024-03-12 22:55:48.394834: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_196' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_196}}]] - 2024-03-12 22:55:48.394869: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_197' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_197}}]] - 2024-03-12 22:55:48.394903: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_198' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_198}}]] - 2024-03-12 22:55:48.394938: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_199' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_199}}]] - 2024-03-12 22:55:48.394974: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_200' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_200}}]] - 2024-03-12 22:55:48.395009: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_204' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_204}}]] - 2024-03-12 22:55:48.395043: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_205' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_205}}]] - 2024-03-12 22:55:48.395078: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_206' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_206}}]] - 2024-03-12 22:55:48.395113: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_207' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_207}}]] - 2024-03-12 22:55:48.395148: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_208' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_208}}]] - 2024-03-12 22:55:48.395183: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_209' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_209}}]] - 2024-03-12 22:55:48.395217: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_210' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_210}}]] - 2024-03-12 22:55:48.395251: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_211' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_211}}]] - 2024-03-12 22:55:48.395286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_214' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_214}}]] - 2024-03-12 22:55:48.395321: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_215' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_215}}]] - 2024-03-12 22:55:48.395356: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_216' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_216}}]] - 2024-03-12 22:55:48.395391: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_217' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_217}}]] - 2024-03-12 22:55:48.395425: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_218' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_218}}]] - 2024-03-12 22:55:48.395460: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_219' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_219}}]] - 2024-03-12 22:55:48.395495: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_220' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_220}}]] - 2024-03-12 22:55:48.395530: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_221' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_221}}]] - 2024-03-12 22:55:48.395565: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_223' with dtype int32 and shape [4,2] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_223}}]] - 2024-03-12 22:55:48.395601: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_224' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_224}}]] - 2024-03-12 22:55:48.395635: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_227' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_227}}]] - 2024-03-12 22:55:48.395670: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_228' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_228}}]] - 2024-03-12 22:55:48.395705: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_229' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_229}}]] - 2024-03-12 22:55:48.395740: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_230' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_230}}]] - 2024-03-12 22:55:48.395775: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_231' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_231}}]] - 2024-03-12 22:55:48.395810: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_232' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_232}}]] - 2024-03-12 22:55:48.395845: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_233' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_233}}]] - 2024-03-12 22:55:48.395879: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_236' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_236}}]] - 2024-03-12 22:55:48.395914: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_237' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_237}}]] - 2024-03-12 22:55:48.395950: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_238' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_238}}]] - 2024-03-12 22:55:48.395984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_239' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_239}}]] - 2024-03-12 22:55:48.396019: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_240' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_240}}]] - 2024-03-12 22:55:48.396054: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_241' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_241}}]] - 2024-03-12 22:55:48.396088: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_242' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_242}}]] - 2024-03-12 22:55:48.396122: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_243' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_243}}]] - 2024-03-12 22:55:48.396157: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_244' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_244}}]] - 2024-03-12 22:55:48.396193: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_248' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_248}}]] - 2024-03-12 22:55:48.396229: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_249' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_249}}]] - 2024-03-12 22:55:48.396263: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_250' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_250}}]] - 2024-03-12 22:55:48.396298: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_251' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_251}}]] - 2024-03-12 22:55:48.396332: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_252' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_252}}]] - 2024-03-12 22:55:48.396368: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_253' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_253}}]] - 2024-03-12 22:55:48.396403: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_254' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_254}}]] - 2024-03-12 22:55:48.396437: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_255' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_255}}]] - 2024-03-12 22:55:48.396472: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_258' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_258}}]] - 2024-03-12 22:55:48.396508: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_259' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_259}}]] - 2024-03-12 22:55:48.396543: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_260' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_260}}]] - 2024-03-12 22:55:48.396578: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_261' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_261}}]] - 2024-03-12 22:55:48.396613: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_262' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_262}}]] - 2024-03-12 22:55:48.396648: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_263' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_263}}]] - 2024-03-12 22:55:48.396682: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_264' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_264}}]] - 2024-03-12 22:55:48.396716: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_265' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_265}}]] - 2024-03-12 22:55:48.396750: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_266' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_266}}]] - 2024-03-12 22:55:48.396785: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_270' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_270}}]] - 2024-03-12 22:55:48.396818: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_271' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_271}}]] - 2024-03-12 22:55:48.396852: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_272' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_272}}]] - 2024-03-12 22:55:48.396887: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_273' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_273}}]] - 2024-03-12 22:55:48.396922: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_274' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_274}}]] - 2024-03-12 22:55:48.396958: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_275' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_275}}]] - 2024-03-12 22:55:48.396994: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_276' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_276}}]] - 2024-03-12 22:55:48.397030: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_277' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_277}}]] - 2024-03-12 22:55:48.397064: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_280' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_280}}]] - 2024-03-12 22:55:48.397099: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_281' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_281}}]] - 2024-03-12 22:55:48.397134: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_282' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_282}}]] - 2024-03-12 22:55:48.397169: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_283' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_283}}]] - 2024-03-12 22:55:48.397204: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_284' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_284}}]] - 2024-03-12 22:55:48.397239: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_285' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_285}}]] - 2024-03-12 22:55:48.397274: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_286' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_286}}]] - 2024-03-12 22:55:48.397308: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_287' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_287}}]] - 2024-03-12 22:55:48.397343: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_289' with dtype int32 and shape [4,2] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_289}}]] - 2024-03-12 22:55:48.397378: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_290' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_290}}]] - 2024-03-12 22:55:48.397412: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_293' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_293}}]] - 2024-03-12 22:55:48.397465: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_294' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_294}}]] - 2024-03-12 22:55:48.397501: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_295' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_295}}]] - 2024-03-12 22:55:48.397536: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_296' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_296}}]] - 2024-03-12 22:55:48.397571: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_297' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_297}}]] - 2024-03-12 22:55:48.397607: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_298' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_298}}]] - 2024-03-12 22:55:48.397642: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_299' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_299}}]] - 2024-03-12 22:55:48.397676: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_302' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_302}}]] - 2024-03-12 22:55:48.397710: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_303' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_303}}]] - 2024-03-12 22:55:48.397745: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_304' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_304}}]] - 2024-03-12 22:55:48.397780: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_305' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_305}}]] - 2024-03-12 22:55:48.397815: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_306' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_306}}]] - 2024-03-12 22:55:48.397851: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_307' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_307}}]] - 2024-03-12 22:55:48.397885: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_308' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_308}}]] - 2024-03-12 22:55:48.397919: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_309' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_309}}]] - 2024-03-12 22:55:48.397953: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_310' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_310}}]] - 2024-03-12 22:55:48.397988: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_314' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_314}}]] - 2024-03-12 22:55:48.398023: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_315' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_315}}]] - 2024-03-12 22:55:48.398057: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_316' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_316}}]] - 2024-03-12 22:55:48.398091: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_317' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_317}}]] - 2024-03-12 22:55:48.398126: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_318' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_318}}]] - 2024-03-12 22:55:48.398160: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_319' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_319}}]] - 2024-03-12 22:55:48.398195: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_320' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_320}}]] - 2024-03-12 22:55:48.398229: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_321' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_321}}]] - 2024-03-12 22:55:48.398263: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_324' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_324}}]] - 2024-03-12 22:55:48.398298: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_325' with dtype float and shape [32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_325}}]] - 2024-03-12 22:55:48.398332: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_326' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_326}}]] - 2024-03-12 22:55:48.398366: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_327' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_327}}]] - 2024-03-12 22:55:48.398400: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_328' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_328}}]] - 2024-03-12 22:55:48.398435: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_329' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_329}}]] - 2024-03-12 22:55:48.398470: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_330' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_330}}]] - 2024-03-12 22:55:48.398503: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_331' with dtype float and shape [?,?,?,1024] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_331}}]] - 2024-03-12 22:55:48.398537: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_332' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_332}}]] - 2024-03-12 22:55:48.398572: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_334' with dtype float and shape [?,?,?,512] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_334}}]] - 2024-03-12 22:55:48.398607: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_340' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_340}}]] - 2024-03-12 22:55:48.398642: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_341' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_341}}]] - 2024-03-12 22:55:48.398676: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_342' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_342}}]] - 2024-03-12 22:55:48.398712: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_343' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_343}}]] - 2024-03-12 22:55:48.398747: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_344' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_344}}]] - 2024-03-12 22:55:48.398781: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_345' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_345}}]] - 2024-03-12 22:55:48.398815: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_346' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_346}}]] - 2024-03-12 22:55:48.398849: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_347' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_347}}]] - 2024-03-12 22:55:48.398884: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_352' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_352}}]] - 2024-03-12 22:55:48.398919: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_353' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_353}}]] - 2024-03-12 22:55:48.398953: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_354' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_354}}]] - 2024-03-12 22:55:48.398987: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_355' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_355}}]] - 2024-03-12 22:55:48.399022: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_356' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_356}}]] - 2024-03-12 22:55:48.399056: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_357' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_357}}]] - 2024-03-12 22:55:48.399091: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_358' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_358}}]] - 2024-03-12 22:55:48.399125: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_359' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_359}}]] - 2024-03-12 22:55:48.399160: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_361' with dtype int32 and shape [4,2] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_361}}]] - 2024-03-12 22:55:48.399194: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_362' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_362}}]] - 2024-03-12 22:55:48.399228: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_365' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_365}}]] - 2024-03-12 22:55:48.399263: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_366' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_366}}]] - 2024-03-12 22:55:48.399298: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_367' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_367}}]] - 2024-03-12 22:55:48.399333: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_368' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_368}}]] - 2024-03-12 22:55:48.399367: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_369' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_369}}]] - 2024-03-12 22:55:48.399401: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_370' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_370}}]] - 2024-03-12 22:55:48.399435: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_371' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_371}}]] - 2024-03-12 22:55:48.399469: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_374' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_374}}]] - 2024-03-12 22:55:48.399503: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_375' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_375}}]] - 2024-03-12 22:55:48.399537: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_376' with dtype float and shape [32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_376}}]] - 2024-03-12 22:55:48.399570: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_377' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_377}}]] - 2024-03-12 22:55:48.399605: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_378' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_378}}]] - 2024-03-12 22:55:48.399638: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_379' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_379}}]] - 2024-03-12 22:55:48.399673: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_380' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_380}}]] - 2024-03-12 22:55:48.399708: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_381' with dtype float and shape [?,?,?,256] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_381}}]] - 2024-03-12 22:55:48.399742: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_385' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_385}}]] - 2024-03-12 22:55:48.399776: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_386' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_386}}]] - 2024-03-12 22:55:48.399811: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_387' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_387}}]] - 2024-03-12 22:55:48.399845: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_388' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_388}}]] - 2024-03-12 22:55:48.399879: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_389' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_389}}]] - 2024-03-12 22:55:48.399914: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_390' with dtype float and shape [32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_390}}]] - 2024-03-12 22:55:48.399949: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_391' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_391}}]] - 2024-03-12 22:55:48.399983: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_392' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_392}}]] - 2024-03-12 22:55:48.400017: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_395' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_395}}]] - 2024-03-12 22:55:48.400051: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_396' with dtype float and shape [32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_396}}]] - 2024-03-12 22:55:48.400086: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_397' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_397}}]] - 2024-03-12 22:55:48.400121: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_398' with dtype float - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_398}}]] - 2024-03-12 22:55:48.400156: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_399' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_399}}]] - 2024-03-12 22:55:48.400190: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_400' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_400}}]] - 2024-03-12 22:55:48.400224: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_401' with dtype float and shape [?,?,?,512] - [[{{node gradients/block3/StatefulPartitionedCall_grad/block3/StatefulPartitionedCall_401}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:49.391775: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall}}]] - 2024-03-12 22:55:49.391848: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_1' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_1}}]] - 2024-03-12 22:55:49.391885: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_2' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_2}}]] - 2024-03-12 22:55:49.391919: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_6' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:49.391951: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_7' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_7}}]] - 2024-03-12 22:55:49.391982: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_8' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_8}}]] - 2024-03-12 22:55:49.392029: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_9' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_9}}]] - 2024-03-12 22:55:49.392062: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_10' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_10}}]] - 2024-03-12 22:55:49.392094: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_11' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_11}}]] - 2024-03-12 22:55:49.392126: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_12' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_12}}]] - 2024-03-12 22:55:49.392158: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_13' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_13}}]] - 2024-03-12 22:55:49.392193: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_16' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_16}}]] - 2024-03-12 22:55:49.392225: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_17' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_17}}]] - 2024-03-12 22:55:49.392257: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_18' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_18}}]] - 2024-03-12 22:55:49.392289: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_19' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_19}}]] - 2024-03-12 22:55:49.392322: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_20' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_20}}]] - 2024-03-12 22:55:49.392354: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_21' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_21}}]] - 2024-03-12 22:55:49.392385: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_22' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_22}}]] - 2024-03-12 22:55:49.392417: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_23' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_23}}]] - 2024-03-12 22:55:49.392451: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_25' with dtype int32 and shape [4,2] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_25}}]] - 2024-03-12 22:55:49.392483: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_26' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_26}}]] - 2024-03-12 22:55:49.392516: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_29' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_29}}]] - 2024-03-12 22:55:49.392548: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_30' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_30}}]] - 2024-03-12 22:55:49.392579: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_31' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_31}}]] - 2024-03-12 22:55:49.392612: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_32' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_32}}]] - 2024-03-12 22:55:49.392648: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_33' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_33}}]] - 2024-03-12 22:55:49.392683: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_34' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_34}}]] - 2024-03-12 22:55:49.392717: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_35' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_35}}]] - 2024-03-12 22:55:49.392752: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_38' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_38}}]] - 2024-03-12 22:55:49.392786: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_39' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_39}}]] - 2024-03-12 22:55:49.392820: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_40' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_40}}]] - 2024-03-12 22:55:49.392854: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_41' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_41}}]] - 2024-03-12 22:55:49.392888: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_42' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_42}}]] - 2024-03-12 22:55:49.392922: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_43' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_43}}]] - 2024-03-12 22:55:49.392956: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_44' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_44}}]] - 2024-03-12 22:55:49.392991: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_45' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_45}}]] - 2024-03-12 22:55:49.393025: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_46' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_46}}]] - 2024-03-12 22:55:49.393060: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_50' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_50}}]] - 2024-03-12 22:55:49.393093: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_51' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_51}}]] - 2024-03-12 22:55:49.393127: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_52' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_52}}]] - 2024-03-12 22:55:49.393162: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_53' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_53}}]] - 2024-03-12 22:55:49.393196: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_54' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_54}}]] - 2024-03-12 22:55:49.393229: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_55' with dtype float and shape [32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_55}}]] - 2024-03-12 22:55:49.393264: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_56' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_56}}]] - 2024-03-12 22:55:49.393297: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_57' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_57}}]] - 2024-03-12 22:55:49.393332: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_60' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_60}}]] - 2024-03-12 22:55:49.393367: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_61' with dtype float and shape [32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_61}}]] - 2024-03-12 22:55:49.393400: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_62' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_62}}]] - 2024-03-12 22:55:49.393439: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_63' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_63}}]] - 2024-03-12 22:55:49.393475: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_64' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_64}}]] - 2024-03-12 22:55:49.393510: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_65' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_65}}]] - 2024-03-12 22:55:49.393543: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_66' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_66}}]] - 2024-03-12 22:55:49.393578: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_67' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_67}}]] - 2024-03-12 22:55:49.393612: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_68' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_68}}]] - 2024-03-12 22:55:49.393645: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_72' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_72}}]] - 2024-03-12 22:55:49.393679: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_73' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_73}}]] - 2024-03-12 22:55:49.393713: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_74' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_74}}]] - 2024-03-12 22:55:49.393746: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_75' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_75}}]] - 2024-03-12 22:55:49.393781: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_76' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_76}}]] - 2024-03-12 22:55:49.393814: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_77' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_77}}]] - 2024-03-12 22:55:49.393849: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_78' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_78}}]] - 2024-03-12 22:55:49.393883: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_79' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_79}}]] - 2024-03-12 22:55:49.393916: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_82' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_82}}]] - 2024-03-12 22:55:49.393950: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_83' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_83}}]] - 2024-03-12 22:55:49.393984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_84' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_84}}]] - 2024-03-12 22:55:49.394018: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_85' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_85}}]] - 2024-03-12 22:55:49.394052: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_86' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_86}}]] - 2024-03-12 22:55:49.394086: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_87' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_87}}]] - 2024-03-12 22:55:49.394121: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_88' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_88}}]] - 2024-03-12 22:55:49.394155: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_89' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_89}}]] - 2024-03-12 22:55:49.394190: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_91' with dtype int32 and shape [4,2] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_91}}]] - 2024-03-12 22:55:49.394223: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_92' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_92}}]] - 2024-03-12 22:55:49.394257: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_95' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_95}}]] - 2024-03-12 22:55:49.394291: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_96' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_96}}]] - 2024-03-12 22:55:49.394325: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_97' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_97}}]] - 2024-03-12 22:55:49.394359: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_98' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_98}}]] - 2024-03-12 22:55:49.394394: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_99' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_99}}]] - 2024-03-12 22:55:49.394428: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_100' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_100}}]] - 2024-03-12 22:55:49.394463: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_101' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_101}}]] - 2024-03-12 22:55:49.394497: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_104' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_104}}]] - 2024-03-12 22:55:49.394531: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_105' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_105}}]] - 2024-03-12 22:55:49.394565: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_106' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_106}}]] - 2024-03-12 22:55:49.394609: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_107' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_107}}]] - 2024-03-12 22:55:49.394642: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_108' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_108}}]] - 2024-03-12 22:55:49.394675: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_109' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_109}}]] - 2024-03-12 22:55:49.394708: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_110' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_110}}]] - 2024-03-12 22:55:49.394741: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_111' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_111}}]] - 2024-03-12 22:55:49.394774: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_112' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_112}}]] - 2024-03-12 22:55:49.394808: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_116' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_116}}]] - 2024-03-12 22:55:49.394841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_117' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_117}}]] - 2024-03-12 22:55:49.394874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_118' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_118}}]] - 2024-03-12 22:55:49.394906: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_119' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_119}}]] - 2024-03-12 22:55:49.394939: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_120' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_120}}]] - 2024-03-12 22:55:49.394972: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_121' with dtype float and shape [32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_121}}]] - 2024-03-12 22:55:49.395004: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_122' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_122}}]] - 2024-03-12 22:55:49.395036: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_123' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_123}}]] - 2024-03-12 22:55:49.395069: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_126' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_126}}]] - 2024-03-12 22:55:49.395101: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_127' with dtype float and shape [32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_127}}]] - 2024-03-12 22:55:49.395133: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_128' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_128}}]] - 2024-03-12 22:55:49.395165: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_129' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_129}}]] - 2024-03-12 22:55:49.395198: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_130' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_130}}]] - 2024-03-12 22:55:49.395231: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_131' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_131}}]] - 2024-03-12 22:55:49.395263: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_132' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_132}}]] - 2024-03-12 22:55:49.395295: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_133' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_133}}]] - 2024-03-12 22:55:49.395328: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_134' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_134}}]] - 2024-03-12 22:55:49.395360: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_138' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_138}}]] - 2024-03-12 22:55:49.395393: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_139' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_139}}]] - 2024-03-12 22:55:49.395426: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_140' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_140}}]] - 2024-03-12 22:55:49.395458: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_141' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_141}}]] - 2024-03-12 22:55:49.395490: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_142' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_142}}]] - 2024-03-12 22:55:49.395522: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_143' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_143}}]] - 2024-03-12 22:55:49.395555: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_144' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_144}}]] - 2024-03-12 22:55:49.395587: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_145' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_145}}]] - 2024-03-12 22:55:49.395619: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_148' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_148}}]] - 2024-03-12 22:55:49.395652: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_149' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_149}}]] - 2024-03-12 22:55:49.395685: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_150' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_150}}]] - 2024-03-12 22:55:49.395717: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_151' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_151}}]] - 2024-03-12 22:55:49.395749: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_152' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_152}}]] - 2024-03-12 22:55:49.395782: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_153' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_153}}]] - 2024-03-12 22:55:49.395814: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_154' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_154}}]] - 2024-03-12 22:55:49.395847: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_155' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_155}}]] - 2024-03-12 22:55:49.395879: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_157' with dtype int32 and shape [4,2] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_157}}]] - 2024-03-12 22:55:49.395912: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_158' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_158}}]] - 2024-03-12 22:55:49.395945: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_161' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_161}}]] - 2024-03-12 22:55:49.395978: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_162' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_162}}]] - 2024-03-12 22:55:49.396011: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_163' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_163}}]] - 2024-03-12 22:55:49.396043: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_164' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_164}}]] - 2024-03-12 22:55:49.396075: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_165' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_165}}]] - 2024-03-12 22:55:49.396108: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_166' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_166}}]] - 2024-03-12 22:55:49.396140: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_167' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_167}}]] - 2024-03-12 22:55:49.396189: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_170' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_170}}]] - 2024-03-12 22:55:49.396223: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_171' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_171}}]] - 2024-03-12 22:55:49.396257: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_172' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_172}}]] - 2024-03-12 22:55:49.396291: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_173' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_173}}]] - 2024-03-12 22:55:49.396325: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_174' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_174}}]] - 2024-03-12 22:55:49.396359: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_175' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_175}}]] - 2024-03-12 22:55:49.396393: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_176' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_176}}]] - 2024-03-12 22:55:49.396427: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_177' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_177}}]] - 2024-03-12 22:55:49.396461: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_178' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_178}}]] - 2024-03-12 22:55:49.396495: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_182' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_182}}]] - 2024-03-12 22:55:49.396529: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_183' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_183}}]] - 2024-03-12 22:55:49.396563: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_184' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_184}}]] - 2024-03-12 22:55:49.396597: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_185' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_185}}]] - 2024-03-12 22:55:49.396631: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_186' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_186}}]] - 2024-03-12 22:55:49.396665: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_187' with dtype float and shape [32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_187}}]] - 2024-03-12 22:55:49.396699: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_188' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_188}}]] - 2024-03-12 22:55:49.396732: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_189' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_189}}]] - 2024-03-12 22:55:49.396766: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_192' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_192}}]] - 2024-03-12 22:55:49.396800: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_193' with dtype float and shape [32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_193}}]] - 2024-03-12 22:55:49.396833: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_194' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_194}}]] - 2024-03-12 22:55:49.396867: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_195' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_195}}]] - 2024-03-12 22:55:49.396901: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_196' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_196}}]] - 2024-03-12 22:55:49.396935: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_197' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_197}}]] - 2024-03-12 22:55:49.396969: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_198' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_198}}]] - 2024-03-12 22:55:49.397003: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_199' with dtype float and shape [?,?,?,512] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_199}}]] - 2024-03-12 22:55:49.397037: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_200' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_200}}]] - 2024-03-12 22:55:49.397071: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_202' with dtype float and shape [?,?,?,256] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_202}}]] - 2024-03-12 22:55:49.397105: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_208' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_208}}]] - 2024-03-12 22:55:49.397140: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_209' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_209}}]] - 2024-03-12 22:55:49.397174: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_210' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_210}}]] - 2024-03-12 22:55:49.397208: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_211' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_211}}]] - 2024-03-12 22:55:49.397242: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_212' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_212}}]] - 2024-03-12 22:55:49.397276: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_213' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_213}}]] - 2024-03-12 22:55:49.397310: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_214' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_214}}]] - 2024-03-12 22:55:49.397345: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_215' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_215}}]] - 2024-03-12 22:55:49.397389: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_220' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_220}}]] - 2024-03-12 22:55:49.397421: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_221' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_221}}]] - 2024-03-12 22:55:49.397459: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_222' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_222}}]] - 2024-03-12 22:55:49.397510: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_223' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_223}}]] - 2024-03-12 22:55:49.397545: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_224' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_224}}]] - 2024-03-12 22:55:49.397580: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_225' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_225}}]] - 2024-03-12 22:55:49.397614: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_226' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_226}}]] - 2024-03-12 22:55:49.397648: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_227' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_227}}]] - 2024-03-12 22:55:49.397683: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_229' with dtype int32 and shape [4,2] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_229}}]] - 2024-03-12 22:55:49.397717: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_230' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_230}}]] - 2024-03-12 22:55:49.397751: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_233' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_233}}]] - 2024-03-12 22:55:49.397785: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_234' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_234}}]] - 2024-03-12 22:55:49.397819: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_235' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_235}}]] - 2024-03-12 22:55:49.397853: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_236' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_236}}]] - 2024-03-12 22:55:49.397888: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_237' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_237}}]] - 2024-03-12 22:55:49.397922: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_238' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_238}}]] - 2024-03-12 22:55:49.397957: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_239' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_239}}]] - 2024-03-12 22:55:49.397990: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_242' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_242}}]] - 2024-03-12 22:55:49.398024: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_243' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_243}}]] - 2024-03-12 22:55:49.398059: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_244' with dtype float and shape [32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_244}}]] - 2024-03-12 22:55:49.398093: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_245' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_245}}]] - 2024-03-12 22:55:49.398128: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_246' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_246}}]] - 2024-03-12 22:55:49.398162: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_247' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_247}}]] - 2024-03-12 22:55:49.398196: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_248' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_248}}]] - 2024-03-12 22:55:49.398231: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_249' with dtype float and shape [?,?,?,128] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_249}}]] - 2024-03-12 22:55:49.398265: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_253' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_253}}]] - 2024-03-12 22:55:49.398299: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_254' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_254}}]] - 2024-03-12 22:55:49.398333: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_255' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_255}}]] - 2024-03-12 22:55:49.398368: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_256' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_256}}]] - 2024-03-12 22:55:49.398402: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_257' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_257}}]] - 2024-03-12 22:55:49.398437: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_258' with dtype float and shape [32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_258}}]] - 2024-03-12 22:55:49.398472: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_259' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_259}}]] - 2024-03-12 22:55:49.398506: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_260' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_260}}]] - 2024-03-12 22:55:49.398540: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_263' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_263}}]] - 2024-03-12 22:55:49.398574: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_264' with dtype float and shape [32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_264}}]] - 2024-03-12 22:55:49.398608: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_265' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_265}}]] - 2024-03-12 22:55:49.398643: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_266' with dtype float - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_266}}]] - 2024-03-12 22:55:49.398677: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_267' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_267}}]] - 2024-03-12 22:55:49.398722: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_268' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_268}}]] - 2024-03-12 22:55:49.398755: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_269' with dtype float and shape [?,?,?,256] - [[{{node gradients/block2/StatefulPartitionedCall_grad/block2/StatefulPartitionedCall_269}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:50.151184: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall}}]] - 2024-03-12 22:55:50.151258: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_1' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_1}}]] - 2024-03-12 22:55:50.151295: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_2' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_2}}]] - 2024-03-12 22:55:50.151328: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_6' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:50.151359: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_7' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_7}}]] - 2024-03-12 22:55:50.151391: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_8' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_8}}]] - 2024-03-12 22:55:50.151438: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_9' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_9}}]] - 2024-03-12 22:55:50.151471: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_10' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_10}}]] - 2024-03-12 22:55:50.151503: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_11' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_11}}]] - 2024-03-12 22:55:50.151536: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_12' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_12}}]] - 2024-03-12 22:55:50.151568: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_13' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_13}}]] - 2024-03-12 22:55:50.151601: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_16' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_16}}]] - 2024-03-12 22:55:50.151633: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_17' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_17}}]] - 2024-03-12 22:55:50.151664: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_18' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_18}}]] - 2024-03-12 22:55:50.151696: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_19' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_19}}]] - 2024-03-12 22:55:50.151729: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_20' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_20}}]] - 2024-03-12 22:55:50.151761: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_21' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_21}}]] - 2024-03-12 22:55:50.151792: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_22' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_22}}]] - 2024-03-12 22:55:50.151824: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_23' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_23}}]] - 2024-03-12 22:55:50.151857: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_25' with dtype int32 and shape [4,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_25}}]] - 2024-03-12 22:55:50.151889: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_26' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_26}}]] - 2024-03-12 22:55:50.151920: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_29' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_29}}]] - 2024-03-12 22:55:50.151951: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_30' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_30}}]] - 2024-03-12 22:55:50.151983: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_31' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_31}}]] - 2024-03-12 22:55:50.152014: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_32' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_32}}]] - 2024-03-12 22:55:50.152046: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_33' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_33}}]] - 2024-03-12 22:55:50.152081: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_34' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_34}}]] - 2024-03-12 22:55:50.152115: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_35' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_35}}]] - 2024-03-12 22:55:50.152150: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_38' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_38}}]] - 2024-03-12 22:55:50.152183: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_39' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_39}}]] - 2024-03-12 22:55:50.152217: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_40' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_40}}]] - 2024-03-12 22:55:50.152251: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_41' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_41}}]] - 2024-03-12 22:55:50.152284: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_42' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_42}}]] - 2024-03-12 22:55:50.152318: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_43' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_43}}]] - 2024-03-12 22:55:50.152351: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_44' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_44}}]] - 2024-03-12 22:55:50.152385: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_45' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_45}}]] - 2024-03-12 22:55:50.152419: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_46' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_46}}]] - 2024-03-12 22:55:50.152453: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_50' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_50}}]] - 2024-03-12 22:55:50.152486: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_51' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_51}}]] - 2024-03-12 22:55:50.152521: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_52' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_52}}]] - 2024-03-12 22:55:50.152555: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_53' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_53}}]] - 2024-03-12 22:55:50.152588: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_54' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_54}}]] - 2024-03-12 22:55:50.152622: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_55' with dtype float and shape [32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_55}}]] - 2024-03-12 22:55:50.152656: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_56' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_56}}]] - 2024-03-12 22:55:50.152689: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_57' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_57}}]] - 2024-03-12 22:55:50.152723: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_60' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_60}}]] - 2024-03-12 22:55:50.152757: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_61' with dtype float and shape [32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_61}}]] - 2024-03-12 22:55:50.152791: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_62' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_62}}]] - 2024-03-12 22:55:50.152824: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_63' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_63}}]] - 2024-03-12 22:55:50.152858: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_64' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_64}}]] - 2024-03-12 22:55:50.152892: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_65' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_65}}]] - 2024-03-12 22:55:50.152926: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_66' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_66}}]] - 2024-03-12 22:55:50.152959: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_67' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_67}}]] - 2024-03-12 22:55:50.152992: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_68' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_68}}]] - 2024-03-12 22:55:50.153036: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_72' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_72}}]] - 2024-03-12 22:55:50.153069: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_73' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_73}}]] - 2024-03-12 22:55:50.153101: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_74' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_74}}]] - 2024-03-12 22:55:50.153133: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_75' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_75}}]] - 2024-03-12 22:55:50.153166: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_76' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_76}}]] - 2024-03-12 22:55:50.153198: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_77' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_77}}]] - 2024-03-12 22:55:50.153230: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_78' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_78}}]] - 2024-03-12 22:55:50.153262: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_79' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_79}}]] - 2024-03-12 22:55:50.153295: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_82' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_82}}]] - 2024-03-12 22:55:50.153327: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_83' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_83}}]] - 2024-03-12 22:55:50.153359: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_84' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_84}}]] - 2024-03-12 22:55:50.153392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_85' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_85}}]] - 2024-03-12 22:55:50.153425: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_86' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_86}}]] - 2024-03-12 22:55:50.153479: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_87' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_87}}]] - 2024-03-12 22:55:50.153514: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_88' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_88}}]] - 2024-03-12 22:55:50.153549: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_89' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_89}}]] - 2024-03-12 22:55:50.153583: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_91' with dtype int32 and shape [4,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_91}}]] - 2024-03-12 22:55:50.153617: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_92' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_92}}]] - 2024-03-12 22:55:50.153651: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_95' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_95}}]] - 2024-03-12 22:55:50.153685: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_96' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_96}}]] - 2024-03-12 22:55:50.153719: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_97' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_97}}]] - 2024-03-12 22:55:50.153753: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_98' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_98}}]] - 2024-03-12 22:55:50.153787: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_99' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_99}}]] - 2024-03-12 22:55:50.153821: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_100' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_100}}]] - 2024-03-12 22:55:50.153855: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_101' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_101}}]] - 2024-03-12 22:55:50.153889: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_104' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_104}}]] - 2024-03-12 22:55:50.153923: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_105' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_105}}]] - 2024-03-12 22:55:50.153957: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_106' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_106}}]] - 2024-03-12 22:55:50.153991: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_107' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_107}}]] - 2024-03-12 22:55:50.154024: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_108' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_108}}]] - 2024-03-12 22:55:50.154057: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_109' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_109}}]] - 2024-03-12 22:55:50.154091: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_110' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_110}}]] - 2024-03-12 22:55:50.154124: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_111' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_111}}]] - 2024-03-12 22:55:50.154158: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_112' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_112}}]] - 2024-03-12 22:55:50.154191: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_116' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_116}}]] - 2024-03-12 22:55:50.154225: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_117' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_117}}]] - 2024-03-12 22:55:50.154259: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_118' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_118}}]] - 2024-03-12 22:55:50.154292: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_119' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_119}}]] - 2024-03-12 22:55:50.154326: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_120' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_120}}]] - 2024-03-12 22:55:50.154361: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_121' with dtype float and shape [32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_121}}]] - 2024-03-12 22:55:50.154395: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_122' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_122}}]] - 2024-03-12 22:55:50.154429: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_123' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_123}}]] - 2024-03-12 22:55:50.154463: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_126' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_126}}]] - 2024-03-12 22:55:50.154496: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_127' with dtype float and shape [32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_127}}]] - 2024-03-12 22:55:50.154530: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_128' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_128}}]] - 2024-03-12 22:55:50.154564: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_129' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_129}}]] - 2024-03-12 22:55:50.154597: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_130' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_130}}]] - 2024-03-12 22:55:50.154631: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_131' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_131}}]] - 2024-03-12 22:55:50.154665: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_132' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_132}}]] - 2024-03-12 22:55:50.154699: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_133' with dtype float and shape [?,?,?,256] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_133}}]] - 2024-03-12 22:55:50.154743: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_134' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_134}}]] - 2024-03-12 22:55:50.154775: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_136' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_136}}]] - 2024-03-12 22:55:50.154809: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_142' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_142}}]] - 2024-03-12 22:55:50.154841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_143' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_143}}]] - 2024-03-12 22:55:50.154874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_144' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_144}}]] - 2024-03-12 22:55:50.154906: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_145' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_145}}]] - 2024-03-12 22:55:50.154938: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_146' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_146}}]] - 2024-03-12 22:55:50.154971: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_147' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_147}}]] - 2024-03-12 22:55:50.155004: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_148' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_148}}]] - 2024-03-12 22:55:50.155037: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_149' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_149}}]] - 2024-03-12 22:55:50.155069: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_154' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_154}}]] - 2024-03-12 22:55:50.155102: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_155' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_155}}]] - 2024-03-12 22:55:50.155135: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_156' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_156}}]] - 2024-03-12 22:55:50.155167: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_157' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_157}}]] - 2024-03-12 22:55:50.155199: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_158' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_158}}]] - 2024-03-12 22:55:50.155232: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_159' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_159}}]] - 2024-03-12 22:55:50.155264: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_160' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_160}}]] - 2024-03-12 22:55:50.155297: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_161' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_161}}]] - 2024-03-12 22:55:50.155330: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_163' with dtype int32 and shape [4,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_163}}]] - 2024-03-12 22:55:50.155363: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_164' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_164}}]] - 2024-03-12 22:55:50.155395: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_167' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_167}}]] - 2024-03-12 22:55:50.155427: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_168' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_168}}]] - 2024-03-12 22:55:50.155460: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_169' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_169}}]] - 2024-03-12 22:55:50.155492: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_170' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_170}}]] - 2024-03-12 22:55:50.155525: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_171' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_171}}]] - 2024-03-12 22:55:50.155557: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_172' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_172}}]] - 2024-03-12 22:55:50.155589: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_173' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_173}}]] - 2024-03-12 22:55:50.155621: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_176' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_176}}]] - 2024-03-12 22:55:50.155654: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_177' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_177}}]] - 2024-03-12 22:55:50.155686: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_178' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_178}}]] - 2024-03-12 22:55:50.155718: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_179' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_179}}]] - 2024-03-12 22:55:50.155750: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_180' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_180}}]] - 2024-03-12 22:55:50.155782: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_181' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_181}}]] - 2024-03-12 22:55:50.155815: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_182' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_182}}]] - 2024-03-12 22:55:50.155847: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_183' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_183}}]] - 2024-03-12 22:55:50.155879: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_187' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_187}}]] - 2024-03-12 22:55:50.155911: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_188' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_188}}]] - 2024-03-12 22:55:50.155943: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_189' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_189}}]] - 2024-03-12 22:55:50.155975: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_190' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_190}}]] - 2024-03-12 22:55:50.156007: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_191' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_191}}]] - 2024-03-12 22:55:50.156040: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_192' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_192}}]] - 2024-03-12 22:55:50.156072: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_193' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_193}}]] - 2024-03-12 22:55:50.156104: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_194' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_194}}]] - 2024-03-12 22:55:50.156136: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_197' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_197}}]] - 2024-03-12 22:55:50.156169: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_198' with dtype float and shape [32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_198}}]] - 2024-03-12 22:55:50.156201: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_199' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_199}}]] - 2024-03-12 22:55:50.156234: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_200' with dtype float - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_200}}]] - 2024-03-12 22:55:50.156266: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_201' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_201}}]] - 2024-03-12 22:55:50.156298: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_202' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_202}}]] - 2024-03-12 22:55:50.156331: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_203' with dtype float and shape [?,?,?,64] - [[{{node gradients/block1/StatefulPartitionedCall_grad/block1/StatefulPartitionedCall_203}}]] - 2024-03-12 22:55:50.200639: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_2' with dtype int32 and shape [4,2] - [[{{node gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_2}}]] - 2024-03-12 22:55:50.200697: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_3' with dtype float and shape [?,?,?,64] - [[{{node gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_3}}]] - 2024-03-12 22:55:50.200734: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_4' with dtype float and shape [?,?,?,3] - [[{{node gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_4}}]] - 2024-03-12 22:55:50.200768: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_6' with dtype int32 and shape [4,2] - [[{{node gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:50.200800: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_7' with dtype float and shape [?,?,?,3] - [[{{node gradients/root_block/StatefulPartitionedCall_grad/root_block/StatefulPartitionedCall_7}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:50.677798: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall' with dtype float and shape [?,?,?,?] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall}}]] - 2024-03-12 22:55:50.677871: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1' with dtype int32 and shape [2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1}}]] - 2024-03-12 22:55:50.677911: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_4' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_4}}]] - 2024-03-12 22:55:50.677948: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_5' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_5}}]] - 2024-03-12 22:55:50.677999: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_6' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:50.678035: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_7' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_7}}]] - 2024-03-12 22:55:50.678070: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_8' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_8}}]] - 2024-03-12 22:55:50.678105: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_9' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_9}}]] - 2024-03-12 22:55:50.678142: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_10' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_10}}]] - 2024-03-12 22:55:50.678178: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_11' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_11}}]] - 2024-03-12 22:55:50.678212: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_12' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_12}}]] - 2024-03-12 22:55:50.678248: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_13' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_13}}]] - 2024-03-12 22:55:50.678284: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_14' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_14}}]] - 2024-03-12 22:55:50.678320: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_15' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_15}}]] - 2024-03-12 22:55:50.678357: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_16' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_16}}]] - 2024-03-12 22:55:50.678394: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_17' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_17}}]] - 2024-03-12 22:55:50.678429: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_18' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_18}}]] - 2024-03-12 22:55:50.678465: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_19' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_19}}]] - 2024-03-12 22:55:50.678500: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_20' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_20}}]] - 2024-03-12 22:55:50.678534: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_21' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_21}}]] - 2024-03-12 22:55:50.678571: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_25' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_25}}]] - 2024-03-12 22:55:50.678607: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_26' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_26}}]] - 2024-03-12 22:55:50.678643: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_27' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_27}}]] - 2024-03-12 22:55:50.678679: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_28' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_28}}]] - 2024-03-12 22:55:50.678717: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_29' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_29}}]] - 2024-03-12 22:55:50.678756: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_30' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_30}}]] - 2024-03-12 22:55:50.678793: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_31' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_31}}]] - 2024-03-12 22:55:50.678831: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_32' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_32}}]] - 2024-03-12 22:55:50.678869: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_35' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_35}}]] - 2024-03-12 22:55:50.678906: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_36' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_36}}]] - 2024-03-12 22:55:50.678943: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_37' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_37}}]] - 2024-03-12 22:55:50.678979: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_38' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_38}}]] - 2024-03-12 22:55:50.679018: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_39' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_39}}]] - 2024-03-12 22:55:50.679056: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_40' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_40}}]] - 2024-03-12 22:55:50.679094: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_41' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_41}}]] - 2024-03-12 22:55:50.679131: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_42' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_42}}]] - 2024-03-12 22:55:50.679168: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_44' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_44}}]] - 2024-03-12 22:55:50.679205: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_45' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_45}}]] - 2024-03-12 22:55:50.679242: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_48' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_48}}]] - 2024-03-12 22:55:50.679280: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_49' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_49}}]] - 2024-03-12 22:55:50.679317: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_50' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_50}}]] - 2024-03-12 22:55:50.679356: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_51' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_51}}]] - 2024-03-12 22:55:50.679392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_52' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_52}}]] - 2024-03-12 22:55:50.679429: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_53' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_53}}]] - 2024-03-12 22:55:50.679466: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_54' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_54}}]] - 2024-03-12 22:55:50.679503: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_57' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_57}}]] - 2024-03-12 22:55:50.679541: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_58' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_58}}]] - 2024-03-12 22:55:50.679577: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_59' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_59}}]] - 2024-03-12 22:55:50.679614: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_60' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_60}}]] - 2024-03-12 22:55:50.679650: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_61' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_61}}]] - 2024-03-12 22:55:50.679688: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_62' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_62}}]] - 2024-03-12 22:55:50.679726: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_63' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_63}}]] - 2024-03-12 22:55:50.679762: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_64' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_64}}]] - 2024-03-12 22:55:50.679799: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_65' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_65}}]] - 2024-03-12 22:55:50.679836: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_69' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_69}}]] - 2024-03-12 22:55:50.679873: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_70' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_70}}]] - 2024-03-12 22:55:50.679910: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_71' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_71}}]] - 2024-03-12 22:55:50.679947: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_72' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_72}}]] - 2024-03-12 22:55:50.679983: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_73' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_73}}]] - 2024-03-12 22:55:50.680021: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_74' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_74}}]] - 2024-03-12 22:55:50.680058: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_75' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_75}}]] - 2024-03-12 22:55:50.680095: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_76' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_76}}]] - 2024-03-12 22:55:50.680132: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_79' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_79}}]] - 2024-03-12 22:55:50.680168: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_80' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_80}}]] - 2024-03-12 22:55:50.680205: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_81' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_81}}]] - 2024-03-12 22:55:50.680242: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_82' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_82}}]] - 2024-03-12 22:55:50.680279: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_83' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_83}}]] - 2024-03-12 22:55:50.680316: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_84' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_84}}]] - 2024-03-12 22:55:50.680353: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_85' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_85}}]] - 2024-03-12 22:55:50.680390: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_86' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_86}}]] - 2024-03-12 22:55:50.680426: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_87' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_87}}]] - 2024-03-12 22:55:50.680463: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_91' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_91}}]] - 2024-03-12 22:55:50.680499: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_92' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_92}}]] - 2024-03-12 22:55:50.680536: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_93' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_93}}]] - 2024-03-12 22:55:50.680572: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_94' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_94}}]] - 2024-03-12 22:55:50.680608: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_95' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_95}}]] - 2024-03-12 22:55:50.680644: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_96' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_96}}]] - 2024-03-12 22:55:50.680680: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_97' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_97}}]] - 2024-03-12 22:55:50.680717: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_98' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_98}}]] - 2024-03-12 22:55:50.680754: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_101' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_101}}]] - 2024-03-12 22:55:50.680791: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_102' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_102}}]] - 2024-03-12 22:55:50.680829: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_103' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_103}}]] - 2024-03-12 22:55:50.680865: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_104' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_104}}]] - 2024-03-12 22:55:50.680902: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_105' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_105}}]] - 2024-03-12 22:55:50.680938: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_106' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_106}}]] - 2024-03-12 22:55:50.680976: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_107' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_107}}]] - 2024-03-12 22:55:50.681013: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_108' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_108}}]] - 2024-03-12 22:55:50.681049: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_110' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_110}}]] - 2024-03-12 22:55:50.681085: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_111' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_111}}]] - 2024-03-12 22:55:50.681122: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_114' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_114}}]] - 2024-03-12 22:55:50.681159: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_115' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_115}}]] - 2024-03-12 22:55:50.681195: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_116' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_116}}]] - 2024-03-12 22:55:50.681232: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_117' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_117}}]] - 2024-03-12 22:55:50.681269: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_118' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_118}}]] - 2024-03-12 22:55:50.681305: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_119' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_119}}]] - 2024-03-12 22:55:50.681342: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_120' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_120}}]] - 2024-03-12 22:55:50.681379: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_123' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_123}}]] - 2024-03-12 22:55:50.681417: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_124' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_124}}]] - 2024-03-12 22:55:50.681459: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_125' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_125}}]] - 2024-03-12 22:55:50.681513: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_126' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_126}}]] - 2024-03-12 22:55:50.681551: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_127' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_127}}]] - 2024-03-12 22:55:50.681588: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_128' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_128}}]] - 2024-03-12 22:55:50.681626: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_129' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_129}}]] - 2024-03-12 22:55:50.681664: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_130' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_130}}]] - 2024-03-12 22:55:50.681702: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_131' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_131}}]] - 2024-03-12 22:55:50.681740: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_135' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_135}}]] - 2024-03-12 22:55:50.681777: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_136' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_136}}]] - 2024-03-12 22:55:50.681815: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_137' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_137}}]] - 2024-03-12 22:55:50.681852: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_138' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_138}}]] - 2024-03-12 22:55:50.681891: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_139' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_139}}]] - 2024-03-12 22:55:50.681928: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_140' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_140}}]] - 2024-03-12 22:55:50.681965: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_141' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_141}}]] - 2024-03-12 22:55:50.682003: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_142' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_142}}]] - 2024-03-12 22:55:50.682041: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_145' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_145}}]] - 2024-03-12 22:55:50.682079: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_146' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_146}}]] - 2024-03-12 22:55:50.682117: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_147' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_147}}]] - 2024-03-12 22:55:50.682154: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_148' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_148}}]] - 2024-03-12 22:55:50.682193: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_149' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_149}}]] - 2024-03-12 22:55:50.682232: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_150' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_150}}]] - 2024-03-12 22:55:50.682270: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_151' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_151}}]] - 2024-03-12 22:55:50.682307: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_152' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_152}}]] - 2024-03-12 22:55:50.682344: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_153' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_153}}]] - 2024-03-12 22:55:50.682383: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_155' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_155}}]] - 2024-03-12 22:55:50.682420: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_161' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_161}}]] - 2024-03-12 22:55:50.682457: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_162' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_162}}]] - 2024-03-12 22:55:50.682495: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_163' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_163}}]] - 2024-03-12 22:55:50.682532: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_164' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_164}}]] - 2024-03-12 22:55:50.682570: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_165' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_165}}]] - 2024-03-12 22:55:50.682609: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_166' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_166}}]] - 2024-03-12 22:55:50.682646: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_167' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_167}}]] - 2024-03-12 22:55:50.682683: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_168' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_168}}]] - 2024-03-12 22:55:50.682721: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_173' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_173}}]] - 2024-03-12 22:55:50.682769: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_174' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_174}}]] - 2024-03-12 22:55:50.682805: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_175' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_175}}]] - 2024-03-12 22:55:50.682840: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_176' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_176}}]] - 2024-03-12 22:55:50.682877: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_177' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_177}}]] - 2024-03-12 22:55:50.682914: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_178' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_178}}]] - 2024-03-12 22:55:50.682951: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_179' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_179}}]] - 2024-03-12 22:55:50.682988: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_180' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_180}}]] - 2024-03-12 22:55:50.683025: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_182' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_182}}]] - 2024-03-12 22:55:50.683062: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_183' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_183}}]] - 2024-03-12 22:55:50.683099: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_186' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_186}}]] - 2024-03-12 22:55:50.683136: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_187' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_187}}]] - 2024-03-12 22:55:50.683173: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_188' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_188}}]] - 2024-03-12 22:55:50.683210: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_189' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_189}}]] - 2024-03-12 22:55:50.683247: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_190' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_190}}]] - 2024-03-12 22:55:50.683284: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_191' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_191}}]] - 2024-03-12 22:55:50.683321: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_192' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_192}}]] - 2024-03-12 22:55:50.683357: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_195' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_195}}]] - 2024-03-12 22:55:50.683394: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_196' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_196}}]] - 2024-03-12 22:55:50.683431: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_197' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_197}}]] - 2024-03-12 22:55:50.683467: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_198' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_198}}]] - 2024-03-12 22:55:50.683505: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_199' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_199}}]] - 2024-03-12 22:55:50.683542: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_200' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_200}}]] - 2024-03-12 22:55:50.683578: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_201' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_201}}]] - 2024-03-12 22:55:50.683615: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_202' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_202}}]] - 2024-03-12 22:55:50.683652: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_206' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_206}}]] - 2024-03-12 22:55:50.683689: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_207' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_207}}]] - 2024-03-12 22:55:50.683727: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_208' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_208}}]] - 2024-03-12 22:55:50.683764: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_209' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_209}}]] - 2024-03-12 22:55:50.683801: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_210' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_210}}]] - 2024-03-12 22:55:50.683839: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_211' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_211}}]] - 2024-03-12 22:55:50.683875: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_212' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_212}}]] - 2024-03-12 22:55:50.683913: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_213' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_213}}]] - 2024-03-12 22:55:50.683950: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_216' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_216}}]] - 2024-03-12 22:55:50.683987: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_217' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_217}}]] - 2024-03-12 22:55:50.684025: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_218' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_218}}]] - 2024-03-12 22:55:50.684063: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_219' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_219}}]] - 2024-03-12 22:55:50.684101: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_220' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_220}}]] - 2024-03-12 22:55:50.684138: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_221' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_221}}]] - 2024-03-12 22:55:50.684174: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_222' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_222}}]] - 2024-03-12 22:55:50.684212: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_223' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_223}}]] - 2024-03-12 22:55:50.684248: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_224' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_224}}]] - 2024-03-12 22:55:50.684286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_225' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_225}}]] - 2024-03-12 22:55:50.684323: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_229' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_229}}]] - 2024-03-12 22:55:50.684360: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_230' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_230}}]] - 2024-03-12 22:55:50.684397: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_231' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_231}}]] - 2024-03-12 22:55:50.684434: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_232' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_232}}]] - 2024-03-12 22:55:50.684472: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_233' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_233}}]] - 2024-03-12 22:55:50.684508: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_234' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_234}}]] - 2024-03-12 22:55:50.684548: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_235' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_235}}]] - 2024-03-12 22:55:50.684586: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_236' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_236}}]] - 2024-03-12 22:55:50.684622: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_239' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_239}}]] - 2024-03-12 22:55:50.684659: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_240' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_240}}]] - 2024-03-12 22:55:50.684696: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_241' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_241}}]] - 2024-03-12 22:55:50.684733: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_242' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_242}}]] - 2024-03-12 22:55:50.684771: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_243' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_243}}]] - 2024-03-12 22:55:50.684807: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_244' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_244}}]] - 2024-03-12 22:55:50.684843: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_245' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_245}}]] - 2024-03-12 22:55:50.684880: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_246' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_246}}]] - 2024-03-12 22:55:50.684917: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_248' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_248}}]] - 2024-03-12 22:55:50.684954: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_249' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_249}}]] - 2024-03-12 22:55:50.684991: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_252' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_252}}]] - 2024-03-12 22:55:50.685027: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_253' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_253}}]] - 2024-03-12 22:55:50.685064: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_254' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_254}}]] - 2024-03-12 22:55:50.685100: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_255' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_255}}]] - 2024-03-12 22:55:50.685137: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_256' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_256}}]] - 2024-03-12 22:55:50.685174: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_257' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_257}}]] - 2024-03-12 22:55:50.685211: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_258' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_258}}]] - 2024-03-12 22:55:50.685248: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_261' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_261}}]] - 2024-03-12 22:55:50.685284: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_262' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_262}}]] - 2024-03-12 22:55:50.685321: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_263' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_263}}]] - 2024-03-12 22:55:50.685358: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_264' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_264}}]] - 2024-03-12 22:55:50.685395: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_265' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_265}}]] - 2024-03-12 22:55:50.685438: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_266' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_266}}]] - 2024-03-12 22:55:50.685495: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_267' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_267}}]] - 2024-03-12 22:55:50.685532: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_268' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_268}}]] - 2024-03-12 22:55:50.685568: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_269' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_269}}]] - 2024-03-12 22:55:50.685604: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_273' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_273}}]] - 2024-03-12 22:55:50.685639: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_274' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_274}}]] - 2024-03-12 22:55:50.685675: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_275' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_275}}]] - 2024-03-12 22:55:50.685710: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_276' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_276}}]] - 2024-03-12 22:55:50.685745: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_277' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_277}}]] - 2024-03-12 22:55:50.685781: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_278' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_278}}]] - 2024-03-12 22:55:50.685817: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_279' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_279}}]] - 2024-03-12 22:55:50.685854: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_280' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_280}}]] - 2024-03-12 22:55:50.685889: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_283' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_283}}]] - 2024-03-12 22:55:50.685925: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_284' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_284}}]] - 2024-03-12 22:55:50.685959: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_285' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_285}}]] - 2024-03-12 22:55:50.685995: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_286' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_286}}]] - 2024-03-12 22:55:50.686031: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_287' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_287}}]] - 2024-03-12 22:55:50.686066: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_288' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_288}}]] - 2024-03-12 22:55:50.686101: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_289' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_289}}]] - 2024-03-12 22:55:50.686137: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_290' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_290}}]] - 2024-03-12 22:55:50.686173: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_291' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_291}}]] - 2024-03-12 22:55:50.686208: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_295' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_295}}]] - 2024-03-12 22:55:50.686243: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_296' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_296}}]] - 2024-03-12 22:55:50.686278: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_297' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_297}}]] - 2024-03-12 22:55:50.686314: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_298' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_298}}]] - 2024-03-12 22:55:50.686349: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_299' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_299}}]] - 2024-03-12 22:55:50.686385: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_300' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_300}}]] - 2024-03-12 22:55:50.686420: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_301' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_301}}]] - 2024-03-12 22:55:50.686458: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_302' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_302}}]] - 2024-03-12 22:55:50.686496: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_305' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_305}}]] - 2024-03-12 22:55:50.686534: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_306' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_306}}]] - 2024-03-12 22:55:50.686573: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_307' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_307}}]] - 2024-03-12 22:55:50.686611: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_308' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_308}}]] - 2024-03-12 22:55:50.686659: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_309' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_309}}]] - 2024-03-12 22:55:50.686696: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_310' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_310}}]] - 2024-03-12 22:55:50.686733: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_311' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_311}}]] - 2024-03-12 22:55:50.686770: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_312' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_312}}]] - 2024-03-12 22:55:50.686807: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_314' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_314}}]] - 2024-03-12 22:55:50.686844: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_315' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_315}}]] - 2024-03-12 22:55:50.686880: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_318' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_318}}]] - 2024-03-12 22:55:50.686917: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_319' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_319}}]] - 2024-03-12 22:55:50.686954: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_320' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_320}}]] - 2024-03-12 22:55:50.686990: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_321' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_321}}]] - 2024-03-12 22:55:50.687028: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_322' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_322}}]] - 2024-03-12 22:55:50.687064: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_323' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_323}}]] - 2024-03-12 22:55:50.687101: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_324' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_324}}]] - 2024-03-12 22:55:50.687138: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_327' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_327}}]] - 2024-03-12 22:55:50.687175: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_328' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_328}}]] - 2024-03-12 22:55:50.687211: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_329' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_329}}]] - 2024-03-12 22:55:50.687248: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_330' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_330}}]] - 2024-03-12 22:55:50.687286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_331' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_331}}]] - 2024-03-12 22:55:50.687324: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_332' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_332}}]] - 2024-03-12 22:55:50.687360: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_333' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_333}}]] - 2024-03-12 22:55:50.687397: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_334' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_334}}]] - 2024-03-12 22:55:50.687434: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_335' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_335}}]] - 2024-03-12 22:55:50.687472: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_339' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_339}}]] - 2024-03-12 22:55:50.687509: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_340' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_340}}]] - 2024-03-12 22:55:50.687545: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_341' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_341}}]] - 2024-03-12 22:55:50.687582: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_342' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_342}}]] - 2024-03-12 22:55:50.687619: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_343' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_343}}]] - 2024-03-12 22:55:50.687658: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_344' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_344}}]] - 2024-03-12 22:55:50.687695: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_345' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_345}}]] - 2024-03-12 22:55:50.687732: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_346' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_346}}]] - 2024-03-12 22:55:50.687768: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_349' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_349}}]] - 2024-03-12 22:55:50.687805: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_350' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_350}}]] - 2024-03-12 22:55:50.687841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_351' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_351}}]] - 2024-03-12 22:55:50.687878: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_352' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_352}}]] - 2024-03-12 22:55:50.687915: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_353' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_353}}]] - 2024-03-12 22:55:50.687952: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_354' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_354}}]] - 2024-03-12 22:55:50.687989: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_355' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_355}}]] - 2024-03-12 22:55:50.688026: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_356' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_356}}]] - 2024-03-12 22:55:50.688062: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_357' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_357}}]] - 2024-03-12 22:55:50.688098: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_361' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_361}}]] - 2024-03-12 22:55:50.688136: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_362' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_362}}]] - 2024-03-12 22:55:50.688173: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_363' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_363}}]] - 2024-03-12 22:55:50.688209: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_364' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_364}}]] - 2024-03-12 22:55:50.688245: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_365' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_365}}]] - 2024-03-12 22:55:50.688282: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_366' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_366}}]] - 2024-03-12 22:55:50.688319: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_367' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_367}}]] - 2024-03-12 22:55:50.688356: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_368' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_368}}]] - 2024-03-12 22:55:50.688393: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_371' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_371}}]] - 2024-03-12 22:55:50.688429: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_372' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_372}}]] - 2024-03-12 22:55:50.688466: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_373' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_373}}]] - 2024-03-12 22:55:50.688503: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_374' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_374}}]] - 2024-03-12 22:55:50.688540: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_375' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_375}}]] - 2024-03-12 22:55:50.688577: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_376' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_376}}]] - 2024-03-12 22:55:50.688614: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_377' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_377}}]] - 2024-03-12 22:55:50.688651: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_378' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_378}}]] - 2024-03-12 22:55:50.688688: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_380' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_380}}]] - 2024-03-12 22:55:50.688724: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_381' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_381}}]] - 2024-03-12 22:55:50.688761: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_384' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_384}}]] - 2024-03-12 22:55:50.688797: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_385' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_385}}]] - 2024-03-12 22:55:50.688834: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_386' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_386}}]] - 2024-03-12 22:55:50.688871: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_387' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_387}}]] - 2024-03-12 22:55:50.688908: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_388' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_388}}]] - 2024-03-12 22:55:50.688944: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_389' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_389}}]] - 2024-03-12 22:55:50.688981: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_390' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_390}}]] - 2024-03-12 22:55:50.689019: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_393' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_393}}]] - 2024-03-12 22:55:50.689056: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_394' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_394}}]] - 2024-03-12 22:55:50.689094: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_395' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_395}}]] - 2024-03-12 22:55:50.689130: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_396' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_396}}]] - 2024-03-12 22:55:50.689167: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_397' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_397}}]] - 2024-03-12 22:55:50.689205: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_398' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_398}}]] - 2024-03-12 22:55:50.689242: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_399' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_399}}]] - 2024-03-12 22:55:50.689279: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_400' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_400}}]] - 2024-03-12 22:55:50.689317: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_401' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_401}}]] - 2024-03-12 22:55:50.689354: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_405' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_405}}]] - 2024-03-12 22:55:50.689392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_406' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_406}}]] - 2024-03-12 22:55:50.689429: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_407' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_407}}]] - 2024-03-12 22:55:50.689488: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_408' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_408}}]] - 2024-03-12 22:55:50.689528: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_409' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_409}}]] - 2024-03-12 22:55:50.689566: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_410' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_410}}]] - 2024-03-12 22:55:50.689604: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_411' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_411}}]] - 2024-03-12 22:55:50.689642: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_412' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_412}}]] - 2024-03-12 22:55:50.689682: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_415' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_415}}]] - 2024-03-12 22:55:50.689719: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_416' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_416}}]] - 2024-03-12 22:55:50.689757: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_417' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_417}}]] - 2024-03-12 22:55:50.689793: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_418' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_418}}]] - 2024-03-12 22:55:50.689831: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_419' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_419}}]] - 2024-03-12 22:55:50.689869: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_420' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_420}}]] - 2024-03-12 22:55:50.689906: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_421' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_421}}]] - 2024-03-12 22:55:50.689944: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_422' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_422}}]] - 2024-03-12 22:55:50.689983: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_423' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_423}}]] - 2024-03-12 22:55:50.690021: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_427' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_427}}]] - 2024-03-12 22:55:50.690059: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_428' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_428}}]] - 2024-03-12 22:55:50.690097: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_429' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_429}}]] - 2024-03-12 22:55:50.690135: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_430' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_430}}]] - 2024-03-12 22:55:50.690173: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_431' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_431}}]] - 2024-03-12 22:55:50.690211: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_432' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_432}}]] - 2024-03-12 22:55:50.690248: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_433' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_433}}]] - 2024-03-12 22:55:50.690284: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_434' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_434}}]] - 2024-03-12 22:55:50.690322: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_437' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_437}}]] - 2024-03-12 22:55:50.690360: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_438' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_438}}]] - 2024-03-12 22:55:50.690399: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_439' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_439}}]] - 2024-03-12 22:55:50.690437: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_440' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_440}}]] - 2024-03-12 22:55:50.690475: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_441' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_441}}]] - 2024-03-12 22:55:50.690514: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_442' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_442}}]] - 2024-03-12 22:55:50.690551: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_443' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_443}}]] - 2024-03-12 22:55:50.690590: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_444' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_444}}]] - 2024-03-12 22:55:50.690628: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_446' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_446}}]] - 2024-03-12 22:55:50.690677: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_447' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_447}}]] - 2024-03-12 22:55:50.690723: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_450' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_450}}]] - 2024-03-12 22:55:50.690760: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_451' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_451}}]] - 2024-03-12 22:55:50.690796: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_452' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_452}}]] - 2024-03-12 22:55:50.690831: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_453' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_453}}]] - 2024-03-12 22:55:50.690868: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_454' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_454}}]] - 2024-03-12 22:55:50.690905: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_455' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_455}}]] - 2024-03-12 22:55:50.690939: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_456' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_456}}]] - 2024-03-12 22:55:50.690974: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_459' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_459}}]] - 2024-03-12 22:55:50.691010: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_460' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_460}}]] - 2024-03-12 22:55:50.691045: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_461' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_461}}]] - 2024-03-12 22:55:50.691081: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_462' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_462}}]] - 2024-03-12 22:55:50.691116: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_463' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_463}}]] - 2024-03-12 22:55:50.691154: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_464' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_464}}]] - 2024-03-12 22:55:50.691190: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_465' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_465}}]] - 2024-03-12 22:55:50.691226: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_466' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_466}}]] - 2024-03-12 22:55:50.691262: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_467' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_467}}]] - 2024-03-12 22:55:50.691298: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_471' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_471}}]] - 2024-03-12 22:55:50.691332: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_472' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_472}}]] - 2024-03-12 22:55:50.691367: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_473' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_473}}]] - 2024-03-12 22:55:50.691402: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_474' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_474}}]] - 2024-03-12 22:55:50.691439: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_475' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_475}}]] - 2024-03-12 22:55:50.691475: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_476' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_476}}]] - 2024-03-12 22:55:50.691511: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_477' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_477}}]] - 2024-03-12 22:55:50.691548: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_478' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_478}}]] - 2024-03-12 22:55:50.691584: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_481' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_481}}]] - 2024-03-12 22:55:50.691619: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_482' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_482}}]] - 2024-03-12 22:55:50.691654: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_483' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_483}}]] - 2024-03-12 22:55:50.691690: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_484' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_484}}]] - 2024-03-12 22:55:50.691726: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_485' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_485}}]] - 2024-03-12 22:55:50.691762: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_486' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_486}}]] - 2024-03-12 22:55:50.691798: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_487' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_487}}]] - 2024-03-12 22:55:50.691832: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_488' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_488}}]] - 2024-03-12 22:55:50.691867: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_489' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_489}}]] - 2024-03-12 22:55:50.691903: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_493' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_493}}]] - 2024-03-12 22:55:50.691939: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_494' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_494}}]] - 2024-03-12 22:55:50.691974: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_495' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_495}}]] - 2024-03-12 22:55:50.692009: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_496' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_496}}]] - 2024-03-12 22:55:50.692044: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_497' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_497}}]] - 2024-03-12 22:55:50.692079: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_498' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_498}}]] - 2024-03-12 22:55:50.692114: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_499' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_499}}]] - 2024-03-12 22:55:50.692149: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_500' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_500}}]] - 2024-03-12 22:55:50.692185: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_503' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_503}}]] - 2024-03-12 22:55:50.692221: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_504' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_504}}]] - 2024-03-12 22:55:50.692255: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_505' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_505}}]] - 2024-03-12 22:55:50.692291: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_506' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_506}}]] - 2024-03-12 22:55:50.692326: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_507' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_507}}]] - 2024-03-12 22:55:50.692362: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_508' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_508}}]] - 2024-03-12 22:55:50.692397: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_509' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_509}}]] - 2024-03-12 22:55:50.692433: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_510' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_510}}]] - 2024-03-12 22:55:50.692468: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_512' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_512}}]] - 2024-03-12 22:55:50.692504: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_513' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_513}}]] - 2024-03-12 22:55:50.692540: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_516' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_516}}]] - 2024-03-12 22:55:50.692575: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_517' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_517}}]] - 2024-03-12 22:55:50.692609: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_518' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_518}}]] - 2024-03-12 22:55:50.692644: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_519' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_519}}]] - 2024-03-12 22:55:50.692680: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_520' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_520}}]] - 2024-03-12 22:55:50.692714: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_521' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_521}}]] - 2024-03-12 22:55:50.692748: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_522' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_522}}]] - 2024-03-12 22:55:50.692783: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_525' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_525}}]] - 2024-03-12 22:55:50.692817: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_526' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_526}}]] - 2024-03-12 22:55:50.692852: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_527' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_527}}]] - 2024-03-12 22:55:50.692887: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_528' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_528}}]] - 2024-03-12 22:55:50.692921: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_529' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_529}}]] - 2024-03-12 22:55:50.692956: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_530' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_530}}]] - 2024-03-12 22:55:50.692991: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_531' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_531}}]] - 2024-03-12 22:55:50.693026: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_532' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_532}}]] - 2024-03-12 22:55:50.693060: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_533' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_533}}]] - 2024-03-12 22:55:50.693096: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_537' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_537}}]] - 2024-03-12 22:55:50.693130: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_538' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_538}}]] - 2024-03-12 22:55:50.693166: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_539' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_539}}]] - 2024-03-12 22:55:50.693200: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_540' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_540}}]] - 2024-03-12 22:55:50.693235: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_541' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_541}}]] - 2024-03-12 22:55:50.693269: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_542' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_542}}]] - 2024-03-12 22:55:50.693304: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_543' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_543}}]] - 2024-03-12 22:55:50.693339: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_544' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_544}}]] - 2024-03-12 22:55:50.693374: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_547' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_547}}]] - 2024-03-12 22:55:50.693408: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_548' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_548}}]] - 2024-03-12 22:55:50.693448: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_549' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_549}}]] - 2024-03-12 22:55:50.693503: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_550' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_550}}]] - 2024-03-12 22:55:50.693541: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_551' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_551}}]] - 2024-03-12 22:55:50.693578: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_552' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_552}}]] - 2024-03-12 22:55:50.693616: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_553' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_553}}]] - 2024-03-12 22:55:50.693654: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_554' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_554}}]] - 2024-03-12 22:55:50.693691: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_555' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_555}}]] - 2024-03-12 22:55:50.693728: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_557' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_557}}]] - 2024-03-12 22:55:50.693766: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_563' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_563}}]] - 2024-03-12 22:55:50.693803: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_564' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_564}}]] - 2024-03-12 22:55:50.693840: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_565' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_565}}]] - 2024-03-12 22:55:50.693877: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_566' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_566}}]] - 2024-03-12 22:55:50.693913: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_567' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_567}}]] - 2024-03-12 22:55:50.693951: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_568' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_568}}]] - 2024-03-12 22:55:50.693988: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_569' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_569}}]] - 2024-03-12 22:55:50.694026: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_570' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_570}}]] - 2024-03-12 22:55:50.694063: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_575' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_575}}]] - 2024-03-12 22:55:50.694100: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_576' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_576}}]] - 2024-03-12 22:55:50.694137: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_577' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_577}}]] - 2024-03-12 22:55:50.694176: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_578' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_578}}]] - 2024-03-12 22:55:50.694215: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_579' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_579}}]] - 2024-03-12 22:55:50.694253: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_580' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_580}}]] - 2024-03-12 22:55:50.694290: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_581' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_581}}]] - 2024-03-12 22:55:50.694327: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_582' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_582}}]] - 2024-03-12 22:55:50.694363: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_584' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_584}}]] - 2024-03-12 22:55:50.694400: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_585' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_585}}]] - 2024-03-12 22:55:50.694437: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_588' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_588}}]] - 2024-03-12 22:55:50.694474: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_589' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_589}}]] - 2024-03-12 22:55:50.694510: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_590' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_590}}]] - 2024-03-12 22:55:50.694547: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_591' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_591}}]] - 2024-03-12 22:55:50.694584: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_592' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_592}}]] - 2024-03-12 22:55:50.694621: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_593' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_593}}]] - 2024-03-12 22:55:50.694669: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_594' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_594}}]] - 2024-03-12 22:55:50.694705: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_597' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_597}}]] - 2024-03-12 22:55:50.694741: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_598' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_598}}]] - 2024-03-12 22:55:50.694778: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_599' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_599}}]] - 2024-03-12 22:55:50.694813: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_600' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_600}}]] - 2024-03-12 22:55:50.694849: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_601' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_601}}]] - 2024-03-12 22:55:50.694887: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_602' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_602}}]] - 2024-03-12 22:55:50.694923: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_603' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_603}}]] - 2024-03-12 22:55:50.694960: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_604' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_604}}]] - 2024-03-12 22:55:50.694997: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_608' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_608}}]] - 2024-03-12 22:55:50.695033: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_609' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_609}}]] - 2024-03-12 22:55:50.695071: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_610' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_610}}]] - 2024-03-12 22:55:50.695108: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_611' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_611}}]] - 2024-03-12 22:55:50.695145: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_612' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_612}}]] - 2024-03-12 22:55:50.695183: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_613' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_613}}]] - 2024-03-12 22:55:50.695219: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_614' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_614}}]] - 2024-03-12 22:55:50.695257: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_615' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_615}}]] - 2024-03-12 22:55:50.695294: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_618' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_618}}]] - 2024-03-12 22:55:50.695330: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_619' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_619}}]] - 2024-03-12 22:55:50.695367: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_620' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_620}}]] - 2024-03-12 22:55:50.695403: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_621' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_621}}]] - 2024-03-12 22:55:50.695439: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_622' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_622}}]] - 2024-03-12 22:55:50.695475: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_623' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_623}}]] - 2024-03-12 22:55:50.695522: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_624' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_624}}]] - 2024-03-12 22:55:50.695557: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_625' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_625}}]] - 2024-03-12 22:55:50.695592: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_626' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_626}}]] - 2024-03-12 22:55:50.695628: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_627' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_627}}]] - 2024-03-12 22:55:50.695664: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_631' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_631}}]] - 2024-03-12 22:55:50.695699: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_632' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_632}}]] - 2024-03-12 22:55:50.695734: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_633' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_633}}]] - 2024-03-12 22:55:50.695769: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_634' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_634}}]] - 2024-03-12 22:55:50.695806: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_635' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_635}}]] - 2024-03-12 22:55:50.695841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_636' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_636}}]] - 2024-03-12 22:55:50.695876: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_637' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_637}}]] - 2024-03-12 22:55:50.695910: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_638' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_638}}]] - 2024-03-12 22:55:50.695946: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_641' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_641}}]] - 2024-03-12 22:55:50.695982: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_642' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_642}}]] - 2024-03-12 22:55:50.696018: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_643' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_643}}]] - 2024-03-12 22:55:50.696053: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_644' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_644}}]] - 2024-03-12 22:55:50.696090: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_645' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_645}}]] - 2024-03-12 22:55:50.696125: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_646' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_646}}]] - 2024-03-12 22:55:50.696160: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_647' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_647}}]] - 2024-03-12 22:55:50.696195: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_648' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_648}}]] - 2024-03-12 22:55:50.696231: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_650' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_650}}]] - 2024-03-12 22:55:50.696267: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_651' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_651}}]] - 2024-03-12 22:55:50.696301: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_654' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_654}}]] - 2024-03-12 22:55:50.696336: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_655' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_655}}]] - 2024-03-12 22:55:50.696371: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_656' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_656}}]] - 2024-03-12 22:55:50.696407: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_657' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_657}}]] - 2024-03-12 22:55:50.696443: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_658' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_658}}]] - 2024-03-12 22:55:50.696479: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_659' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_659}}]] - 2024-03-12 22:55:50.696515: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_660' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_660}}]] - 2024-03-12 22:55:50.696550: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_663' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_663}}]] - 2024-03-12 22:55:50.696601: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_664' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_664}}]] - 2024-03-12 22:55:50.696637: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_665' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_665}}]] - 2024-03-12 22:55:50.696675: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_666' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_666}}]] - 2024-03-12 22:55:50.696713: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_667' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_667}}]] - 2024-03-12 22:55:50.696752: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_668' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_668}}]] - 2024-03-12 22:55:50.696790: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_669' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_669}}]] - 2024-03-12 22:55:50.696829: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_670' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_670}}]] - 2024-03-12 22:55:50.696866: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_671' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_671}}]] - 2024-03-12 22:55:50.696903: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_675' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_675}}]] - 2024-03-12 22:55:50.696940: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_676' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_676}}]] - 2024-03-12 22:55:50.696977: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_677' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_677}}]] - 2024-03-12 22:55:50.697015: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_678' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_678}}]] - 2024-03-12 22:55:50.697051: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_679' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_679}}]] - 2024-03-12 22:55:50.697087: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_680' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_680}}]] - 2024-03-12 22:55:50.697124: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_681' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_681}}]] - 2024-03-12 22:55:50.697162: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_682' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_682}}]] - 2024-03-12 22:55:50.697199: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_685' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_685}}]] - 2024-03-12 22:55:50.697235: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_686' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_686}}]] - 2024-03-12 22:55:50.697271: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_687' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_687}}]] - 2024-03-12 22:55:50.697309: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_688' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_688}}]] - 2024-03-12 22:55:50.697346: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_689' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_689}}]] - 2024-03-12 22:55:50.697383: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_690' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_690}}]] - 2024-03-12 22:55:50.697421: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_691' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_691}}]] - 2024-03-12 22:55:50.697480: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_692' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_692}}]] - 2024-03-12 22:55:50.697518: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_693' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_693}}]] - 2024-03-12 22:55:50.697556: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_697' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_697}}]] - 2024-03-12 22:55:50.697594: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_698' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_698}}]] - 2024-03-12 22:55:50.697633: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_699' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_699}}]] - 2024-03-12 22:55:50.697670: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_700' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_700}}]] - 2024-03-12 22:55:50.697707: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_701' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_701}}]] - 2024-03-12 22:55:50.697743: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_702' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_702}}]] - 2024-03-12 22:55:50.697780: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_703' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_703}}]] - 2024-03-12 22:55:50.697818: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_704' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_704}}]] - 2024-03-12 22:55:50.697854: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_707' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_707}}]] - 2024-03-12 22:55:50.697892: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_708' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_708}}]] - 2024-03-12 22:55:50.697928: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_709' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_709}}]] - 2024-03-12 22:55:50.697966: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_710' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_710}}]] - 2024-03-12 22:55:50.698003: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_711' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_711}}]] - 2024-03-12 22:55:50.698040: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_712' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_712}}]] - 2024-03-12 22:55:50.698079: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_713' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_713}}]] - 2024-03-12 22:55:50.698114: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_714' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_714}}]] - 2024-03-12 22:55:50.698151: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_716' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_716}}]] - 2024-03-12 22:55:50.698188: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_717' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_717}}]] - 2024-03-12 22:55:50.698225: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_720' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_720}}]] - 2024-03-12 22:55:50.698261: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_721' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_721}}]] - 2024-03-12 22:55:50.698298: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_722' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_722}}]] - 2024-03-12 22:55:50.698335: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_723' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_723}}]] - 2024-03-12 22:55:50.698371: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_724' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_724}}]] - 2024-03-12 22:55:50.698408: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_725' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_725}}]] - 2024-03-12 22:55:50.698444: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_726' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_726}}]] - 2024-03-12 22:55:50.698481: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_729' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_729}}]] - 2024-03-12 22:55:50.698518: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_730' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_730}}]] - 2024-03-12 22:55:50.698554: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_731' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_731}}]] - 2024-03-12 22:55:50.698592: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_732' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_732}}]] - 2024-03-12 22:55:50.698630: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_733' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_733}}]] - 2024-03-12 22:55:50.698687: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_734' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_734}}]] - 2024-03-12 22:55:50.698723: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_735' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_735}}]] - 2024-03-12 22:55:50.698758: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_736' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_736}}]] - 2024-03-12 22:55:50.698793: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_737' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_737}}]] - 2024-03-12 22:55:50.698827: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_741' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_741}}]] - 2024-03-12 22:55:50.698862: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_742' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_742}}]] - 2024-03-12 22:55:50.698897: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_743' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_743}}]] - 2024-03-12 22:55:50.698931: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_744' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_744}}]] - 2024-03-12 22:55:50.698966: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_745' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_745}}]] - 2024-03-12 22:55:50.699001: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_746' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_746}}]] - 2024-03-12 22:55:50.699035: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_747' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_747}}]] - 2024-03-12 22:55:50.699070: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_748' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_748}}]] - 2024-03-12 22:55:50.699105: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_751' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_751}}]] - 2024-03-12 22:55:50.699139: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_752' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_752}}]] - 2024-03-12 22:55:50.699174: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_753' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_753}}]] - 2024-03-12 22:55:50.699209: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_754' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_754}}]] - 2024-03-12 22:55:50.699244: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_755' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_755}}]] - 2024-03-12 22:55:50.699278: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_756' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_756}}]] - 2024-03-12 22:55:50.699313: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_757' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_757}}]] - 2024-03-12 22:55:50.699348: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_758' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_758}}]] - 2024-03-12 22:55:50.699382: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_759' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_759}}]] - 2024-03-12 22:55:50.699417: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_763' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_763}}]] - 2024-03-12 22:55:50.699452: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_764' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_764}}]] - 2024-03-12 22:55:50.699486: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_765' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_765}}]] - 2024-03-12 22:55:50.699521: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_766' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_766}}]] - 2024-03-12 22:55:50.699555: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_767' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_767}}]] - 2024-03-12 22:55:50.699589: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_768' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_768}}]] - 2024-03-12 22:55:50.699624: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_769' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_769}}]] - 2024-03-12 22:55:50.699658: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_770' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_770}}]] - 2024-03-12 22:55:50.699693: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_773' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_773}}]] - 2024-03-12 22:55:50.699728: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_774' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_774}}]] - 2024-03-12 22:55:50.699763: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_775' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_775}}]] - 2024-03-12 22:55:50.699797: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_776' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_776}}]] - 2024-03-12 22:55:50.699832: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_777' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_777}}]] - 2024-03-12 22:55:50.699867: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_778' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_778}}]] - 2024-03-12 22:55:50.699902: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_779' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_779}}]] - 2024-03-12 22:55:50.699937: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_780' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_780}}]] - 2024-03-12 22:55:50.699972: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_782' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_782}}]] - 2024-03-12 22:55:50.700008: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_783' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_783}}]] - 2024-03-12 22:55:50.700042: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_786' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_786}}]] - 2024-03-12 22:55:50.700077: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_787' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_787}}]] - 2024-03-12 22:55:50.700111: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_788' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_788}}]] - 2024-03-12 22:55:50.700146: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_789' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_789}}]] - 2024-03-12 22:55:50.700181: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_790' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_790}}]] - 2024-03-12 22:55:50.700216: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_791' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_791}}]] - 2024-03-12 22:55:50.700251: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_792' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_792}}]] - 2024-03-12 22:55:50.700286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_795' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_795}}]] - 2024-03-12 22:55:50.700322: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_796' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_796}}]] - 2024-03-12 22:55:50.700357: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_797' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_797}}]] - 2024-03-12 22:55:50.700392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_798' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_798}}]] - 2024-03-12 22:55:50.700426: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_799' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_799}}]] - 2024-03-12 22:55:50.700461: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_800' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_800}}]] - 2024-03-12 22:55:50.700496: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_801' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_801}}]] - 2024-03-12 22:55:50.700531: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_802' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_802}}]] - 2024-03-12 22:55:50.700567: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_803' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_803}}]] - 2024-03-12 22:55:50.700602: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_807' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_807}}]] - 2024-03-12 22:55:50.700637: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_808' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_808}}]] - 2024-03-12 22:55:50.700672: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_809' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_809}}]] - 2024-03-12 22:55:50.700707: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_810' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_810}}]] - 2024-03-12 22:55:50.700743: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_811' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_811}}]] - 2024-03-12 22:55:50.700777: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_812' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_812}}]] - 2024-03-12 22:55:50.700812: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_813' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_813}}]] - 2024-03-12 22:55:50.700847: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_814' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_814}}]] - 2024-03-12 22:55:50.700881: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_817' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_817}}]] - 2024-03-12 22:55:50.700918: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_818' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_818}}]] - 2024-03-12 22:55:50.700954: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_819' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_819}}]] - 2024-03-12 22:55:50.700990: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_820' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_820}}]] - 2024-03-12 22:55:50.701027: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_821' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_821}}]] - 2024-03-12 22:55:50.701062: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_822' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_822}}]] - 2024-03-12 22:55:50.701100: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_823' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_823}}]] - 2024-03-12 22:55:50.701135: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_824' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_824}}]] - 2024-03-12 22:55:50.701171: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_825' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_825}}]] - 2024-03-12 22:55:50.701207: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_827' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_827}}]] - 2024-03-12 22:55:50.701243: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_833' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_833}}]] - 2024-03-12 22:55:50.701279: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_834' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_834}}]] - 2024-03-12 22:55:50.701315: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_835' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_835}}]] - 2024-03-12 22:55:50.701352: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_836' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_836}}]] - 2024-03-12 22:55:50.701388: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_837' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_837}}]] - 2024-03-12 22:55:50.701424: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_838' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_838}}]] - 2024-03-12 22:55:50.701484: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_839' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_839}}]] - 2024-03-12 22:55:50.701522: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_840' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_840}}]] - 2024-03-12 22:55:50.701560: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_845' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_845}}]] - 2024-03-12 22:55:50.701600: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_846' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_846}}]] - 2024-03-12 22:55:50.701638: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_847' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_847}}]] - 2024-03-12 22:55:50.701676: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_848' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_848}}]] - 2024-03-12 22:55:50.701715: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_849' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_849}}]] - 2024-03-12 22:55:50.701753: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_850' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_850}}]] - 2024-03-12 22:55:50.701791: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_851' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_851}}]] - 2024-03-12 22:55:50.701829: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_852' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_852}}]] - 2024-03-12 22:55:50.701869: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_854' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_854}}]] - 2024-03-12 22:55:50.701907: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_855' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_855}}]] - 2024-03-12 22:55:50.701945: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_858' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_858}}]] - 2024-03-12 22:55:50.701984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_859' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_859}}]] - 2024-03-12 22:55:50.702023: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_860' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_860}}]] - 2024-03-12 22:55:50.702062: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_861' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_861}}]] - 2024-03-12 22:55:50.702100: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_862' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_862}}]] - 2024-03-12 22:55:50.702138: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_863' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_863}}]] - 2024-03-12 22:55:50.702176: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_864' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_864}}]] - 2024-03-12 22:55:50.702214: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_867' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_867}}]] - 2024-03-12 22:55:50.702253: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_868' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_868}}]] - 2024-03-12 22:55:50.702292: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_869' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_869}}]] - 2024-03-12 22:55:50.702330: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_870' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_870}}]] - 2024-03-12 22:55:50.702368: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_871' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_871}}]] - 2024-03-12 22:55:50.702407: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_872' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_872}}]] - 2024-03-12 22:55:50.702446: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_873' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_873}}]] - 2024-03-12 22:55:50.702484: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_874' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_874}}]] - 2024-03-12 22:55:50.702523: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_878' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_878}}]] - 2024-03-12 22:55:50.702561: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_879' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_879}}]] - 2024-03-12 22:55:50.702599: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_880' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_880}}]] - 2024-03-12 22:55:50.702639: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_881' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_881}}]] - 2024-03-12 22:55:50.702687: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_882' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_882}}]] - 2024-03-12 22:55:50.702734: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_883' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_883}}]] - 2024-03-12 22:55:50.702769: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_884' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_884}}]] - 2024-03-12 22:55:50.702805: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_885' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_885}}]] - 2024-03-12 22:55:50.702841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_888' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_888}}]] - 2024-03-12 22:55:50.702876: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_889' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_889}}]] - 2024-03-12 22:55:50.702911: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_890' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_890}}]] - 2024-03-12 22:55:50.702948: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_891' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_891}}]] - 2024-03-12 22:55:50.702984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_892' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_892}}]] - 2024-03-12 22:55:50.703022: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_893' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_893}}]] - 2024-03-12 22:55:50.703058: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_894' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_894}}]] - 2024-03-12 22:55:50.703095: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_895' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_895}}]] - 2024-03-12 22:55:50.703131: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_896' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_896}}]] - 2024-03-12 22:55:50.703167: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_897' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_897}}]] - 2024-03-12 22:55:50.703204: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_901' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_901}}]] - 2024-03-12 22:55:50.703240: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_902' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_902}}]] - 2024-03-12 22:55:50.703276: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_903' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_903}}]] - 2024-03-12 22:55:50.703312: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_904' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_904}}]] - 2024-03-12 22:55:50.703348: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_905' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_905}}]] - 2024-03-12 22:55:50.703384: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_906' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_906}}]] - 2024-03-12 22:55:50.703419: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_907' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_907}}]] - 2024-03-12 22:55:50.703455: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_908' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_908}}]] - 2024-03-12 22:55:50.703491: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_911' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_911}}]] - 2024-03-12 22:55:50.703527: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_912' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_912}}]] - 2024-03-12 22:55:50.703563: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_913' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_913}}]] - 2024-03-12 22:55:50.703600: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_914' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_914}}]] - 2024-03-12 22:55:50.703636: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_915' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_915}}]] - 2024-03-12 22:55:50.703672: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_916' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_916}}]] - 2024-03-12 22:55:50.703708: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_917' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_917}}]] - 2024-03-12 22:55:50.703744: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_918' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_918}}]] - 2024-03-12 22:55:50.703780: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_920' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_920}}]] - 2024-03-12 22:55:50.703816: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_921' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_921}}]] - 2024-03-12 22:55:50.703852: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_924' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_924}}]] - 2024-03-12 22:55:50.703889: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_925' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_925}}]] - 2024-03-12 22:55:50.703925: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_926' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_926}}]] - 2024-03-12 22:55:50.703961: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_927' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_927}}]] - 2024-03-12 22:55:50.703998: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_928' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_928}}]] - 2024-03-12 22:55:50.704035: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_929' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_929}}]] - 2024-03-12 22:55:50.704072: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_930' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_930}}]] - 2024-03-12 22:55:50.704109: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_933' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_933}}]] - 2024-03-12 22:55:50.704145: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_934' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_934}}]] - 2024-03-12 22:55:50.704181: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_935' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_935}}]] - 2024-03-12 22:55:50.704217: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_936' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_936}}]] - 2024-03-12 22:55:50.704253: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_937' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_937}}]] - 2024-03-12 22:55:50.704290: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_938' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_938}}]] - 2024-03-12 22:55:50.704326: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_939' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_939}}]] - 2024-03-12 22:55:50.704363: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_940' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_940}}]] - 2024-03-12 22:55:50.704400: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_941' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_941}}]] - 2024-03-12 22:55:50.704436: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_945' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_945}}]] - 2024-03-12 22:55:50.704473: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_946' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_946}}]] - 2024-03-12 22:55:50.704509: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_947' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_947}}]] - 2024-03-12 22:55:50.704546: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_948' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_948}}]] - 2024-03-12 22:55:50.704583: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_949' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_949}}]] - 2024-03-12 22:55:50.704619: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_950' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_950}}]] - 2024-03-12 22:55:50.704654: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_951' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_951}}]] - 2024-03-12 22:55:50.704690: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_952' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_952}}]] - 2024-03-12 22:55:50.704727: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_955' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_955}}]] - 2024-03-12 22:55:50.704763: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_956' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_956}}]] - 2024-03-12 22:55:50.704800: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_957' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_957}}]] - 2024-03-12 22:55:50.704837: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_958' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_958}}]] - 2024-03-12 22:55:50.704872: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_959' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_959}}]] - 2024-03-12 22:55:50.704908: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_960' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_960}}]] - 2024-03-12 22:55:50.704943: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_961' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_961}}]] - 2024-03-12 22:55:50.704979: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_962' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_962}}]] - 2024-03-12 22:55:50.705015: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_963' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_963}}]] - 2024-03-12 22:55:50.705051: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_967' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_967}}]] - 2024-03-12 22:55:50.705086: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_968' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_968}}]] - 2024-03-12 22:55:50.705122: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_969' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_969}}]] - 2024-03-12 22:55:50.705158: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_970' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_970}}]] - 2024-03-12 22:55:50.705195: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_971' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_971}}]] - 2024-03-12 22:55:50.705231: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_972' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_972}}]] - 2024-03-12 22:55:50.705267: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_973' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_973}}]] - 2024-03-12 22:55:50.705303: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_974' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_974}}]] - 2024-03-12 22:55:50.705340: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_977' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_977}}]] - 2024-03-12 22:55:50.705376: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_978' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_978}}]] - 2024-03-12 22:55:50.705412: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_979' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_979}}]] - 2024-03-12 22:55:50.705455: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_980' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_980}}]] - 2024-03-12 22:55:50.705510: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_981' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_981}}]] - 2024-03-12 22:55:50.705549: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_982' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_982}}]] - 2024-03-12 22:55:50.705588: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_983' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_983}}]] - 2024-03-12 22:55:50.705627: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_984' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_984}}]] - 2024-03-12 22:55:50.705666: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_986' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_986}}]] - 2024-03-12 22:55:50.705705: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_987' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_987}}]] - 2024-03-12 22:55:50.705744: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_990' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_990}}]] - 2024-03-12 22:55:50.705782: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_991' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_991}}]] - 2024-03-12 22:55:50.705820: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_992' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_992}}]] - 2024-03-12 22:55:50.705858: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_993' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_993}}]] - 2024-03-12 22:55:50.705897: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_994' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_994}}]] - 2024-03-12 22:55:50.705935: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_995' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_995}}]] - 2024-03-12 22:55:50.705973: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_996' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_996}}]] - 2024-03-12 22:55:50.706010: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_999' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_999}}]] - 2024-03-12 22:55:50.706048: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1000' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1000}}]] - 2024-03-12 22:55:50.706086: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1001' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1001}}]] - 2024-03-12 22:55:50.706125: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1002' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1002}}]] - 2024-03-12 22:55:50.706163: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1003' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1003}}]] - 2024-03-12 22:55:50.706202: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1004' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1004}}]] - 2024-03-12 22:55:50.706240: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1005' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1005}}]] - 2024-03-12 22:55:50.706277: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1006' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1006}}]] - 2024-03-12 22:55:50.706316: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1007' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1007}}]] - 2024-03-12 22:55:50.706354: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1011' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1011}}]] - 2024-03-12 22:55:50.706392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1012' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1012}}]] - 2024-03-12 22:55:50.706430: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1013' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1013}}]] - 2024-03-12 22:55:50.706468: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1014' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1014}}]] - 2024-03-12 22:55:50.706507: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1015' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1015}}]] - 2024-03-12 22:55:50.706546: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1016' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1016}}]] - 2024-03-12 22:55:50.706585: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1017' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1017}}]] - 2024-03-12 22:55:50.706623: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1018' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1018}}]] - 2024-03-12 22:55:50.706661: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1021' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1021}}]] - 2024-03-12 22:55:50.706708: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1022' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1022}}]] - 2024-03-12 22:55:50.706744: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1023' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1023}}]] - 2024-03-12 22:55:50.706781: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1024' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1024}}]] - 2024-03-12 22:55:50.706817: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1025' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1025}}]] - 2024-03-12 22:55:50.706854: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1026' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1026}}]] - 2024-03-12 22:55:50.706890: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1027' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1027}}]] - 2024-03-12 22:55:50.706943: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1028' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1028}}]] - 2024-03-12 22:55:50.706980: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1029' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1029}}]] - 2024-03-12 22:55:50.707018: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1031' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1031}}]] - 2024-03-12 22:55:50.707056: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1037' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1037}}]] - 2024-03-12 22:55:50.707094: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1038' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1038}}]] - 2024-03-12 22:55:50.707132: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1039' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1039}}]] - 2024-03-12 22:55:50.707171: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1040' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1040}}]] - 2024-03-12 22:55:50.707208: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1041' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1041}}]] - 2024-03-12 22:55:50.707246: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1042' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1042}}]] - 2024-03-12 22:55:50.707283: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1043' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1043}}]] - 2024-03-12 22:55:50.707321: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1044' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1044}}]] - 2024-03-12 22:55:50.707358: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1049' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1049}}]] - 2024-03-12 22:55:50.707395: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1050' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1050}}]] - 2024-03-12 22:55:50.707433: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1051' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1051}}]] - 2024-03-12 22:55:50.707471: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1052' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1052}}]] - 2024-03-12 22:55:50.707508: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1053' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1053}}]] - 2024-03-12 22:55:50.707547: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1054' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1054}}]] - 2024-03-12 22:55:50.707585: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1055' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1055}}]] - 2024-03-12 22:55:50.707623: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1056' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1056}}]] - 2024-03-12 22:55:50.707661: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1058' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1058}}]] - 2024-03-12 22:55:50.707698: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1059' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1059}}]] - 2024-03-12 22:55:50.707737: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1062' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1062}}]] - 2024-03-12 22:55:50.707775: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1063' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1063}}]] - 2024-03-12 22:55:50.707813: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1064' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1064}}]] - 2024-03-12 22:55:50.707850: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1065' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1065}}]] - 2024-03-12 22:55:50.707888: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1066' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1066}}]] - 2024-03-12 22:55:50.707926: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1067' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1067}}]] - 2024-03-12 22:55:50.707963: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1068' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1068}}]] - 2024-03-12 22:55:50.708003: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1071' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1071}}]] - 2024-03-12 22:55:50.708042: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1072' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1072}}]] - 2024-03-12 22:55:50.708079: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1073' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1073}}]] - 2024-03-12 22:55:50.708127: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1074' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1074}}]] - 2024-03-12 22:55:50.708164: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1075' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1075}}]] - 2024-03-12 22:55:50.708201: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1076' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1076}}]] - 2024-03-12 22:55:50.708238: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1077' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1077}}]] - 2024-03-12 22:55:50.708274: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1078' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1078}}]] - 2024-03-12 22:55:50.708311: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1082' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1082}}]] - 2024-03-12 22:55:50.708348: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1083' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1083}}]] - 2024-03-12 22:55:50.708385: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1084' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1084}}]] - 2024-03-12 22:55:50.708422: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1085' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1085}}]] - 2024-03-12 22:55:50.708459: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1086' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1086}}]] - 2024-03-12 22:55:50.708497: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1087' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1087}}]] - 2024-03-12 22:55:50.708532: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1088' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1088}}]] - 2024-03-12 22:55:50.708568: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1089' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1089}}]] - 2024-03-12 22:55:50.708605: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1092' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1092}}]] - 2024-03-12 22:55:50.708642: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1093' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1093}}]] - 2024-03-12 22:55:50.708679: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1094' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1094}}]] - 2024-03-12 22:55:50.708716: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1095' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1095}}]] - 2024-03-12 22:55:50.708753: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1096' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1096}}]] - 2024-03-12 22:55:50.708790: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1097' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1097}}]] - 2024-03-12 22:55:50.708827: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1098' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1098}}]] - 2024-03-12 22:55:50.708864: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1101' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1101}}]] - 2024-03-12 22:55:50.708901: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1102' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1102}}]] - 2024-03-12 22:55:50.708956: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1103' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1103}}]] - 2024-03-12 22:55:50.708994: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1105' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1105}}]] - 2024-03-12 22:55:50.709031: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1106' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1106}}]] - 2024-03-12 22:55:50.709070: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1111' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1111}}]] - 2024-03-12 22:55:50.709108: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1112' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1112}}]] - 2024-03-12 22:55:50.709146: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1113' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1113}}]] - 2024-03-12 22:55:50.709185: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1114' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1114}}]] - - -.. parsed-literal:: - - 2024-03-12 22:55:51.217700: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall' with dtype float and shape [?,?,?,?] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall}}]] - 2024-03-12 22:55:51.217779: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1' with dtype int32 and shape [2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1}}]] - 2024-03-12 22:55:51.217819: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_4' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_4}}]] - 2024-03-12 22:55:51.217864: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_5' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_5}}]] - 2024-03-12 22:55:51.217902: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_6' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_6}}]] - 2024-03-12 22:55:51.217941: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_7' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_7}}]] - 2024-03-12 22:55:51.217994: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_8' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_8}}]] - 2024-03-12 22:55:51.218034: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_9' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_9}}]] - 2024-03-12 22:55:51.218073: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_10' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_10}}]] - 2024-03-12 22:55:51.218108: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_11' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_11}}]] - 2024-03-12 22:55:51.218145: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_12' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_12}}]] - 2024-03-12 22:55:51.218183: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_13' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_13}}]] - 2024-03-12 22:55:51.218223: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_14' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_14}}]] - 2024-03-12 22:55:51.218261: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_15' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_15}}]] - 2024-03-12 22:55:51.218300: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_16' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_16}}]] - 2024-03-12 22:55:51.218337: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_17' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_17}}]] - 2024-03-12 22:55:51.218375: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_18' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_18}}]] - 2024-03-12 22:55:51.218412: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_19' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_19}}]] - 2024-03-12 22:55:51.218450: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_20' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_20}}]] - 2024-03-12 22:55:51.218487: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_21' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_21}}]] - 2024-03-12 22:55:51.218526: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_25' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_25}}]] - 2024-03-12 22:55:51.218572: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_26' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_26}}]] - 2024-03-12 22:55:51.218614: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_27' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_27}}]] - 2024-03-12 22:55:51.218654: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_28' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_28}}]] - 2024-03-12 22:55:51.218694: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_29' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_29}}]] - 2024-03-12 22:55:51.218735: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_30' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_30}}]] - 2024-03-12 22:55:51.218773: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_31' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_31}}]] - 2024-03-12 22:55:51.218812: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_32' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_32}}]] - 2024-03-12 22:55:51.218852: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_35' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_35}}]] - 2024-03-12 22:55:51.218891: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_36' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_36}}]] - 2024-03-12 22:55:51.218930: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_37' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_37}}]] - 2024-03-12 22:55:51.218969: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_38' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_38}}]] - 2024-03-12 22:55:51.219009: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_39' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_39}}]] - 2024-03-12 22:55:51.219048: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_40' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_40}}]] - 2024-03-12 22:55:51.219088: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_41' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_41}}]] - 2024-03-12 22:55:51.219125: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_42' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_42}}]] - 2024-03-12 22:55:51.219161: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_44' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_44}}]] - 2024-03-12 22:55:51.219200: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_45' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_45}}]] - 2024-03-12 22:55:51.219239: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_48' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_48}}]] - 2024-03-12 22:55:51.219279: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_49' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_49}}]] - 2024-03-12 22:55:51.219318: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_50' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_50}}]] - 2024-03-12 22:55:51.219358: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_51' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_51}}]] - 2024-03-12 22:55:51.219397: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_52' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_52}}]] - 2024-03-12 22:55:51.219437: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_53' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_53}}]] - 2024-03-12 22:55:51.219476: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_54' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_54}}]] - 2024-03-12 22:55:51.219515: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_57' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_57}}]] - 2024-03-12 22:55:51.219553: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_58' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_58}}]] - 2024-03-12 22:55:51.219600: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_59' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_59}}]] - 2024-03-12 22:55:51.219637: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_60' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_60}}]] - 2024-03-12 22:55:51.219675: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_61' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_61}}]] - 2024-03-12 22:55:51.219713: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_62' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_62}}]] - 2024-03-12 22:55:51.219751: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_63' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_63}}]] - 2024-03-12 22:55:51.219788: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_64' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_64}}]] - 2024-03-12 22:55:51.219826: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_65' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_65}}]] - 2024-03-12 22:55:51.219864: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_69' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_69}}]] - 2024-03-12 22:55:51.219902: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_70' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_70}}]] - 2024-03-12 22:55:51.219940: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_71' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_71}}]] - 2024-03-12 22:55:51.219978: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_72' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_72}}]] - 2024-03-12 22:55:51.220015: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_73' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_73}}]] - 2024-03-12 22:55:51.220053: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_74' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_74}}]] - 2024-03-12 22:55:51.220091: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_75' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_75}}]] - 2024-03-12 22:55:51.220144: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_76' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_76}}]] - 2024-03-12 22:55:51.220183: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_79' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_79}}]] - 2024-03-12 22:55:51.220222: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_80' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_80}}]] - 2024-03-12 22:55:51.220261: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_81' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_81}}]] - 2024-03-12 22:55:51.220299: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_82' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_82}}]] - 2024-03-12 22:55:51.220339: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_83' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_83}}]] - 2024-03-12 22:55:51.220378: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_84' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_84}}]] - 2024-03-12 22:55:51.220417: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_85' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_85}}]] - 2024-03-12 22:55:51.220456: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_86' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_86}}]] - 2024-03-12 22:55:51.220495: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_87' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_87}}]] - 2024-03-12 22:55:51.220535: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_91' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_91}}]] - 2024-03-12 22:55:51.220573: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_92' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_92}}]] - 2024-03-12 22:55:51.220612: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_93' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_93}}]] - 2024-03-12 22:55:51.220651: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_94' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_94}}]] - 2024-03-12 22:55:51.220690: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_95' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_95}}]] - 2024-03-12 22:55:51.220730: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_96' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_96}}]] - 2024-03-12 22:55:51.220768: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_97' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_97}}]] - 2024-03-12 22:55:51.220806: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_98' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_98}}]] - 2024-03-12 22:55:51.220845: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_101' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_101}}]] - 2024-03-12 22:55:51.220884: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_102' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_102}}]] - 2024-03-12 22:55:51.220921: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_103' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_103}}]] - 2024-03-12 22:55:51.220960: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_104' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_104}}]] - 2024-03-12 22:55:51.220999: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_105' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_105}}]] - 2024-03-12 22:55:51.221037: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_106' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_106}}]] - 2024-03-12 22:55:51.221075: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_107' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_107}}]] - 2024-03-12 22:55:51.221114: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_108' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_108}}]] - 2024-03-12 22:55:51.221153: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_110' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_110}}]] - 2024-03-12 22:55:51.221188: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_111' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_111}}]] - 2024-03-12 22:55:51.221227: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_114' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_114}}]] - 2024-03-12 22:55:51.221265: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_115' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_115}}]] - 2024-03-12 22:55:51.221304: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_116' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_116}}]] - 2024-03-12 22:55:51.221351: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_117' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_117}}]] - 2024-03-12 22:55:51.221386: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_118' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_118}}]] - 2024-03-12 22:55:51.221422: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_119' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_119}}]] - 2024-03-12 22:55:51.221481: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_120' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_120}}]] - 2024-03-12 22:55:51.221522: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_123' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_123}}]] - 2024-03-12 22:55:51.221561: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_124' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_124}}]] - 2024-03-12 22:55:51.221600: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_125' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_125}}]] - 2024-03-12 22:55:51.221636: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_126' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_126}}]] - 2024-03-12 22:55:51.221672: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_127' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_127}}]] - 2024-03-12 22:55:51.221712: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_128' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_128}}]] - 2024-03-12 22:55:51.221751: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_129' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_129}}]] - 2024-03-12 22:55:51.221789: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_130' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_130}}]] - 2024-03-12 22:55:51.221828: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_131' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_131}}]] - 2024-03-12 22:55:51.221866: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_135' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_135}}]] - 2024-03-12 22:55:51.221904: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_136' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_136}}]] - 2024-03-12 22:55:51.221942: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_137' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_137}}]] - 2024-03-12 22:55:51.221980: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_138' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_138}}]] - 2024-03-12 22:55:51.222019: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_139' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_139}}]] - 2024-03-12 22:55:51.222058: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_140' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_140}}]] - 2024-03-12 22:55:51.222094: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_141' with dtype float and shape [?,1,1,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_141}}]] - 2024-03-12 22:55:51.222130: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_142' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_142}}]] - 2024-03-12 22:55:51.222169: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_145' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_145}}]] - 2024-03-12 22:55:51.222208: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_146' with dtype float and shape [32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_146}}]] - 2024-03-12 22:55:51.222247: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_147' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_147}}]] - 2024-03-12 22:55:51.222286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_148' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_148}}]] - 2024-03-12 22:55:51.222322: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_149' with dtype float and shape [?,?,?,32,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_149}}]] - 2024-03-12 22:55:51.222358: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_150' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_150}}]] - 2024-03-12 22:55:51.222395: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_151' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_151}}]] - 2024-03-12 22:55:51.222435: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_152' with dtype float and shape [?,?,?,2048] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_152}}]] - 2024-03-12 22:55:51.222473: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_153' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_153}}]] - 2024-03-12 22:55:51.222512: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_155' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_155}}]] - 2024-03-12 22:55:51.222548: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_161' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_161}}]] - 2024-03-12 22:55:51.222585: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_162' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_162}}]] - 2024-03-12 22:55:51.222623: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_163' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_163}}]] - 2024-03-12 22:55:51.222662: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_164' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_164}}]] - 2024-03-12 22:55:51.222700: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_165' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_165}}]] - 2024-03-12 22:55:51.222746: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_166' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_166}}]] - 2024-03-12 22:55:51.222781: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_167' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_167}}]] - 2024-03-12 22:55:51.222817: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_168' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_168}}]] - 2024-03-12 22:55:51.222852: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_173' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_173}}]] - 2024-03-12 22:55:51.222886: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_174' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_174}}]] - 2024-03-12 22:55:51.222922: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_175' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_175}}]] - 2024-03-12 22:55:51.222959: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_176' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_176}}]] - 2024-03-12 22:55:51.222997: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_177' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_177}}]] - 2024-03-12 22:55:51.223034: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_178' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_178}}]] - 2024-03-12 22:55:51.223071: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_179' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_179}}]] - 2024-03-12 22:55:51.223106: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_180' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_180}}]] - 2024-03-12 22:55:51.223140: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_182' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_182}}]] - 2024-03-12 22:55:51.223177: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_183' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_183}}]] - 2024-03-12 22:55:51.223215: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_186' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_186}}]] - 2024-03-12 22:55:51.223253: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_187' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_187}}]] - 2024-03-12 22:55:51.223293: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_188' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_188}}]] - 2024-03-12 22:55:51.223327: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_189' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_189}}]] - 2024-03-12 22:55:51.223362: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_190' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_190}}]] - 2024-03-12 22:55:51.223398: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_191' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_191}}]] - 2024-03-12 22:55:51.223435: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_192' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_192}}]] - 2024-03-12 22:55:51.223473: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_195' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_195}}]] - 2024-03-12 22:55:51.223511: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_196' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_196}}]] - 2024-03-12 22:55:51.223547: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_197' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_197}}]] - 2024-03-12 22:55:51.223581: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_198' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_198}}]] - 2024-03-12 22:55:51.223618: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_199' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_199}}]] - 2024-03-12 22:55:51.223656: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_200' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_200}}]] - 2024-03-12 22:55:51.223694: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_201' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_201}}]] - 2024-03-12 22:55:51.223731: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_202' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_202}}]] - 2024-03-12 22:55:51.223770: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_206' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_206}}]] - 2024-03-12 22:55:51.223808: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_207' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_207}}]] - 2024-03-12 22:55:51.223842: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_208' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_208}}]] - 2024-03-12 22:55:51.223876: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_209' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_209}}]] - 2024-03-12 22:55:51.223911: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_210' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_210}}]] - 2024-03-12 22:55:51.223946: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_211' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_211}}]] - 2024-03-12 22:55:51.223984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_212' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_212}}]] - 2024-03-12 22:55:51.224022: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_213' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_213}}]] - 2024-03-12 22:55:51.224060: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_216' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_216}}]] - 2024-03-12 22:55:51.224095: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_217' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_217}}]] - 2024-03-12 22:55:51.224130: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_218' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_218}}]] - 2024-03-12 22:55:51.224165: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_219' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_219}}]] - 2024-03-12 22:55:51.224203: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_220' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_220}}]] - 2024-03-12 22:55:51.224241: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_221' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_221}}]] - 2024-03-12 22:55:51.224279: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_222' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_222}}]] - 2024-03-12 22:55:51.224317: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_223' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_223}}]] - 2024-03-12 22:55:51.224352: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_224' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_224}}]] - 2024-03-12 22:55:51.224386: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_225' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_225}}]] - 2024-03-12 22:55:51.224423: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_229' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_229}}]] - 2024-03-12 22:55:51.224461: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_230' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_230}}]] - 2024-03-12 22:55:51.224498: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_231' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_231}}]] - 2024-03-12 22:55:51.224536: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_232' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_232}}]] - 2024-03-12 22:55:51.224574: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_233' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_233}}]] - 2024-03-12 22:55:51.224609: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_234' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_234}}]] - 2024-03-12 22:55:51.224646: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_235' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_235}}]] - 2024-03-12 22:55:51.224683: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_236' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_236}}]] - 2024-03-12 22:55:51.224720: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_239' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_239}}]] - 2024-03-12 22:55:51.224758: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_240' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_240}}]] - 2024-03-12 22:55:51.224795: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_241' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_241}}]] - 2024-03-12 22:55:51.224833: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_242' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_242}}]] - 2024-03-12 22:55:51.224871: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_243' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_243}}]] - 2024-03-12 22:55:51.224909: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_244' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_244}}]] - 2024-03-12 22:55:51.224947: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_245' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_245}}]] - 2024-03-12 22:55:51.224984: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_246' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_246}}]] - 2024-03-12 22:55:51.225022: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_248' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_248}}]] - 2024-03-12 22:55:51.225060: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_249' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_249}}]] - 2024-03-12 22:55:51.225096: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_252' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_252}}]] - 2024-03-12 22:55:51.225135: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_253' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_253}}]] - 2024-03-12 22:55:51.225173: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_254' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_254}}]] - 2024-03-12 22:55:51.225210: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_255' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_255}}]] - 2024-03-12 22:55:51.225264: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_256' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_256}}]] - 2024-03-12 22:55:51.225303: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_257' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_257}}]] - 2024-03-12 22:55:51.225342: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_258' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_258}}]] - 2024-03-12 22:55:51.225381: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_261' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_261}}]] - 2024-03-12 22:55:51.225420: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_262' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_262}}]] - 2024-03-12 22:55:51.225480: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_263' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_263}}]] - 2024-03-12 22:55:51.225522: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_264' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_264}}]] - 2024-03-12 22:55:51.225562: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_265' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_265}}]] - 2024-03-12 22:55:51.225603: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_266' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_266}}]] - 2024-03-12 22:55:51.225643: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_267' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_267}}]] - 2024-03-12 22:55:51.225684: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_268' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_268}}]] - 2024-03-12 22:55:51.225724: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_269' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_269}}]] - 2024-03-12 22:55:51.225765: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_273' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_273}}]] - 2024-03-12 22:55:51.225805: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_274' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_274}}]] - 2024-03-12 22:55:51.225845: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_275' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_275}}]] - 2024-03-12 22:55:51.225886: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_276' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_276}}]] - 2024-03-12 22:55:51.225925: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_277' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_277}}]] - 2024-03-12 22:55:51.225965: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_278' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_278}}]] - 2024-03-12 22:55:51.226005: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_279' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_279}}]] - 2024-03-12 22:55:51.226045: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_280' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_280}}]] - 2024-03-12 22:55:51.226086: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_283' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_283}}]] - 2024-03-12 22:55:51.226126: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_284' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_284}}]] - 2024-03-12 22:55:51.226166: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_285' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_285}}]] - 2024-03-12 22:55:51.226206: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_286' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_286}}]] - 2024-03-12 22:55:51.226246: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_287' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_287}}]] - 2024-03-12 22:55:51.226286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_288' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_288}}]] - 2024-03-12 22:55:51.226326: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_289' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_289}}]] - 2024-03-12 22:55:51.226367: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_290' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_290}}]] - 2024-03-12 22:55:51.226407: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_291' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_291}}]] - 2024-03-12 22:55:51.226447: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_295' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_295}}]] - 2024-03-12 22:55:51.226487: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_296' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_296}}]] - 2024-03-12 22:55:51.226527: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_297' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_297}}]] - 2024-03-12 22:55:51.226567: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_298' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_298}}]] - 2024-03-12 22:55:51.226607: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_299' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_299}}]] - 2024-03-12 22:55:51.226648: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_300' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_300}}]] - 2024-03-12 22:55:51.226698: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_301' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_301}}]] - 2024-03-12 22:55:51.226737: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_302' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_302}}]] - 2024-03-12 22:55:51.226776: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_305' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_305}}]] - 2024-03-12 22:55:51.226816: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_306' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_306}}]] - 2024-03-12 22:55:51.226854: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_307' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_307}}]] - 2024-03-12 22:55:51.226893: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_308' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_308}}]] - 2024-03-12 22:55:51.226932: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_309' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_309}}]] - 2024-03-12 22:55:51.226972: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_310' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_310}}]] - 2024-03-12 22:55:51.227011: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_311' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_311}}]] - 2024-03-12 22:55:51.227051: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_312' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_312}}]] - 2024-03-12 22:55:51.227091: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_314' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_314}}]] - 2024-03-12 22:55:51.227130: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_315' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_315}}]] - 2024-03-12 22:55:51.227169: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_318' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_318}}]] - 2024-03-12 22:55:51.227208: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_319' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_319}}]] - 2024-03-12 22:55:51.227247: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_320' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_320}}]] - 2024-03-12 22:55:51.227286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_321' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_321}}]] - 2024-03-12 22:55:51.227326: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_322' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_322}}]] - 2024-03-12 22:55:51.227365: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_323' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_323}}]] - 2024-03-12 22:55:51.227404: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_324' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_324}}]] - 2024-03-12 22:55:51.227444: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_327' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_327}}]] - 2024-03-12 22:55:51.227483: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_328' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_328}}]] - 2024-03-12 22:55:51.227523: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_329' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_329}}]] - 2024-03-12 22:55:51.227573: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_330' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_330}}]] - 2024-03-12 22:55:51.227608: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_331' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_331}}]] - 2024-03-12 22:55:51.227645: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_332' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_332}}]] - 2024-03-12 22:55:51.227683: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_333' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_333}}]] - 2024-03-12 22:55:51.227721: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_334' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_334}}]] - 2024-03-12 22:55:51.227775: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_335' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_335}}]] - 2024-03-12 22:55:51.227815: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_339' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_339}}]] - 2024-03-12 22:55:51.227854: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_340' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_340}}]] - 2024-03-12 22:55:51.227893: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_341' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_341}}]] - 2024-03-12 22:55:51.227933: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_342' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_342}}]] - 2024-03-12 22:55:51.227972: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_343' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_343}}]] - 2024-03-12 22:55:51.228011: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_344' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_344}}]] - 2024-03-12 22:55:51.228051: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_345' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_345}}]] - 2024-03-12 22:55:51.228091: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_346' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_346}}]] - 2024-03-12 22:55:51.228129: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_349' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_349}}]] - 2024-03-12 22:55:51.228170: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_350' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_350}}]] - 2024-03-12 22:55:51.228208: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_351' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_351}}]] - 2024-03-12 22:55:51.228247: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_352' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_352}}]] - 2024-03-12 22:55:51.228286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_353' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_353}}]] - 2024-03-12 22:55:51.228325: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_354' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_354}}]] - 2024-03-12 22:55:51.228364: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_355' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_355}}]] - 2024-03-12 22:55:51.228404: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_356' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_356}}]] - 2024-03-12 22:55:51.228442: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_357' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_357}}]] - 2024-03-12 22:55:51.228481: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_361' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_361}}]] - 2024-03-12 22:55:51.228521: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_362' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_362}}]] - 2024-03-12 22:55:51.228560: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_363' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_363}}]] - 2024-03-12 22:55:51.228600: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_364' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_364}}]] - 2024-03-12 22:55:51.228639: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_365' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_365}}]] - 2024-03-12 22:55:51.228679: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_366' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_366}}]] - 2024-03-12 22:55:51.228718: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_367' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_367}}]] - 2024-03-12 22:55:51.228757: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_368' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_368}}]] - 2024-03-12 22:55:51.228794: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_371' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_371}}]] - 2024-03-12 22:55:51.228833: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_372' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_372}}]] - 2024-03-12 22:55:51.228873: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_373' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_373}}]] - 2024-03-12 22:55:51.228912: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_374' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_374}}]] - 2024-03-12 22:55:51.228952: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_375' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_375}}]] - 2024-03-12 22:55:51.228991: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_376' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_376}}]] - 2024-03-12 22:55:51.229030: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_377' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_377}}]] - 2024-03-12 22:55:51.229070: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_378' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_378}}]] - 2024-03-12 22:55:51.229109: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_380' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_380}}]] - 2024-03-12 22:55:51.229148: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_381' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_381}}]] - 2024-03-12 22:55:51.229187: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_384' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_384}}]] - 2024-03-12 22:55:51.229224: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_385' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_385}}]] - 2024-03-12 22:55:51.229260: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_386' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_386}}]] - 2024-03-12 22:55:51.229299: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_387' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_387}}]] - 2024-03-12 22:55:51.229338: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_388' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_388}}]] - 2024-03-12 22:55:51.229377: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_389' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_389}}]] - 2024-03-12 22:55:51.229415: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_390' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_390}}]] - 2024-03-12 22:55:51.229456: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_393' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_393}}]] - 2024-03-12 22:55:51.229511: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_394' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_394}}]] - 2024-03-12 22:55:51.229551: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_395' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_395}}]] - 2024-03-12 22:55:51.229591: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_396' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_396}}]] - 2024-03-12 22:55:51.229631: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_397' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_397}}]] - 2024-03-12 22:55:51.229682: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_398' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_398}}]] - 2024-03-12 22:55:51.229721: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_399' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_399}}]] - 2024-03-12 22:55:51.229761: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_400' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_400}}]] - 2024-03-12 22:55:51.229797: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_401' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_401}}]] - 2024-03-12 22:55:51.229836: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_405' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_405}}]] - 2024-03-12 22:55:51.229875: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_406' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_406}}]] - 2024-03-12 22:55:51.229916: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_407' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_407}}]] - 2024-03-12 22:55:51.229956: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_408' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_408}}]] - 2024-03-12 22:55:51.229992: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_409' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_409}}]] - 2024-03-12 22:55:51.230028: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_410' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_410}}]] - 2024-03-12 22:55:51.230064: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_411' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_411}}]] - 2024-03-12 22:55:51.230100: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_412' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_412}}]] - 2024-03-12 22:55:51.230138: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_415' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_415}}]] - 2024-03-12 22:55:51.230174: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_416' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_416}}]] - 2024-03-12 22:55:51.230210: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_417' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_417}}]] - 2024-03-12 22:55:51.230249: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_418' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_418}}]] - 2024-03-12 22:55:51.230287: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_419' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_419}}]] - 2024-03-12 22:55:51.230324: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_420' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_420}}]] - 2024-03-12 22:55:51.230361: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_421' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_421}}]] - 2024-03-12 22:55:51.230397: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_422' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_422}}]] - 2024-03-12 22:55:51.230434: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_423' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_423}}]] - 2024-03-12 22:55:51.230470: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_427' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_427}}]] - 2024-03-12 22:55:51.230506: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_428' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_428}}]] - 2024-03-12 22:55:51.230542: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_429' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_429}}]] - 2024-03-12 22:55:51.230579: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_430' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_430}}]] - 2024-03-12 22:55:51.230615: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_431' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_431}}]] - 2024-03-12 22:55:51.230651: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_432' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_432}}]] - 2024-03-12 22:55:51.230689: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_433' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_433}}]] - 2024-03-12 22:55:51.230728: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_434' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_434}}]] - 2024-03-12 22:55:51.230765: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_437' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_437}}]] - 2024-03-12 22:55:51.230802: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_438' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_438}}]] - 2024-03-12 22:55:51.230839: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_439' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_439}}]] - 2024-03-12 22:55:51.230875: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_440' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_440}}]] - 2024-03-12 22:55:51.230914: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_441' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_441}}]] - 2024-03-12 22:55:51.230950: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_442' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_442}}]] - 2024-03-12 22:55:51.230987: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_443' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_443}}]] - 2024-03-12 22:55:51.231023: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_444' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_444}}]] - 2024-03-12 22:55:51.231060: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_446' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_446}}]] - 2024-03-12 22:55:51.231096: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_447' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_447}}]] - 2024-03-12 22:55:51.231133: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_450' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_450}}]] - 2024-03-12 22:55:51.231170: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_451' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_451}}]] - 2024-03-12 22:55:51.231207: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_452' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_452}}]] - 2024-03-12 22:55:51.231243: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_453' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_453}}]] - 2024-03-12 22:55:51.231280: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_454' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_454}}]] - 2024-03-12 22:55:51.231317: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_455' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_455}}]] - 2024-03-12 22:55:51.231355: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_456' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_456}}]] - 2024-03-12 22:55:51.231392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_459' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_459}}]] - 2024-03-12 22:55:51.231428: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_460' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_460}}]] - 2024-03-12 22:55:51.231467: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_461' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_461}}]] - 2024-03-12 22:55:51.231504: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_462' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_462}}]] - 2024-03-12 22:55:51.231541: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_463' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_463}}]] - 2024-03-12 22:55:51.231578: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_464' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_464}}]] - 2024-03-12 22:55:51.231617: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_465' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_465}}]] - 2024-03-12 22:55:51.231653: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_466' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_466}}]] - 2024-03-12 22:55:51.231688: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_467' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_467}}]] - 2024-03-12 22:55:51.231724: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_471' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_471}}]] - 2024-03-12 22:55:51.231761: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_472' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_472}}]] - 2024-03-12 22:55:51.231799: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_473' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_473}}]] - 2024-03-12 22:55:51.231835: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_474' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_474}}]] - 2024-03-12 22:55:51.231872: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_475' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_475}}]] - 2024-03-12 22:55:51.231908: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_476' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_476}}]] - 2024-03-12 22:55:51.231945: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_477' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_477}}]] - 2024-03-12 22:55:51.231981: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_478' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_478}}]] - 2024-03-12 22:55:51.232020: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_481' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_481}}]] - 2024-03-12 22:55:51.232060: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_482' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_482}}]] - 2024-03-12 22:55:51.232095: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_483' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_483}}]] - 2024-03-12 22:55:51.232133: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_484' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_484}}]] - 2024-03-12 22:55:51.232169: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_485' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_485}}]] - 2024-03-12 22:55:51.232206: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_486' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_486}}]] - 2024-03-12 22:55:51.232245: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_487' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_487}}]] - 2024-03-12 22:55:51.232282: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_488' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_488}}]] - 2024-03-12 22:55:51.232320: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_489' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_489}}]] - 2024-03-12 22:55:51.232357: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_493' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_493}}]] - 2024-03-12 22:55:51.232392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_494' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_494}}]] - 2024-03-12 22:55:51.232429: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_495' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_495}}]] - 2024-03-12 22:55:51.232469: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_496' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_496}}]] - 2024-03-12 22:55:51.232507: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_497' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_497}}]] - 2024-03-12 22:55:51.232543: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_498' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_498}}]] - 2024-03-12 22:55:51.232579: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_499' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_499}}]] - 2024-03-12 22:55:51.232615: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_500' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_500}}]] - 2024-03-12 22:55:51.232652: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_503' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_503}}]] - 2024-03-12 22:55:51.232690: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_504' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_504}}]] - 2024-03-12 22:55:51.232730: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_505' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_505}}]] - 2024-03-12 22:55:51.232767: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_506' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_506}}]] - 2024-03-12 22:55:51.232805: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_507' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_507}}]] - 2024-03-12 22:55:51.232841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_508' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_508}}]] - 2024-03-12 22:55:51.232878: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_509' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_509}}]] - 2024-03-12 22:55:51.232914: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_510' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_510}}]] - 2024-03-12 22:55:51.232953: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_512' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_512}}]] - 2024-03-12 22:55:51.232992: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_513' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_513}}]] - 2024-03-12 22:55:51.233029: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_516' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_516}}]] - 2024-03-12 22:55:51.233068: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_517' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_517}}]] - 2024-03-12 22:55:51.233107: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_518' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_518}}]] - 2024-03-12 22:55:51.233146: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_519' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_519}}]] - 2024-03-12 22:55:51.233185: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_520' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_520}}]] - 2024-03-12 22:55:51.233224: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_521' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_521}}]] - 2024-03-12 22:55:51.233264: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_522' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_522}}]] - 2024-03-12 22:55:51.233302: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_525' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_525}}]] - 2024-03-12 22:55:51.233340: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_526' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_526}}]] - 2024-03-12 22:55:51.233380: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_527' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_527}}]] - 2024-03-12 22:55:51.233418: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_528' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_528}}]] - 2024-03-12 22:55:51.233463: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_529' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_529}}]] - 2024-03-12 22:55:51.233519: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_530' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_530}}]] - 2024-03-12 22:55:51.233559: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_531' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_531}}]] - 2024-03-12 22:55:51.233598: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_532' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_532}}]] - 2024-03-12 22:55:51.233637: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_533' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_533}}]] - 2024-03-12 22:55:51.233676: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_537' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_537}}]] - 2024-03-12 22:55:51.233717: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_538' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_538}}]] - 2024-03-12 22:55:51.233756: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_539' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_539}}]] - 2024-03-12 22:55:51.233796: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_540' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_540}}]] - 2024-03-12 22:55:51.233834: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_541' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_541}}]] - 2024-03-12 22:55:51.233874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_542' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_542}}]] - 2024-03-12 22:55:51.233914: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_543' with dtype float and shape [?,1,1,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_543}}]] - 2024-03-12 22:55:51.233953: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_544' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_544}}]] - 2024-03-12 22:55:51.233992: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_547' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_547}}]] - 2024-03-12 22:55:51.234031: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_548' with dtype float and shape [32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_548}}]] - 2024-03-12 22:55:51.234070: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_549' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_549}}]] - 2024-03-12 22:55:51.234109: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_550' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_550}}]] - 2024-03-12 22:55:51.234149: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_551' with dtype float and shape [?,?,?,32,32] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_551}}]] - 2024-03-12 22:55:51.234189: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_552' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_552}}]] - 2024-03-12 22:55:51.234228: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_553' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_553}}]] - 2024-03-12 22:55:51.234264: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_554' with dtype float and shape [?,?,?,1024] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_554}}]] - 2024-03-12 22:55:51.234303: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_555' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_555}}]] - 2024-03-12 22:55:51.234343: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_557' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_557}}]] - 2024-03-12 22:55:51.234380: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_563' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_563}}]] - 2024-03-12 22:55:51.234418: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_564' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_564}}]] - 2024-03-12 22:55:51.234456: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_565' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_565}}]] - 2024-03-12 22:55:51.234495: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_566' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_566}}]] - 2024-03-12 22:55:51.234534: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_567' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_567}}]] - 2024-03-12 22:55:51.234573: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_568' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_568}}]] - 2024-03-12 22:55:51.234613: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_569' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_569}}]] - 2024-03-12 22:55:51.234649: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_570' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_570}}]] - 2024-03-12 22:55:51.234699: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_575' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_575}}]] - 2024-03-12 22:55:51.234737: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_576' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_576}}]] - 2024-03-12 22:55:51.234776: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_577' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_577}}]] - 2024-03-12 22:55:51.234814: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_578' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_578}}]] - 2024-03-12 22:55:51.234850: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_579' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_579}}]] - 2024-03-12 22:55:51.234888: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_580' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_580}}]] - 2024-03-12 22:55:51.234927: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_581' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_581}}]] - 2024-03-12 22:55:51.234966: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_582' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_582}}]] - 2024-03-12 22:55:51.235004: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_584' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_584}}]] - 2024-03-12 22:55:51.235039: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_585' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_585}}]] - 2024-03-12 22:55:51.235077: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_588' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_588}}]] - 2024-03-12 22:55:51.235115: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_589' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_589}}]] - 2024-03-12 22:55:51.235154: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_590' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_590}}]] - 2024-03-12 22:55:51.235192: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_591' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_591}}]] - 2024-03-12 22:55:51.235230: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_592' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_592}}]] - 2024-03-12 22:55:51.235271: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_593' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_593}}]] - 2024-03-12 22:55:51.235306: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_594' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_594}}]] - 2024-03-12 22:55:51.235345: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_597' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_597}}]] - 2024-03-12 22:55:51.235384: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_598' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_598}}]] - 2024-03-12 22:55:51.235423: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_599' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_599}}]] - 2024-03-12 22:55:51.235461: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_600' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_600}}]] - 2024-03-12 22:55:51.235497: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_601' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_601}}]] - 2024-03-12 22:55:51.235533: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_602' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_602}}]] - 2024-03-12 22:55:51.235569: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_603' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_603}}]] - 2024-03-12 22:55:51.235605: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_604' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_604}}]] - 2024-03-12 22:55:51.235644: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_608' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_608}}]] - 2024-03-12 22:55:51.235680: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_609' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_609}}]] - 2024-03-12 22:55:51.235716: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_610' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_610}}]] - 2024-03-12 22:55:51.235751: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_611' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_611}}]] - 2024-03-12 22:55:51.235788: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_612' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_612}}]] - 2024-03-12 22:55:51.235825: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_613' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_613}}]] - 2024-03-12 22:55:51.235864: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_614' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_614}}]] - 2024-03-12 22:55:51.235903: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_615' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_615}}]] - 2024-03-12 22:55:51.235939: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_618' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_618}}]] - 2024-03-12 22:55:51.235976: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_619' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_619}}]] - 2024-03-12 22:55:51.236013: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_620' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_620}}]] - 2024-03-12 22:55:51.236049: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_621' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_621}}]] - 2024-03-12 22:55:51.236085: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_622' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_622}}]] - 2024-03-12 22:55:51.236125: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_623' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_623}}]] - 2024-03-12 22:55:51.236163: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_624' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_624}}]] - 2024-03-12 22:55:51.236200: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_625' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_625}}]] - 2024-03-12 22:55:51.236236: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_626' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_626}}]] - 2024-03-12 22:55:51.236272: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_627' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_627}}]] - 2024-03-12 22:55:51.236311: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_631' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_631}}]] - 2024-03-12 22:55:51.236350: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_632' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_632}}]] - 2024-03-12 22:55:51.236387: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_633' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_633}}]] - 2024-03-12 22:55:51.236423: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_634' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_634}}]] - 2024-03-12 22:55:51.236460: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_635' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_635}}]] - 2024-03-12 22:55:51.236496: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_636' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_636}}]] - 2024-03-12 22:55:51.236533: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_637' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_637}}]] - 2024-03-12 22:55:51.236571: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_638' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_638}}]] - 2024-03-12 22:55:51.236608: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_641' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_641}}]] - 2024-03-12 22:55:51.236643: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_642' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_642}}]] - 2024-03-12 22:55:51.236680: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_643' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_643}}]] - 2024-03-12 22:55:51.236717: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_644' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_644}}]] - 2024-03-12 22:55:51.236755: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_645' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_645}}]] - 2024-03-12 22:55:51.236794: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_646' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_646}}]] - 2024-03-12 22:55:51.236832: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_647' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_647}}]] - 2024-03-12 22:55:51.236868: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_648' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_648}}]] - 2024-03-12 22:55:51.236905: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_650' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_650}}]] - 2024-03-12 22:55:51.236943: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_651' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_651}}]] - 2024-03-12 22:55:51.236983: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_654' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_654}}]] - 2024-03-12 22:55:51.237022: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_655' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_655}}]] - 2024-03-12 22:55:51.237059: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_656' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_656}}]] - 2024-03-12 22:55:51.237097: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_657' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_657}}]] - 2024-03-12 22:55:51.237134: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_658' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_658}}]] - 2024-03-12 22:55:51.237172: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_659' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_659}}]] - 2024-03-12 22:55:51.237210: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_660' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_660}}]] - 2024-03-12 22:55:51.237250: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_663' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_663}}]] - 2024-03-12 22:55:51.237286: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_664' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_664}}]] - 2024-03-12 22:55:51.237322: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_665' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_665}}]] - 2024-03-12 22:55:51.237359: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_666' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_666}}]] - 2024-03-12 22:55:51.237396: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_667' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_667}}]] - 2024-03-12 22:55:51.237438: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_668' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_668}}]] - 2024-03-12 22:55:51.237478: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_669' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_669}}]] - 2024-03-12 22:55:51.237517: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_670' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_670}}]] - 2024-03-12 22:55:51.237556: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_671' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_671}}]] - 2024-03-12 22:55:51.237593: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_675' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_675}}]] - 2024-03-12 22:55:51.237631: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_676' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_676}}]] - 2024-03-12 22:55:51.237668: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_677' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_677}}]] - 2024-03-12 22:55:51.237707: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_678' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_678}}]] - 2024-03-12 22:55:51.237744: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_679' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_679}}]] - 2024-03-12 22:55:51.237781: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_680' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_680}}]] - 2024-03-12 22:55:51.237817: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_681' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_681}}]] - 2024-03-12 22:55:51.237853: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_682' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_682}}]] - 2024-03-12 22:55:51.237890: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_685' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_685}}]] - 2024-03-12 22:55:51.237927: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_686' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_686}}]] - 2024-03-12 22:55:51.237966: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_687' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_687}}]] - 2024-03-12 22:55:51.238002: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_688' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_688}}]] - 2024-03-12 22:55:51.238039: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_689' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_689}}]] - 2024-03-12 22:55:51.238075: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_690' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_690}}]] - 2024-03-12 22:55:51.238112: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_691' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_691}}]] - 2024-03-12 22:55:51.238148: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_692' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_692}}]] - 2024-03-12 22:55:51.238185: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_693' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_693}}]] - 2024-03-12 22:55:51.238221: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_697' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_697}}]] - 2024-03-12 22:55:51.238258: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_698' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_698}}]] - 2024-03-12 22:55:51.238295: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_699' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_699}}]] - 2024-03-12 22:55:51.238334: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_700' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_700}}]] - 2024-03-12 22:55:51.238373: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_701' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_701}}]] - 2024-03-12 22:55:51.238411: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_702' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_702}}]] - 2024-03-12 22:55:51.238450: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_703' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_703}}]] - 2024-03-12 22:55:51.238487: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_704' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_704}}]] - 2024-03-12 22:55:51.238525: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_707' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_707}}]] - 2024-03-12 22:55:51.238563: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_708' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_708}}]] - 2024-03-12 22:55:51.238602: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_709' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_709}}]] - 2024-03-12 22:55:51.238641: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_710' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_710}}]] - 2024-03-12 22:55:51.238678: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_711' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_711}}]] - 2024-03-12 22:55:51.238714: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_712' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_712}}]] - 2024-03-12 22:55:51.238752: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_713' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_713}}]] - 2024-03-12 22:55:51.238791: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_714' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_714}}]] - 2024-03-12 22:55:51.238830: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_716' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_716}}]] - 2024-03-12 22:55:51.238868: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_717' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_717}}]] - 2024-03-12 22:55:51.238907: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_720' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_720}}]] - 2024-03-12 22:55:51.238946: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_721' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_721}}]] - 2024-03-12 22:55:51.238985: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_722' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_722}}]] - 2024-03-12 22:55:51.239024: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_723' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_723}}]] - 2024-03-12 22:55:51.239063: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_724' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_724}}]] - 2024-03-12 22:55:51.239102: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_725' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_725}}]] - 2024-03-12 22:55:51.239141: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_726' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_726}}]] - 2024-03-12 22:55:51.239180: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_729' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_729}}]] - 2024-03-12 22:55:51.239218: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_730' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_730}}]] - 2024-03-12 22:55:51.239257: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_731' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_731}}]] - 2024-03-12 22:55:51.239296: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_732' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_732}}]] - 2024-03-12 22:55:51.239335: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_733' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_733}}]] - 2024-03-12 22:55:51.239374: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_734' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_734}}]] - 2024-03-12 22:55:51.239412: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_735' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_735}}]] - 2024-03-12 22:55:51.239450: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_736' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_736}}]] - 2024-03-12 22:55:51.239489: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_737' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_737}}]] - 2024-03-12 22:55:51.239527: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_741' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_741}}]] - 2024-03-12 22:55:51.239566: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_742' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_742}}]] - 2024-03-12 22:55:51.239604: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_743' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_743}}]] - 2024-03-12 22:55:51.239643: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_744' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_744}}]] - 2024-03-12 22:55:51.239682: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_745' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_745}}]] - 2024-03-12 22:55:51.239720: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_746' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_746}}]] - 2024-03-12 22:55:51.239759: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_747' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_747}}]] - 2024-03-12 22:55:51.239798: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_748' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_748}}]] - 2024-03-12 22:55:51.239836: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_751' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_751}}]] - 2024-03-12 22:55:51.239874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_752' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_752}}]] - 2024-03-12 22:55:51.239913: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_753' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_753}}]] - 2024-03-12 22:55:51.239952: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_754' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_754}}]] - 2024-03-12 22:55:51.239991: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_755' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_755}}]] - 2024-03-12 22:55:51.240030: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_756' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_756}}]] - 2024-03-12 22:55:51.240068: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_757' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_757}}]] - 2024-03-12 22:55:51.240107: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_758' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_758}}]] - 2024-03-12 22:55:51.240146: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_759' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_759}}]] - 2024-03-12 22:55:51.240184: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_763' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_763}}]] - 2024-03-12 22:55:51.240222: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_764' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_764}}]] - 2024-03-12 22:55:51.240261: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_765' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_765}}]] - 2024-03-12 22:55:51.240299: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_766' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_766}}]] - 2024-03-12 22:55:51.240338: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_767' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_767}}]] - 2024-03-12 22:55:51.240377: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_768' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_768}}]] - 2024-03-12 22:55:51.240415: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_769' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_769}}]] - 2024-03-12 22:55:51.240453: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_770' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_770}}]] - 2024-03-12 22:55:51.240492: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_773' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_773}}]] - 2024-03-12 22:55:51.240531: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_774' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_774}}]] - 2024-03-12 22:55:51.240569: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_775' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_775}}]] - 2024-03-12 22:55:51.240608: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_776' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_776}}]] - 2024-03-12 22:55:51.240648: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_777' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_777}}]] - 2024-03-12 22:55:51.240687: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_778' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_778}}]] - 2024-03-12 22:55:51.240725: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_779' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_779}}]] - 2024-03-12 22:55:51.240764: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_780' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_780}}]] - 2024-03-12 22:55:51.240802: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_782' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_782}}]] - 2024-03-12 22:55:51.240842: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_783' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_783}}]] - 2024-03-12 22:55:51.240881: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_786' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_786}}]] - 2024-03-12 22:55:51.240920: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_787' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_787}}]] - 2024-03-12 22:55:51.240960: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_788' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_788}}]] - 2024-03-12 22:55:51.240999: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_789' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_789}}]] - 2024-03-12 22:55:51.241038: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_790' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_790}}]] - 2024-03-12 22:55:51.241077: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_791' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_791}}]] - 2024-03-12 22:55:51.241115: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_792' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_792}}]] - 2024-03-12 22:55:51.241155: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_795' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_795}}]] - 2024-03-12 22:55:51.241194: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_796' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_796}}]] - 2024-03-12 22:55:51.241232: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_797' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_797}}]] - 2024-03-12 22:55:51.241272: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_798' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_798}}]] - 2024-03-12 22:55:51.241311: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_799' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_799}}]] - 2024-03-12 22:55:51.241350: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_800' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_800}}]] - 2024-03-12 22:55:51.241389: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_801' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_801}}]] - 2024-03-12 22:55:51.241427: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_802' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_802}}]] - 2024-03-12 22:55:51.241489: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_803' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_803}}]] - 2024-03-12 22:55:51.241530: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_807' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_807}}]] - 2024-03-12 22:55:51.241569: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_808' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_808}}]] - 2024-03-12 22:55:51.241609: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_809' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_809}}]] - 2024-03-12 22:55:51.241648: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_810' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_810}}]] - 2024-03-12 22:55:51.241688: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_811' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_811}}]] - 2024-03-12 22:55:51.241728: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_812' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_812}}]] - 2024-03-12 22:55:51.241767: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_813' with dtype float and shape [?,1,1,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_813}}]] - 2024-03-12 22:55:51.241806: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_814' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_814}}]] - 2024-03-12 22:55:51.241845: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_817' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_817}}]] - 2024-03-12 22:55:51.241882: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_818' with dtype float and shape [32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_818}}]] - 2024-03-12 22:55:51.241919: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_819' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_819}}]] - 2024-03-12 22:55:51.241956: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_820' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_820}}]] - 2024-03-12 22:55:51.241995: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_821' with dtype float and shape [?,?,?,32,16] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_821}}]] - 2024-03-12 22:55:51.242033: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_822' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_822}}]] - 2024-03-12 22:55:51.242069: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_823' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_823}}]] - 2024-03-12 22:55:51.242106: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_824' with dtype float and shape [?,?,?,512] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_824}}]] - 2024-03-12 22:55:51.242143: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_825' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_825}}]] - 2024-03-12 22:55:51.242181: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_827' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_827}}]] - 2024-03-12 22:55:51.242218: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_833' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_833}}]] - 2024-03-12 22:55:51.242255: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_834' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_834}}]] - 2024-03-12 22:55:51.242293: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_835' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_835}}]] - 2024-03-12 22:55:51.242331: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_836' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_836}}]] - 2024-03-12 22:55:51.242369: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_837' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_837}}]] - 2024-03-12 22:55:51.242407: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_838' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_838}}]] - 2024-03-12 22:55:51.242444: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_839' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_839}}]] - 2024-03-12 22:55:51.242480: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_840' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_840}}]] - 2024-03-12 22:55:51.242517: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_845' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_845}}]] - 2024-03-12 22:55:51.242554: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_846' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_846}}]] - 2024-03-12 22:55:51.242591: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_847' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_847}}]] - 2024-03-12 22:55:51.242639: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_848' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_848}}]] - 2024-03-12 22:55:51.242675: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_849' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_849}}]] - 2024-03-12 22:55:51.242721: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_850' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_850}}]] - 2024-03-12 22:55:51.242756: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_851' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_851}}]] - 2024-03-12 22:55:51.242792: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_852' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_852}}]] - 2024-03-12 22:55:51.242827: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_854' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_854}}]] - 2024-03-12 22:55:51.242862: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_855' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_855}}]] - 2024-03-12 22:55:51.242896: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_858' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_858}}]] - 2024-03-12 22:55:51.242931: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_859' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_859}}]] - 2024-03-12 22:55:51.242966: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_860' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_860}}]] - 2024-03-12 22:55:51.243001: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_861' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_861}}]] - 2024-03-12 22:55:51.243037: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_862' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_862}}]] - 2024-03-12 22:55:51.243072: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_863' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_863}}]] - 2024-03-12 22:55:51.243107: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_864' with dtype float and shape [?,1,1,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_864}}]] - 2024-03-12 22:55:51.243142: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_867' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_867}}]] - 2024-03-12 22:55:51.243177: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_868' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_868}}]] - 2024-03-12 22:55:51.243212: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_869' with dtype float and shape [32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_869}}]] - 2024-03-12 22:55:51.243247: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_870' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_870}}]] - 2024-03-12 22:55:51.243282: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_871' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_871}}]] - 2024-03-12 22:55:51.243317: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_872' with dtype float and shape [?,?,?,32,4] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_872}}]] - 2024-03-12 22:55:51.243352: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_873' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_873}}]] - 2024-03-12 22:55:51.243387: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_874' with dtype float and shape [?,?,?,128] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_874}}]] - 2024-03-12 22:55:51.243422: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_878' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_878}}]] - 2024-03-12 22:55:51.243456: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_879' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_879}}]] - 2024-03-12 22:55:51.243491: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_880' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_880}}]] - 2024-03-12 22:55:51.243526: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_881' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_881}}]] - 2024-03-12 22:55:51.243561: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_882' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_882}}]] - 2024-03-12 22:55:51.243597: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_883' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_883}}]] - 2024-03-12 22:55:51.243632: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_884' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_884}}]] - 2024-03-12 22:55:51.243667: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_885' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_885}}]] - 2024-03-12 22:55:51.243703: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_888' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_888}}]] - 2024-03-12 22:55:51.243739: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_889' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_889}}]] - 2024-03-12 22:55:51.243774: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_890' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_890}}]] - 2024-03-12 22:55:51.243809: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_891' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_891}}]] - 2024-03-12 22:55:51.243845: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_892' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_892}}]] - 2024-03-12 22:55:51.243881: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_893' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_893}}]] - 2024-03-12 22:55:51.243916: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_894' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_894}}]] - 2024-03-12 22:55:51.243951: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_895' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_895}}]] - 2024-03-12 22:55:51.243986: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_896' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_896}}]] - 2024-03-12 22:55:51.244021: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_897' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_897}}]] - 2024-03-12 22:55:51.244057: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_901' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_901}}]] - 2024-03-12 22:55:51.244093: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_902' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_902}}]] - 2024-03-12 22:55:51.244128: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_903' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_903}}]] - 2024-03-12 22:55:51.244164: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_904' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_904}}]] - 2024-03-12 22:55:51.244199: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_905' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_905}}]] - 2024-03-12 22:55:51.244235: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_906' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_906}}]] - 2024-03-12 22:55:51.244270: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_907' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_907}}]] - 2024-03-12 22:55:51.244306: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_908' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_908}}]] - 2024-03-12 22:55:51.244341: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_911' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_911}}]] - 2024-03-12 22:55:51.244376: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_912' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_912}}]] - 2024-03-12 22:55:51.244411: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_913' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_913}}]] - 2024-03-12 22:55:51.244446: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_914' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_914}}]] - 2024-03-12 22:55:51.244481: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_915' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_915}}]] - 2024-03-12 22:55:51.244516: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_916' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_916}}]] - 2024-03-12 22:55:51.244551: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_917' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_917}}]] - 2024-03-12 22:55:51.244586: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_918' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_918}}]] - 2024-03-12 22:55:51.244620: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_920' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_920}}]] - 2024-03-12 22:55:51.244655: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_921' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_921}}]] - 2024-03-12 22:55:51.244690: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_924' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_924}}]] - 2024-03-12 22:55:51.244725: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_925' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_925}}]] - 2024-03-12 22:55:51.244760: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_926' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_926}}]] - 2024-03-12 22:55:51.244795: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_927' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_927}}]] - 2024-03-12 22:55:51.244830: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_928' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_928}}]] - 2024-03-12 22:55:51.244866: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_929' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_929}}]] - 2024-03-12 22:55:51.244903: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_930' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_930}}]] - 2024-03-12 22:55:51.244938: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_933' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_933}}]] - 2024-03-12 22:55:51.244973: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_934' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_934}}]] - 2024-03-12 22:55:51.245008: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_935' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_935}}]] - 2024-03-12 22:55:51.245043: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_936' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_936}}]] - 2024-03-12 22:55:51.245078: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_937' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_937}}]] - 2024-03-12 22:55:51.245113: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_938' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_938}}]] - 2024-03-12 22:55:51.245149: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_939' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_939}}]] - 2024-03-12 22:55:51.245184: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_940' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_940}}]] - 2024-03-12 22:55:51.245219: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_941' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_941}}]] - 2024-03-12 22:55:51.245255: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_945' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_945}}]] - 2024-03-12 22:55:51.245290: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_946' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_946}}]] - 2024-03-12 22:55:51.245325: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_947' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_947}}]] - 2024-03-12 22:55:51.245360: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_948' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_948}}]] - 2024-03-12 22:55:51.245395: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_949' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_949}}]] - 2024-03-12 22:55:51.245431: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_950' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_950}}]] - 2024-03-12 22:55:51.245489: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_951' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_951}}]] - 2024-03-12 22:55:51.245526: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_952' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_952}}]] - 2024-03-12 22:55:51.245564: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_955' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_955}}]] - 2024-03-12 22:55:51.245602: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_956' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_956}}]] - 2024-03-12 22:55:51.245638: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_957' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_957}}]] - 2024-03-12 22:55:51.245675: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_958' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_958}}]] - 2024-03-12 22:55:51.245712: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_959' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_959}}]] - 2024-03-12 22:55:51.245749: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_960' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_960}}]] - 2024-03-12 22:55:51.245785: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_961' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_961}}]] - 2024-03-12 22:55:51.245823: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_962' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_962}}]] - 2024-03-12 22:55:51.245860: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_963' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_963}}]] - 2024-03-12 22:55:51.245897: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_967' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_967}}]] - 2024-03-12 22:55:51.245934: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_968' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_968}}]] - 2024-03-12 22:55:51.245970: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_969' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_969}}]] - 2024-03-12 22:55:51.246007: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_970' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_970}}]] - 2024-03-12 22:55:51.246043: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_971' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_971}}]] - 2024-03-12 22:55:51.246080: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_972' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_972}}]] - 2024-03-12 22:55:51.246117: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_973' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_973}}]] - 2024-03-12 22:55:51.246153: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_974' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_974}}]] - 2024-03-12 22:55:51.246190: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_977' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_977}}]] - 2024-03-12 22:55:51.246227: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_978' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_978}}]] - 2024-03-12 22:55:51.246264: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_979' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_979}}]] - 2024-03-12 22:55:51.246300: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_980' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_980}}]] - 2024-03-12 22:55:51.246336: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_981' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_981}}]] - 2024-03-12 22:55:51.246372: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_982' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_982}}]] - 2024-03-12 22:55:51.246408: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_983' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_983}}]] - 2024-03-12 22:55:51.246445: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_984' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_984}}]] - 2024-03-12 22:55:51.246481: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_986' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_986}}]] - 2024-03-12 22:55:51.246518: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_987' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_987}}]] - 2024-03-12 22:55:51.246554: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_990' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_990}}]] - 2024-03-12 22:55:51.246590: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_991' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_991}}]] - 2024-03-12 22:55:51.246627: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_992' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_992}}]] - 2024-03-12 22:55:51.246663: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_993' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_993}}]] - 2024-03-12 22:55:51.246710: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_994' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_994}}]] - 2024-03-12 22:55:51.246744: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_995' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_995}}]] - 2024-03-12 22:55:51.246780: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_996' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_996}}]] - 2024-03-12 22:55:51.246815: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_999' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_999}}]] - 2024-03-12 22:55:51.246851: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1000' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1000}}]] - 2024-03-12 22:55:51.246886: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1001' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1001}}]] - 2024-03-12 22:55:51.246921: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1002' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1002}}]] - 2024-03-12 22:55:51.246957: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1003' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1003}}]] - 2024-03-12 22:55:51.246993: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1004' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1004}}]] - 2024-03-12 22:55:51.247028: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1005' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1005}}]] - 2024-03-12 22:55:51.247062: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1006' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1006}}]] - 2024-03-12 22:55:51.247097: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1007' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1007}}]] - 2024-03-12 22:55:51.247132: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1011' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1011}}]] - 2024-03-12 22:55:51.247166: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1012' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1012}}]] - 2024-03-12 22:55:51.247200: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1013' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1013}}]] - 2024-03-12 22:55:51.247236: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1014' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1014}}]] - 2024-03-12 22:55:51.247270: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1015' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1015}}]] - 2024-03-12 22:55:51.247306: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1016' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1016}}]] - 2024-03-12 22:55:51.247341: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1017' with dtype float and shape [?,1,1,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1017}}]] - 2024-03-12 22:55:51.247376: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1018' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1018}}]] - 2024-03-12 22:55:51.247410: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1021' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1021}}]] - 2024-03-12 22:55:51.247445: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1022' with dtype float and shape [32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1022}}]] - 2024-03-12 22:55:51.247480: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1023' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1023}}]] - 2024-03-12 22:55:51.247514: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1024' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1024}}]] - 2024-03-12 22:55:51.247549: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1025' with dtype float and shape [?,?,?,32,8] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1025}}]] - 2024-03-12 22:55:51.247584: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1026' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1026}}]] - 2024-03-12 22:55:51.247620: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1027' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1027}}]] - 2024-03-12 22:55:51.247654: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1028' with dtype float and shape [?,?,?,256] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1028}}]] - 2024-03-12 22:55:51.247690: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1029' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1029}}]] - 2024-03-12 22:55:51.247725: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1031' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1031}}]] - 2024-03-12 22:55:51.247761: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1037' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1037}}]] - 2024-03-12 22:55:51.247796: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1038' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1038}}]] - 2024-03-12 22:55:51.247832: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1039' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1039}}]] - 2024-03-12 22:55:51.247868: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1040' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1040}}]] - 2024-03-12 22:55:51.247903: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1041' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1041}}]] - 2024-03-12 22:55:51.247955: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1042' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1042}}]] - 2024-03-12 22:55:51.247992: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1043' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1043}}]] - 2024-03-12 22:55:51.248029: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1044' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1044}}]] - 2024-03-12 22:55:51.248065: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1049' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1049}}]] - 2024-03-12 22:55:51.248102: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1050' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1050}}]] - 2024-03-12 22:55:51.248139: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1051' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1051}}]] - 2024-03-12 22:55:51.248176: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1052' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1052}}]] - 2024-03-12 22:55:51.248213: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1053' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1053}}]] - 2024-03-12 22:55:51.248250: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1054' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1054}}]] - 2024-03-12 22:55:51.248288: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1055' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1055}}]] - 2024-03-12 22:55:51.248325: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1056' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1056}}]] - 2024-03-12 22:55:51.248361: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1058' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1058}}]] - 2024-03-12 22:55:51.248398: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1059' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1059}}]] - 2024-03-12 22:55:51.248434: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1062' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1062}}]] - 2024-03-12 22:55:51.248471: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1063' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1063}}]] - 2024-03-12 22:55:51.248508: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1064' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1064}}]] - 2024-03-12 22:55:51.248544: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1065' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1065}}]] - 2024-03-12 22:55:51.248580: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1066' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1066}}]] - 2024-03-12 22:55:51.248617: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1067' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1067}}]] - 2024-03-12 22:55:51.248655: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1068' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1068}}]] - 2024-03-12 22:55:51.248692: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1071' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1071}}]] - 2024-03-12 22:55:51.248728: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1072' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1072}}]] - 2024-03-12 22:55:51.248764: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1073' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1073}}]] - 2024-03-12 22:55:51.248800: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1074' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1074}}]] - 2024-03-12 22:55:51.248837: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1075' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1075}}]] - 2024-03-12 22:55:51.248874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1076' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1076}}]] - 2024-03-12 22:55:51.248911: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1077' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1077}}]] - 2024-03-12 22:55:51.248949: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1078' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1078}}]] - 2024-03-12 22:55:51.248986: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1082' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1082}}]] - 2024-03-12 22:55:51.249024: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1083' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1083}}]] - 2024-03-12 22:55:51.249061: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1084' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1084}}]] - 2024-03-12 22:55:51.249098: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1085' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1085}}]] - 2024-03-12 22:55:51.249146: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1086' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1086}}]] - 2024-03-12 22:55:51.249182: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1087' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1087}}]] - 2024-03-12 22:55:51.249217: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1088' with dtype float and shape [?,1,1,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1088}}]] - 2024-03-12 22:55:51.249252: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1089' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1089}}]] - 2024-03-12 22:55:51.249289: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1092' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1092}}]] - 2024-03-12 22:55:51.249325: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1093' with dtype float and shape [32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1093}}]] - 2024-03-12 22:55:51.249361: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1094' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1094}}]] - 2024-03-12 22:55:51.249397: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1095' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1095}}]] - 2024-03-12 22:55:51.249438: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1096' with dtype float and shape [?,?,?,32,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1096}}]] - 2024-03-12 22:55:51.249493: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1097' with dtype float and shape [?,1,1,32,1] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1097}}]] - 2024-03-12 22:55:51.249531: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1098' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1098}}]] - 2024-03-12 22:55:51.249569: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1101' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1101}}]] - 2024-03-12 22:55:51.249607: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1102' with dtype float and shape [?,?,?,64] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1102}}]] - 2024-03-12 22:55:51.249645: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1103' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1103}}]] - 2024-03-12 22:55:51.249683: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1105' with dtype int32 and shape [4,2] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1105}}]] - 2024-03-12 22:55:51.249721: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1106' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1106}}]] - 2024-03-12 22:55:51.249758: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1111' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1111}}]] - 2024-03-12 22:55:51.249795: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1112' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1112}}]] - 2024-03-12 22:55:51.249834: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1113' with dtype float - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1113}}]] - 2024-03-12 22:55:51.249871: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1114' with dtype float and shape [?,?,?,3] - [[{{node gradients/StatefulPartitionedCall_grad/StatefulPartitionedCall_1114}}]] - - -.. parsed-literal:: - - - 1/101 [..............................] - ETA: 46:22 - loss: 5.5159 - accuracy: 0.1484 - -.. parsed-literal:: - -  - 2/101 [..............................] - ETA: 15:12 - loss: 4.7963 - accuracy: 0.1719 - -.. parsed-literal:: - -  - 3/101 [..............................] - ETA: 15:03 - loss: 4.3933 - accuracy: 0.1719 - -.. parsed-literal:: - -  - 4/101 [>.............................] - ETA: 14:55 - loss: 4.1327 - accuracy: 0.1914 - -.. parsed-literal:: - -  - 5/101 [>.............................] - ETA: 14:46 - loss: 3.8522 - accuracy: 0.2266 - -.. parsed-literal:: - -  - 6/101 [>.............................] - ETA: 14:38 - loss: 3.6144 - accuracy: 0.2487 - -.. parsed-literal:: - -  - 7/101 [=>............................] - ETA: 14:28 - loss: 3.3752 - accuracy: 0.2846 - -.. parsed-literal:: - -  - 8/101 [=>............................] - ETA: 14:19 - loss: 3.1518 - accuracy: 0.3135 - -.. parsed-literal:: - -  - 9/101 [=>............................] - ETA: 14:11 - loss: 2.9632 - accuracy: 0.3438 - -.. parsed-literal:: - -  - 10/101 [=>............................] - ETA: 14:01 - loss: 2.7879 - accuracy: 0.3766 - -.. parsed-literal:: - -  - 11/101 [==>...........................] - ETA: 13:52 - loss: 2.6492 - accuracy: 0.4020 - -.. parsed-literal:: - -  - 12/101 [==>...........................] - ETA: 13:42 - loss: 2.4964 - accuracy: 0.4297 - -.. parsed-literal:: - -  - 13/101 [==>...........................] - ETA: 13:33 - loss: 2.3601 - accuracy: 0.4573 - -.. parsed-literal:: - -  - 14/101 [===>..........................] - ETA: 13:24 - loss: 2.2360 - accuracy: 0.4805 - -.. parsed-literal:: - -  - 15/101 [===>..........................] - ETA: 13:15 - loss: 2.1295 - accuracy: 0.5026 - -.. parsed-literal:: - -  - 16/101 [===>..........................] - ETA: 13:05 - loss: 2.0218 - accuracy: 0.5278 - -.. parsed-literal:: - -  - 17/101 [====>.........................] - ETA: 12:56 - loss: 1.9316 - accuracy: 0.5460 - -.. parsed-literal:: - -  - 18/101 [====>.........................] - ETA: 12:47 - loss: 1.8475 - accuracy: 0.5625 - -.. parsed-literal:: - -  - 19/101 [====>.........................] - ETA: 12:38 - loss: 1.7722 - accuracy: 0.5810 - -.. parsed-literal:: - -  - 20/101 [====>.........................] - ETA: 12:29 - loss: 1.7115 - accuracy: 0.5938 - -.. parsed-literal:: - -  - 21/101 [=====>........................] - ETA: 12:19 - loss: 1.6495 - accuracy: 0.6083 - -.. parsed-literal:: - -  - 22/101 [=====>........................] - ETA: 12:10 - loss: 1.5854 - accuracy: 0.6222 - -.. parsed-literal:: - -  - 23/101 [=====>........................] - ETA: 12:01 - loss: 1.5292 - accuracy: 0.6342 - -.. parsed-literal:: - -  - 24/101 [======>.......................] - ETA: 11:51 - loss: 1.4705 - accuracy: 0.6475 - -.. parsed-literal:: - -  - 25/101 [======>.......................] - ETA: 11:42 - loss: 1.4249 - accuracy: 0.6569 - -.. parsed-literal:: - -  - 26/101 [======>.......................] - ETA: 11:33 - loss: 1.3813 - accuracy: 0.6671 - -.. parsed-literal:: - -  - 27/101 [=======>......................] - ETA: 11:24 - loss: 1.3379 - accuracy: 0.6765 - -.. parsed-literal:: - -  - 28/101 [=======>......................] - ETA: 11:15 - loss: 1.3007 - accuracy: 0.6847 - -.. parsed-literal:: - -  - 29/101 [=======>......................] - ETA: 11:06 - loss: 1.2622 - accuracy: 0.6934 - -.. parsed-literal:: - -  - 30/101 [=======>......................] - ETA: 10:56 - loss: 1.2272 - accuracy: 0.7018 - -.. parsed-literal:: - -  - 31/101 [========>.....................] - ETA: 10:47 - loss: 1.1948 - accuracy: 0.7092 - -.. parsed-literal:: - -  - 32/101 [========>.....................] - ETA: 10:38 - loss: 1.1650 - accuracy: 0.7153 - -.. parsed-literal:: - -  - 33/101 [========>.....................] - ETA: 10:29 - loss: 1.1350 - accuracy: 0.7221 - -.. parsed-literal:: - -  - 34/101 [=========>....................] - ETA: 10:19 - loss: 1.1075 - accuracy: 0.7286 - -.. parsed-literal:: - -  - 35/101 [=========>....................] - ETA: 10:10 - loss: 1.0802 - accuracy: 0.7350 - -.. parsed-literal:: - -  - 36/101 [=========>....................] - ETA: 10:01 - loss: 1.0550 - accuracy: 0.7407 - -.. parsed-literal:: - -  - 37/101 [=========>....................] - ETA: 9:52 - loss: 1.0313 - accuracy: 0.7464 - -.. parsed-literal:: - -  - 38/101 [==========>...................] - ETA: 9:42 - loss: 1.0109 - accuracy: 0.7508 - -.. parsed-literal:: - -  - 39/101 [==========>...................] - ETA: 9:33 - loss: 0.9864 - accuracy: 0.7566 - -.. parsed-literal:: - -  - 40/101 [==========>...................] - ETA: 9:24 - loss: 0.9667 - accuracy: 0.7607 - -.. parsed-literal:: - -  - 41/101 [===========>..................] - ETA: 9:15 - loss: 0.9503 - accuracy: 0.7651 - -.. parsed-literal:: - -  - 42/101 [===========>..................] - ETA: 9:06 - loss: 0.9295 - accuracy: 0.7701 - -.. parsed-literal:: - -  - 43/101 [===========>..................] - ETA: 8:56 - loss: 0.9125 - accuracy: 0.7738 - -.. parsed-literal:: - -  - 44/101 [============>.................] - ETA: 8:47 - loss: 0.8942 - accuracy: 0.7782 - -.. parsed-literal:: - -  - 45/101 [============>.................] - ETA: 8:38 - loss: 0.8775 - accuracy: 0.7819 - -.. parsed-literal:: - -  - 46/101 [============>.................] - ETA: 8:29 - loss: 0.8600 - accuracy: 0.7860 - -.. parsed-literal:: - -  - 47/101 [============>.................] - ETA: 8:20 - loss: 0.8464 - accuracy: 0.7892 - -.. parsed-literal:: - -  - 48/101 [=============>................] - ETA: 8:10 - loss: 0.8302 - accuracy: 0.7935 - -.. parsed-literal:: - -  - 49/101 [=============>................] - ETA: 8:01 - loss: 0.8167 - accuracy: 0.7966 - -.. parsed-literal:: - -  - 50/101 [=============>................] - ETA: 7:52 - loss: 0.8028 - accuracy: 0.8000 - -.. parsed-literal:: - -  - 51/101 [==============>...............] - ETA: 7:43 - loss: 0.7899 - accuracy: 0.8033 - -.. parsed-literal:: - -  - 52/101 [==============>...............] - ETA: 7:33 - loss: 0.7774 - accuracy: 0.8063 - -.. parsed-literal:: - -  - 53/101 [==============>...............] - ETA: 7:24 - loss: 0.7660 - accuracy: 0.8093 - -.. parsed-literal:: - -  - 54/101 [===============>..............] - ETA: 7:15 - loss: 0.7541 - accuracy: 0.8119 - -.. parsed-literal:: - -  - 55/101 [===============>..............] - ETA: 7:05 - loss: 0.7422 - accuracy: 0.8143 - -.. parsed-literal:: - -  - 56/101 [===============>..............] - ETA: 6:56 - loss: 0.7300 - accuracy: 0.8174 - -.. parsed-literal:: - -  - 57/101 [===============>..............] - ETA: 6:47 - loss: 0.7201 - accuracy: 0.8198 - -.. parsed-literal:: - -  - 58/101 [================>.............] - ETA: 6:38 - loss: 0.7093 - accuracy: 0.8223 - -.. parsed-literal:: - -  - 59/101 [================>.............] - ETA: 6:28 - loss: 0.6991 - accuracy: 0.8248 - -.. parsed-literal:: - -  - 60/101 [================>.............] - ETA: 6:19 - loss: 0.6890 - accuracy: 0.8273 - -.. parsed-literal:: - -  - 61/101 [=================>............] - ETA: 6:10 - loss: 0.6792 - accuracy: 0.8297 - -.. parsed-literal:: - -  - 62/101 [=================>............] - ETA: 6:01 - loss: 0.6700 - accuracy: 0.8318 - -.. parsed-literal:: - -  - 63/101 [=================>............] - ETA: 5:51 - loss: 0.6613 - accuracy: 0.8338 - -.. parsed-literal:: - -  - 64/101 [==================>...........] - ETA: 5:42 - loss: 0.6542 - accuracy: 0.8356 - -.. parsed-literal:: - -  - 65/101 [==================>...........] - ETA: 5:33 - loss: 0.6490 - accuracy: 0.8370 - -.. parsed-literal:: - -  - 66/101 [==================>...........] - ETA: 5:24 - loss: 0.6408 - accuracy: 0.8390 - -.. parsed-literal:: - -  - 67/101 [==================>...........] - ETA: 5:14 - loss: 0.6336 - accuracy: 0.8405 - -.. parsed-literal:: - -  - 68/101 [===================>..........] - ETA: 5:05 - loss: 0.6260 - accuracy: 0.8423 - -.. parsed-literal:: - -  - 69/101 [===================>..........] - ETA: 4:56 - loss: 0.6181 - accuracy: 0.8441 - -.. parsed-literal:: - -  - 70/101 [===================>..........] - ETA: 4:47 - loss: 0.6110 - accuracy: 0.8456 - -.. parsed-literal:: - -  - 71/101 [====================>.........] - ETA: 4:37 - loss: 0.6030 - accuracy: 0.8476 - -.. parsed-literal:: - -  - 72/101 [====================>.........] - ETA: 4:28 - loss: 0.5966 - accuracy: 0.8492 - -.. parsed-literal:: - -  - 73/101 [====================>.........] - ETA: 4:19 - loss: 0.5892 - accuracy: 0.8509 - -.. parsed-literal:: - -  - 74/101 [====================>.........] - ETA: 4:10 - loss: 0.5830 - accuracy: 0.8525 - -.. parsed-literal:: - -  - 75/101 [=====================>........] - ETA: 4:00 - loss: 0.5771 - accuracy: 0.8540 - -.. parsed-literal:: - -  - 76/101 [=====================>........] - ETA: 3:51 - loss: 0.5707 - accuracy: 0.8553 - -.. parsed-literal:: - -  - 77/101 [=====================>........] - ETA: 3:42 - loss: 0.5668 - accuracy: 0.8563 - -.. parsed-literal:: - -  - 78/101 [======================>.......] - ETA: 3:33 - loss: 0.5600 - accuracy: 0.8581 - -.. parsed-literal:: - -  - 79/101 [======================>.......] - ETA: 3:23 - loss: 0.5535 - accuracy: 0.8597 - -.. parsed-literal:: - -  - 80/101 [======================>.......] - ETA: 3:14 - loss: 0.5471 - accuracy: 0.8611 - -.. parsed-literal:: - -  - 81/101 [=======================>......] - ETA: 3:05 - loss: 0.5407 - accuracy: 0.8628 - -.. parsed-literal:: - -  - 82/101 [=======================>......] - ETA: 2:55 - loss: 0.5345 - accuracy: 0.8643 - -.. parsed-literal:: - -  - 83/101 [=======================>......] - ETA: 2:46 - loss: 0.5295 - accuracy: 0.8655 - -.. parsed-literal:: - -  - 84/101 [=======================>......] - ETA: 2:37 - loss: 0.5235 - accuracy: 0.8670 - -.. parsed-literal:: - -  - 85/101 [========================>.....] - ETA: 2:28 - loss: 0.5177 - accuracy: 0.8685 - -.. parsed-literal:: - -  - 86/101 [========================>.....] - ETA: 2:18 - loss: 0.5123 - accuracy: 0.8698 - -.. parsed-literal:: - -  - 87/101 [========================>.....] - ETA: 2:09 - loss: 0.5073 - accuracy: 0.8710 - -.. parsed-literal:: - -  - 88/101 [=========================>....] - ETA: 2:00 - loss: 0.5020 - accuracy: 0.8722 - -.. parsed-literal:: - -  - 89/101 [=========================>....] - ETA: 1:51 - loss: 0.4967 - accuracy: 0.8736 - -.. parsed-literal:: - -  - 90/101 [=========================>....] - ETA: 1:41 - loss: 0.4923 - accuracy: 0.8748 - -.. parsed-literal:: - -  - 91/101 [==========================>...] - ETA: 1:32 - loss: 0.4873 - accuracy: 0.8761 - -.. parsed-literal:: - -  - 92/101 [==========================>...] - ETA: 1:23 - loss: 0.4821 - accuracy: 0.8775 - -.. parsed-literal:: - -  - 93/101 [==========================>...] - ETA: 1:14 - loss: 0.4774 - accuracy: 0.8787 - -.. parsed-literal:: - -  - 94/101 [==========================>...] - ETA: 1:04 - loss: 0.4734 - accuracy: 0.8795 - -.. parsed-literal:: - -  - 95/101 [===========================>..] - ETA: 55s - loss: 0.4685 - accuracy: 0.8808 - -.. parsed-literal:: - -  - 96/101 [===========================>..] - ETA: 46s - loss: 0.4639 - accuracy: 0.8820 - -.. parsed-literal:: - -  - 97/101 [===========================>..] - ETA: 37s - loss: 0.4597 - accuracy: 0.8831 - -.. parsed-literal:: - -  - 98/101 [============================>.] - ETA: 27s - loss: 0.4557 - accuracy: 0.8840 - -.. parsed-literal:: - -  - 99/101 [============================>.] - ETA: 18s - loss: 0.4524 - accuracy: 0.8848 - -.. parsed-literal:: - -  -100/101 [============================>.] - ETA: 9s - loss: 0.4492 - accuracy: 0.8857 - -.. parsed-literal:: - -  -101/101 [==============================] - ETA: 0s - loss: 0.4470 - accuracy: 0.8862 - -.. parsed-literal:: - - 2024-03-12 23:11:37.488331: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [1] - [[{{node Placeholder/_0}}]] - 2024-03-12 23:11:37.488859: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] - [[{{node Placeholder/_1}}]] - - -.. parsed-literal:: - -  -101/101 [==============================] - 968s 9s/step - loss: 0.4470 - accuracy: 0.8862 - val_loss: 0.0844 - val_accuracy: 0.9800 - - -.. parsed-literal:: - - WARNING:absl:Found untraced functions such as _update_step_xla while saving (showing 1 of 1). These functions will not be directly callable after loading. - - -Perform model optimization (IR) step -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - ir_path = Path("./bit_ov_model/bit_m_r50x1_1.xml") - if not ir_path.exists(): - print("Initiating model optimization..!!!") - ov_model = ov.convert_model("./bit_tf_model") - ov.save_model(ov_model, ir_path) - else: - print(f"IR model {ir_path} already exists.") - - -.. parsed-literal:: - - Initiating model optimization..!!! - - -Compute accuracy of the TF model -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - tf_model = tf.keras.models.load_model("./bit_tf_model/") - - tf_predictions = [] - gt_label = [] - - for _, label in validation_dataset: - for cls_label in label: - l_list = cls_label.numpy().tolist() - gt_label.append(l_list.index(1)) - - for img_batch, label_batch in validation_dataset: - tf_result_batch = tf_model.predict(img_batch, verbose=0) - for i in range(len(img_batch)): - tf_result = tf_result_batch[i] - tf_result = tf.reshape(tf_result, [-1]) - top5_label_idx = np.argsort(tf_result)[-MAX_PREDS::][::-1] - tf_predictions.append(top5_label_idx) - - # Convert the lists to NumPy arrays for accuracy calculation - tf_predictions = np.array(tf_predictions) - gt_label = np.array(gt_label) - - tf_acc_score = accuracy_score(tf_predictions, gt_label) - - - -.. parsed-literal:: - - 2024-03-12 23:12:15.853507: W tensorflow/core/common_runtime/graph_constructor.cc:812] Node 're_lu_48/PartitionedCall' has 1 outputs but the _output_shapes attribute specifies shapes for 2 outputs. Output shapes may be inaccurate. - 2024-03-12 23:12:15.853549: W tensorflow/core/common_runtime/graph_constructor.cc:812] Node 'global_average_pooling2d/PartitionedCall' has 1 outputs but the _output_shapes attribute specifies shapes for 4 outputs. Output shapes may be inaccurate. - - -.. parsed-literal:: - - 2024-03-12 23:12:18.002587: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_2' with dtype string and shape [1] - [[{{node Placeholder/_2}}]] - 2024-03-12 23:12:18.003104: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [1] - [[{{node Placeholder/_0}}]] - - -Compute accuracy of the OpenVINO model -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Select device for inference: - -.. code:: ipython3 - - import ipywidgets as widgets - - core = ov.Core() - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -.. code:: ipython3 - - ov_fp32_model = core.read_model("./bit_ov_model/bit_m_r50x1_1.xml") - ov_fp32_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) - - # Target device set to CPU (Other options Ex: AUTO/GPU/dGPU/) - compiled_model = ov.compile_model(ov_fp32_model, device.value) - output = compiled_model.outputs[0] - - ov_predictions = [] - for img_batch, _ in validation_dataset: - for image in img_batch: - image = tf.expand_dims(image, axis=0) - pred = compiled_model(image)[output] - ov_result = tf.reshape(pred, [-1]) - top_label_idx = np.argsort(ov_result)[-MAX_PREDS::][::-1] - ov_predictions.append(top_label_idx) - - fp32_acc_score = accuracy_score(ov_predictions, gt_label) - - -Quantize OpenVINO model using NNCF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Model Quantization using NNCF - -1. Preprocessing and preparing validation samples for NNCF calibration -2. Perform NNCF Quantization on OpenVINO FP32 model -3. Serialize Quantized OpenVINO INT8 model - -.. code:: ipython3 - - def nncf_preprocessing(image, label): - image = tf.image.resize(image, IMG_SIZE) - image = image - MEAN_RGB - image = image / STDDEV_RGB - return image - - val_ds = (validation_ds.map(nncf_preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE) - .batch(1) - .prefetch(tf.data.experimental.AUTOTUNE)) - - calibration_dataset = nncf.Dataset(val_ds) - - ov_fp32_model = core.read_model("./bit_ov_model/bit_m_r50x1_1.xml") - - ov_int8_model = nncf.quantize(ov_fp32_model, calibration_dataset, fast_bias_correction=False) - - ov.save_model(ov_int8_model, "./bit_ov_int8_model/bit_m_r50x1_1_ov_int8.xml") - - - -.. parsed-literal:: - - Output() - - -.. parsed-literal:: - - 2024-03-12 23:12:51.514824: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_3' with dtype int64 and shape [1] - [[{{node Placeholder/_3}}]] - 2024-03-12 23:12:51.515930: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] - [[{{node Placeholder/_1}}]] - - - -.. raw:: html - -

-
-
-
-
-.. raw:: html
-
-    
-    
- - - - -.. parsed-literal:: - - Output() - - - -.. raw:: html - -

-
-
-
-
-.. raw:: html
-
-    
-    
- - - -Compute accuracy of the quantized model -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - nncf_quantized_model = core.read_model("./bit_ov_int8_model/bit_m_r50x1_1_ov_int8.xml") - nncf_quantized_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) - - # Target device set to CPU by default - compiled_model = ov.compile_model(nncf_quantized_model, device.value) - output = compiled_model.outputs[0] - - ov_predictions = [] - inp_tensor = nncf_quantized_model.inputs[0] - out_tensor = nncf_quantized_model.outputs[0] - - for img_batch, _ in validation_dataset: - for image in img_batch: - image = tf.expand_dims(image, axis=0) - pred = compiled_model(image)[output] - ov_result = tf.reshape(pred, [-1]) - top_label_idx = np.argsort(ov_result)[-MAX_PREDS::][::-1] - ov_predictions.append(top_label_idx) - - int8_acc_score = accuracy_score(ov_predictions, gt_label) - - -Compare FP32 and INT8 accuracy -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - print(f"Accuracy of the tensorflow model (fp32): {tf_acc_score * 100: .2f}%") - print(f"Accuracy of the OpenVINO optimized model (fp32): {fp32_acc_score * 100: .2f}%") - print(f"Accuracy of the OpenVINO quantized model (int8): {int8_acc_score * 100: .2f}%") - accuracy_drop = fp32_acc_score - int8_acc_score - print(f"Accuracy drop between OV FP32 and INT8 model: {accuracy_drop * 100:.1f}% ") - - -.. parsed-literal:: - - Accuracy of the tensorflow model (fp32): 98.00% - Accuracy of the OpenVINO optimized model (fp32): 98.00% - Accuracy of the OpenVINO quantized model (int8): 97.60% - Accuracy drop between OV FP32 and INT8 model: 0.4% - - -Compare inference results on one picture -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - - # Accessing validation sample - sample_idx = 50 - vds = datasets['validation'] - - if len(vds) > sample_idx: - sample = vds.take(sample_idx + 1).skip(sample_idx).as_numpy_iterator().next() - else: - print("Dataset does not have enough samples...!!!") - - # Image data - sample_data = sample[0] - - # Label info - sample_label = sample[1] - - # Image data pre-processing - image = tf.image.resize(sample_data, IMG_SIZE) - image = tf.expand_dims(image, axis=0) - image = tf.cast(image, tf.float32) / 255.0 - - # OpenVINO inference - def ov_inference(model: ov.Model, image) -> str: - compiled_model = ov.compile_model(model, device.value) - output = compiled_model.outputs[0] - pred = compiled_model(image)[output] - ov_result = tf.reshape(pred, [-1]) - pred_label = np.argsort(ov_result)[-MAX_PREDS::][::-1] - return pred_label - - # OpenVINO FP32 model - ov_fp32_model = core.read_model("./bit_ov_model/bit_m_r50x1_1.xml") - ov_fp32_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) - - # OpenVINO INT8 model - ov_int8_model = core.read_model("./bit_ov_int8_model/bit_m_r50x1_1_ov_int8.xml") - ov_int8_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) - - # OpenVINO FP32 model inference - ov_fp32_pred_label = ov_inference(ov_fp32_model, image) - - print(f"Predicted label for the sample picture by float (fp32) model: {label_func(class_idx_dict[int(ov_fp32_pred_label)])}\n") - - # OpenVINO FP32 model inference - ov_int8_pred_label = ov_inference(ov_int8_model, image) - print(f"Predicted label for the sample picture by qunatized (int8) model: {label_func(class_idx_dict[int(ov_int8_pred_label)])}\n") - - # Plotting the image sample with ground truth - plt.figure() - plt.imshow(sample_data) - plt.title(f"Ground truth: {label_func(class_idx_dict[sample_label])}") - plt.axis('off') - plt.show() - - - -.. parsed-literal:: - - 2024-03-12 23:13:18.735254: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] - [[{{node Placeholder/_1}}]] - 2024-03-12 23:13:18.735969: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [1] - [[{{node Placeholder/_0}}]] - - -.. parsed-literal:: - - Predicted label for the sample picture by float (fp32) model: gas pump - - - -.. parsed-literal:: - - Predicted label for the sample picture by qunatized (int8) model: gas pump - - - - -.. image:: 127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_27_3.png - diff --git a/docs/notebooks/201-vision-monodepth-with-output_files/201-vision-monodepth-with-output_18_0.png b/docs/notebooks/201-vision-monodepth-with-output_files/201-vision-monodepth-with-output_18_0.png deleted file mode 100644 index 40d91a2b7fb..00000000000 --- a/docs/notebooks/201-vision-monodepth-with-output_files/201-vision-monodepth-with-output_18_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b34292be5a7f36c97469fb2faade2c42313b9aca447b82000dc7f200c27d6936 -size 959858 diff --git a/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_15_1.png b/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_15_1.png deleted file mode 100644 index 281443bd352..00000000000 --- a/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_15_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f3ddf966495258f0b36306e712331bb834c9942b673c30732869fe36a7b2870 -size 272963 diff --git a/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_17_1.png b/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_17_1.png deleted file mode 100644 index 88d304315c5..00000000000 --- a/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_17_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:302db7065eda5e95c2a5ace7947e0b249607176f03c675cbecb4444863f61bda -size 356735 diff --git a/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_23_1.png b/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_23_1.png deleted file mode 100644 index 716519b0d46..00000000000 --- a/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_23_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b67df1028d23d7d8fb290ba823cf2aaa90e8f85cb7f12b4369b6e33097c60598 -size 2896276 diff --git a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_16_1.png b/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_16_1.png deleted file mode 100644 index 52a1b757cb6..00000000000 --- a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_16_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:08c5ae3bb47e095d707bdaa7f8008bed7eeb1f672c82ae4d63334e665ec3e4d8 -size 170121 diff --git a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_18_1.png b/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_18_1.png deleted file mode 100644 index 7151cac5e2d..00000000000 --- a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_18_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6433ef738eeb00f8d0dc4343ab289073c76321d2e12fe46318fbe374b0f745e2 -size 190271 diff --git a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_20_1.png b/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_20_1.png deleted file mode 100644 index 05c23937df9..00000000000 --- a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_20_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d67df91f05c9aeb0442a1c4aaef7527cf27e9be0938642eed807f8b5342aa7b -size 26914 diff --git a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_22_1.png b/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_22_1.png deleted file mode 100644 index 61e57d642da..00000000000 --- a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_22_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:50b9f932b844d99b59b51f2c6947dd048f96bf1553fe36de3975d3a3ad1715e4 -size 8966 diff --git a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_24_1.png b/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_24_1.png deleted file mode 100644 index b113bcf292f..00000000000 --- a/docs/notebooks/203-meter-reader-with-output_files/203-meter-reader-with-output_24_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad7114f80f8925643c865222d0fe0e05d4f65ab54e0b0d354edebe3e5c1ade7c -size 170338 diff --git a/docs/notebooks/206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_15_0.png b/docs/notebooks/206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_15_0.png deleted file mode 100644 index 623586161e4..00000000000 --- a/docs/notebooks/206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_15_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b3a7a7dc706211aa7a85dec17f006f5387589e36e4a8059d8193b00f5f55e86 -size 1810982 diff --git a/docs/notebooks/206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_37_0.png b/docs/notebooks/206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_37_0.png deleted file mode 100644 index 2775c25ed40..00000000000 --- a/docs/notebooks/206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_37_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8e6c2fe95f40761617ff964a0f27a1eae819ca534ef0d8df795d33e6a7f8fd4d -size 1931637 diff --git a/docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_26_1.png b/docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_26_1.png deleted file mode 100644 index 0ee9ba4eb0f..00000000000 --- a/docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_26_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf8ac482631fd4e8ab0b7e5e91ef98b2537a71d76510abc48048cc5f4e904451 -size 436999 diff --git a/docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_30_1.png b/docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_30_1.png deleted file mode 100644 index 985413dca68..00000000000 --- a/docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_30_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a597c2a365347925dd30285744d1df1b9e09471f5a8379195d8485356e2902b -size 476190 diff --git a/docs/notebooks/208-optical-character-recognition-with-output.rst b/docs/notebooks/208-optical-character-recognition-with-output.rst deleted file mode 100644 index 465acacef98..00000000000 --- a/docs/notebooks/208-optical-character-recognition-with-output.rst +++ /dev/null @@ -1,23695 +0,0 @@ -Optical Character Recognition (OCR) with OpenVINO™ -================================================== - -This tutorial demonstrates how to perform optical character recognition -(OCR) with OpenVINO models. It is a continuation of the -`004-hello-detection <004-hello-detection-with-output.html>`__ -tutorial, which shows only text detection. - -The -`horizontal-text-detection-0001 `__ -and -`text-recognition-resnet `__ -models are used together for text detection and then text recognition. - -In this tutorial, Open Model Zoo tools including Model Downloader, Model -Converter and Info Dumper are used to download and convert the models -from `Open Model -Zoo `__. For more -information, refer to the -`104-model-tools <104-model-tools-with-output.html>`__ tutorial. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Imports <#imports>`__ -- `Settings <#settings>`__ -- `Download Models <#download-models>`__ -- `Convert Models <#convert-models>`__ -- `Select inference device <#select-inference-device>`__ -- `Object Detection <#object-detection>`__ - - - `Load a Detection Model <#load-a-detection-model>`__ - - `Load an Image <#load-an-image>`__ - - `Do Inference <#do-inference>`__ - - `Get Detection Results <#get-detection-results>`__ - -- `Text Recognition <#text-recognition>`__ - - - `Load Text Recognition Model <#load-text-recognition-model>`__ - - `Do Inference <#do-inference>`__ - -- `Show Results <#show-results>`__ - - - `Show Detected Text Boxes and OCR Results for the - Image <#show-detected-text-boxes-and-ocr-results-for-the-image>`__ - - `Show the OCR Result per Bounding - Box <#show-the-ocr-result-per-bounding-box>`__ - - `Print Annotations in Plain Text - Format <#print-annotations-in-plain-text-format>`__ - -.. code:: ipython3 - - import platform - - # Install openvino-dev package - %pip install -q "openvino-dev>=2024.0.0" onnx - - if platform.system() != "Windows": - %pip install -q "matplotlib>=3.4" - else: - %pip install -q "matplotlib>=3.4,<3.7" - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Imports -------- - - - -.. code:: ipython3 - - from pathlib import Path - - import cv2 - import matplotlib.pyplot as plt - import numpy as np - import openvino as ov - from IPython.display import Markdown, display - from PIL import Image - - # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ) - from notebook_utils import load_image - -Settings --------- - - - -.. code:: ipython3 - - core = ov.Core() - - model_dir = Path("model") - precision = "FP16" - detection_model = "horizontal-text-detection-0001" - recognition_model = "text-recognition-resnet-fc" - - model_dir.mkdir(exist_ok=True) - -Download Models ---------------- - - - -The next cells will run Model Downloader to download the detection and -recognition models. If the models have been downloaded before, they will -not be downloaded again. - -.. code:: ipython3 - - download_command = f"omz_downloader --name {detection_model},{recognition_model} --output_dir {model_dir} --cache_dir {model_dir} --precision {precision} --num_attempts 5" - display(Markdown(f"Download command: `{download_command}`")) - display(Markdown(f"Downloading {detection_model}, {recognition_model}...")) - !$download_command - display(Markdown(f"Finished downloading {detection_model}, {recognition_model}.")) - - detection_model_path = (model_dir / "intel/horizontal-text-detection-0001" / precision / detection_model).with_suffix(".xml") - recognition_model_path = (model_dir / "public/text-recognition-resnet-fc" / precision / recognition_model).with_suffix(".xml") - - - -Download command: -``omz_downloader --name horizontal-text-detection-0001,text-recognition-resnet-fc --output_dir model --cache_dir model --precision FP16 --num_attempts 5`` - - - -Downloading horizontal-text-detection-0001, text-recognition-resnet-fc… - - -.. parsed-literal:: - - ################|| Downloading horizontal-text-detection-0001 ||################ - - ========== Downloading model/intel/horizontal-text-detection-0001/FP16/horizontal-text-detection-0001.xml - - -.. parsed-literal:: - - ... 3%, 32 KB, 960 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 7%, 64 KB, 988 KB/s, 0 seconds passed -... 11%, 96 KB, 1458 KB/s, 0 seconds passed -... 15%, 128 KB, 1747 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 19%, 160 KB, 1645 KB/s, 0 seconds passed -... 23%, 192 KB, 1953 KB/s, 0 seconds passed -... 27%, 224 KB, 2239 KB/s, 0 seconds passed -... 31%, 256 KB, 2535 KB/s, 0 seconds passed -... 35%, 288 KB, 2804 KB/s, 0 seconds passed -... 39%, 320 KB, 2461 KB/s, 0 seconds passed -... 43%, 352 KB, 2680 KB/s, 0 seconds passed -... 47%, 384 KB, 2904 KB/s, 0 seconds passed -... 51%, 416 KB, 3125 KB/s, 0 seconds passed -... 54%, 448 KB, 3340 KB/s, 0 seconds passed -... 58%, 480 KB, 3555 KB/s, 0 seconds passed -... 62%, 512 KB, 3766 KB/s, 0 seconds passed -... 66%, 544 KB, 3973 KB/s, 0 seconds passed -... 70%, 576 KB, 4186 KB/s, 0 seconds passed -... 74%, 608 KB, 4383 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 78%, 640 KB, 3949 KB/s, 0 seconds passed -... 82%, 672 KB, 4126 KB/s, 0 seconds passed -... 86%, 704 KB, 4313 KB/s, 0 seconds passed -... 90%, 736 KB, 4451 KB/s, 0 seconds passed -... 94%, 768 KB, 4621 KB/s, 0 seconds passed -... 98%, 800 KB, 4804 KB/s, 0 seconds passed -... 100%, 815 KB, 4865 KB/s, 0 seconds passed - - - ========== Downloading model/intel/horizontal-text-detection-0001/FP16/horizontal-text-detection-0001.bin - - -.. parsed-literal:: - - ... 0%, 32 KB, 953 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 1%, 64 KB, 959 KB/s, 0 seconds passed -... 2%, 96 KB, 1429 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 3%, 128 KB, 1274 KB/s, 0 seconds passed -... 4%, 160 KB, 1585 KB/s, 0 seconds passed -... 5%, 192 KB, 1895 KB/s, 0 seconds passed -... 5%, 224 KB, 2203 KB/s, 0 seconds passed -... 6%, 256 KB, 2510 KB/s, 0 seconds passed -... 7%, 288 KB, 2126 KB/s, 0 seconds passed -... 8%, 320 KB, 2355 KB/s, 0 seconds passed -... 9%, 352 KB, 2584 KB/s, 0 seconds passed -... 10%, 384 KB, 2813 KB/s, 0 seconds passed -... 10%, 416 KB, 3041 KB/s, 0 seconds passed -... 11%, 448 KB, 3268 KB/s, 0 seconds passed -... 12%, 480 KB, 3493 KB/s, 0 seconds passed -... 13%, 512 KB, 3716 KB/s, 0 seconds passed -... 14%, 544 KB, 3940 KB/s, 0 seconds passed -... 15%, 576 KB, 4164 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 16%, 608 KB, 3613 KB/s, 0 seconds passed -... 16%, 640 KB, 3780 KB/s, 0 seconds passed -... 17%, 672 KB, 3960 KB/s, 0 seconds passed -... 18%, 704 KB, 4141 KB/s, 0 seconds passed -... 19%, 736 KB, 4320 KB/s, 0 seconds passed -... 20%, 768 KB, 4499 KB/s, 0 seconds passed -... 21%, 800 KB, 4678 KB/s, 0 seconds passed -... 21%, 832 KB, 4856 KB/s, 0 seconds passed -... 22%, 864 KB, 5035 KB/s, 0 seconds passed -... 23%, 896 KB, 5212 KB/s, 0 seconds passed -... 24%, 928 KB, 5389 KB/s, 0 seconds passed -... 25%, 960 KB, 5565 KB/s, 0 seconds passed -... 26%, 992 KB, 5740 KB/s, 0 seconds passed -... 27%, 1024 KB, 5915 KB/s, 0 seconds passed -... 27%, 1056 KB, 6089 KB/s, 0 seconds passed -... 28%, 1088 KB, 6259 KB/s, 0 seconds passed -... 29%, 1120 KB, 6432 KB/s, 0 seconds passed -... 30%, 1152 KB, 6605 KB/s, 0 seconds passed -... 31%, 1184 KB, 5891 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 32%, 1216 KB, 6000 KB/s, 0 seconds passed -... 32%, 1248 KB, 6145 KB/s, 0 seconds passed -... 33%, 1280 KB, 6293 KB/s, 0 seconds passed -... 34%, 1312 KB, 6439 KB/s, 0 seconds passed -... 35%, 1344 KB, 6587 KB/s, 0 seconds passed -... 36%, 1376 KB, 6719 KB/s, 0 seconds passed -... 37%, 1408 KB, 6865 KB/s, 0 seconds passed -... 38%, 1440 KB, 7010 KB/s, 0 seconds passed -... 38%, 1472 KB, 7155 KB/s, 0 seconds passed -... 39%, 1504 KB, 7300 KB/s, 0 seconds passed -... 40%, 1536 KB, 7444 KB/s, 0 seconds passed -... 41%, 1568 KB, 7588 KB/s, 0 seconds passed -... 42%, 1600 KB, 7731 KB/s, 0 seconds passed -... 43%, 1632 KB, 7875 KB/s, 0 seconds passed -... 43%, 1664 KB, 8017 KB/s, 0 seconds passed -... 44%, 1696 KB, 8160 KB/s, 0 seconds passed -... 45%, 1728 KB, 8302 KB/s, 0 seconds passed -... 46%, 1760 KB, 8443 KB/s, 0 seconds passed -... 47%, 1792 KB, 8584 KB/s, 0 seconds passed -... 48%, 1824 KB, 8725 KB/s, 0 seconds passed -... 49%, 1856 KB, 8865 KB/s, 0 seconds passed -... 49%, 1888 KB, 9004 KB/s, 0 seconds passed -... 50%, 1920 KB, 9143 KB/s, 0 seconds passed -... 51%, 1952 KB, 9283 KB/s, 0 seconds passed -... 52%, 1984 KB, 9421 KB/s, 0 seconds passed -... 53%, 2016 KB, 9560 KB/s, 0 seconds passed -... 54%, 2048 KB, 9697 KB/s, 0 seconds passed -... 54%, 2080 KB, 9835 KB/s, 0 seconds passed -... 55%, 2112 KB, 9972 KB/s, 0 seconds passed -... 56%, 2144 KB, 10109 KB/s, 0 seconds passed -... 57%, 2176 KB, 10245 KB/s, 0 seconds passed -... 58%, 2208 KB, 10382 KB/s, 0 seconds passed -... 59%, 2240 KB, 10518 KB/s, 0 seconds passed -... 60%, 2272 KB, 10653 KB/s, 0 seconds passed -... 60%, 2304 KB, 10787 KB/s, 0 seconds passed -... 61%, 2336 KB, 10922 KB/s, 0 seconds passed -... 62%, 2368 KB, 11057 KB/s, 0 seconds passed -... 63%, 2400 KB, 10197 KB/s, 0 seconds passed -... 64%, 2432 KB, 10314 KB/s, 0 seconds passed -... 65%, 2464 KB, 10388 KB/s, 0 seconds passed -... 65%, 2496 KB, 10501 KB/s, 0 seconds passed -... 66%, 2528 KB, 10620 KB/s, 0 seconds passed -... 67%, 2560 KB, 10740 KB/s, 0 seconds passed -... 68%, 2592 KB, 10861 KB/s, 0 seconds passed -... 69%, 2624 KB, 10917 KB/s, 0 seconds passed -... 70%, 2656 KB, 11035 KB/s, 0 seconds passed -... 70%, 2688 KB, 11154 KB/s, 0 seconds passed -... 71%, 2720 KB, 11272 KB/s, 0 seconds passed -... 72%, 2752 KB, 11390 KB/s, 0 seconds passed -... 73%, 2784 KB, 11508 KB/s, 0 seconds passed -... 74%, 2816 KB, 11626 KB/s, 0 seconds passed -... 75%, 2848 KB, 11743 KB/s, 0 seconds passed -... 76%, 2880 KB, 11860 KB/s, 0 seconds passed -... 76%, 2912 KB, 11977 KB/s, 0 seconds passed -... 77%, 2944 KB, 12094 KB/s, 0 seconds passed -... 78%, 2976 KB, 12210 KB/s, 0 seconds passed -... 79%, 3008 KB, 12326 KB/s, 0 seconds passed -... 80%, 3040 KB, 12441 KB/s, 0 seconds passed -... 81%, 3072 KB, 12557 KB/s, 0 seconds passed -... 81%, 3104 KB, 12672 KB/s, 0 seconds passed -... 82%, 3136 KB, 12787 KB/s, 0 seconds passed -... 83%, 3168 KB, 12901 KB/s, 0 seconds passed -... 84%, 3200 KB, 13015 KB/s, 0 seconds passed -... 85%, 3232 KB, 13127 KB/s, 0 seconds passed -... 86%, 3264 KB, 13241 KB/s, 0 seconds passed -... 87%, 3296 KB, 13354 KB/s, 0 seconds passed -... 87%, 3328 KB, 13468 KB/s, 0 seconds passed -... 88%, 3360 KB, 13582 KB/s, 0 seconds passed -... 89%, 3392 KB, 13696 KB/s, 0 seconds passed -... 90%, 3424 KB, 13810 KB/s, 0 seconds passed -... 91%, 3456 KB, 13924 KB/s, 0 seconds passed -... 92%, 3488 KB, 14038 KB/s, 0 seconds passed -... 92%, 3520 KB, 14152 KB/s, 0 seconds passed -... 93%, 3552 KB, 14265 KB/s, 0 seconds passed -... 94%, 3584 KB, 14378 KB/s, 0 seconds passed -... 95%, 3616 KB, 14490 KB/s, 0 seconds passed -... 96%, 3648 KB, 14602 KB/s, 0 seconds passed -... 97%, 3680 KB, 14715 KB/s, 0 seconds passed -... 98%, 3712 KB, 14827 KB/s, 0 seconds passed -... 98%, 3744 KB, 14940 KB/s, 0 seconds passed -... 99%, 3776 KB, 15052 KB/s, 0 seconds passed -... 100%, 3786 KB, 15075 KB/s, 0 seconds passed - - - -.. parsed-literal:: - - - ################|| Downloading text-recognition-resnet-fc ||################ - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 291 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 763 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/model.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 2787 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/weight_init.py - - -.. parsed-literal:: - - ... 100%, 3 KB, 11757 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 273 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 903 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 732 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/fc_head.py - - -.. parsed-literal:: - - ... 100%, 1 KB, 7162 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 330 KB/s, 0 seconds passed - - - -.. parsed-literal:: - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1590 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1358 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 460 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/body.py - - -.. parsed-literal:: - - ... 100%, 1 KB, 4989 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/component.py - - -.. parsed-literal:: - - ... 100%, 1 KB, 6068 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 691 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1866 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 642 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 841 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 2905 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 497 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 885 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 320 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 741 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/bricks.py - - -.. parsed-literal:: - - ... 100%, 6 KB, 21015 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1591 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 302 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 592 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1931 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 454 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 946 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 310 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/resnet.py - - -.. parsed-literal:: - - ... 100%, 8 KB, 27413 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 412 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1051 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 390 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 985 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/builder.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1494 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/conv_module.py - - -.. parsed-literal:: - - ... 100%, 7 KB, 22765 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/fc_module.py - - -.. parsed-literal:: - - ... 100%, 2 KB, 10546 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/norm.py - - -.. parsed-literal:: - - ... 100%, 1 KB, 6804 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/registry.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 297 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1168 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/common.py - - -.. parsed-literal:: - - ... 100%, 3 KB, 12244 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/registry.py - - -.. parsed-literal:: - - ... 100%, 1 KB, 5221 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/config.py - - -.. parsed-literal:: - - ... 100%, 5 KB, 17294 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/configs/resnet_fc.py - - -.. parsed-literal:: - - ... 100%, 8 KB, 25803 KB/s, 0 seconds passed - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/ckpt/resnet_fc.pth - - -.. parsed-literal:: - - ... 0%, 32 KB, 413 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 64 KB, 522 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 96 KB, 573 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 128 KB, 601 KB/s, 0 seconds passed -... 0%, 160 KB, 750 KB/s, 0 seconds passed -... 0%, 192 KB, 895 KB/s, 0 seconds passed -... 0%, 224 KB, 1040 KB/s, 0 seconds passed -... 0%, 256 KB, 1186 KB/s, 0 seconds passed -... 0%, 288 KB, 1331 KB/s, 0 seconds passed -... 0%, 320 KB, 1475 KB/s, 0 seconds passed -... 0%, 352 KB, 1620 KB/s, 0 seconds passed -... 0%, 384 KB, 1764 KB/s, 0 seconds passed -... 0%, 416 KB, 1907 KB/s, 0 seconds passed -... 0%, 448 KB, 2051 KB/s, 0 seconds passed -... 0%, 480 KB, 2163 KB/s, 0 seconds passed -... 0%, 512 KB, 2303 KB/s, 0 seconds passed -... 0%, 544 KB, 2397 KB/s, 0 seconds passed -... 0%, 576 KB, 2533 KB/s, 0 seconds passed -... 0%, 608 KB, 2669 KB/s, 0 seconds passed -... 0%, 640 KB, 2805 KB/s, 0 seconds passed -... 0%, 672 KB, 2940 KB/s, 0 seconds passed -... 0%, 704 KB, 3074 KB/s, 0 seconds passed -... 0%, 736 KB, 3209 KB/s, 0 seconds passed -... 0%, 768 KB, 3343 KB/s, 0 seconds passed -... 0%, 800 KB, 3477 KB/s, 0 seconds passed -... 0%, 832 KB, 3610 KB/s, 0 seconds passed -... 0%, 864 KB, 3742 KB/s, 0 seconds passed -... 0%, 896 KB, 3875 KB/s, 0 seconds passed -... 0%, 928 KB, 4007 KB/s, 0 seconds passed -... 0%, 960 KB, 4138 KB/s, 0 seconds passed -... 0%, 992 KB, 4269 KB/s, 0 seconds passed -... 0%, 1024 KB, 4399 KB/s, 0 seconds passed -... 0%, 1056 KB, 4529 KB/s, 0 seconds passed -... 0%, 1088 KB, 4659 KB/s, 0 seconds passed -... 0%, 1120 KB, 4788 KB/s, 0 seconds passed -... 0%, 1152 KB, 4916 KB/s, 0 seconds passed -... 0%, 1184 KB, 5045 KB/s, 0 seconds passed -... 0%, 1216 KB, 5173 KB/s, 0 seconds passed -... 0%, 1248 KB, 5300 KB/s, 0 seconds passed -... 0%, 1280 KB, 5428 KB/s, 0 seconds passed -... 0%, 1312 KB, 5555 KB/s, 0 seconds passed -... 0%, 1344 KB, 5680 KB/s, 0 seconds passed -... 0%, 1376 KB, 5806 KB/s, 0 seconds passed -... 0%, 1408 KB, 5931 KB/s, 0 seconds passed -... 0%, 1440 KB, 6056 KB/s, 0 seconds passed -... 0%, 1472 KB, 6181 KB/s, 0 seconds passed -... 0%, 1504 KB, 6306 KB/s, 0 seconds passed -... 0%, 1536 KB, 6430 KB/s, 0 seconds passed -... 0%, 1568 KB, 6554 KB/s, 0 seconds passed -... 0%, 1600 KB, 6677 KB/s, 0 seconds passed -... 0%, 1632 KB, 6800 KB/s, 0 seconds passed -... 0%, 1664 KB, 6924 KB/s, 0 seconds passed -... 0%, 1696 KB, 7050 KB/s, 0 seconds passed -... 0%, 1728 KB, 7175 KB/s, 0 seconds passed -... 0%, 1760 KB, 7300 KB/s, 0 seconds passed -... 0%, 1792 KB, 7426 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 1824 KB, 7551 KB/s, 0 seconds passed -... 0%, 1856 KB, 7676 KB/s, 0 seconds passed -... 0%, 1888 KB, 7801 KB/s, 0 seconds passed -... 0%, 1920 KB, 7925 KB/s, 0 seconds passed -... 0%, 1952 KB, 8049 KB/s, 0 seconds passed -... 0%, 1984 KB, 8173 KB/s, 0 seconds passed -... 0%, 2016 KB, 8296 KB/s, 0 seconds passed -... 0%, 2048 KB, 8420 KB/s, 0 seconds passed -... 0%, 2080 KB, 8543 KB/s, 0 seconds passed -... 0%, 2112 KB, 8665 KB/s, 0 seconds passed -... 0%, 2144 KB, 8788 KB/s, 0 seconds passed -... 0%, 2176 KB, 8910 KB/s, 0 seconds passed -... 0%, 2208 KB, 9032 KB/s, 0 seconds passed -... 0%, 2240 KB, 9153 KB/s, 0 seconds passed -... 0%, 2272 KB, 9275 KB/s, 0 seconds passed -... 0%, 2304 KB, 9396 KB/s, 0 seconds passed -... 0%, 2336 KB, 9517 KB/s, 0 seconds passed -... 0%, 2368 KB, 9638 KB/s, 0 seconds passed -... 0%, 2400 KB, 9759 KB/s, 0 seconds passed -... 0%, 2432 KB, 9879 KB/s, 0 seconds passed -... 0%, 2464 KB, 10000 KB/s, 0 seconds passed -... 0%, 2496 KB, 10119 KB/s, 0 seconds passed -... 0%, 2528 KB, 10239 KB/s, 0 seconds passed -... 0%, 2560 KB, 10359 KB/s, 0 seconds passed -... 0%, 2592 KB, 10478 KB/s, 0 seconds passed -... 0%, 2624 KB, 10597 KB/s, 0 seconds passed -... 0%, 2656 KB, 10715 KB/s, 0 seconds passed -... 0%, 2688 KB, 10834 KB/s, 0 seconds passed -... 0%, 2720 KB, 10952 KB/s, 0 seconds passed -... 0%, 2752 KB, 11070 KB/s, 0 seconds passed -... 0%, 2784 KB, 11188 KB/s, 0 seconds passed -... 0%, 2816 KB, 11304 KB/s, 0 seconds passed -... 0%, 2848 KB, 11421 KB/s, 0 seconds passed -... 0%, 2880 KB, 11538 KB/s, 0 seconds passed -... 0%, 2912 KB, 11656 KB/s, 0 seconds passed -... 0%, 2944 KB, 11776 KB/s, 0 seconds passed -... 0%, 2976 KB, 11897 KB/s, 0 seconds passed -... 0%, 3008 KB, 12016 KB/s, 0 seconds passed -... 0%, 3040 KB, 12136 KB/s, 0 seconds passed -... 0%, 3072 KB, 12256 KB/s, 0 seconds passed -... 0%, 3104 KB, 12375 KB/s, 0 seconds passed -... 0%, 3136 KB, 12495 KB/s, 0 seconds passed -... 0%, 3168 KB, 12614 KB/s, 0 seconds passed -... 0%, 3200 KB, 12733 KB/s, 0 seconds passed -... 0%, 3232 KB, 12852 KB/s, 0 seconds passed -... 0%, 3264 KB, 12971 KB/s, 0 seconds passed -... 0%, 3296 KB, 13090 KB/s, 0 seconds passed -... 0%, 3328 KB, 13208 KB/s, 0 seconds passed -... 0%, 3360 KB, 13326 KB/s, 0 seconds passed -... 0%, 3392 KB, 13444 KB/s, 0 seconds passed -... 0%, 3424 KB, 13562 KB/s, 0 seconds passed -... 0%, 3456 KB, 13679 KB/s, 0 seconds passed -... 0%, 3488 KB, 13797 KB/s, 0 seconds passed -... 0%, 3520 KB, 13914 KB/s, 0 seconds passed -... 0%, 3552 KB, 14031 KB/s, 0 seconds passed -... 0%, 3584 KB, 14140 KB/s, 0 seconds passed -... 0%, 3616 KB, 14251 KB/s, 0 seconds passed -... 0%, 3648 KB, 14362 KB/s, 0 seconds passed -... 0%, 3680 KB, 14473 KB/s, 0 seconds passed -... 0%, 3712 KB, 14587 KB/s, 0 seconds passed -... 0%, 3744 KB, 14695 KB/s, 0 seconds passed -... 0%, 3776 KB, 14799 KB/s, 0 seconds passed -... 0%, 3808 KB, 14909 KB/s, 0 seconds passed -... 0%, 3840 KB, 15015 KB/s, 0 seconds passed -... 0%, 3872 KB, 15125 KB/s, 0 seconds passed -... 0%, 3904 KB, 15234 KB/s, 0 seconds passed -... 0%, 3936 KB, 15347 KB/s, 0 seconds passed -... 0%, 3968 KB, 15453 KB/s, 0 seconds passed -... 0%, 4000 KB, 15561 KB/s, 0 seconds passed -... 0%, 4032 KB, 15663 KB/s, 0 seconds passed -... 0%, 4064 KB, 15771 KB/s, 0 seconds passed -... 0%, 4096 KB, 15879 KB/s, 0 seconds passed -... 0%, 4128 KB, 15986 KB/s, 0 seconds passed -... 0%, 4160 KB, 16094 KB/s, 0 seconds passed -... 0%, 4192 KB, 16202 KB/s, 0 seconds passed -... 0%, 4224 KB, 16312 KB/s, 0 seconds passed -... 0%, 4256 KB, 16419 KB/s, 0 seconds passed -... 0%, 4288 KB, 16512 KB/s, 0 seconds passed -... 0%, 4320 KB, 16609 KB/s, 0 seconds passed -... 0%, 4352 KB, 16721 KB/s, 0 seconds passed -... 0%, 4384 KB, 16832 KB/s, 0 seconds passed -... 0%, 4416 KB, 16938 KB/s, 0 seconds passed -... 0%, 4448 KB, 17040 KB/s, 0 seconds passed -... 0%, 4480 KB, 17153 KB/s, 0 seconds passed -... 0%, 4512 KB, 17258 KB/s, 0 seconds passed -... 0%, 4544 KB, 17355 KB/s, 0 seconds passed -... 0%, 4576 KB, 17450 KB/s, 0 seconds passed -... 0%, 4608 KB, 17559 KB/s, 0 seconds passed -... 0%, 4640 KB, 17671 KB/s, 0 seconds passed -... 0%, 4672 KB, 17776 KB/s, 0 seconds passed -... 0%, 4704 KB, 17876 KB/s, 0 seconds passed -... 0%, 4736 KB, 17973 KB/s, 0 seconds passed -... 0%, 4768 KB, 18072 KB/s, 0 seconds passed -... 0%, 4800 KB, 18165 KB/s, 0 seconds passed -... 0%, 4832 KB, 18273 KB/s, 0 seconds passed -... 0%, 4864 KB, 18383 KB/s, 0 seconds passed -... 0%, 4896 KB, 18481 KB/s, 0 seconds passed -... 0%, 4928 KB, 18573 KB/s, 0 seconds passed -... 0%, 4960 KB, 18666 KB/s, 0 seconds passed -... 0%, 4992 KB, 18759 KB/s, 0 seconds passed -... 0%, 5024 KB, 18869 KB/s, 0 seconds passed -... 0%, 5056 KB, 18980 KB/s, 0 seconds passed -... 0%, 5088 KB, 19091 KB/s, 0 seconds passed -... 0%, 5120 KB, 19185 KB/s, 0 seconds passed -... 0%, 5152 KB, 19285 KB/s, 0 seconds passed -... 0%, 5184 KB, 19383 KB/s, 0 seconds passed -... 0%, 5216 KB, 19483 KB/s, 0 seconds passed -... 0%, 5248 KB, 19583 KB/s, 0 seconds passed -... 0%, 5280 KB, 19683 KB/s, 0 seconds passed -... 0%, 5312 KB, 19787 KB/s, 0 seconds passed -... 0%, 5344 KB, 19412 KB/s, 0 seconds passed -... 0%, 5376 KB, 19440 KB/s, 0 seconds passed -... 0%, 5408 KB, 19526 KB/s, 0 seconds passed -... 0%, 5440 KB, 19613 KB/s, 0 seconds passed -... 0%, 5472 KB, 19702 KB/s, 0 seconds passed -... 0%, 5504 KB, 19791 KB/s, 0 seconds passed -... 0%, 5536 KB, 19880 KB/s, 0 seconds passed -... 0%, 5568 KB, 19970 KB/s, 0 seconds passed -... 0%, 5600 KB, 20060 KB/s, 0 seconds passed -... 0%, 5632 KB, 20145 KB/s, 0 seconds passed -... 0%, 5664 KB, 20233 KB/s, 0 seconds passed -... 0%, 5696 KB, 20322 KB/s, 0 seconds passed -... 0%, 5728 KB, 20408 KB/s, 0 seconds passed -... 0%, 5760 KB, 20496 KB/s, 0 seconds passed -... 0%, 5792 KB, 20582 KB/s, 0 seconds passed -... 0%, 5824 KB, 20671 KB/s, 0 seconds passed -... 0%, 5856 KB, 20759 KB/s, 0 seconds passed -... 0%, 5888 KB, 20841 KB/s, 0 seconds passed -... 0%, 5920 KB, 20927 KB/s, 0 seconds passed -... 0%, 5952 KB, 21012 KB/s, 0 seconds passed -... 0%, 5984 KB, 21098 KB/s, 0 seconds passed -... 0%, 6016 KB, 21184 KB/s, 0 seconds passed -... 0%, 6048 KB, 21269 KB/s, 0 seconds passed -... 0%, 6080 KB, 21353 KB/s, 0 seconds passed -... 0%, 6112 KB, 21439 KB/s, 0 seconds passed -... 0%, 6144 KB, 21520 KB/s, 0 seconds passed -... 0%, 6176 KB, 21604 KB/s, 0 seconds passed -... 0%, 6208 KB, 21688 KB/s, 0 seconds passed -... 0%, 6240 KB, 21773 KB/s, 0 seconds passed -... 0%, 6272 KB, 21857 KB/s, 0 seconds passed -... 0%, 6304 KB, 21941 KB/s, 0 seconds passed -... 0%, 6336 KB, 22025 KB/s, 0 seconds passed -... 0%, 6368 KB, 22109 KB/s, 0 seconds passed -... 0%, 6400 KB, 22187 KB/s, 0 seconds passed -... 0%, 6432 KB, 22269 KB/s, 0 seconds passed -... 0%, 6464 KB, 22352 KB/s, 0 seconds passed -... 0%, 6496 KB, 22434 KB/s, 0 seconds passed -... 0%, 6528 KB, 22517 KB/s, 0 seconds passed -... 0%, 6560 KB, 22603 KB/s, 0 seconds passed -... 0%, 6592 KB, 22695 KB/s, 0 seconds passed -... 0%, 6624 KB, 22787 KB/s, 0 seconds passed -... 0%, 6656 KB, 22879 KB/s, 0 seconds passed -... 0%, 6688 KB, 22970 KB/s, 0 seconds passed -... 0%, 6720 KB, 23061 KB/s, 0 seconds passed -... 0%, 6752 KB, 23153 KB/s, 0 seconds passed -... 0%, 6784 KB, 23243 KB/s, 0 seconds passed -... 0%, 6816 KB, 23334 KB/s, 0 seconds passed -... 0%, 6848 KB, 23425 KB/s, 0 seconds passed -... 0%, 6880 KB, 23514 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 6912 KB, 23603 KB/s, 0 seconds passed -... 0%, 6944 KB, 23693 KB/s, 0 seconds passed -... 1%, 6976 KB, 23784 KB/s, 0 seconds passed -... 1%, 7008 KB, 23874 KB/s, 0 seconds passed -... 1%, 7040 KB, 23963 KB/s, 0 seconds passed -... 1%, 7072 KB, 24053 KB/s, 0 seconds passed -... 1%, 7104 KB, 24144 KB/s, 0 seconds passed -... 1%, 7136 KB, 24233 KB/s, 0 seconds passed -... 1%, 7168 KB, 24323 KB/s, 0 seconds passed -... 1%, 7200 KB, 24412 KB/s, 0 seconds passed -... 1%, 7232 KB, 24501 KB/s, 0 seconds passed -... 1%, 7264 KB, 24590 KB/s, 0 seconds passed -... 1%, 7296 KB, 24679 KB/s, 0 seconds passed -... 1%, 7328 KB, 24768 KB/s, 0 seconds passed -... 1%, 7360 KB, 24854 KB/s, 0 seconds passed -... 1%, 7392 KB, 24942 KB/s, 0 seconds passed -... 1%, 7424 KB, 25029 KB/s, 0 seconds passed -... 1%, 7456 KB, 25116 KB/s, 0 seconds passed -... 1%, 7488 KB, 25203 KB/s, 0 seconds passed -... 1%, 7520 KB, 25290 KB/s, 0 seconds passed -... 1%, 7552 KB, 25378 KB/s, 0 seconds passed -... 1%, 7584 KB, 25466 KB/s, 0 seconds passed -... 1%, 7616 KB, 25554 KB/s, 0 seconds passed -... 1%, 7648 KB, 25640 KB/s, 0 seconds passed -... 1%, 7680 KB, 25727 KB/s, 0 seconds passed -... 1%, 7712 KB, 25814 KB/s, 0 seconds passed -... 1%, 7744 KB, 25900 KB/s, 0 seconds passed -... 1%, 7776 KB, 25987 KB/s, 0 seconds passed -... 1%, 7808 KB, 26074 KB/s, 0 seconds passed -... 1%, 7840 KB, 26159 KB/s, 0 seconds passed -... 1%, 7872 KB, 26244 KB/s, 0 seconds passed -... 1%, 7904 KB, 26329 KB/s, 0 seconds passed -... 1%, 7936 KB, 26413 KB/s, 0 seconds passed -... 1%, 7968 KB, 26497 KB/s, 0 seconds passed -... 1%, 8000 KB, 26589 KB/s, 0 seconds passed -... 1%, 8032 KB, 26681 KB/s, 0 seconds passed -... 1%, 8064 KB, 26773 KB/s, 0 seconds passed -... 1%, 8096 KB, 26866 KB/s, 0 seconds passed -... 1%, 8128 KB, 26958 KB/s, 0 seconds passed -... 1%, 8160 KB, 27050 KB/s, 0 seconds passed -... 1%, 8192 KB, 27140 KB/s, 0 seconds passed -... 1%, 8224 KB, 27233 KB/s, 0 seconds passed -... 1%, 8256 KB, 27325 KB/s, 0 seconds passed -... 1%, 8288 KB, 27416 KB/s, 0 seconds passed -... 1%, 8320 KB, 27508 KB/s, 0 seconds passed -... 1%, 8352 KB, 27599 KB/s, 0 seconds passed -... 1%, 8384 KB, 27691 KB/s, 0 seconds passed -... 1%, 8416 KB, 27782 KB/s, 0 seconds passed -... 1%, 8448 KB, 27860 KB/s, 0 seconds passed -... 1%, 8480 KB, 27942 KB/s, 0 seconds passed -... 1%, 8512 KB, 28023 KB/s, 0 seconds passed -... 1%, 8544 KB, 28099 KB/s, 0 seconds passed -... 1%, 8576 KB, 28180 KB/s, 0 seconds passed -... 1%, 8608 KB, 28260 KB/s, 0 seconds passed -... 1%, 8640 KB, 28346 KB/s, 0 seconds passed -... 1%, 8672 KB, 28427 KB/s, 0 seconds passed -... 1%, 8704 KB, 28492 KB/s, 0 seconds passed -... 1%, 8736 KB, 28572 KB/s, 0 seconds passed -... 1%, 8768 KB, 28653 KB/s, 0 seconds passed -... 1%, 8800 KB, 28728 KB/s, 0 seconds passed -... 1%, 8832 KB, 28812 KB/s, 0 seconds passed -... 1%, 8864 KB, 28887 KB/s, 0 seconds passed -... 1%, 8896 KB, 28976 KB/s, 0 seconds passed -... 1%, 8928 KB, 29051 KB/s, 0 seconds passed -... 1%, 8960 KB, 29120 KB/s, 0 seconds passed -... 1%, 8992 KB, 29199 KB/s, 0 seconds passed -... 1%, 9024 KB, 29273 KB/s, 0 seconds passed -... 1%, 9056 KB, 29352 KB/s, 0 seconds passed -... 1%, 9088 KB, 29430 KB/s, 0 seconds passed -... 1%, 9120 KB, 29509 KB/s, 0 seconds passed -... 1%, 9152 KB, 29582 KB/s, 0 seconds passed -... 1%, 9184 KB, 29660 KB/s, 0 seconds passed -... 1%, 9216 KB, 29738 KB/s, 0 seconds passed -... 1%, 9248 KB, 29826 KB/s, 0 seconds passed -... 1%, 9280 KB, 29421 KB/s, 0 seconds passed -... 1%, 9312 KB, 29480 KB/s, 0 seconds passed -... 1%, 9344 KB, 29552 KB/s, 0 seconds passed -... 1%, 9376 KB, 29639 KB/s, 0 seconds passed -... 1%, 9408 KB, 29716 KB/s, 0 seconds passed -... 1%, 9440 KB, 29802 KB/s, 0 seconds passed -... 1%, 9472 KB, 29874 KB/s, 0 seconds passed -... 1%, 9504 KB, 29935 KB/s, 0 seconds passed -... 1%, 9536 KB, 30006 KB/s, 0 seconds passed -... 1%, 9568 KB, 30089 KB/s, 0 seconds passed -... 1%, 9600 KB, 30175 KB/s, 0 seconds passed -... 1%, 9632 KB, 30245 KB/s, 0 seconds passed -... 1%, 9664 KB, 30308 KB/s, 0 seconds passed -... 1%, 9696 KB, 30378 KB/s, 0 seconds passed -... 1%, 9728 KB, 30466 KB/s, 0 seconds passed -... 1%, 9760 KB, 30535 KB/s, 0 seconds passed -... 1%, 9792 KB, 30605 KB/s, 0 seconds passed -... 1%, 9824 KB, 30680 KB/s, 0 seconds passed -... 1%, 9856 KB, 30754 KB/s, 0 seconds passed -... 1%, 9888 KB, 30829 KB/s, 0 seconds passed -... 1%, 9920 KB, 30899 KB/s, 0 seconds passed -... 1%, 9952 KB, 30982 KB/s, 0 seconds passed -... 1%, 9984 KB, 31057 KB/s, 0 seconds passed -... 1%, 10016 KB, 31116 KB/s, 0 seconds passed -... 1%, 10048 KB, 31190 KB/s, 0 seconds passed -... 1%, 10080 KB, 31255 KB/s, 0 seconds passed -... 1%, 10112 KB, 31315 KB/s, 0 seconds passed -... 1%, 10144 KB, 31383 KB/s, 0 seconds passed -... 1%, 10176 KB, 31465 KB/s, 0 seconds passed -... 1%, 10208 KB, 31548 KB/s, 0 seconds passed -... 1%, 10240 KB, 31630 KB/s, 0 seconds passed -... 1%, 10272 KB, 31692 KB/s, 0 seconds passed -... 1%, 10304 KB, 31759 KB/s, 0 seconds passed -... 1%, 10336 KB, 31833 KB/s, 0 seconds passed -... 1%, 10368 KB, 31906 KB/s, 0 seconds passed -... 1%, 10400 KB, 31979 KB/s, 0 seconds passed -... 1%, 10432 KB, 32051 KB/s, 0 seconds passed -... 1%, 10464 KB, 32128 KB/s, 0 seconds passed -... 1%, 10496 KB, 32201 KB/s, 0 seconds passed -... 1%, 10528 KB, 32257 KB/s, 0 seconds passed -... 1%, 10560 KB, 32330 KB/s, 0 seconds passed -... 1%, 10592 KB, 32401 KB/s, 0 seconds passed -... 1%, 10624 KB, 32468 KB/s, 0 seconds passed -... 1%, 10656 KB, 32540 KB/s, 0 seconds passed -... 1%, 10688 KB, 32611 KB/s, 0 seconds passed -... 1%, 10720 KB, 32693 KB/s, 0 seconds passed -... 1%, 10752 KB, 32760 KB/s, 0 seconds passed -... 1%, 10784 KB, 32820 KB/s, 0 seconds passed -... 1%, 10816 KB, 32886 KB/s, 0 seconds passed -... 1%, 10848 KB, 32958 KB/s, 0 seconds passed -... 1%, 10880 KB, 33028 KB/s, 0 seconds passed -... 1%, 10912 KB, 33099 KB/s, 0 seconds passed -... 1%, 10944 KB, 33164 KB/s, 0 seconds passed -... 1%, 10976 KB, 33245 KB/s, 0 seconds passed -... 1%, 11008 KB, 33316 KB/s, 0 seconds passed -... 1%, 11040 KB, 33381 KB/s, 0 seconds passed -... 1%, 11072 KB, 33451 KB/s, 0 seconds passed -... 1%, 11104 KB, 33511 KB/s, 0 seconds passed -... 1%, 11136 KB, 33575 KB/s, 0 seconds passed -... 1%, 11168 KB, 33645 KB/s, 0 seconds passed -... 1%, 11200 KB, 33715 KB/s, 0 seconds passed -... 1%, 11232 KB, 33796 KB/s, 0 seconds passed -... 1%, 11264 KB, 33855 KB/s, 0 seconds passed -... 1%, 11296 KB, 33924 KB/s, 0 seconds passed -... 1%, 11328 KB, 33998 KB/s, 0 seconds passed -... 1%, 11360 KB, 34052 KB/s, 0 seconds passed -... 1%, 11392 KB, 34131 KB/s, 0 seconds passed -... 1%, 11424 KB, 34201 KB/s, 0 seconds passed -... 1%, 11456 KB, 34253 KB/s, 0 seconds passed -... 1%, 11488 KB, 34316 KB/s, 0 seconds passed -... 1%, 11520 KB, 34396 KB/s, 0 seconds passed -... 1%, 11552 KB, 34460 KB/s, 0 seconds passed -... 1%, 11584 KB, 34515 KB/s, 0 seconds passed -... 1%, 11616 KB, 34588 KB/s, 0 seconds passed -... 1%, 11648 KB, 34663 KB/s, 0 seconds passed -... 1%, 11680 KB, 34731 KB/s, 0 seconds passed -... 1%, 11712 KB, 34779 KB/s, 0 seconds passed -... 1%, 11744 KB, 34834 KB/s, 0 seconds passed -... 1%, 11776 KB, 34901 KB/s, 0 seconds passed -... 1%, 11808 KB, 34981 KB/s, 0 seconds passed -... 1%, 11840 KB, 35060 KB/s, 0 seconds passed -... 1%, 11872 KB, 35129 KB/s, 0 seconds passed -... 1%, 11904 KB, 35196 KB/s, 0 seconds passed -... 1%, 11936 KB, 35259 KB/s, 0 seconds passed -... 1%, 11968 KB, 35326 KB/s, 0 seconds passed -... 1%, 12000 KB, 35371 KB/s, 0 seconds passed -... 1%, 12032 KB, 35425 KB/s, 0 seconds passed -... 1%, 12064 KB, 35478 KB/s, 0 seconds passed -... 1%, 12096 KB, 35544 KB/s, 0 seconds passed -... 1%, 12128 KB, 35621 KB/s, 0 seconds passed -... 1%, 12160 KB, 35700 KB/s, 0 seconds passed -... 1%, 12192 KB, 35768 KB/s, 0 seconds passed -... 1%, 12224 KB, 35845 KB/s, 0 seconds passed -... 1%, 12256 KB, 35912 KB/s, 0 seconds passed -... 1%, 12288 KB, 35955 KB/s, 0 seconds passed -... 1%, 12320 KB, 36007 KB/s, 0 seconds passed -... 1%, 12352 KB, 36082 KB/s, 0 seconds passed -... 1%, 12384 KB, 36152 KB/s, 0 seconds passed -... 1%, 12416 KB, 36217 KB/s, 0 seconds passed -... 1%, 12448 KB, 36282 KB/s, 0 seconds passed -... 1%, 12480 KB, 36358 KB/s, 0 seconds passed -... 1%, 12512 KB, 36420 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 1%, 12544 KB, 36467 KB/s, 0 seconds passed -... 1%, 12576 KB, 36533 KB/s, 0 seconds passed -... 1%, 12608 KB, 36597 KB/s, 0 seconds passed -... 1%, 12640 KB, 36662 KB/s, 0 seconds passed -... 1%, 12672 KB, 36727 KB/s, 0 seconds passed -... 1%, 12704 KB, 36792 KB/s, 0 seconds passed -... 1%, 12736 KB, 36862 KB/s, 0 seconds passed -... 1%, 12768 KB, 36927 KB/s, 0 seconds passed -... 1%, 12800 KB, 36974 KB/s, 0 seconds passed -... 1%, 12832 KB, 37039 KB/s, 0 seconds passed -... 1%, 12864 KB, 37103 KB/s, 0 seconds passed -... 1%, 12896 KB, 37168 KB/s, 0 seconds passed -... 1%, 12928 KB, 37231 KB/s, 0 seconds passed -... 1%, 12960 KB, 37296 KB/s, 0 seconds passed -... 1%, 12992 KB, 37354 KB/s, 0 seconds passed -... 1%, 13024 KB, 37418 KB/s, 0 seconds passed -... 1%, 13056 KB, 37476 KB/s, 0 seconds passed -... 1%, 13088 KB, 37534 KB/s, 0 seconds passed -... 1%, 13120 KB, 37598 KB/s, 0 seconds passed -... 1%, 13152 KB, 37656 KB/s, 0 seconds passed -... 1%, 13184 KB, 37719 KB/s, 0 seconds passed -... 1%, 13216 KB, 37671 KB/s, 0 seconds passed -... 1%, 13248 KB, 37719 KB/s, 0 seconds passed -... 1%, 13280 KB, 37771 KB/s, 0 seconds passed -... 1%, 13312 KB, 37823 KB/s, 0 seconds passed -... 1%, 13344 KB, 37873 KB/s, 0 seconds passed -... 1%, 13376 KB, 37923 KB/s, 0 seconds passed -... 1%, 13408 KB, 37975 KB/s, 0 seconds passed -... 1%, 13440 KB, 38029 KB/s, 0 seconds passed -... 1%, 13472 KB, 38089 KB/s, 0 seconds passed -... 1%, 13504 KB, 38150 KB/s, 0 seconds passed -... 1%, 13536 KB, 38102 KB/s, 0 seconds passed -... 1%, 13568 KB, 38150 KB/s, 0 seconds passed -... 1%, 13600 KB, 38201 KB/s, 0 seconds passed -... 1%, 13632 KB, 38252 KB/s, 0 seconds passed -... 1%, 13664 KB, 38301 KB/s, 0 seconds passed -... 1%, 13696 KB, 38353 KB/s, 0 seconds passed -... 1%, 13728 KB, 38405 KB/s, 0 seconds passed -... 1%, 13760 KB, 38453 KB/s, 0 seconds passed -... 1%, 13792 KB, 38505 KB/s, 0 seconds passed -... 1%, 13824 KB, 38556 KB/s, 0 seconds passed -... 1%, 13856 KB, 38607 KB/s, 0 seconds passed -... 1%, 13888 KB, 38657 KB/s, 0 seconds passed -... 2%, 13920 KB, 38708 KB/s, 0 seconds passed -... 2%, 13952 KB, 38759 KB/s, 0 seconds passed -... 2%, 13984 KB, 38810 KB/s, 0 seconds passed -... 2%, 14016 KB, 38855 KB/s, 0 seconds passed -... 2%, 14048 KB, 38904 KB/s, 0 seconds passed -... 2%, 14080 KB, 38955 KB/s, 0 seconds passed -... 2%, 14112 KB, 39004 KB/s, 0 seconds passed -... 2%, 14144 KB, 39054 KB/s, 0 seconds passed -... 2%, 14176 KB, 39112 KB/s, 0 seconds passed -... 2%, 14208 KB, 39173 KB/s, 0 seconds passed -... 2%, 14240 KB, 39234 KB/s, 0 seconds passed -... 2%, 14272 KB, 39292 KB/s, 0 seconds passed -... 2%, 14304 KB, 39352 KB/s, 0 seconds passed -... 2%, 14336 KB, 39413 KB/s, 0 seconds passed -... 2%, 14368 KB, 39472 KB/s, 0 seconds passed -... 2%, 14400 KB, 39532 KB/s, 0 seconds passed -... 2%, 14432 KB, 39591 KB/s, 0 seconds passed -... 2%, 14464 KB, 39651 KB/s, 0 seconds passed -... 2%, 14496 KB, 39709 KB/s, 0 seconds passed -... 2%, 14528 KB, 39768 KB/s, 0 seconds passed -... 2%, 14560 KB, 39828 KB/s, 0 seconds passed -... 2%, 14592 KB, 39886 KB/s, 0 seconds passed -... 2%, 14624 KB, 39945 KB/s, 0 seconds passed -... 2%, 14656 KB, 40004 KB/s, 0 seconds passed -... 2%, 14688 KB, 40063 KB/s, 0 seconds passed -... 2%, 14720 KB, 40123 KB/s, 0 seconds passed -... 2%, 14752 KB, 40182 KB/s, 0 seconds passed -... 2%, 14784 KB, 40241 KB/s, 0 seconds passed -... 2%, 14816 KB, 40300 KB/s, 0 seconds passed -... 2%, 14848 KB, 40359 KB/s, 0 seconds passed -... 2%, 14880 KB, 40419 KB/s, 0 seconds passed -... 2%, 14912 KB, 40477 KB/s, 0 seconds passed -... 2%, 14944 KB, 40534 KB/s, 0 seconds passed -... 2%, 14976 KB, 40592 KB/s, 0 seconds passed -... 2%, 15008 KB, 40651 KB/s, 0 seconds passed -... 2%, 15040 KB, 40709 KB/s, 0 seconds passed -... 2%, 15072 KB, 40768 KB/s, 0 seconds passed -... 2%, 15104 KB, 40826 KB/s, 0 seconds passed -... 2%, 15136 KB, 40884 KB/s, 0 seconds passed -... 2%, 15168 KB, 40940 KB/s, 0 seconds passed -... 2%, 15200 KB, 40997 KB/s, 0 seconds passed -... 2%, 15232 KB, 41056 KB/s, 0 seconds passed -... 2%, 15264 KB, 41114 KB/s, 0 seconds passed -... 2%, 15296 KB, 41171 KB/s, 0 seconds passed -... 2%, 15328 KB, 41228 KB/s, 0 seconds passed -... 2%, 15360 KB, 41286 KB/s, 0 seconds passed -... 2%, 15392 KB, 41349 KB/s, 0 seconds passed -... 2%, 15424 KB, 41412 KB/s, 0 seconds passed -... 2%, 15456 KB, 41478 KB/s, 0 seconds passed -... 2%, 15488 KB, 41544 KB/s, 0 seconds passed -... 2%, 15520 KB, 41611 KB/s, 0 seconds passed -... 2%, 15552 KB, 41678 KB/s, 0 seconds passed -... 2%, 15584 KB, 41745 KB/s, 0 seconds passed -... 2%, 15616 KB, 41812 KB/s, 0 seconds passed -... 2%, 15648 KB, 41878 KB/s, 0 seconds passed -... 2%, 15680 KB, 41934 KB/s, 0 seconds passed -... 2%, 15712 KB, 41990 KB/s, 0 seconds passed -... 2%, 15744 KB, 42047 KB/s, 0 seconds passed -... 2%, 15776 KB, 42096 KB/s, 0 seconds passed -... 2%, 15808 KB, 42141 KB/s, 0 seconds passed -... 2%, 15840 KB, 42196 KB/s, 0 seconds passed -... 2%, 15872 KB, 42258 KB/s, 0 seconds passed -... 2%, 15904 KB, 42314 KB/s, 0 seconds passed -... 2%, 15936 KB, 42345 KB/s, 0 seconds passed -... 2%, 15968 KB, 42382 KB/s, 0 seconds passed -... 2%, 16000 KB, 42423 KB/s, 0 seconds passed -... 2%, 16032 KB, 42488 KB/s, 0 seconds passed -... 2%, 16064 KB, 42553 KB/s, 0 seconds passed -... 2%, 16096 KB, 42618 KB/s, 0 seconds passed -... 2%, 16128 KB, 42685 KB/s, 0 seconds passed -... 2%, 16160 KB, 42735 KB/s, 0 seconds passed -... 2%, 16192 KB, 42790 KB/s, 0 seconds passed -... 2%, 16224 KB, 42844 KB/s, 0 seconds passed -... 2%, 16256 KB, 42887 KB/s, 0 seconds passed -... 2%, 16288 KB, 42942 KB/s, 0 seconds passed -... 2%, 16320 KB, 42990 KB/s, 0 seconds passed -... 2%, 16352 KB, 43045 KB/s, 0 seconds passed -... 2%, 16384 KB, 43110 KB/s, 0 seconds passed -... 2%, 16416 KB, 43166 KB/s, 0 seconds passed -... 2%, 16448 KB, 43202 KB/s, 0 seconds passed -... 2%, 16480 KB, 43256 KB/s, 0 seconds passed -... 2%, 16512 KB, 43300 KB/s, 0 seconds passed -... 2%, 16544 KB, 43338 KB/s, 0 seconds passed -... 2%, 16576 KB, 43399 KB/s, 0 seconds passed -... 2%, 16608 KB, 43464 KB/s, 0 seconds passed -... 2%, 16640 KB, 43520 KB/s, 0 seconds passed -... 2%, 16672 KB, 43574 KB/s, 0 seconds passed -... 2%, 16704 KB, 43621 KB/s, 0 seconds passed -... 2%, 16736 KB, 43669 KB/s, 0 seconds passed -... 2%, 16768 KB, 43723 KB/s, 0 seconds passed -... 2%, 16800 KB, 43776 KB/s, 0 seconds passed -... 2%, 16832 KB, 43830 KB/s, 0 seconds passed -... 2%, 16864 KB, 43883 KB/s, 0 seconds passed -... 2%, 16896 KB, 43942 KB/s, 0 seconds passed -... 2%, 16928 KB, 43995 KB/s, 0 seconds passed -... 2%, 16960 KB, 44025 KB/s, 0 seconds passed -... 2%, 16992 KB, 44061 KB/s, 0 seconds passed -... 2%, 17024 KB, 44098 KB/s, 0 seconds passed -... 2%, 17056 KB, 44161 KB/s, 0 seconds passed -... 2%, 17088 KB, 44228 KB/s, 0 seconds passed -... 2%, 17120 KB, 44287 KB/s, 0 seconds passed -... 2%, 17152 KB, 44340 KB/s, 0 seconds passed -... 2%, 17184 KB, 44404 KB/s, 0 seconds passed -... 2%, 17216 KB, 44449 KB/s, 0 seconds passed -... 2%, 17248 KB, 44504 KB/s, 0 seconds passed -... 2%, 17280 KB, 44556 KB/s, 0 seconds passed -... 2%, 17312 KB, 44603 KB/s, 0 seconds passed -... 2%, 17344 KB, 44655 KB/s, 0 seconds passed -... 2%, 17376 KB, 44707 KB/s, 0 seconds passed -... 2%, 17408 KB, 44753 KB/s, 0 seconds passed -... 2%, 17440 KB, 44805 KB/s, 0 seconds passed -... 2%, 17472 KB, 44857 KB/s, 0 seconds passed -... 2%, 17504 KB, 44903 KB/s, 0 seconds passed -... 2%, 17536 KB, 44955 KB/s, 0 seconds passed -... 2%, 17568 KB, 45007 KB/s, 0 seconds passed -... 2%, 17600 KB, 45034 KB/s, 0 seconds passed -... 2%, 17632 KB, 45088 KB/s, 0 seconds passed -... 2%, 17664 KB, 45142 KB/s, 0 seconds passed -... 2%, 17696 KB, 45182 KB/s, 0 seconds passed -... 2%, 17728 KB, 45235 KB/s, 0 seconds passed -... 2%, 17760 KB, 45300 KB/s, 0 seconds passed -... 2%, 17792 KB, 45352 KB/s, 0 seconds passed -... 2%, 17824 KB, 45351 KB/s, 0 seconds passed -... 2%, 17856 KB, 45382 KB/s, 0 seconds passed -... 2%, 17888 KB, 45419 KB/s, 0 seconds passed -... 2%, 17920 KB, 45460 KB/s, 0 seconds passed -... 2%, 17952 KB, 45527 KB/s, 0 seconds passed -... 2%, 17984 KB, 45593 KB/s, 0 seconds passed -... 2%, 18016 KB, 45649 KB/s, 0 seconds passed -... 2%, 18048 KB, 45681 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 2%, 18080 KB, 45732 KB/s, 0 seconds passed -... 2%, 18112 KB, 45783 KB/s, 0 seconds passed -... 2%, 18144 KB, 45827 KB/s, 0 seconds passed -... 2%, 18176 KB, 45884 KB/s, 0 seconds passed -... 2%, 18208 KB, 45927 KB/s, 0 seconds passed -... 2%, 18240 KB, 45990 KB/s, 0 seconds passed -... 2%, 18272 KB, 46041 KB/s, 0 seconds passed -... 2%, 18304 KB, 46085 KB/s, 0 seconds passed -... 2%, 18336 KB, 46135 KB/s, 0 seconds passed -... 2%, 18368 KB, 46172 KB/s, 0 seconds passed -... 2%, 18400 KB, 46217 KB/s, 0 seconds passed -... 2%, 18432 KB, 46266 KB/s, 0 seconds passed -... 2%, 18464 KB, 46316 KB/s, 0 seconds passed -... 2%, 18496 KB, 46373 KB/s, 0 seconds passed -... 2%, 18528 KB, 46422 KB/s, 0 seconds passed -... 2%, 18560 KB, 46472 KB/s, 0 seconds passed -... 2%, 18592 KB, 46515 KB/s, 0 seconds passed -... 2%, 18624 KB, 46550 KB/s, 0 seconds passed -... 2%, 18656 KB, 46581 KB/s, 0 seconds passed -... 2%, 18688 KB, 46613 KB/s, 0 seconds passed -... 2%, 18720 KB, 46654 KB/s, 0 seconds passed -... 2%, 18752 KB, 46719 KB/s, 0 seconds passed -... 2%, 18784 KB, 46785 KB/s, 0 seconds passed -... 2%, 18816 KB, 46851 KB/s, 0 seconds passed -... 2%, 18848 KB, 46894 KB/s, 0 seconds passed -... 2%, 18880 KB, 46938 KB/s, 0 seconds passed -... 2%, 18912 KB, 46971 KB/s, 0 seconds passed -... 2%, 18944 KB, 46991 KB/s, 0 seconds passed -... 2%, 18976 KB, 47034 KB/s, 0 seconds passed -... 2%, 19008 KB, 47063 KB/s, 0 seconds passed -... 2%, 19040 KB, 47102 KB/s, 0 seconds passed -... 2%, 19072 KB, 47165 KB/s, 0 seconds passed -... 2%, 19104 KB, 47208 KB/s, 0 seconds passed -... 2%, 19136 KB, 47256 KB/s, 0 seconds passed -... 2%, 19168 KB, 47305 KB/s, 0 seconds passed -... 2%, 19200 KB, 47353 KB/s, 0 seconds passed -... 2%, 19232 KB, 47408 KB/s, 0 seconds passed -... 2%, 19264 KB, 47456 KB/s, 0 seconds passed -... 2%, 19296 KB, 47504 KB/s, 0 seconds passed -... 2%, 19328 KB, 47546 KB/s, 0 seconds passed -... 2%, 19360 KB, 47574 KB/s, 0 seconds passed -... 2%, 19392 KB, 47606 KB/s, 0 seconds passed -... 2%, 19424 KB, 47636 KB/s, 0 seconds passed -... 2%, 19456 KB, 47675 KB/s, 0 seconds passed -... 2%, 19488 KB, 47740 KB/s, 0 seconds passed -... 2%, 19520 KB, 47805 KB/s, 0 seconds passed -... 2%, 19552 KB, 47854 KB/s, 0 seconds passed -... 2%, 19584 KB, 47901 KB/s, 0 seconds passed -... 2%, 19616 KB, 47949 KB/s, 0 seconds passed -... 2%, 19648 KB, 48008 KB/s, 0 seconds passed -... 2%, 19680 KB, 48050 KB/s, 0 seconds passed -... 2%, 19712 KB, 48098 KB/s, 0 seconds passed -... 2%, 19744 KB, 48145 KB/s, 0 seconds passed -... 2%, 19776 KB, 48186 KB/s, 0 seconds passed -... 2%, 19808 KB, 48234 KB/s, 0 seconds passed -... 2%, 19840 KB, 48275 KB/s, 0 seconds passed -... 2%, 19872 KB, 48323 KB/s, 0 seconds passed -... 2%, 19904 KB, 48351 KB/s, 0 seconds passed -... 2%, 19936 KB, 48397 KB/s, 0 seconds passed -... 2%, 19968 KB, 48457 KB/s, 0 seconds passed -... 2%, 20000 KB, 48497 KB/s, 0 seconds passed -... 2%, 20032 KB, 48529 KB/s, 0 seconds passed -... 2%, 20064 KB, 48561 KB/s, 0 seconds passed -... 2%, 20096 KB, 48599 KB/s, 0 seconds passed -... 2%, 20128 KB, 48635 KB/s, 0 seconds passed -... 2%, 20160 KB, 48668 KB/s, 0 seconds passed -... 2%, 20192 KB, 48704 KB/s, 0 seconds passed -... 2%, 20224 KB, 48741 KB/s, 0 seconds passed -... 2%, 20256 KB, 48776 KB/s, 0 seconds passed -... 2%, 20288 KB, 48810 KB/s, 0 seconds passed -... 2%, 20320 KB, 48846 KB/s, 0 seconds passed -... 2%, 20352 KB, 48876 KB/s, 0 seconds passed -... 2%, 20384 KB, 48909 KB/s, 0 seconds passed -... 2%, 20416 KB, 48944 KB/s, 0 seconds passed -... 2%, 20448 KB, 48977 KB/s, 0 seconds passed -... 2%, 20480 KB, 49013 KB/s, 0 seconds passed -... 2%, 20512 KB, 49049 KB/s, 0 seconds passed -... 2%, 20544 KB, 49083 KB/s, 0 seconds passed -... 2%, 20576 KB, 49115 KB/s, 0 seconds passed -... 2%, 20608 KB, 49148 KB/s, 0 seconds passed -... 2%, 20640 KB, 49183 KB/s, 0 seconds passed -... 2%, 20672 KB, 49217 KB/s, 0 seconds passed -... 2%, 20704 KB, 49253 KB/s, 0 seconds passed -... 2%, 20736 KB, 49285 KB/s, 0 seconds passed -... 2%, 20768 KB, 49318 KB/s, 0 seconds passed -... 2%, 20800 KB, 49352 KB/s, 0 seconds passed -... 2%, 20832 KB, 49385 KB/s, 0 seconds passed -... 2%, 20864 KB, 49420 KB/s, 0 seconds passed -... 3%, 20896 KB, 49463 KB/s, 0 seconds passed -... 3%, 20928 KB, 49511 KB/s, 0 seconds passed -... 3%, 20960 KB, 49559 KB/s, 0 seconds passed -... 3%, 20992 KB, 49606 KB/s, 0 seconds passed -... 3%, 21024 KB, 49654 KB/s, 0 seconds passed -... 3%, 21056 KB, 49702 KB/s, 0 seconds passed -... 3%, 21088 KB, 49749 KB/s, 0 seconds passed -... 3%, 21120 KB, 49794 KB/s, 0 seconds passed -... 3%, 21152 KB, 49842 KB/s, 0 seconds passed -... 3%, 21184 KB, 49887 KB/s, 0 seconds passed -... 3%, 21216 KB, 49931 KB/s, 0 seconds passed -... 3%, 21248 KB, 49978 KB/s, 0 seconds passed -... 3%, 21280 KB, 50025 KB/s, 0 seconds passed -... 3%, 21312 KB, 50073 KB/s, 0 seconds passed -... 3%, 21344 KB, 50120 KB/s, 0 seconds passed -... 3%, 21376 KB, 50165 KB/s, 0 seconds passed -... 3%, 21408 KB, 50212 KB/s, 0 seconds passed -... 3%, 21440 KB, 50259 KB/s, 0 seconds passed -... 3%, 21472 KB, 50310 KB/s, 0 seconds passed -... 3%, 21504 KB, 50359 KB/s, 0 seconds passed -... 3%, 21536 KB, 50406 KB/s, 0 seconds passed -... 3%, 21568 KB, 50453 KB/s, 0 seconds passed -... 3%, 21600 KB, 50501 KB/s, 0 seconds passed -... 3%, 21632 KB, 50547 KB/s, 0 seconds passed -... 3%, 21664 KB, 50595 KB/s, 0 seconds passed -... 3%, 21696 KB, 50640 KB/s, 0 seconds passed -... 3%, 21728 KB, 50685 KB/s, 0 seconds passed -... 3%, 21760 KB, 50732 KB/s, 0 seconds passed -... 3%, 21792 KB, 50776 KB/s, 0 seconds passed -... 3%, 21824 KB, 50822 KB/s, 0 seconds passed -... 3%, 21856 KB, 50868 KB/s, 0 seconds passed -... 3%, 21888 KB, 50914 KB/s, 0 seconds passed -... 3%, 21920 KB, 50959 KB/s, 0 seconds passed -... 3%, 21952 KB, 51006 KB/s, 0 seconds passed -... 3%, 21984 KB, 51051 KB/s, 0 seconds passed -... 3%, 22016 KB, 51096 KB/s, 0 seconds passed -... 3%, 22048 KB, 51142 KB/s, 0 seconds passed -... 3%, 22080 KB, 51189 KB/s, 0 seconds passed -... 3%, 22112 KB, 51235 KB/s, 0 seconds passed -... 3%, 22144 KB, 51281 KB/s, 0 seconds passed -... 3%, 22176 KB, 51326 KB/s, 0 seconds passed -... 3%, 22208 KB, 51378 KB/s, 0 seconds passed -... 3%, 22240 KB, 51427 KB/s, 0 seconds passed -... 3%, 22272 KB, 51478 KB/s, 0 seconds passed -... 3%, 22304 KB, 51520 KB/s, 0 seconds passed -... 3%, 22336 KB, 51563 KB/s, 0 seconds passed -... 3%, 22368 KB, 51600 KB/s, 0 seconds passed -... 3%, 22400 KB, 51643 KB/s, 0 seconds passed -... 3%, 22432 KB, 51684 KB/s, 0 seconds passed -... 3%, 22464 KB, 51708 KB/s, 0 seconds passed -... 3%, 22496 KB, 51751 KB/s, 0 seconds passed -... 3%, 22528 KB, 51793 KB/s, 0 seconds passed -... 3%, 22560 KB, 51829 KB/s, 0 seconds passed -... 3%, 22592 KB, 51872 KB/s, 0 seconds passed -... 3%, 22624 KB, 51914 KB/s, 0 seconds passed -... 3%, 22656 KB, 51956 KB/s, 0 seconds passed -... 3%, 22688 KB, 51998 KB/s, 0 seconds passed -... 3%, 22720 KB, 52040 KB/s, 0 seconds passed -... 3%, 22752 KB, 52076 KB/s, 0 seconds passed -... 3%, 22784 KB, 52118 KB/s, 0 seconds passed -... 3%, 22816 KB, 52160 KB/s, 0 seconds passed -... 3%, 22848 KB, 52195 KB/s, 0 seconds passed -... 3%, 22880 KB, 52237 KB/s, 0 seconds passed -... 3%, 22912 KB, 52279 KB/s, 0 seconds passed -... 3%, 22944 KB, 52321 KB/s, 0 seconds passed -... 3%, 22976 KB, 52362 KB/s, 0 seconds passed -... 3%, 23008 KB, 52398 KB/s, 0 seconds passed -... 3%, 23040 KB, 52439 KB/s, 0 seconds passed -... 3%, 23072 KB, 52480 KB/s, 0 seconds passed -... 3%, 23104 KB, 52516 KB/s, 0 seconds passed -... 3%, 23136 KB, 52557 KB/s, 0 seconds passed -... 3%, 23168 KB, 52598 KB/s, 0 seconds passed -... 3%, 23200 KB, 52628 KB/s, 0 seconds passed -... 3%, 23232 KB, 52668 KB/s, 0 seconds passed -... 3%, 23264 KB, 52704 KB/s, 0 seconds passed -... 3%, 23296 KB, 52745 KB/s, 0 seconds passed -... 3%, 23328 KB, 52797 KB/s, 0 seconds passed -... 3%, 23360 KB, 52833 KB/s, 0 seconds passed -... 3%, 23392 KB, 52862 KB/s, 0 seconds passed -... 3%, 23424 KB, 52897 KB/s, 0 seconds passed -... 3%, 23456 KB, 52938 KB/s, 0 seconds passed -... 3%, 23488 KB, 52979 KB/s, 0 seconds passed -... 3%, 23520 KB, 53019 KB/s, 0 seconds passed -... 3%, 23552 KB, 53061 KB/s, 0 seconds passed -... 3%, 23584 KB, 53108 KB/s, 0 seconds passed -... 3%, 23616 KB, 53149 KB/s, 0 seconds passed -... 3%, 23648 KB, 53183 KB/s, 0 seconds passed -... 3%, 23680 KB, 53223 KB/s, 0 seconds passed -... 3%, 23712 KB, 53251 KB/s, 0 seconds passed -... 3%, 23744 KB, 53286 KB/s, 0 seconds passed -... 3%, 23776 KB, 53326 KB/s, 0 seconds passed -... 3%, 23808 KB, 53367 KB/s, 0 seconds passed -... 3%, 23840 KB, 53414 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 3%, 23872 KB, 53454 KB/s, 0 seconds passed -... 3%, 23904 KB, 53476 KB/s, 0 seconds passed -... 3%, 23936 KB, 53516 KB/s, 0 seconds passed -... 3%, 23968 KB, 53556 KB/s, 0 seconds passed -... 3%, 24000 KB, 53597 KB/s, 0 seconds passed -... 3%, 24032 KB, 53631 KB/s, 0 seconds passed -... 3%, 24064 KB, 53670 KB/s, 0 seconds passed -... 3%, 24096 KB, 53722 KB/s, 0 seconds passed -... 3%, 24128 KB, 53757 KB/s, 0 seconds passed -... 3%, 24160 KB, 53797 KB/s, 0 seconds passed -... 3%, 24192 KB, 53836 KB/s, 0 seconds passed -... 3%, 24224 KB, 53858 KB/s, 0 seconds passed -... 3%, 24256 KB, 53897 KB/s, 0 seconds passed -... 3%, 24288 KB, 53937 KB/s, 0 seconds passed -... 3%, 24320 KB, 53971 KB/s, 0 seconds passed -... 3%, 24352 KB, 54023 KB/s, 0 seconds passed -... 3%, 24384 KB, 54062 KB/s, 0 seconds passed -... 3%, 24416 KB, 54078 KB/s, 0 seconds passed -... 3%, 24448 KB, 54101 KB/s, 0 seconds passed -... 3%, 24480 KB, 54124 KB/s, 0 seconds passed -... 3%, 24512 KB, 54149 KB/s, 0 seconds passed -... 3%, 24544 KB, 54177 KB/s, 0 seconds passed -... 3%, 24576 KB, 54205 KB/s, 0 seconds passed -... 3%, 24608 KB, 54234 KB/s, 0 seconds passed -... 3%, 24640 KB, 54263 KB/s, 0 seconds passed -... 3%, 24672 KB, 54290 KB/s, 0 seconds passed -... 3%, 24704 KB, 54318 KB/s, 0 seconds passed -... 3%, 24736 KB, 54343 KB/s, 0 seconds passed -... 3%, 24768 KB, 54371 KB/s, 0 seconds passed -... 3%, 24800 KB, 54398 KB/s, 0 seconds passed -... 3%, 24832 KB, 54426 KB/s, 0 seconds passed -... 3%, 24864 KB, 54452 KB/s, 0 seconds passed -... 3%, 24896 KB, 54477 KB/s, 0 seconds passed -... 3%, 24928 KB, 54506 KB/s, 0 seconds passed -... 3%, 24960 KB, 54534 KB/s, 0 seconds passed -... 3%, 24992 KB, 54558 KB/s, 0 seconds passed -... 3%, 25024 KB, 54585 KB/s, 0 seconds passed -... 3%, 25056 KB, 54614 KB/s, 0 seconds passed -... 3%, 25088 KB, 54641 KB/s, 0 seconds passed -... 3%, 25120 KB, 54668 KB/s, 0 seconds passed -... 3%, 25152 KB, 54691 KB/s, 0 seconds passed -... 3%, 25184 KB, 54721 KB/s, 0 seconds passed -... 3%, 25216 KB, 54746 KB/s, 0 seconds passed -... 3%, 25248 KB, 54769 KB/s, 0 seconds passed -... 3%, 25280 KB, 54794 KB/s, 0 seconds passed -... 3%, 25312 KB, 54824 KB/s, 0 seconds passed -... 3%, 25344 KB, 54851 KB/s, 0 seconds passed -... 3%, 25376 KB, 54875 KB/s, 0 seconds passed -... 3%, 25408 KB, 54909 KB/s, 0 seconds passed -... 3%, 25440 KB, 54952 KB/s, 0 seconds passed -... 3%, 25472 KB, 54991 KB/s, 0 seconds passed -... 3%, 25504 KB, 55033 KB/s, 0 seconds passed -... 3%, 25536 KB, 55075 KB/s, 0 seconds passed -... 3%, 25568 KB, 55117 KB/s, 0 seconds passed -... 3%, 25600 KB, 55156 KB/s, 0 seconds passed -... 3%, 25632 KB, 55198 KB/s, 0 seconds passed -... 3%, 25664 KB, 55237 KB/s, 0 seconds passed -... 3%, 25696 KB, 55279 KB/s, 0 seconds passed -... 3%, 25728 KB, 55322 KB/s, 0 seconds passed -... 3%, 25760 KB, 55364 KB/s, 0 seconds passed -... 3%, 25792 KB, 55402 KB/s, 0 seconds passed -... 3%, 25824 KB, 55443 KB/s, 0 seconds passed -... 3%, 25856 KB, 55485 KB/s, 0 seconds passed -... 3%, 25888 KB, 55528 KB/s, 0 seconds passed -... 3%, 25920 KB, 55570 KB/s, 0 seconds passed -... 3%, 25952 KB, 55610 KB/s, 0 seconds passed -... 3%, 25984 KB, 55652 KB/s, 0 seconds passed -... 3%, 26016 KB, 55693 KB/s, 0 seconds passed -... 3%, 26048 KB, 55734 KB/s, 0 seconds passed -... 3%, 26080 KB, 55775 KB/s, 0 seconds passed -... 3%, 26112 KB, 55817 KB/s, 0 seconds passed -... 3%, 26144 KB, 55859 KB/s, 0 seconds passed -... 3%, 26176 KB, 55897 KB/s, 0 seconds passed -... 3%, 26208 KB, 55936 KB/s, 0 seconds passed -... 3%, 26240 KB, 55977 KB/s, 0 seconds passed -... 3%, 26272 KB, 56018 KB/s, 0 seconds passed -... 3%, 26304 KB, 56056 KB/s, 0 seconds passed -... 3%, 26336 KB, 56097 KB/s, 0 seconds passed -... 3%, 26368 KB, 56138 KB/s, 0 seconds passed -... 3%, 26400 KB, 56181 KB/s, 0 seconds passed -... 3%, 26432 KB, 56221 KB/s, 0 seconds passed -... 3%, 26464 KB, 56261 KB/s, 0 seconds passed -... 3%, 26496 KB, 56300 KB/s, 0 seconds passed -... 3%, 26528 KB, 56340 KB/s, 0 seconds passed -... 3%, 26560 KB, 56382 KB/s, 0 seconds passed -... 3%, 26592 KB, 56424 KB/s, 0 seconds passed -... 3%, 26624 KB, 56465 KB/s, 0 seconds passed -... 3%, 26656 KB, 56505 KB/s, 0 seconds passed -... 3%, 26688 KB, 56543 KB/s, 0 seconds passed -... 3%, 26720 KB, 56582 KB/s, 0 seconds passed -... 3%, 26752 KB, 56623 KB/s, 0 seconds passed -... 3%, 26784 KB, 56663 KB/s, 0 seconds passed -... 3%, 26816 KB, 56703 KB/s, 0 seconds passed -... 3%, 26848 KB, 56742 KB/s, 0 seconds passed -... 3%, 26880 KB, 56790 KB/s, 0 seconds passed -... 3%, 26912 KB, 56839 KB/s, 0 seconds passed -... 3%, 26944 KB, 56888 KB/s, 0 seconds passed -... 3%, 26976 KB, 56937 KB/s, 0 seconds passed -... 3%, 27008 KB, 56974 KB/s, 0 seconds passed -... 3%, 27040 KB, 57004 KB/s, 0 seconds passed -... 3%, 27072 KB, 57022 KB/s, 0 seconds passed -... 3%, 27104 KB, 57047 KB/s, 0 seconds passed -... 3%, 27136 KB, 57096 KB/s, 0 seconds passed -... 3%, 27168 KB, 57143 KB/s, 0 seconds passed -... 3%, 27200 KB, 57167 KB/s, 0 seconds passed -... 3%, 27232 KB, 57189 KB/s, 0 seconds passed -... 3%, 27264 KB, 57236 KB/s, 0 seconds passed -... 3%, 27296 KB, 57278 KB/s, 0 seconds passed -... 3%, 27328 KB, 57308 KB/s, 0 seconds passed -... 3%, 27360 KB, 57343 KB/s, 0 seconds passed -... 3%, 27392 KB, 57379 KB/s, 0 seconds passed -... 3%, 27424 KB, 57414 KB/s, 0 seconds passed -... 3%, 27456 KB, 57450 KB/s, 0 seconds passed -... 3%, 27488 KB, 57479 KB/s, 0 seconds passed -... 3%, 27520 KB, 57514 KB/s, 0 seconds passed -... 3%, 27552 KB, 57549 KB/s, 0 seconds passed -... 3%, 27584 KB, 57578 KB/s, 0 seconds passed -... 3%, 27616 KB, 57626 KB/s, 0 seconds passed -... 3%, 27648 KB, 57661 KB/s, 0 seconds passed -... 3%, 27680 KB, 57670 KB/s, 0 seconds passed -... 3%, 27712 KB, 57709 KB/s, 0 seconds passed -... 3%, 27744 KB, 57757 KB/s, 0 seconds passed -... 3%, 27776 KB, 57792 KB/s, 0 seconds passed -... 3%, 27808 KB, 57808 KB/s, 0 seconds passed -... 4%, 27840 KB, 57843 KB/s, 0 seconds passed -... 4%, 27872 KB, 57878 KB/s, 0 seconds passed -... 4%, 27904 KB, 57913 KB/s, 0 seconds passed -... 4%, 27936 KB, 57942 KB/s, 0 seconds passed -... 4%, 27968 KB, 57989 KB/s, 0 seconds passed -... 4%, 28000 KB, 58024 KB/s, 0 seconds passed -... 4%, 28032 KB, 58040 KB/s, 0 seconds passed -... 4%, 28064 KB, 58068 KB/s, 0 seconds passed -... 4%, 28096 KB, 58085 KB/s, 0 seconds passed -... 4%, 28128 KB, 58107 KB/s, 0 seconds passed -... 4%, 28160 KB, 58158 KB/s, 0 seconds passed -... 4%, 28192 KB, 58205 KB/s, 0 seconds passed -... 4%, 28224 KB, 58233 KB/s, 0 seconds passed -... 4%, 28256 KB, 58262 KB/s, 0 seconds passed -... 4%, 28288 KB, 58282 KB/s, 0 seconds passed -... 4%, 28320 KB, 58302 KB/s, 0 seconds passed -... 4%, 28352 KB, 58352 KB/s, 0 seconds passed -... 4%, 28384 KB, 58403 KB/s, 0 seconds passed -... 4%, 28416 KB, 58432 KB/s, 0 seconds passed -... 4%, 28448 KB, 58460 KB/s, 0 seconds passed -... 4%, 28480 KB, 58494 KB/s, 0 seconds passed -... 4%, 28512 KB, 58528 KB/s, 0 seconds passed -... 4%, 28544 KB, 58556 KB/s, 0 seconds passed -... 4%, 28576 KB, 58213 KB/s, 0 seconds passed -... 4%, 28608 KB, 58234 KB/s, 0 seconds passed -... 4%, 28640 KB, 58280 KB/s, 0 seconds passed -... 4%, 28672 KB, 58307 KB/s, 0 seconds passed -... 4%, 28704 KB, 58325 KB/s, 0 seconds passed -... 4%, 28736 KB, 58347 KB/s, 0 seconds passed -... 4%, 28768 KB, 58375 KB/s, 0 seconds passed -... 4%, 28800 KB, 58409 KB/s, 0 seconds passed -... 4%, 28832 KB, 58443 KB/s, 0 seconds passed -... 4%, 28864 KB, 58475 KB/s, 0 seconds passed -... 4%, 28896 KB, 58502 KB/s, 0 seconds passed -... 4%, 28928 KB, 58536 KB/s, 0 seconds passed -... 4%, 28960 KB, 58570 KB/s, 0 seconds passed -... 4%, 28992 KB, 58597 KB/s, 0 seconds passed -... 4%, 29024 KB, 58604 KB/s, 0 seconds passed -... 4%, 29056 KB, 58637 KB/s, 0 seconds passed -... 4%, 29088 KB, 58671 KB/s, 0 seconds passed -... 4%, 29120 KB, 58698 KB/s, 0 seconds passed -... 4%, 29152 KB, 58732 KB/s, 0 seconds passed -... 4%, 29184 KB, 58765 KB/s, 0 seconds passed -... 4%, 29216 KB, 58786 KB/s, 0 seconds passed -... 4%, 29248 KB, 58807 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 4%, 29280 KB, 58825 KB/s, 0 seconds passed -... 4%, 29312 KB, 58842 KB/s, 0 seconds passed -... 4%, 29344 KB, 58890 KB/s, 0 seconds passed -... 4%, 29376 KB, 58937 KB/s, 0 seconds passed -... 4%, 29408 KB, 58978 KB/s, 0 seconds passed -... 4%, 29440 KB, 59005 KB/s, 0 seconds passed -... 4%, 29472 KB, 59038 KB/s, 0 seconds passed -... 4%, 29504 KB, 59071 KB/s, 0 seconds passed -... 4%, 29536 KB, 59104 KB/s, 0 seconds passed -... 4%, 29568 KB, 59137 KB/s, 0 seconds passed -... 4%, 29600 KB, 59167 KB/s, 0 seconds passed -... 4%, 29632 KB, 59196 KB/s, 0 seconds passed -... 4%, 29664 KB, 59230 KB/s, 0 seconds passed -... 4%, 29696 KB, 59263 KB/s, 0 seconds passed -... 4%, 29728 KB, 59278 KB/s, 0 seconds passed -... 4%, 29760 KB, 59311 KB/s, 0 seconds passed -... 4%, 29792 KB, 59338 KB/s, 0 seconds passed -... 4%, 29824 KB, 59372 KB/s, 0 seconds passed -... 4%, 29856 KB, 59417 KB/s, 0 seconds passed -... 4%, 29888 KB, 59444 KB/s, 0 seconds passed -... 4%, 29920 KB, 59464 KB/s, 0 seconds passed -... 4%, 29952 KB, 59484 KB/s, 0 seconds passed -... 4%, 29984 KB, 59496 KB/s, 0 seconds passed -... 4%, 30016 KB, 59528 KB/s, 0 seconds passed -... 4%, 30048 KB, 59571 KB/s, 0 seconds passed -... 4%, 30080 KB, 59611 KB/s, 0 seconds passed -... 4%, 30112 KB, 59656 KB/s, 0 seconds passed -... 4%, 30144 KB, 59691 KB/s, 0 seconds passed -... 4%, 30176 KB, 59698 KB/s, 0 seconds passed -... 4%, 30208 KB, 59715 KB/s, 0 seconds passed -... 4%, 30240 KB, 59741 KB/s, 0 seconds passed -... 4%, 30272 KB, 59784 KB/s, 0 seconds passed -... 4%, 30304 KB, 59829 KB/s, 0 seconds passed -... 4%, 30336 KB, 59858 KB/s, 0 seconds passed -... 4%, 30368 KB, 59890 KB/s, 0 seconds passed -... 4%, 30400 KB, 59929 KB/s, 0 seconds passed -... 4%, 30432 KB, 59961 KB/s, 0 seconds passed -... 4%, 30464 KB, 59986 KB/s, 0 seconds passed -... 4%, 30496 KB, 60003 KB/s, 0 seconds passed -... 4%, 30528 KB, 60011 KB/s, 0 seconds passed -... 4%, 30560 KB, 60026 KB/s, 0 seconds passed -... 4%, 30592 KB, 60070 KB/s, 0 seconds passed -... 4%, 30624 KB, 60115 KB/s, 0 seconds passed -... 4%, 30656 KB, 60160 KB/s, 0 seconds passed -... 4%, 30688 KB, 60205 KB/s, 0 seconds passed -... 4%, 30720 KB, 60169 KB/s, 0 seconds passed -... 4%, 30752 KB, 60187 KB/s, 0 seconds passed -... 4%, 30784 KB, 60048 KB/s, 0 seconds passed -... 4%, 30816 KB, 60062 KB/s, 0 seconds passed -... 4%, 30848 KB, 60078 KB/s, 0 seconds passed -... 4%, 30880 KB, 60099 KB/s, 0 seconds passed -... 4%, 30912 KB, 60119 KB/s, 0 seconds passed -... 4%, 30944 KB, 60140 KB/s, 0 seconds passed -... 4%, 30976 KB, 60163 KB/s, 0 seconds passed -... 4%, 31008 KB, 60179 KB/s, 0 seconds passed -... 4%, 31040 KB, 60201 KB/s, 0 seconds passed -... 4%, 31072 KB, 60221 KB/s, 0 seconds passed -... 4%, 31104 KB, 60241 KB/s, 0 seconds passed -... 4%, 31136 KB, 60258 KB/s, 0 seconds passed -... 4%, 31168 KB, 60281 KB/s, 0 seconds passed -... 4%, 31200 KB, 60309 KB/s, 0 seconds passed -... 4%, 31232 KB, 60338 KB/s, 0 seconds passed -... 4%, 31264 KB, 60366 KB/s, 0 seconds passed -... 4%, 31296 KB, 60227 KB/s, 0 seconds passed -... 4%, 31328 KB, 60243 KB/s, 0 seconds passed -... 4%, 31360 KB, 60257 KB/s, 0 seconds passed -... 4%, 31392 KB, 60276 KB/s, 0 seconds passed -... 4%, 31424 KB, 60294 KB/s, 0 seconds passed -... 4%, 31456 KB, 60315 KB/s, 0 seconds passed -... 4%, 31488 KB, 60335 KB/s, 0 seconds passed -... 4%, 31520 KB, 60354 KB/s, 0 seconds passed -... 4%, 31552 KB, 60375 KB/s, 0 seconds passed -... 4%, 31584 KB, 60394 KB/s, 0 seconds passed -... 4%, 31616 KB, 60415 KB/s, 0 seconds passed -... 4%, 31648 KB, 60445 KB/s, 0 seconds passed -... 4%, 31680 KB, 60475 KB/s, 0 seconds passed -... 4%, 31712 KB, 60507 KB/s, 0 seconds passed -... 4%, 31744 KB, 60537 KB/s, 0 seconds passed -... 4%, 31776 KB, 60564 KB/s, 0 seconds passed -... 4%, 31808 KB, 60593 KB/s, 0 seconds passed -... 4%, 31840 KB, 60623 KB/s, 0 seconds passed -... 4%, 31872 KB, 60653 KB/s, 0 seconds passed -... 4%, 31904 KB, 60683 KB/s, 0 seconds passed -... 4%, 31936 KB, 60713 KB/s, 0 seconds passed -... 4%, 31968 KB, 60743 KB/s, 0 seconds passed -... 4%, 32000 KB, 60774 KB/s, 0 seconds passed -... 4%, 32032 KB, 60803 KB/s, 0 seconds passed -... 4%, 32064 KB, 60834 KB/s, 0 seconds passed -... 4%, 32096 KB, 60862 KB/s, 0 seconds passed -... 4%, 32128 KB, 60892 KB/s, 0 seconds passed -... 4%, 32160 KB, 60922 KB/s, 0 seconds passed -... 4%, 32192 KB, 60953 KB/s, 0 seconds passed -... 4%, 32224 KB, 60983 KB/s, 0 seconds passed -... 4%, 32256 KB, 61011 KB/s, 0 seconds passed -... 4%, 32288 KB, 61038 KB/s, 0 seconds passed -... 4%, 32320 KB, 61068 KB/s, 0 seconds passed -... 4%, 32352 KB, 61096 KB/s, 0 seconds passed -... 4%, 32384 KB, 61125 KB/s, 0 seconds passed -... 4%, 32416 KB, 61156 KB/s, 0 seconds passed -... 4%, 32448 KB, 61185 KB/s, 0 seconds passed -... 4%, 32480 KB, 61212 KB/s, 0 seconds passed -... 4%, 32512 KB, 61242 KB/s, 0 seconds passed -... 4%, 32544 KB, 61271 KB/s, 0 seconds passed -... 4%, 32576 KB, 61300 KB/s, 0 seconds passed -... 4%, 32608 KB, 61329 KB/s, 0 seconds passed -... 4%, 32640 KB, 61357 KB/s, 0 seconds passed -... 4%, 32672 KB, 61387 KB/s, 0 seconds passed -... 4%, 32704 KB, 61413 KB/s, 0 seconds passed -... 4%, 32736 KB, 61440 KB/s, 0 seconds passed -... 4%, 32768 KB, 61469 KB/s, 0 seconds passed -... 4%, 32800 KB, 61497 KB/s, 0 seconds passed -... 4%, 32832 KB, 61526 KB/s, 0 seconds passed -... 4%, 32864 KB, 61556 KB/s, 0 seconds passed -... 4%, 32896 KB, 61585 KB/s, 0 seconds passed -... 4%, 32928 KB, 61624 KB/s, 0 seconds passed -... 4%, 32960 KB, 61664 KB/s, 0 seconds passed -... 4%, 32992 KB, 61703 KB/s, 0 seconds passed -... 4%, 33024 KB, 61743 KB/s, 0 seconds passed -... 4%, 33056 KB, 61780 KB/s, 0 seconds passed -... 4%, 33088 KB, 61820 KB/s, 0 seconds passed -... 4%, 33120 KB, 61852 KB/s, 0 seconds passed -... 4%, 33152 KB, 61881 KB/s, 0 seconds passed -... 4%, 33184 KB, 61904 KB/s, 0 seconds passed -... 4%, 33216 KB, 61934 KB/s, 0 seconds passed -... 4%, 33248 KB, 61962 KB/s, 0 seconds passed -... 4%, 33280 KB, 61992 KB/s, 0 seconds passed -... 4%, 33312 KB, 62015 KB/s, 0 seconds passed -... 4%, 33344 KB, 62050 KB/s, 0 seconds passed -... 4%, 33376 KB, 62073 KB/s, 0 seconds passed -... 4%, 33408 KB, 62096 KB/s, 0 seconds passed -... 4%, 33440 KB, 62126 KB/s, 0 seconds passed -... 4%, 33472 KB, 62154 KB/s, 0 seconds passed -... 4%, 33504 KB, 62183 KB/s, 0 seconds passed -... 4%, 33536 KB, 62206 KB/s, 0 seconds passed -... 4%, 33568 KB, 62235 KB/s, 0 seconds passed -... 4%, 33600 KB, 62264 KB/s, 0 seconds passed -... 4%, 33632 KB, 62287 KB/s, 0 seconds passed -... 4%, 33664 KB, 62316 KB/s, 0 seconds passed -... 4%, 33696 KB, 62339 KB/s, 0 seconds passed -... 4%, 33728 KB, 62374 KB/s, 0 seconds passed -... 4%, 33760 KB, 62397 KB/s, 0 seconds passed -... 4%, 33792 KB, 62426 KB/s, 0 seconds passed -... 4%, 33824 KB, 62455 KB/s, 0 seconds passed -... 4%, 33856 KB, 62477 KB/s, 0 seconds passed -... 4%, 33888 KB, 62506 KB/s, 0 seconds passed -... 4%, 33920 KB, 62535 KB/s, 0 seconds passed -... 4%, 33952 KB, 62557 KB/s, 0 seconds passed -... 4%, 33984 KB, 62586 KB/s, 0 seconds passed -... 4%, 34016 KB, 62615 KB/s, 0 seconds passed -... 4%, 34048 KB, 62644 KB/s, 0 seconds passed -... 4%, 34080 KB, 62666 KB/s, 0 seconds passed -... 4%, 34112 KB, 62695 KB/s, 0 seconds passed -... 4%, 34144 KB, 62718 KB/s, 0 seconds passed -... 4%, 34176 KB, 62746 KB/s, 0 seconds passed -... 4%, 34208 KB, 62774 KB/s, 0 seconds passed -... 4%, 34240 KB, 62797 KB/s, 0 seconds passed -... 4%, 34272 KB, 62825 KB/s, 0 seconds passed -... 4%, 34304 KB, 62854 KB/s, 0 seconds passed -... 4%, 34336 KB, 62877 KB/s, 0 seconds passed -... 4%, 34368 KB, 62911 KB/s, 0 seconds passed -... 4%, 34400 KB, 62939 KB/s, 0 seconds passed -... 4%, 34432 KB, 62962 KB/s, 0 seconds passed -... 4%, 34464 KB, 62990 KB/s, 0 seconds passed -... 4%, 34496 KB, 63000 KB/s, 0 seconds passed -... 4%, 34528 KB, 63027 KB/s, 0 seconds passed -... 4%, 34560 KB, 63055 KB/s, 0 seconds passed -... 4%, 34592 KB, 63083 KB/s, 0 seconds passed -... 4%, 34624 KB, 63111 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 4%, 34656 KB, 63139 KB/s, 0 seconds passed -... 4%, 34688 KB, 63168 KB/s, 0 seconds passed -... 4%, 34720 KB, 63196 KB/s, 0 seconds passed -... 4%, 34752 KB, 63218 KB/s, 0 seconds passed -... 5%, 34784 KB, 63246 KB/s, 0 seconds passed -... 5%, 34816 KB, 63274 KB/s, 0 seconds passed -... 5%, 34848 KB, 63296 KB/s, 0 seconds passed -... 5%, 34880 KB, 63324 KB/s, 0 seconds passed -... 5%, 34912 KB, 63352 KB/s, 0 seconds passed -... 5%, 34944 KB, 63374 KB/s, 0 seconds passed -... 5%, 34976 KB, 63402 KB/s, 0 seconds passed -... 5%, 35008 KB, 60992 KB/s, 0 seconds passed -... 5%, 35040 KB, 60999 KB/s, 0 seconds passed -... 5%, 35072 KB, 60838 KB/s, 0 seconds passed -... 5%, 35104 KB, 60841 KB/s, 0 seconds passed -... 5%, 35136 KB, 60855 KB/s, 0 seconds passed -... 5%, 35168 KB, 60872 KB/s, 0 seconds passed -... 5%, 35200 KB, 60885 KB/s, 0 seconds passed -... 5%, 35232 KB, 60902 KB/s, 0 seconds passed -... 5%, 35264 KB, 60918 KB/s, 0 seconds passed -... 5%, 35296 KB, 60936 KB/s, 0 seconds passed -... 5%, 35328 KB, 60952 KB/s, 0 seconds passed -... 5%, 35360 KB, 60969 KB/s, 0 seconds passed -... 5%, 35392 KB, 60986 KB/s, 0 seconds passed -... 5%, 35424 KB, 61002 KB/s, 0 seconds passed -... 5%, 35456 KB, 61017 KB/s, 0 seconds passed -... 5%, 35488 KB, 61034 KB/s, 0 seconds passed -... 5%, 35520 KB, 61051 KB/s, 0 seconds passed -... 5%, 35552 KB, 61067 KB/s, 0 seconds passed -... 5%, 35584 KB, 61083 KB/s, 0 seconds passed -... 5%, 35616 KB, 61100 KB/s, 0 seconds passed -... 5%, 35648 KB, 61124 KB/s, 0 seconds passed -... 5%, 35680 KB, 61149 KB/s, 0 seconds passed -... 5%, 35712 KB, 61173 KB/s, 0 seconds passed -... 5%, 35744 KB, 61202 KB/s, 0 seconds passed -... 5%, 35776 KB, 61231 KB/s, 0 seconds passed -... 5%, 35808 KB, 61255 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 5%, 35840 KB, 55854 KB/s, 0 seconds passed -... 5%, 35872 KB, 55766 KB/s, 0 seconds passed -... 5%, 35904 KB, 55740 KB/s, 0 seconds passed -... 5%, 35936 KB, 55714 KB/s, 0 seconds passed -... 5%, 35968 KB, 55731 KB/s, 0 seconds passed -... 5%, 36000 KB, 55751 KB/s, 0 seconds passed -... 5%, 36032 KB, 55774 KB/s, 0 seconds passed -... 5%, 36064 KB, 55795 KB/s, 0 seconds passed -... 5%, 36096 KB, 55818 KB/s, 0 seconds passed -... 5%, 36128 KB, 55841 KB/s, 0 seconds passed -... 5%, 36160 KB, 55865 KB/s, 0 seconds passed -... 5%, 36192 KB, 55889 KB/s, 0 seconds passed -... 5%, 36224 KB, 55913 KB/s, 0 seconds passed -... 5%, 36256 KB, 55934 KB/s, 0 seconds passed -... 5%, 36288 KB, 55955 KB/s, 0 seconds passed -... 5%, 36320 KB, 55976 KB/s, 0 seconds passed -... 5%, 36352 KB, 55996 KB/s, 0 seconds passed -... 5%, 36384 KB, 56019 KB/s, 0 seconds passed -... 5%, 36416 KB, 56042 KB/s, 0 seconds passed -... 5%, 36448 KB, 56066 KB/s, 0 seconds passed -... 5%, 36480 KB, 56089 KB/s, 0 seconds passed -... 5%, 36512 KB, 56112 KB/s, 0 seconds passed -... 5%, 36544 KB, 56135 KB/s, 0 seconds passed -... 5%, 36576 KB, 56157 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 5%, 36608 KB, 56180 KB/s, 0 seconds passed -... 5%, 36640 KB, 56203 KB/s, 0 seconds passed -... 5%, 36672 KB, 56226 KB/s, 0 seconds passed -... 5%, 36704 KB, 56249 KB/s, 0 seconds passed -... 5%, 36736 KB, 56271 KB/s, 0 seconds passed -... 5%, 36768 KB, 56293 KB/s, 0 seconds passed -... 5%, 36800 KB, 56317 KB/s, 0 seconds passed -... 5%, 36832 KB, 56339 KB/s, 0 seconds passed -... 5%, 36864 KB, 56363 KB/s, 0 seconds passed -... 5%, 36896 KB, 56386 KB/s, 0 seconds passed -... 5%, 36928 KB, 56410 KB/s, 0 seconds passed -... 5%, 36960 KB, 56439 KB/s, 0 seconds passed -... 5%, 36992 KB, 56467 KB/s, 0 seconds passed -... 5%, 37024 KB, 56495 KB/s, 0 seconds passed -... 5%, 37056 KB, 56524 KB/s, 0 seconds passed -... 5%, 37088 KB, 56553 KB/s, 0 seconds passed -... 5%, 37120 KB, 56582 KB/s, 0 seconds passed -... 5%, 37152 KB, 56612 KB/s, 0 seconds passed -... 5%, 37184 KB, 56641 KB/s, 0 seconds passed -... 5%, 37216 KB, 56670 KB/s, 0 seconds passed -... 5%, 37248 KB, 56699 KB/s, 0 seconds passed -... 5%, 37280 KB, 56729 KB/s, 0 seconds passed -... 5%, 37312 KB, 56500 KB/s, 0 seconds passed -... 5%, 37344 KB, 56518 KB/s, 0 seconds passed -... 5%, 37376 KB, 56540 KB/s, 0 seconds passed -... 5%, 37408 KB, 56565 KB/s, 0 seconds passed -... 5%, 37440 KB, 56592 KB/s, 0 seconds passed -... 5%, 37472 KB, 56617 KB/s, 0 seconds passed -... 5%, 37504 KB, 56642 KB/s, 0 seconds passed -... 5%, 37536 KB, 56664 KB/s, 0 seconds passed -... 5%, 37568 KB, 56693 KB/s, 0 seconds passed -... 5%, 37600 KB, 56720 KB/s, 0 seconds passed -... 5%, 37632 KB, 56744 KB/s, 0 seconds passed -... 5%, 37664 KB, 56771 KB/s, 0 seconds passed -... 5%, 37696 KB, 56792 KB/s, 0 seconds passed -... 5%, 37728 KB, 56816 KB/s, 0 seconds passed -... 5%, 37760 KB, 56838 KB/s, 0 seconds passed -... 5%, 37792 KB, 56862 KB/s, 0 seconds passed -... 5%, 37824 KB, 56888 KB/s, 0 seconds passed -... 5%, 37856 KB, 56909 KB/s, 0 seconds passed -... 5%, 37888 KB, 56933 KB/s, 0 seconds passed -... 5%, 37920 KB, 56959 KB/s, 0 seconds passed -... 5%, 37952 KB, 56984 KB/s, 0 seconds passed -... 5%, 37984 KB, 57004 KB/s, 0 seconds passed -... 5%, 38016 KB, 57030 KB/s, 0 seconds passed -... 5%, 38048 KB, 57055 KB/s, 0 seconds passed -... 5%, 38080 KB, 57080 KB/s, 0 seconds passed -... 5%, 38112 KB, 57106 KB/s, 0 seconds passed -... 5%, 38144 KB, 57131 KB/s, 0 seconds passed -... 5%, 38176 KB, 57156 KB/s, 0 seconds passed -... 5%, 38208 KB, 57176 KB/s, 0 seconds passed -... 5%, 38240 KB, 57201 KB/s, 0 seconds passed -... 5%, 38272 KB, 57226 KB/s, 0 seconds passed -... 5%, 38304 KB, 57251 KB/s, 0 seconds passed -... 5%, 38336 KB, 57276 KB/s, 0 seconds passed -... 5%, 38368 KB, 57298 KB/s, 0 seconds passed -... 5%, 38400 KB, 57318 KB/s, 0 seconds passed -... 5%, 38432 KB, 57340 KB/s, 0 seconds passed -... 5%, 38464 KB, 57366 KB/s, 0 seconds passed -... 5%, 38496 KB, 57386 KB/s, 0 seconds passed -... 5%, 38528 KB, 57411 KB/s, 0 seconds passed -... 5%, 38560 KB, 57436 KB/s, 0 seconds passed -... 5%, 38592 KB, 57461 KB/s, 0 seconds passed -... 5%, 38624 KB, 57485 KB/s, 0 seconds passed -... 5%, 38656 KB, 57510 KB/s, 0 seconds passed -... 5%, 38688 KB, 57534 KB/s, 0 seconds passed -... 5%, 38720 KB, 57555 KB/s, 0 seconds passed -... 5%, 38752 KB, 57580 KB/s, 0 seconds passed -... 5%, 38784 KB, 57604 KB/s, 0 seconds passed -... 5%, 38816 KB, 57634 KB/s, 0 seconds passed -... 5%, 38848 KB, 57654 KB/s, 0 seconds passed -... 5%, 38880 KB, 57678 KB/s, 0 seconds passed -... 5%, 38912 KB, 57703 KB/s, 0 seconds passed -... 5%, 38944 KB, 57728 KB/s, 0 seconds passed -... 5%, 38976 KB, 57753 KB/s, 0 seconds passed -... 5%, 39008 KB, 57777 KB/s, 0 seconds passed -... 5%, 39040 KB, 57786 KB/s, 0 seconds passed -... 5%, 39072 KB, 57806 KB/s, 0 seconds passed -... 5%, 39104 KB, 57831 KB/s, 0 seconds passed -... 5%, 39136 KB, 57864 KB/s, 0 seconds passed -... 5%, 39168 KB, 57896 KB/s, 0 seconds passed -... 5%, 39200 KB, 57904 KB/s, 0 seconds passed -... 5%, 39232 KB, 57924 KB/s, 0 seconds passed -... 5%, 39264 KB, 57955 KB/s, 0 seconds passed -... 5%, 39296 KB, 57980 KB/s, 0 seconds passed -... 5%, 39328 KB, 58005 KB/s, 0 seconds passed -... 5%, 39360 KB, 58027 KB/s, 0 seconds passed -... 5%, 39392 KB, 58046 KB/s, 0 seconds passed -... 5%, 39424 KB, 58066 KB/s, 0 seconds passed -... 5%, 39456 KB, 58091 KB/s, 0 seconds passed -... 5%, 39488 KB, 58122 KB/s, 0 seconds passed -... 5%, 39520 KB, 58146 KB/s, 0 seconds passed -... 5%, 39552 KB, 58166 KB/s, 0 seconds passed -... 5%, 39584 KB, 58188 KB/s, 0 seconds passed -... 5%, 39616 KB, 58206 KB/s, 0 seconds passed -... 5%, 39648 KB, 58226 KB/s, 0 seconds passed -... 5%, 39680 KB, 58247 KB/s, 0 seconds passed -... 5%, 39712 KB, 58281 KB/s, 0 seconds passed -... 5%, 39744 KB, 58311 KB/s, 0 seconds passed -... 5%, 39776 KB, 58336 KB/s, 0 seconds passed -... 5%, 39808 KB, 58361 KB/s, 0 seconds passed -... 5%, 39840 KB, 58380 KB/s, 0 seconds passed -... 5%, 39872 KB, 58404 KB/s, 0 seconds passed -... 5%, 39904 KB, 58428 KB/s, 0 seconds passed -... 5%, 39936 KB, 58452 KB/s, 0 seconds passed -... 5%, 39968 KB, 58471 KB/s, 0 seconds passed -... 5%, 40000 KB, 58487 KB/s, 0 seconds passed -... 5%, 40032 KB, 58511 KB/s, 0 seconds passed -... 5%, 40064 KB, 58530 KB/s, 0 seconds passed -... 5%, 40096 KB, 58555 KB/s, 0 seconds passed -... 5%, 40128 KB, 58579 KB/s, 0 seconds passed -... 5%, 40160 KB, 58603 KB/s, 0 seconds passed -... 5%, 40192 KB, 58627 KB/s, 0 seconds passed -... 5%, 40224 KB, 58650 KB/s, 0 seconds passed -... 5%, 40256 KB, 58675 KB/s, 0 seconds passed -... 5%, 40288 KB, 58699 KB/s, 0 seconds passed -... 5%, 40320 KB, 58718 KB/s, 0 seconds passed -... 5%, 40352 KB, 58742 KB/s, 0 seconds passed -... 5%, 40384 KB, 58766 KB/s, 0 seconds passed -... 5%, 40416 KB, 58789 KB/s, 0 seconds passed -... 5%, 40448 KB, 58809 KB/s, 0 seconds passed -... 5%, 40480 KB, 58838 KB/s, 0 seconds passed -... 5%, 40512 KB, 58860 KB/s, 0 seconds passed -... 5%, 40544 KB, 58870 KB/s, 0 seconds passed -... 5%, 40576 KB, 58895 KB/s, 0 seconds passed -... 5%, 40608 KB, 58919 KB/s, 0 seconds passed -... 5%, 40640 KB, 58943 KB/s, 0 seconds passed -... 5%, 40672 KB, 58965 KB/s, 0 seconds passed -... 5%, 40704 KB, 58985 KB/s, 0 seconds passed -... 5%, 40736 KB, 59018 KB/s, 0 seconds passed -... 5%, 40768 KB, 59039 KB/s, 0 seconds passed -... 5%, 40800 KB, 59050 KB/s, 0 seconds passed -... 5%, 40832 KB, 59069 KB/s, 0 seconds passed -... 5%, 40864 KB, 59099 KB/s, 0 seconds passed -... 5%, 40896 KB, 59122 KB/s, 0 seconds passed -... 5%, 40928 KB, 59146 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 5%, 40960 KB, 56110 KB/s, 0 seconds passed -... 5%, 40992 KB, 56117 KB/s, 0 seconds passed -... 5%, 41024 KB, 56136 KB/s, 0 seconds passed -... 5%, 41056 KB, 56156 KB/s, 0 seconds passed -... 5%, 41088 KB, 56174 KB/s, 0 seconds passed -... 5%, 41120 KB, 56194 KB/s, 0 seconds passed -... 5%, 41152 KB, 56215 KB/s, 0 seconds passed -... 5%, 41184 KB, 56235 KB/s, 0 seconds passed -... 5%, 41216 KB, 56254 KB/s, 0 seconds passed -... 5%, 41248 KB, 56275 KB/s, 0 seconds passed -... 5%, 41280 KB, 56295 KB/s, 0 seconds passed -... 5%, 41312 KB, 56315 KB/s, 0 seconds passed -... 5%, 41344 KB, 56336 KB/s, 0 seconds passed -... 5%, 41376 KB, 56357 KB/s, 0 seconds passed -... 5%, 41408 KB, 56378 KB/s, 0 seconds passed -... 5%, 41440 KB, 56399 KB/s, 0 seconds passed -... 5%, 41472 KB, 56418 KB/s, 0 seconds passed -... 5%, 41504 KB, 56439 KB/s, 0 seconds passed -... 5%, 41536 KB, 56459 KB/s, 0 seconds passed -... 5%, 41568 KB, 56480 KB/s, 0 seconds passed -... 5%, 41600 KB, 56501 KB/s, 0 seconds passed -... 5%, 41632 KB, 56521 KB/s, 0 seconds passed -... 5%, 41664 KB, 56542 KB/s, 0 seconds passed -... 5%, 41696 KB, 56562 KB/s, 0 seconds passed -... 5%, 41728 KB, 56582 KB/s, 0 seconds passed -... 6%, 41760 KB, 56603 KB/s, 0 seconds passed -... 6%, 41792 KB, 56623 KB/s, 0 seconds passed -... 6%, 41824 KB, 56643 KB/s, 0 seconds passed -... 6%, 41856 KB, 56663 KB/s, 0 seconds passed -... 6%, 41888 KB, 56684 KB/s, 0 seconds passed -... 6%, 41920 KB, 56704 KB/s, 0 seconds passed -... 6%, 41952 KB, 56724 KB/s, 0 seconds passed -... 6%, 41984 KB, 56744 KB/s, 0 seconds passed -... 6%, 42016 KB, 56765 KB/s, 0 seconds passed -... 6%, 42048 KB, 56781 KB/s, 0 seconds passed -... 6%, 42080 KB, 56801 KB/s, 0 seconds passed -... 6%, 42112 KB, 56820 KB/s, 0 seconds passed -... 6%, 42144 KB, 56840 KB/s, 0 seconds passed -... 6%, 42176 KB, 56861 KB/s, 0 seconds passed -... 6%, 42208 KB, 56882 KB/s, 0 seconds passed -... 6%, 42240 KB, 56903 KB/s, 0 seconds passed -... 6%, 42272 KB, 56923 KB/s, 0 seconds passed -... 6%, 42304 KB, 56943 KB/s, 0 seconds passed -... 6%, 42336 KB, 56963 KB/s, 0 seconds passed -... 6%, 42368 KB, 56983 KB/s, 0 seconds passed -... 6%, 42400 KB, 57001 KB/s, 0 seconds passed -... 6%, 42432 KB, 57022 KB/s, 0 seconds passed -... 6%, 42464 KB, 57041 KB/s, 0 seconds passed -... 6%, 42496 KB, 57061 KB/s, 0 seconds passed -... 6%, 42528 KB, 57081 KB/s, 0 seconds passed -... 6%, 42560 KB, 57100 KB/s, 0 seconds passed -... 6%, 42592 KB, 57121 KB/s, 0 seconds passed -... 6%, 42624 KB, 57149 KB/s, 0 seconds passed -... 6%, 42656 KB, 57177 KB/s, 0 seconds passed -... 6%, 42688 KB, 57204 KB/s, 0 seconds passed -... 6%, 42720 KB, 57232 KB/s, 0 seconds passed -... 6%, 42752 KB, 57259 KB/s, 0 seconds passed -... 6%, 42784 KB, 57287 KB/s, 0 seconds passed -... 6%, 42816 KB, 57314 KB/s, 0 seconds passed -... 6%, 42848 KB, 57338 KB/s, 0 seconds passed -... 6%, 42880 KB, 57360 KB/s, 0 seconds passed -... 6%, 42912 KB, 57378 KB/s, 0 seconds passed -... 6%, 42944 KB, 57401 KB/s, 0 seconds passed -... 6%, 42976 KB, 57424 KB/s, 0 seconds passed -... 6%, 43008 KB, 57445 KB/s, 0 seconds passed -... 6%, 43040 KB, 57467 KB/s, 0 seconds passed -... 6%, 43072 KB, 57486 KB/s, 0 seconds passed -... 6%, 43104 KB, 57507 KB/s, 0 seconds passed -... 6%, 43136 KB, 57527 KB/s, 0 seconds passed -... 6%, 43168 KB, 57549 KB/s, 0 seconds passed -... 6%, 43200 KB, 57570 KB/s, 0 seconds passed -... 6%, 43232 KB, 57589 KB/s, 0 seconds passed -... 6%, 43264 KB, 57611 KB/s, 0 seconds passed -... 6%, 43296 KB, 57632 KB/s, 0 seconds passed -... 6%, 43328 KB, 57655 KB/s, 0 seconds passed -... 6%, 43360 KB, 57677 KB/s, 0 seconds passed -... 6%, 43392 KB, 57699 KB/s, 0 seconds passed -... 6%, 43424 KB, 57713 KB/s, 0 seconds passed -... 6%, 43456 KB, 57740 KB/s, 0 seconds passed -... 6%, 43488 KB, 57758 KB/s, 0 seconds passed -... 6%, 43520 KB, 57785 KB/s, 0 seconds passed -... 6%, 43552 KB, 57806 KB/s, 0 seconds passed -... 6%, 43584 KB, 57832 KB/s, 0 seconds passed -... 6%, 43616 KB, 57850 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 6%, 43648 KB, 57861 KB/s, 0 seconds passed -... 6%, 43680 KB, 57878 KB/s, 0 seconds passed -... 6%, 43712 KB, 57903 KB/s, 0 seconds passed -... 6%, 43744 KB, 57930 KB/s, 0 seconds passed -... 6%, 43776 KB, 57951 KB/s, 0 seconds passed -... 6%, 43808 KB, 57970 KB/s, 0 seconds passed -... 6%, 43840 KB, 57991 KB/s, 0 seconds passed -... 6%, 43872 KB, 57353 KB/s, 0 seconds passed -... 6%, 43904 KB, 57368 KB/s, 0 seconds passed -... 6%, 43936 KB, 57396 KB/s, 0 seconds passed -... 6%, 43968 KB, 57418 KB/s, 0 seconds passed -... 6%, 44000 KB, 57438 KB/s, 0 seconds passed -... 6%, 44032 KB, 57456 KB/s, 0 seconds passed -... 6%, 44064 KB, 57475 KB/s, 0 seconds passed -... 6%, 44096 KB, 57494 KB/s, 0 seconds passed -... 6%, 44128 KB, 57514 KB/s, 0 seconds passed -... 6%, 44160 KB, 57533 KB/s, 0 seconds passed -... 6%, 44192 KB, 57552 KB/s, 0 seconds passed -... 6%, 44224 KB, 57572 KB/s, 0 seconds passed -... 6%, 44256 KB, 57590 KB/s, 0 seconds passed -... 6%, 44288 KB, 57609 KB/s, 0 seconds passed -... 6%, 44320 KB, 57628 KB/s, 0 seconds passed -... 6%, 44352 KB, 57648 KB/s, 0 seconds passed -... 6%, 44384 KB, 57667 KB/s, 0 seconds passed -... 6%, 44416 KB, 57687 KB/s, 0 seconds passed -... 6%, 44448 KB, 57704 KB/s, 0 seconds passed -... 6%, 44480 KB, 57724 KB/s, 0 seconds passed -... 6%, 44512 KB, 57743 KB/s, 0 seconds passed -... 6%, 44544 KB, 57763 KB/s, 0 seconds passed -... 6%, 44576 KB, 57782 KB/s, 0 seconds passed -... 6%, 44608 KB, 57802 KB/s, 0 seconds passed -... 6%, 44640 KB, 57822 KB/s, 0 seconds passed -... 6%, 44672 KB, 57841 KB/s, 0 seconds passed -... 6%, 44704 KB, 57857 KB/s, 0 seconds passed -... 6%, 44736 KB, 57877 KB/s, 0 seconds passed -... 6%, 44768 KB, 57896 KB/s, 0 seconds passed -... 6%, 44800 KB, 57914 KB/s, 0 seconds passed -... 6%, 44832 KB, 57934 KB/s, 0 seconds passed -... 6%, 44864 KB, 57953 KB/s, 0 seconds passed -... 6%, 44896 KB, 57972 KB/s, 0 seconds passed -... 6%, 44928 KB, 57991 KB/s, 0 seconds passed -... 6%, 44960 KB, 58010 KB/s, 0 seconds passed -... 6%, 44992 KB, 58029 KB/s, 0 seconds passed -... 6%, 45024 KB, 58048 KB/s, 0 seconds passed -... 6%, 45056 KB, 58070 KB/s, 0 seconds passed -... 6%, 45088 KB, 58097 KB/s, 0 seconds passed -... 6%, 45120 KB, 58123 KB/s, 0 seconds passed -... 6%, 45152 KB, 58149 KB/s, 0 seconds passed -... 6%, 45184 KB, 58174 KB/s, 0 seconds passed -... 6%, 45216 KB, 58201 KB/s, 0 seconds passed -... 6%, 45248 KB, 57741 KB/s, 0 seconds passed -... 6%, 45280 KB, 57763 KB/s, 0 seconds passed -... 6%, 45312 KB, 57784 KB/s, 0 seconds passed -... 6%, 45344 KB, 57792 KB/s, 0 seconds passed -... 6%, 45376 KB, 57814 KB/s, 0 seconds passed -... 6%, 45408 KB, 57835 KB/s, 0 seconds passed -... 6%, 45440 KB, 57843 KB/s, 0 seconds passed -... 6%, 45472 KB, 57864 KB/s, 0 seconds passed -... 6%, 45504 KB, 57881 KB/s, 0 seconds passed -... 6%, 45536 KB, 57874 KB/s, 0 seconds passed -... 6%, 45568 KB, 57891 KB/s, 0 seconds passed -... 6%, 45600 KB, 57912 KB/s, 0 seconds passed -... 6%, 45632 KB, 57918 KB/s, 0 seconds passed -... 6%, 45664 KB, 57932 KB/s, 0 seconds passed -... 6%, 45696 KB, 57928 KB/s, 0 seconds passed -... 6%, 45728 KB, 57945 KB/s, 0 seconds passed -... 6%, 45760 KB, 57958 KB/s, 0 seconds passed -... 6%, 45792 KB, 57967 KB/s, 0 seconds passed -... 6%, 45824 KB, 57979 KB/s, 0 seconds passed -... 6%, 45856 KB, 58000 KB/s, 0 seconds passed -... 6%, 45888 KB, 58005 KB/s, 0 seconds passed -... 6%, 45920 KB, 58017 KB/s, 0 seconds passed -... 6%, 45952 KB, 58018 KB/s, 0 seconds passed -... 6%, 45984 KB, 58034 KB/s, 0 seconds passed -... 6%, 46016 KB, 58050 KB/s, 0 seconds passed -... 6%, 46048 KB, 58046 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 6%, 46080 KB, 55179 KB/s, 0 seconds passed -... 6%, 46112 KB, 54369 KB/s, 0 seconds passed -... 6%, 46144 KB, 54377 KB/s, 0 seconds passed -... 6%, 46176 KB, 54394 KB/s, 0 seconds passed -... 6%, 46208 KB, 54412 KB/s, 0 seconds passed -... 6%, 46240 KB, 54429 KB/s, 0 seconds passed -... 6%, 46272 KB, 54447 KB/s, 0 seconds passed -... 6%, 46304 KB, 54464 KB/s, 0 seconds passed -... 6%, 46336 KB, 54481 KB/s, 0 seconds passed -... 6%, 46368 KB, 54500 KB/s, 0 seconds passed -... 6%, 46400 KB, 54518 KB/s, 0 seconds passed -... 6%, 46432 KB, 54537 KB/s, 0 seconds passed -... 6%, 46464 KB, 54556 KB/s, 0 seconds passed -... 6%, 46496 KB, 54573 KB/s, 0 seconds passed -... 6%, 46528 KB, 54592 KB/s, 0 seconds passed -... 6%, 46560 KB, 54609 KB/s, 0 seconds passed -... 6%, 46592 KB, 54627 KB/s, 0 seconds passed -... 6%, 46624 KB, 54645 KB/s, 0 seconds passed -... 6%, 46656 KB, 54663 KB/s, 0 seconds passed -... 6%, 46688 KB, 54681 KB/s, 0 seconds passed -... 6%, 46720 KB, 54700 KB/s, 0 seconds passed -... 6%, 46752 KB, 54719 KB/s, 0 seconds passed -... 6%, 46784 KB, 54737 KB/s, 0 seconds passed -... 6%, 46816 KB, 54756 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 6%, 46848 KB, 54579 KB/s, 0 seconds passed -... 6%, 46880 KB, 54588 KB/s, 0 seconds passed -... 6%, 46912 KB, 54604 KB/s, 0 seconds passed -... 6%, 46944 KB, 54622 KB/s, 0 seconds passed -... 6%, 46976 KB, 54640 KB/s, 0 seconds passed -... 6%, 47008 KB, 54658 KB/s, 0 seconds passed -... 6%, 47040 KB, 54676 KB/s, 0 seconds passed -... 6%, 47072 KB, 54693 KB/s, 0 seconds passed -... 6%, 47104 KB, 54710 KB/s, 0 seconds passed -... 6%, 47136 KB, 54728 KB/s, 0 seconds passed -... 6%, 47168 KB, 54745 KB/s, 0 seconds passed -... 6%, 47200 KB, 54764 KB/s, 0 seconds passed -... 6%, 47232 KB, 54781 KB/s, 0 seconds passed -... 6%, 47264 KB, 54800 KB/s, 0 seconds passed -... 6%, 47296 KB, 54818 KB/s, 0 seconds passed -... 6%, 47328 KB, 54834 KB/s, 0 seconds passed -... 6%, 47360 KB, 54852 KB/s, 0 seconds passed -... 6%, 47392 KB, 54870 KB/s, 0 seconds passed -... 6%, 47424 KB, 54889 KB/s, 0 seconds passed -... 6%, 47456 KB, 54907 KB/s, 0 seconds passed -... 6%, 47488 KB, 54924 KB/s, 0 seconds passed -... 6%, 47520 KB, 54942 KB/s, 0 seconds passed -... 6%, 47552 KB, 54961 KB/s, 0 seconds passed -... 6%, 47584 KB, 54978 KB/s, 0 seconds passed -... 6%, 47616 KB, 54996 KB/s, 0 seconds passed -... 6%, 47648 KB, 55015 KB/s, 0 seconds passed -... 6%, 47680 KB, 55032 KB/s, 0 seconds passed -... 6%, 47712 KB, 55050 KB/s, 0 seconds passed -... 6%, 47744 KB, 55069 KB/s, 0 seconds passed -... 6%, 47776 KB, 55090 KB/s, 0 seconds passed -... 6%, 47808 KB, 55111 KB/s, 0 seconds passed -... 6%, 47840 KB, 55132 KB/s, 0 seconds passed -... 6%, 47872 KB, 55152 KB/s, 0 seconds passed -... 6%, 47904 KB, 55173 KB/s, 0 seconds passed -... 6%, 47936 KB, 55194 KB/s, 0 seconds passed -... 6%, 47968 KB, 55215 KB/s, 0 seconds passed -... 6%, 48000 KB, 55236 KB/s, 0 seconds passed -... 6%, 48032 KB, 55257 KB/s, 0 seconds passed -... 6%, 48064 KB, 55278 KB/s, 0 seconds passed -... 6%, 48096 KB, 55299 KB/s, 0 seconds passed -... 6%, 48128 KB, 55320 KB/s, 0 seconds passed -... 6%, 48160 KB, 55340 KB/s, 0 seconds passed -... 6%, 48192 KB, 55360 KB/s, 0 seconds passed -... 6%, 48224 KB, 55381 KB/s, 0 seconds passed -... 6%, 48256 KB, 55402 KB/s, 0 seconds passed -... 6%, 48288 KB, 55423 KB/s, 0 seconds passed -... 6%, 48320 KB, 55443 KB/s, 0 seconds passed -... 6%, 48352 KB, 55463 KB/s, 0 seconds passed -... 6%, 48384 KB, 55485 KB/s, 0 seconds passed -... 6%, 48416 KB, 55506 KB/s, 0 seconds passed -... 6%, 48448 KB, 55526 KB/s, 0 seconds passed -... 6%, 48480 KB, 55547 KB/s, 0 seconds passed -... 6%, 48512 KB, 55569 KB/s, 0 seconds passed -... 6%, 48544 KB, 55589 KB/s, 0 seconds passed -... 6%, 48576 KB, 55610 KB/s, 0 seconds passed -... 6%, 48608 KB, 55631 KB/s, 0 seconds passed -... 6%, 48640 KB, 55652 KB/s, 0 seconds passed -... 6%, 48672 KB, 55673 KB/s, 0 seconds passed -... 7%, 48704 KB, 55693 KB/s, 0 seconds passed -... 7%, 48736 KB, 55714 KB/s, 0 seconds passed -... 7%, 48768 KB, 55732 KB/s, 0 seconds passed -... 7%, 48800 KB, 55749 KB/s, 0 seconds passed -... 7%, 48832 KB, 55769 KB/s, 0 seconds passed -... 7%, 48864 KB, 55787 KB/s, 0 seconds passed -... 7%, 48896 KB, 55807 KB/s, 0 seconds passed -... 7%, 48928 KB, 55828 KB/s, 0 seconds passed -... 7%, 48960 KB, 55848 KB/s, 0 seconds passed -... 7%, 48992 KB, 55866 KB/s, 0 seconds passed -... 7%, 49024 KB, 55889 KB/s, 0 seconds passed -... 7%, 49056 KB, 55906 KB/s, 0 seconds passed -... 7%, 49088 KB, 55925 KB/s, 0 seconds passed -... 7%, 49120 KB, 55944 KB/s, 0 seconds passed -... 7%, 49152 KB, 55964 KB/s, 0 seconds passed -... 7%, 49184 KB, 55980 KB/s, 0 seconds passed -... 7%, 49216 KB, 55999 KB/s, 0 seconds passed -... 7%, 49248 KB, 56019 KB/s, 0 seconds passed -... 7%, 49280 KB, 56038 KB/s, 0 seconds passed -... 7%, 49312 KB, 56057 KB/s, 0 seconds passed -... 7%, 49344 KB, 56073 KB/s, 0 seconds passed -... 7%, 49376 KB, 56086 KB/s, 0 seconds passed -... 7%, 49408 KB, 56105 KB/s, 0 seconds passed -... 7%, 49440 KB, 56124 KB/s, 0 seconds passed -... 7%, 49472 KB, 56147 KB/s, 0 seconds passed -... 7%, 49504 KB, 56167 KB/s, 0 seconds passed -... 7%, 49536 KB, 56186 KB/s, 0 seconds passed -... 7%, 49568 KB, 56205 KB/s, 0 seconds passed -... 7%, 49600 KB, 56221 KB/s, 0 seconds passed -... 7%, 49632 KB, 56240 KB/s, 0 seconds passed -... 7%, 49664 KB, 56259 KB/s, 0 seconds passed -... 7%, 49696 KB, 56279 KB/s, 0 seconds passed -... 7%, 49728 KB, 56295 KB/s, 0 seconds passed -... 7%, 49760 KB, 56314 KB/s, 0 seconds passed -... 7%, 49792 KB, 56333 KB/s, 0 seconds passed -... 7%, 49824 KB, 56353 KB/s, 0 seconds passed -... 7%, 49856 KB, 56372 KB/s, 0 seconds passed -... 7%, 49888 KB, 56388 KB/s, 0 seconds passed -... 7%, 49920 KB, 56407 KB/s, 0 seconds passed -... 7%, 49952 KB, 56425 KB/s, 0 seconds passed -... 7%, 49984 KB, 56442 KB/s, 0 seconds passed -... 7%, 50016 KB, 56461 KB/s, 0 seconds passed -... 7%, 50048 KB, 56480 KB/s, 0 seconds passed -... 7%, 50080 KB, 56499 KB/s, 0 seconds passed -... 7%, 50112 KB, 56515 KB/s, 0 seconds passed -... 7%, 50144 KB, 56534 KB/s, 0 seconds passed -... 7%, 50176 KB, 56554 KB/s, 0 seconds passed -... 7%, 50208 KB, 56573 KB/s, 0 seconds passed -... 7%, 50240 KB, 56588 KB/s, 0 seconds passed -... 7%, 50272 KB, 56607 KB/s, 0 seconds passed -... 7%, 50304 KB, 56626 KB/s, 0 seconds passed -... 7%, 50336 KB, 56645 KB/s, 0 seconds passed -... 7%, 50368 KB, 56657 KB/s, 0 seconds passed -... 7%, 50400 KB, 56673 KB/s, 0 seconds passed -... 7%, 50432 KB, 56692 KB/s, 0 seconds passed -... 7%, 50464 KB, 56710 KB/s, 0 seconds passed -... 7%, 50496 KB, 56730 KB/s, 0 seconds passed -... 7%, 50528 KB, 56749 KB/s, 0 seconds passed -... 7%, 50560 KB, 56775 KB/s, 0 seconds passed -... 7%, 50592 KB, 56790 KB/s, 0 seconds passed -... 7%, 50624 KB, 56807 KB/s, 0 seconds passed -... 7%, 50656 KB, 56823 KB/s, 0 seconds passed -... 7%, 50688 KB, 56839 KB/s, 0 seconds passed -... 7%, 50720 KB, 56854 KB/s, 0 seconds passed -... 7%, 50752 KB, 56879 KB/s, 0 seconds passed -... 7%, 50784 KB, 56900 KB/s, 0 seconds passed -... 7%, 50816 KB, 56916 KB/s, 0 seconds passed -... 7%, 50848 KB, 56935 KB/s, 0 seconds passed -... 7%, 50880 KB, 56953 KB/s, 0 seconds passed -... 7%, 50912 KB, 56973 KB/s, 0 seconds passed -... 7%, 50944 KB, 56988 KB/s, 0 seconds passed -... 7%, 50976 KB, 57007 KB/s, 0 seconds passed -... 7%, 51008 KB, 57026 KB/s, 0 seconds passed -... 7%, 51040 KB, 57045 KB/s, 0 seconds passed -... 7%, 51072 KB, 57063 KB/s, 0 seconds passed -... 7%, 51104 KB, 57079 KB/s, 0 seconds passed -... 7%, 51136 KB, 57096 KB/s, 0 seconds passed -... 7%, 51168 KB, 57106 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 7%, 51200 KB, 53797 KB/s, 0 seconds passed -... 7%, 51232 KB, 53799 KB/s, 0 seconds passed -... 7%, 51264 KB, 53813 KB/s, 0 seconds passed -... 7%, 51296 KB, 53629 KB/s, 0 seconds passed -... 7%, 51328 KB, 53638 KB/s, 0 seconds passed -... 7%, 51360 KB, 53652 KB/s, 0 seconds passed -... 7%, 51392 KB, 53669 KB/s, 0 seconds passed -... 7%, 51424 KB, 53684 KB/s, 0 seconds passed -... 7%, 51456 KB, 53701 KB/s, 0 seconds passed -... 7%, 51488 KB, 53718 KB/s, 0 seconds passed -... 7%, 51520 KB, 53734 KB/s, 0 seconds passed -... 7%, 51552 KB, 53750 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 7%, 51584 KB, 53767 KB/s, 0 seconds passed -... 7%, 51616 KB, 53783 KB/s, 0 seconds passed -... 7%, 51648 KB, 53799 KB/s, 0 seconds passed -... 7%, 51680 KB, 53816 KB/s, 0 seconds passed -... 7%, 51712 KB, 53831 KB/s, 0 seconds passed -... 7%, 51744 KB, 53846 KB/s, 0 seconds passed -... 7%, 51776 KB, 53862 KB/s, 0 seconds passed -... 7%, 51808 KB, 53879 KB/s, 0 seconds passed -... 7%, 51840 KB, 53896 KB/s, 0 seconds passed -... 7%, 51872 KB, 53912 KB/s, 0 seconds passed -... 7%, 51904 KB, 53929 KB/s, 0 seconds passed -... 7%, 51936 KB, 53944 KB/s, 0 seconds passed -... 7%, 51968 KB, 53960 KB/s, 0 seconds passed -... 7%, 52000 KB, 53976 KB/s, 0 seconds passed -... 7%, 52032 KB, 53993 KB/s, 0 seconds passed -... 7%, 52064 KB, 54008 KB/s, 0 seconds passed -... 7%, 52096 KB, 54024 KB/s, 0 seconds passed -... 7%, 52128 KB, 54039 KB/s, 0 seconds passed -... 7%, 52160 KB, 54056 KB/s, 0 seconds passed -... 7%, 52192 KB, 54072 KB/s, 0 seconds passed -... 7%, 52224 KB, 54089 KB/s, 0 seconds passed -... 7%, 52256 KB, 54105 KB/s, 0 seconds passed -... 7%, 52288 KB, 54121 KB/s, 0 seconds passed -... 7%, 52320 KB, 54136 KB/s, 0 seconds passed -... 7%, 52352 KB, 54153 KB/s, 0 seconds passed -... 7%, 52384 KB, 54172 KB/s, 0 seconds passed -... 7%, 52416 KB, 54193 KB/s, 0 seconds passed -... 7%, 52448 KB, 54215 KB/s, 0 seconds passed -... 7%, 52480 KB, 54237 KB/s, 0 seconds passed -... 7%, 52512 KB, 54247 KB/s, 0 seconds passed -... 7%, 52544 KB, 54262 KB/s, 0 seconds passed -... 7%, 52576 KB, 54269 KB/s, 0 seconds passed -... 7%, 52608 KB, 54283 KB/s, 0 seconds passed -... 7%, 52640 KB, 54291 KB/s, 0 seconds passed -... 7%, 52672 KB, 54299 KB/s, 0 seconds passed -... 7%, 52704 KB, 54319 KB/s, 0 seconds passed -... 7%, 52736 KB, 54329 KB/s, 0 seconds passed -... 7%, 52768 KB, 54332 KB/s, 0 seconds passed -... 7%, 52800 KB, 54344 KB/s, 0 seconds passed -... 7%, 52832 KB, 54356 KB/s, 0 seconds passed -... 7%, 52864 KB, 54368 KB/s, 0 seconds passed -... 7%, 52896 KB, 54380 KB/s, 0 seconds passed -... 7%, 52928 KB, 54395 KB/s, 0 seconds passed -... 7%, 52960 KB, 54403 KB/s, 0 seconds passed -... 7%, 52992 KB, 54416 KB/s, 0 seconds passed -... 7%, 53024 KB, 54423 KB/s, 0 seconds passed -... 7%, 53056 KB, 54431 KB/s, 0 seconds passed -... 7%, 53088 KB, 54449 KB/s, 0 seconds passed -... 7%, 53120 KB, 54466 KB/s, 0 seconds passed -... 7%, 53152 KB, 54479 KB/s, 0 seconds passed -... 7%, 53184 KB, 54494 KB/s, 0 seconds passed -... 7%, 53216 KB, 54511 KB/s, 0 seconds passed -... 7%, 53248 KB, 54522 KB/s, 0 seconds passed -... 7%, 53280 KB, 53685 KB/s, 0 seconds passed -... 7%, 53312 KB, 53695 KB/s, 0 seconds passed -... 7%, 53344 KB, 53709 KB/s, 0 seconds passed -... 7%, 53376 KB, 53724 KB/s, 0 seconds passed -... 7%, 53408 KB, 53740 KB/s, 0 seconds passed -... 7%, 53440 KB, 53756 KB/s, 0 seconds passed -... 7%, 53472 KB, 53771 KB/s, 0 seconds passed -... 7%, 53504 KB, 53786 KB/s, 0 seconds passed -... 7%, 53536 KB, 53802 KB/s, 0 seconds passed -... 7%, 53568 KB, 53819 KB/s, 0 seconds passed -... 7%, 53600 KB, 53835 KB/s, 0 seconds passed -... 7%, 53632 KB, 53851 KB/s, 0 seconds passed -... 7%, 53664 KB, 53866 KB/s, 0 seconds passed -... 7%, 53696 KB, 53881 KB/s, 0 seconds passed -... 7%, 53728 KB, 53896 KB/s, 0 seconds passed -... 7%, 53760 KB, 53912 KB/s, 0 seconds passed -... 7%, 53792 KB, 53927 KB/s, 0 seconds passed -... 7%, 53824 KB, 53943 KB/s, 0 seconds passed -... 7%, 53856 KB, 53958 KB/s, 0 seconds passed -... 7%, 53888 KB, 53974 KB/s, 0 seconds passed -... 7%, 53920 KB, 53990 KB/s, 0 seconds passed -... 7%, 53952 KB, 54005 KB/s, 0 seconds passed -... 7%, 53984 KB, 54021 KB/s, 0 seconds passed -... 7%, 54016 KB, 54036 KB/s, 0 seconds passed -... 7%, 54048 KB, 54050 KB/s, 0 seconds passed -... 7%, 54080 KB, 54066 KB/s, 1 seconds passed -... 7%, 54112 KB, 54080 KB/s, 1 seconds passed -... 7%, 54144 KB, 54094 KB/s, 1 seconds passed -... 7%, 54176 KB, 54110 KB/s, 1 seconds passed -... 7%, 54208 KB, 54126 KB/s, 1 seconds passed -... 7%, 54240 KB, 54142 KB/s, 1 seconds passed -... 7%, 54272 KB, 54157 KB/s, 1 seconds passed -... 7%, 54304 KB, 54172 KB/s, 1 seconds passed -... 7%, 54336 KB, 54188 KB/s, 1 seconds passed -... 7%, 54368 KB, 54204 KB/s, 1 seconds passed -... 7%, 54400 KB, 54219 KB/s, 1 seconds passed -... 7%, 54432 KB, 54234 KB/s, 1 seconds passed -... 7%, 54464 KB, 54250 KB/s, 1 seconds passed -... 7%, 54496 KB, 54265 KB/s, 1 seconds passed -... 7%, 54528 KB, 54281 KB/s, 1 seconds passed -... 7%, 54560 KB, 54295 KB/s, 1 seconds passed -... 7%, 54592 KB, 54310 KB/s, 1 seconds passed -... 7%, 54624 KB, 54325 KB/s, 1 seconds passed -... 7%, 54656 KB, 54341 KB/s, 1 seconds passed -... 7%, 54688 KB, 54357 KB/s, 1 seconds passed -... 7%, 54720 KB, 54373 KB/s, 1 seconds passed -... 7%, 54752 KB, 54388 KB/s, 1 seconds passed -... 7%, 54784 KB, 54404 KB/s, 1 seconds passed -... 7%, 54816 KB, 54420 KB/s, 1 seconds passed -... 7%, 54848 KB, 54438 KB/s, 1 seconds passed -... 7%, 54880 KB, 54459 KB/s, 1 seconds passed -... 7%, 54912 KB, 54480 KB/s, 1 seconds passed -... 7%, 54944 KB, 54501 KB/s, 1 seconds passed -... 7%, 54976 KB, 54522 KB/s, 1 seconds passed -... 7%, 55008 KB, 54542 KB/s, 1 seconds passed -... 7%, 55040 KB, 54563 KB/s, 1 seconds passed -... 7%, 55072 KB, 54584 KB/s, 1 seconds passed -... 7%, 55104 KB, 54606 KB/s, 1 seconds passed -... 7%, 55136 KB, 54626 KB/s, 1 seconds passed -... 7%, 55168 KB, 54648 KB/s, 1 seconds passed -... 7%, 55200 KB, 54669 KB/s, 1 seconds passed -... 7%, 55232 KB, 54689 KB/s, 1 seconds passed -... 7%, 55264 KB, 54710 KB/s, 1 seconds passed -... 7%, 55296 KB, 54732 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 7%, 55328 KB, 54743 KB/s, 1 seconds passed -... 7%, 55360 KB, 54761 KB/s, 1 seconds passed -... 7%, 55392 KB, 54779 KB/s, 1 seconds passed -... 7%, 55424 KB, 54797 KB/s, 1 seconds passed -... 7%, 55456 KB, 54814 KB/s, 1 seconds passed -... 7%, 55488 KB, 54832 KB/s, 1 seconds passed -... 7%, 55520 KB, 54849 KB/s, 1 seconds passed -... 7%, 55552 KB, 54867 KB/s, 1 seconds passed -... 7%, 55584 KB, 54885 KB/s, 1 seconds passed -... 7%, 55616 KB, 54903 KB/s, 1 seconds passed -... 8%, 55648 KB, 54921 KB/s, 1 seconds passed -... 8%, 55680 KB, 54926 KB/s, 1 seconds passed -... 8%, 55712 KB, 54943 KB/s, 1 seconds passed -... 8%, 55744 KB, 54961 KB/s, 1 seconds passed -... 8%, 55776 KB, 54979 KB/s, 1 seconds passed -... 8%, 55808 KB, 54997 KB/s, 1 seconds passed -... 8%, 55840 KB, 55013 KB/s, 1 seconds passed -... 8%, 55872 KB, 55031 KB/s, 1 seconds passed -... 8%, 55904 KB, 55049 KB/s, 1 seconds passed -... 8%, 55936 KB, 55054 KB/s, 1 seconds passed -... 8%, 55968 KB, 55071 KB/s, 1 seconds passed -... 8%, 56000 KB, 55089 KB/s, 1 seconds passed -... 8%, 56032 KB, 55107 KB/s, 1 seconds passed -... 8%, 56064 KB, 55125 KB/s, 1 seconds passed -... 8%, 56096 KB, 55142 KB/s, 1 seconds passed -... 8%, 56128 KB, 55160 KB/s, 1 seconds passed -... 8%, 56160 KB, 55178 KB/s, 1 seconds passed -... 8%, 56192 KB, 55195 KB/s, 1 seconds passed -... 8%, 56224 KB, 55213 KB/s, 1 seconds passed -... 8%, 56256 KB, 55231 KB/s, 1 seconds passed -... 8%, 56288 KB, 55236 KB/s, 1 seconds passed -... 8%, 56320 KB, 54938 KB/s, 1 seconds passed -... 8%, 56352 KB, 54945 KB/s, 1 seconds passed -... 8%, 56384 KB, 54957 KB/s, 1 seconds passed -... 8%, 56416 KB, 54975 KB/s, 1 seconds passed -... 8%, 56448 KB, 54998 KB/s, 1 seconds passed -... 8%, 56480 KB, 55021 KB/s, 1 seconds passed -... 8%, 56512 KB, 55043 KB/s, 1 seconds passed -... 8%, 56544 KB, 55060 KB/s, 1 seconds passed -... 8%, 56576 KB, 55075 KB/s, 1 seconds passed -... 8%, 56608 KB, 55089 KB/s, 1 seconds passed -... 8%, 56640 KB, 55103 KB/s, 1 seconds passed -... 8%, 56672 KB, 55119 KB/s, 1 seconds passed -... 8%, 56704 KB, 55134 KB/s, 1 seconds passed -... 8%, 56736 KB, 55151 KB/s, 1 seconds passed -... 8%, 56768 KB, 55168 KB/s, 1 seconds passed -... 8%, 56800 KB, 55186 KB/s, 1 seconds passed -... 8%, 56832 KB, 55203 KB/s, 1 seconds passed -... 8%, 56864 KB, 55220 KB/s, 1 seconds passed -... 8%, 56896 KB, 55225 KB/s, 1 seconds passed -... 8%, 56928 KB, 55244 KB/s, 1 seconds passed -... 8%, 56960 KB, 55260 KB/s, 1 seconds passed -... 8%, 56992 KB, 55281 KB/s, 1 seconds passed -... 8%, 57024 KB, 55302 KB/s, 1 seconds passed -... 8%, 57056 KB, 55313 KB/s, 1 seconds passed -... 8%, 57088 KB, 55330 KB/s, 1 seconds passed -... 8%, 57120 KB, 55348 KB/s, 1 seconds passed -... 8%, 57152 KB, 55366 KB/s, 1 seconds passed -... 8%, 57184 KB, 55381 KB/s, 1 seconds passed -... 8%, 57216 KB, 55398 KB/s, 1 seconds passed -... 8%, 57248 KB, 55416 KB/s, 1 seconds passed -... 8%, 57280 KB, 55420 KB/s, 1 seconds passed -... 8%, 57312 KB, 55434 KB/s, 1 seconds passed -... 8%, 57344 KB, 55448 KB/s, 1 seconds passed -... 8%, 57376 KB, 55462 KB/s, 1 seconds passed -... 8%, 57408 KB, 55479 KB/s, 1 seconds passed -... 8%, 57440 KB, 55499 KB/s, 1 seconds passed -... 8%, 57472 KB, 55520 KB/s, 1 seconds passed -... 8%, 57504 KB, 55540 KB/s, 1 seconds passed -... 8%, 57536 KB, 55558 KB/s, 1 seconds passed -... 8%, 57568 KB, 55575 KB/s, 1 seconds passed -... 8%, 57600 KB, 55593 KB/s, 1 seconds passed -... 8%, 57632 KB, 55610 KB/s, 1 seconds passed -... 8%, 57664 KB, 55627 KB/s, 1 seconds passed -... 8%, 57696 KB, 55632 KB/s, 1 seconds passed -... 8%, 57728 KB, 55649 KB/s, 1 seconds passed -... 8%, 57760 KB, 55666 KB/s, 1 seconds passed -... 8%, 57792 KB, 55683 KB/s, 1 seconds passed -... 8%, 57824 KB, 55699 KB/s, 1 seconds passed -... 8%, 57856 KB, 55718 KB/s, 1 seconds passed -... 8%, 57888 KB, 55734 KB/s, 1 seconds passed -... 8%, 57920 KB, 55751 KB/s, 1 seconds passed -... 8%, 57952 KB, 55768 KB/s, 1 seconds passed -... 8%, 57984 KB, 55786 KB/s, 1 seconds passed -... 8%, 58016 KB, 55790 KB/s, 1 seconds passed -... 8%, 58048 KB, 55803 KB/s, 1 seconds passed -... 8%, 58080 KB, 55816 KB/s, 1 seconds passed -... 8%, 58112 KB, 55830 KB/s, 1 seconds passed -... 8%, 58144 KB, 55845 KB/s, 1 seconds passed -... 8%, 58176 KB, 55867 KB/s, 1 seconds passed -... 8%, 58208 KB, 55889 KB/s, 1 seconds passed -... 8%, 58240 KB, 55896 KB/s, 1 seconds passed -... 8%, 58272 KB, 55914 KB/s, 1 seconds passed -... 8%, 58304 KB, 55930 KB/s, 1 seconds passed -... 8%, 58336 KB, 55947 KB/s, 1 seconds passed -... 8%, 58368 KB, 55964 KB/s, 1 seconds passed -... 8%, 58400 KB, 55982 KB/s, 1 seconds passed -... 8%, 58432 KB, 55998 KB/s, 1 seconds passed -... 8%, 58464 KB, 56014 KB/s, 1 seconds passed -... 8%, 58496 KB, 56032 KB/s, 1 seconds passed -... 8%, 58528 KB, 56049 KB/s, 1 seconds passed -... 8%, 58560 KB, 56066 KB/s, 1 seconds passed -... 8%, 58592 KB, 56071 KB/s, 1 seconds passed -... 8%, 58624 KB, 56087 KB/s, 1 seconds passed -... 8%, 58656 KB, 56104 KB/s, 1 seconds passed -... 8%, 58688 KB, 56121 KB/s, 1 seconds passed -... 8%, 58720 KB, 56139 KB/s, 1 seconds passed -... 8%, 58752 KB, 56155 KB/s, 1 seconds passed -... 8%, 58784 KB, 56171 KB/s, 1 seconds passed -... 8%, 58816 KB, 56188 KB/s, 1 seconds passed -... 8%, 58848 KB, 56205 KB/s, 1 seconds passed -... 8%, 58880 KB, 56222 KB/s, 1 seconds passed -... 8%, 58912 KB, 56239 KB/s, 1 seconds passed -... 8%, 58944 KB, 56243 KB/s, 1 seconds passed -... 8%, 58976 KB, 56255 KB/s, 1 seconds passed -... 8%, 59008 KB, 56268 KB/s, 1 seconds passed -... 8%, 59040 KB, 56281 KB/s, 1 seconds passed -... 8%, 59072 KB, 56300 KB/s, 1 seconds passed -... 8%, 59104 KB, 56322 KB/s, 1 seconds passed -... 8%, 59136 KB, 56344 KB/s, 1 seconds passed -... 8%, 59168 KB, 56357 KB/s, 1 seconds passed -... 8%, 59200 KB, 56369 KB/s, 1 seconds passed -... 8%, 59232 KB, 56383 KB/s, 1 seconds passed -... 8%, 59264 KB, 56395 KB/s, 1 seconds passed -... 8%, 59296 KB, 56409 KB/s, 1 seconds passed -... 8%, 59328 KB, 56432 KB/s, 1 seconds passed -... 8%, 59360 KB, 56448 KB/s, 1 seconds passed -... 8%, 59392 KB, 56466 KB/s, 1 seconds passed -... 8%, 59424 KB, 56482 KB/s, 1 seconds passed -... 8%, 59456 KB, 56499 KB/s, 1 seconds passed -... 8%, 59488 KB, 56515 KB/s, 1 seconds passed -... 8%, 59520 KB, 56532 KB/s, 1 seconds passed -... 8%, 59552 KB, 56549 KB/s, 1 seconds passed -... 8%, 59584 KB, 56553 KB/s, 1 seconds passed -... 8%, 59616 KB, 56569 KB/s, 1 seconds passed -... 8%, 59648 KB, 56586 KB/s, 1 seconds passed -... 8%, 59680 KB, 56603 KB/s, 1 seconds passed -... 8%, 59712 KB, 56619 KB/s, 1 seconds passed -... 8%, 59744 KB, 56635 KB/s, 1 seconds passed -... 8%, 59776 KB, 56652 KB/s, 1 seconds passed -... 8%, 59808 KB, 56669 KB/s, 1 seconds passed -... 8%, 59840 KB, 56686 KB/s, 1 seconds passed -... 8%, 59872 KB, 56702 KB/s, 1 seconds passed -... 8%, 59904 KB, 56719 KB/s, 1 seconds passed -... 8%, 59936 KB, 56724 KB/s, 1 seconds passed -... 8%, 59968 KB, 56740 KB/s, 1 seconds passed -... 8%, 60000 KB, 56756 KB/s, 1 seconds passed -... 8%, 60032 KB, 56772 KB/s, 1 seconds passed -... 8%, 60064 KB, 56789 KB/s, 1 seconds passed -... 8%, 60096 KB, 56806 KB/s, 1 seconds passed -... 8%, 60128 KB, 56822 KB/s, 1 seconds passed -... 8%, 60160 KB, 56838 KB/s, 1 seconds passed -... 8%, 60192 KB, 56856 KB/s, 1 seconds passed -... 8%, 60224 KB, 56857 KB/s, 1 seconds passed -... 8%, 60256 KB, 56870 KB/s, 1 seconds passed -... 8%, 60288 KB, 56884 KB/s, 1 seconds passed -... 8%, 60320 KB, 56899 KB/s, 1 seconds passed -... 8%, 60352 KB, 56923 KB/s, 1 seconds passed -... 8%, 60384 KB, 56941 KB/s, 1 seconds passed -... 8%, 60416 KB, 56958 KB/s, 1 seconds passed -... 8%, 60448 KB, 56974 KB/s, 1 seconds passed -... 8%, 60480 KB, 56990 KB/s, 1 seconds passed -... 8%, 60512 KB, 57007 KB/s, 1 seconds passed -... 8%, 60544 KB, 57024 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 8%, 60576 KB, 57040 KB/s, 1 seconds passed -... 8%, 60608 KB, 56421 KB/s, 1 seconds passed -... 8%, 60640 KB, 56437 KB/s, 1 seconds passed -... 8%, 60672 KB, 56454 KB/s, 1 seconds passed -... 8%, 60704 KB, 56471 KB/s, 1 seconds passed -... 8%, 60736 KB, 56487 KB/s, 1 seconds passed -... 8%, 60768 KB, 56492 KB/s, 1 seconds passed -... 8%, 60800 KB, 56508 KB/s, 1 seconds passed -... 8%, 60832 KB, 56524 KB/s, 1 seconds passed -... 8%, 60864 KB, 56473 KB/s, 1 seconds passed -... 8%, 60896 KB, 56485 KB/s, 1 seconds passed -... 8%, 60928 KB, 56498 KB/s, 1 seconds passed -... 8%, 60960 KB, 56512 KB/s, 1 seconds passed -... 8%, 60992 KB, 56527 KB/s, 1 seconds passed -... 8%, 61024 KB, 56540 KB/s, 1 seconds passed -... 8%, 61056 KB, 56554 KB/s, 1 seconds passed -... 8%, 61088 KB, 56568 KB/s, 1 seconds passed -... 8%, 61120 KB, 56582 KB/s, 1 seconds passed -... 8%, 61152 KB, 56596 KB/s, 1 seconds passed -... 8%, 61184 KB, 56610 KB/s, 1 seconds passed -... 8%, 61216 KB, 56624 KB/s, 1 seconds passed -... 8%, 61248 KB, 56637 KB/s, 1 seconds passed -... 8%, 61280 KB, 56652 KB/s, 1 seconds passed -... 8%, 61312 KB, 56666 KB/s, 1 seconds passed -... 8%, 61344 KB, 56680 KB/s, 1 seconds passed -... 8%, 61376 KB, 56694 KB/s, 1 seconds passed -... 8%, 61408 KB, 56708 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 8%, 61440 KB, 53387 KB/s, 1 seconds passed -... 8%, 61472 KB, 53393 KB/s, 1 seconds passed -... 8%, 61504 KB, 53406 KB/s, 1 seconds passed -... 8%, 61536 KB, 53418 KB/s, 1 seconds passed -... 8%, 61568 KB, 53369 KB/s, 1 seconds passed -... 8%, 61600 KB, 53374 KB/s, 1 seconds passed -... 8%, 61632 KB, 53387 KB/s, 1 seconds passed -... 8%, 61664 KB, 53400 KB/s, 1 seconds passed -... 8%, 61696 KB, 53413 KB/s, 1 seconds passed -... 8%, 61728 KB, 53427 KB/s, 1 seconds passed -... 8%, 61760 KB, 53442 KB/s, 1 seconds passed -... 8%, 61792 KB, 53456 KB/s, 1 seconds passed -... 8%, 61824 KB, 53470 KB/s, 1 seconds passed -... 8%, 61856 KB, 53483 KB/s, 1 seconds passed -... 8%, 61888 KB, 53497 KB/s, 1 seconds passed -... 8%, 61920 KB, 53510 KB/s, 1 seconds passed -... 8%, 61952 KB, 53524 KB/s, 1 seconds passed -... 8%, 61984 KB, 53537 KB/s, 1 seconds passed -... 8%, 62016 KB, 53551 KB/s, 1 seconds passed -... 8%, 62048 KB, 53565 KB/s, 1 seconds passed -... 8%, 62080 KB, 53579 KB/s, 1 seconds passed -... 8%, 62112 KB, 53592 KB/s, 1 seconds passed -... 8%, 62144 KB, 53606 KB/s, 1 seconds passed -... 8%, 62176 KB, 53621 KB/s, 1 seconds passed -... 8%, 62208 KB, 53634 KB/s, 1 seconds passed -... 8%, 62240 KB, 53648 KB/s, 1 seconds passed -... 8%, 62272 KB, 53660 KB/s, 1 seconds passed -... 8%, 62304 KB, 53674 KB/s, 1 seconds passed -... 8%, 62336 KB, 53688 KB/s, 1 seconds passed -... 8%, 62368 KB, 53702 KB/s, 1 seconds passed -... 8%, 62400 KB, 53716 KB/s, 1 seconds passed -... 8%, 62432 KB, 53730 KB/s, 1 seconds passed -... 8%, 62464 KB, 53743 KB/s, 1 seconds passed -... 8%, 62496 KB, 53757 KB/s, 1 seconds passed -... 8%, 62528 KB, 53770 KB/s, 1 seconds passed -... 8%, 62560 KB, 53784 KB/s, 1 seconds passed -... 8%, 62592 KB, 53798 KB/s, 1 seconds passed -... 9%, 62624 KB, 53812 KB/s, 1 seconds passed -... 9%, 62656 KB, 53826 KB/s, 1 seconds passed -... 9%, 62688 KB, 53839 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 9%, 62720 KB, 53852 KB/s, 1 seconds passed -... 9%, 62752 KB, 53865 KB/s, 1 seconds passed -... 9%, 62784 KB, 53879 KB/s, 1 seconds passed -... 9%, 62816 KB, 53893 KB/s, 1 seconds passed -... 9%, 62848 KB, 53907 KB/s, 1 seconds passed -... 9%, 62880 KB, 53920 KB/s, 1 seconds passed -... 9%, 62912 KB, 53934 KB/s, 1 seconds passed -... 9%, 62944 KB, 53947 KB/s, 1 seconds passed -... 9%, 62976 KB, 53961 KB/s, 1 seconds passed -... 9%, 63008 KB, 53975 KB/s, 1 seconds passed -... 9%, 63040 KB, 53987 KB/s, 1 seconds passed -... 9%, 63072 KB, 54001 KB/s, 1 seconds passed -... 9%, 63104 KB, 54015 KB/s, 1 seconds passed -... 9%, 63136 KB, 54029 KB/s, 1 seconds passed -... 9%, 63168 KB, 54043 KB/s, 1 seconds passed -... 9%, 63200 KB, 54056 KB/s, 1 seconds passed -... 9%, 63232 KB, 54073 KB/s, 1 seconds passed -... 9%, 63264 KB, 54092 KB/s, 1 seconds passed -... 9%, 63296 KB, 54110 KB/s, 1 seconds passed -... 9%, 63328 KB, 54128 KB/s, 1 seconds passed -... 9%, 63360 KB, 54146 KB/s, 1 seconds passed -... 9%, 63392 KB, 54164 KB/s, 1 seconds passed -... 9%, 63424 KB, 54182 KB/s, 1 seconds passed -... 9%, 63456 KB, 54200 KB/s, 1 seconds passed -... 9%, 63488 KB, 54218 KB/s, 1 seconds passed -... 9%, 63520 KB, 54237 KB/s, 1 seconds passed -... 9%, 63552 KB, 54255 KB/s, 1 seconds passed -... 9%, 63584 KB, 54274 KB/s, 1 seconds passed -... 9%, 63616 KB, 54292 KB/s, 1 seconds passed -... 9%, 63648 KB, 54310 KB/s, 1 seconds passed -... 9%, 63680 KB, 54328 KB/s, 1 seconds passed -... 9%, 63712 KB, 54346 KB/s, 1 seconds passed -... 9%, 63744 KB, 54363 KB/s, 1 seconds passed -... 9%, 63776 KB, 54381 KB/s, 1 seconds passed -... 9%, 63808 KB, 54397 KB/s, 1 seconds passed -... 9%, 63840 KB, 54403 KB/s, 1 seconds passed -... 9%, 63872 KB, 54421 KB/s, 1 seconds passed -... 9%, 63904 KB, 54439 KB/s, 1 seconds passed -... 9%, 63936 KB, 54457 KB/s, 1 seconds passed -... 9%, 63968 KB, 54475 KB/s, 1 seconds passed -... 9%, 64000 KB, 54480 KB/s, 1 seconds passed -... 9%, 64032 KB, 54495 KB/s, 1 seconds passed -... 9%, 64064 KB, 54511 KB/s, 1 seconds passed -... 9%, 64096 KB, 54526 KB/s, 1 seconds passed -... 9%, 64128 KB, 54540 KB/s, 1 seconds passed -... 9%, 64160 KB, 54546 KB/s, 1 seconds passed -... 9%, 64192 KB, 54561 KB/s, 1 seconds passed -... 9%, 64224 KB, 54576 KB/s, 1 seconds passed -... 9%, 64256 KB, 54594 KB/s, 1 seconds passed -... 9%, 64288 KB, 54607 KB/s, 1 seconds passed -... 9%, 64320 KB, 54622 KB/s, 1 seconds passed -... 9%, 64352 KB, 54637 KB/s, 1 seconds passed -... 9%, 64384 KB, 54653 KB/s, 1 seconds passed -... 9%, 64416 KB, 54668 KB/s, 1 seconds passed -... 9%, 64448 KB, 54682 KB/s, 1 seconds passed -... 9%, 64480 KB, 54688 KB/s, 1 seconds passed -... 9%, 64512 KB, 54705 KB/s, 1 seconds passed -... 9%, 64544 KB, 54719 KB/s, 1 seconds passed -... 9%, 64576 KB, 54733 KB/s, 1 seconds passed -... 9%, 64608 KB, 54749 KB/s, 1 seconds passed -... 9%, 64640 KB, 54764 KB/s, 1 seconds passed -... 9%, 64672 KB, 54779 KB/s, 1 seconds passed -... 9%, 64704 KB, 54794 KB/s, 1 seconds passed -... 9%, 64736 KB, 54810 KB/s, 1 seconds passed -... 9%, 64768 KB, 54825 KB/s, 1 seconds passed -... 9%, 64800 KB, 54841 KB/s, 1 seconds passed -... 9%, 64832 KB, 54855 KB/s, 1 seconds passed -... 9%, 64864 KB, 54871 KB/s, 1 seconds passed -... 9%, 64896 KB, 54874 KB/s, 1 seconds passed -... 9%, 64928 KB, 54886 KB/s, 1 seconds passed -... 9%, 64960 KB, 54904 KB/s, 1 seconds passed -... 9%, 64992 KB, 54921 KB/s, 1 seconds passed -... 9%, 65024 KB, 54936 KB/s, 1 seconds passed -... 9%, 65056 KB, 54950 KB/s, 1 seconds passed -... 9%, 65088 KB, 54966 KB/s, 1 seconds passed -... 9%, 65120 KB, 54969 KB/s, 1 seconds passed -... 9%, 65152 KB, 54981 KB/s, 1 seconds passed -... 9%, 65184 KB, 54998 KB/s, 1 seconds passed -... 9%, 65216 KB, 55016 KB/s, 1 seconds passed -... 9%, 65248 KB, 55036 KB/s, 1 seconds passed -... 9%, 65280 KB, 55046 KB/s, 1 seconds passed -... 9%, 65312 KB, 54988 KB/s, 1 seconds passed -... 9%, 65344 KB, 54994 KB/s, 1 seconds passed -... 9%, 65376 KB, 55005 KB/s, 1 seconds passed -... 9%, 65408 KB, 55021 KB/s, 1 seconds passed -... 9%, 65440 KB, 55024 KB/s, 1 seconds passed -... 9%, 65472 KB, 54856 KB/s, 1 seconds passed -... 9%, 65504 KB, 54863 KB/s, 1 seconds passed -... 9%, 65536 KB, 54879 KB/s, 1 seconds passed -... 9%, 65568 KB, 54898 KB/s, 1 seconds passed -... 9%, 65600 KB, 54918 KB/s, 1 seconds passed -... 9%, 65632 KB, 54935 KB/s, 1 seconds passed -... 9%, 65664 KB, 54940 KB/s, 1 seconds passed -... 9%, 65696 KB, 54952 KB/s, 1 seconds passed -... 9%, 65728 KB, 54963 KB/s, 1 seconds passed -... 9%, 65760 KB, 54975 KB/s, 1 seconds passed -... 9%, 65792 KB, 54993 KB/s, 1 seconds passed -... 9%, 65824 KB, 55012 KB/s, 1 seconds passed -... 9%, 65856 KB, 55025 KB/s, 1 seconds passed -... 9%, 65888 KB, 55045 KB/s, 1 seconds passed -... 9%, 65920 KB, 55059 KB/s, 1 seconds passed -... 9%, 65952 KB, 55069 KB/s, 1 seconds passed -... 9%, 65984 KB, 55081 KB/s, 1 seconds passed -... 9%, 66016 KB, 55094 KB/s, 1 seconds passed -... 9%, 66048 KB, 55105 KB/s, 1 seconds passed -... 9%, 66080 KB, 55121 KB/s, 1 seconds passed -... 9%, 66112 KB, 55140 KB/s, 1 seconds passed -... 9%, 66144 KB, 55158 KB/s, 1 seconds passed -... 9%, 66176 KB, 55164 KB/s, 1 seconds passed -... 9%, 66208 KB, 55175 KB/s, 1 seconds passed -... 9%, 66240 KB, 55193 KB/s, 1 seconds passed -... 9%, 66272 KB, 55205 KB/s, 1 seconds passed -... 9%, 66304 KB, 55223 KB/s, 1 seconds passed -... 9%, 66336 KB, 55234 KB/s, 1 seconds passed -... 9%, 66368 KB, 55249 KB/s, 1 seconds passed -... 9%, 66400 KB, 55263 KB/s, 1 seconds passed -... 9%, 66432 KB, 55278 KB/s, 1 seconds passed -... 9%, 66464 KB, 55292 KB/s, 1 seconds passed -... 9%, 66496 KB, 55304 KB/s, 1 seconds passed -... 9%, 66528 KB, 55318 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 9%, 66560 KB, 53494 KB/s, 1 seconds passed -... 9%, 66592 KB, 53499 KB/s, 1 seconds passed -... 9%, 66624 KB, 53509 KB/s, 1 seconds passed -... 9%, 66656 KB, 53521 KB/s, 1 seconds passed -... 9%, 66688 KB, 52818 KB/s, 1 seconds passed -... 9%, 66720 KB, 52799 KB/s, 1 seconds passed -... 9%, 66752 KB, 52810 KB/s, 1 seconds passed -... 9%, 66784 KB, 52823 KB/s, 1 seconds passed -... 9%, 66816 KB, 52835 KB/s, 1 seconds passed -... 9%, 66848 KB, 52822 KB/s, 1 seconds passed -... 9%, 66880 KB, 52833 KB/s, 1 seconds passed -... 9%, 66912 KB, 52844 KB/s, 1 seconds passed -... 9%, 66944 KB, 52857 KB/s, 1 seconds passed -... 9%, 66976 KB, 52869 KB/s, 1 seconds passed -... 9%, 67008 KB, 52881 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 9%, 67040 KB, 52743 KB/s, 1 seconds passed -... 9%, 67072 KB, 52751 KB/s, 1 seconds passed -... 9%, 67104 KB, 52762 KB/s, 1 seconds passed -... 9%, 67136 KB, 52775 KB/s, 1 seconds passed -... 9%, 67168 KB, 52787 KB/s, 1 seconds passed -... 9%, 67200 KB, 52799 KB/s, 1 seconds passed -... 9%, 67232 KB, 52811 KB/s, 1 seconds passed -... 9%, 67264 KB, 52823 KB/s, 1 seconds passed -... 9%, 67296 KB, 52836 KB/s, 1 seconds passed -... 9%, 67328 KB, 52848 KB/s, 1 seconds passed -... 9%, 67360 KB, 52861 KB/s, 1 seconds passed -... 9%, 67392 KB, 52874 KB/s, 1 seconds passed -... 9%, 67424 KB, 52886 KB/s, 1 seconds passed -... 9%, 67456 KB, 52899 KB/s, 1 seconds passed -... 9%, 67488 KB, 52911 KB/s, 1 seconds passed -... 9%, 67520 KB, 52924 KB/s, 1 seconds passed -... 9%, 67552 KB, 52936 KB/s, 1 seconds passed -... 9%, 67584 KB, 52949 KB/s, 1 seconds passed -... 9%, 67616 KB, 52961 KB/s, 1 seconds passed -... 9%, 67648 KB, 52974 KB/s, 1 seconds passed -... 9%, 67680 KB, 52986 KB/s, 1 seconds passed -... 9%, 67712 KB, 52999 KB/s, 1 seconds passed -... 9%, 67744 KB, 53010 KB/s, 1 seconds passed -... 9%, 67776 KB, 53023 KB/s, 1 seconds passed -... 9%, 67808 KB, 53036 KB/s, 1 seconds passed -... 9%, 67840 KB, 53048 KB/s, 1 seconds passed -... 9%, 67872 KB, 53060 KB/s, 1 seconds passed -... 9%, 67904 KB, 53073 KB/s, 1 seconds passed -... 9%, 67936 KB, 53085 KB/s, 1 seconds passed -... 9%, 67968 KB, 53098 KB/s, 1 seconds passed -... 9%, 68000 KB, 53111 KB/s, 1 seconds passed -... 9%, 68032 KB, 53124 KB/s, 1 seconds passed -... 9%, 68064 KB, 53139 KB/s, 1 seconds passed -... 9%, 68096 KB, 53154 KB/s, 1 seconds passed -... 9%, 68128 KB, 53169 KB/s, 1 seconds passed -... 9%, 68160 KB, 53183 KB/s, 1 seconds passed -... 9%, 68192 KB, 53198 KB/s, 1 seconds passed -... 9%, 68224 KB, 53212 KB/s, 1 seconds passed -... 9%, 68256 KB, 53227 KB/s, 1 seconds passed -... 9%, 68288 KB, 53241 KB/s, 1 seconds passed -... 9%, 68320 KB, 53255 KB/s, 1 seconds passed -... 9%, 68352 KB, 53270 KB/s, 1 seconds passed -... 9%, 68384 KB, 53285 KB/s, 1 seconds passed -... 9%, 68416 KB, 53300 KB/s, 1 seconds passed -... 9%, 68448 KB, 53315 KB/s, 1 seconds passed -... 9%, 68480 KB, 53329 KB/s, 1 seconds passed -... 9%, 68512 KB, 53343 KB/s, 1 seconds passed -... 9%, 68544 KB, 53358 KB/s, 1 seconds passed -... 9%, 68576 KB, 53372 KB/s, 1 seconds passed -... 9%, 68608 KB, 53387 KB/s, 1 seconds passed -... 9%, 68640 KB, 53402 KB/s, 1 seconds passed -... 9%, 68672 KB, 53416 KB/s, 1 seconds passed -... 9%, 68704 KB, 53431 KB/s, 1 seconds passed -... 9%, 68736 KB, 53445 KB/s, 1 seconds passed -... 9%, 68768 KB, 53460 KB/s, 1 seconds passed -... 9%, 68800 KB, 53474 KB/s, 1 seconds passed -... 9%, 68832 KB, 53489 KB/s, 1 seconds passed -... 9%, 68864 KB, 53503 KB/s, 1 seconds passed -... 9%, 68896 KB, 53518 KB/s, 1 seconds passed -... 9%, 68928 KB, 53533 KB/s, 1 seconds passed -... 9%, 68960 KB, 53548 KB/s, 1 seconds passed -... 9%, 68992 KB, 53562 KB/s, 1 seconds passed -... 9%, 69024 KB, 53577 KB/s, 1 seconds passed -... 9%, 69056 KB, 53588 KB/s, 1 seconds passed -... 9%, 69088 KB, 53602 KB/s, 1 seconds passed -... 9%, 69120 KB, 53615 KB/s, 1 seconds passed -... 9%, 69152 KB, 53627 KB/s, 1 seconds passed -... 9%, 69184 KB, 53641 KB/s, 1 seconds passed -... 9%, 69216 KB, 53655 KB/s, 1 seconds passed -... 9%, 69248 KB, 53669 KB/s, 1 seconds passed -... 9%, 69280 KB, 53682 KB/s, 1 seconds passed -... 9%, 69312 KB, 53696 KB/s, 1 seconds passed -... 9%, 69344 KB, 53710 KB/s, 1 seconds passed -... 9%, 69376 KB, 53723 KB/s, 1 seconds passed -... 9%, 69408 KB, 53737 KB/s, 1 seconds passed -... 9%, 69440 KB, 53750 KB/s, 1 seconds passed -... 9%, 69472 KB, 53766 KB/s, 1 seconds passed -... 9%, 69504 KB, 53777 KB/s, 1 seconds passed -... 9%, 69536 KB, 53792 KB/s, 1 seconds passed -... 10%, 69568 KB, 53805 KB/s, 1 seconds passed -... 10%, 69600 KB, 53817 KB/s, 1 seconds passed -... 10%, 69632 KB, 53830 KB/s, 1 seconds passed -... 10%, 69664 KB, 53841 KB/s, 1 seconds passed -... 10%, 69696 KB, 53855 KB/s, 1 seconds passed -... 10%, 69728 KB, 53866 KB/s, 1 seconds passed -... 10%, 69760 KB, 53880 KB/s, 1 seconds passed -... 10%, 69792 KB, 53894 KB/s, 1 seconds passed -... 10%, 69824 KB, 53907 KB/s, 1 seconds passed -... 10%, 69856 KB, 53921 KB/s, 1 seconds passed -... 10%, 69888 KB, 53932 KB/s, 1 seconds passed -... 10%, 69920 KB, 53946 KB/s, 1 seconds passed -... 10%, 69952 KB, 53960 KB/s, 1 seconds passed -... 10%, 69984 KB, 53973 KB/s, 1 seconds passed -... 10%, 70016 KB, 53987 KB/s, 1 seconds passed -... 10%, 70048 KB, 54000 KB/s, 1 seconds passed -... 10%, 70080 KB, 54014 KB/s, 1 seconds passed -... 10%, 70112 KB, 54027 KB/s, 1 seconds passed -... 10%, 70144 KB, 54041 KB/s, 1 seconds passed -... 10%, 70176 KB, 54052 KB/s, 1 seconds passed -... 10%, 70208 KB, 54066 KB/s, 1 seconds passed -... 10%, 70240 KB, 54079 KB/s, 1 seconds passed -... 10%, 70272 KB, 54093 KB/s, 1 seconds passed -... 10%, 70304 KB, 54104 KB/s, 1 seconds passed -... 10%, 70336 KB, 54113 KB/s, 1 seconds passed -... 10%, 70368 KB, 54127 KB/s, 1 seconds passed -... 10%, 70400 KB, 54140 KB/s, 1 seconds passed -... 10%, 70432 KB, 54153 KB/s, 1 seconds passed -... 10%, 70464 KB, 54167 KB/s, 1 seconds passed -... 10%, 70496 KB, 54181 KB/s, 1 seconds passed -... 10%, 70528 KB, 54192 KB/s, 1 seconds passed -... 10%, 70560 KB, 54205 KB/s, 1 seconds passed -... 10%, 70592 KB, 54219 KB/s, 1 seconds passed -... 10%, 70624 KB, 54230 KB/s, 1 seconds passed -... 10%, 70656 KB, 54244 KB/s, 1 seconds passed -... 10%, 70688 KB, 54257 KB/s, 1 seconds passed -... 10%, 70720 KB, 54271 KB/s, 1 seconds passed -... 10%, 70752 KB, 54284 KB/s, 1 seconds passed -... 10%, 70784 KB, 54295 KB/s, 1 seconds passed -... 10%, 70816 KB, 54309 KB/s, 1 seconds passed -... 10%, 70848 KB, 54322 KB/s, 1 seconds passed -... 10%, 70880 KB, 54329 KB/s, 1 seconds passed -... 10%, 70912 KB, 54330 KB/s, 1 seconds passed -... 10%, 70944 KB, 54337 KB/s, 1 seconds passed -... 10%, 70976 KB, 54344 KB/s, 1 seconds passed -... 10%, 71008 KB, 54351 KB/s, 1 seconds passed -... 10%, 71040 KB, 54359 KB/s, 1 seconds passed -... 10%, 71072 KB, 54368 KB/s, 1 seconds passed -... 10%, 71104 KB, 54375 KB/s, 1 seconds passed -... 10%, 71136 KB, 54384 KB/s, 1 seconds passed -... 10%, 71168 KB, 54391 KB/s, 1 seconds passed -... 10%, 71200 KB, 54396 KB/s, 1 seconds passed -... 10%, 71232 KB, 54405 KB/s, 1 seconds passed -... 10%, 71264 KB, 54413 KB/s, 1 seconds passed -... 10%, 71296 KB, 54422 KB/s, 1 seconds passed -... 10%, 71328 KB, 54432 KB/s, 1 seconds passed -... 10%, 71360 KB, 54441 KB/s, 1 seconds passed -... 10%, 71392 KB, 54449 KB/s, 1 seconds passed -... 10%, 71424 KB, 54459 KB/s, 1 seconds passed -... 10%, 71456 KB, 54472 KB/s, 1 seconds passed -... 10%, 71488 KB, 54485 KB/s, 1 seconds passed -... 10%, 71520 KB, 54497 KB/s, 1 seconds passed -... 10%, 71552 KB, 54509 KB/s, 1 seconds passed -... 10%, 71584 KB, 54522 KB/s, 1 seconds passed -... 10%, 71616 KB, 54534 KB/s, 1 seconds passed -... 10%, 71648 KB, 54547 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 10%, 71680 KB, 53839 KB/s, 1 seconds passed -... 10%, 71712 KB, 53818 KB/s, 1 seconds passed -... 10%, 71744 KB, 53825 KB/s, 1 seconds passed -... 10%, 71776 KB, 53833 KB/s, 1 seconds passed -... 10%, 71808 KB, 53842 KB/s, 1 seconds passed -... 10%, 71840 KB, 53850 KB/s, 1 seconds passed -... 10%, 71872 KB, 53858 KB/s, 1 seconds passed -... 10%, 71904 KB, 53867 KB/s, 1 seconds passed -... 10%, 71936 KB, 53877 KB/s, 1 seconds passed -... 10%, 71968 KB, 53885 KB/s, 1 seconds passed -... 10%, 72000 KB, 53893 KB/s, 1 seconds passed -... 10%, 72032 KB, 53902 KB/s, 1 seconds passed -... 10%, 72064 KB, 53909 KB/s, 1 seconds passed -... 10%, 72096 KB, 53919 KB/s, 1 seconds passed -... 10%, 72128 KB, 53927 KB/s, 1 seconds passed -... 10%, 72160 KB, 53936 KB/s, 1 seconds passed -... 10%, 72192 KB, 53945 KB/s, 1 seconds passed -... 10%, 72224 KB, 53954 KB/s, 1 seconds passed -... 10%, 72256 KB, 53961 KB/s, 1 seconds passed -... 10%, 72288 KB, 53970 KB/s, 1 seconds passed -... 10%, 72320 KB, 53978 KB/s, 1 seconds passed -... 10%, 72352 KB, 53987 KB/s, 1 seconds passed -... 10%, 72384 KB, 53994 KB/s, 1 seconds passed -... 10%, 72416 KB, 54004 KB/s, 1 seconds passed -... 10%, 72448 KB, 54015 KB/s, 1 seconds passed -... 10%, 72480 KB, 54026 KB/s, 1 seconds passed -... 10%, 72512 KB, 54037 KB/s, 1 seconds passed -... 10%, 72544 KB, 54049 KB/s, 1 seconds passed -... 10%, 72576 KB, 54061 KB/s, 1 seconds passed -... 10%, 72608 KB, 54072 KB/s, 1 seconds passed -... 10%, 72640 KB, 54084 KB/s, 1 seconds passed -... 10%, 72672 KB, 54096 KB/s, 1 seconds passed -... 10%, 72704 KB, 54108 KB/s, 1 seconds passed -... 10%, 72736 KB, 54119 KB/s, 1 seconds passed -... 10%, 72768 KB, 54130 KB/s, 1 seconds passed -... 10%, 72800 KB, 54141 KB/s, 1 seconds passed -... 10%, 72832 KB, 54153 KB/s, 1 seconds passed -... 10%, 72864 KB, 54165 KB/s, 1 seconds passed -... 10%, 72896 KB, 54176 KB/s, 1 seconds passed -... 10%, 72928 KB, 54186 KB/s, 1 seconds passed -... 10%, 72960 KB, 54197 KB/s, 1 seconds passed -... 10%, 72992 KB, 54209 KB/s, 1 seconds passed -... 10%, 73024 KB, 54220 KB/s, 1 seconds passed -... 10%, 73056 KB, 54232 KB/s, 1 seconds passed -... 10%, 73088 KB, 54244 KB/s, 1 seconds passed -... 10%, 73120 KB, 54255 KB/s, 1 seconds passed -... 10%, 73152 KB, 54266 KB/s, 1 seconds passed -... 10%, 73184 KB, 54278 KB/s, 1 seconds passed -... 10%, 73216 KB, 54287 KB/s, 1 seconds passed -... 10%, 73248 KB, 54299 KB/s, 1 seconds passed -... 10%, 73280 KB, 54311 KB/s, 1 seconds passed -... 10%, 73312 KB, 54323 KB/s, 1 seconds passed -... 10%, 73344 KB, 54334 KB/s, 1 seconds passed -... 10%, 73376 KB, 54345 KB/s, 1 seconds passed -... 10%, 73408 KB, 54357 KB/s, 1 seconds passed -... 10%, 73440 KB, 54369 KB/s, 1 seconds passed -... 10%, 73472 KB, 54380 KB/s, 1 seconds passed -... 10%, 73504 KB, 54394 KB/s, 1 seconds passed -... 10%, 73536 KB, 54410 KB/s, 1 seconds passed -... 10%, 73568 KB, 54425 KB/s, 1 seconds passed -... 10%, 73600 KB, 54441 KB/s, 1 seconds passed -... 10%, 73632 KB, 54456 KB/s, 1 seconds passed -... 10%, 73664 KB, 54472 KB/s, 1 seconds passed -... 10%, 73696 KB, 54487 KB/s, 1 seconds passed -... 10%, 73728 KB, 54504 KB/s, 1 seconds passed -... 10%, 73760 KB, 54521 KB/s, 1 seconds passed -... 10%, 73792 KB, 54538 KB/s, 1 seconds passed -... 10%, 73824 KB, 54556 KB/s, 1 seconds passed -... 10%, 73856 KB, 54573 KB/s, 1 seconds passed -... 10%, 73888 KB, 54590 KB/s, 1 seconds passed -... 10%, 73920 KB, 54608 KB/s, 1 seconds passed -... 10%, 73952 KB, 54625 KB/s, 1 seconds passed -... 10%, 73984 KB, 54128 KB/s, 1 seconds passed -... 10%, 74016 KB, 54132 KB/s, 1 seconds passed -... 10%, 74048 KB, 54140 KB/s, 1 seconds passed -... 10%, 74080 KB, 54148 KB/s, 1 seconds passed -... 10%, 74112 KB, 54154 KB/s, 1 seconds passed -... 10%, 74144 KB, 54161 KB/s, 1 seconds passed -... 10%, 74176 KB, 54169 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 10%, 74208 KB, 54178 KB/s, 1 seconds passed -... 10%, 74240 KB, 54187 KB/s, 1 seconds passed -... 10%, 74272 KB, 54196 KB/s, 1 seconds passed -... 10%, 74304 KB, 54205 KB/s, 1 seconds passed -... 10%, 74336 KB, 54216 KB/s, 1 seconds passed -... 10%, 74368 KB, 54228 KB/s, 1 seconds passed -... 10%, 74400 KB, 54240 KB/s, 1 seconds passed -... 10%, 74432 KB, 54115 KB/s, 1 seconds passed -... 10%, 74464 KB, 54119 KB/s, 1 seconds passed -... 10%, 74496 KB, 54126 KB/s, 1 seconds passed -... 10%, 74528 KB, 54133 KB/s, 1 seconds passed -... 10%, 74560 KB, 54141 KB/s, 1 seconds passed -... 10%, 74592 KB, 54150 KB/s, 1 seconds passed -... 10%, 74624 KB, 54158 KB/s, 1 seconds passed -... 10%, 74656 KB, 54166 KB/s, 1 seconds passed -... 10%, 74688 KB, 54175 KB/s, 1 seconds passed -... 10%, 74720 KB, 54183 KB/s, 1 seconds passed -... 10%, 74752 KB, 54192 KB/s, 1 seconds passed -... 10%, 74784 KB, 54200 KB/s, 1 seconds passed -... 10%, 74816 KB, 54209 KB/s, 1 seconds passed -... 10%, 74848 KB, 54216 KB/s, 1 seconds passed -... 10%, 74880 KB, 54224 KB/s, 1 seconds passed -... 10%, 74912 KB, 54231 KB/s, 1 seconds passed -... 10%, 74944 KB, 54239 KB/s, 1 seconds passed -... 10%, 74976 KB, 54249 KB/s, 1 seconds passed -... 10%, 75008 KB, 54259 KB/s, 1 seconds passed -... 10%, 75040 KB, 54269 KB/s, 1 seconds passed -... 10%, 75072 KB, 54279 KB/s, 1 seconds passed -... 10%, 75104 KB, 54288 KB/s, 1 seconds passed -... 10%, 75136 KB, 54297 KB/s, 1 seconds passed -... 10%, 75168 KB, 54307 KB/s, 1 seconds passed -... 10%, 75200 KB, 54316 KB/s, 1 seconds passed -... 10%, 75232 KB, 54325 KB/s, 1 seconds passed -... 10%, 75264 KB, 54335 KB/s, 1 seconds passed -... 10%, 75296 KB, 54344 KB/s, 1 seconds passed -... 10%, 75328 KB, 54354 KB/s, 1 seconds passed -... 10%, 75360 KB, 54363 KB/s, 1 seconds passed -... 10%, 75392 KB, 54373 KB/s, 1 seconds passed -... 10%, 75424 KB, 54382 KB/s, 1 seconds passed -... 10%, 75456 KB, 54392 KB/s, 1 seconds passed -... 10%, 75488 KB, 54401 KB/s, 1 seconds passed -... 10%, 75520 KB, 54411 KB/s, 1 seconds passed -... 10%, 75552 KB, 54420 KB/s, 1 seconds passed -... 10%, 75584 KB, 54429 KB/s, 1 seconds passed -... 10%, 75616 KB, 54438 KB/s, 1 seconds passed -... 10%, 75648 KB, 54448 KB/s, 1 seconds passed -... 10%, 75680 KB, 54457 KB/s, 1 seconds passed -... 10%, 75712 KB, 54467 KB/s, 1 seconds passed -... 10%, 75744 KB, 54476 KB/s, 1 seconds passed -... 10%, 75776 KB, 54486 KB/s, 1 seconds passed -... 10%, 75808 KB, 54496 KB/s, 1 seconds passed -... 10%, 75840 KB, 54505 KB/s, 1 seconds passed -... 10%, 75872 KB, 54516 KB/s, 1 seconds passed -... 10%, 75904 KB, 54529 KB/s, 1 seconds passed -... 10%, 75936 KB, 54543 KB/s, 1 seconds passed -... 10%, 75968 KB, 54557 KB/s, 1 seconds passed -... 10%, 76000 KB, 54570 KB/s, 1 seconds passed -... 10%, 76032 KB, 54584 KB/s, 1 seconds passed -... 10%, 76064 KB, 54597 KB/s, 1 seconds passed -... 10%, 76096 KB, 54611 KB/s, 1 seconds passed -... 10%, 76128 KB, 54626 KB/s, 1 seconds passed -... 10%, 76160 KB, 54639 KB/s, 1 seconds passed -... 10%, 76192 KB, 54653 KB/s, 1 seconds passed -... 10%, 76224 KB, 54667 KB/s, 1 seconds passed -... 10%, 76256 KB, 54681 KB/s, 1 seconds passed -... 10%, 76288 KB, 54695 KB/s, 1 seconds passed -... 10%, 76320 KB, 54708 KB/s, 1 seconds passed -... 10%, 76352 KB, 54722 KB/s, 1 seconds passed -... 10%, 76384 KB, 54736 KB/s, 1 seconds passed -... 10%, 76416 KB, 54749 KB/s, 1 seconds passed -... 10%, 76448 KB, 54763 KB/s, 1 seconds passed -... 10%, 76480 KB, 54779 KB/s, 1 seconds passed -... 11%, 76512 KB, 54794 KB/s, 1 seconds passed -... 11%, 76544 KB, 54809 KB/s, 1 seconds passed -... 11%, 76576 KB, 54825 KB/s, 1 seconds passed -... 11%, 76608 KB, 54841 KB/s, 1 seconds passed -... 11%, 76640 KB, 54857 KB/s, 1 seconds passed -... 11%, 76672 KB, 54872 KB/s, 1 seconds passed -... 11%, 76704 KB, 54888 KB/s, 1 seconds passed -... 11%, 76736 KB, 54904 KB/s, 1 seconds passed -... 11%, 76768 KB, 54920 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 11%, 76800 KB, 52878 KB/s, 1 seconds passed -... 11%, 76832 KB, 52881 KB/s, 1 seconds passed -... 11%, 76864 KB, 52887 KB/s, 1 seconds passed -... 11%, 76896 KB, 52897 KB/s, 1 seconds passed -... 11%, 76928 KB, 52886 KB/s, 1 seconds passed -... 11%, 76960 KB, 52893 KB/s, 1 seconds passed -... 11%, 76992 KB, 52900 KB/s, 1 seconds passed -... 11%, 77024 KB, 52908 KB/s, 1 seconds passed -... 11%, 77056 KB, 52916 KB/s, 1 seconds passed -... 11%, 77088 KB, 52924 KB/s, 1 seconds passed -... 11%, 77120 KB, 52932 KB/s, 1 seconds passed -... 11%, 77152 KB, 52940 KB/s, 1 seconds passed -... 11%, 77184 KB, 52948 KB/s, 1 seconds passed -... 11%, 77216 KB, 52957 KB/s, 1 seconds passed -... 11%, 77248 KB, 52965 KB/s, 1 seconds passed -... 11%, 77280 KB, 52973 KB/s, 1 seconds passed -... 11%, 77312 KB, 52981 KB/s, 1 seconds passed -... 11%, 77344 KB, 52990 KB/s, 1 seconds passed -... 11%, 77376 KB, 52998 KB/s, 1 seconds passed -... 11%, 77408 KB, 53006 KB/s, 1 seconds passed -... 11%, 77440 KB, 53013 KB/s, 1 seconds passed -... 11%, 77472 KB, 53022 KB/s, 1 seconds passed -... 11%, 77504 KB, 53030 KB/s, 1 seconds passed -... 11%, 77536 KB, 53039 KB/s, 1 seconds passed -... 11%, 77568 KB, 53047 KB/s, 1 seconds passed -... 11%, 77600 KB, 53055 KB/s, 1 seconds passed -... 11%, 77632 KB, 53063 KB/s, 1 seconds passed -... 11%, 77664 KB, 53073 KB/s, 1 seconds passed -... 11%, 77696 KB, 53085 KB/s, 1 seconds passed -... 11%, 77728 KB, 53097 KB/s, 1 seconds passed -... 11%, 77760 KB, 53108 KB/s, 1 seconds passed -... 11%, 77792 KB, 53119 KB/s, 1 seconds passed -... 11%, 77824 KB, 53130 KB/s, 1 seconds passed -... 11%, 77856 KB, 53142 KB/s, 1 seconds passed -... 11%, 77888 KB, 53154 KB/s, 1 seconds passed -... 11%, 77920 KB, 53164 KB/s, 1 seconds passed -... 11%, 77952 KB, 53175 KB/s, 1 seconds passed -... 11%, 77984 KB, 53187 KB/s, 1 seconds passed -... 11%, 78016 KB, 53198 KB/s, 1 seconds passed -... 11%, 78048 KB, 53210 KB/s, 1 seconds passed -... 11%, 78080 KB, 53221 KB/s, 1 seconds passed -... 11%, 78112 KB, 53232 KB/s, 1 seconds passed -... 11%, 78144 KB, 53244 KB/s, 1 seconds passed -... 11%, 78176 KB, 53254 KB/s, 1 seconds passed -... 11%, 78208 KB, 53265 KB/s, 1 seconds passed -... 11%, 78240 KB, 53276 KB/s, 1 seconds passed -... 11%, 78272 KB, 53287 KB/s, 1 seconds passed -... 11%, 78304 KB, 53299 KB/s, 1 seconds passed -... 11%, 78336 KB, 53310 KB/s, 1 seconds passed -... 11%, 78368 KB, 53322 KB/s, 1 seconds passed -... 11%, 78400 KB, 53333 KB/s, 1 seconds passed -... 11%, 78432 KB, 53345 KB/s, 1 seconds passed -... 11%, 78464 KB, 53356 KB/s, 1 seconds passed -... 11%, 78496 KB, 53368 KB/s, 1 seconds passed -... 11%, 78528 KB, 53380 KB/s, 1 seconds passed -... 11%, 78560 KB, 53391 KB/s, 1 seconds passed -... 11%, 78592 KB, 53403 KB/s, 1 seconds passed -... 11%, 78624 KB, 53414 KB/s, 1 seconds passed -... 11%, 78656 KB, 53426 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 11%, 78688 KB, 53436 KB/s, 1 seconds passed -... 11%, 78720 KB, 53447 KB/s, 1 seconds passed -... 11%, 78752 KB, 53462 KB/s, 1 seconds passed -... 11%, 78784 KB, 53476 KB/s, 1 seconds passed -... 11%, 78816 KB, 53491 KB/s, 1 seconds passed -... 11%, 78848 KB, 53505 KB/s, 1 seconds passed -... 11%, 78880 KB, 53520 KB/s, 1 seconds passed -... 11%, 78912 KB, 53535 KB/s, 1 seconds passed -... 11%, 78944 KB, 53549 KB/s, 1 seconds passed -... 11%, 78976 KB, 53563 KB/s, 1 seconds passed -... 11%, 79008 KB, 53578 KB/s, 1 seconds passed -... 11%, 79040 KB, 53592 KB/s, 1 seconds passed -... 11%, 79072 KB, 53607 KB/s, 1 seconds passed -... 11%, 79104 KB, 53621 KB/s, 1 seconds passed -... 11%, 79136 KB, 53636 KB/s, 1 seconds passed -... 11%, 79168 KB, 53650 KB/s, 1 seconds passed -... 11%, 79200 KB, 53665 KB/s, 1 seconds passed -... 11%, 79232 KB, 53679 KB/s, 1 seconds passed -... 11%, 79264 KB, 53694 KB/s, 1 seconds passed -... 11%, 79296 KB, 53708 KB/s, 1 seconds passed -... 11%, 79328 KB, 53722 KB/s, 1 seconds passed -... 11%, 79360 KB, 53737 KB/s, 1 seconds passed -... 11%, 79392 KB, 53751 KB/s, 1 seconds passed -... 11%, 79424 KB, 53766 KB/s, 1 seconds passed -... 11%, 79456 KB, 53780 KB/s, 1 seconds passed -... 11%, 79488 KB, 53795 KB/s, 1 seconds passed -... 11%, 79520 KB, 53809 KB/s, 1 seconds passed -... 11%, 79552 KB, 53824 KB/s, 1 seconds passed -... 11%, 79584 KB, 53838 KB/s, 1 seconds passed -... 11%, 79616 KB, 53853 KB/s, 1 seconds passed -... 11%, 79648 KB, 53867 KB/s, 1 seconds passed -... 11%, 79680 KB, 53882 KB/s, 1 seconds passed -... 11%, 79712 KB, 53897 KB/s, 1 seconds passed -... 11%, 79744 KB, 53911 KB/s, 1 seconds passed -... 11%, 79776 KB, 53925 KB/s, 1 seconds passed -... 11%, 79808 KB, 53937 KB/s, 1 seconds passed -... 11%, 79840 KB, 53949 KB/s, 1 seconds passed -... 11%, 79872 KB, 53959 KB/s, 1 seconds passed -... 11%, 79904 KB, 53971 KB/s, 1 seconds passed -... 11%, 79936 KB, 53981 KB/s, 1 seconds passed -... 11%, 79968 KB, 53993 KB/s, 1 seconds passed -... 11%, 80000 KB, 54005 KB/s, 1 seconds passed -... 11%, 80032 KB, 54017 KB/s, 1 seconds passed -... 11%, 80064 KB, 54029 KB/s, 1 seconds passed -... 11%, 80096 KB, 54041 KB/s, 1 seconds passed -... 11%, 80128 KB, 54047 KB/s, 1 seconds passed -... 11%, 80160 KB, 54059 KB/s, 1 seconds passed -... 11%, 80192 KB, 54073 KB/s, 1 seconds passed -... 11%, 80224 KB, 54085 KB/s, 1 seconds passed -... 11%, 80256 KB, 54097 KB/s, 1 seconds passed -... 11%, 80288 KB, 54109 KB/s, 1 seconds passed -... 11%, 80320 KB, 54119 KB/s, 1 seconds passed -... 11%, 80352 KB, 54131 KB/s, 1 seconds passed -... 11%, 80384 KB, 54141 KB/s, 1 seconds passed -... 11%, 80416 KB, 54153 KB/s, 1 seconds passed -... 11%, 80448 KB, 54165 KB/s, 1 seconds passed -... 11%, 80480 KB, 54177 KB/s, 1 seconds passed -... 11%, 80512 KB, 54185 KB/s, 1 seconds passed -... 11%, 80544 KB, 54195 KB/s, 1 seconds passed -... 11%, 80576 KB, 54205 KB/s, 1 seconds passed -... 11%, 80608 KB, 54142 KB/s, 1 seconds passed -... 11%, 80640 KB, 54149 KB/s, 1 seconds passed -... 11%, 80672 KB, 54165 KB/s, 1 seconds passed -... 11%, 80704 KB, 54138 KB/s, 1 seconds passed -... 11%, 80736 KB, 54145 KB/s, 1 seconds passed -... 11%, 80768 KB, 54158 KB/s, 1 seconds passed -... 11%, 80800 KB, 54172 KB/s, 1 seconds passed -... 11%, 80832 KB, 54184 KB/s, 1 seconds passed -... 11%, 80864 KB, 54196 KB/s, 1 seconds passed -... 11%, 80896 KB, 54206 KB/s, 1 seconds passed -... 11%, 80928 KB, 54217 KB/s, 1 seconds passed -... 11%, 80960 KB, 54229 KB/s, 1 seconds passed -... 11%, 80992 KB, 54241 KB/s, 1 seconds passed -... 11%, 81024 KB, 54251 KB/s, 1 seconds passed -... 11%, 81056 KB, 54263 KB/s, 1 seconds passed -... 11%, 81088 KB, 54275 KB/s, 1 seconds passed -... 11%, 81120 KB, 54285 KB/s, 1 seconds passed -... 11%, 81152 KB, 54296 KB/s, 1 seconds passed -... 11%, 81184 KB, 54308 KB/s, 1 seconds passed -... 11%, 81216 KB, 54320 KB/s, 1 seconds passed -... 11%, 81248 KB, 54330 KB/s, 1 seconds passed -... 11%, 81280 KB, 54342 KB/s, 1 seconds passed -... 11%, 81312 KB, 54354 KB/s, 1 seconds passed -... 11%, 81344 KB, 54366 KB/s, 1 seconds passed -... 11%, 81376 KB, 54375 KB/s, 1 seconds passed -... 11%, 81408 KB, 54384 KB/s, 1 seconds passed -... 11%, 81440 KB, 54390 KB/s, 1 seconds passed -... 11%, 81472 KB, 54397 KB/s, 1 seconds passed -... 11%, 81504 KB, 54404 KB/s, 1 seconds passed -... 11%, 81536 KB, 54418 KB/s, 1 seconds passed -... 11%, 81568 KB, 54434 KB/s, 1 seconds passed -... 11%, 81600 KB, 54450 KB/s, 1 seconds passed -... 11%, 81632 KB, 54465 KB/s, 1 seconds passed -... 11%, 81664 KB, 54477 KB/s, 1 seconds passed -... 11%, 81696 KB, 54489 KB/s, 1 seconds passed -... 11%, 81728 KB, 54497 KB/s, 1 seconds passed -... 11%, 81760 KB, 54503 KB/s, 1 seconds passed -... 11%, 81792 KB, 54509 KB/s, 1 seconds passed -... 11%, 81824 KB, 54521 KB/s, 1 seconds passed -... 11%, 81856 KB, 54537 KB/s, 1 seconds passed -... 11%, 81888 KB, 54550 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 11%, 81920 KB, 53098 KB/s, 1 seconds passed -... 11%, 81952 KB, 53102 KB/s, 1 seconds passed -... 11%, 81984 KB, 53107 KB/s, 1 seconds passed -... 11%, 82016 KB, 53117 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 11%, 82048 KB, 48625 KB/s, 1 seconds passed -... 11%, 82080 KB, 48628 KB/s, 1 seconds passed -... 11%, 82112 KB, 48634 KB/s, 1 seconds passed -... 11%, 82144 KB, 48642 KB/s, 1 seconds passed -... 11%, 82176 KB, 48649 KB/s, 1 seconds passed -... 11%, 82208 KB, 48655 KB/s, 1 seconds passed -... 11%, 82240 KB, 48662 KB/s, 1 seconds passed -... 11%, 82272 KB, 48670 KB/s, 1 seconds passed -... 11%, 82304 KB, 48678 KB/s, 1 seconds passed -... 11%, 82336 KB, 48686 KB/s, 1 seconds passed -... 11%, 82368 KB, 48695 KB/s, 1 seconds passed -... 11%, 82400 KB, 48703 KB/s, 1 seconds passed -... 11%, 82432 KB, 48711 KB/s, 1 seconds passed -... 11%, 82464 KB, 48718 KB/s, 1 seconds passed -... 11%, 82496 KB, 48725 KB/s, 1 seconds passed -... 11%, 82528 KB, 48733 KB/s, 1 seconds passed -... 11%, 82560 KB, 48742 KB/s, 1 seconds passed -... 11%, 82592 KB, 48750 KB/s, 1 seconds passed -... 11%, 82624 KB, 48758 KB/s, 1 seconds passed -... 11%, 82656 KB, 48766 KB/s, 1 seconds passed -... 11%, 82688 KB, 48774 KB/s, 1 seconds passed -... 11%, 82720 KB, 48783 KB/s, 1 seconds passed -... 11%, 82752 KB, 48791 KB/s, 1 seconds passed -... 11%, 82784 KB, 48800 KB/s, 1 seconds passed -... 11%, 82816 KB, 48809 KB/s, 1 seconds passed -... 11%, 82848 KB, 48817 KB/s, 1 seconds passed -... 11%, 82880 KB, 48826 KB/s, 1 seconds passed -... 11%, 82912 KB, 48835 KB/s, 1 seconds passed -... 11%, 82944 KB, 48844 KB/s, 1 seconds passed -... 11%, 82976 KB, 48852 KB/s, 1 seconds passed -... 11%, 83008 KB, 48861 KB/s, 1 seconds passed -... 11%, 83040 KB, 48870 KB/s, 1 seconds passed -... 11%, 83072 KB, 48878 KB/s, 1 seconds passed -... 11%, 83104 KB, 48887 KB/s, 1 seconds passed -... 11%, 83136 KB, 48896 KB/s, 1 seconds passed -... 11%, 83168 KB, 48905 KB/s, 1 seconds passed -... 11%, 83200 KB, 48914 KB/s, 1 seconds passed -... 11%, 83232 KB, 48922 KB/s, 1 seconds passed -... 11%, 83264 KB, 48930 KB/s, 1 seconds passed -... 11%, 83296 KB, 48939 KB/s, 1 seconds passed -... 11%, 83328 KB, 48949 KB/s, 1 seconds passed -... 11%, 83360 KB, 48958 KB/s, 1 seconds passed -... 11%, 83392 KB, 48966 KB/s, 1 seconds passed -... 11%, 83424 KB, 48976 KB/s, 1 seconds passed -... 11%, 83456 KB, 48984 KB/s, 1 seconds passed -... 12%, 83488 KB, 48993 KB/s, 1 seconds passed -... 12%, 83520 KB, 49002 KB/s, 1 seconds passed -... 12%, 83552 KB, 49011 KB/s, 1 seconds passed -... 12%, 83584 KB, 49019 KB/s, 1 seconds passed -... 12%, 83616 KB, 49031 KB/s, 1 seconds passed -... 12%, 83648 KB, 49043 KB/s, 1 seconds passed -... 12%, 83680 KB, 49055 KB/s, 1 seconds passed -... 12%, 83712 KB, 49067 KB/s, 1 seconds passed -... 12%, 83744 KB, 49079 KB/s, 1 seconds passed -... 12%, 83776 KB, 49092 KB/s, 1 seconds passed -... 12%, 83808 KB, 49104 KB/s, 1 seconds passed -... 12%, 83840 KB, 49117 KB/s, 1 seconds passed -... 12%, 83872 KB, 49129 KB/s, 1 seconds passed -... 12%, 83904 KB, 49141 KB/s, 1 seconds passed -... 12%, 83936 KB, 49153 KB/s, 1 seconds passed -... 12%, 83968 KB, 49165 KB/s, 1 seconds passed -... 12%, 84000 KB, 49177 KB/s, 1 seconds passed -... 12%, 84032 KB, 49189 KB/s, 1 seconds passed -... 12%, 84064 KB, 49201 KB/s, 1 seconds passed -... 12%, 84096 KB, 49213 KB/s, 1 seconds passed -... 12%, 84128 KB, 49225 KB/s, 1 seconds passed -... 12%, 84160 KB, 49237 KB/s, 1 seconds passed -... 12%, 84192 KB, 49249 KB/s, 1 seconds passed -... 12%, 84224 KB, 49262 KB/s, 1 seconds passed -... 12%, 84256 KB, 49274 KB/s, 1 seconds passed -... 12%, 84288 KB, 49285 KB/s, 1 seconds passed -... 12%, 84320 KB, 49297 KB/s, 1 seconds passed -... 12%, 84352 KB, 49310 KB/s, 1 seconds passed -... 12%, 84384 KB, 49322 KB/s, 1 seconds passed -... 12%, 84416 KB, 49334 KB/s, 1 seconds passed -... 12%, 84448 KB, 49346 KB/s, 1 seconds passed -... 12%, 84480 KB, 49358 KB/s, 1 seconds passed -... 12%, 84512 KB, 49371 KB/s, 1 seconds passed -... 12%, 84544 KB, 49383 KB/s, 1 seconds passed -... 12%, 84576 KB, 49395 KB/s, 1 seconds passed -... 12%, 84608 KB, 49407 KB/s, 1 seconds passed -... 12%, 84640 KB, 49418 KB/s, 1 seconds passed -... 12%, 84672 KB, 49430 KB/s, 1 seconds passed -... 12%, 84704 KB, 49442 KB/s, 1 seconds passed -... 12%, 84736 KB, 49454 KB/s, 1 seconds passed -... 12%, 84768 KB, 49466 KB/s, 1 seconds passed -... 12%, 84800 KB, 49478 KB/s, 1 seconds passed -... 12%, 84832 KB, 49490 KB/s, 1 seconds passed -... 12%, 84864 KB, 49502 KB/s, 1 seconds passed -... 12%, 84896 KB, 49514 KB/s, 1 seconds passed -... 12%, 84928 KB, 49526 KB/s, 1 seconds passed -... 12%, 84960 KB, 49539 KB/s, 1 seconds passed -... 12%, 84992 KB, 49551 KB/s, 1 seconds passed -... 12%, 85024 KB, 49565 KB/s, 1 seconds passed -... 12%, 85056 KB, 49579 KB/s, 1 seconds passed -... 12%, 85088 KB, 49593 KB/s, 1 seconds passed -... 12%, 85120 KB, 49607 KB/s, 1 seconds passed -... 12%, 85152 KB, 49622 KB/s, 1 seconds passed -... 12%, 85184 KB, 49635 KB/s, 1 seconds passed -... 12%, 85216 KB, 49649 KB/s, 1 seconds passed -... 12%, 85248 KB, 49663 KB/s, 1 seconds passed -... 12%, 85280 KB, 49677 KB/s, 1 seconds passed -... 12%, 85312 KB, 49691 KB/s, 1 seconds passed -... 12%, 85344 KB, 49705 KB/s, 1 seconds passed -... 12%, 85376 KB, 49720 KB/s, 1 seconds passed -... 12%, 85408 KB, 49734 KB/s, 1 seconds passed -... 12%, 85440 KB, 49745 KB/s, 1 seconds passed -... 12%, 85472 KB, 49756 KB/s, 1 seconds passed -... 12%, 85504 KB, 49765 KB/s, 1 seconds passed -... 12%, 85536 KB, 49776 KB/s, 1 seconds passed -... 12%, 85568 KB, 49787 KB/s, 1 seconds passed -... 12%, 85600 KB, 49798 KB/s, 1 seconds passed -... 12%, 85632 KB, 49809 KB/s, 1 seconds passed -... 12%, 85664 KB, 49819 KB/s, 1 seconds passed -... 12%, 85696 KB, 49831 KB/s, 1 seconds passed -... 12%, 85728 KB, 49841 KB/s, 1 seconds passed -... 12%, 85760 KB, 49850 KB/s, 1 seconds passed -... 12%, 85792 KB, 49861 KB/s, 1 seconds passed -... 12%, 85824 KB, 49874 KB/s, 1 seconds passed -... 12%, 85856 KB, 49885 KB/s, 1 seconds passed -... 12%, 85888 KB, 49895 KB/s, 1 seconds passed -... 12%, 85920 KB, 49834 KB/s, 1 seconds passed -... 12%, 85952 KB, 49844 KB/s, 1 seconds passed -... 12%, 85984 KB, 49857 KB/s, 1 seconds passed -... 12%, 86016 KB, 49866 KB/s, 1 seconds passed -... 12%, 86048 KB, 49873 KB/s, 1 seconds passed -... 12%, 86080 KB, 49881 KB/s, 1 seconds passed -... 12%, 86112 KB, 49888 KB/s, 1 seconds passed -... 12%, 86144 KB, 49896 KB/s, 1 seconds passed -... 12%, 86176 KB, 49904 KB/s, 1 seconds passed -... 12%, 86208 KB, 49912 KB/s, 1 seconds passed -... 12%, 86240 KB, 49920 KB/s, 1 seconds passed -... 12%, 86272 KB, 49928 KB/s, 1 seconds passed -... 12%, 86304 KB, 49936 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 12%, 86336 KB, 49943 KB/s, 1 seconds passed -... 12%, 86368 KB, 49952 KB/s, 1 seconds passed -... 12%, 86400 KB, 49960 KB/s, 1 seconds passed -... 12%, 86432 KB, 49967 KB/s, 1 seconds passed -... 12%, 86464 KB, 49975 KB/s, 1 seconds passed -... 12%, 86496 KB, 49982 KB/s, 1 seconds passed -... 12%, 86528 KB, 49990 KB/s, 1 seconds passed -... 12%, 86560 KB, 49998 KB/s, 1 seconds passed -... 12%, 86592 KB, 50006 KB/s, 1 seconds passed -... 12%, 86624 KB, 50014 KB/s, 1 seconds passed -... 12%, 86656 KB, 50022 KB/s, 1 seconds passed -... 12%, 86688 KB, 50029 KB/s, 1 seconds passed -... 12%, 86720 KB, 50036 KB/s, 1 seconds passed -... 12%, 86752 KB, 50044 KB/s, 1 seconds passed -... 12%, 86784 KB, 50052 KB/s, 1 seconds passed -... 12%, 86816 KB, 50062 KB/s, 1 seconds passed -... 12%, 86848 KB, 50073 KB/s, 1 seconds passed -... 12%, 86880 KB, 50083 KB/s, 1 seconds passed -... 12%, 86912 KB, 50093 KB/s, 1 seconds passed -... 12%, 86944 KB, 50104 KB/s, 1 seconds passed -... 12%, 86976 KB, 50114 KB/s, 1 seconds passed -... 12%, 87008 KB, 50127 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 12%, 87040 KB, 48232 KB/s, 1 seconds passed -... 12%, 87072 KB, 48236 KB/s, 1 seconds passed -... 12%, 87104 KB, 48243 KB/s, 1 seconds passed -... 12%, 87136 KB, 48252 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 12%, 87168 KB, 47530 KB/s, 1 seconds passed -... 12%, 87200 KB, 47535 KB/s, 1 seconds passed -... 12%, 87232 KB, 47542 KB/s, 1 seconds passed -... 12%, 87264 KB, 47549 KB/s, 1 seconds passed -... 12%, 87296 KB, 47557 KB/s, 1 seconds passed -... 12%, 87328 KB, 47564 KB/s, 1 seconds passed -... 12%, 87360 KB, 47572 KB/s, 1 seconds passed -... 12%, 87392 KB, 47579 KB/s, 1 seconds passed -... 12%, 87424 KB, 47586 KB/s, 1 seconds passed -... 12%, 87456 KB, 47594 KB/s, 1 seconds passed -... 12%, 87488 KB, 47602 KB/s, 1 seconds passed -... 12%, 87520 KB, 47609 KB/s, 1 seconds passed -... 12%, 87552 KB, 47617 KB/s, 1 seconds passed -... 12%, 87584 KB, 47624 KB/s, 1 seconds passed -... 12%, 87616 KB, 47632 KB/s, 1 seconds passed -... 12%, 87648 KB, 47640 KB/s, 1 seconds passed -... 12%, 87680 KB, 47646 KB/s, 1 seconds passed -... 12%, 87712 KB, 47653 KB/s, 1 seconds passed -... 12%, 87744 KB, 47661 KB/s, 1 seconds passed -... 12%, 87776 KB, 47668 KB/s, 1 seconds passed -... 12%, 87808 KB, 47676 KB/s, 1 seconds passed -... 12%, 87840 KB, 47684 KB/s, 1 seconds passed -... 12%, 87872 KB, 47691 KB/s, 1 seconds passed -... 12%, 87904 KB, 47699 KB/s, 1 seconds passed -... 12%, 87936 KB, 47707 KB/s, 1 seconds passed -... 12%, 87968 KB, 47714 KB/s, 1 seconds passed -... 12%, 88000 KB, 47722 KB/s, 1 seconds passed -... 12%, 88032 KB, 47730 KB/s, 1 seconds passed -... 12%, 88064 KB, 47736 KB/s, 1 seconds passed -... 12%, 88096 KB, 47743 KB/s, 1 seconds passed -... 12%, 88128 KB, 47751 KB/s, 1 seconds passed -... 12%, 88160 KB, 47758 KB/s, 1 seconds passed -... 12%, 88192 KB, 47764 KB/s, 1 seconds passed -... 12%, 88224 KB, 47772 KB/s, 1 seconds passed -... 12%, 88256 KB, 47782 KB/s, 1 seconds passed -... 12%, 88288 KB, 47793 KB/s, 1 seconds passed -... 12%, 88320 KB, 47804 KB/s, 1 seconds passed -... 12%, 88352 KB, 47814 KB/s, 1 seconds passed -... 12%, 88384 KB, 47825 KB/s, 1 seconds passed -... 12%, 88416 KB, 47836 KB/s, 1 seconds passed -... 12%, 88448 KB, 47846 KB/s, 1 seconds passed -... 12%, 88480 KB, 47857 KB/s, 1 seconds passed -... 12%, 88512 KB, 47868 KB/s, 1 seconds passed -... 12%, 88544 KB, 47879 KB/s, 1 seconds passed -... 12%, 88576 KB, 47890 KB/s, 1 seconds passed -... 12%, 88608 KB, 47901 KB/s, 1 seconds passed -... 12%, 88640 KB, 47911 KB/s, 1 seconds passed -... 12%, 88672 KB, 47922 KB/s, 1 seconds passed -... 12%, 88704 KB, 47932 KB/s, 1 seconds passed -... 12%, 88736 KB, 47943 KB/s, 1 seconds passed -... 12%, 88768 KB, 47954 KB/s, 1 seconds passed -... 12%, 88800 KB, 47964 KB/s, 1 seconds passed -... 12%, 88832 KB, 47975 KB/s, 1 seconds passed -... 12%, 88864 KB, 47986 KB/s, 1 seconds passed -... 12%, 88896 KB, 47997 KB/s, 1 seconds passed -... 12%, 88928 KB, 48007 KB/s, 1 seconds passed -... 12%, 88960 KB, 48018 KB/s, 1 seconds passed -... 12%, 88992 KB, 48029 KB/s, 1 seconds passed -... 12%, 89024 KB, 48040 KB/s, 1 seconds passed -... 12%, 89056 KB, 48050 KB/s, 1 seconds passed -... 12%, 89088 KB, 48061 KB/s, 1 seconds passed -... 12%, 89120 KB, 48071 KB/s, 1 seconds passed -... 12%, 89152 KB, 48082 KB/s, 1 seconds passed -... 12%, 89184 KB, 48093 KB/s, 1 seconds passed -... 12%, 89216 KB, 48104 KB/s, 1 seconds passed -... 12%, 89248 KB, 48114 KB/s, 1 seconds passed -... 12%, 89280 KB, 48124 KB/s, 1 seconds passed -... 12%, 89312 KB, 48135 KB/s, 1 seconds passed -... 12%, 89344 KB, 48146 KB/s, 1 seconds passed -... 12%, 89376 KB, 48157 KB/s, 1 seconds passed -... 12%, 89408 KB, 48168 KB/s, 1 seconds passed -... 12%, 89440 KB, 48179 KB/s, 1 seconds passed -... 12%, 89472 KB, 48189 KB/s, 1 seconds passed -... 12%, 89504 KB, 48200 KB/s, 1 seconds passed -... 12%, 89536 KB, 48210 KB/s, 1 seconds passed -... 12%, 89568 KB, 48223 KB/s, 1 seconds passed -... 12%, 89600 KB, 48235 KB/s, 1 seconds passed -... 12%, 89632 KB, 48248 KB/s, 1 seconds passed -... 12%, 89664 KB, 48261 KB/s, 1 seconds passed -... 12%, 89696 KB, 48274 KB/s, 1 seconds passed -... 12%, 89728 KB, 48287 KB/s, 1 seconds passed -... 12%, 89760 KB, 48299 KB/s, 1 seconds passed -... 12%, 89792 KB, 48312 KB/s, 1 seconds passed -... 12%, 89824 KB, 48326 KB/s, 1 seconds passed -... 12%, 89856 KB, 48339 KB/s, 1 seconds passed -... 12%, 89888 KB, 48352 KB/s, 1 seconds passed -... 12%, 89920 KB, 48365 KB/s, 1 seconds passed -... 12%, 89952 KB, 48378 KB/s, 1 seconds passed -... 12%, 89984 KB, 48391 KB/s, 1 seconds passed -... 12%, 90016 KB, 48404 KB/s, 1 seconds passed -... 12%, 90048 KB, 48417 KB/s, 1 seconds passed -... 12%, 90080 KB, 48430 KB/s, 1 seconds passed -... 12%, 90112 KB, 48443 KB/s, 1 seconds passed -... 12%, 90144 KB, 48456 KB/s, 1 seconds passed -... 12%, 90176 KB, 48469 KB/s, 1 seconds passed -... 12%, 90208 KB, 48482 KB/s, 1 seconds passed -... 12%, 90240 KB, 48495 KB/s, 1 seconds passed -... 12%, 90272 KB, 48507 KB/s, 1 seconds passed -... 12%, 90304 KB, 48518 KB/s, 1 seconds passed -... 12%, 90336 KB, 48527 KB/s, 1 seconds passed -... 12%, 90368 KB, 48536 KB/s, 1 seconds passed -... 12%, 90400 KB, 48546 KB/s, 1 seconds passed -... 13%, 90432 KB, 48557 KB/s, 1 seconds passed -... 13%, 90464 KB, 48564 KB/s, 1 seconds passed -... 13%, 90496 KB, 48577 KB/s, 1 seconds passed -... 13%, 90528 KB, 48588 KB/s, 1 seconds passed -... 13%, 90560 KB, 48598 KB/s, 1 seconds passed -... 13%, 90592 KB, 48606 KB/s, 1 seconds passed -... 13%, 90624 KB, 48615 KB/s, 1 seconds passed -... 13%, 90656 KB, 48623 KB/s, 1 seconds passed -... 13%, 90688 KB, 48634 KB/s, 1 seconds passed -... 13%, 90720 KB, 48644 KB/s, 1 seconds passed -... 13%, 90752 KB, 48657 KB/s, 1 seconds passed -... 13%, 90784 KB, 48666 KB/s, 1 seconds passed -... 13%, 90816 KB, 48676 KB/s, 1 seconds passed -... 13%, 90848 KB, 48687 KB/s, 1 seconds passed -... 13%, 90880 KB, 48696 KB/s, 1 seconds passed -... 13%, 90912 KB, 48706 KB/s, 1 seconds passed -... 13%, 90944 KB, 48715 KB/s, 1 seconds passed -... 13%, 90976 KB, 48725 KB/s, 1 seconds passed -... 13%, 91008 KB, 48735 KB/s, 1 seconds passed -... 13%, 91040 KB, 48691 KB/s, 1 seconds passed -... 13%, 91072 KB, 48703 KB/s, 1 seconds passed -... 13%, 91104 KB, 48713 KB/s, 1 seconds passed -... 13%, 91136 KB, 48723 KB/s, 1 seconds passed -... 13%, 91168 KB, 48732 KB/s, 1 seconds passed -... 13%, 91200 KB, 48710 KB/s, 1 seconds passed -... 13%, 91232 KB, 48720 KB/s, 1 seconds passed -... 13%, 91264 KB, 48729 KB/s, 1 seconds passed -... 13%, 91296 KB, 48740 KB/s, 1 seconds passed -... 13%, 91328 KB, 48750 KB/s, 1 seconds passed -... 13%, 91360 KB, 48760 KB/s, 1 seconds passed -... 13%, 91392 KB, 48769 KB/s, 1 seconds passed -... 13%, 91424 KB, 48779 KB/s, 1 seconds passed -... 13%, 91456 KB, 48790 KB/s, 1 seconds passed -... 13%, 91488 KB, 48799 KB/s, 1 seconds passed -... 13%, 91520 KB, 48809 KB/s, 1 seconds passed -... 13%, 91552 KB, 48819 KB/s, 1 seconds passed -... 13%, 91584 KB, 48829 KB/s, 1 seconds passed -... 13%, 91616 KB, 48838 KB/s, 1 seconds passed -... 13%, 91648 KB, 48848 KB/s, 1 seconds passed -... 13%, 91680 KB, 48858 KB/s, 1 seconds passed -... 13%, 91712 KB, 48867 KB/s, 1 seconds passed -... 13%, 91744 KB, 48878 KB/s, 1 seconds passed -... 13%, 91776 KB, 48888 KB/s, 1 seconds passed -... 13%, 91808 KB, 48897 KB/s, 1 seconds passed -... 13%, 91840 KB, 48907 KB/s, 1 seconds passed -... 13%, 91872 KB, 48917 KB/s, 1 seconds passed -... 13%, 91904 KB, 48926 KB/s, 1 seconds passed -... 13%, 91936 KB, 48936 KB/s, 1 seconds passed -... 13%, 91968 KB, 48946 KB/s, 1 seconds passed -... 13%, 92000 KB, 48955 KB/s, 1 seconds passed -... 13%, 92032 KB, 48965 KB/s, 1 seconds passed -... 13%, 92064 KB, 48975 KB/s, 1 seconds passed -... 13%, 92096 KB, 48984 KB/s, 1 seconds passed -... 13%, 92128 KB, 48994 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 13%, 92160 KB, 48375 KB/s, 1 seconds passed -... 13%, 92192 KB, 48380 KB/s, 1 seconds passed -... 13%, 92224 KB, 48385 KB/s, 1 seconds passed -... 13%, 92256 KB, 48391 KB/s, 1 seconds passed -... 13%, 92288 KB, 48398 KB/s, 1 seconds passed -... 13%, 92320 KB, 48405 KB/s, 1 seconds passed -... 13%, 92352 KB, 48412 KB/s, 1 seconds passed -... 13%, 92384 KB, 48420 KB/s, 1 seconds passed -... 13%, 92416 KB, 48427 KB/s, 1 seconds passed -... 13%, 92448 KB, 48434 KB/s, 1 seconds passed -... 13%, 92480 KB, 48441 KB/s, 1 seconds passed -... 13%, 92512 KB, 48449 KB/s, 1 seconds passed -... 13%, 92544 KB, 48456 KB/s, 1 seconds passed -... 13%, 92576 KB, 48463 KB/s, 1 seconds passed -... 13%, 92608 KB, 48471 KB/s, 1 seconds passed -... 13%, 92640 KB, 48478 KB/s, 1 seconds passed -... 13%, 92672 KB, 48485 KB/s, 1 seconds passed -... 13%, 92704 KB, 48493 KB/s, 1 seconds passed -... 13%, 92736 KB, 48500 KB/s, 1 seconds passed -... 13%, 92768 KB, 48507 KB/s, 1 seconds passed -... 13%, 92800 KB, 48515 KB/s, 1 seconds passed -... 13%, 92832 KB, 48522 KB/s, 1 seconds passed -... 13%, 92864 KB, 48529 KB/s, 1 seconds passed -... 13%, 92896 KB, 48536 KB/s, 1 seconds passed -... 13%, 92928 KB, 48543 KB/s, 1 seconds passed -... 13%, 92960 KB, 48551 KB/s, 1 seconds passed -... 13%, 92992 KB, 48558 KB/s, 1 seconds passed -... 13%, 93024 KB, 48565 KB/s, 1 seconds passed -... 13%, 93056 KB, 48573 KB/s, 1 seconds passed -... 13%, 93088 KB, 48580 KB/s, 1 seconds passed -... 13%, 93120 KB, 48586 KB/s, 1 seconds passed -... 13%, 93152 KB, 48593 KB/s, 1 seconds passed -... 13%, 93184 KB, 48600 KB/s, 1 seconds passed -... 13%, 93216 KB, 48608 KB/s, 1 seconds passed -... 13%, 93248 KB, 48615 KB/s, 1 seconds passed -... 13%, 93280 KB, 48622 KB/s, 1 seconds passed -... 13%, 93312 KB, 48630 KB/s, 1 seconds passed -... 13%, 93344 KB, 48640 KB/s, 1 seconds passed -... 13%, 93376 KB, 48651 KB/s, 1 seconds passed -... 13%, 93408 KB, 48662 KB/s, 1 seconds passed -... 13%, 93440 KB, 48672 KB/s, 1 seconds passed -... 13%, 93472 KB, 48683 KB/s, 1 seconds passed -... 13%, 93504 KB, 48694 KB/s, 1 seconds passed -... 13%, 93536 KB, 48704 KB/s, 1 seconds passed -... 13%, 93568 KB, 48714 KB/s, 1 seconds passed -... 13%, 93600 KB, 48724 KB/s, 1 seconds passed -... 13%, 93632 KB, 48735 KB/s, 1 seconds passed -... 13%, 93664 KB, 48745 KB/s, 1 seconds passed -... 13%, 93696 KB, 48756 KB/s, 1 seconds passed -... 13%, 93728 KB, 48766 KB/s, 1 seconds passed -... 13%, 93760 KB, 48777 KB/s, 1 seconds passed -... 13%, 93792 KB, 48787 KB/s, 1 seconds passed -... 13%, 93824 KB, 48798 KB/s, 1 seconds passed -... 13%, 93856 KB, 48809 KB/s, 1 seconds passed -... 13%, 93888 KB, 48819 KB/s, 1 seconds passed -... 13%, 93920 KB, 48829 KB/s, 1 seconds passed -... 13%, 93952 KB, 48840 KB/s, 1 seconds passed -... 13%, 93984 KB, 48850 KB/s, 1 seconds passed -... 13%, 94016 KB, 48861 KB/s, 1 seconds passed -... 13%, 94048 KB, 48871 KB/s, 1 seconds passed -... 13%, 94080 KB, 48881 KB/s, 1 seconds passed -... 13%, 94112 KB, 48892 KB/s, 1 seconds passed -... 13%, 94144 KB, 48902 KB/s, 1 seconds passed -... 13%, 94176 KB, 48913 KB/s, 1 seconds passed -... 13%, 94208 KB, 48923 KB/s, 1 seconds passed -... 13%, 94240 KB, 48934 KB/s, 1 seconds passed -... 13%, 94272 KB, 48944 KB/s, 1 seconds passed -... 13%, 94304 KB, 48955 KB/s, 1 seconds passed -... 13%, 94336 KB, 48965 KB/s, 1 seconds passed -... 13%, 94368 KB, 48976 KB/s, 1 seconds passed -... 13%, 94400 KB, 48987 KB/s, 1 seconds passed -... 13%, 94432 KB, 48997 KB/s, 1 seconds passed -... 13%, 94464 KB, 49008 KB/s, 1 seconds passed -... 13%, 94496 KB, 49018 KB/s, 1 seconds passed -... 13%, 94528 KB, 49029 KB/s, 1 seconds passed -... 13%, 94560 KB, 49039 KB/s, 1 seconds passed -... 13%, 94592 KB, 49049 KB/s, 1 seconds passed -... 13%, 94624 KB, 49060 KB/s, 1 seconds passed -... 13%, 94656 KB, 49073 KB/s, 1 seconds passed -... 13%, 94688 KB, 49085 KB/s, 1 seconds passed -... 13%, 94720 KB, 49097 KB/s, 1 seconds passed -... 13%, 94752 KB, 49109 KB/s, 1 seconds passed -... 13%, 94784 KB, 49122 KB/s, 1 seconds passed -... 13%, 94816 KB, 49134 KB/s, 1 seconds passed -... 13%, 94848 KB, 49146 KB/s, 1 seconds passed -... 13%, 94880 KB, 49159 KB/s, 1 seconds passed -... 13%, 94912 KB, 49171 KB/s, 1 seconds passed -... 13%, 94944 KB, 49183 KB/s, 1 seconds passed -... 13%, 94976 KB, 49196 KB/s, 1 seconds passed -... 13%, 95008 KB, 49208 KB/s, 1 seconds passed -... 13%, 95040 KB, 49221 KB/s, 1 seconds passed -... 13%, 95072 KB, 49232 KB/s, 1 seconds passed -... 13%, 95104 KB, 49244 KB/s, 1 seconds passed -... 13%, 95136 KB, 49257 KB/s, 1 seconds passed -... 13%, 95168 KB, 49269 KB/s, 1 seconds passed -... 13%, 95200 KB, 49281 KB/s, 1 seconds passed -... 13%, 95232 KB, 49294 KB/s, 1 seconds passed -... 13%, 95264 KB, 49304 KB/s, 1 seconds passed -... 13%, 95296 KB, 49314 KB/s, 1 seconds passed -... 13%, 95328 KB, 49324 KB/s, 1 seconds passed -... 13%, 95360 KB, 49333 KB/s, 1 seconds passed -... 13%, 95392 KB, 49342 KB/s, 1 seconds passed -... 13%, 95424 KB, 49354 KB/s, 1 seconds passed -... 13%, 95456 KB, 49362 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 13%, 95488 KB, 49372 KB/s, 1 seconds passed -... 13%, 95520 KB, 49380 KB/s, 1 seconds passed -... 13%, 95552 KB, 49393 KB/s, 1 seconds passed -... 13%, 95584 KB, 49401 KB/s, 1 seconds passed -... 13%, 95616 KB, 49407 KB/s, 1 seconds passed -... 13%, 95648 KB, 49417 KB/s, 1 seconds passed -... 13%, 95680 KB, 49427 KB/s, 1 seconds passed -... 13%, 95712 KB, 49437 KB/s, 1 seconds passed -... 13%, 95744 KB, 49446 KB/s, 1 seconds passed -... 13%, 95776 KB, 49456 KB/s, 1 seconds passed -... 13%, 95808 KB, 49465 KB/s, 1 seconds passed -... 13%, 95840 KB, 49476 KB/s, 1 seconds passed -... 13%, 95872 KB, 49484 KB/s, 1 seconds passed -... 13%, 95904 KB, 49494 KB/s, 1 seconds passed -... 13%, 95936 KB, 49504 KB/s, 1 seconds passed -... 13%, 95968 KB, 49514 KB/s, 1 seconds passed -... 13%, 96000 KB, 49464 KB/s, 1 seconds passed -... 13%, 96032 KB, 49470 KB/s, 1 seconds passed -... 13%, 96064 KB, 49483 KB/s, 1 seconds passed -... 13%, 96096 KB, 49495 KB/s, 1 seconds passed -... 13%, 96128 KB, 49466 KB/s, 1 seconds passed -... 13%, 96160 KB, 49475 KB/s, 1 seconds passed -... 13%, 96192 KB, 49485 KB/s, 1 seconds passed -... 13%, 96224 KB, 49494 KB/s, 1 seconds passed -... 13%, 96256 KB, 49504 KB/s, 1 seconds passed -... 13%, 96288 KB, 49513 KB/s, 1 seconds passed -... 13%, 96320 KB, 49522 KB/s, 1 seconds passed -... 13%, 96352 KB, 49532 KB/s, 1 seconds passed -... 13%, 96384 KB, 49541 KB/s, 1 seconds passed -... 13%, 96416 KB, 49550 KB/s, 1 seconds passed -... 13%, 96448 KB, 49560 KB/s, 1 seconds passed -... 13%, 96480 KB, 49570 KB/s, 1 seconds passed -... 13%, 96512 KB, 49580 KB/s, 1 seconds passed -... 13%, 96544 KB, 49587 KB/s, 1 seconds passed -... 13%, 96576 KB, 49598 KB/s, 1 seconds passed -... 13%, 96608 KB, 49606 KB/s, 1 seconds passed -... 13%, 96640 KB, 49607 KB/s, 1 seconds passed -... 13%, 96672 KB, 49612 KB/s, 1 seconds passed -... 13%, 96704 KB, 49618 KB/s, 1 seconds passed -... 13%, 96736 KB, 49626 KB/s, 1 seconds passed -... 13%, 96768 KB, 49633 KB/s, 1 seconds passed -... 13%, 96800 KB, 49639 KB/s, 1 seconds passed -... 13%, 96832 KB, 49646 KB/s, 1 seconds passed -... 13%, 96864 KB, 49654 KB/s, 1 seconds passed -... 13%, 96896 KB, 49661 KB/s, 1 seconds passed -... 13%, 96928 KB, 49668 KB/s, 1 seconds passed -... 13%, 96960 KB, 49675 KB/s, 1 seconds passed -... 13%, 96992 KB, 49682 KB/s, 1 seconds passed -... 13%, 97024 KB, 49688 KB/s, 1 seconds passed -... 13%, 97056 KB, 49695 KB/s, 1 seconds passed -... 13%, 97088 KB, 49702 KB/s, 1 seconds passed -... 13%, 97120 KB, 49710 KB/s, 1 seconds passed -... 13%, 97152 KB, 49719 KB/s, 1 seconds passed -... 13%, 97184 KB, 49728 KB/s, 1 seconds passed -... 13%, 97216 KB, 49738 KB/s, 1 seconds passed -... 13%, 97248 KB, 49747 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 13%, 97280 KB, 48663 KB/s, 1 seconds passed -... 13%, 97312 KB, 48666 KB/s, 1 seconds passed -... 13%, 97344 KB, 48672 KB/s, 1 seconds passed -... 14%, 97376 KB, 48680 KB/s, 2 seconds passed -... 14%, 97408 KB, 48239 KB/s, 2 seconds passed -... 14%, 97440 KB, 48243 KB/s, 2 seconds passed -... 14%, 97472 KB, 48249 KB/s, 2 seconds passed -... 14%, 97504 KB, 48255 KB/s, 2 seconds passed -... 14%, 97536 KB, 48262 KB/s, 2 seconds passed -... 14%, 97568 KB, 48269 KB/s, 2 seconds passed -... 14%, 97600 KB, 48275 KB/s, 2 seconds passed -... 14%, 97632 KB, 48282 KB/s, 2 seconds passed -... 14%, 97664 KB, 48291 KB/s, 2 seconds passed -... 14%, 97696 KB, 48299 KB/s, 2 seconds passed -... 14%, 97728 KB, 48304 KB/s, 2 seconds passed -... 14%, 97760 KB, 48311 KB/s, 2 seconds passed -... 14%, 97792 KB, 48318 KB/s, 2 seconds passed -... 14%, 97824 KB, 48325 KB/s, 2 seconds passed -... 14%, 97856 KB, 48331 KB/s, 2 seconds passed -... 14%, 97888 KB, 48338 KB/s, 2 seconds passed -... 14%, 97920 KB, 48344 KB/s, 2 seconds passed -... 14%, 97952 KB, 48351 KB/s, 2 seconds passed -... 14%, 97984 KB, 48358 KB/s, 2 seconds passed -... 14%, 98016 KB, 48365 KB/s, 2 seconds passed -... 14%, 98048 KB, 48371 KB/s, 2 seconds passed -... 14%, 98080 KB, 48378 KB/s, 2 seconds passed -... 14%, 98112 KB, 48385 KB/s, 2 seconds passed -... 14%, 98144 KB, 48391 KB/s, 2 seconds passed -... 14%, 98176 KB, 48398 KB/s, 2 seconds passed -... 14%, 98208 KB, 48405 KB/s, 2 seconds passed -... 14%, 98240 KB, 48412 KB/s, 2 seconds passed -... 14%, 98272 KB, 48422 KB/s, 2 seconds passed -... 14%, 98304 KB, 48432 KB/s, 2 seconds passed -... 14%, 98336 KB, 48442 KB/s, 2 seconds passed -... 14%, 98368 KB, 48452 KB/s, 2 seconds passed -... 14%, 98400 KB, 48462 KB/s, 2 seconds passed -... 14%, 98432 KB, 48471 KB/s, 2 seconds passed -... 14%, 98464 KB, 48481 KB/s, 2 seconds passed -... 14%, 98496 KB, 48491 KB/s, 2 seconds passed -... 14%, 98528 KB, 48501 KB/s, 2 seconds passed -... 14%, 98560 KB, 48511 KB/s, 2 seconds passed -... 14%, 98592 KB, 48521 KB/s, 2 seconds passed -... 14%, 98624 KB, 48531 KB/s, 2 seconds passed -... 14%, 98656 KB, 48540 KB/s, 2 seconds passed -... 14%, 98688 KB, 48550 KB/s, 2 seconds passed -... 14%, 98720 KB, 48560 KB/s, 2 seconds passed -... 14%, 98752 KB, 48569 KB/s, 2 seconds passed -... 14%, 98784 KB, 48579 KB/s, 2 seconds passed -... 14%, 98816 KB, 48589 KB/s, 2 seconds passed -... 14%, 98848 KB, 48598 KB/s, 2 seconds passed -... 14%, 98880 KB, 48608 KB/s, 2 seconds passed -... 14%, 98912 KB, 48619 KB/s, 2 seconds passed -... 14%, 98944 KB, 48629 KB/s, 2 seconds passed -... 14%, 98976 KB, 48639 KB/s, 2 seconds passed -... 14%, 99008 KB, 48649 KB/s, 2 seconds passed -... 14%, 99040 KB, 48659 KB/s, 2 seconds passed -... 14%, 99072 KB, 48668 KB/s, 2 seconds passed -... 14%, 99104 KB, 48678 KB/s, 2 seconds passed -... 14%, 99136 KB, 48688 KB/s, 2 seconds passed -... 14%, 99168 KB, 48698 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 14%, 99200 KB, 48707 KB/s, 2 seconds passed -... 14%, 99232 KB, 48717 KB/s, 2 seconds passed -... 14%, 99264 KB, 48727 KB/s, 2 seconds passed -... 14%, 99296 KB, 48737 KB/s, 2 seconds passed -... 14%, 99328 KB, 48747 KB/s, 2 seconds passed -... 14%, 99360 KB, 48757 KB/s, 2 seconds passed -... 14%, 99392 KB, 48767 KB/s, 2 seconds passed -... 14%, 99424 KB, 48777 KB/s, 2 seconds passed -... 14%, 99456 KB, 48787 KB/s, 2 seconds passed -... 14%, 99488 KB, 48797 KB/s, 2 seconds passed -... 14%, 99520 KB, 48807 KB/s, 2 seconds passed -... 14%, 99552 KB, 48817 KB/s, 2 seconds passed -... 14%, 99584 KB, 48827 KB/s, 2 seconds passed -... 14%, 99616 KB, 48837 KB/s, 2 seconds passed -... 14%, 99648 KB, 48847 KB/s, 2 seconds passed -... 14%, 99680 KB, 48857 KB/s, 2 seconds passed -... 14%, 99712 KB, 48866 KB/s, 2 seconds passed -... 14%, 99744 KB, 48877 KB/s, 2 seconds passed -... 14%, 99776 KB, 48886 KB/s, 2 seconds passed -... 14%, 99808 KB, 48896 KB/s, 2 seconds passed -... 14%, 99840 KB, 48904 KB/s, 2 seconds passed -... 14%, 99872 KB, 48913 KB/s, 2 seconds passed -... 14%, 99904 KB, 48922 KB/s, 2 seconds passed -... 14%, 99936 KB, 48932 KB/s, 2 seconds passed -... 14%, 99968 KB, 48941 KB/s, 2 seconds passed -... 14%, 100000 KB, 48951 KB/s, 2 seconds passed -... 14%, 100032 KB, 48960 KB/s, 2 seconds passed -... 14%, 100064 KB, 48968 KB/s, 2 seconds passed -... 14%, 100096 KB, 48978 KB/s, 2 seconds passed -... 14%, 100128 KB, 48987 KB/s, 2 seconds passed -... 14%, 100160 KB, 48993 KB/s, 2 seconds passed -... 14%, 100192 KB, 49002 KB/s, 2 seconds passed -... 14%, 100224 KB, 49011 KB/s, 2 seconds passed -... 14%, 100256 KB, 49019 KB/s, 2 seconds passed -... 14%, 100288 KB, 49031 KB/s, 2 seconds passed -... 14%, 100320 KB, 49041 KB/s, 2 seconds passed -... 14%, 100352 KB, 49050 KB/s, 2 seconds passed -... 14%, 100384 KB, 49057 KB/s, 2 seconds passed -... 14%, 100416 KB, 49066 KB/s, 2 seconds passed -... 14%, 100448 KB, 49075 KB/s, 2 seconds passed -... 14%, 100480 KB, 49085 KB/s, 2 seconds passed -... 14%, 100512 KB, 49094 KB/s, 2 seconds passed -... 14%, 100544 KB, 49103 KB/s, 2 seconds passed -... 14%, 100576 KB, 49113 KB/s, 2 seconds passed -... 14%, 100608 KB, 49121 KB/s, 2 seconds passed -... 14%, 100640 KB, 49130 KB/s, 2 seconds passed -... 14%, 100672 KB, 49139 KB/s, 2 seconds passed -... 14%, 100704 KB, 49149 KB/s, 2 seconds passed -... 14%, 100736 KB, 49154 KB/s, 2 seconds passed -... 14%, 100768 KB, 49163 KB/s, 2 seconds passed -... 14%, 100800 KB, 49172 KB/s, 2 seconds passed -... 14%, 100832 KB, 49180 KB/s, 2 seconds passed -... 14%, 100864 KB, 49190 KB/s, 2 seconds passed -... 14%, 100896 KB, 49199 KB/s, 2 seconds passed -... 14%, 100928 KB, 49208 KB/s, 2 seconds passed -... 14%, 100960 KB, 49216 KB/s, 2 seconds passed -... 14%, 100992 KB, 49225 KB/s, 2 seconds passed -... 14%, 101024 KB, 49235 KB/s, 2 seconds passed -... 14%, 101056 KB, 49244 KB/s, 2 seconds passed -... 14%, 101088 KB, 49252 KB/s, 2 seconds passed -... 14%, 101120 KB, 49261 KB/s, 2 seconds passed -... 14%, 101152 KB, 49270 KB/s, 2 seconds passed -... 14%, 101184 KB, 49281 KB/s, 2 seconds passed -... 14%, 101216 KB, 49290 KB/s, 2 seconds passed -... 14%, 101248 KB, 49299 KB/s, 2 seconds passed -... 14%, 101280 KB, 49237 KB/s, 2 seconds passed -... 14%, 101312 KB, 49247 KB/s, 2 seconds passed -... 14%, 101344 KB, 49256 KB/s, 2 seconds passed -... 14%, 101376 KB, 49265 KB/s, 2 seconds passed -... 14%, 101408 KB, 49273 KB/s, 2 seconds passed -... 14%, 101440 KB, 49283 KB/s, 2 seconds passed -... 14%, 101472 KB, 49292 KB/s, 2 seconds passed -... 14%, 101504 KB, 49300 KB/s, 2 seconds passed -... 14%, 101536 KB, 49309 KB/s, 2 seconds passed -... 14%, 101568 KB, 49318 KB/s, 2 seconds passed -... 14%, 101600 KB, 49326 KB/s, 2 seconds passed -... 14%, 101632 KB, 49273 KB/s, 2 seconds passed -... 14%, 101664 KB, 49279 KB/s, 2 seconds passed -... 14%, 101696 KB, 49287 KB/s, 2 seconds passed -... 14%, 101728 KB, 49297 KB/s, 2 seconds passed -... 14%, 101760 KB, 49307 KB/s, 2 seconds passed -... 14%, 101792 KB, 49318 KB/s, 2 seconds passed -... 14%, 101824 KB, 49327 KB/s, 2 seconds passed -... 14%, 101856 KB, 49336 KB/s, 2 seconds passed -... 14%, 101888 KB, 49346 KB/s, 2 seconds passed -... 14%, 101920 KB, 49351 KB/s, 2 seconds passed -... 14%, 101952 KB, 49360 KB/s, 2 seconds passed -... 14%, 101984 KB, 49368 KB/s, 2 seconds passed -... 14%, 102016 KB, 49377 KB/s, 2 seconds passed -... 14%, 102048 KB, 49388 KB/s, 2 seconds passed -... 14%, 102080 KB, 49397 KB/s, 2 seconds passed -... 14%, 102112 KB, 49406 KB/s, 2 seconds passed -... 14%, 102144 KB, 49415 KB/s, 2 seconds passed -... 14%, 102176 KB, 49424 KB/s, 2 seconds passed -... 14%, 102208 KB, 49432 KB/s, 2 seconds passed -... 14%, 102240 KB, 49442 KB/s, 2 seconds passed -... 14%, 102272 KB, 49451 KB/s, 2 seconds passed -... 14%, 102304 KB, 49458 KB/s, 2 seconds passed -... 14%, 102336 KB, 49468 KB/s, 2 seconds passed -... 14%, 102368 KB, 49477 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 14%, 102400 KB, 48838 KB/s, 2 seconds passed -... 14%, 102432 KB, 48836 KB/s, 2 seconds passed -... 14%, 102464 KB, 48842 KB/s, 2 seconds passed -... 14%, 102496 KB, 48848 KB/s, 2 seconds passed -... 14%, 102528 KB, 48855 KB/s, 2 seconds passed -... 14%, 102560 KB, 48839 KB/s, 2 seconds passed -... 14%, 102592 KB, 48844 KB/s, 2 seconds passed -... 14%, 102624 KB, 48850 KB/s, 2 seconds passed -... 14%, 102656 KB, 48858 KB/s, 2 seconds passed -... 14%, 102688 KB, 48800 KB/s, 2 seconds passed -... 14%, 102720 KB, 48805 KB/s, 2 seconds passed -... 14%, 102752 KB, 48812 KB/s, 2 seconds passed -... 14%, 102784 KB, 48818 KB/s, 2 seconds passed -... 14%, 102816 KB, 48824 KB/s, 2 seconds passed -... 14%, 102848 KB, 48830 KB/s, 2 seconds passed -... 14%, 102880 KB, 48837 KB/s, 2 seconds passed -... 14%, 102912 KB, 48845 KB/s, 2 seconds passed -... 14%, 102944 KB, 48760 KB/s, 2 seconds passed -... 14%, 102976 KB, 48766 KB/s, 2 seconds passed -... 14%, 103008 KB, 48773 KB/s, 2 seconds passed -... 14%, 103040 KB, 48779 KB/s, 2 seconds passed -... 14%, 103072 KB, 48784 KB/s, 2 seconds passed -... 14%, 103104 KB, 48791 KB/s, 2 seconds passed -... 14%, 103136 KB, 48798 KB/s, 2 seconds passed -... 14%, 103168 KB, 48804 KB/s, 2 seconds passed -... 14%, 103200 KB, 48810 KB/s, 2 seconds passed -... 14%, 103232 KB, 48817 KB/s, 2 seconds passed -... 14%, 103264 KB, 48823 KB/s, 2 seconds passed -... 14%, 103296 KB, 48829 KB/s, 2 seconds passed -... 14%, 103328 KB, 48835 KB/s, 2 seconds passed -... 14%, 103360 KB, 48842 KB/s, 2 seconds passed -... 14%, 103392 KB, 48848 KB/s, 2 seconds passed -... 14%, 103424 KB, 48854 KB/s, 2 seconds passed -... 14%, 103456 KB, 48861 KB/s, 2 seconds passed -... 14%, 103488 KB, 48867 KB/s, 2 seconds passed -... 14%, 103520 KB, 48874 KB/s, 2 seconds passed -... 14%, 103552 KB, 48880 KB/s, 2 seconds passed -... 14%, 103584 KB, 48887 KB/s, 2 seconds passed -... 14%, 103616 KB, 48893 KB/s, 2 seconds passed -... 14%, 103648 KB, 48900 KB/s, 2 seconds passed -... 14%, 103680 KB, 48906 KB/s, 2 seconds passed -... 14%, 103712 KB, 48914 KB/s, 2 seconds passed -... 14%, 103744 KB, 48922 KB/s, 2 seconds passed -... 14%, 103776 KB, 48930 KB/s, 2 seconds passed -... 14%, 103808 KB, 48938 KB/s, 2 seconds passed -... 14%, 103840 KB, 48947 KB/s, 2 seconds passed -... 14%, 103872 KB, 48955 KB/s, 2 seconds passed -... 14%, 103904 KB, 48964 KB/s, 2 seconds passed -... 14%, 103936 KB, 48972 KB/s, 2 seconds passed -... 14%, 103968 KB, 48981 KB/s, 2 seconds passed -... 14%, 104000 KB, 48989 KB/s, 2 seconds passed -... 14%, 104032 KB, 48998 KB/s, 2 seconds passed -... 14%, 104064 KB, 49006 KB/s, 2 seconds passed -... 14%, 104096 KB, 49014 KB/s, 2 seconds passed -... 14%, 104128 KB, 49023 KB/s, 2 seconds passed -... 14%, 104160 KB, 49032 KB/s, 2 seconds passed -... 14%, 104192 KB, 49039 KB/s, 2 seconds passed -... 14%, 104224 KB, 49048 KB/s, 2 seconds passed -... 14%, 104256 KB, 49056 KB/s, 2 seconds passed -... 14%, 104288 KB, 49065 KB/s, 2 seconds passed -... 14%, 104320 KB, 49073 KB/s, 2 seconds passed -... 15%, 104352 KB, 49081 KB/s, 2 seconds passed -... 15%, 104384 KB, 49090 KB/s, 2 seconds passed -... 15%, 104416 KB, 49099 KB/s, 2 seconds passed -... 15%, 104448 KB, 49107 KB/s, 2 seconds passed -... 15%, 104480 KB, 49115 KB/s, 2 seconds passed -... 15%, 104512 KB, 49124 KB/s, 2 seconds passed -... 15%, 104544 KB, 49133 KB/s, 2 seconds passed -... 15%, 104576 KB, 49141 KB/s, 2 seconds passed -... 15%, 104608 KB, 49149 KB/s, 2 seconds passed -... 15%, 104640 KB, 49158 KB/s, 2 seconds passed -... 15%, 104672 KB, 49166 KB/s, 2 seconds passed -... 15%, 104704 KB, 49175 KB/s, 2 seconds passed -... 15%, 104736 KB, 49183 KB/s, 2 seconds passed -... 15%, 104768 KB, 49192 KB/s, 2 seconds passed -... 15%, 104800 KB, 49200 KB/s, 2 seconds passed -... 15%, 104832 KB, 49211 KB/s, 2 seconds passed -... 15%, 104864 KB, 49221 KB/s, 2 seconds passed -... 15%, 104896 KB, 49232 KB/s, 2 seconds passed -... 15%, 104928 KB, 49242 KB/s, 2 seconds passed -... 15%, 104960 KB, 49253 KB/s, 2 seconds passed -... 15%, 104992 KB, 49264 KB/s, 2 seconds passed -... 15%, 105024 KB, 49274 KB/s, 2 seconds passed -... 15%, 105056 KB, 49284 KB/s, 2 seconds passed -... 15%, 105088 KB, 49295 KB/s, 2 seconds passed -... 15%, 105120 KB, 49306 KB/s, 2 seconds passed -... 15%, 105152 KB, 49316 KB/s, 2 seconds passed -... 15%, 105184 KB, 49327 KB/s, 2 seconds passed -... 15%, 105216 KB, 49337 KB/s, 2 seconds passed -... 15%, 105248 KB, 49347 KB/s, 2 seconds passed -... 15%, 105280 KB, 49358 KB/s, 2 seconds passed -... 15%, 105312 KB, 49369 KB/s, 2 seconds passed -... 15%, 105344 KB, 49379 KB/s, 2 seconds passed -... 15%, 105376 KB, 49389 KB/s, 2 seconds passed -... 15%, 105408 KB, 49400 KB/s, 2 seconds passed -... 15%, 105440 KB, 49410 KB/s, 2 seconds passed -... 15%, 105472 KB, 49421 KB/s, 2 seconds passed -... 15%, 105504 KB, 49432 KB/s, 2 seconds passed -... 15%, 105536 KB, 49442 KB/s, 2 seconds passed -... 15%, 105568 KB, 49453 KB/s, 2 seconds passed -... 15%, 105600 KB, 49463 KB/s, 2 seconds passed -... 15%, 105632 KB, 49474 KB/s, 2 seconds passed -... 15%, 105664 KB, 49484 KB/s, 2 seconds passed -... 15%, 105696 KB, 49494 KB/s, 2 seconds passed -... 15%, 105728 KB, 49505 KB/s, 2 seconds passed -... 15%, 105760 KB, 49516 KB/s, 2 seconds passed -... 15%, 105792 KB, 49527 KB/s, 2 seconds passed -... 15%, 105824 KB, 49536 KB/s, 2 seconds passed -... 15%, 105856 KB, 49546 KB/s, 2 seconds passed -... 15%, 105888 KB, 49555 KB/s, 2 seconds passed -... 15%, 105920 KB, 49562 KB/s, 2 seconds passed -... 15%, 105952 KB, 49569 KB/s, 2 seconds passed -... 15%, 105984 KB, 49578 KB/s, 2 seconds passed -... 15%, 106016 KB, 49587 KB/s, 2 seconds passed -... 15%, 106048 KB, 49596 KB/s, 2 seconds passed -... 15%, 106080 KB, 49605 KB/s, 2 seconds passed -... 15%, 106112 KB, 49615 KB/s, 2 seconds passed -... 15%, 106144 KB, 49624 KB/s, 2 seconds passed -... 15%, 106176 KB, 49632 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 15%, 106208 KB, 49640 KB/s, 2 seconds passed -... 15%, 106240 KB, 49648 KB/s, 2 seconds passed -... 15%, 106272 KB, 49656 KB/s, 2 seconds passed -... 15%, 106304 KB, 49665 KB/s, 2 seconds passed -... 15%, 106336 KB, 49674 KB/s, 2 seconds passed -... 15%, 106368 KB, 49683 KB/s, 2 seconds passed -... 15%, 106400 KB, 49691 KB/s, 2 seconds passed -... 15%, 106432 KB, 49700 KB/s, 2 seconds passed -... 15%, 106464 KB, 49705 KB/s, 2 seconds passed -... 15%, 106496 KB, 49714 KB/s, 2 seconds passed -... 15%, 106528 KB, 49722 KB/s, 2 seconds passed -... 15%, 106560 KB, 49731 KB/s, 2 seconds passed -... 15%, 106592 KB, 49741 KB/s, 2 seconds passed -... 15%, 106624 KB, 49750 KB/s, 2 seconds passed -... 15%, 106656 KB, 49759 KB/s, 2 seconds passed -... 15%, 106688 KB, 48719 KB/s, 2 seconds passed -... 15%, 106720 KB, 48722 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 15%, 106752 KB, 48727 KB/s, 2 seconds passed -... 15%, 106784 KB, 48733 KB/s, 2 seconds passed -... 15%, 106816 KB, 48739 KB/s, 2 seconds passed -... 15%, 106848 KB, 48745 KB/s, 2 seconds passed -... 15%, 106880 KB, 48752 KB/s, 2 seconds passed -... 15%, 106912 KB, 48760 KB/s, 2 seconds passed -... 15%, 106944 KB, 48768 KB/s, 2 seconds passed -... 15%, 106976 KB, 48739 KB/s, 2 seconds passed -... 15%, 107008 KB, 48743 KB/s, 2 seconds passed -... 15%, 107040 KB, 48749 KB/s, 2 seconds passed -... 15%, 107072 KB, 48754 KB/s, 2 seconds passed -... 15%, 107104 KB, 48760 KB/s, 2 seconds passed -... 15%, 107136 KB, 48766 KB/s, 2 seconds passed -... 15%, 107168 KB, 48772 KB/s, 2 seconds passed -... 15%, 107200 KB, 48778 KB/s, 2 seconds passed -... 15%, 107232 KB, 48784 KB/s, 2 seconds passed -... 15%, 107264 KB, 48790 KB/s, 2 seconds passed -... 15%, 107296 KB, 48796 KB/s, 2 seconds passed -... 15%, 107328 KB, 48803 KB/s, 2 seconds passed -... 15%, 107360 KB, 48809 KB/s, 2 seconds passed -... 15%, 107392 KB, 48817 KB/s, 2 seconds passed -... 15%, 107424 KB, 48826 KB/s, 2 seconds passed -... 15%, 107456 KB, 48834 KB/s, 2 seconds passed -... 15%, 107488 KB, 48842 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 15%, 107520 KB, 47324 KB/s, 2 seconds passed -... 15%, 107552 KB, 47327 KB/s, 2 seconds passed -... 15%, 107584 KB, 47332 KB/s, 2 seconds passed -... 15%, 107616 KB, 47338 KB/s, 2 seconds passed -... 15%, 107648 KB, 47343 KB/s, 2 seconds passed -... 15%, 107680 KB, 47350 KB/s, 2 seconds passed -... 15%, 107712 KB, 47358 KB/s, 2 seconds passed -... 15%, 107744 KB, 47275 KB/s, 2 seconds passed -... 15%, 107776 KB, 47279 KB/s, 2 seconds passed -... 15%, 107808 KB, 47285 KB/s, 2 seconds passed -... 15%, 107840 KB, 47291 KB/s, 2 seconds passed -... 15%, 107872 KB, 47296 KB/s, 2 seconds passed -... 15%, 107904 KB, 47302 KB/s, 2 seconds passed -... 15%, 107936 KB, 47308 KB/s, 2 seconds passed -... 15%, 107968 KB, 47314 KB/s, 2 seconds passed -... 15%, 108000 KB, 47320 KB/s, 2 seconds passed -... 15%, 108032 KB, 47326 KB/s, 2 seconds passed -... 15%, 108064 KB, 47332 KB/s, 2 seconds passed -... 15%, 108096 KB, 47339 KB/s, 2 seconds passed -... 15%, 108128 KB, 47345 KB/s, 2 seconds passed -... 15%, 108160 KB, 47351 KB/s, 2 seconds passed -... 15%, 108192 KB, 47356 KB/s, 2 seconds passed -... 15%, 108224 KB, 47362 KB/s, 2 seconds passed -... 15%, 108256 KB, 47368 KB/s, 2 seconds passed -... 15%, 108288 KB, 47374 KB/s, 2 seconds passed -... 15%, 108320 KB, 47381 KB/s, 2 seconds passed -... 15%, 108352 KB, 47387 KB/s, 2 seconds passed -... 15%, 108384 KB, 47393 KB/s, 2 seconds passed -... 15%, 108416 KB, 47399 KB/s, 2 seconds passed -... 15%, 108448 KB, 47405 KB/s, 2 seconds passed -... 15%, 108480 KB, 47412 KB/s, 2 seconds passed -... 15%, 108512 KB, 47418 KB/s, 2 seconds passed -... 15%, 108544 KB, 47424 KB/s, 2 seconds passed -... 15%, 108576 KB, 47430 KB/s, 2 seconds passed -... 15%, 108608 KB, 47436 KB/s, 2 seconds passed -... 15%, 108640 KB, 47442 KB/s, 2 seconds passed -... 15%, 108672 KB, 47448 KB/s, 2 seconds passed -... 15%, 108704 KB, 47454 KB/s, 2 seconds passed -... 15%, 108736 KB, 47460 KB/s, 2 seconds passed -... 15%, 108768 KB, 47468 KB/s, 2 seconds passed -... 15%, 108800 KB, 47477 KB/s, 2 seconds passed -... 15%, 108832 KB, 47486 KB/s, 2 seconds passed -... 15%, 108864 KB, 47495 KB/s, 2 seconds passed -... 15%, 108896 KB, 47503 KB/s, 2 seconds passed -... 15%, 108928 KB, 47512 KB/s, 2 seconds passed -... 15%, 108960 KB, 47521 KB/s, 2 seconds passed -... 15%, 108992 KB, 47530 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 15%, 109024 KB, 47539 KB/s, 2 seconds passed -... 15%, 109056 KB, 47548 KB/s, 2 seconds passed -... 15%, 109088 KB, 47557 KB/s, 2 seconds passed -... 15%, 109120 KB, 47566 KB/s, 2 seconds passed -... 15%, 109152 KB, 47575 KB/s, 2 seconds passed -... 15%, 109184 KB, 47584 KB/s, 2 seconds passed -... 15%, 109216 KB, 47593 KB/s, 2 seconds passed -... 15%, 109248 KB, 47602 KB/s, 2 seconds passed -... 15%, 109280 KB, 47611 KB/s, 2 seconds passed -... 15%, 109312 KB, 47620 KB/s, 2 seconds passed -... 15%, 109344 KB, 47629 KB/s, 2 seconds passed -... 15%, 109376 KB, 47638 KB/s, 2 seconds passed -... 15%, 109408 KB, 47647 KB/s, 2 seconds passed -... 15%, 109440 KB, 47655 KB/s, 2 seconds passed -... 15%, 109472 KB, 47664 KB/s, 2 seconds passed -... 15%, 109504 KB, 47673 KB/s, 2 seconds passed -... 15%, 109536 KB, 47681 KB/s, 2 seconds passed -... 15%, 109568 KB, 47690 KB/s, 2 seconds passed -... 15%, 109600 KB, 47699 KB/s, 2 seconds passed -... 15%, 109632 KB, 47708 KB/s, 2 seconds passed -... 15%, 109664 KB, 47717 KB/s, 2 seconds passed -... 15%, 109696 KB, 47726 KB/s, 2 seconds passed -... 15%, 109728 KB, 47734 KB/s, 2 seconds passed -... 15%, 109760 KB, 47743 KB/s, 2 seconds passed -... 15%, 109792 KB, 47752 KB/s, 2 seconds passed -... 15%, 109824 KB, 47761 KB/s, 2 seconds passed -... 15%, 109856 KB, 47770 KB/s, 2 seconds passed -... 15%, 109888 KB, 47779 KB/s, 2 seconds passed -... 15%, 109920 KB, 47788 KB/s, 2 seconds passed -... 15%, 109952 KB, 47797 KB/s, 2 seconds passed -... 15%, 109984 KB, 47805 KB/s, 2 seconds passed -... 15%, 110016 KB, 47814 KB/s, 2 seconds passed -... 15%, 110048 KB, 47823 KB/s, 2 seconds passed -... 15%, 110080 KB, 47833 KB/s, 2 seconds passed -... 15%, 110112 KB, 47843 KB/s, 2 seconds passed -... 15%, 110144 KB, 47854 KB/s, 2 seconds passed -... 15%, 110176 KB, 47864 KB/s, 2 seconds passed -... 15%, 110208 KB, 47874 KB/s, 2 seconds passed -... 15%, 110240 KB, 47885 KB/s, 2 seconds passed -... 15%, 110272 KB, 47895 KB/s, 2 seconds passed -... 15%, 110304 KB, 47906 KB/s, 2 seconds passed -... 15%, 110336 KB, 47917 KB/s, 2 seconds passed -... 15%, 110368 KB, 47928 KB/s, 2 seconds passed -... 15%, 110400 KB, 47939 KB/s, 2 seconds passed -... 15%, 110432 KB, 47950 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 15%, 110464 KB, 38161 KB/s, 2 seconds passed -... 15%, 110496 KB, 38151 KB/s, 2 seconds passed -... 15%, 110528 KB, 38155 KB/s, 2 seconds passed -... 15%, 110560 KB, 38160 KB/s, 2 seconds passed -... 15%, 110592 KB, 38166 KB/s, 2 seconds passed -... 15%, 110624 KB, 38172 KB/s, 2 seconds passed -... 15%, 110656 KB, 38178 KB/s, 2 seconds passed -... 15%, 110688 KB, 38184 KB/s, 2 seconds passed -... 15%, 110720 KB, 38190 KB/s, 2 seconds passed -... 15%, 110752 KB, 38196 KB/s, 2 seconds passed -... 15%, 110784 KB, 38202 KB/s, 2 seconds passed -... 15%, 110816 KB, 38208 KB/s, 2 seconds passed -... 15%, 110848 KB, 38215 KB/s, 2 seconds passed -... 15%, 110880 KB, 38222 KB/s, 2 seconds passed -... 15%, 110912 KB, 38230 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 15%, 110944 KB, 38140 KB/s, 2 seconds passed -... 15%, 110976 KB, 38144 KB/s, 2 seconds passed -... 15%, 111008 KB, 38150 KB/s, 2 seconds passed -... 15%, 111040 KB, 38156 KB/s, 2 seconds passed -... 15%, 111072 KB, 38162 KB/s, 2 seconds passed -... 15%, 111104 KB, 38168 KB/s, 2 seconds passed -... 15%, 111136 KB, 38174 KB/s, 2 seconds passed -... 15%, 111168 KB, 38180 KB/s, 2 seconds passed -... 15%, 111200 KB, 38186 KB/s, 2 seconds passed -... 15%, 111232 KB, 38192 KB/s, 2 seconds passed -... 15%, 111264 KB, 38198 KB/s, 2 seconds passed -... 16%, 111296 KB, 38204 KB/s, 2 seconds passed -... 16%, 111328 KB, 38210 KB/s, 2 seconds passed -... 16%, 111360 KB, 38216 KB/s, 2 seconds passed -... 16%, 111392 KB, 38222 KB/s, 2 seconds passed -... 16%, 111424 KB, 38228 KB/s, 2 seconds passed -... 16%, 111456 KB, 38234 KB/s, 2 seconds passed -... 16%, 111488 KB, 38240 KB/s, 2 seconds passed -... 16%, 111520 KB, 38246 KB/s, 2 seconds passed -... 16%, 111552 KB, 38252 KB/s, 2 seconds passed -... 16%, 111584 KB, 38257 KB/s, 2 seconds passed -... 16%, 111616 KB, 38263 KB/s, 2 seconds passed -... 16%, 111648 KB, 38269 KB/s, 2 seconds passed -... 16%, 111680 KB, 38275 KB/s, 2 seconds passed -... 16%, 111712 KB, 38281 KB/s, 2 seconds passed -... 16%, 111744 KB, 38288 KB/s, 2 seconds passed -... 16%, 111776 KB, 38296 KB/s, 2 seconds passed -... 16%, 111808 KB, 38303 KB/s, 2 seconds passed -... 16%, 111840 KB, 38310 KB/s, 2 seconds passed -... 16%, 111872 KB, 38317 KB/s, 2 seconds passed -... 16%, 111904 KB, 38324 KB/s, 2 seconds passed -... 16%, 111936 KB, 38331 KB/s, 2 seconds passed -... 16%, 111968 KB, 38338 KB/s, 2 seconds passed -... 16%, 112000 KB, 38346 KB/s, 2 seconds passed -... 16%, 112032 KB, 38353 KB/s, 2 seconds passed -... 16%, 112064 KB, 38360 KB/s, 2 seconds passed -... 16%, 112096 KB, 38367 KB/s, 2 seconds passed -... 16%, 112128 KB, 38374 KB/s, 2 seconds passed -... 16%, 112160 KB, 38381 KB/s, 2 seconds passed -... 16%, 112192 KB, 38388 KB/s, 2 seconds passed -... 16%, 112224 KB, 38396 KB/s, 2 seconds passed -... 16%, 112256 KB, 38403 KB/s, 2 seconds passed -... 16%, 112288 KB, 38410 KB/s, 2 seconds passed -... 16%, 112320 KB, 38418 KB/s, 2 seconds passed -... 16%, 112352 KB, 38426 KB/s, 2 seconds passed -... 16%, 112384 KB, 38434 KB/s, 2 seconds passed -... 16%, 112416 KB, 38442 KB/s, 2 seconds passed -... 16%, 112448 KB, 38450 KB/s, 2 seconds passed -... 16%, 112480 KB, 38458 KB/s, 2 seconds passed -... 16%, 112512 KB, 38466 KB/s, 2 seconds passed -... 16%, 112544 KB, 38474 KB/s, 2 seconds passed -... 16%, 112576 KB, 38482 KB/s, 2 seconds passed -... 16%, 112608 KB, 38490 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 16%, 112640 KB, 37814 KB/s, 2 seconds passed -... 16%, 112672 KB, 37818 KB/s, 2 seconds passed -... 16%, 112704 KB, 37824 KB/s, 2 seconds passed -... 16%, 112736 KB, 37830 KB/s, 2 seconds passed -... 16%, 112768 KB, 37835 KB/s, 2 seconds passed -... 16%, 112800 KB, 37841 KB/s, 2 seconds passed -... 16%, 112832 KB, 37847 KB/s, 2 seconds passed -... 16%, 112864 KB, 37852 KB/s, 2 seconds passed -... 16%, 112896 KB, 37858 KB/s, 2 seconds passed -... 16%, 112928 KB, 37864 KB/s, 2 seconds passed -... 16%, 112960 KB, 37870 KB/s, 2 seconds passed -... 16%, 112992 KB, 37876 KB/s, 2 seconds passed -... 16%, 113024 KB, 37882 KB/s, 2 seconds passed -... 16%, 113056 KB, 37888 KB/s, 2 seconds passed -... 16%, 113088 KB, 37893 KB/s, 2 seconds passed -... 16%, 113120 KB, 37899 KB/s, 2 seconds passed -... 16%, 113152 KB, 37905 KB/s, 2 seconds passed -... 16%, 113184 KB, 37911 KB/s, 2 seconds passed -... 16%, 113216 KB, 37917 KB/s, 2 seconds passed -... 16%, 113248 KB, 37923 KB/s, 2 seconds passed -... 16%, 113280 KB, 37929 KB/s, 2 seconds passed -... 16%, 113312 KB, 37935 KB/s, 2 seconds passed -... 16%, 113344 KB, 37942 KB/s, 2 seconds passed -... 16%, 113376 KB, 37949 KB/s, 2 seconds passed -... 16%, 113408 KB, 37954 KB/s, 2 seconds passed -... 16%, 113440 KB, 37961 KB/s, 2 seconds passed -... 16%, 113472 KB, 37966 KB/s, 2 seconds passed -... 16%, 113504 KB, 37974 KB/s, 2 seconds passed -... 16%, 113536 KB, 37981 KB/s, 2 seconds passed -... 16%, 113568 KB, 37988 KB/s, 2 seconds passed -... 16%, 113600 KB, 37995 KB/s, 2 seconds passed -... 16%, 113632 KB, 38002 KB/s, 2 seconds passed -... 16%, 113664 KB, 38009 KB/s, 2 seconds passed -... 16%, 113696 KB, 38016 KB/s, 2 seconds passed -... 16%, 113728 KB, 38023 KB/s, 2 seconds passed -... 16%, 113760 KB, 38030 KB/s, 2 seconds passed -... 16%, 113792 KB, 38037 KB/s, 2 seconds passed -... 16%, 113824 KB, 38044 KB/s, 2 seconds passed -... 16%, 113856 KB, 38051 KB/s, 2 seconds passed -... 16%, 113888 KB, 38059 KB/s, 2 seconds passed -... 16%, 113920 KB, 38065 KB/s, 2 seconds passed -... 16%, 113952 KB, 38072 KB/s, 2 seconds passed -... 16%, 113984 KB, 38079 KB/s, 2 seconds passed -... 16%, 114016 KB, 38086 KB/s, 2 seconds passed -... 16%, 114048 KB, 38094 KB/s, 2 seconds passed -... 16%, 114080 KB, 38101 KB/s, 2 seconds passed -... 16%, 114112 KB, 38108 KB/s, 2 seconds passed -... 16%, 114144 KB, 38115 KB/s, 2 seconds passed -... 16%, 114176 KB, 38122 KB/s, 2 seconds passed -... 16%, 114208 KB, 38129 KB/s, 2 seconds passed -... 16%, 114240 KB, 38136 KB/s, 2 seconds passed -... 16%, 114272 KB, 38143 KB/s, 2 seconds passed -... 16%, 114304 KB, 38150 KB/s, 2 seconds passed -... 16%, 114336 KB, 38158 KB/s, 2 seconds passed -... 16%, 114368 KB, 38164 KB/s, 2 seconds passed -... 16%, 114400 KB, 38171 KB/s, 2 seconds passed -... 16%, 114432 KB, 38179 KB/s, 2 seconds passed -... 16%, 114464 KB, 38186 KB/s, 2 seconds passed -... 16%, 114496 KB, 38193 KB/s, 2 seconds passed -... 16%, 114528 KB, 38201 KB/s, 2 seconds passed -... 16%, 114560 KB, 38208 KB/s, 2 seconds passed -... 16%, 114592 KB, 38216 KB/s, 2 seconds passed -... 16%, 114624 KB, 38224 KB/s, 2 seconds passed -... 16%, 114656 KB, 38232 KB/s, 2 seconds passed -... 16%, 114688 KB, 38241 KB/s, 2 seconds passed -... 16%, 114720 KB, 38249 KB/s, 2 seconds passed -... 16%, 114752 KB, 38258 KB/s, 2 seconds passed -... 16%, 114784 KB, 38266 KB/s, 2 seconds passed -... 16%, 114816 KB, 38275 KB/s, 2 seconds passed -... 16%, 114848 KB, 38283 KB/s, 2 seconds passed -... 16%, 114880 KB, 38292 KB/s, 3 seconds passed -... 16%, 114912 KB, 38300 KB/s, 3 seconds passed -... 16%, 114944 KB, 38308 KB/s, 3 seconds passed -... 16%, 114976 KB, 38317 KB/s, 3 seconds passed -... 16%, 115008 KB, 38325 KB/s, 3 seconds passed -... 16%, 115040 KB, 38333 KB/s, 3 seconds passed -... 16%, 115072 KB, 38342 KB/s, 3 seconds passed -... 16%, 115104 KB, 38350 KB/s, 3 seconds passed -... 16%, 115136 KB, 38359 KB/s, 3 seconds passed -... 16%, 115168 KB, 38367 KB/s, 3 seconds passed -... 16%, 115200 KB, 38376 KB/s, 3 seconds passed -... 16%, 115232 KB, 38384 KB/s, 3 seconds passed -... 16%, 115264 KB, 38385 KB/s, 3 seconds passed -... 16%, 115296 KB, 38390 KB/s, 3 seconds passed -... 16%, 115328 KB, 38398 KB/s, 3 seconds passed -... 16%, 115360 KB, 38405 KB/s, 3 seconds passed -... 16%, 115392 KB, 38412 KB/s, 3 seconds passed -... 16%, 115424 KB, 38420 KB/s, 3 seconds passed -... 16%, 115456 KB, 38424 KB/s, 3 seconds passed -... 16%, 115488 KB, 38429 KB/s, 3 seconds passed -... 16%, 115520 KB, 38437 KB/s, 3 seconds passed -... 16%, 115552 KB, 38446 KB/s, 3 seconds passed -... 16%, 115584 KB, 38454 KB/s, 3 seconds passed -... 16%, 115616 KB, 38461 KB/s, 3 seconds passed -... 16%, 115648 KB, 38468 KB/s, 3 seconds passed -... 16%, 115680 KB, 38476 KB/s, 3 seconds passed -... 16%, 115712 KB, 38483 KB/s, 3 seconds passed -... 16%, 115744 KB, 38490 KB/s, 3 seconds passed -... 16%, 115776 KB, 38498 KB/s, 3 seconds passed -... 16%, 115808 KB, 38505 KB/s, 3 seconds passed -... 16%, 115840 KB, 38513 KB/s, 3 seconds passed -... 16%, 115872 KB, 38520 KB/s, 3 seconds passed -... 16%, 115904 KB, 38527 KB/s, 3 seconds passed -... 16%, 115936 KB, 38532 KB/s, 3 seconds passed -... 16%, 115968 KB, 38539 KB/s, 3 seconds passed -... 16%, 116000 KB, 38546 KB/s, 3 seconds passed -... 16%, 116032 KB, 38554 KB/s, 3 seconds passed -... 16%, 116064 KB, 38561 KB/s, 3 seconds passed -... 16%, 116096 KB, 38568 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 16%, 116128 KB, 38573 KB/s, 3 seconds passed -... 16%, 116160 KB, 38580 KB/s, 3 seconds passed -... 16%, 116192 KB, 38588 KB/s, 3 seconds passed -... 16%, 116224 KB, 38595 KB/s, 3 seconds passed -... 16%, 116256 KB, 38602 KB/s, 3 seconds passed -... 16%, 116288 KB, 38610 KB/s, 3 seconds passed -... 16%, 116320 KB, 38617 KB/s, 3 seconds passed -... 16%, 116352 KB, 38624 KB/s, 3 seconds passed -... 16%, 116384 KB, 38632 KB/s, 3 seconds passed -... 16%, 116416 KB, 38639 KB/s, 3 seconds passed -... 16%, 116448 KB, 38646 KB/s, 3 seconds passed -... 16%, 116480 KB, 38654 KB/s, 3 seconds passed -... 16%, 116512 KB, 38661 KB/s, 3 seconds passed -... 16%, 116544 KB, 38613 KB/s, 3 seconds passed -... 16%, 116576 KB, 38618 KB/s, 3 seconds passed -... 16%, 116608 KB, 38615 KB/s, 3 seconds passed -... 16%, 116640 KB, 38620 KB/s, 3 seconds passed -... 16%, 116672 KB, 38625 KB/s, 3 seconds passed -... 16%, 116704 KB, 38631 KB/s, 3 seconds passed -... 16%, 116736 KB, 38637 KB/s, 3 seconds passed -... 16%, 116768 KB, 38642 KB/s, 3 seconds passed -... 16%, 116800 KB, 38648 KB/s, 3 seconds passed -... 16%, 116832 KB, 38655 KB/s, 3 seconds passed -... 16%, 116864 KB, 38661 KB/s, 3 seconds passed -... 16%, 116896 KB, 38668 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 16%, 116928 KB, 38182 KB/s, 3 seconds passed -... 16%, 116960 KB, 38187 KB/s, 3 seconds passed -... 16%, 116992 KB, 38193 KB/s, 3 seconds passed -... 16%, 117024 KB, 38198 KB/s, 3 seconds passed -... 16%, 117056 KB, 38204 KB/s, 3 seconds passed -... 16%, 117088 KB, 38209 KB/s, 3 seconds passed -... 16%, 117120 KB, 38215 KB/s, 3 seconds passed -... 16%, 117152 KB, 38221 KB/s, 3 seconds passed -... 16%, 117184 KB, 38227 KB/s, 3 seconds passed -... 16%, 117216 KB, 38232 KB/s, 3 seconds passed -... 16%, 117248 KB, 38238 KB/s, 3 seconds passed -... 16%, 117280 KB, 38244 KB/s, 3 seconds passed -... 16%, 117312 KB, 38250 KB/s, 3 seconds passed -... 16%, 117344 KB, 38256 KB/s, 3 seconds passed -... 16%, 117376 KB, 38262 KB/s, 3 seconds passed -... 16%, 117408 KB, 38268 KB/s, 3 seconds passed -... 16%, 117440 KB, 38273 KB/s, 3 seconds passed -... 16%, 117472 KB, 38279 KB/s, 3 seconds passed -... 16%, 117504 KB, 38285 KB/s, 3 seconds passed -... 16%, 117536 KB, 38291 KB/s, 3 seconds passed -... 16%, 117568 KB, 38297 KB/s, 3 seconds passed -... 16%, 117600 KB, 38302 KB/s, 3 seconds passed -... 16%, 117632 KB, 38308 KB/s, 3 seconds passed -... 16%, 117664 KB, 38314 KB/s, 3 seconds passed -... 16%, 117696 KB, 38320 KB/s, 3 seconds passed -... 16%, 117728 KB, 38326 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 16%, 117760 KB, 37483 KB/s, 3 seconds passed -... 16%, 117792 KB, 37486 KB/s, 3 seconds passed -... 16%, 117824 KB, 37491 KB/s, 3 seconds passed -... 16%, 117856 KB, 37497 KB/s, 3 seconds passed -... 16%, 117888 KB, 37503 KB/s, 3 seconds passed -... 16%, 117920 KB, 37508 KB/s, 3 seconds passed -... 16%, 117952 KB, 37514 KB/s, 3 seconds passed -... 16%, 117984 KB, 37519 KB/s, 3 seconds passed -... 16%, 118016 KB, 37525 KB/s, 3 seconds passed -... 16%, 118048 KB, 37531 KB/s, 3 seconds passed -... 16%, 118080 KB, 37536 KB/s, 3 seconds passed -... 16%, 118112 KB, 37542 KB/s, 3 seconds passed -... 16%, 118144 KB, 37548 KB/s, 3 seconds passed -... 16%, 118176 KB, 37553 KB/s, 3 seconds passed -... 16%, 118208 KB, 37559 KB/s, 3 seconds passed -... 17%, 118240 KB, 37565 KB/s, 3 seconds passed -... 17%, 118272 KB, 37570 KB/s, 3 seconds passed -... 17%, 118304 KB, 37576 KB/s, 3 seconds passed -... 17%, 118336 KB, 37582 KB/s, 3 seconds passed -... 17%, 118368 KB, 37587 KB/s, 3 seconds passed -... 17%, 118400 KB, 37593 KB/s, 3 seconds passed -... 17%, 118432 KB, 37599 KB/s, 3 seconds passed -... 17%, 118464 KB, 37604 KB/s, 3 seconds passed -... 17%, 118496 KB, 37610 KB/s, 3 seconds passed -... 17%, 118528 KB, 37617 KB/s, 3 seconds passed -... 17%, 118560 KB, 37624 KB/s, 3 seconds passed -... 17%, 118592 KB, 37632 KB/s, 3 seconds passed -... 17%, 118624 KB, 37639 KB/s, 3 seconds passed -... 17%, 118656 KB, 37646 KB/s, 3 seconds passed -... 17%, 118688 KB, 37654 KB/s, 3 seconds passed -... 17%, 118720 KB, 37661 KB/s, 3 seconds passed -... 17%, 118752 KB, 37668 KB/s, 3 seconds passed -... 17%, 118784 KB, 37668 KB/s, 3 seconds passed -... 17%, 118816 KB, 37674 KB/s, 3 seconds passed -... 17%, 118848 KB, 37679 KB/s, 3 seconds passed -... 17%, 118880 KB, 37686 KB/s, 3 seconds passed -... 17%, 118912 KB, 37692 KB/s, 3 seconds passed -... 17%, 118944 KB, 37698 KB/s, 3 seconds passed -... 17%, 118976 KB, 37705 KB/s, 3 seconds passed -... 17%, 119008 KB, 37712 KB/s, 3 seconds passed -... 17%, 119040 KB, 37718 KB/s, 3 seconds passed -... 17%, 119072 KB, 37724 KB/s, 3 seconds passed -... 17%, 119104 KB, 37731 KB/s, 3 seconds passed -... 17%, 119136 KB, 37737 KB/s, 3 seconds passed -... 17%, 119168 KB, 37744 KB/s, 3 seconds passed -... 17%, 119200 KB, 37750 KB/s, 3 seconds passed -... 17%, 119232 KB, 37757 KB/s, 3 seconds passed -... 17%, 119264 KB, 37763 KB/s, 3 seconds passed -... 17%, 119296 KB, 37770 KB/s, 3 seconds passed -... 17%, 119328 KB, 37776 KB/s, 3 seconds passed -... 17%, 119360 KB, 37783 KB/s, 3 seconds passed -... 17%, 119392 KB, 37789 KB/s, 3 seconds passed -... 17%, 119424 KB, 37796 KB/s, 3 seconds passed -... 17%, 119456 KB, 37802 KB/s, 3 seconds passed -... 17%, 119488 KB, 37809 KB/s, 3 seconds passed -... 17%, 119520 KB, 37815 KB/s, 3 seconds passed -... 17%, 119552 KB, 37822 KB/s, 3 seconds passed -... 17%, 119584 KB, 37829 KB/s, 3 seconds passed -... 17%, 119616 KB, 37837 KB/s, 3 seconds passed -... 17%, 119648 KB, 37844 KB/s, 3 seconds passed -... 17%, 119680 KB, 37852 KB/s, 3 seconds passed -... 17%, 119712 KB, 37859 KB/s, 3 seconds passed -... 17%, 119744 KB, 37867 KB/s, 3 seconds passed -... 17%, 119776 KB, 37875 KB/s, 3 seconds passed -... 17%, 119808 KB, 37882 KB/s, 3 seconds passed -... 17%, 119840 KB, 37890 KB/s, 3 seconds passed -... 17%, 119872 KB, 37898 KB/s, 3 seconds passed -... 17%, 119904 KB, 37905 KB/s, 3 seconds passed -... 17%, 119936 KB, 37913 KB/s, 3 seconds passed -... 17%, 119968 KB, 37920 KB/s, 3 seconds passed -... 17%, 120000 KB, 37927 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 17%, 120032 KB, 37934 KB/s, 3 seconds passed -... 17%, 120064 KB, 37941 KB/s, 3 seconds passed -... 17%, 120096 KB, 37948 KB/s, 3 seconds passed -... 17%, 120128 KB, 37955 KB/s, 3 seconds passed -... 17%, 120160 KB, 37962 KB/s, 3 seconds passed -... 17%, 120192 KB, 37968 KB/s, 3 seconds passed -... 17%, 120224 KB, 37975 KB/s, 3 seconds passed -... 17%, 120256 KB, 37981 KB/s, 3 seconds passed -... 17%, 120288 KB, 37988 KB/s, 3 seconds passed -... 17%, 120320 KB, 37994 KB/s, 3 seconds passed -... 17%, 120352 KB, 38001 KB/s, 3 seconds passed -... 17%, 120384 KB, 38007 KB/s, 3 seconds passed -... 17%, 120416 KB, 38014 KB/s, 3 seconds passed -... 17%, 120448 KB, 38022 KB/s, 3 seconds passed -... 17%, 120480 KB, 38029 KB/s, 3 seconds passed -... 17%, 120512 KB, 38036 KB/s, 3 seconds passed -... 17%, 120544 KB, 38041 KB/s, 3 seconds passed -... 17%, 120576 KB, 38048 KB/s, 3 seconds passed -... 17%, 120608 KB, 38055 KB/s, 3 seconds passed -... 17%, 120640 KB, 38062 KB/s, 3 seconds passed -... 17%, 120672 KB, 38069 KB/s, 3 seconds passed -... 17%, 120704 KB, 38075 KB/s, 3 seconds passed -... 17%, 120736 KB, 38083 KB/s, 3 seconds passed -... 17%, 120768 KB, 38089 KB/s, 3 seconds passed -... 17%, 120800 KB, 38096 KB/s, 3 seconds passed -... 17%, 120832 KB, 38102 KB/s, 3 seconds passed -... 17%, 120864 KB, 38109 KB/s, 3 seconds passed -... 17%, 120896 KB, 38116 KB/s, 3 seconds passed -... 17%, 120928 KB, 38122 KB/s, 3 seconds passed -... 17%, 120960 KB, 38129 KB/s, 3 seconds passed -... 17%, 120992 KB, 38136 KB/s, 3 seconds passed -... 17%, 121024 KB, 38143 KB/s, 3 seconds passed -... 17%, 121056 KB, 38150 KB/s, 3 seconds passed -... 17%, 121088 KB, 38157 KB/s, 3 seconds passed -... 17%, 121120 KB, 38163 KB/s, 3 seconds passed -... 17%, 121152 KB, 38170 KB/s, 3 seconds passed -... 17%, 121184 KB, 38177 KB/s, 3 seconds passed -... 17%, 121216 KB, 38184 KB/s, 3 seconds passed -... 17%, 121248 KB, 38191 KB/s, 3 seconds passed -... 17%, 121280 KB, 38197 KB/s, 3 seconds passed -... 17%, 121312 KB, 38204 KB/s, 3 seconds passed -... 17%, 121344 KB, 38211 KB/s, 3 seconds passed -... 17%, 121376 KB, 38218 KB/s, 3 seconds passed -... 17%, 121408 KB, 38224 KB/s, 3 seconds passed -... 17%, 121440 KB, 38231 KB/s, 3 seconds passed -... 17%, 121472 KB, 38238 KB/s, 3 seconds passed -... 17%, 121504 KB, 38245 KB/s, 3 seconds passed -... 17%, 121536 KB, 38251 KB/s, 3 seconds passed -... 17%, 121568 KB, 38258 KB/s, 3 seconds passed -... 17%, 121600 KB, 38264 KB/s, 3 seconds passed -... 17%, 121632 KB, 38270 KB/s, 3 seconds passed -... 17%, 121664 KB, 38277 KB/s, 3 seconds passed -... 17%, 121696 KB, 38284 KB/s, 3 seconds passed -... 17%, 121728 KB, 38290 KB/s, 3 seconds passed -... 17%, 121760 KB, 38297 KB/s, 3 seconds passed -... 17%, 121792 KB, 38304 KB/s, 3 seconds passed -... 17%, 121824 KB, 38311 KB/s, 3 seconds passed -... 17%, 121856 KB, 38318 KB/s, 3 seconds passed -... 17%, 121888 KB, 38324 KB/s, 3 seconds passed -... 17%, 121920 KB, 38330 KB/s, 3 seconds passed -... 17%, 121952 KB, 38337 KB/s, 3 seconds passed -... 17%, 121984 KB, 38344 KB/s, 3 seconds passed -... 17%, 122016 KB, 38351 KB/s, 3 seconds passed -... 17%, 122048 KB, 38358 KB/s, 3 seconds passed -... 17%, 122080 KB, 38365 KB/s, 3 seconds passed -... 17%, 122112 KB, 38371 KB/s, 3 seconds passed -... 17%, 122144 KB, 38377 KB/s, 3 seconds passed -... 17%, 122176 KB, 38384 KB/s, 3 seconds passed -... 17%, 122208 KB, 38391 KB/s, 3 seconds passed -... 17%, 122240 KB, 38398 KB/s, 3 seconds passed -... 17%, 122272 KB, 38404 KB/s, 3 seconds passed -... 17%, 122304 KB, 38411 KB/s, 3 seconds passed -... 17%, 122336 KB, 38418 KB/s, 3 seconds passed -... 17%, 122368 KB, 38424 KB/s, 3 seconds passed -... 17%, 122400 KB, 38431 KB/s, 3 seconds passed -... 17%, 122432 KB, 38437 KB/s, 3 seconds passed -... 17%, 122464 KB, 38445 KB/s, 3 seconds passed -... 17%, 122496 KB, 38451 KB/s, 3 seconds passed -... 17%, 122528 KB, 38458 KB/s, 3 seconds passed -... 17%, 122560 KB, 38465 KB/s, 3 seconds passed -... 17%, 122592 KB, 38472 KB/s, 3 seconds passed -... 17%, 122624 KB, 38478 KB/s, 3 seconds passed -... 17%, 122656 KB, 38485 KB/s, 3 seconds passed -... 17%, 122688 KB, 38492 KB/s, 3 seconds passed -... 17%, 122720 KB, 38498 KB/s, 3 seconds passed -... 17%, 122752 KB, 38505 KB/s, 3 seconds passed -... 17%, 122784 KB, 38512 KB/s, 3 seconds passed -... 17%, 122816 KB, 38518 KB/s, 3 seconds passed -... 17%, 122848 KB, 38525 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 17%, 122880 KB, 37902 KB/s, 3 seconds passed -... 17%, 122912 KB, 37905 KB/s, 3 seconds passed -... 17%, 122944 KB, 37910 KB/s, 3 seconds passed -... 17%, 122976 KB, 37916 KB/s, 3 seconds passed -... 17%, 123008 KB, 37922 KB/s, 3 seconds passed -... 17%, 123040 KB, 37922 KB/s, 3 seconds passed -... 17%, 123072 KB, 37927 KB/s, 3 seconds passed -... 17%, 123104 KB, 37932 KB/s, 3 seconds passed -... 17%, 123136 KB, 37937 KB/s, 3 seconds passed -... 17%, 123168 KB, 37942 KB/s, 3 seconds passed -... 17%, 123200 KB, 37948 KB/s, 3 seconds passed -... 17%, 123232 KB, 37953 KB/s, 3 seconds passed -... 17%, 123264 KB, 37959 KB/s, 3 seconds passed -... 17%, 123296 KB, 37964 KB/s, 3 seconds passed -... 17%, 123328 KB, 37970 KB/s, 3 seconds passed -... 17%, 123360 KB, 37975 KB/s, 3 seconds passed -... 17%, 123392 KB, 37981 KB/s, 3 seconds passed -... 17%, 123424 KB, 37988 KB/s, 3 seconds passed -... 17%, 123456 KB, 37990 KB/s, 3 seconds passed -... 17%, 123488 KB, 37995 KB/s, 3 seconds passed -... 17%, 123520 KB, 38000 KB/s, 3 seconds passed -... 17%, 123552 KB, 38006 KB/s, 3 seconds passed -... 17%, 123584 KB, 38011 KB/s, 3 seconds passed -... 17%, 123616 KB, 38017 KB/s, 3 seconds passed -... 17%, 123648 KB, 38022 KB/s, 3 seconds passed -... 17%, 123680 KB, 38028 KB/s, 3 seconds passed -... 17%, 123712 KB, 38034 KB/s, 3 seconds passed -... 17%, 123744 KB, 38040 KB/s, 3 seconds passed -... 17%, 123776 KB, 38047 KB/s, 3 seconds passed -... 17%, 123808 KB, 38053 KB/s, 3 seconds passed -... 17%, 123840 KB, 38059 KB/s, 3 seconds passed -... 17%, 123872 KB, 38066 KB/s, 3 seconds passed -... 17%, 123904 KB, 38072 KB/s, 3 seconds passed -... 17%, 123936 KB, 38078 KB/s, 3 seconds passed -... 17%, 123968 KB, 38084 KB/s, 3 seconds passed -... 17%, 124000 KB, 38090 KB/s, 3 seconds passed -... 17%, 124032 KB, 38097 KB/s, 3 seconds passed -... 17%, 124064 KB, 38103 KB/s, 3 seconds passed -... 17%, 124096 KB, 38109 KB/s, 3 seconds passed -... 17%, 124128 KB, 38115 KB/s, 3 seconds passed -... 17%, 124160 KB, 38121 KB/s, 3 seconds passed -... 17%, 124192 KB, 38128 KB/s, 3 seconds passed -... 17%, 124224 KB, 38134 KB/s, 3 seconds passed -... 17%, 124256 KB, 38140 KB/s, 3 seconds passed -... 17%, 124288 KB, 38146 KB/s, 3 seconds passed -... 17%, 124320 KB, 38152 KB/s, 3 seconds passed -... 17%, 124352 KB, 38159 KB/s, 3 seconds passed -... 17%, 124384 KB, 38165 KB/s, 3 seconds passed -... 17%, 124416 KB, 38171 KB/s, 3 seconds passed -... 17%, 124448 KB, 38178 KB/s, 3 seconds passed -... 17%, 124480 KB, 38184 KB/s, 3 seconds passed -... 17%, 124512 KB, 38191 KB/s, 3 seconds passed -... 17%, 124544 KB, 38197 KB/s, 3 seconds passed -... 17%, 124576 KB, 38203 KB/s, 3 seconds passed -... 17%, 124608 KB, 38209 KB/s, 3 seconds passed -... 17%, 124640 KB, 38215 KB/s, 3 seconds passed -... 17%, 124672 KB, 38222 KB/s, 3 seconds passed -... 17%, 124704 KB, 38228 KB/s, 3 seconds passed -... 17%, 124736 KB, 38235 KB/s, 3 seconds passed -... 17%, 124768 KB, 38243 KB/s, 3 seconds passed -... 17%, 124800 KB, 38250 KB/s, 3 seconds passed -... 17%, 124832 KB, 38257 KB/s, 3 seconds passed -... 17%, 124864 KB, 38265 KB/s, 3 seconds passed -... 17%, 124896 KB, 38272 KB/s, 3 seconds passed -... 17%, 124928 KB, 38280 KB/s, 3 seconds passed -... 17%, 124960 KB, 38287 KB/s, 3 seconds passed -... 17%, 124992 KB, 38294 KB/s, 3 seconds passed -... 17%, 125024 KB, 38302 KB/s, 3 seconds passed -... 17%, 125056 KB, 38309 KB/s, 3 seconds passed -... 17%, 125088 KB, 38317 KB/s, 3 seconds passed -... 17%, 125120 KB, 38324 KB/s, 3 seconds passed -... 17%, 125152 KB, 38331 KB/s, 3 seconds passed -... 17%, 125184 KB, 38338 KB/s, 3 seconds passed -... 18%, 125216 KB, 38346 KB/s, 3 seconds passed -... 18%, 125248 KB, 38353 KB/s, 3 seconds passed -... 18%, 125280 KB, 38361 KB/s, 3 seconds passed -... 18%, 125312 KB, 38368 KB/s, 3 seconds passed -... 18%, 125344 KB, 38375 KB/s, 3 seconds passed -... 18%, 125376 KB, 38382 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 18%, 125408 KB, 38389 KB/s, 3 seconds passed -... 18%, 125440 KB, 38396 KB/s, 3 seconds passed -... 18%, 125472 KB, 38402 KB/s, 3 seconds passed -... 18%, 125504 KB, 38408 KB/s, 3 seconds passed -... 18%, 125536 KB, 38415 KB/s, 3 seconds passed -... 18%, 125568 KB, 38422 KB/s, 3 seconds passed -... 18%, 125600 KB, 38428 KB/s, 3 seconds passed -... 18%, 125632 KB, 38435 KB/s, 3 seconds passed -... 18%, 125664 KB, 38442 KB/s, 3 seconds passed -... 18%, 125696 KB, 38449 KB/s, 3 seconds passed -... 18%, 125728 KB, 38455 KB/s, 3 seconds passed -... 18%, 125760 KB, 38461 KB/s, 3 seconds passed -... 18%, 125792 KB, 38468 KB/s, 3 seconds passed -... 18%, 125824 KB, 38475 KB/s, 3 seconds passed -... 18%, 125856 KB, 38481 KB/s, 3 seconds passed -... 18%, 125888 KB, 38486 KB/s, 3 seconds passed -... 18%, 125920 KB, 38493 KB/s, 3 seconds passed -... 18%, 125952 KB, 38499 KB/s, 3 seconds passed -... 18%, 125984 KB, 38506 KB/s, 3 seconds passed -... 18%, 126016 KB, 38512 KB/s, 3 seconds passed -... 18%, 126048 KB, 38520 KB/s, 3 seconds passed -... 18%, 126080 KB, 38526 KB/s, 3 seconds passed -... 18%, 126112 KB, 38532 KB/s, 3 seconds passed -... 18%, 126144 KB, 38539 KB/s, 3 seconds passed -... 18%, 126176 KB, 38546 KB/s, 3 seconds passed -... 18%, 126208 KB, 38552 KB/s, 3 seconds passed -... 18%, 126240 KB, 38559 KB/s, 3 seconds passed -... 18%, 126272 KB, 38566 KB/s, 3 seconds passed -... 18%, 126304 KB, 38572 KB/s, 3 seconds passed -... 18%, 126336 KB, 38578 KB/s, 3 seconds passed -... 18%, 126368 KB, 38583 KB/s, 3 seconds passed -... 18%, 126400 KB, 38588 KB/s, 3 seconds passed -... 18%, 126432 KB, 38593 KB/s, 3 seconds passed -... 18%, 126464 KB, 38601 KB/s, 3 seconds passed -... 18%, 126496 KB, 38609 KB/s, 3 seconds passed -... 18%, 126528 KB, 38616 KB/s, 3 seconds passed -... 18%, 126560 KB, 38623 KB/s, 3 seconds passed -... 18%, 126592 KB, 38629 KB/s, 3 seconds passed -... 18%, 126624 KB, 38636 KB/s, 3 seconds passed -... 18%, 126656 KB, 38642 KB/s, 3 seconds passed -... 18%, 126688 KB, 38649 KB/s, 3 seconds passed -... 18%, 126720 KB, 38655 KB/s, 3 seconds passed -... 18%, 126752 KB, 38662 KB/s, 3 seconds passed -... 18%, 126784 KB, 38669 KB/s, 3 seconds passed -... 18%, 126816 KB, 38675 KB/s, 3 seconds passed -... 18%, 126848 KB, 38682 KB/s, 3 seconds passed -... 18%, 126880 KB, 38689 KB/s, 3 seconds passed -... 18%, 126912 KB, 38695 KB/s, 3 seconds passed -... 18%, 126944 KB, 38701 KB/s, 3 seconds passed -... 18%, 126976 KB, 38708 KB/s, 3 seconds passed -... 18%, 127008 KB, 38714 KB/s, 3 seconds passed -... 18%, 127040 KB, 38721 KB/s, 3 seconds passed -... 18%, 127072 KB, 38727 KB/s, 3 seconds passed -... 18%, 127104 KB, 38725 KB/s, 3 seconds passed -... 18%, 127136 KB, 38730 KB/s, 3 seconds passed -... 18%, 127168 KB, 38735 KB/s, 3 seconds passed -... 18%, 127200 KB, 38741 KB/s, 3 seconds passed -... 18%, 127232 KB, 38746 KB/s, 3 seconds passed -... 18%, 127264 KB, 38752 KB/s, 3 seconds passed -... 18%, 127296 KB, 38758 KB/s, 3 seconds passed -... 18%, 127328 KB, 38763 KB/s, 3 seconds passed -... 18%, 127360 KB, 38769 KB/s, 3 seconds passed -... 18%, 127392 KB, 38775 KB/s, 3 seconds passed -... 18%, 127424 KB, 38781 KB/s, 3 seconds passed -... 18%, 127456 KB, 38787 KB/s, 3 seconds passed -... 18%, 127488 KB, 38793 KB/s, 3 seconds passed -... 18%, 127520 KB, 38798 KB/s, 3 seconds passed -... 18%, 127552 KB, 38804 KB/s, 3 seconds passed -... 18%, 127584 KB, 38810 KB/s, 3 seconds passed -... 18%, 127616 KB, 38816 KB/s, 3 seconds passed -... 18%, 127648 KB, 38821 KB/s, 3 seconds passed -... 18%, 127680 KB, 38827 KB/s, 3 seconds passed -... 18%, 127712 KB, 38833 KB/s, 3 seconds passed -... 18%, 127744 KB, 38838 KB/s, 3 seconds passed -... 18%, 127776 KB, 38844 KB/s, 3 seconds passed -... 18%, 127808 KB, 38850 KB/s, 3 seconds passed -... 18%, 127840 KB, 38856 KB/s, 3 seconds passed -... 18%, 127872 KB, 38863 KB/s, 3 seconds passed -... 18%, 127904 KB, 38869 KB/s, 3 seconds passed -... 18%, 127936 KB, 38876 KB/s, 3 seconds passed -... 18%, 127968 KB, 38883 KB/s, 3 seconds passed -... 18%, 128000 KB, 38655 KB/s, 3 seconds passed -... 18%, 128032 KB, 38659 KB/s, 3 seconds passed -... 18%, 128064 KB, 38664 KB/s, 3 seconds passed -... 18%, 128096 KB, 38668 KB/s, 3 seconds passed -... 18%, 128128 KB, 38673 KB/s, 3 seconds passed -... 18%, 128160 KB, 38679 KB/s, 3 seconds passed -... 18%, 128192 KB, 38684 KB/s, 3 seconds passed -... 18%, 128224 KB, 38689 KB/s, 3 seconds passed -... 18%, 128256 KB, 38694 KB/s, 3 seconds passed -... 18%, 128288 KB, 38699 KB/s, 3 seconds passed -... 18%, 128320 KB, 38704 KB/s, 3 seconds passed -... 18%, 128352 KB, 38710 KB/s, 3 seconds passed -... 18%, 128384 KB, 38715 KB/s, 3 seconds passed -... 18%, 128416 KB, 38720 KB/s, 3 seconds passed -... 18%, 128448 KB, 38725 KB/s, 3 seconds passed -... 18%, 128480 KB, 38730 KB/s, 3 seconds passed -... 18%, 128512 KB, 38735 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 18%, 128544 KB, 38741 KB/s, 3 seconds passed -... 18%, 128576 KB, 38746 KB/s, 3 seconds passed -... 18%, 128608 KB, 38751 KB/s, 3 seconds passed -... 18%, 128640 KB, 38756 KB/s, 3 seconds passed -... 18%, 128672 KB, 38762 KB/s, 3 seconds passed -... 18%, 128704 KB, 38767 KB/s, 3 seconds passed -... 18%, 128736 KB, 38772 KB/s, 3 seconds passed -... 18%, 128768 KB, 38777 KB/s, 3 seconds passed -... 18%, 128800 KB, 38782 KB/s, 3 seconds passed -... 18%, 128832 KB, 38788 KB/s, 3 seconds passed -... 18%, 128864 KB, 38794 KB/s, 3 seconds passed -... 18%, 128896 KB, 38799 KB/s, 3 seconds passed -... 18%, 128928 KB, 38804 KB/s, 3 seconds passed -... 18%, 128960 KB, 38810 KB/s, 3 seconds passed -... 18%, 128992 KB, 38815 KB/s, 3 seconds passed -... 18%, 129024 KB, 38822 KB/s, 3 seconds passed -... 18%, 129056 KB, 38829 KB/s, 3 seconds passed -... 18%, 129088 KB, 38835 KB/s, 3 seconds passed -... 18%, 129120 KB, 38842 KB/s, 3 seconds passed -... 18%, 129152 KB, 38849 KB/s, 3 seconds passed -... 18%, 129184 KB, 38855 KB/s, 3 seconds passed -... 18%, 129216 KB, 38862 KB/s, 3 seconds passed -... 18%, 129248 KB, 38869 KB/s, 3 seconds passed -... 18%, 129280 KB, 38876 KB/s, 3 seconds passed -... 18%, 129312 KB, 38882 KB/s, 3 seconds passed -... 18%, 129344 KB, 38889 KB/s, 3 seconds passed -... 18%, 129376 KB, 38896 KB/s, 3 seconds passed -... 18%, 129408 KB, 38903 KB/s, 3 seconds passed -... 18%, 129440 KB, 38910 KB/s, 3 seconds passed -... 18%, 129472 KB, 38916 KB/s, 3 seconds passed -... 18%, 129504 KB, 38923 KB/s, 3 seconds passed -... 18%, 129536 KB, 38930 KB/s, 3 seconds passed -... 18%, 129568 KB, 38937 KB/s, 3 seconds passed -... 18%, 129600 KB, 38944 KB/s, 3 seconds passed -... 18%, 129632 KB, 38950 KB/s, 3 seconds passed -... 18%, 129664 KB, 38957 KB/s, 3 seconds passed -... 18%, 129696 KB, 38964 KB/s, 3 seconds passed -... 18%, 129728 KB, 38970 KB/s, 3 seconds passed -... 18%, 129760 KB, 38977 KB/s, 3 seconds passed -... 18%, 129792 KB, 38984 KB/s, 3 seconds passed -... 18%, 129824 KB, 38990 KB/s, 3 seconds passed -... 18%, 129856 KB, 38996 KB/s, 3 seconds passed -... 18%, 129888 KB, 39002 KB/s, 3 seconds passed -... 18%, 129920 KB, 39009 KB/s, 3 seconds passed -... 18%, 129952 KB, 39016 KB/s, 3 seconds passed -... 18%, 129984 KB, 39021 KB/s, 3 seconds passed -... 18%, 130016 KB, 39028 KB/s, 3 seconds passed -... 18%, 130048 KB, 39017 KB/s, 3 seconds passed -... 18%, 130080 KB, 39024 KB/s, 3 seconds passed -... 18%, 130112 KB, 39032 KB/s, 3 seconds passed -... 18%, 130144 KB, 39038 KB/s, 3 seconds passed -... 18%, 130176 KB, 39044 KB/s, 3 seconds passed -... 18%, 130208 KB, 39051 KB/s, 3 seconds passed -... 18%, 130240 KB, 39057 KB/s, 3 seconds passed -... 18%, 130272 KB, 39063 KB/s, 3 seconds passed -... 18%, 130304 KB, 39070 KB/s, 3 seconds passed -... 18%, 130336 KB, 39076 KB/s, 3 seconds passed -... 18%, 130368 KB, 39082 KB/s, 3 seconds passed -... 18%, 130400 KB, 39089 KB/s, 3 seconds passed -... 18%, 130432 KB, 39095 KB/s, 3 seconds passed -... 18%, 130464 KB, 39101 KB/s, 3 seconds passed -... 18%, 130496 KB, 39106 KB/s, 3 seconds passed -... 18%, 130528 KB, 39112 KB/s, 3 seconds passed -... 18%, 130560 KB, 39117 KB/s, 3 seconds passed -... 18%, 130592 KB, 39122 KB/s, 3 seconds passed -... 18%, 130624 KB, 39129 KB/s, 3 seconds passed -... 18%, 130656 KB, 39136 KB/s, 3 seconds passed -... 18%, 130688 KB, 39144 KB/s, 3 seconds passed -... 18%, 130720 KB, 38961 KB/s, 3 seconds passed -... 18%, 130752 KB, 38965 KB/s, 3 seconds passed -... 18%, 130784 KB, 38970 KB/s, 3 seconds passed -... 18%, 130816 KB, 38894 KB/s, 3 seconds passed -... 18%, 130848 KB, 38897 KB/s, 3 seconds passed -... 18%, 130880 KB, 38902 KB/s, 3 seconds passed -... 18%, 130912 KB, 38908 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 18%, 130944 KB, 38856 KB/s, 3 seconds passed -... 18%, 130976 KB, 38847 KB/s, 3 seconds passed -... 18%, 131008 KB, 38851 KB/s, 3 seconds passed -... 18%, 131040 KB, 38856 KB/s, 3 seconds passed -... 18%, 131072 KB, 38860 KB/s, 3 seconds passed -... 18%, 131104 KB, 38865 KB/s, 3 seconds passed -... 18%, 131136 KB, 38870 KB/s, 3 seconds passed -... 18%, 131168 KB, 38876 KB/s, 3 seconds passed -... 18%, 131200 KB, 38881 KB/s, 3 seconds passed -... 18%, 131232 KB, 38886 KB/s, 3 seconds passed -... 18%, 131264 KB, 38891 KB/s, 3 seconds passed -... 18%, 131296 KB, 38896 KB/s, 3 seconds passed -... 18%, 131328 KB, 38901 KB/s, 3 seconds passed -... 18%, 131360 KB, 38906 KB/s, 3 seconds passed -... 18%, 131392 KB, 38911 KB/s, 3 seconds passed -... 18%, 131424 KB, 38916 KB/s, 3 seconds passed -... 18%, 131456 KB, 38922 KB/s, 3 seconds passed -... 18%, 131488 KB, 38927 KB/s, 3 seconds passed -... 18%, 131520 KB, 38932 KB/s, 3 seconds passed -... 18%, 131552 KB, 38937 KB/s, 3 seconds passed -... 18%, 131584 KB, 38942 KB/s, 3 seconds passed -... 18%, 131616 KB, 38947 KB/s, 3 seconds passed -... 18%, 131648 KB, 38952 KB/s, 3 seconds passed -... 18%, 131680 KB, 38957 KB/s, 3 seconds passed -... 18%, 131712 KB, 38962 KB/s, 3 seconds passed -... 18%, 131744 KB, 38967 KB/s, 3 seconds passed -... 18%, 131776 KB, 38972 KB/s, 3 seconds passed -... 18%, 131808 KB, 38978 KB/s, 3 seconds passed -... 18%, 131840 KB, 38984 KB/s, 3 seconds passed -... 18%, 131872 KB, 38990 KB/s, 3 seconds passed -... 18%, 131904 KB, 38996 KB/s, 3 seconds passed -... 18%, 131936 KB, 39002 KB/s, 3 seconds passed -... 18%, 131968 KB, 39008 KB/s, 3 seconds passed -... 18%, 132000 KB, 39014 KB/s, 3 seconds passed -... 18%, 132032 KB, 39019 KB/s, 3 seconds passed -... 18%, 132064 KB, 39025 KB/s, 3 seconds passed -... 18%, 132096 KB, 39030 KB/s, 3 seconds passed -... 18%, 132128 KB, 39037 KB/s, 3 seconds passed -... 19%, 132160 KB, 39044 KB/s, 3 seconds passed -... 19%, 132192 KB, 39050 KB/s, 3 seconds passed -... 19%, 132224 KB, 39057 KB/s, 3 seconds passed -... 19%, 132256 KB, 39064 KB/s, 3 seconds passed -... 19%, 132288 KB, 39070 KB/s, 3 seconds passed -... 19%, 132320 KB, 39077 KB/s, 3 seconds passed -... 19%, 132352 KB, 39084 KB/s, 3 seconds passed -... 19%, 132384 KB, 39090 KB/s, 3 seconds passed -... 19%, 132416 KB, 39097 KB/s, 3 seconds passed -... 19%, 132448 KB, 39104 KB/s, 3 seconds passed -... 19%, 132480 KB, 39110 KB/s, 3 seconds passed -... 19%, 132512 KB, 39117 KB/s, 3 seconds passed -... 19%, 132544 KB, 39124 KB/s, 3 seconds passed -... 19%, 132576 KB, 39130 KB/s, 3 seconds passed -... 19%, 132608 KB, 39137 KB/s, 3 seconds passed -... 19%, 132640 KB, 39144 KB/s, 3 seconds passed -... 19%, 132672 KB, 39150 KB/s, 3 seconds passed -... 19%, 132704 KB, 39157 KB/s, 3 seconds passed -... 19%, 132736 KB, 39163 KB/s, 3 seconds passed -... 19%, 132768 KB, 39170 KB/s, 3 seconds passed -... 19%, 132800 KB, 39177 KB/s, 3 seconds passed -... 19%, 132832 KB, 39183 KB/s, 3 seconds passed -... 19%, 132864 KB, 39190 KB/s, 3 seconds passed -... 19%, 132896 KB, 39197 KB/s, 3 seconds passed -... 19%, 132928 KB, 39203 KB/s, 3 seconds passed -... 19%, 132960 KB, 39209 KB/s, 3 seconds passed -... 19%, 132992 KB, 39216 KB/s, 3 seconds passed -... 19%, 133024 KB, 39222 KB/s, 3 seconds passed -... 19%, 133056 KB, 39229 KB/s, 3 seconds passed -... 19%, 133088 KB, 39234 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 19%, 133120 KB, 38591 KB/s, 3 seconds passed -... 19%, 133152 KB, 38595 KB/s, 3 seconds passed -... 19%, 133184 KB, 38599 KB/s, 3 seconds passed -... 19%, 133216 KB, 38603 KB/s, 3 seconds passed -... 19%, 133248 KB, 38608 KB/s, 3 seconds passed -... 19%, 133280 KB, 38613 KB/s, 3 seconds passed -... 19%, 133312 KB, 38619 KB/s, 3 seconds passed -... 19%, 133344 KB, 38624 KB/s, 3 seconds passed -... 19%, 133376 KB, 38629 KB/s, 3 seconds passed -... 19%, 133408 KB, 38634 KB/s, 3 seconds passed -... 19%, 133440 KB, 38639 KB/s, 3 seconds passed -... 19%, 133472 KB, 38644 KB/s, 3 seconds passed -... 19%, 133504 KB, 38597 KB/s, 3 seconds passed -... 19%, 133536 KB, 38602 KB/s, 3 seconds passed -... 19%, 133568 KB, 38607 KB/s, 3 seconds passed -... 19%, 133600 KB, 38612 KB/s, 3 seconds passed -... 19%, 133632 KB, 38617 KB/s, 3 seconds passed -... 19%, 133664 KB, 38622 KB/s, 3 seconds passed -... 19%, 133696 KB, 38627 KB/s, 3 seconds passed -... 19%, 133728 KB, 38632 KB/s, 3 seconds passed -... 19%, 133760 KB, 38637 KB/s, 3 seconds passed -... 19%, 133792 KB, 38642 KB/s, 3 seconds passed -... 19%, 133824 KB, 38647 KB/s, 3 seconds passed -... 19%, 133856 KB, 38652 KB/s, 3 seconds passed -... 19%, 133888 KB, 38657 KB/s, 3 seconds passed -... 19%, 133920 KB, 38662 KB/s, 3 seconds passed -... 19%, 133952 KB, 38667 KB/s, 3 seconds passed -... 19%, 133984 KB, 38672 KB/s, 3 seconds passed -... 19%, 134016 KB, 38677 KB/s, 3 seconds passed -... 19%, 134048 KB, 38682 KB/s, 3 seconds passed -... 19%, 134080 KB, 38687 KB/s, 3 seconds passed -... 19%, 134112 KB, 38692 KB/s, 3 seconds passed -... 19%, 134144 KB, 38697 KB/s, 3 seconds passed -... 19%, 134176 KB, 38702 KB/s, 3 seconds passed -... 19%, 134208 KB, 38707 KB/s, 3 seconds passed -... 19%, 134240 KB, 38713 KB/s, 3 seconds passed -... 19%, 134272 KB, 38717 KB/s, 3 seconds passed -... 19%, 134304 KB, 38722 KB/s, 3 seconds passed -... 19%, 134336 KB, 38727 KB/s, 3 seconds passed -... 19%, 134368 KB, 38732 KB/s, 3 seconds passed -... 19%, 134400 KB, 38737 KB/s, 3 seconds passed -... 19%, 134432 KB, 38742 KB/s, 3 seconds passed -... 19%, 134464 KB, 38747 KB/s, 3 seconds passed -... 19%, 134496 KB, 38752 KB/s, 3 seconds passed -... 19%, 134528 KB, 38757 KB/s, 3 seconds passed -... 19%, 134560 KB, 38762 KB/s, 3 seconds passed -... 19%, 134592 KB, 38767 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 19%, 134624 KB, 38772 KB/s, 3 seconds passed -... 19%, 134656 KB, 38777 KB/s, 3 seconds passed -... 19%, 134688 KB, 38782 KB/s, 3 seconds passed -... 19%, 134720 KB, 38787 KB/s, 3 seconds passed -... 19%, 134752 KB, 38792 KB/s, 3 seconds passed -... 19%, 134784 KB, 38797 KB/s, 3 seconds passed -... 19%, 134816 KB, 38802 KB/s, 3 seconds passed -... 19%, 134848 KB, 38807 KB/s, 3 seconds passed -... 19%, 134880 KB, 38812 KB/s, 3 seconds passed -... 19%, 134912 KB, 38818 KB/s, 3 seconds passed -... 19%, 134944 KB, 38825 KB/s, 3 seconds passed -... 19%, 134976 KB, 38832 KB/s, 3 seconds passed -... 19%, 135008 KB, 38838 KB/s, 3 seconds passed -... 19%, 135040 KB, 38845 KB/s, 3 seconds passed -... 19%, 135072 KB, 38851 KB/s, 3 seconds passed -... 19%, 135104 KB, 38857 KB/s, 3 seconds passed -... 19%, 135136 KB, 38864 KB/s, 3 seconds passed -... 19%, 135168 KB, 38870 KB/s, 3 seconds passed -... 19%, 135200 KB, 38877 KB/s, 3 seconds passed -... 19%, 135232 KB, 38884 KB/s, 3 seconds passed -... 19%, 135264 KB, 38890 KB/s, 3 seconds passed -... 19%, 135296 KB, 38897 KB/s, 3 seconds passed -... 19%, 135328 KB, 38903 KB/s, 3 seconds passed -... 19%, 135360 KB, 38910 KB/s, 3 seconds passed -... 19%, 135392 KB, 38916 KB/s, 3 seconds passed -... 19%, 135424 KB, 38923 KB/s, 3 seconds passed -... 19%, 135456 KB, 38929 KB/s, 3 seconds passed -... 19%, 135488 KB, 38936 KB/s, 3 seconds passed -... 19%, 135520 KB, 38942 KB/s, 3 seconds passed -... 19%, 135552 KB, 38949 KB/s, 3 seconds passed -... 19%, 135584 KB, 38955 KB/s, 3 seconds passed -... 19%, 135616 KB, 38962 KB/s, 3 seconds passed -... 19%, 135648 KB, 38968 KB/s, 3 seconds passed -... 19%, 135680 KB, 38975 KB/s, 3 seconds passed -... 19%, 135712 KB, 38981 KB/s, 3 seconds passed -... 19%, 135744 KB, 38988 KB/s, 3 seconds passed -... 19%, 135776 KB, 38994 KB/s, 3 seconds passed -... 19%, 135808 KB, 39000 KB/s, 3 seconds passed -... 19%, 135840 KB, 39007 KB/s, 3 seconds passed -... 19%, 135872 KB, 39013 KB/s, 3 seconds passed -... 19%, 135904 KB, 39020 KB/s, 3 seconds passed -... 19%, 135936 KB, 39026 KB/s, 3 seconds passed -... 19%, 135968 KB, 39033 KB/s, 3 seconds passed -... 19%, 136000 KB, 39039 KB/s, 3 seconds passed -... 19%, 136032 KB, 39046 KB/s, 3 seconds passed -... 19%, 136064 KB, 39052 KB/s, 3 seconds passed -... 19%, 136096 KB, 39059 KB/s, 3 seconds passed -... 19%, 136128 KB, 39065 KB/s, 3 seconds passed -... 19%, 136160 KB, 39072 KB/s, 3 seconds passed -... 19%, 136192 KB, 39080 KB/s, 3 seconds passed -... 19%, 136224 KB, 39087 KB/s, 3 seconds passed -... 19%, 136256 KB, 39094 KB/s, 3 seconds passed -... 19%, 136288 KB, 39101 KB/s, 3 seconds passed -... 19%, 136320 KB, 39109 KB/s, 3 seconds passed -... 19%, 136352 KB, 39116 KB/s, 3 seconds passed -... 19%, 136384 KB, 39123 KB/s, 3 seconds passed -... 19%, 136416 KB, 39131 KB/s, 3 seconds passed -... 19%, 136448 KB, 39138 KB/s, 3 seconds passed -... 19%, 136480 KB, 39145 KB/s, 3 seconds passed -... 19%, 136512 KB, 39153 KB/s, 3 seconds passed -... 19%, 136544 KB, 39160 KB/s, 3 seconds passed -... 19%, 136576 KB, 39167 KB/s, 3 seconds passed -... 19%, 136608 KB, 39175 KB/s, 3 seconds passed -... 19%, 136640 KB, 39182 KB/s, 3 seconds passed -... 19%, 136672 KB, 39189 KB/s, 3 seconds passed -... 19%, 136704 KB, 39196 KB/s, 3 seconds passed -... 19%, 136736 KB, 39204 KB/s, 3 seconds passed -... 19%, 136768 KB, 39211 KB/s, 3 seconds passed -... 19%, 136800 KB, 39219 KB/s, 3 seconds passed -... 19%, 136832 KB, 39226 KB/s, 3 seconds passed -... 19%, 136864 KB, 39232 KB/s, 3 seconds passed -... 19%, 136896 KB, 39238 KB/s, 3 seconds passed -... 19%, 136928 KB, 39244 KB/s, 3 seconds passed -... 19%, 136960 KB, 39249 KB/s, 3 seconds passed -... 19%, 136992 KB, 39256 KB/s, 3 seconds passed -... 19%, 137024 KB, 39239 KB/s, 3 seconds passed -... 19%, 137056 KB, 39244 KB/s, 3 seconds passed -... 19%, 137088 KB, 39248 KB/s, 3 seconds passed -... 19%, 137120 KB, 39253 KB/s, 3 seconds passed -... 19%, 137152 KB, 39261 KB/s, 3 seconds passed -... 19%, 137184 KB, 39268 KB/s, 3 seconds passed -... 19%, 137216 KB, 39275 KB/s, 3 seconds passed -... 19%, 137248 KB, 39282 KB/s, 3 seconds passed -... 19%, 137280 KB, 39289 KB/s, 3 seconds passed -... 19%, 137312 KB, 39295 KB/s, 3 seconds passed -... 19%, 137344 KB, 39300 KB/s, 3 seconds passed -... 19%, 137376 KB, 39307 KB/s, 3 seconds passed -... 19%, 137408 KB, 39313 KB/s, 3 seconds passed -... 19%, 137440 KB, 39318 KB/s, 3 seconds passed -... 19%, 137472 KB, 39325 KB/s, 3 seconds passed -... 19%, 137504 KB, 39331 KB/s, 3 seconds passed -... 19%, 137536 KB, 39336 KB/s, 3 seconds passed -... 19%, 137568 KB, 39343 KB/s, 3 seconds passed -... 19%, 137600 KB, 39349 KB/s, 3 seconds passed -... 19%, 137632 KB, 39354 KB/s, 3 seconds passed -... 19%, 137664 KB, 39361 KB/s, 3 seconds passed -... 19%, 137696 KB, 39367 KB/s, 3 seconds passed -... 19%, 137728 KB, 39373 KB/s, 3 seconds passed -... 19%, 137760 KB, 39378 KB/s, 3 seconds passed -... 19%, 137792 KB, 39385 KB/s, 3 seconds passed -... 19%, 137824 KB, 39391 KB/s, 3 seconds passed -... 19%, 137856 KB, 39396 KB/s, 3 seconds passed -... 19%, 137888 KB, 39401 KB/s, 3 seconds passed -... 19%, 137920 KB, 39405 KB/s, 3 seconds passed -... 19%, 137952 KB, 39412 KB/s, 3 seconds passed -... 19%, 137984 KB, 39420 KB/s, 3 seconds passed -... 19%, 138016 KB, 39427 KB/s, 3 seconds passed -... 19%, 138048 KB, 39433 KB/s, 3 seconds passed -... 19%, 138080 KB, 39439 KB/s, 3 seconds passed -... 19%, 138112 KB, 39444 KB/s, 3 seconds passed -... 19%, 138144 KB, 39451 KB/s, 3 seconds passed -... 19%, 138176 KB, 39457 KB/s, 3 seconds passed -... 19%, 138208 KB, 39462 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 19%, 138240 KB, 38778 KB/s, 3 seconds passed -... 19%, 138272 KB, 38781 KB/s, 3 seconds passed -... 19%, 138304 KB, 38786 KB/s, 3 seconds passed -... 19%, 138336 KB, 38790 KB/s, 3 seconds passed -... 19%, 138368 KB, 38795 KB/s, 3 seconds passed -... 19%, 138400 KB, 38799 KB/s, 3 seconds passed -... 19%, 138432 KB, 38804 KB/s, 3 seconds passed -... 19%, 138464 KB, 38809 KB/s, 3 seconds passed -... 19%, 138496 KB, 38814 KB/s, 3 seconds passed -... 19%, 138528 KB, 38819 KB/s, 3 seconds passed -... 19%, 138560 KB, 38823 KB/s, 3 seconds passed -... 19%, 138592 KB, 38828 KB/s, 3 seconds passed -... 19%, 138624 KB, 38832 KB/s, 3 seconds passed -... 19%, 138656 KB, 38837 KB/s, 3 seconds passed -... 19%, 138688 KB, 38842 KB/s, 3 seconds passed -... 19%, 138720 KB, 38847 KB/s, 3 seconds passed -... 19%, 138752 KB, 38852 KB/s, 3 seconds passed -... 19%, 138784 KB, 38857 KB/s, 3 seconds passed -... 19%, 138816 KB, 38862 KB/s, 3 seconds passed -... 19%, 138848 KB, 38867 KB/s, 3 seconds passed -... 19%, 138880 KB, 38871 KB/s, 3 seconds passed -... 19%, 138912 KB, 38876 KB/s, 3 seconds passed -... 19%, 138944 KB, 38881 KB/s, 3 seconds passed -... 19%, 138976 KB, 38886 KB/s, 3 seconds passed -... 19%, 139008 KB, 38892 KB/s, 3 seconds passed -... 19%, 139040 KB, 38898 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 19%, 139072 KB, 38904 KB/s, 3 seconds passed -... 20%, 139104 KB, 38909 KB/s, 3 seconds passed -... 20%, 139136 KB, 38915 KB/s, 3 seconds passed -... 20%, 139168 KB, 38920 KB/s, 3 seconds passed -... 20%, 139200 KB, 38927 KB/s, 3 seconds passed -... 20%, 139232 KB, 38933 KB/s, 3 seconds passed -... 20%, 139264 KB, 38939 KB/s, 3 seconds passed -... 20%, 139296 KB, 38945 KB/s, 3 seconds passed -... 20%, 139328 KB, 38951 KB/s, 3 seconds passed -... 20%, 139360 KB, 38957 KB/s, 3 seconds passed -... 20%, 139392 KB, 38964 KB/s, 3 seconds passed -... 20%, 139424 KB, 38970 KB/s, 3 seconds passed -... 20%, 139456 KB, 38976 KB/s, 3 seconds passed -... 20%, 139488 KB, 38983 KB/s, 3 seconds passed -... 20%, 139520 KB, 38989 KB/s, 3 seconds passed -... 20%, 139552 KB, 38995 KB/s, 3 seconds passed -... 20%, 139584 KB, 39001 KB/s, 3 seconds passed -... 20%, 139616 KB, 39007 KB/s, 3 seconds passed -... 20%, 139648 KB, 39014 KB/s, 3 seconds passed -... 20%, 139680 KB, 39020 KB/s, 3 seconds passed -... 20%, 139712 KB, 39026 KB/s, 3 seconds passed -... 20%, 139744 KB, 39032 KB/s, 3 seconds passed -... 20%, 139776 KB, 39038 KB/s, 3 seconds passed -... 20%, 139808 KB, 39044 KB/s, 3 seconds passed -... 20%, 139840 KB, 39050 KB/s, 3 seconds passed -... 20%, 139872 KB, 39056 KB/s, 3 seconds passed -... 20%, 139904 KB, 39062 KB/s, 3 seconds passed -... 20%, 139936 KB, 39068 KB/s, 3 seconds passed -... 20%, 139968 KB, 39073 KB/s, 3 seconds passed -... 20%, 140000 KB, 39079 KB/s, 3 seconds passed -... 20%, 140032 KB, 39085 KB/s, 3 seconds passed -... 20%, 140064 KB, 39091 KB/s, 3 seconds passed -... 20%, 140096 KB, 39097 KB/s, 3 seconds passed -... 20%, 140128 KB, 39103 KB/s, 3 seconds passed -... 20%, 140160 KB, 39109 KB/s, 3 seconds passed -... 20%, 140192 KB, 39115 KB/s, 3 seconds passed -... 20%, 140224 KB, 39121 KB/s, 3 seconds passed -... 20%, 140256 KB, 39127 KB/s, 3 seconds passed -... 20%, 140288 KB, 39133 KB/s, 3 seconds passed -... 20%, 140320 KB, 39139 KB/s, 3 seconds passed -... 20%, 140352 KB, 39145 KB/s, 3 seconds passed -... 20%, 140384 KB, 39150 KB/s, 3 seconds passed -... 20%, 140416 KB, 39156 KB/s, 3 seconds passed -... 20%, 140448 KB, 39162 KB/s, 3 seconds passed -... 20%, 140480 KB, 39169 KB/s, 3 seconds passed -... 20%, 140512 KB, 39175 KB/s, 3 seconds passed -... 20%, 140544 KB, 39181 KB/s, 3 seconds passed -... 20%, 140576 KB, 39187 KB/s, 3 seconds passed -... 20%, 140608 KB, 39193 KB/s, 3 seconds passed -... 20%, 140640 KB, 39199 KB/s, 3 seconds passed -... 20%, 140672 KB, 39204 KB/s, 3 seconds passed -... 20%, 140704 KB, 39210 KB/s, 3 seconds passed -... 20%, 140736 KB, 39216 KB/s, 3 seconds passed -... 20%, 140768 KB, 39222 KB/s, 3 seconds passed -... 20%, 140800 KB, 39228 KB/s, 3 seconds passed -... 20%, 140832 KB, 39234 KB/s, 3 seconds passed -... 20%, 140864 KB, 39237 KB/s, 3 seconds passed -... 20%, 140896 KB, 39242 KB/s, 3 seconds passed -... 20%, 140928 KB, 39246 KB/s, 3 seconds passed -... 20%, 140960 KB, 39251 KB/s, 3 seconds passed -... 20%, 140992 KB, 39258 KB/s, 3 seconds passed -... 20%, 141024 KB, 39266 KB/s, 3 seconds passed -... 20%, 141056 KB, 39273 KB/s, 3 seconds passed -... 20%, 141088 KB, 39280 KB/s, 3 seconds passed -... 20%, 141120 KB, 39287 KB/s, 3 seconds passed -... 20%, 141152 KB, 39293 KB/s, 3 seconds passed -... 20%, 141184 KB, 39298 KB/s, 3 seconds passed -... 20%, 141216 KB, 39303 KB/s, 3 seconds passed -... 20%, 141248 KB, 39310 KB/s, 3 seconds passed -... 20%, 141280 KB, 39316 KB/s, 3 seconds passed -... 20%, 141312 KB, 39320 KB/s, 3 seconds passed -... 20%, 141344 KB, 39325 KB/s, 3 seconds passed -... 20%, 141376 KB, 39330 KB/s, 3 seconds passed -... 20%, 141408 KB, 39334 KB/s, 3 seconds passed -... 20%, 141440 KB, 39341 KB/s, 3 seconds passed -... 20%, 141472 KB, 39348 KB/s, 3 seconds passed -... 20%, 141504 KB, 39355 KB/s, 3 seconds passed -... 20%, 141536 KB, 39362 KB/s, 3 seconds passed -... 20%, 141568 KB, 39368 KB/s, 3 seconds passed -... 20%, 141600 KB, 39374 KB/s, 3 seconds passed -... 20%, 141632 KB, 39380 KB/s, 3 seconds passed -... 20%, 141664 KB, 39384 KB/s, 3 seconds passed -... 20%, 141696 KB, 39390 KB/s, 3 seconds passed -... 20%, 141728 KB, 39396 KB/s, 3 seconds passed -... 20%, 141760 KB, 39402 KB/s, 3 seconds passed -... 20%, 141792 KB, 39408 KB/s, 3 seconds passed -... 20%, 141824 KB, 39414 KB/s, 3 seconds passed -... 20%, 141856 KB, 39419 KB/s, 3 seconds passed -... 20%, 141888 KB, 39425 KB/s, 3 seconds passed -... 20%, 141920 KB, 39432 KB/s, 3 seconds passed -... 20%, 141952 KB, 39437 KB/s, 3 seconds passed -... 20%, 141984 KB, 39443 KB/s, 3 seconds passed -... 20%, 142016 KB, 39449 KB/s, 3 seconds passed -... 20%, 142048 KB, 39455 KB/s, 3 seconds passed -... 20%, 142080 KB, 39460 KB/s, 3 seconds passed -... 20%, 142112 KB, 39467 KB/s, 3 seconds passed -... 20%, 142144 KB, 39473 KB/s, 3 seconds passed -... 20%, 142176 KB, 39479 KB/s, 3 seconds passed -... 20%, 142208 KB, 39469 KB/s, 3 seconds passed -... 20%, 142240 KB, 39475 KB/s, 3 seconds passed -... 20%, 142272 KB, 39481 KB/s, 3 seconds passed -... 20%, 142304 KB, 39487 KB/s, 3 seconds passed -... 20%, 142336 KB, 39492 KB/s, 3 seconds passed -... 20%, 142368 KB, 39498 KB/s, 3 seconds passed -... 20%, 142400 KB, 39504 KB/s, 3 seconds passed -... 20%, 142432 KB, 39510 KB/s, 3 seconds passed -... 20%, 142464 KB, 39507 KB/s, 3 seconds passed -... 20%, 142496 KB, 39511 KB/s, 3 seconds passed -... 20%, 142528 KB, 39517 KB/s, 3 seconds passed -... 20%, 142560 KB, 39522 KB/s, 3 seconds passed -... 20%, 142592 KB, 39527 KB/s, 3 seconds passed -... 20%, 142624 KB, 39532 KB/s, 3 seconds passed -... 20%, 142656 KB, 39536 KB/s, 3 seconds passed -... 20%, 142688 KB, 39541 KB/s, 3 seconds passed -... 20%, 142720 KB, 39547 KB/s, 3 seconds passed -... 20%, 142752 KB, 39544 KB/s, 3 seconds passed -... 20%, 142784 KB, 39548 KB/s, 3 seconds passed -... 20%, 142816 KB, 39553 KB/s, 3 seconds passed -... 20%, 142848 KB, 39558 KB/s, 3 seconds passed -... 20%, 142880 KB, 39563 KB/s, 3 seconds passed -... 20%, 142912 KB, 39568 KB/s, 3 seconds passed -... 20%, 142944 KB, 39573 KB/s, 3 seconds passed -... 20%, 142976 KB, 39577 KB/s, 3 seconds passed -... 20%, 143008 KB, 39582 KB/s, 3 seconds passed -... 20%, 143040 KB, 39587 KB/s, 3 seconds passed -... 20%, 143072 KB, 39592 KB/s, 3 seconds passed -... 20%, 143104 KB, 39597 KB/s, 3 seconds passed -... 20%, 143136 KB, 39602 KB/s, 3 seconds passed -... 20%, 143168 KB, 39606 KB/s, 3 seconds passed -... 20%, 143200 KB, 39611 KB/s, 3 seconds passed -... 20%, 143232 KB, 39617 KB/s, 3 seconds passed -... 20%, 143264 KB, 39623 KB/s, 3 seconds passed -... 20%, 143296 KB, 39629 KB/s, 3 seconds passed -... 20%, 143328 KB, 39635 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 20%, 143360 KB, 38968 KB/s, 3 seconds passed -... 20%, 143392 KB, 38967 KB/s, 3 seconds passed -... 20%, 143424 KB, 38969 KB/s, 3 seconds passed -... 20%, 143456 KB, 38972 KB/s, 3 seconds passed -... 20%, 143488 KB, 38977 KB/s, 3 seconds passed -... 20%, 143520 KB, 38982 KB/s, 3 seconds passed -... 20%, 143552 KB, 38988 KB/s, 3 seconds passed -... 20%, 143584 KB, 38993 KB/s, 3 seconds passed -... 20%, 143616 KB, 38999 KB/s, 3 seconds passed -... 20%, 143648 KB, 39004 KB/s, 3 seconds passed -... 20%, 143680 KB, 38999 KB/s, 3 seconds passed -... 20%, 143712 KB, 39002 KB/s, 3 seconds passed -... 20%, 143744 KB, 39007 KB/s, 3 seconds passed -... 20%, 143776 KB, 39011 KB/s, 3 seconds passed -... 20%, 143808 KB, 39016 KB/s, 3 seconds passed -... 20%, 143840 KB, 39021 KB/s, 3 seconds passed -... 20%, 143872 KB, 39025 KB/s, 3 seconds passed -... 20%, 143904 KB, 39030 KB/s, 3 seconds passed -... 20%, 143936 KB, 39035 KB/s, 3 seconds passed -... 20%, 143968 KB, 39039 KB/s, 3 seconds passed -... 20%, 144000 KB, 39044 KB/s, 3 seconds passed -... 20%, 144032 KB, 39050 KB/s, 3 seconds passed -... 20%, 144064 KB, 39055 KB/s, 3 seconds passed -... 20%, 144096 KB, 39061 KB/s, 3 seconds passed -... 20%, 144128 KB, 39067 KB/s, 3 seconds passed -... 20%, 144160 KB, 39072 KB/s, 3 seconds passed -... 20%, 144192 KB, 39078 KB/s, 3 seconds passed -... 20%, 144224 KB, 39084 KB/s, 3 seconds passed -... 20%, 144256 KB, 39089 KB/s, 3 seconds passed -... 20%, 144288 KB, 39095 KB/s, 3 seconds passed -... 20%, 144320 KB, 39101 KB/s, 3 seconds passed -... 20%, 144352 KB, 39106 KB/s, 3 seconds passed -... 20%, 144384 KB, 39112 KB/s, 3 seconds passed -... 20%, 144416 KB, 39118 KB/s, 3 seconds passed -... 20%, 144448 KB, 39123 KB/s, 3 seconds passed -... 20%, 144480 KB, 39129 KB/s, 3 seconds passed -... 20%, 144512 KB, 39134 KB/s, 3 seconds passed -... 20%, 144544 KB, 39140 KB/s, 3 seconds passed -... 20%, 144576 KB, 39145 KB/s, 3 seconds passed -... 20%, 144608 KB, 39151 KB/s, 3 seconds passed -... 20%, 144640 KB, 39157 KB/s, 3 seconds passed -... 20%, 144672 KB, 39162 KB/s, 3 seconds passed -... 20%, 144704 KB, 39168 KB/s, 3 seconds passed -... 20%, 144736 KB, 39174 KB/s, 3 seconds passed -... 20%, 144768 KB, 39179 KB/s, 3 seconds passed -... 20%, 144800 KB, 39185 KB/s, 3 seconds passed -... 20%, 144832 KB, 39191 KB/s, 3 seconds passed -... 20%, 144864 KB, 39196 KB/s, 3 seconds passed -... 20%, 144896 KB, 39202 KB/s, 3 seconds passed -... 20%, 144928 KB, 39208 KB/s, 3 seconds passed -... 20%, 144960 KB, 39213 KB/s, 3 seconds passed -... 20%, 144992 KB, 39219 KB/s, 3 seconds passed -... 20%, 145024 KB, 39224 KB/s, 3 seconds passed -... 20%, 145056 KB, 39230 KB/s, 3 seconds passed -... 20%, 145088 KB, 39236 KB/s, 3 seconds passed -... 20%, 145120 KB, 39241 KB/s, 3 seconds passed -... 20%, 145152 KB, 39248 KB/s, 3 seconds passed -... 20%, 145184 KB, 39255 KB/s, 3 seconds passed -... 20%, 145216 KB, 39261 KB/s, 3 seconds passed -... 20%, 145248 KB, 39268 KB/s, 3 seconds passed -... 20%, 145280 KB, 39274 KB/s, 3 seconds passed -... 20%, 145312 KB, 39281 KB/s, 3 seconds passed -... 20%, 145344 KB, 39288 KB/s, 3 seconds passed -... 20%, 145376 KB, 39294 KB/s, 3 seconds passed -... 20%, 145408 KB, 39301 KB/s, 3 seconds passed -... 20%, 145440 KB, 39308 KB/s, 3 seconds passed -... 20%, 145472 KB, 39314 KB/s, 3 seconds passed -... 20%, 145504 KB, 39321 KB/s, 3 seconds passed -... 20%, 145536 KB, 39327 KB/s, 3 seconds passed -... 20%, 145568 KB, 39334 KB/s, 3 seconds passed -... 20%, 145600 KB, 39340 KB/s, 3 seconds passed -... 20%, 145632 KB, 39347 KB/s, 3 seconds passed -... 20%, 145664 KB, 39354 KB/s, 3 seconds passed -... 20%, 145696 KB, 39360 KB/s, 3 seconds passed -... 20%, 145728 KB, 39365 KB/s, 3 seconds passed -... 20%, 145760 KB, 39371 KB/s, 3 seconds passed -... 20%, 145792 KB, 39377 KB/s, 3 seconds passed -... 20%, 145824 KB, 39382 KB/s, 3 seconds passed -... 20%, 145856 KB, 39387 KB/s, 3 seconds passed -... 20%, 145888 KB, 39392 KB/s, 3 seconds passed -... 20%, 145920 KB, 39396 KB/s, 3 seconds passed -... 20%, 145952 KB, 39402 KB/s, 3 seconds passed -... 20%, 145984 KB, 39409 KB/s, 3 seconds passed -... 20%, 146016 KB, 39415 KB/s, 3 seconds passed -... 20%, 146048 KB, 39421 KB/s, 3 seconds passed -... 21%, 146080 KB, 39426 KB/s, 3 seconds passed -... 21%, 146112 KB, 39432 KB/s, 3 seconds passed -... 21%, 146144 KB, 39438 KB/s, 3 seconds passed -... 21%, 146176 KB, 39443 KB/s, 3 seconds passed -... 21%, 146208 KB, 39449 KB/s, 3 seconds passed -... 21%, 146240 KB, 39455 KB/s, 3 seconds passed -... 21%, 146272 KB, 39461 KB/s, 3 seconds passed -... 21%, 146304 KB, 39467 KB/s, 3 seconds passed -... 21%, 146336 KB, 39472 KB/s, 3 seconds passed -... 21%, 146368 KB, 39479 KB/s, 3 seconds passed -... 21%, 146400 KB, 39484 KB/s, 3 seconds passed -... 21%, 146432 KB, 39490 KB/s, 3 seconds passed -... 21%, 146464 KB, 39496 KB/s, 3 seconds passed -... 21%, 146496 KB, 39501 KB/s, 3 seconds passed -... 21%, 146528 KB, 39507 KB/s, 3 seconds passed -... 21%, 146560 KB, 39511 KB/s, 3 seconds passed -... 21%, 146592 KB, 39518 KB/s, 3 seconds passed -... 21%, 146624 KB, 39524 KB/s, 3 seconds passed -... 21%, 146656 KB, 39530 KB/s, 3 seconds passed -... 21%, 146688 KB, 39535 KB/s, 3 seconds passed -... 21%, 146720 KB, 39541 KB/s, 3 seconds passed -... 21%, 146752 KB, 39546 KB/s, 3 seconds passed -... 21%, 146784 KB, 39552 KB/s, 3 seconds passed -... 21%, 146816 KB, 39558 KB/s, 3 seconds passed -... 21%, 146848 KB, 39563 KB/s, 3 seconds passed -... 21%, 146880 KB, 39569 KB/s, 3 seconds passed -... 21%, 146912 KB, 39575 KB/s, 3 seconds passed -... 21%, 146944 KB, 39580 KB/s, 3 seconds passed -... 21%, 146976 KB, 39586 KB/s, 3 seconds passed -... 21%, 147008 KB, 39591 KB/s, 3 seconds passed -... 21%, 147040 KB, 39596 KB/s, 3 seconds passed -... 21%, 147072 KB, 39600 KB/s, 3 seconds passed -... 21%, 147104 KB, 39605 KB/s, 3 seconds passed -... 21%, 147136 KB, 39613 KB/s, 3 seconds passed -... 21%, 147168 KB, 39620 KB/s, 3 seconds passed -... 21%, 147200 KB, 39626 KB/s, 3 seconds passed -... 21%, 147232 KB, 39630 KB/s, 3 seconds passed -... 21%, 147264 KB, 39635 KB/s, 3 seconds passed -... 21%, 147296 KB, 39641 KB/s, 3 seconds passed -... 21%, 147328 KB, 39641 KB/s, 3 seconds passed -... 21%, 147360 KB, 39645 KB/s, 3 seconds passed -... 21%, 147392 KB, 39651 KB/s, 3 seconds passed -... 21%, 147424 KB, 39658 KB/s, 3 seconds passed -... 21%, 147456 KB, 39646 KB/s, 3 seconds passed -... 21%, 147488 KB, 39650 KB/s, 3 seconds passed -... 21%, 147520 KB, 39654 KB/s, 3 seconds passed -... 21%, 147552 KB, 39661 KB/s, 3 seconds passed -... 21%, 147584 KB, 39668 KB/s, 3 seconds passed -... 21%, 147616 KB, 39674 KB/s, 3 seconds passed -... 21%, 147648 KB, 39680 KB/s, 3 seconds passed -... 21%, 147680 KB, 39685 KB/s, 3 seconds passed -... 21%, 147712 KB, 39691 KB/s, 3 seconds passed -... 21%, 147744 KB, 39695 KB/s, 3 seconds passed -... 21%, 147776 KB, 39699 KB/s, 3 seconds passed -... 21%, 147808 KB, 39704 KB/s, 3 seconds passed -... 21%, 147840 KB, 39708 KB/s, 3 seconds passed -... 21%, 147872 KB, 39713 KB/s, 3 seconds passed -... 21%, 147904 KB, 39720 KB/s, 3 seconds passed -... 21%, 147936 KB, 39728 KB/s, 3 seconds passed -... 21%, 147968 KB, 39735 KB/s, 3 seconds passed -... 21%, 148000 KB, 39742 KB/s, 3 seconds passed -... 21%, 148032 KB, 39748 KB/s, 3 seconds passed -... 21%, 148064 KB, 39753 KB/s, 3 seconds passed -... 21%, 148096 KB, 39759 KB/s, 3 seconds passed -... 21%, 148128 KB, 39764 KB/s, 3 seconds passed -... 21%, 148160 KB, 39770 KB/s, 3 seconds passed -... 21%, 148192 KB, 39774 KB/s, 3 seconds passed -... 21%, 148224 KB, 39778 KB/s, 3 seconds passed -... 21%, 148256 KB, 39782 KB/s, 3 seconds passed -... 21%, 148288 KB, 39787 KB/s, 3 seconds passed -... 21%, 148320 KB, 39794 KB/s, 3 seconds passed -... 21%, 148352 KB, 39801 KB/s, 3 seconds passed -... 21%, 148384 KB, 39809 KB/s, 3 seconds passed -... 21%, 148416 KB, 39814 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 21%, 148448 KB, 39818 KB/s, 3 seconds passed -... 21%, 148480 KB, 39462 KB/s, 3 seconds passed -... 21%, 148512 KB, 39463 KB/s, 3 seconds passed -... 21%, 148544 KB, 39467 KB/s, 3 seconds passed -... 21%, 148576 KB, 39471 KB/s, 3 seconds passed -... 21%, 148608 KB, 39387 KB/s, 3 seconds passed -... 21%, 148640 KB, 39391 KB/s, 3 seconds passed -... 21%, 148672 KB, 39385 KB/s, 3 seconds passed -... 21%, 148704 KB, 39388 KB/s, 3 seconds passed -... 21%, 148736 KB, 39393 KB/s, 3 seconds passed -... 21%, 148768 KB, 39397 KB/s, 3 seconds passed -... 21%, 148800 KB, 39401 KB/s, 3 seconds passed -... 21%, 148832 KB, 39405 KB/s, 3 seconds passed -... 21%, 148864 KB, 39410 KB/s, 3 seconds passed -... 21%, 148896 KB, 39414 KB/s, 3 seconds passed -... 21%, 148928 KB, 39419 KB/s, 3 seconds passed -... 21%, 148960 KB, 39423 KB/s, 3 seconds passed -... 21%, 148992 KB, 39428 KB/s, 3 seconds passed -... 21%, 149024 KB, 39434 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 21%, 149056 KB, 39439 KB/s, 3 seconds passed -... 21%, 149088 KB, 39444 KB/s, 3 seconds passed -... 21%, 149120 KB, 39425 KB/s, 3 seconds passed -... 21%, 149152 KB, 39429 KB/s, 3 seconds passed -... 21%, 149184 KB, 39433 KB/s, 3 seconds passed -... 21%, 149216 KB, 39437 KB/s, 3 seconds passed -... 21%, 149248 KB, 39442 KB/s, 3 seconds passed -... 21%, 149280 KB, 39446 KB/s, 3 seconds passed -... 21%, 149312 KB, 39450 KB/s, 3 seconds passed -... 21%, 149344 KB, 39455 KB/s, 3 seconds passed -... 21%, 149376 KB, 39459 KB/s, 3 seconds passed -... 21%, 149408 KB, 39464 KB/s, 3 seconds passed -... 21%, 149440 KB, 39468 KB/s, 3 seconds passed -... 21%, 149472 KB, 39473 KB/s, 3 seconds passed -... 21%, 149504 KB, 39477 KB/s, 3 seconds passed -... 21%, 149536 KB, 39482 KB/s, 3 seconds passed -... 21%, 149568 KB, 39486 KB/s, 3 seconds passed -... 21%, 149600 KB, 39491 KB/s, 3 seconds passed -... 21%, 149632 KB, 39495 KB/s, 3 seconds passed -... 21%, 149664 KB, 39499 KB/s, 3 seconds passed -... 21%, 149696 KB, 39504 KB/s, 3 seconds passed -... 21%, 149728 KB, 39509 KB/s, 3 seconds passed -... 21%, 149760 KB, 39514 KB/s, 3 seconds passed -... 21%, 149792 KB, 39519 KB/s, 3 seconds passed -... 21%, 149824 KB, 39525 KB/s, 3 seconds passed -... 21%, 149856 KB, 39530 KB/s, 3 seconds passed -... 21%, 149888 KB, 39535 KB/s, 3 seconds passed -... 21%, 149920 KB, 39540 KB/s, 3 seconds passed -... 21%, 149952 KB, 39545 KB/s, 3 seconds passed -... 21%, 149984 KB, 39550 KB/s, 3 seconds passed -... 21%, 150016 KB, 39555 KB/s, 3 seconds passed -... 21%, 150048 KB, 39560 KB/s, 3 seconds passed -... 21%, 150080 KB, 39565 KB/s, 3 seconds passed -... 21%, 150112 KB, 39570 KB/s, 3 seconds passed -... 21%, 150144 KB, 39575 KB/s, 3 seconds passed -... 21%, 150176 KB, 39580 KB/s, 3 seconds passed -... 21%, 150208 KB, 39586 KB/s, 3 seconds passed -... 21%, 150240 KB, 39590 KB/s, 3 seconds passed -... 21%, 150272 KB, 39596 KB/s, 3 seconds passed -... 21%, 150304 KB, 39601 KB/s, 3 seconds passed -... 21%, 150336 KB, 39606 KB/s, 3 seconds passed -... 21%, 150368 KB, 39611 KB/s, 3 seconds passed -... 21%, 150400 KB, 39616 KB/s, 3 seconds passed -... 21%, 150432 KB, 39621 KB/s, 3 seconds passed -... 21%, 150464 KB, 39626 KB/s, 3 seconds passed -... 21%, 150496 KB, 39631 KB/s, 3 seconds passed -... 21%, 150528 KB, 39636 KB/s, 3 seconds passed -... 21%, 150560 KB, 39641 KB/s, 3 seconds passed -... 21%, 150592 KB, 39646 KB/s, 3 seconds passed -... 21%, 150624 KB, 39651 KB/s, 3 seconds passed -... 21%, 150656 KB, 39657 KB/s, 3 seconds passed -... 21%, 150688 KB, 39663 KB/s, 3 seconds passed -... 21%, 150720 KB, 39669 KB/s, 3 seconds passed -... 21%, 150752 KB, 39675 KB/s, 3 seconds passed -... 21%, 150784 KB, 39681 KB/s, 3 seconds passed -... 21%, 150816 KB, 39687 KB/s, 3 seconds passed -... 21%, 150848 KB, 39694 KB/s, 3 seconds passed -... 21%, 150880 KB, 39700 KB/s, 3 seconds passed -... 21%, 150912 KB, 39706 KB/s, 3 seconds passed -... 21%, 150944 KB, 39712 KB/s, 3 seconds passed -... 21%, 150976 KB, 39718 KB/s, 3 seconds passed -... 21%, 151008 KB, 39725 KB/s, 3 seconds passed -... 21%, 151040 KB, 39731 KB/s, 3 seconds passed -... 21%, 151072 KB, 39737 KB/s, 3 seconds passed -... 21%, 151104 KB, 39743 KB/s, 3 seconds passed -... 21%, 151136 KB, 39749 KB/s, 3 seconds passed -... 21%, 151168 KB, 39756 KB/s, 3 seconds passed -... 21%, 151200 KB, 39762 KB/s, 3 seconds passed -... 21%, 151232 KB, 39768 KB/s, 3 seconds passed -... 21%, 151264 KB, 39774 KB/s, 3 seconds passed -... 21%, 151296 KB, 39780 KB/s, 3 seconds passed -... 21%, 151328 KB, 39787 KB/s, 3 seconds passed -... 21%, 151360 KB, 39793 KB/s, 3 seconds passed -... 21%, 151392 KB, 39799 KB/s, 3 seconds passed -... 21%, 151424 KB, 39805 KB/s, 3 seconds passed -... 21%, 151456 KB, 39811 KB/s, 3 seconds passed -... 21%, 151488 KB, 39817 KB/s, 3 seconds passed -... 21%, 151520 KB, 39824 KB/s, 3 seconds passed -... 21%, 151552 KB, 39830 KB/s, 3 seconds passed -... 21%, 151584 KB, 39836 KB/s, 3 seconds passed -... 21%, 151616 KB, 39842 KB/s, 3 seconds passed -... 21%, 151648 KB, 39849 KB/s, 3 seconds passed -... 21%, 151680 KB, 39855 KB/s, 3 seconds passed -... 21%, 151712 KB, 39861 KB/s, 3 seconds passed -... 21%, 151744 KB, 39867 KB/s, 3 seconds passed -... 21%, 151776 KB, 39873 KB/s, 3 seconds passed -... 21%, 151808 KB, 39879 KB/s, 3 seconds passed -... 21%, 151840 KB, 39886 KB/s, 3 seconds passed -... 21%, 151872 KB, 39892 KB/s, 3 seconds passed -... 21%, 151904 KB, 39898 KB/s, 3 seconds passed -... 21%, 151936 KB, 39904 KB/s, 3 seconds passed -... 21%, 151968 KB, 39911 KB/s, 3 seconds passed -... 21%, 152000 KB, 39917 KB/s, 3 seconds passed -... 21%, 152032 KB, 39923 KB/s, 3 seconds passed -... 21%, 152064 KB, 39929 KB/s, 3 seconds passed -... 21%, 152096 KB, 39935 KB/s, 3 seconds passed -... 21%, 152128 KB, 39941 KB/s, 3 seconds passed -... 21%, 152160 KB, 39948 KB/s, 3 seconds passed -... 21%, 152192 KB, 39954 KB/s, 3 seconds passed -... 21%, 152224 KB, 39961 KB/s, 3 seconds passed -... 21%, 152256 KB, 39968 KB/s, 3 seconds passed -... 21%, 152288 KB, 39973 KB/s, 3 seconds passed -... 21%, 152320 KB, 39978 KB/s, 3 seconds passed -... 21%, 152352 KB, 39984 KB/s, 3 seconds passed -... 21%, 152384 KB, 39989 KB/s, 3 seconds passed -... 21%, 152416 KB, 39995 KB/s, 3 seconds passed -... 21%, 152448 KB, 40000 KB/s, 3 seconds passed -... 21%, 152480 KB, 40005 KB/s, 3 seconds passed -... 21%, 152512 KB, 40010 KB/s, 3 seconds passed -... 21%, 152544 KB, 40016 KB/s, 3 seconds passed -... 21%, 152576 KB, 40022 KB/s, 3 seconds passed -... 21%, 152608 KB, 40027 KB/s, 3 seconds passed -... 21%, 152640 KB, 40032 KB/s, 3 seconds passed -... 21%, 152672 KB, 40038 KB/s, 3 seconds passed -... 21%, 152704 KB, 40043 KB/s, 3 seconds passed -... 21%, 152736 KB, 40049 KB/s, 3 seconds passed -... 21%, 152768 KB, 40055 KB/s, 3 seconds passed -... 21%, 152800 KB, 40060 KB/s, 3 seconds passed -... 21%, 152832 KB, 40065 KB/s, 3 seconds passed -... 21%, 152864 KB, 40071 KB/s, 3 seconds passed -... 21%, 152896 KB, 40077 KB/s, 3 seconds passed -... 21%, 152928 KB, 40082 KB/s, 3 seconds passed -... 21%, 152960 KB, 40087 KB/s, 3 seconds passed -... 21%, 152992 KB, 40093 KB/s, 3 seconds passed -... 22%, 153024 KB, 40098 KB/s, 3 seconds passed -... 22%, 153056 KB, 40104 KB/s, 3 seconds passed -... 22%, 153088 KB, 40109 KB/s, 3 seconds passed -... 22%, 153120 KB, 40114 KB/s, 3 seconds passed -... 22%, 153152 KB, 40120 KB/s, 3 seconds passed -... 22%, 153184 KB, 40126 KB/s, 3 seconds passed -... 22%, 153216 KB, 40131 KB/s, 3 seconds passed -... 22%, 153248 KB, 40136 KB/s, 3 seconds passed -... 22%, 153280 KB, 40142 KB/s, 3 seconds passed -... 22%, 153312 KB, 40147 KB/s, 3 seconds passed -... 22%, 153344 KB, 40153 KB/s, 3 seconds passed -... 22%, 153376 KB, 40158 KB/s, 3 seconds passed -... 22%, 153408 KB, 40163 KB/s, 3 seconds passed -... 22%, 153440 KB, 40169 KB/s, 3 seconds passed -... 22%, 153472 KB, 40175 KB/s, 3 seconds passed -... 22%, 153504 KB, 40180 KB/s, 3 seconds passed -... 22%, 153536 KB, 40185 KB/s, 3 seconds passed -... 22%, 153568 KB, 40191 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 22%, 153600 KB, 39574 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 22%, 153632 KB, 39576 KB/s, 3 seconds passed -... 22%, 153664 KB, 39580 KB/s, 3 seconds passed -... 22%, 153696 KB, 39584 KB/s, 3 seconds passed -... 22%, 153728 KB, 39588 KB/s, 3 seconds passed -... 22%, 153760 KB, 39593 KB/s, 3 seconds passed -... 22%, 153792 KB, 39598 KB/s, 3 seconds passed -... 22%, 153824 KB, 39574 KB/s, 3 seconds passed -... 22%, 153856 KB, 39577 KB/s, 3 seconds passed -... 22%, 153888 KB, 39581 KB/s, 3 seconds passed -... 22%, 153920 KB, 39586 KB/s, 3 seconds passed -... 22%, 153952 KB, 39590 KB/s, 3 seconds passed -... 22%, 153984 KB, 39594 KB/s, 3 seconds passed -... 22%, 154016 KB, 39598 KB/s, 3 seconds passed -... 22%, 154048 KB, 39603 KB/s, 3 seconds passed -... 22%, 154080 KB, 39607 KB/s, 3 seconds passed -... 22%, 154112 KB, 39611 KB/s, 3 seconds passed -... 22%, 154144 KB, 39616 KB/s, 3 seconds passed -... 22%, 154176 KB, 39620 KB/s, 3 seconds passed -... 22%, 154208 KB, 39624 KB/s, 3 seconds passed -... 22%, 154240 KB, 39629 KB/s, 3 seconds passed -... 22%, 154272 KB, 39633 KB/s, 3 seconds passed -... 22%, 154304 KB, 39637 KB/s, 3 seconds passed -... 22%, 154336 KB, 39641 KB/s, 3 seconds passed -... 22%, 154368 KB, 39646 KB/s, 3 seconds passed -... 22%, 154400 KB, 39650 KB/s, 3 seconds passed -... 22%, 154432 KB, 39654 KB/s, 3 seconds passed -... 22%, 154464 KB, 39659 KB/s, 3 seconds passed -... 22%, 154496 KB, 39663 KB/s, 3 seconds passed -... 22%, 154528 KB, 39667 KB/s, 3 seconds passed -... 22%, 154560 KB, 39672 KB/s, 3 seconds passed -... 22%, 154592 KB, 39676 KB/s, 3 seconds passed -... 22%, 154624 KB, 39680 KB/s, 3 seconds passed -... 22%, 154656 KB, 39684 KB/s, 3 seconds passed -... 22%, 154688 KB, 39689 KB/s, 3 seconds passed -... 22%, 154720 KB, 39693 KB/s, 3 seconds passed -... 22%, 154752 KB, 39697 KB/s, 3 seconds passed -... 22%, 154784 KB, 39702 KB/s, 3 seconds passed -... 22%, 154816 KB, 39706 KB/s, 3 seconds passed -... 22%, 154848 KB, 39710 KB/s, 3 seconds passed -... 22%, 154880 KB, 39715 KB/s, 3 seconds passed -... 22%, 154912 KB, 39719 KB/s, 3 seconds passed -... 22%, 154944 KB, 39725 KB/s, 3 seconds passed -... 22%, 154976 KB, 39730 KB/s, 3 seconds passed -... 22%, 155008 KB, 39736 KB/s, 3 seconds passed -... 22%, 155040 KB, 39742 KB/s, 3 seconds passed -... 22%, 155072 KB, 39748 KB/s, 3 seconds passed -... 22%, 155104 KB, 39754 KB/s, 3 seconds passed -... 22%, 155136 KB, 39760 KB/s, 3 seconds passed -... 22%, 155168 KB, 39766 KB/s, 3 seconds passed -... 22%, 155200 KB, 39772 KB/s, 3 seconds passed -... 22%, 155232 KB, 39778 KB/s, 3 seconds passed -... 22%, 155264 KB, 39785 KB/s, 3 seconds passed -... 22%, 155296 KB, 39791 KB/s, 3 seconds passed -... 22%, 155328 KB, 39797 KB/s, 3 seconds passed -... 22%, 155360 KB, 39803 KB/s, 3 seconds passed -... 22%, 155392 KB, 39810 KB/s, 3 seconds passed -... 22%, 155424 KB, 39816 KB/s, 3 seconds passed -... 22%, 155456 KB, 39822 KB/s, 3 seconds passed -... 22%, 155488 KB, 39828 KB/s, 3 seconds passed -... 22%, 155520 KB, 39771 KB/s, 3 seconds passed -... 22%, 155552 KB, 39774 KB/s, 3 seconds passed -... 22%, 155584 KB, 39779 KB/s, 3 seconds passed -... 22%, 155616 KB, 39784 KB/s, 3 seconds passed -... 22%, 155648 KB, 39787 KB/s, 3 seconds passed -... 22%, 155680 KB, 39792 KB/s, 3 seconds passed -... 22%, 155712 KB, 39796 KB/s, 3 seconds passed -... 22%, 155744 KB, 39800 KB/s, 3 seconds passed -... 22%, 155776 KB, 39804 KB/s, 3 seconds passed -... 22%, 155808 KB, 39809 KB/s, 3 seconds passed -... 22%, 155840 KB, 39814 KB/s, 3 seconds passed -... 22%, 155872 KB, 39774 KB/s, 3 seconds passed -... 22%, 155904 KB, 39777 KB/s, 3 seconds passed -... 22%, 155936 KB, 39781 KB/s, 3 seconds passed -... 22%, 155968 KB, 39785 KB/s, 3 seconds passed -... 22%, 156000 KB, 39789 KB/s, 3 seconds passed -... 22%, 156032 KB, 39794 KB/s, 3 seconds passed -... 22%, 156064 KB, 39798 KB/s, 3 seconds passed -... 22%, 156096 KB, 39802 KB/s, 3 seconds passed -... 22%, 156128 KB, 39806 KB/s, 3 seconds passed -... 22%, 156160 KB, 39811 KB/s, 3 seconds passed -... 22%, 156192 KB, 39815 KB/s, 3 seconds passed -... 22%, 156224 KB, 39819 KB/s, 3 seconds passed -... 22%, 156256 KB, 39824 KB/s, 3 seconds passed -... 22%, 156288 KB, 39828 KB/s, 3 seconds passed -... 22%, 156320 KB, 39832 KB/s, 3 seconds passed -... 22%, 156352 KB, 39836 KB/s, 3 seconds passed -... 22%, 156384 KB, 39841 KB/s, 3 seconds passed -... 22%, 156416 KB, 39845 KB/s, 3 seconds passed -... 22%, 156448 KB, 39849 KB/s, 3 seconds passed -... 22%, 156480 KB, 39854 KB/s, 3 seconds passed -... 22%, 156512 KB, 39858 KB/s, 3 seconds passed -... 22%, 156544 KB, 39862 KB/s, 3 seconds passed -... 22%, 156576 KB, 39867 KB/s, 3 seconds passed -... 22%, 156608 KB, 39871 KB/s, 3 seconds passed -... 22%, 156640 KB, 39876 KB/s, 3 seconds passed -... 22%, 156672 KB, 39880 KB/s, 3 seconds passed -... 22%, 156704 KB, 39884 KB/s, 3 seconds passed -... 22%, 156736 KB, 39888 KB/s, 3 seconds passed -... 22%, 156768 KB, 39892 KB/s, 3 seconds passed -... 22%, 156800 KB, 39897 KB/s, 3 seconds passed -... 22%, 156832 KB, 39901 KB/s, 3 seconds passed -... 22%, 156864 KB, 39907 KB/s, 3 seconds passed -... 22%, 156896 KB, 39913 KB/s, 3 seconds passed -... 22%, 156928 KB, 39918 KB/s, 3 seconds passed -... 22%, 156960 KB, 39924 KB/s, 3 seconds passed -... 22%, 156992 KB, 39930 KB/s, 3 seconds passed -... 22%, 157024 KB, 39936 KB/s, 3 seconds passed -... 22%, 157056 KB, 39941 KB/s, 3 seconds passed -... 22%, 157088 KB, 39947 KB/s, 3 seconds passed -... 22%, 157120 KB, 39953 KB/s, 3 seconds passed -... 22%, 157152 KB, 39958 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 22%, 157184 KB, 39964 KB/s, 3 seconds passed -... 22%, 157216 KB, 39970 KB/s, 3 seconds passed -... 22%, 157248 KB, 39975 KB/s, 3 seconds passed -... 22%, 157280 KB, 39981 KB/s, 3 seconds passed -... 22%, 157312 KB, 39986 KB/s, 3 seconds passed -... 22%, 157344 KB, 39992 KB/s, 3 seconds passed -... 22%, 157376 KB, 39998 KB/s, 3 seconds passed -... 22%, 157408 KB, 40003 KB/s, 3 seconds passed -... 22%, 157440 KB, 40009 KB/s, 3 seconds passed -... 22%, 157472 KB, 40015 KB/s, 3 seconds passed -... 22%, 157504 KB, 40021 KB/s, 3 seconds passed -... 22%, 157536 KB, 40026 KB/s, 3 seconds passed -... 22%, 157568 KB, 40032 KB/s, 3 seconds passed -... 22%, 157600 KB, 40038 KB/s, 3 seconds passed -... 22%, 157632 KB, 40043 KB/s, 3 seconds passed -... 22%, 157664 KB, 40049 KB/s, 3 seconds passed -... 22%, 157696 KB, 40055 KB/s, 3 seconds passed -... 22%, 157728 KB, 40060 KB/s, 3 seconds passed -... 22%, 157760 KB, 40066 KB/s, 3 seconds passed -... 22%, 157792 KB, 40072 KB/s, 3 seconds passed -... 22%, 157824 KB, 40077 KB/s, 3 seconds passed -... 22%, 157856 KB, 40083 KB/s, 3 seconds passed -... 22%, 157888 KB, 40089 KB/s, 3 seconds passed -... 22%, 157920 KB, 40094 KB/s, 3 seconds passed -... 22%, 157952 KB, 40100 KB/s, 3 seconds passed -... 22%, 157984 KB, 40106 KB/s, 3 seconds passed -... 22%, 158016 KB, 40112 KB/s, 3 seconds passed -... 22%, 158048 KB, 40117 KB/s, 3 seconds passed -... 22%, 158080 KB, 40123 KB/s, 3 seconds passed -... 22%, 158112 KB, 40129 KB/s, 3 seconds passed -... 22%, 158144 KB, 40134 KB/s, 3 seconds passed -... 22%, 158176 KB, 40141 KB/s, 3 seconds passed -... 22%, 158208 KB, 40147 KB/s, 3 seconds passed -... 22%, 158240 KB, 40153 KB/s, 3 seconds passed -... 22%, 158272 KB, 40160 KB/s, 3 seconds passed -... 22%, 158304 KB, 40166 KB/s, 3 seconds passed -... 22%, 158336 KB, 40173 KB/s, 3 seconds passed -... 22%, 158368 KB, 40179 KB/s, 3 seconds passed -... 22%, 158400 KB, 40185 KB/s, 3 seconds passed -... 22%, 158432 KB, 40192 KB/s, 3 seconds passed -... 22%, 158464 KB, 40198 KB/s, 3 seconds passed -... 22%, 158496 KB, 40204 KB/s, 3 seconds passed -... 22%, 158528 KB, 40211 KB/s, 3 seconds passed -... 22%, 158560 KB, 40217 KB/s, 3 seconds passed -... 22%, 158592 KB, 40223 KB/s, 3 seconds passed -... 22%, 158624 KB, 40229 KB/s, 3 seconds passed -... 22%, 158656 KB, 40234 KB/s, 3 seconds passed -... 22%, 158688 KB, 40239 KB/s, 3 seconds passed - -.. parsed-literal:: - - ... 22%, 158720 KB, 39713 KB/s, 3 seconds passed -... 22%, 158752 KB, 39716 KB/s, 3 seconds passed -... 22%, 158784 KB, 39719 KB/s, 3 seconds passed -... 22%, 158816 KB, 39723 KB/s, 3 seconds passed -... 22%, 158848 KB, 39727 KB/s, 3 seconds passed -... 22%, 158880 KB, 39731 KB/s, 3 seconds passed -... 22%, 158912 KB, 39735 KB/s, 3 seconds passed -... 22%, 158944 KB, 39740 KB/s, 3 seconds passed -... 22%, 158976 KB, 39744 KB/s, 3 seconds passed -... 22%, 159008 KB, 39748 KB/s, 4 seconds passed -... 22%, 159040 KB, 39752 KB/s, 4 seconds passed -... 22%, 159072 KB, 39756 KB/s, 4 seconds passed -... 22%, 159104 KB, 39760 KB/s, 4 seconds passed -... 22%, 159136 KB, 39764 KB/s, 4 seconds passed -... 22%, 159168 KB, 39769 KB/s, 4 seconds passed -... 22%, 159200 KB, 39773 KB/s, 4 seconds passed -... 22%, 159232 KB, 39777 KB/s, 4 seconds passed -... 22%, 159264 KB, 39781 KB/s, 4 seconds passed -... 22%, 159296 KB, 39785 KB/s, 4 seconds passed -... 22%, 159328 KB, 39789 KB/s, 4 seconds passed -... 22%, 159360 KB, 39793 KB/s, 4 seconds passed -... 22%, 159392 KB, 39797 KB/s, 4 seconds passed -... 22%, 159424 KB, 39802 KB/s, 4 seconds passed -... 22%, 159456 KB, 39806 KB/s, 4 seconds passed -... 22%, 159488 KB, 39810 KB/s, 4 seconds passed -... 22%, 159520 KB, 39814 KB/s, 4 seconds passed -... 22%, 159552 KB, 39819 KB/s, 4 seconds passed -... 22%, 159584 KB, 39823 KB/s, 4 seconds passed -... 22%, 159616 KB, 39827 KB/s, 4 seconds passed -... 22%, 159648 KB, 39832 KB/s, 4 seconds passed -... 22%, 159680 KB, 39836 KB/s, 4 seconds passed -... 22%, 159712 KB, 39840 KB/s, 4 seconds passed -... 22%, 159744 KB, 39844 KB/s, 4 seconds passed -... 22%, 159776 KB, 39849 KB/s, 4 seconds passed -... 22%, 159808 KB, 39853 KB/s, 4 seconds passed -... 22%, 159840 KB, 39857 KB/s, 4 seconds passed -... 22%, 159872 KB, 39862 KB/s, 4 seconds passed -... 22%, 159904 KB, 39866 KB/s, 4 seconds passed -... 22%, 159936 KB, 39870 KB/s, 4 seconds passed -... 23%, 159968 KB, 39875 KB/s, 4 seconds passed -... 23%, 160000 KB, 39880 KB/s, 4 seconds passed -... 23%, 160032 KB, 39886 KB/s, 4 seconds passed -... 23%, 160064 KB, 39892 KB/s, 4 seconds passed -... 23%, 160096 KB, 39897 KB/s, 4 seconds passed -... 23%, 160128 KB, 39902 KB/s, 4 seconds passed -... 23%, 160160 KB, 39908 KB/s, 4 seconds passed -... 23%, 160192 KB, 39914 KB/s, 4 seconds passed -... 23%, 160224 KB, 39919 KB/s, 4 seconds passed -... 23%, 160256 KB, 39925 KB/s, 4 seconds passed -... 23%, 160288 KB, 39931 KB/s, 4 seconds passed -... 23%, 160320 KB, 39936 KB/s, 4 seconds passed -... 23%, 160352 KB, 39942 KB/s, 4 seconds passed -... 23%, 160384 KB, 39947 KB/s, 4 seconds passed -... 23%, 160416 KB, 39953 KB/s, 4 seconds passed -... 23%, 160448 KB, 39958 KB/s, 4 seconds passed -... 23%, 160480 KB, 39964 KB/s, 4 seconds passed -... 23%, 160512 KB, 39970 KB/s, 4 seconds passed -... 23%, 160544 KB, 39975 KB/s, 4 seconds passed -... 23%, 160576 KB, 39981 KB/s, 4 seconds passed -... 23%, 160608 KB, 39986 KB/s, 4 seconds passed -... 23%, 160640 KB, 39992 KB/s, 4 seconds passed -... 23%, 160672 KB, 39997 KB/s, 4 seconds passed -... 23%, 160704 KB, 40003 KB/s, 4 seconds passed -... 23%, 160736 KB, 40008 KB/s, 4 seconds passed -... 23%, 160768 KB, 40014 KB/s, 4 seconds passed -... 23%, 160800 KB, 40019 KB/s, 4 seconds passed -... 23%, 160832 KB, 40025 KB/s, 4 seconds passed -... 23%, 160864 KB, 40030 KB/s, 4 seconds passed -... 23%, 160896 KB, 40036 KB/s, 4 seconds passed -... 23%, 160928 KB, 40042 KB/s, 4 seconds passed -... 23%, 160960 KB, 40047 KB/s, 4 seconds passed -... 23%, 160992 KB, 40053 KB/s, 4 seconds passed -... 23%, 161024 KB, 40058 KB/s, 4 seconds passed -... 23%, 161056 KB, 40064 KB/s, 4 seconds passed -... 23%, 161088 KB, 40069 KB/s, 4 seconds passed -... 23%, 161120 KB, 40075 KB/s, 4 seconds passed -... 23%, 161152 KB, 40080 KB/s, 4 seconds passed -... 23%, 161184 KB, 40086 KB/s, 4 seconds passed -... 23%, 161216 KB, 40091 KB/s, 4 seconds passed -... 23%, 161248 KB, 40097 KB/s, 4 seconds passed -... 23%, 161280 KB, 40102 KB/s, 4 seconds passed -... 23%, 161312 KB, 40109 KB/s, 4 seconds passed -... 23%, 161344 KB, 40115 KB/s, 4 seconds passed -... 23%, 161376 KB, 40120 KB/s, 4 seconds passed -... 23%, 161408 KB, 40125 KB/s, 4 seconds passed -... 23%, 161440 KB, 40131 KB/s, 4 seconds passed -... 23%, 161472 KB, 40136 KB/s, 4 seconds passed -... 23%, 161504 KB, 40141 KB/s, 4 seconds passed -... 23%, 161536 KB, 40147 KB/s, 4 seconds passed -... 23%, 161568 KB, 40152 KB/s, 4 seconds passed -... 23%, 161600 KB, 40157 KB/s, 4 seconds passed -... 23%, 161632 KB, 40162 KB/s, 4 seconds passed -... 23%, 161664 KB, 40167 KB/s, 4 seconds passed -... 23%, 161696 KB, 40173 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 23%, 161728 KB, 39970 KB/s, 4 seconds passed -... 23%, 161760 KB, 39973 KB/s, 4 seconds passed -... 23%, 161792 KB, 39977 KB/s, 4 seconds passed -... 23%, 161824 KB, 39981 KB/s, 4 seconds passed -... 23%, 161856 KB, 39984 KB/s, 4 seconds passed -... 23%, 161888 KB, 39989 KB/s, 4 seconds passed -... 23%, 161920 KB, 39992 KB/s, 4 seconds passed -... 23%, 161952 KB, 39996 KB/s, 4 seconds passed -... 23%, 161984 KB, 40000 KB/s, 4 seconds passed -... 23%, 162016 KB, 40004 KB/s, 4 seconds passed -... 23%, 162048 KB, 40008 KB/s, 4 seconds passed -... 23%, 162080 KB, 40013 KB/s, 4 seconds passed -... 23%, 162112 KB, 40017 KB/s, 4 seconds passed -... 23%, 162144 KB, 40021 KB/s, 4 seconds passed -... 23%, 162176 KB, 40025 KB/s, 4 seconds passed -... 23%, 162208 KB, 40029 KB/s, 4 seconds passed -... 23%, 162240 KB, 40033 KB/s, 4 seconds passed -... 23%, 162272 KB, 40037 KB/s, 4 seconds passed -... 23%, 162304 KB, 40041 KB/s, 4 seconds passed -... 23%, 162336 KB, 40046 KB/s, 4 seconds passed -... 23%, 162368 KB, 40050 KB/s, 4 seconds passed -... 23%, 162400 KB, 40054 KB/s, 4 seconds passed -... 23%, 162432 KB, 40058 KB/s, 4 seconds passed -... 23%, 162464 KB, 40062 KB/s, 4 seconds passed -... 23%, 162496 KB, 40066 KB/s, 4 seconds passed -... 23%, 162528 KB, 40070 KB/s, 4 seconds passed -... 23%, 162560 KB, 40074 KB/s, 4 seconds passed -... 23%, 162592 KB, 40078 KB/s, 4 seconds passed -... 23%, 162624 KB, 40082 KB/s, 4 seconds passed -... 23%, 162656 KB, 40086 KB/s, 4 seconds passed -... 23%, 162688 KB, 40090 KB/s, 4 seconds passed -... 23%, 162720 KB, 40095 KB/s, 4 seconds passed -... 23%, 162752 KB, 40099 KB/s, 4 seconds passed -... 23%, 162784 KB, 40103 KB/s, 4 seconds passed -... 23%, 162816 KB, 40107 KB/s, 4 seconds passed -... 23%, 162848 KB, 40111 KB/s, 4 seconds passed -... 23%, 162880 KB, 40115 KB/s, 4 seconds passed -... 23%, 162912 KB, 40119 KB/s, 4 seconds passed -... 23%, 162944 KB, 40124 KB/s, 4 seconds passed -... 23%, 162976 KB, 40128 KB/s, 4 seconds passed -... 23%, 163008 KB, 40132 KB/s, 4 seconds passed -... 23%, 163040 KB, 40138 KB/s, 4 seconds passed -... 23%, 163072 KB, 40143 KB/s, 4 seconds passed -... 23%, 163104 KB, 40149 KB/s, 4 seconds passed -... 23%, 163136 KB, 40154 KB/s, 4 seconds passed -... 23%, 163168 KB, 40160 KB/s, 4 seconds passed -... 23%, 163200 KB, 40165 KB/s, 4 seconds passed -... 23%, 163232 KB, 40171 KB/s, 4 seconds passed -... 23%, 163264 KB, 40176 KB/s, 4 seconds passed -... 23%, 163296 KB, 40182 KB/s, 4 seconds passed -... 23%, 163328 KB, 40187 KB/s, 4 seconds passed -... 23%, 163360 KB, 40193 KB/s, 4 seconds passed -... 23%, 163392 KB, 40198 KB/s, 4 seconds passed -... 23%, 163424 KB, 40203 KB/s, 4 seconds passed -... 23%, 163456 KB, 40209 KB/s, 4 seconds passed -... 23%, 163488 KB, 40215 KB/s, 4 seconds passed -... 23%, 163520 KB, 40221 KB/s, 4 seconds passed -... 23%, 163552 KB, 40227 KB/s, 4 seconds passed -... 23%, 163584 KB, 40233 KB/s, 4 seconds passed -... 23%, 163616 KB, 40239 KB/s, 4 seconds passed -... 23%, 163648 KB, 40245 KB/s, 4 seconds passed -... 23%, 163680 KB, 40251 KB/s, 4 seconds passed -... 23%, 163712 KB, 40257 KB/s, 4 seconds passed -... 23%, 163744 KB, 40263 KB/s, 4 seconds passed -... 23%, 163776 KB, 40269 KB/s, 4 seconds passed -... 23%, 163808 KB, 40275 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 23%, 163840 KB, 39494 KB/s, 4 seconds passed -... 23%, 163872 KB, 39490 KB/s, 4 seconds passed -... 23%, 163904 KB, 39494 KB/s, 4 seconds passed -... 23%, 163936 KB, 39494 KB/s, 4 seconds passed -... 23%, 163968 KB, 39498 KB/s, 4 seconds passed -... 23%, 164000 KB, 39502 KB/s, 4 seconds passed -... 23%, 164032 KB, 39506 KB/s, 4 seconds passed -... 23%, 164064 KB, 39510 KB/s, 4 seconds passed -... 23%, 164096 KB, 39514 KB/s, 4 seconds passed -... 23%, 164128 KB, 39518 KB/s, 4 seconds passed -... 23%, 164160 KB, 39522 KB/s, 4 seconds passed -... 23%, 164192 KB, 39526 KB/s, 4 seconds passed -... 23%, 164224 KB, 39530 KB/s, 4 seconds passed -... 23%, 164256 KB, 39534 KB/s, 4 seconds passed -... 23%, 164288 KB, 39538 KB/s, 4 seconds passed -... 23%, 164320 KB, 39542 KB/s, 4 seconds passed -... 23%, 164352 KB, 39547 KB/s, 4 seconds passed -... 23%, 164384 KB, 39551 KB/s, 4 seconds passed -... 23%, 164416 KB, 39555 KB/s, 4 seconds passed -... 23%, 164448 KB, 39559 KB/s, 4 seconds passed -... 23%, 164480 KB, 39563 KB/s, 4 seconds passed -... 23%, 164512 KB, 39567 KB/s, 4 seconds passed -... 23%, 164544 KB, 39571 KB/s, 4 seconds passed -... 23%, 164576 KB, 39575 KB/s, 4 seconds passed -... 23%, 164608 KB, 39579 KB/s, 4 seconds passed -... 23%, 164640 KB, 39583 KB/s, 4 seconds passed -... 23%, 164672 KB, 39587 KB/s, 4 seconds passed -... 23%, 164704 KB, 39591 KB/s, 4 seconds passed -... 23%, 164736 KB, 39596 KB/s, 4 seconds passed -... 23%, 164768 KB, 39600 KB/s, 4 seconds passed -... 23%, 164800 KB, 39604 KB/s, 4 seconds passed -... 23%, 164832 KB, 39608 KB/s, 4 seconds passed -... 23%, 164864 KB, 39612 KB/s, 4 seconds passed -... 23%, 164896 KB, 39616 KB/s, 4 seconds passed -... 23%, 164928 KB, 39620 KB/s, 4 seconds passed -... 23%, 164960 KB, 39624 KB/s, 4 seconds passed -... 23%, 164992 KB, 39628 KB/s, 4 seconds passed -... 23%, 165024 KB, 39632 KB/s, 4 seconds passed -... 23%, 165056 KB, 39637 KB/s, 4 seconds passed -... 23%, 165088 KB, 39643 KB/s, 4 seconds passed -... 23%, 165120 KB, 39648 KB/s, 4 seconds passed -... 23%, 165152 KB, 39653 KB/s, 4 seconds passed -... 23%, 165184 KB, 39658 KB/s, 4 seconds passed -... 23%, 165216 KB, 39664 KB/s, 4 seconds passed -... 23%, 165248 KB, 39669 KB/s, 4 seconds passed -... 23%, 165280 KB, 39675 KB/s, 4 seconds passed -... 23%, 165312 KB, 39680 KB/s, 4 seconds passed -... 23%, 165344 KB, 39685 KB/s, 4 seconds passed -... 23%, 165376 KB, 39691 KB/s, 4 seconds passed -... 23%, 165408 KB, 39696 KB/s, 4 seconds passed -... 23%, 165440 KB, 39701 KB/s, 4 seconds passed -... 23%, 165472 KB, 39707 KB/s, 4 seconds passed -... 23%, 165504 KB, 39712 KB/s, 4 seconds passed -... 23%, 165536 KB, 39718 KB/s, 4 seconds passed -... 23%, 165568 KB, 39723 KB/s, 4 seconds passed -... 23%, 165600 KB, 39728 KB/s, 4 seconds passed -... 23%, 165632 KB, 39734 KB/s, 4 seconds passed -... 23%, 165664 KB, 39739 KB/s, 4 seconds passed -... 23%, 165696 KB, 39744 KB/s, 4 seconds passed -... 23%, 165728 KB, 39750 KB/s, 4 seconds passed -... 23%, 165760 KB, 39755 KB/s, 4 seconds passed -... 23%, 165792 KB, 39760 KB/s, 4 seconds passed -... 23%, 165824 KB, 39766 KB/s, 4 seconds passed -... 23%, 165856 KB, 39771 KB/s, 4 seconds passed -... 23%, 165888 KB, 39776 KB/s, 4 seconds passed -... 23%, 165920 KB, 39782 KB/s, 4 seconds passed -... 23%, 165952 KB, 39787 KB/s, 4 seconds passed -... 23%, 165984 KB, 39793 KB/s, 4 seconds passed -... 23%, 166016 KB, 39798 KB/s, 4 seconds passed -... 23%, 166048 KB, 39803 KB/s, 4 seconds passed -... 23%, 166080 KB, 39809 KB/s, 4 seconds passed -... 23%, 166112 KB, 39814 KB/s, 4 seconds passed -... 23%, 166144 KB, 39819 KB/s, 4 seconds passed -... 23%, 166176 KB, 39825 KB/s, 4 seconds passed -... 23%, 166208 KB, 39830 KB/s, 4 seconds passed -... 23%, 166240 KB, 39835 KB/s, 4 seconds passed -... 23%, 166272 KB, 39841 KB/s, 4 seconds passed -... 23%, 166304 KB, 39846 KB/s, 4 seconds passed -... 23%, 166336 KB, 39852 KB/s, 4 seconds passed -... 23%, 166368 KB, 39858 KB/s, 4 seconds passed -... 23%, 166400 KB, 39864 KB/s, 4 seconds passed -... 23%, 166432 KB, 39870 KB/s, 4 seconds passed -... 23%, 166464 KB, 39876 KB/s, 4 seconds passed -... 23%, 166496 KB, 39882 KB/s, 4 seconds passed -... 23%, 166528 KB, 39888 KB/s, 4 seconds passed -... 23%, 166560 KB, 39894 KB/s, 4 seconds passed -... 23%, 166592 KB, 39900 KB/s, 4 seconds passed -... 23%, 166624 KB, 39906 KB/s, 4 seconds passed -... 23%, 166656 KB, 39913 KB/s, 4 seconds passed -... 23%, 166688 KB, 39919 KB/s, 4 seconds passed -... 23%, 166720 KB, 39925 KB/s, 4 seconds passed -... 23%, 166752 KB, 39931 KB/s, 4 seconds passed -... 23%, 166784 KB, 39937 KB/s, 4 seconds passed -... 23%, 166816 KB, 39943 KB/s, 4 seconds passed -... 23%, 166848 KB, 39949 KB/s, 4 seconds passed -... 23%, 166880 KB, 39955 KB/s, 4 seconds passed -... 23%, 166912 KB, 39961 KB/s, 4 seconds passed -... 24%, 166944 KB, 39967 KB/s, 4 seconds passed -... 24%, 166976 KB, 39972 KB/s, 4 seconds passed -... 24%, 167008 KB, 39977 KB/s, 4 seconds passed -... 24%, 167040 KB, 39983 KB/s, 4 seconds passed -... 24%, 167072 KB, 39988 KB/s, 4 seconds passed -... 24%, 167104 KB, 39992 KB/s, 4 seconds passed -... 24%, 167136 KB, 39997 KB/s, 4 seconds passed -... 24%, 167168 KB, 40002 KB/s, 4 seconds passed -... 24%, 167200 KB, 40007 KB/s, 4 seconds passed -... 24%, 167232 KB, 40012 KB/s, 4 seconds passed -... 24%, 167264 KB, 40017 KB/s, 4 seconds passed -... 24%, 167296 KB, 40022 KB/s, 4 seconds passed -... 24%, 167328 KB, 40027 KB/s, 4 seconds passed -... 24%, 167360 KB, 40032 KB/s, 4 seconds passed -... 24%, 167392 KB, 40038 KB/s, 4 seconds passed -... 24%, 167424 KB, 40042 KB/s, 4 seconds passed -... 24%, 167456 KB, 40047 KB/s, 4 seconds passed -... 24%, 167488 KB, 40053 KB/s, 4 seconds passed -... 24%, 167520 KB, 40057 KB/s, 4 seconds passed -... 24%, 167552 KB, 40061 KB/s, 4 seconds passed -... 24%, 167584 KB, 40066 KB/s, 4 seconds passed -... 24%, 167616 KB, 40070 KB/s, 4 seconds passed -... 24%, 167648 KB, 40075 KB/s, 4 seconds passed -... 24%, 167680 KB, 40081 KB/s, 4 seconds passed -... 24%, 167712 KB, 40087 KB/s, 4 seconds passed -... 24%, 167744 KB, 40092 KB/s, 4 seconds passed -... 24%, 167776 KB, 40070 KB/s, 4 seconds passed -... 24%, 167808 KB, 40076 KB/s, 4 seconds passed -... 24%, 167840 KB, 40080 KB/s, 4 seconds passed -... 24%, 167872 KB, 40086 KB/s, 4 seconds passed -... 24%, 167904 KB, 40090 KB/s, 4 seconds passed -... 24%, 167936 KB, 40095 KB/s, 4 seconds passed -... 24%, 167968 KB, 40100 KB/s, 4 seconds passed -... 24%, 168000 KB, 40105 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 24%, 168032 KB, 40100 KB/s, 4 seconds passed -... 24%, 168064 KB, 40105 KB/s, 4 seconds passed -... 24%, 168096 KB, 40109 KB/s, 4 seconds passed -... 24%, 168128 KB, 40115 KB/s, 4 seconds passed -... 24%, 168160 KB, 40121 KB/s, 4 seconds passed -... 24%, 168192 KB, 40125 KB/s, 4 seconds passed -... 24%, 168224 KB, 40130 KB/s, 4 seconds passed -... 24%, 168256 KB, 40136 KB/s, 4 seconds passed -... 24%, 168288 KB, 40141 KB/s, 4 seconds passed -... 24%, 168320 KB, 40145 KB/s, 4 seconds passed -... 24%, 168352 KB, 40150 KB/s, 4 seconds passed -... 24%, 168384 KB, 40156 KB/s, 4 seconds passed -... 24%, 168416 KB, 40159 KB/s, 4 seconds passed -... 24%, 168448 KB, 40164 KB/s, 4 seconds passed -... 24%, 168480 KB, 40168 KB/s, 4 seconds passed -... 24%, 168512 KB, 40171 KB/s, 4 seconds passed -... 24%, 168544 KB, 40176 KB/s, 4 seconds passed -... 24%, 168576 KB, 40182 KB/s, 4 seconds passed -... 24%, 168608 KB, 40188 KB/s, 4 seconds passed -... 24%, 168640 KB, 40193 KB/s, 4 seconds passed -... 24%, 168672 KB, 40197 KB/s, 4 seconds passed -... 24%, 168704 KB, 40203 KB/s, 4 seconds passed -... 24%, 168736 KB, 40209 KB/s, 4 seconds passed -... 24%, 168768 KB, 40215 KB/s, 4 seconds passed -... 24%, 168800 KB, 40220 KB/s, 4 seconds passed -... 24%, 168832 KB, 40225 KB/s, 4 seconds passed -... 24%, 168864 KB, 40229 KB/s, 4 seconds passed -... 24%, 168896 KB, 40235 KB/s, 4 seconds passed -... 24%, 168928 KB, 40238 KB/s, 4 seconds passed -... 24%, 168960 KB, 40025 KB/s, 4 seconds passed -... 24%, 168992 KB, 40023 KB/s, 4 seconds passed -... 24%, 169024 KB, 40027 KB/s, 4 seconds passed -... 24%, 169056 KB, 40023 KB/s, 4 seconds passed -... 24%, 169088 KB, 40027 KB/s, 4 seconds passed -... 24%, 169120 KB, 40031 KB/s, 4 seconds passed -... 24%, 169152 KB, 40035 KB/s, 4 seconds passed -... 24%, 169184 KB, 40039 KB/s, 4 seconds passed -... 24%, 169216 KB, 40043 KB/s, 4 seconds passed -... 24%, 169248 KB, 40047 KB/s, 4 seconds passed -... 24%, 169280 KB, 40051 KB/s, 4 seconds passed -... 24%, 169312 KB, 40055 KB/s, 4 seconds passed -... 24%, 169344 KB, 40060 KB/s, 4 seconds passed -... 24%, 169376 KB, 40064 KB/s, 4 seconds passed -... 24%, 169408 KB, 40068 KB/s, 4 seconds passed -... 24%, 169440 KB, 40073 KB/s, 4 seconds passed -... 24%, 169472 KB, 40077 KB/s, 4 seconds passed -... 24%, 169504 KB, 40082 KB/s, 4 seconds passed -... 24%, 169536 KB, 40070 KB/s, 4 seconds passed -... 24%, 169568 KB, 40074 KB/s, 4 seconds passed -... 24%, 169600 KB, 40078 KB/s, 4 seconds passed -... 24%, 169632 KB, 40082 KB/s, 4 seconds passed -... 24%, 169664 KB, 40086 KB/s, 4 seconds passed -... 24%, 169696 KB, 40090 KB/s, 4 seconds passed -... 24%, 169728 KB, 40094 KB/s, 4 seconds passed -... 24%, 169760 KB, 40098 KB/s, 4 seconds passed -... 24%, 169792 KB, 40102 KB/s, 4 seconds passed -... 24%, 169824 KB, 40106 KB/s, 4 seconds passed -... 24%, 169856 KB, 40110 KB/s, 4 seconds passed -... 24%, 169888 KB, 40114 KB/s, 4 seconds passed -... 24%, 169920 KB, 40119 KB/s, 4 seconds passed -... 24%, 169952 KB, 40123 KB/s, 4 seconds passed -... 24%, 169984 KB, 40128 KB/s, 4 seconds passed -... 24%, 170016 KB, 40133 KB/s, 4 seconds passed -... 24%, 170048 KB, 40138 KB/s, 4 seconds passed -... 24%, 170080 KB, 40142 KB/s, 4 seconds passed -... 24%, 170112 KB, 40147 KB/s, 4 seconds passed -... 24%, 170144 KB, 40152 KB/s, 4 seconds passed -... 24%, 170176 KB, 40157 KB/s, 4 seconds passed -... 24%, 170208 KB, 40161 KB/s, 4 seconds passed -... 24%, 170240 KB, 40166 KB/s, 4 seconds passed -... 24%, 170272 KB, 40170 KB/s, 4 seconds passed -... 24%, 170304 KB, 40175 KB/s, 4 seconds passed -... 24%, 170336 KB, 40180 KB/s, 4 seconds passed -... 24%, 170368 KB, 40185 KB/s, 4 seconds passed -... 24%, 170400 KB, 40189 KB/s, 4 seconds passed -... 24%, 170432 KB, 40194 KB/s, 4 seconds passed -... 24%, 170464 KB, 40199 KB/s, 4 seconds passed -... 24%, 170496 KB, 40203 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 24%, 170528 KB, 40208 KB/s, 4 seconds passed -... 24%, 170560 KB, 40213 KB/s, 4 seconds passed -... 24%, 170592 KB, 40217 KB/s, 4 seconds passed -... 24%, 170624 KB, 40222 KB/s, 4 seconds passed -... 24%, 170656 KB, 40227 KB/s, 4 seconds passed -... 24%, 170688 KB, 40231 KB/s, 4 seconds passed -... 24%, 170720 KB, 40236 KB/s, 4 seconds passed -... 24%, 170752 KB, 40241 KB/s, 4 seconds passed -... 24%, 170784 KB, 40245 KB/s, 4 seconds passed -... 24%, 170816 KB, 40250 KB/s, 4 seconds passed -... 24%, 170848 KB, 40255 KB/s, 4 seconds passed -... 24%, 170880 KB, 40260 KB/s, 4 seconds passed -... 24%, 170912 KB, 40264 KB/s, 4 seconds passed -... 24%, 170944 KB, 40269 KB/s, 4 seconds passed -... 24%, 170976 KB, 40274 KB/s, 4 seconds passed -... 24%, 171008 KB, 40279 KB/s, 4 seconds passed -... 24%, 171040 KB, 40285 KB/s, 4 seconds passed -... 24%, 171072 KB, 40291 KB/s, 4 seconds passed -... 24%, 171104 KB, 40296 KB/s, 4 seconds passed -... 24%, 171136 KB, 40302 KB/s, 4 seconds passed -... 24%, 171168 KB, 40308 KB/s, 4 seconds passed -... 24%, 171200 KB, 40313 KB/s, 4 seconds passed -... 24%, 171232 KB, 40319 KB/s, 4 seconds passed -... 24%, 171264 KB, 40324 KB/s, 4 seconds passed -... 24%, 171296 KB, 40330 KB/s, 4 seconds passed -... 24%, 171328 KB, 40336 KB/s, 4 seconds passed -... 24%, 171360 KB, 40341 KB/s, 4 seconds passed -... 24%, 171392 KB, 40347 KB/s, 4 seconds passed -... 24%, 171424 KB, 40352 KB/s, 4 seconds passed -... 24%, 171456 KB, 40358 KB/s, 4 seconds passed -... 24%, 171488 KB, 40363 KB/s, 4 seconds passed -... 24%, 171520 KB, 40369 KB/s, 4 seconds passed -... 24%, 171552 KB, 40375 KB/s, 4 seconds passed -... 24%, 171584 KB, 40380 KB/s, 4 seconds passed -... 24%, 171616 KB, 40386 KB/s, 4 seconds passed -... 24%, 171648 KB, 40392 KB/s, 4 seconds passed -... 24%, 171680 KB, 40397 KB/s, 4 seconds passed -... 24%, 171712 KB, 40403 KB/s, 4 seconds passed -... 24%, 171744 KB, 40408 KB/s, 4 seconds passed -... 24%, 171776 KB, 40413 KB/s, 4 seconds passed -... 24%, 171808 KB, 40418 KB/s, 4 seconds passed -... 24%, 171840 KB, 40422 KB/s, 4 seconds passed -... 24%, 171872 KB, 40427 KB/s, 4 seconds passed -... 24%, 171904 KB, 40432 KB/s, 4 seconds passed -... 24%, 171936 KB, 40437 KB/s, 4 seconds passed -... 24%, 171968 KB, 40442 KB/s, 4 seconds passed -... 24%, 172000 KB, 40447 KB/s, 4 seconds passed -... 24%, 172032 KB, 40452 KB/s, 4 seconds passed -... 24%, 172064 KB, 40457 KB/s, 4 seconds passed -... 24%, 172096 KB, 40462 KB/s, 4 seconds passed -... 24%, 172128 KB, 40466 KB/s, 4 seconds passed -... 24%, 172160 KB, 40471 KB/s, 4 seconds passed -... 24%, 172192 KB, 40476 KB/s, 4 seconds passed -... 24%, 172224 KB, 40481 KB/s, 4 seconds passed -... 24%, 172256 KB, 40486 KB/s, 4 seconds passed -... 24%, 172288 KB, 40491 KB/s, 4 seconds passed -... 24%, 172320 KB, 40496 KB/s, 4 seconds passed -... 24%, 172352 KB, 40501 KB/s, 4 seconds passed -... 24%, 172384 KB, 40506 KB/s, 4 seconds passed -... 24%, 172416 KB, 40511 KB/s, 4 seconds passed -... 24%, 172448 KB, 40516 KB/s, 4 seconds passed -... 24%, 172480 KB, 40521 KB/s, 4 seconds passed -... 24%, 172512 KB, 40526 KB/s, 4 seconds passed -... 24%, 172544 KB, 40531 KB/s, 4 seconds passed -... 24%, 172576 KB, 40535 KB/s, 4 seconds passed -... 24%, 172608 KB, 40540 KB/s, 4 seconds passed -... 24%, 172640 KB, 40544 KB/s, 4 seconds passed -... 24%, 172672 KB, 40549 KB/s, 4 seconds passed -... 24%, 172704 KB, 40554 KB/s, 4 seconds passed -... 24%, 172736 KB, 40559 KB/s, 4 seconds passed -... 24%, 172768 KB, 40564 KB/s, 4 seconds passed -... 24%, 172800 KB, 40569 KB/s, 4 seconds passed -... 24%, 172832 KB, 40573 KB/s, 4 seconds passed -... 24%, 172864 KB, 40578 KB/s, 4 seconds passed -... 24%, 172896 KB, 40583 KB/s, 4 seconds passed -... 24%, 172928 KB, 40588 KB/s, 4 seconds passed -... 24%, 172960 KB, 40593 KB/s, 4 seconds passed -... 24%, 172992 KB, 40597 KB/s, 4 seconds passed -... 24%, 173024 KB, 40602 KB/s, 4 seconds passed -... 24%, 173056 KB, 40607 KB/s, 4 seconds passed -... 24%, 173088 KB, 40612 KB/s, 4 seconds passed -... 24%, 173120 KB, 40617 KB/s, 4 seconds passed -... 24%, 173152 KB, 40603 KB/s, 4 seconds passed -... 24%, 173184 KB, 40606 KB/s, 4 seconds passed -... 24%, 173216 KB, 40610 KB/s, 4 seconds passed -... 24%, 173248 KB, 40614 KB/s, 4 seconds passed -... 24%, 173280 KB, 40618 KB/s, 4 seconds passed -... 24%, 173312 KB, 40622 KB/s, 4 seconds passed -... 24%, 173344 KB, 40626 KB/s, 4 seconds passed -... 24%, 173376 KB, 40630 KB/s, 4 seconds passed -... 24%, 173408 KB, 40634 KB/s, 4 seconds passed -... 24%, 173440 KB, 40638 KB/s, 4 seconds passed -... 24%, 173472 KB, 40642 KB/s, 4 seconds passed -... 24%, 173504 KB, 40646 KB/s, 4 seconds passed -... 24%, 173536 KB, 40650 KB/s, 4 seconds passed -... 24%, 173568 KB, 40654 KB/s, 4 seconds passed -... 24%, 173600 KB, 40658 KB/s, 4 seconds passed -... 24%, 173632 KB, 40662 KB/s, 4 seconds passed -... 24%, 173664 KB, 40666 KB/s, 4 seconds passed -... 24%, 173696 KB, 40670 KB/s, 4 seconds passed -... 24%, 173728 KB, 40674 KB/s, 4 seconds passed -... 24%, 173760 KB, 40677 KB/s, 4 seconds passed -... 24%, 173792 KB, 40681 KB/s, 4 seconds passed -... 24%, 173824 KB, 40685 KB/s, 4 seconds passed -... 24%, 173856 KB, 40690 KB/s, 4 seconds passed -... 25%, 173888 KB, 40695 KB/s, 4 seconds passed -... 25%, 173920 KB, 40700 KB/s, 4 seconds passed -... 25%, 173952 KB, 40704 KB/s, 4 seconds passed -... 25%, 173984 KB, 40709 KB/s, 4 seconds passed -... 25%, 174016 KB, 40714 KB/s, 4 seconds passed -... 25%, 174048 KB, 40719 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 25%, 174080 KB, 40554 KB/s, 4 seconds passed -... 25%, 174112 KB, 40557 KB/s, 4 seconds passed -... 25%, 174144 KB, 40560 KB/s, 4 seconds passed -... 25%, 174176 KB, 40564 KB/s, 4 seconds passed -... 25%, 174208 KB, 40568 KB/s, 4 seconds passed -... 25%, 174240 KB, 40571 KB/s, 4 seconds passed -... 25%, 174272 KB, 40576 KB/s, 4 seconds passed -... 25%, 174304 KB, 40579 KB/s, 4 seconds passed -... 25%, 174336 KB, 40583 KB/s, 4 seconds passed -... 25%, 174368 KB, 40587 KB/s, 4 seconds passed -... 25%, 174400 KB, 40591 KB/s, 4 seconds passed -... 25%, 174432 KB, 40595 KB/s, 4 seconds passed -... 25%, 174464 KB, 40599 KB/s, 4 seconds passed -... 25%, 174496 KB, 40602 KB/s, 4 seconds passed -... 25%, 174528 KB, 40606 KB/s, 4 seconds passed -... 25%, 174560 KB, 40610 KB/s, 4 seconds passed -... 25%, 174592 KB, 40614 KB/s, 4 seconds passed -... 25%, 174624 KB, 40618 KB/s, 4 seconds passed -... 25%, 174656 KB, 40622 KB/s, 4 seconds passed -... 25%, 174688 KB, 40626 KB/s, 4 seconds passed -... 25%, 174720 KB, 40630 KB/s, 4 seconds passed -... 25%, 174752 KB, 40633 KB/s, 4 seconds passed -... 25%, 174784 KB, 40637 KB/s, 4 seconds passed -... 25%, 174816 KB, 40641 KB/s, 4 seconds passed -... 25%, 174848 KB, 40645 KB/s, 4 seconds passed -... 25%, 174880 KB, 40649 KB/s, 4 seconds passed -... 25%, 174912 KB, 40653 KB/s, 4 seconds passed -... 25%, 174944 KB, 40657 KB/s, 4 seconds passed -... 25%, 174976 KB, 40660 KB/s, 4 seconds passed -... 25%, 175008 KB, 40664 KB/s, 4 seconds passed -... 25%, 175040 KB, 40668 KB/s, 4 seconds passed -... 25%, 175072 KB, 40672 KB/s, 4 seconds passed -... 25%, 175104 KB, 40676 KB/s, 4 seconds passed -... 25%, 175136 KB, 40680 KB/s, 4 seconds passed -... 25%, 175168 KB, 40685 KB/s, 4 seconds passed -... 25%, 175200 KB, 40690 KB/s, 4 seconds passed -... 25%, 175232 KB, 40694 KB/s, 4 seconds passed -... 25%, 175264 KB, 40699 KB/s, 4 seconds passed -... 25%, 175296 KB, 40705 KB/s, 4 seconds passed -... 25%, 175328 KB, 40710 KB/s, 4 seconds passed -... 25%, 175360 KB, 40716 KB/s, 4 seconds passed -... 25%, 175392 KB, 40721 KB/s, 4 seconds passed -... 25%, 175424 KB, 40727 KB/s, 4 seconds passed -... 25%, 175456 KB, 40733 KB/s, 4 seconds passed -... 25%, 175488 KB, 40738 KB/s, 4 seconds passed -... 25%, 175520 KB, 40728 KB/s, 4 seconds passed -... 25%, 175552 KB, 40731 KB/s, 4 seconds passed -... 25%, 175584 KB, 40736 KB/s, 4 seconds passed -... 25%, 175616 KB, 40741 KB/s, 4 seconds passed -... 25%, 175648 KB, 40746 KB/s, 4 seconds passed -... 25%, 175680 KB, 40751 KB/s, 4 seconds passed -... 25%, 175712 KB, 40756 KB/s, 4 seconds passed -... 25%, 175744 KB, 40761 KB/s, 4 seconds passed -... 25%, 175776 KB, 40766 KB/s, 4 seconds passed -... 25%, 175808 KB, 40772 KB/s, 4 seconds passed -... 25%, 175840 KB, 40776 KB/s, 4 seconds passed -... 25%, 175872 KB, 40781 KB/s, 4 seconds passed -... 25%, 175904 KB, 40786 KB/s, 4 seconds passed -... 25%, 175936 KB, 40791 KB/s, 4 seconds passed -... 25%, 175968 KB, 40796 KB/s, 4 seconds passed -... 25%, 176000 KB, 40801 KB/s, 4 seconds passed -... 25%, 176032 KB, 40805 KB/s, 4 seconds passed -... 25%, 176064 KB, 40810 KB/s, 4 seconds passed -... 25%, 176096 KB, 40815 KB/s, 4 seconds passed -... 25%, 176128 KB, 40820 KB/s, 4 seconds passed -... 25%, 176160 KB, 40824 KB/s, 4 seconds passed -... 25%, 176192 KB, 40829 KB/s, 4 seconds passed -... 25%, 176224 KB, 40834 KB/s, 4 seconds passed -... 25%, 176256 KB, 40839 KB/s, 4 seconds passed -... 25%, 176288 KB, 40844 KB/s, 4 seconds passed -... 25%, 176320 KB, 40848 KB/s, 4 seconds passed -... 25%, 176352 KB, 40853 KB/s, 4 seconds passed -... 25%, 176384 KB, 40858 KB/s, 4 seconds passed -... 25%, 176416 KB, 40862 KB/s, 4 seconds passed -... 25%, 176448 KB, 40867 KB/s, 4 seconds passed -... 25%, 176480 KB, 40697 KB/s, 4 seconds passed -... 25%, 176512 KB, 40699 KB/s, 4 seconds passed -... 25%, 176544 KB, 40703 KB/s, 4 seconds passed -... 25%, 176576 KB, 40706 KB/s, 4 seconds passed -... 25%, 176608 KB, 40710 KB/s, 4 seconds passed -... 25%, 176640 KB, 40714 KB/s, 4 seconds passed -... 25%, 176672 KB, 40718 KB/s, 4 seconds passed -... 25%, 176704 KB, 40722 KB/s, 4 seconds passed -... 25%, 176736 KB, 40726 KB/s, 4 seconds passed -... 25%, 176768 KB, 40729 KB/s, 4 seconds passed -... 25%, 176800 KB, 40733 KB/s, 4 seconds passed -... 25%, 176832 KB, 40737 KB/s, 4 seconds passed -... 25%, 176864 KB, 40741 KB/s, 4 seconds passed -... 25%, 176896 KB, 40744 KB/s, 4 seconds passed -... 25%, 176928 KB, 40748 KB/s, 4 seconds passed -... 25%, 176960 KB, 40752 KB/s, 4 seconds passed -... 25%, 176992 KB, 40756 KB/s, 4 seconds passed -... 25%, 177024 KB, 40760 KB/s, 4 seconds passed -... 25%, 177056 KB, 40763 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 25%, 177088 KB, 40767 KB/s, 4 seconds passed -... 25%, 177120 KB, 40771 KB/s, 4 seconds passed -... 25%, 177152 KB, 40775 KB/s, 4 seconds passed -... 25%, 177184 KB, 40778 KB/s, 4 seconds passed -... 25%, 177216 KB, 40782 KB/s, 4 seconds passed -... 25%, 177248 KB, 40786 KB/s, 4 seconds passed -... 25%, 177280 KB, 40790 KB/s, 4 seconds passed -... 25%, 177312 KB, 40794 KB/s, 4 seconds passed -... 25%, 177344 KB, 40799 KB/s, 4 seconds passed -... 25%, 177376 KB, 40804 KB/s, 4 seconds passed -... 25%, 177408 KB, 40808 KB/s, 4 seconds passed -... 25%, 177440 KB, 40813 KB/s, 4 seconds passed -... 25%, 177472 KB, 40818 KB/s, 4 seconds passed -... 25%, 177504 KB, 40822 KB/s, 4 seconds passed -... 25%, 177536 KB, 40827 KB/s, 4 seconds passed -... 25%, 177568 KB, 40831 KB/s, 4 seconds passed -... 25%, 177600 KB, 40836 KB/s, 4 seconds passed -... 25%, 177632 KB, 40840 KB/s, 4 seconds passed -... 25%, 177664 KB, 40845 KB/s, 4 seconds passed -... 25%, 177696 KB, 40850 KB/s, 4 seconds passed -... 25%, 177728 KB, 40854 KB/s, 4 seconds passed -... 25%, 177760 KB, 40859 KB/s, 4 seconds passed -... 25%, 177792 KB, 40864 KB/s, 4 seconds passed -... 25%, 177824 KB, 40868 KB/s, 4 seconds passed -... 25%, 177856 KB, 40873 KB/s, 4 seconds passed -... 25%, 177888 KB, 40878 KB/s, 4 seconds passed -... 25%, 177920 KB, 40882 KB/s, 4 seconds passed -... 25%, 177952 KB, 40887 KB/s, 4 seconds passed -... 25%, 177984 KB, 40892 KB/s, 4 seconds passed -... 25%, 178016 KB, 40896 KB/s, 4 seconds passed -... 25%, 178048 KB, 40901 KB/s, 4 seconds passed -... 25%, 178080 KB, 40906 KB/s, 4 seconds passed -... 25%, 178112 KB, 40910 KB/s, 4 seconds passed -... 25%, 178144 KB, 40915 KB/s, 4 seconds passed -... 25%, 178176 KB, 40920 KB/s, 4 seconds passed -... 25%, 178208 KB, 40924 KB/s, 4 seconds passed -... 25%, 178240 KB, 40929 KB/s, 4 seconds passed -... 25%, 178272 KB, 40934 KB/s, 4 seconds passed -... 25%, 178304 KB, 40938 KB/s, 4 seconds passed -... 25%, 178336 KB, 40943 KB/s, 4 seconds passed -... 25%, 178368 KB, 40948 KB/s, 4 seconds passed -... 25%, 178400 KB, 40953 KB/s, 4 seconds passed -... 25%, 178432 KB, 40959 KB/s, 4 seconds passed -... 25%, 178464 KB, 40964 KB/s, 4 seconds passed -... 25%, 178496 KB, 40970 KB/s, 4 seconds passed -... 25%, 178528 KB, 40975 KB/s, 4 seconds passed -... 25%, 178560 KB, 40981 KB/s, 4 seconds passed -... 25%, 178592 KB, 40986 KB/s, 4 seconds passed -... 25%, 178624 KB, 40992 KB/s, 4 seconds passed -... 25%, 178656 KB, 40997 KB/s, 4 seconds passed -... 25%, 178688 KB, 41003 KB/s, 4 seconds passed -... 25%, 178720 KB, 41008 KB/s, 4 seconds passed -... 25%, 178752 KB, 41014 KB/s, 4 seconds passed -... 25%, 178784 KB, 41020 KB/s, 4 seconds passed -... 25%, 178816 KB, 41025 KB/s, 4 seconds passed -... 25%, 178848 KB, 41031 KB/s, 4 seconds passed -... 25%, 178880 KB, 41036 KB/s, 4 seconds passed -... 25%, 178912 KB, 41042 KB/s, 4 seconds passed -... 25%, 178944 KB, 41047 KB/s, 4 seconds passed -... 25%, 178976 KB, 41053 KB/s, 4 seconds passed -... 25%, 179008 KB, 41058 KB/s, 4 seconds passed -... 25%, 179040 KB, 41064 KB/s, 4 seconds passed -... 25%, 179072 KB, 41069 KB/s, 4 seconds passed -... 25%, 179104 KB, 41075 KB/s, 4 seconds passed -... 25%, 179136 KB, 41081 KB/s, 4 seconds passed -... 25%, 179168 KB, 41087 KB/s, 4 seconds passed -... 25%, 179200 KB, 40861 KB/s, 4 seconds passed -... 25%, 179232 KB, 40864 KB/s, 4 seconds passed -... 25%, 179264 KB, 40867 KB/s, 4 seconds passed -... 25%, 179296 KB, 40871 KB/s, 4 seconds passed -... 25%, 179328 KB, 40874 KB/s, 4 seconds passed -... 25%, 179360 KB, 40878 KB/s, 4 seconds passed -... 25%, 179392 KB, 40882 KB/s, 4 seconds passed -... 25%, 179424 KB, 40887 KB/s, 4 seconds passed -... 25%, 179456 KB, 40891 KB/s, 4 seconds passed -... 25%, 179488 KB, 40885 KB/s, 4 seconds passed -... 25%, 179520 KB, 40888 KB/s, 4 seconds passed -... 25%, 179552 KB, 40892 KB/s, 4 seconds passed -... 25%, 179584 KB, 40895 KB/s, 4 seconds passed -... 25%, 179616 KB, 40899 KB/s, 4 seconds passed -... 25%, 179648 KB, 40903 KB/s, 4 seconds passed -... 25%, 179680 KB, 40907 KB/s, 4 seconds passed -... 25%, 179712 KB, 40910 KB/s, 4 seconds passed -... 25%, 179744 KB, 40914 KB/s, 4 seconds passed -... 25%, 179776 KB, 40918 KB/s, 4 seconds passed -... 25%, 179808 KB, 40921 KB/s, 4 seconds passed -... 25%, 179840 KB, 40925 KB/s, 4 seconds passed -... 25%, 179872 KB, 40929 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 25%, 179904 KB, 40933 KB/s, 4 seconds passed -... 25%, 179936 KB, 40937 KB/s, 4 seconds passed -... 25%, 179968 KB, 40940 KB/s, 4 seconds passed -... 25%, 180000 KB, 40944 KB/s, 4 seconds passed -... 25%, 180032 KB, 40948 KB/s, 4 seconds passed -... 25%, 180064 KB, 40952 KB/s, 4 seconds passed -... 25%, 180096 KB, 40957 KB/s, 4 seconds passed -... 25%, 180128 KB, 40962 KB/s, 4 seconds passed -... 25%, 180160 KB, 40967 KB/s, 4 seconds passed -... 25%, 180192 KB, 40972 KB/s, 4 seconds passed -... 25%, 180224 KB, 40949 KB/s, 4 seconds passed -... 25%, 180256 KB, 40954 KB/s, 4 seconds passed -... 25%, 180288 KB, 40958 KB/s, 4 seconds passed -... 25%, 180320 KB, 40963 KB/s, 4 seconds passed -... 25%, 180352 KB, 40967 KB/s, 4 seconds passed -... 25%, 180384 KB, 40972 KB/s, 4 seconds passed -... 25%, 180416 KB, 40976 KB/s, 4 seconds passed -... 25%, 180448 KB, 40981 KB/s, 4 seconds passed -... 25%, 180480 KB, 40986 KB/s, 4 seconds passed -... 25%, 180512 KB, 40990 KB/s, 4 seconds passed -... 25%, 180544 KB, 40995 KB/s, 4 seconds passed -... 25%, 180576 KB, 40999 KB/s, 4 seconds passed -... 25%, 180608 KB, 41004 KB/s, 4 seconds passed -... 25%, 180640 KB, 41008 KB/s, 4 seconds passed -... 25%, 180672 KB, 41013 KB/s, 4 seconds passed -... 25%, 180704 KB, 41018 KB/s, 4 seconds passed -... 25%, 180736 KB, 41022 KB/s, 4 seconds passed -... 25%, 180768 KB, 41027 KB/s, 4 seconds passed -... 25%, 180800 KB, 41031 KB/s, 4 seconds passed -... 26%, 180832 KB, 41036 KB/s, 4 seconds passed -... 26%, 180864 KB, 41040 KB/s, 4 seconds passed -... 26%, 180896 KB, 41045 KB/s, 4 seconds passed -... 26%, 180928 KB, 41050 KB/s, 4 seconds passed -... 26%, 180960 KB, 41055 KB/s, 4 seconds passed -... 26%, 180992 KB, 41060 KB/s, 4 seconds passed -... 26%, 181024 KB, 41065 KB/s, 4 seconds passed -... 26%, 181056 KB, 41069 KB/s, 4 seconds passed -... 26%, 181088 KB, 41074 KB/s, 4 seconds passed -... 26%, 181120 KB, 41079 KB/s, 4 seconds passed -... 26%, 181152 KB, 41084 KB/s, 4 seconds passed -... 26%, 181184 KB, 41089 KB/s, 4 seconds passed -... 26%, 181216 KB, 41094 KB/s, 4 seconds passed -... 26%, 181248 KB, 41098 KB/s, 4 seconds passed -... 26%, 181280 KB, 41103 KB/s, 4 seconds passed -... 26%, 181312 KB, 41108 KB/s, 4 seconds passed -... 26%, 181344 KB, 41112 KB/s, 4 seconds passed -... 26%, 181376 KB, 41117 KB/s, 4 seconds passed -... 26%, 181408 KB, 41122 KB/s, 4 seconds passed -... 26%, 181440 KB, 41126 KB/s, 4 seconds passed -... 26%, 181472 KB, 41131 KB/s, 4 seconds passed -... 26%, 181504 KB, 41136 KB/s, 4 seconds passed -... 26%, 181536 KB, 41140 KB/s, 4 seconds passed -... 26%, 181568 KB, 41145 KB/s, 4 seconds passed -... 26%, 181600 KB, 41150 KB/s, 4 seconds passed -... 26%, 181632 KB, 41154 KB/s, 4 seconds passed -... 26%, 181664 KB, 41159 KB/s, 4 seconds passed -... 26%, 181696 KB, 41163 KB/s, 4 seconds passed -... 26%, 181728 KB, 41168 KB/s, 4 seconds passed -... 26%, 181760 KB, 41173 KB/s, 4 seconds passed -... 26%, 181792 KB, 41178 KB/s, 4 seconds passed -... 26%, 181824 KB, 41182 KB/s, 4 seconds passed -... 26%, 181856 KB, 41187 KB/s, 4 seconds passed -... 26%, 181888 KB, 41191 KB/s, 4 seconds passed -... 26%, 181920 KB, 41196 KB/s, 4 seconds passed -... 26%, 181952 KB, 41200 KB/s, 4 seconds passed -... 26%, 181984 KB, 41205 KB/s, 4 seconds passed -... 26%, 182016 KB, 41210 KB/s, 4 seconds passed -... 26%, 182048 KB, 41214 KB/s, 4 seconds passed -... 26%, 182080 KB, 41219 KB/s, 4 seconds passed -... 26%, 182112 KB, 41224 KB/s, 4 seconds passed -... 26%, 182144 KB, 41229 KB/s, 4 seconds passed -... 26%, 182176 KB, 41234 KB/s, 4 seconds passed -... 26%, 182208 KB, 41237 KB/s, 4 seconds passed -... 26%, 182240 KB, 41240 KB/s, 4 seconds passed -... 26%, 182272 KB, 41245 KB/s, 4 seconds passed -... 26%, 182304 KB, 41250 KB/s, 4 seconds passed -... 26%, 182336 KB, 41256 KB/s, 4 seconds passed -... 26%, 182368 KB, 41261 KB/s, 4 seconds passed -... 26%, 182400 KB, 41266 KB/s, 4 seconds passed -... 26%, 182432 KB, 41270 KB/s, 4 seconds passed -... 26%, 182464 KB, 41275 KB/s, 4 seconds passed -... 26%, 182496 KB, 41280 KB/s, 4 seconds passed -... 26%, 182528 KB, 41285 KB/s, 4 seconds passed -... 26%, 182560 KB, 41289 KB/s, 4 seconds passed -... 26%, 182592 KB, 41294 KB/s, 4 seconds passed -... 26%, 182624 KB, 41298 KB/s, 4 seconds passed -... 26%, 182656 KB, 41303 KB/s, 4 seconds passed -... 26%, 182688 KB, 41307 KB/s, 4 seconds passed -... 26%, 182720 KB, 41312 KB/s, 4 seconds passed -... 26%, 182752 KB, 41317 KB/s, 4 seconds passed -... 26%, 182784 KB, 41322 KB/s, 4 seconds passed -... 26%, 182816 KB, 41327 KB/s, 4 seconds passed -... 26%, 182848 KB, 41331 KB/s, 4 seconds passed -... 26%, 182880 KB, 41336 KB/s, 4 seconds passed -... 26%, 182912 KB, 41340 KB/s, 4 seconds passed -... 26%, 182944 KB, 41344 KB/s, 4 seconds passed -... 26%, 182976 KB, 41348 KB/s, 4 seconds passed -... 26%, 183008 KB, 41351 KB/s, 4 seconds passed -... 26%, 183040 KB, 41354 KB/s, 4 seconds passed -... 26%, 183072 KB, 41360 KB/s, 4 seconds passed -... 26%, 183104 KB, 41366 KB/s, 4 seconds passed -... 26%, 183136 KB, 41371 KB/s, 4 seconds passed -... 26%, 183168 KB, 41376 KB/s, 4 seconds passed -... 26%, 183200 KB, 41382 KB/s, 4 seconds passed -... 26%, 183232 KB, 41387 KB/s, 4 seconds passed -... 26%, 183264 KB, 41391 KB/s, 4 seconds passed -... 26%, 183296 KB, 41396 KB/s, 4 seconds passed -... 26%, 183328 KB, 41401 KB/s, 4 seconds passed -... 26%, 183360 KB, 41405 KB/s, 4 seconds passed -... 26%, 183392 KB, 41409 KB/s, 4 seconds passed -... 26%, 183424 KB, 41413 KB/s, 4 seconds passed -... 26%, 183456 KB, 41418 KB/s, 4 seconds passed -... 26%, 183488 KB, 41423 KB/s, 4 seconds passed -... 26%, 183520 KB, 41429 KB/s, 4 seconds passed -... 26%, 183552 KB, 41433 KB/s, 4 seconds passed -... 26%, 183584 KB, 41438 KB/s, 4 seconds passed -... 26%, 183616 KB, 41442 KB/s, 4 seconds passed -... 26%, 183648 KB, 41447 KB/s, 4 seconds passed -... 26%, 183680 KB, 41451 KB/s, 4 seconds passed -... 26%, 183712 KB, 41456 KB/s, 4 seconds passed -... 26%, 183744 KB, 41461 KB/s, 4 seconds passed -... 26%, 183776 KB, 41465 KB/s, 4 seconds passed -... 26%, 183808 KB, 41470 KB/s, 4 seconds passed -... 26%, 183840 KB, 41474 KB/s, 4 seconds passed -... 26%, 183872 KB, 41478 KB/s, 4 seconds passed -... 26%, 183904 KB, 41481 KB/s, 4 seconds passed -... 26%, 183936 KB, 41485 KB/s, 4 seconds passed -... 26%, 183968 KB, 41489 KB/s, 4 seconds passed -... 26%, 184000 KB, 41495 KB/s, 4 seconds passed -... 26%, 184032 KB, 41501 KB/s, 4 seconds passed -... 26%, 184064 KB, 41505 KB/s, 4 seconds passed -... 26%, 184096 KB, 41509 KB/s, 4 seconds passed -... 26%, 184128 KB, 41513 KB/s, 4 seconds passed -... 26%, 184160 KB, 41519 KB/s, 4 seconds passed -... 26%, 184192 KB, 41524 KB/s, 4 seconds passed -... 26%, 184224 KB, 41529 KB/s, 4 seconds passed -... 26%, 184256 KB, 41534 KB/s, 4 seconds passed -... 26%, 184288 KB, 41538 KB/s, 4 seconds passed -... 26%, 184320 KB, 41543 KB/s, 4 seconds passed -... 26%, 184352 KB, 41548 KB/s, 4 seconds passed -... 26%, 184384 KB, 41553 KB/s, 4 seconds passed -... 26%, 184416 KB, 41557 KB/s, 4 seconds passed -... 26%, 184448 KB, 41562 KB/s, 4 seconds passed -... 26%, 184480 KB, 41549 KB/s, 4 seconds passed -... 26%, 184512 KB, 41553 KB/s, 4 seconds passed -... 26%, 184544 KB, 41557 KB/s, 4 seconds passed -... 26%, 184576 KB, 41562 KB/s, 4 seconds passed -... 26%, 184608 KB, 41567 KB/s, 4 seconds passed -... 26%, 184640 KB, 41571 KB/s, 4 seconds passed -... 26%, 184672 KB, 41575 KB/s, 4 seconds passed -... 26%, 184704 KB, 41580 KB/s, 4 seconds passed -... 26%, 184736 KB, 41585 KB/s, 4 seconds passed -... 26%, 184768 KB, 41590 KB/s, 4 seconds passed -... 26%, 184800 KB, 41594 KB/s, 4 seconds passed -... 26%, 184832 KB, 41600 KB/s, 4 seconds passed -... 26%, 184864 KB, 41604 KB/s, 4 seconds passed -... 26%, 184896 KB, 41608 KB/s, 4 seconds passed -... 26%, 184928 KB, 41611 KB/s, 4 seconds passed -... 26%, 184960 KB, 41614 KB/s, 4 seconds passed -... 26%, 184992 KB, 41618 KB/s, 4 seconds passed -... 26%, 185024 KB, 41623 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 26%, 185056 KB, 41614 KB/s, 4 seconds passed -... 26%, 185088 KB, 41618 KB/s, 4 seconds passed -... 26%, 185120 KB, 41623 KB/s, 4 seconds passed -... 26%, 185152 KB, 41627 KB/s, 4 seconds passed -... 26%, 185184 KB, 41632 KB/s, 4 seconds passed -... 26%, 185216 KB, 41637 KB/s, 4 seconds passed -... 26%, 185248 KB, 41641 KB/s, 4 seconds passed -... 26%, 185280 KB, 41647 KB/s, 4 seconds passed -... 26%, 185312 KB, 41651 KB/s, 4 seconds passed -... 26%, 185344 KB, 41655 KB/s, 4 seconds passed -... 26%, 185376 KB, 41660 KB/s, 4 seconds passed -... 26%, 185408 KB, 41665 KB/s, 4 seconds passed -... 26%, 185440 KB, 41669 KB/s, 4 seconds passed -... 26%, 185472 KB, 41673 KB/s, 4 seconds passed -... 26%, 185504 KB, 41678 KB/s, 4 seconds passed -... 26%, 185536 KB, 41683 KB/s, 4 seconds passed -... 26%, 185568 KB, 41687 KB/s, 4 seconds passed -... 26%, 185600 KB, 41692 KB/s, 4 seconds passed -... 26%, 185632 KB, 41696 KB/s, 4 seconds passed -... 26%, 185664 KB, 41701 KB/s, 4 seconds passed -... 26%, 185696 KB, 41706 KB/s, 4 seconds passed -... 26%, 185728 KB, 41710 KB/s, 4 seconds passed -... 26%, 185760 KB, 41715 KB/s, 4 seconds passed -... 26%, 185792 KB, 41720 KB/s, 4 seconds passed -... 26%, 185824 KB, 41724 KB/s, 4 seconds passed -... 26%, 185856 KB, 41729 KB/s, 4 seconds passed -... 26%, 185888 KB, 41732 KB/s, 4 seconds passed -... 26%, 185920 KB, 41737 KB/s, 4 seconds passed -... 26%, 185952 KB, 41742 KB/s, 4 seconds passed -... 26%, 185984 KB, 41746 KB/s, 4 seconds passed -... 26%, 186016 KB, 41750 KB/s, 4 seconds passed -... 26%, 186048 KB, 41755 KB/s, 4 seconds passed -... 26%, 186080 KB, 41760 KB/s, 4 seconds passed -... 26%, 186112 KB, 41765 KB/s, 4 seconds passed -... 26%, 186144 KB, 41769 KB/s, 4 seconds passed -... 26%, 186176 KB, 41773 KB/s, 4 seconds passed -... 26%, 186208 KB, 41777 KB/s, 4 seconds passed -... 26%, 186240 KB, 41780 KB/s, 4 seconds passed -... 26%, 186272 KB, 41784 KB/s, 4 seconds passed -... 26%, 186304 KB, 41787 KB/s, 4 seconds passed -... 26%, 186336 KB, 41791 KB/s, 4 seconds passed -... 26%, 186368 KB, 41795 KB/s, 4 seconds passed -... 26%, 186400 KB, 41799 KB/s, 4 seconds passed -... 26%, 186432 KB, 41803 KB/s, 4 seconds passed -... 26%, 186464 KB, 41807 KB/s, 4 seconds passed -... 26%, 186496 KB, 41810 KB/s, 4 seconds passed -... 26%, 186528 KB, 41814 KB/s, 4 seconds passed -... 26%, 186560 KB, 41818 KB/s, 4 seconds passed -... 26%, 186592 KB, 41821 KB/s, 4 seconds passed -... 26%, 186624 KB, 41825 KB/s, 4 seconds passed -... 26%, 186656 KB, 41829 KB/s, 4 seconds passed -... 26%, 186688 KB, 41833 KB/s, 4 seconds passed -... 26%, 186720 KB, 41837 KB/s, 4 seconds passed -... 26%, 186752 KB, 41841 KB/s, 4 seconds passed -... 26%, 186784 KB, 41844 KB/s, 4 seconds passed -... 26%, 186816 KB, 41848 KB/s, 4 seconds passed -... 26%, 186848 KB, 41852 KB/s, 4 seconds passed -... 26%, 186880 KB, 41856 KB/s, 4 seconds passed -... 26%, 186912 KB, 41859 KB/s, 4 seconds passed -... 26%, 186944 KB, 41863 KB/s, 4 seconds passed -... 26%, 186976 KB, 41867 KB/s, 4 seconds passed -... 26%, 187008 KB, 41871 KB/s, 4 seconds passed -... 26%, 187040 KB, 41875 KB/s, 4 seconds passed -... 26%, 187072 KB, 41878 KB/s, 4 seconds passed -... 26%, 187104 KB, 41882 KB/s, 4 seconds passed -... 26%, 187136 KB, 41886 KB/s, 4 seconds passed -... 26%, 187168 KB, 41891 KB/s, 4 seconds passed -... 26%, 187200 KB, 41896 KB/s, 4 seconds passed -... 26%, 187232 KB, 41902 KB/s, 4 seconds passed -... 26%, 187264 KB, 41906 KB/s, 4 seconds passed -... 26%, 187296 KB, 41911 KB/s, 4 seconds passed -... 26%, 187328 KB, 41916 KB/s, 4 seconds passed -... 26%, 187360 KB, 41921 KB/s, 4 seconds passed -... 26%, 187392 KB, 41926 KB/s, 4 seconds passed -... 26%, 187424 KB, 41931 KB/s, 4 seconds passed -... 26%, 187456 KB, 41936 KB/s, 4 seconds passed -... 26%, 187488 KB, 41941 KB/s, 4 seconds passed -... 26%, 187520 KB, 41946 KB/s, 4 seconds passed -... 26%, 187552 KB, 41951 KB/s, 4 seconds passed -... 26%, 187584 KB, 41956 KB/s, 4 seconds passed -... 26%, 187616 KB, 41961 KB/s, 4 seconds passed -... 26%, 187648 KB, 41966 KB/s, 4 seconds passed -... 26%, 187680 KB, 41971 KB/s, 4 seconds passed -... 26%, 187712 KB, 41976 KB/s, 4 seconds passed -... 26%, 187744 KB, 41981 KB/s, 4 seconds passed -... 26%, 187776 KB, 41986 KB/s, 4 seconds passed -... 27%, 187808 KB, 41991 KB/s, 4 seconds passed -... 27%, 187840 KB, 41996 KB/s, 4 seconds passed -... 27%, 187872 KB, 42001 KB/s, 4 seconds passed -... 27%, 187904 KB, 42006 KB/s, 4 seconds passed -... 27%, 187936 KB, 42011 KB/s, 4 seconds passed -... 27%, 187968 KB, 42016 KB/s, 4 seconds passed -... 27%, 188000 KB, 42021 KB/s, 4 seconds passed -... 27%, 188032 KB, 42026 KB/s, 4 seconds passed -... 27%, 188064 KB, 42031 KB/s, 4 seconds passed -... 27%, 188096 KB, 42036 KB/s, 4 seconds passed -... 27%, 188128 KB, 42041 KB/s, 4 seconds passed -... 27%, 188160 KB, 42046 KB/s, 4 seconds passed -... 27%, 188192 KB, 42051 KB/s, 4 seconds passed -... 27%, 188224 KB, 42056 KB/s, 4 seconds passed -... 27%, 188256 KB, 42061 KB/s, 4 seconds passed -... 27%, 188288 KB, 42066 KB/s, 4 seconds passed -... 27%, 188320 KB, 42071 KB/s, 4 seconds passed -... 27%, 188352 KB, 42076 KB/s, 4 seconds passed -... 27%, 188384 KB, 42081 KB/s, 4 seconds passed -... 27%, 188416 KB, 42086 KB/s, 4 seconds passed -... 27%, 188448 KB, 42091 KB/s, 4 seconds passed -... 27%, 188480 KB, 42096 KB/s, 4 seconds passed -... 27%, 188512 KB, 42101 KB/s, 4 seconds passed -... 27%, 188544 KB, 42106 KB/s, 4 seconds passed -... 27%, 188576 KB, 42112 KB/s, 4 seconds passed -... 27%, 188608 KB, 42118 KB/s, 4 seconds passed -... 27%, 188640 KB, 42124 KB/s, 4 seconds passed -... 27%, 188672 KB, 42129 KB/s, 4 seconds passed -... 27%, 188704 KB, 42134 KB/s, 4 seconds passed -... 27%, 188736 KB, 42138 KB/s, 4 seconds passed -... 27%, 188768 KB, 42142 KB/s, 4 seconds passed -... 27%, 188800 KB, 42145 KB/s, 4 seconds passed -... 27%, 188832 KB, 42148 KB/s, 4 seconds passed -... 27%, 188864 KB, 42154 KB/s, 4 seconds passed -... 27%, 188896 KB, 42159 KB/s, 4 seconds passed -... 27%, 188928 KB, 42164 KB/s, 4 seconds passed -... 27%, 188960 KB, 42168 KB/s, 4 seconds passed -... 27%, 188992 KB, 42173 KB/s, 4 seconds passed -... 27%, 189024 KB, 42178 KB/s, 4 seconds passed -... 27%, 189056 KB, 42182 KB/s, 4 seconds passed -... 27%, 189088 KB, 42187 KB/s, 4 seconds passed -... 27%, 189120 KB, 42192 KB/s, 4 seconds passed -... 27%, 189152 KB, 42196 KB/s, 4 seconds passed -... 27%, 189184 KB, 42200 KB/s, 4 seconds passed -... 27%, 189216 KB, 42205 KB/s, 4 seconds passed -... 27%, 189248 KB, 42210 KB/s, 4 seconds passed -... 27%, 189280 KB, 42214 KB/s, 4 seconds passed -... 27%, 189312 KB, 42219 KB/s, 4 seconds passed -... 27%, 189344 KB, 42223 KB/s, 4 seconds passed -... 27%, 189376 KB, 42228 KB/s, 4 seconds passed -... 27%, 189408 KB, 42233 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 27%, 189440 KB, 41851 KB/s, 4 seconds passed -... 27%, 189472 KB, 41853 KB/s, 4 seconds passed -... 27%, 189504 KB, 41793 KB/s, 4 seconds passed -... 27%, 189536 KB, 41796 KB/s, 4 seconds passed -... 27%, 189568 KB, 41799 KB/s, 4 seconds passed -... 27%, 189600 KB, 41803 KB/s, 4 seconds passed -... 27%, 189632 KB, 41806 KB/s, 4 seconds passed -... 27%, 189664 KB, 41810 KB/s, 4 seconds passed -... 27%, 189696 KB, 41813 KB/s, 4 seconds passed -... 27%, 189728 KB, 41817 KB/s, 4 seconds passed -... 27%, 189760 KB, 41820 KB/s, 4 seconds passed -... 27%, 189792 KB, 41824 KB/s, 4 seconds passed -... 27%, 189824 KB, 41828 KB/s, 4 seconds passed -... 27%, 189856 KB, 41832 KB/s, 4 seconds passed -... 27%, 189888 KB, 41835 KB/s, 4 seconds passed -... 27%, 189920 KB, 41839 KB/s, 4 seconds passed -... 27%, 189952 KB, 41842 KB/s, 4 seconds passed -... 27%, 189984 KB, 41845 KB/s, 4 seconds passed -... 27%, 190016 KB, 41849 KB/s, 4 seconds passed -... 27%, 190048 KB, 41852 KB/s, 4 seconds passed -... 27%, 190080 KB, 41856 KB/s, 4 seconds passed -... 27%, 190112 KB, 41859 KB/s, 4 seconds passed -... 27%, 190144 KB, 41863 KB/s, 4 seconds passed -... 27%, 190176 KB, 41866 KB/s, 4 seconds passed -... 27%, 190208 KB, 41870 KB/s, 4 seconds passed -... 27%, 190240 KB, 41874 KB/s, 4 seconds passed -... 27%, 190272 KB, 41877 KB/s, 4 seconds passed -... 27%, 190304 KB, 41881 KB/s, 4 seconds passed -... 27%, 190336 KB, 41885 KB/s, 4 seconds passed -... 27%, 190368 KB, 41888 KB/s, 4 seconds passed -... 27%, 190400 KB, 41891 KB/s, 4 seconds passed -... 27%, 190432 KB, 41895 KB/s, 4 seconds passed -... 27%, 190464 KB, 41899 KB/s, 4 seconds passed -... 27%, 190496 KB, 41902 KB/s, 4 seconds passed -... 27%, 190528 KB, 41906 KB/s, 4 seconds passed -... 27%, 190560 KB, 41909 KB/s, 4 seconds passed -... 27%, 190592 KB, 41913 KB/s, 4 seconds passed -... 27%, 190624 KB, 41916 KB/s, 4 seconds passed -... 27%, 190656 KB, 41920 KB/s, 4 seconds passed -... 27%, 190688 KB, 41923 KB/s, 4 seconds passed -... 27%, 190720 KB, 41928 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 27%, 190752 KB, 41932 KB/s, 4 seconds passed -... 27%, 190784 KB, 41937 KB/s, 4 seconds passed -... 27%, 190816 KB, 41942 KB/s, 4 seconds passed -... 27%, 190848 KB, 41947 KB/s, 4 seconds passed -... 27%, 190880 KB, 41951 KB/s, 4 seconds passed -... 27%, 190912 KB, 41956 KB/s, 4 seconds passed -... 27%, 190944 KB, 41961 KB/s, 4 seconds passed -... 27%, 190976 KB, 41966 KB/s, 4 seconds passed -... 27%, 191008 KB, 41971 KB/s, 4 seconds passed -... 27%, 191040 KB, 41975 KB/s, 4 seconds passed -... 27%, 191072 KB, 41980 KB/s, 4 seconds passed -... 27%, 191104 KB, 41985 KB/s, 4 seconds passed -... 27%, 191136 KB, 41990 KB/s, 4 seconds passed -... 27%, 191168 KB, 41995 KB/s, 4 seconds passed -... 27%, 191200 KB, 41999 KB/s, 4 seconds passed -... 27%, 191232 KB, 42004 KB/s, 4 seconds passed -... 27%, 191264 KB, 42009 KB/s, 4 seconds passed -... 27%, 191296 KB, 42014 KB/s, 4 seconds passed -... 27%, 191328 KB, 42019 KB/s, 4 seconds passed -... 27%, 191360 KB, 42023 KB/s, 4 seconds passed -... 27%, 191392 KB, 42028 KB/s, 4 seconds passed -... 27%, 191424 KB, 42033 KB/s, 4 seconds passed -... 27%, 191456 KB, 42038 KB/s, 4 seconds passed -... 27%, 191488 KB, 42043 KB/s, 4 seconds passed -... 27%, 191520 KB, 42047 KB/s, 4 seconds passed -... 27%, 191552 KB, 42052 KB/s, 4 seconds passed -... 27%, 191584 KB, 42057 KB/s, 4 seconds passed -... 27%, 191616 KB, 42062 KB/s, 4 seconds passed -... 27%, 191648 KB, 42066 KB/s, 4 seconds passed -... 27%, 191680 KB, 42071 KB/s, 4 seconds passed -... 27%, 191712 KB, 42076 KB/s, 4 seconds passed -... 27%, 191744 KB, 42081 KB/s, 4 seconds passed -... 27%, 191776 KB, 42085 KB/s, 4 seconds passed -... 27%, 191808 KB, 42090 KB/s, 4 seconds passed -... 27%, 191840 KB, 42095 KB/s, 4 seconds passed -... 27%, 191872 KB, 42100 KB/s, 4 seconds passed -... 27%, 191904 KB, 42104 KB/s, 4 seconds passed -... 27%, 191936 KB, 42109 KB/s, 4 seconds passed -... 27%, 191968 KB, 42114 KB/s, 4 seconds passed -... 27%, 192000 KB, 42119 KB/s, 4 seconds passed -... 27%, 192032 KB, 42124 KB/s, 4 seconds passed -... 27%, 192064 KB, 42129 KB/s, 4 seconds passed -... 27%, 192096 KB, 42135 KB/s, 4 seconds passed -... 27%, 192128 KB, 42140 KB/s, 4 seconds passed -... 27%, 192160 KB, 42146 KB/s, 4 seconds passed -... 27%, 192192 KB, 42151 KB/s, 4 seconds passed -... 27%, 192224 KB, 42157 KB/s, 4 seconds passed -... 27%, 192256 KB, 42162 KB/s, 4 seconds passed -... 27%, 192288 KB, 42168 KB/s, 4 seconds passed -... 27%, 192320 KB, 42173 KB/s, 4 seconds passed -... 27%, 192352 KB, 42179 KB/s, 4 seconds passed -... 27%, 192384 KB, 42184 KB/s, 4 seconds passed -... 27%, 192416 KB, 42190 KB/s, 4 seconds passed -... 27%, 192448 KB, 42196 KB/s, 4 seconds passed -... 27%, 192480 KB, 42202 KB/s, 4 seconds passed -... 27%, 192512 KB, 42208 KB/s, 4 seconds passed -... 27%, 192544 KB, 42213 KB/s, 4 seconds passed -... 27%, 192576 KB, 42054 KB/s, 4 seconds passed -... 27%, 192608 KB, 42056 KB/s, 4 seconds passed -... 27%, 192640 KB, 42060 KB/s, 4 seconds passed -... 27%, 192672 KB, 42063 KB/s, 4 seconds passed -... 27%, 192704 KB, 42066 KB/s, 4 seconds passed -... 27%, 192736 KB, 42070 KB/s, 4 seconds passed -... 27%, 192768 KB, 42073 KB/s, 4 seconds passed -... 27%, 192800 KB, 42077 KB/s, 4 seconds passed -... 27%, 192832 KB, 42080 KB/s, 4 seconds passed -... 27%, 192864 KB, 42084 KB/s, 4 seconds passed -... 27%, 192896 KB, 42087 KB/s, 4 seconds passed -... 27%, 192928 KB, 42091 KB/s, 4 seconds passed -... 27%, 192960 KB, 42095 KB/s, 4 seconds passed -... 27%, 192992 KB, 42098 KB/s, 4 seconds passed -... 27%, 193024 KB, 42102 KB/s, 4 seconds passed -... 27%, 193056 KB, 42105 KB/s, 4 seconds passed -... 27%, 193088 KB, 42109 KB/s, 4 seconds passed -... 27%, 193120 KB, 42112 KB/s, 4 seconds passed -... 27%, 193152 KB, 42115 KB/s, 4 seconds passed -... 27%, 193184 KB, 42119 KB/s, 4 seconds passed -... 27%, 193216 KB, 42122 KB/s, 4 seconds passed -... 27%, 193248 KB, 42126 KB/s, 4 seconds passed -... 27%, 193280 KB, 42130 KB/s, 4 seconds passed -... 27%, 193312 KB, 42133 KB/s, 4 seconds passed -... 27%, 193344 KB, 42136 KB/s, 4 seconds passed -... 27%, 193376 KB, 42140 KB/s, 4 seconds passed -... 27%, 193408 KB, 42145 KB/s, 4 seconds passed -... 27%, 193440 KB, 42149 KB/s, 4 seconds passed -... 27%, 193472 KB, 42153 KB/s, 4 seconds passed -... 27%, 193504 KB, 42158 KB/s, 4 seconds passed -... 27%, 193536 KB, 42162 KB/s, 4 seconds passed -... 27%, 193568 KB, 42166 KB/s, 4 seconds passed -... 27%, 193600 KB, 42170 KB/s, 4 seconds passed -... 27%, 193632 KB, 42175 KB/s, 4 seconds passed -... 27%, 193664 KB, 42179 KB/s, 4 seconds passed -... 27%, 193696 KB, 42183 KB/s, 4 seconds passed -... 27%, 193728 KB, 42188 KB/s, 4 seconds passed -... 27%, 193760 KB, 42192 KB/s, 4 seconds passed -... 27%, 193792 KB, 42196 KB/s, 4 seconds passed -... 27%, 193824 KB, 42201 KB/s, 4 seconds passed -... 27%, 193856 KB, 42205 KB/s, 4 seconds passed -... 27%, 193888 KB, 42209 KB/s, 4 seconds passed -... 27%, 193920 KB, 42213 KB/s, 4 seconds passed -... 27%, 193952 KB, 42218 KB/s, 4 seconds passed -... 27%, 193984 KB, 42222 KB/s, 4 seconds passed -... 27%, 194016 KB, 42226 KB/s, 4 seconds passed -... 27%, 194048 KB, 42231 KB/s, 4 seconds passed -... 27%, 194080 KB, 42235 KB/s, 4 seconds passed -... 27%, 194112 KB, 42239 KB/s, 4 seconds passed -... 27%, 194144 KB, 42243 KB/s, 4 seconds passed -... 27%, 194176 KB, 42248 KB/s, 4 seconds passed -... 27%, 194208 KB, 42252 KB/s, 4 seconds passed -... 27%, 194240 KB, 42256 KB/s, 4 seconds passed -... 27%, 194272 KB, 42261 KB/s, 4 seconds passed -... 27%, 194304 KB, 42265 KB/s, 4 seconds passed -... 27%, 194336 KB, 42270 KB/s, 4 seconds passed -... 27%, 194368 KB, 42274 KB/s, 4 seconds passed -... 27%, 194400 KB, 42279 KB/s, 4 seconds passed -... 27%, 194432 KB, 42283 KB/s, 4 seconds passed -... 27%, 194464 KB, 42287 KB/s, 4 seconds passed -... 27%, 194496 KB, 42292 KB/s, 4 seconds passed -... 27%, 194528 KB, 42297 KB/s, 4 seconds passed -... 27%, 194560 KB, 42303 KB/s, 4 seconds passed -... 27%, 194592 KB, 42308 KB/s, 4 seconds passed -... 27%, 194624 KB, 42313 KB/s, 4 seconds passed -... 27%, 194656 KB, 42318 KB/s, 4 seconds passed -... 27%, 194688 KB, 42323 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 27%, 194720 KB, 42328 KB/s, 4 seconds passed -... 28%, 194752 KB, 42334 KB/s, 4 seconds passed -... 28%, 194784 KB, 42339 KB/s, 4 seconds passed -... 28%, 194816 KB, 42344 KB/s, 4 seconds passed -... 28%, 194848 KB, 42349 KB/s, 4 seconds passed -... 28%, 194880 KB, 42354 KB/s, 4 seconds passed -... 28%, 194912 KB, 42359 KB/s, 4 seconds passed -... 28%, 194944 KB, 42364 KB/s, 4 seconds passed -... 28%, 194976 KB, 42370 KB/s, 4 seconds passed -... 28%, 195008 KB, 42375 KB/s, 4 seconds passed -... 28%, 195040 KB, 42380 KB/s, 4 seconds passed -... 28%, 195072 KB, 42385 KB/s, 4 seconds passed -... 28%, 195104 KB, 42391 KB/s, 4 seconds passed -... 28%, 195136 KB, 42396 KB/s, 4 seconds passed -... 28%, 195168 KB, 42401 KB/s, 4 seconds passed -... 28%, 195200 KB, 42406 KB/s, 4 seconds passed -... 28%, 195232 KB, 42411 KB/s, 4 seconds passed -... 28%, 195264 KB, 42417 KB/s, 4 seconds passed -... 28%, 195296 KB, 42422 KB/s, 4 seconds passed -... 28%, 195328 KB, 42427 KB/s, 4 seconds passed -... 28%, 195360 KB, 42432 KB/s, 4 seconds passed -... 28%, 195392 KB, 42437 KB/s, 4 seconds passed -... 28%, 195424 KB, 42443 KB/s, 4 seconds passed -... 28%, 195456 KB, 42448 KB/s, 4 seconds passed -... 28%, 195488 KB, 42453 KB/s, 4 seconds passed -... 28%, 195520 KB, 42458 KB/s, 4 seconds passed -... 28%, 195552 KB, 42463 KB/s, 4 seconds passed -... 28%, 195584 KB, 42468 KB/s, 4 seconds passed -... 28%, 195616 KB, 42473 KB/s, 4 seconds passed -... 28%, 195648 KB, 42477 KB/s, 4 seconds passed -... 28%, 195680 KB, 42482 KB/s, 4 seconds passed -... 28%, 195712 KB, 42486 KB/s, 4 seconds passed -... 28%, 195744 KB, 42490 KB/s, 4 seconds passed -... 28%, 195776 KB, 42495 KB/s, 4 seconds passed -... 28%, 195808 KB, 42499 KB/s, 4 seconds passed -... 28%, 195840 KB, 42504 KB/s, 4 seconds passed -... 28%, 195872 KB, 42508 KB/s, 4 seconds passed -... 28%, 195904 KB, 42513 KB/s, 4 seconds passed -... 28%, 195936 KB, 42517 KB/s, 4 seconds passed -... 28%, 195968 KB, 42522 KB/s, 4 seconds passed -... 28%, 196000 KB, 42526 KB/s, 4 seconds passed -... 28%, 196032 KB, 42530 KB/s, 4 seconds passed -... 28%, 196064 KB, 42535 KB/s, 4 seconds passed -... 28%, 196096 KB, 42539 KB/s, 4 seconds passed -... 28%, 196128 KB, 42542 KB/s, 4 seconds passed -... 28%, 196160 KB, 42545 KB/s, 4 seconds passed -... 28%, 196192 KB, 42548 KB/s, 4 seconds passed -... 28%, 196224 KB, 42553 KB/s, 4 seconds passed -... 28%, 196256 KB, 42559 KB/s, 4 seconds passed -... 28%, 196288 KB, 42565 KB/s, 4 seconds passed -... 28%, 196320 KB, 42569 KB/s, 4 seconds passed -... 28%, 196352 KB, 42572 KB/s, 4 seconds passed -... 28%, 196384 KB, 42575 KB/s, 4 seconds passed -... 28%, 196416 KB, 42578 KB/s, 4 seconds passed -... 28%, 196448 KB, 42584 KB/s, 4 seconds passed -... 28%, 196480 KB, 42590 KB/s, 4 seconds passed -... 28%, 196512 KB, 42595 KB/s, 4 seconds passed -... 28%, 196544 KB, 42600 KB/s, 4 seconds passed -... 28%, 196576 KB, 42603 KB/s, 4 seconds passed -... 28%, 196608 KB, 42607 KB/s, 4 seconds passed -... 28%, 196640 KB, 42613 KB/s, 4 seconds passed -... 28%, 196672 KB, 42618 KB/s, 4 seconds passed -... 28%, 196704 KB, 42621 KB/s, 4 seconds passed -... 28%, 196736 KB, 42624 KB/s, 4 seconds passed -... 28%, 196768 KB, 42627 KB/s, 4 seconds passed -... 28%, 196800 KB, 42632 KB/s, 4 seconds passed -... 28%, 196832 KB, 42638 KB/s, 4 seconds passed -... 28%, 196864 KB, 42643 KB/s, 4 seconds passed -... 28%, 196896 KB, 42647 KB/s, 4 seconds passed -... 28%, 196928 KB, 42652 KB/s, 4 seconds passed -... 28%, 196960 KB, 42656 KB/s, 4 seconds passed -... 28%, 196992 KB, 42661 KB/s, 4 seconds passed -... 28%, 197024 KB, 42666 KB/s, 4 seconds passed -... 28%, 197056 KB, 42670 KB/s, 4 seconds passed -... 28%, 197088 KB, 42674 KB/s, 4 seconds passed -... 28%, 197120 KB, 42679 KB/s, 4 seconds passed -... 28%, 197152 KB, 42683 KB/s, 4 seconds passed -... 28%, 197184 KB, 42687 KB/s, 4 seconds passed -... 28%, 197216 KB, 42692 KB/s, 4 seconds passed -... 28%, 197248 KB, 42696 KB/s, 4 seconds passed -... 28%, 197280 KB, 42699 KB/s, 4 seconds passed -... 28%, 197312 KB, 42705 KB/s, 4 seconds passed -... 28%, 197344 KB, 42709 KB/s, 4 seconds passed -... 28%, 197376 KB, 42712 KB/s, 4 seconds passed -... 28%, 197408 KB, 42715 KB/s, 4 seconds passed -... 28%, 197440 KB, 42718 KB/s, 4 seconds passed -... 28%, 197472 KB, 42722 KB/s, 4 seconds passed -... 28%, 197504 KB, 42728 KB/s, 4 seconds passed -... 28%, 197536 KB, 42734 KB/s, 4 seconds passed -... 28%, 197568 KB, 42739 KB/s, 4 seconds passed -... 28%, 197600 KB, 42743 KB/s, 4 seconds passed -... 28%, 197632 KB, 42747 KB/s, 4 seconds passed -... 28%, 197664 KB, 42750 KB/s, 4 seconds passed -... 28%, 197696 KB, 42754 KB/s, 4 seconds passed -... 28%, 197728 KB, 42759 KB/s, 4 seconds passed -... 28%, 197760 KB, 42765 KB/s, 4 seconds passed -... 28%, 197792 KB, 42770 KB/s, 4 seconds passed -... 28%, 197824 KB, 42774 KB/s, 4 seconds passed -... 28%, 197856 KB, 42779 KB/s, 4 seconds passed -... 28%, 197888 KB, 42783 KB/s, 4 seconds passed -... 28%, 197920 KB, 42787 KB/s, 4 seconds passed -... 28%, 197952 KB, 42792 KB/s, 4 seconds passed -... 28%, 197984 KB, 42796 KB/s, 4 seconds passed -... 28%, 198016 KB, 42800 KB/s, 4 seconds passed -... 28%, 198048 KB, 42804 KB/s, 4 seconds passed -... 28%, 198080 KB, 42809 KB/s, 4 seconds passed -... 28%, 198112 KB, 42813 KB/s, 4 seconds passed -... 28%, 198144 KB, 42818 KB/s, 4 seconds passed -... 28%, 198176 KB, 42822 KB/s, 4 seconds passed -... 28%, 198208 KB, 42826 KB/s, 4 seconds passed -... 28%, 198240 KB, 42831 KB/s, 4 seconds passed -... 28%, 198272 KB, 42835 KB/s, 4 seconds passed -... 28%, 198304 KB, 42838 KB/s, 4 seconds passed -... 28%, 198336 KB, 42842 KB/s, 4 seconds passed -... 28%, 198368 KB, 42845 KB/s, 4 seconds passed -... 28%, 198400 KB, 42849 KB/s, 4 seconds passed -... 28%, 198432 KB, 42855 KB/s, 4 seconds passed -... 28%, 198464 KB, 42861 KB/s, 4 seconds passed -... 28%, 198496 KB, 42865 KB/s, 4 seconds passed -... 28%, 198528 KB, 42868 KB/s, 4 seconds passed -... 28%, 198560 KB, 42871 KB/s, 4 seconds passed -... 28%, 198592 KB, 42874 KB/s, 4 seconds passed -... 28%, 198624 KB, 42879 KB/s, 4 seconds passed -... 28%, 198656 KB, 42885 KB/s, 4 seconds passed -... 28%, 198688 KB, 42890 KB/s, 4 seconds passed -... 28%, 198720 KB, 42895 KB/s, 4 seconds passed -... 28%, 198752 KB, 42900 KB/s, 4 seconds passed -... 28%, 198784 KB, 42904 KB/s, 4 seconds passed -... 28%, 198816 KB, 42908 KB/s, 4 seconds passed -... 28%, 198848 KB, 42913 KB/s, 4 seconds passed -... 28%, 198880 KB, 42917 KB/s, 4 seconds passed -... 28%, 198912 KB, 42921 KB/s, 4 seconds passed -... 28%, 198944 KB, 42926 KB/s, 4 seconds passed -... 28%, 198976 KB, 42930 KB/s, 4 seconds passed -... 28%, 199008 KB, 42934 KB/s, 4 seconds passed -... 28%, 199040 KB, 42939 KB/s, 4 seconds passed -... 28%, 199072 KB, 42943 KB/s, 4 seconds passed -... 28%, 199104 KB, 42947 KB/s, 4 seconds passed -... 28%, 199136 KB, 42951 KB/s, 4 seconds passed -... 28%, 199168 KB, 42955 KB/s, 4 seconds passed -... 28%, 199200 KB, 42958 KB/s, 4 seconds passed -... 28%, 199232 KB, 42963 KB/s, 4 seconds passed -... 28%, 199264 KB, 42969 KB/s, 4 seconds passed -... 28%, 199296 KB, 42973 KB/s, 4 seconds passed -... 28%, 199328 KB, 42976 KB/s, 4 seconds passed -... 28%, 199360 KB, 42981 KB/s, 4 seconds passed -... 28%, 199392 KB, 42986 KB/s, 4 seconds passed -... 28%, 199424 KB, 42991 KB/s, 4 seconds passed -... 28%, 199456 KB, 42995 KB/s, 4 seconds passed -... 28%, 199488 KB, 42999 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 28%, 199520 KB, 42733 KB/s, 4 seconds passed -... 28%, 199552 KB, 42735 KB/s, 4 seconds passed -... 28%, 199584 KB, 42739 KB/s, 4 seconds passed -... 28%, 199616 KB, 42742 KB/s, 4 seconds passed -... 28%, 199648 KB, 42746 KB/s, 4 seconds passed -... 28%, 199680 KB, 42749 KB/s, 4 seconds passed -... 28%, 199712 KB, 42753 KB/s, 4 seconds passed -... 28%, 199744 KB, 42756 KB/s, 4 seconds passed -... 28%, 199776 KB, 42760 KB/s, 4 seconds passed -... 28%, 199808 KB, 42763 KB/s, 4 seconds passed -... 28%, 199840 KB, 42766 KB/s, 4 seconds passed -... 28%, 199872 KB, 42770 KB/s, 4 seconds passed -... 28%, 199904 KB, 42773 KB/s, 4 seconds passed -... 28%, 199936 KB, 42777 KB/s, 4 seconds passed -... 28%, 199968 KB, 42780 KB/s, 4 seconds passed -... 28%, 200000 KB, 42784 KB/s, 4 seconds passed -... 28%, 200032 KB, 42787 KB/s, 4 seconds passed -... 28%, 200064 KB, 42791 KB/s, 4 seconds passed -... 28%, 200096 KB, 42794 KB/s, 4 seconds passed -... 28%, 200128 KB, 42798 KB/s, 4 seconds passed -... 28%, 200160 KB, 42801 KB/s, 4 seconds passed -... 28%, 200192 KB, 42805 KB/s, 4 seconds passed -... 28%, 200224 KB, 42808 KB/s, 4 seconds passed -... 28%, 200256 KB, 42812 KB/s, 4 seconds passed -... 28%, 200288 KB, 42815 KB/s, 4 seconds passed -... 28%, 200320 KB, 42819 KB/s, 4 seconds passed -... 28%, 200352 KB, 42822 KB/s, 4 seconds passed -... 28%, 200384 KB, 42826 KB/s, 4 seconds passed -... 28%, 200416 KB, 42829 KB/s, 4 seconds passed -... 28%, 200448 KB, 42833 KB/s, 4 seconds passed -... 28%, 200480 KB, 42838 KB/s, 4 seconds passed -... 28%, 200512 KB, 42843 KB/s, 4 seconds passed -... 28%, 200544 KB, 42847 KB/s, 4 seconds passed -... 28%, 200576 KB, 42852 KB/s, 4 seconds passed -... 28%, 200608 KB, 42856 KB/s, 4 seconds passed -... 28%, 200640 KB, 42861 KB/s, 4 seconds passed -... 28%, 200672 KB, 42866 KB/s, 4 seconds passed -... 28%, 200704 KB, 42870 KB/s, 4 seconds passed -... 28%, 200736 KB, 42875 KB/s, 4 seconds passed -... 28%, 200768 KB, 42880 KB/s, 4 seconds passed -... 28%, 200800 KB, 42885 KB/s, 4 seconds passed -... 28%, 200832 KB, 42889 KB/s, 4 seconds passed -... 28%, 200864 KB, 42894 KB/s, 4 seconds passed -... 28%, 200896 KB, 42899 KB/s, 4 seconds passed -... 28%, 200928 KB, 42904 KB/s, 4 seconds passed -... 28%, 200960 KB, 42908 KB/s, 4 seconds passed -... 28%, 200992 KB, 42913 KB/s, 4 seconds passed -... 28%, 201024 KB, 42918 KB/s, 4 seconds passed -... 28%, 201056 KB, 42922 KB/s, 4 seconds passed -... 28%, 201088 KB, 42927 KB/s, 4 seconds passed -... 28%, 201120 KB, 42932 KB/s, 4 seconds passed -... 28%, 201152 KB, 42936 KB/s, 4 seconds passed -... 28%, 201184 KB, 42941 KB/s, 4 seconds passed -... 28%, 201216 KB, 42946 KB/s, 4 seconds passed -... 28%, 201248 KB, 42950 KB/s, 4 seconds passed -... 28%, 201280 KB, 42955 KB/s, 4 seconds passed -... 28%, 201312 KB, 42960 KB/s, 4 seconds passed -... 28%, 201344 KB, 42965 KB/s, 4 seconds passed -... 28%, 201376 KB, 42969 KB/s, 4 seconds passed -... 28%, 201408 KB, 42974 KB/s, 4 seconds passed -... 28%, 201440 KB, 42979 KB/s, 4 seconds passed -... 28%, 201472 KB, 42983 KB/s, 4 seconds passed -... 28%, 201504 KB, 42988 KB/s, 4 seconds passed -... 28%, 201536 KB, 42993 KB/s, 4 seconds passed -... 28%, 201568 KB, 42997 KB/s, 4 seconds passed -... 28%, 201600 KB, 43002 KB/s, 4 seconds passed -... 28%, 201632 KB, 43007 KB/s, 4 seconds passed -... 28%, 201664 KB, 43011 KB/s, 4 seconds passed -... 28%, 201696 KB, 43016 KB/s, 4 seconds passed -... 29%, 201728 KB, 43021 KB/s, 4 seconds passed -... 29%, 201760 KB, 43025 KB/s, 4 seconds passed -... 29%, 201792 KB, 43030 KB/s, 4 seconds passed -... 29%, 201824 KB, 43035 KB/s, 4 seconds passed -... 29%, 201856 KB, 43040 KB/s, 4 seconds passed -... 29%, 201888 KB, 43046 KB/s, 4 seconds passed -... 29%, 201920 KB, 43051 KB/s, 4 seconds passed -... 29%, 201952 KB, 43056 KB/s, 4 seconds passed -... 29%, 201984 KB, 43062 KB/s, 4 seconds passed -... 29%, 202016 KB, 43067 KB/s, 4 seconds passed -... 29%, 202048 KB, 43072 KB/s, 4 seconds passed -... 29%, 202080 KB, 43076 KB/s, 4 seconds passed -... 29%, 202112 KB, 43080 KB/s, 4 seconds passed -... 29%, 202144 KB, 43084 KB/s, 4 seconds passed -... 29%, 202176 KB, 43089 KB/s, 4 seconds passed -... 29%, 202208 KB, 43093 KB/s, 4 seconds passed -... 29%, 202240 KB, 43097 KB/s, 4 seconds passed -... 29%, 202272 KB, 43102 KB/s, 4 seconds passed -... 29%, 202304 KB, 43106 KB/s, 4 seconds passed -... 29%, 202336 KB, 43110 KB/s, 4 seconds passed -... 29%, 202368 KB, 43113 KB/s, 4 seconds passed -... 29%, 202400 KB, 43117 KB/s, 4 seconds passed -... 29%, 202432 KB, 43120 KB/s, 4 seconds passed -... 29%, 202464 KB, 43125 KB/s, 4 seconds passed -... 29%, 202496 KB, 43130 KB/s, 4 seconds passed -... 29%, 202528 KB, 43135 KB/s, 4 seconds passed -... 29%, 202560 KB, 43139 KB/s, 4 seconds passed -... 29%, 202592 KB, 43142 KB/s, 4 seconds passed -... 29%, 202624 KB, 43146 KB/s, 4 seconds passed -... 29%, 202656 KB, 43151 KB/s, 4 seconds passed -... 29%, 202688 KB, 43156 KB/s, 4 seconds passed -... 29%, 202720 KB, 43160 KB/s, 4 seconds passed -... 29%, 202752 KB, 43164 KB/s, 4 seconds passed -... 29%, 202784 KB, 43169 KB/s, 4 seconds passed -... 29%, 202816 KB, 43173 KB/s, 4 seconds passed -... 29%, 202848 KB, 43178 KB/s, 4 seconds passed -... 29%, 202880 KB, 43181 KB/s, 4 seconds passed -... 29%, 202912 KB, 43185 KB/s, 4 seconds passed -... 29%, 202944 KB, 43190 KB/s, 4 seconds passed -... 29%, 202976 KB, 43194 KB/s, 4 seconds passed -... 29%, 203008 KB, 43199 KB/s, 4 seconds passed -... 29%, 203040 KB, 43203 KB/s, 4 seconds passed -... 29%, 203072 KB, 43207 KB/s, 4 seconds passed -... 29%, 203104 KB, 43211 KB/s, 4 seconds passed -... 29%, 203136 KB, 43215 KB/s, 4 seconds passed -... 29%, 203168 KB, 43219 KB/s, 4 seconds passed -... 29%, 203200 KB, 43224 KB/s, 4 seconds passed -... 29%, 203232 KB, 43228 KB/s, 4 seconds passed -... 29%, 203264 KB, 43232 KB/s, 4 seconds passed -... 29%, 203296 KB, 43236 KB/s, 4 seconds passed -... 29%, 203328 KB, 43241 KB/s, 4 seconds passed -... 29%, 203360 KB, 43245 KB/s, 4 seconds passed -... 29%, 203392 KB, 43249 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 29%, 203424 KB, 43254 KB/s, 4 seconds passed -... 29%, 203456 KB, 43257 KB/s, 4 seconds passed -... 29%, 203488 KB, 43262 KB/s, 4 seconds passed -... 29%, 203520 KB, 43266 KB/s, 4 seconds passed -... 29%, 203552 KB, 43271 KB/s, 4 seconds passed -... 29%, 203584 KB, 43275 KB/s, 4 seconds passed -... 29%, 203616 KB, 43279 KB/s, 4 seconds passed -... 29%, 203648 KB, 43284 KB/s, 4 seconds passed -... 29%, 203680 KB, 43289 KB/s, 4 seconds passed -... 29%, 203712 KB, 43293 KB/s, 4 seconds passed -... 29%, 203744 KB, 43297 KB/s, 4 seconds passed -... 29%, 203776 KB, 43300 KB/s, 4 seconds passed -... 29%, 203808 KB, 43304 KB/s, 4 seconds passed -... 29%, 203840 KB, 43309 KB/s, 4 seconds passed -... 29%, 203872 KB, 43312 KB/s, 4 seconds passed -... 29%, 203904 KB, 43316 KB/s, 4 seconds passed -... 29%, 203936 KB, 43319 KB/s, 4 seconds passed -... 29%, 203968 KB, 43323 KB/s, 4 seconds passed -... 29%, 204000 KB, 43328 KB/s, 4 seconds passed -... 29%, 204032 KB, 43334 KB/s, 4 seconds passed -... 29%, 204064 KB, 43338 KB/s, 4 seconds passed -... 29%, 204096 KB, 43343 KB/s, 4 seconds passed -... 29%, 204128 KB, 43347 KB/s, 4 seconds passed -... 29%, 204160 KB, 43352 KB/s, 4 seconds passed -... 29%, 204192 KB, 43356 KB/s, 4 seconds passed -... 29%, 204224 KB, 43359 KB/s, 4 seconds passed -... 29%, 204256 KB, 43364 KB/s, 4 seconds passed -... 29%, 204288 KB, 43369 KB/s, 4 seconds passed -... 29%, 204320 KB, 43373 KB/s, 4 seconds passed -... 29%, 204352 KB, 43377 KB/s, 4 seconds passed -... 29%, 204384 KB, 43381 KB/s, 4 seconds passed -... 29%, 204416 KB, 43384 KB/s, 4 seconds passed -... 29%, 204448 KB, 43389 KB/s, 4 seconds passed -... 29%, 204480 KB, 43394 KB/s, 4 seconds passed -... 29%, 204512 KB, 43398 KB/s, 4 seconds passed -... 29%, 204544 KB, 43401 KB/s, 4 seconds passed -... 29%, 204576 KB, 43405 KB/s, 4 seconds passed -... 29%, 204608 KB, 43410 KB/s, 4 seconds passed -... 29%, 204640 KB, 43415 KB/s, 4 seconds passed -... 29%, 204672 KB, 43420 KB/s, 4 seconds passed -... 29%, 204704 KB, 43424 KB/s, 4 seconds passed -... 29%, 204736 KB, 43428 KB/s, 4 seconds passed -... 29%, 204768 KB, 43432 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 29%, 204800 KB, 43013 KB/s, 4 seconds passed -... 29%, 204832 KB, 43016 KB/s, 4 seconds passed -... 29%, 204864 KB, 43019 KB/s, 4 seconds passed -... 29%, 204896 KB, 43022 KB/s, 4 seconds passed -... 29%, 204928 KB, 43026 KB/s, 4 seconds passed -... 29%, 204960 KB, 43029 KB/s, 4 seconds passed -... 29%, 204992 KB, 43033 KB/s, 4 seconds passed -... 29%, 205024 KB, 43036 KB/s, 4 seconds passed -... 29%, 205056 KB, 43039 KB/s, 4 seconds passed -... 29%, 205088 KB, 43043 KB/s, 4 seconds passed -... 29%, 205120 KB, 43046 KB/s, 4 seconds passed -... 29%, 205152 KB, 43049 KB/s, 4 seconds passed -... 29%, 205184 KB, 43053 KB/s, 4 seconds passed -... 29%, 205216 KB, 43056 KB/s, 4 seconds passed -... 29%, 205248 KB, 43059 KB/s, 4 seconds passed -... 29%, 205280 KB, 43063 KB/s, 4 seconds passed -... 29%, 205312 KB, 43066 KB/s, 4 seconds passed -... 29%, 205344 KB, 43070 KB/s, 4 seconds passed -... 29%, 205376 KB, 43073 KB/s, 4 seconds passed -... 29%, 205408 KB, 43076 KB/s, 4 seconds passed -... 29%, 205440 KB, 43080 KB/s, 4 seconds passed -... 29%, 205472 KB, 43083 KB/s, 4 seconds passed -... 29%, 205504 KB, 43086 KB/s, 4 seconds passed -... 29%, 205536 KB, 43090 KB/s, 4 seconds passed -... 29%, 205568 KB, 43093 KB/s, 4 seconds passed -... 29%, 205600 KB, 43097 KB/s, 4 seconds passed -... 29%, 205632 KB, 43101 KB/s, 4 seconds passed -... 29%, 205664 KB, 43105 KB/s, 4 seconds passed -... 29%, 205696 KB, 43109 KB/s, 4 seconds passed -... 29%, 205728 KB, 43113 KB/s, 4 seconds passed -... 29%, 205760 KB, 43117 KB/s, 4 seconds passed -... 29%, 205792 KB, 43121 KB/s, 4 seconds passed -... 29%, 205824 KB, 43125 KB/s, 4 seconds passed -... 29%, 205856 KB, 43129 KB/s, 4 seconds passed -... 29%, 205888 KB, 43133 KB/s, 4 seconds passed -... 29%, 205920 KB, 43137 KB/s, 4 seconds passed -... 29%, 205952 KB, 43141 KB/s, 4 seconds passed -... 29%, 205984 KB, 43145 KB/s, 4 seconds passed -... 29%, 206016 KB, 43149 KB/s, 4 seconds passed -... 29%, 206048 KB, 43153 KB/s, 4 seconds passed -... 29%, 206080 KB, 43157 KB/s, 4 seconds passed -... 29%, 206112 KB, 43161 KB/s, 4 seconds passed -... 29%, 206144 KB, 43165 KB/s, 4 seconds passed -... 29%, 206176 KB, 43169 KB/s, 4 seconds passed -... 29%, 206208 KB, 43173 KB/s, 4 seconds passed -... 29%, 206240 KB, 43177 KB/s, 4 seconds passed -... 29%, 206272 KB, 43181 KB/s, 4 seconds passed -... 29%, 206304 KB, 43185 KB/s, 4 seconds passed -... 29%, 206336 KB, 43189 KB/s, 4 seconds passed -... 29%, 206368 KB, 43193 KB/s, 4 seconds passed -... 29%, 206400 KB, 43197 KB/s, 4 seconds passed -... 29%, 206432 KB, 43201 KB/s, 4 seconds passed -... 29%, 206464 KB, 43205 KB/s, 4 seconds passed -... 29%, 206496 KB, 43209 KB/s, 4 seconds passed -... 29%, 206528 KB, 43213 KB/s, 4 seconds passed -... 29%, 206560 KB, 43217 KB/s, 4 seconds passed -... 29%, 206592 KB, 43221 KB/s, 4 seconds passed -... 29%, 206624 KB, 43225 KB/s, 4 seconds passed -... 29%, 206656 KB, 43230 KB/s, 4 seconds passed -... 29%, 206688 KB, 43233 KB/s, 4 seconds passed -... 29%, 206720 KB, 43237 KB/s, 4 seconds passed -... 29%, 206752 KB, 43242 KB/s, 4 seconds passed -... 29%, 206784 KB, 43247 KB/s, 4 seconds passed -... 29%, 206816 KB, 43252 KB/s, 4 seconds passed -... 29%, 206848 KB, 43257 KB/s, 4 seconds passed -... 29%, 206880 KB, 43261 KB/s, 4 seconds passed -... 29%, 206912 KB, 43266 KB/s, 4 seconds passed -... 29%, 206944 KB, 43271 KB/s, 4 seconds passed -... 29%, 206976 KB, 43276 KB/s, 4 seconds passed -... 29%, 207008 KB, 43281 KB/s, 4 seconds passed -... 29%, 207040 KB, 43286 KB/s, 4 seconds passed -... 29%, 207072 KB, 43290 KB/s, 4 seconds passed -... 29%, 207104 KB, 43295 KB/s, 4 seconds passed -... 29%, 207136 KB, 43300 KB/s, 4 seconds passed -... 29%, 207168 KB, 43305 KB/s, 4 seconds passed -... 29%, 207200 KB, 43310 KB/s, 4 seconds passed -... 29%, 207232 KB, 43315 KB/s, 4 seconds passed -... 29%, 207264 KB, 43319 KB/s, 4 seconds passed -... 29%, 207296 KB, 43324 KB/s, 4 seconds passed -... 29%, 207328 KB, 43329 KB/s, 4 seconds passed -... 29%, 207360 KB, 43334 KB/s, 4 seconds passed -... 29%, 207392 KB, 43339 KB/s, 4 seconds passed -... 29%, 207424 KB, 43344 KB/s, 4 seconds passed -... 29%, 207456 KB, 43349 KB/s, 4 seconds passed -... 29%, 207488 KB, 43353 KB/s, 4 seconds passed -... 29%, 207520 KB, 43358 KB/s, 4 seconds passed -... 29%, 207552 KB, 43363 KB/s, 4 seconds passed -... 29%, 207584 KB, 43368 KB/s, 4 seconds passed -... 29%, 207616 KB, 43373 KB/s, 4 seconds passed -... 29%, 207648 KB, 43378 KB/s, 4 seconds passed -... 29%, 207680 KB, 43383 KB/s, 4 seconds passed -... 29%, 207712 KB, 43388 KB/s, 4 seconds passed -... 29%, 207744 KB, 43393 KB/s, 4 seconds passed -... 29%, 207776 KB, 43397 KB/s, 4 seconds passed -... 29%, 207808 KB, 43402 KB/s, 4 seconds passed -... 29%, 207840 KB, 43407 KB/s, 4 seconds passed -... 29%, 207872 KB, 43412 KB/s, 4 seconds passed -... 29%, 207904 KB, 43417 KB/s, 4 seconds passed -... 29%, 207936 KB, 43422 KB/s, 4 seconds passed -... 29%, 207968 KB, 43426 KB/s, 4 seconds passed -... 29%, 208000 KB, 43430 KB/s, 4 seconds passed -... 29%, 208032 KB, 43435 KB/s, 4 seconds passed -... 29%, 208064 KB, 43439 KB/s, 4 seconds passed -... 29%, 208096 KB, 43443 KB/s, 4 seconds passed -... 29%, 208128 KB, 43447 KB/s, 4 seconds passed -... 29%, 208160 KB, 43451 KB/s, 4 seconds passed -... 29%, 208192 KB, 43455 KB/s, 4 seconds passed -... 29%, 208224 KB, 43459 KB/s, 4 seconds passed -... 29%, 208256 KB, 43463 KB/s, 4 seconds passed -... 29%, 208288 KB, 43467 KB/s, 4 seconds passed -... 29%, 208320 KB, 43471 KB/s, 4 seconds passed -... 29%, 208352 KB, 43476 KB/s, 4 seconds passed -... 29%, 208384 KB, 43480 KB/s, 4 seconds passed -... 29%, 208416 KB, 43484 KB/s, 4 seconds passed -... 29%, 208448 KB, 43488 KB/s, 4 seconds passed -... 29%, 208480 KB, 43491 KB/s, 4 seconds passed -... 29%, 208512 KB, 43494 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 29%, 208544 KB, 43379 KB/s, 4 seconds passed -... 29%, 208576 KB, 43381 KB/s, 4 seconds passed -... 29%, 208608 KB, 43385 KB/s, 4 seconds passed -... 29%, 208640 KB, 43388 KB/s, 4 seconds passed -... 30%, 208672 KB, 43391 KB/s, 4 seconds passed -... 30%, 208704 KB, 43394 KB/s, 4 seconds passed -... 30%, 208736 KB, 43398 KB/s, 4 seconds passed -... 30%, 208768 KB, 43401 KB/s, 4 seconds passed -... 30%, 208800 KB, 43405 KB/s, 4 seconds passed -... 30%, 208832 KB, 43408 KB/s, 4 seconds passed -... 30%, 208864 KB, 43411 KB/s, 4 seconds passed -... 30%, 208896 KB, 43415 KB/s, 4 seconds passed -... 30%, 208928 KB, 43418 KB/s, 4 seconds passed -... 30%, 208960 KB, 43422 KB/s, 4 seconds passed -... 30%, 208992 KB, 43425 KB/s, 4 seconds passed -... 30%, 209024 KB, 43428 KB/s, 4 seconds passed -... 30%, 209056 KB, 43431 KB/s, 4 seconds passed -... 30%, 209088 KB, 43435 KB/s, 4 seconds passed -... 30%, 209120 KB, 43438 KB/s, 4 seconds passed -... 30%, 209152 KB, 43441 KB/s, 4 seconds passed -... 30%, 209184 KB, 43445 KB/s, 4 seconds passed -... 30%, 209216 KB, 43448 KB/s, 4 seconds passed -... 30%, 209248 KB, 43451 KB/s, 4 seconds passed -... 30%, 209280 KB, 43455 KB/s, 4 seconds passed -... 30%, 209312 KB, 43458 KB/s, 4 seconds passed -... 30%, 209344 KB, 43461 KB/s, 4 seconds passed -... 30%, 209376 KB, 43465 KB/s, 4 seconds passed -... 30%, 209408 KB, 43468 KB/s, 4 seconds passed -... 30%, 209440 KB, 43472 KB/s, 4 seconds passed -... 30%, 209472 KB, 43475 KB/s, 4 seconds passed -... 30%, 209504 KB, 43478 KB/s, 4 seconds passed -... 30%, 209536 KB, 43481 KB/s, 4 seconds passed -... 30%, 209568 KB, 43485 KB/s, 4 seconds passed -... 30%, 209600 KB, 43488 KB/s, 4 seconds passed -... 30%, 209632 KB, 43492 KB/s, 4 seconds passed -... 30%, 209664 KB, 43497 KB/s, 4 seconds passed -... 30%, 209696 KB, 43500 KB/s, 4 seconds passed -... 30%, 209728 KB, 43505 KB/s, 4 seconds passed -... 30%, 209760 KB, 43509 KB/s, 4 seconds passed -... 30%, 209792 KB, 43514 KB/s, 4 seconds passed -... 30%, 209824 KB, 43519 KB/s, 4 seconds passed -... 30%, 209856 KB, 43524 KB/s, 4 seconds passed -... 30%, 209888 KB, 43529 KB/s, 4 seconds passed -... 30%, 209920 KB, 43409 KB/s, 4 seconds passed -... 30%, 209952 KB, 43408 KB/s, 4 seconds passed -... 30%, 209984 KB, 43410 KB/s, 4 seconds passed -... 30%, 210016 KB, 43412 KB/s, 4 seconds passed -... 30%, 210048 KB, 43415 KB/s, 4 seconds passed -... 30%, 210080 KB, 43418 KB/s, 4 seconds passed -... 30%, 210112 KB, 43421 KB/s, 4 seconds passed -... 30%, 210144 KB, 43425 KB/s, 4 seconds passed -... 30%, 210176 KB, 43428 KB/s, 4 seconds passed -... 30%, 210208 KB, 43431 KB/s, 4 seconds passed -... 30%, 210240 KB, 43434 KB/s, 4 seconds passed -... 30%, 210272 KB, 43437 KB/s, 4 seconds passed -... 30%, 210304 KB, 43440 KB/s, 4 seconds passed -... 30%, 210336 KB, 43444 KB/s, 4 seconds passed -... 30%, 210368 KB, 43448 KB/s, 4 seconds passed -... 30%, 210400 KB, 43452 KB/s, 4 seconds passed -... 30%, 210432 KB, 43434 KB/s, 4 seconds passed -... 30%, 210464 KB, 43437 KB/s, 4 seconds passed -... 30%, 210496 KB, 43440 KB/s, 4 seconds passed -... 30%, 210528 KB, 43443 KB/s, 4 seconds passed -... 30%, 210560 KB, 43446 KB/s, 4 seconds passed -... 30%, 210592 KB, 43449 KB/s, 4 seconds passed -... 30%, 210624 KB, 43453 KB/s, 4 seconds passed -... 30%, 210656 KB, 43456 KB/s, 4 seconds passed -... 30%, 210688 KB, 43459 KB/s, 4 seconds passed -... 30%, 210720 KB, 43463 KB/s, 4 seconds passed -... 30%, 210752 KB, 43466 KB/s, 4 seconds passed -... 30%, 210784 KB, 43469 KB/s, 4 seconds passed -... 30%, 210816 KB, 43473 KB/s, 4 seconds passed -... 30%, 210848 KB, 43477 KB/s, 4 seconds passed -... 30%, 210880 KB, 43473 KB/s, 4 seconds passed -... 30%, 210912 KB, 43476 KB/s, 4 seconds passed -... 30%, 210944 KB, 43479 KB/s, 4 seconds passed -... 30%, 210976 KB, 43482 KB/s, 4 seconds passed -... 30%, 211008 KB, 43476 KB/s, 4 seconds passed -... 30%, 211040 KB, 43479 KB/s, 4 seconds passed -... 30%, 211072 KB, 43482 KB/s, 4 seconds passed -... 30%, 211104 KB, 43486 KB/s, 4 seconds passed -... 30%, 211136 KB, 43489 KB/s, 4 seconds passed -... 30%, 211168 KB, 43492 KB/s, 4 seconds passed -... 30%, 211200 KB, 43496 KB/s, 4 seconds passed -... 30%, 211232 KB, 43499 KB/s, 4 seconds passed -... 30%, 211264 KB, 43502 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 30%, 211296 KB, 43505 KB/s, 4 seconds passed -... 30%, 211328 KB, 43508 KB/s, 4 seconds passed -... 30%, 211360 KB, 43511 KB/s, 4 seconds passed -... 30%, 211392 KB, 43515 KB/s, 4 seconds passed -... 30%, 211424 KB, 43518 KB/s, 4 seconds passed -... 30%, 211456 KB, 43521 KB/s, 4 seconds passed -... 30%, 211488 KB, 43524 KB/s, 4 seconds passed -... 30%, 211520 KB, 43528 KB/s, 4 seconds passed -... 30%, 211552 KB, 43531 KB/s, 4 seconds passed -... 30%, 211584 KB, 43534 KB/s, 4 seconds passed -... 30%, 211616 KB, 43537 KB/s, 4 seconds passed -... 30%, 211648 KB, 43540 KB/s, 4 seconds passed -... 30%, 211680 KB, 43544 KB/s, 4 seconds passed -... 30%, 211712 KB, 43548 KB/s, 4 seconds passed -... 30%, 211744 KB, 43552 KB/s, 4 seconds passed -... 30%, 211776 KB, 43556 KB/s, 4 seconds passed -... 30%, 211808 KB, 43560 KB/s, 4 seconds passed -... 30%, 211840 KB, 43565 KB/s, 4 seconds passed -... 30%, 211872 KB, 43569 KB/s, 4 seconds passed -... 30%, 211904 KB, 43573 KB/s, 4 seconds passed -... 30%, 211936 KB, 43577 KB/s, 4 seconds passed -... 30%, 211968 KB, 43581 KB/s, 4 seconds passed -... 30%, 212000 KB, 43585 KB/s, 4 seconds passed -... 30%, 212032 KB, 43590 KB/s, 4 seconds passed -... 30%, 212064 KB, 43594 KB/s, 4 seconds passed -... 30%, 212096 KB, 43598 KB/s, 4 seconds passed -... 30%, 212128 KB, 43602 KB/s, 4 seconds passed -... 30%, 212160 KB, 43606 KB/s, 4 seconds passed -... 30%, 212192 KB, 43610 KB/s, 4 seconds passed -... 30%, 212224 KB, 43614 KB/s, 4 seconds passed -... 30%, 212256 KB, 43618 KB/s, 4 seconds passed -... 30%, 212288 KB, 43623 KB/s, 4 seconds passed -... 30%, 212320 KB, 43627 KB/s, 4 seconds passed -... 30%, 212352 KB, 43631 KB/s, 4 seconds passed -... 30%, 212384 KB, 43635 KB/s, 4 seconds passed -... 30%, 212416 KB, 43640 KB/s, 4 seconds passed -... 30%, 212448 KB, 43644 KB/s, 4 seconds passed -... 30%, 212480 KB, 43648 KB/s, 4 seconds passed -... 30%, 212512 KB, 43652 KB/s, 4 seconds passed -... 30%, 212544 KB, 43656 KB/s, 4 seconds passed -... 30%, 212576 KB, 43660 KB/s, 4 seconds passed -... 30%, 212608 KB, 43664 KB/s, 4 seconds passed -... 30%, 212640 KB, 43669 KB/s, 4 seconds passed -... 30%, 212672 KB, 43673 KB/s, 4 seconds passed -... 30%, 212704 KB, 43677 KB/s, 4 seconds passed -... 30%, 212736 KB, 43681 KB/s, 4 seconds passed -... 30%, 212768 KB, 43686 KB/s, 4 seconds passed -... 30%, 212800 KB, 43690 KB/s, 4 seconds passed -... 30%, 212832 KB, 43694 KB/s, 4 seconds passed -... 30%, 212864 KB, 43698 KB/s, 4 seconds passed -... 30%, 212896 KB, 43703 KB/s, 4 seconds passed -... 30%, 212928 KB, 43708 KB/s, 4 seconds passed -... 30%, 212960 KB, 43713 KB/s, 4 seconds passed -... 30%, 212992 KB, 43718 KB/s, 4 seconds passed -... 30%, 213024 KB, 43723 KB/s, 4 seconds passed -... 30%, 213056 KB, 43727 KB/s, 4 seconds passed -... 30%, 213088 KB, 43732 KB/s, 4 seconds passed -... 30%, 213120 KB, 43737 KB/s, 4 seconds passed -... 30%, 213152 KB, 43742 KB/s, 4 seconds passed -... 30%, 213184 KB, 43747 KB/s, 4 seconds passed -... 30%, 213216 KB, 43752 KB/s, 4 seconds passed -... 30%, 213248 KB, 43757 KB/s, 4 seconds passed -... 30%, 213280 KB, 43762 KB/s, 4 seconds passed -... 30%, 213312 KB, 43767 KB/s, 4 seconds passed -... 30%, 213344 KB, 43772 KB/s, 4 seconds passed -... 30%, 213376 KB, 43776 KB/s, 4 seconds passed -... 30%, 213408 KB, 43781 KB/s, 4 seconds passed -... 30%, 213440 KB, 43786 KB/s, 4 seconds passed -... 30%, 213472 KB, 43791 KB/s, 4 seconds passed -... 30%, 213504 KB, 43795 KB/s, 4 seconds passed -... 30%, 213536 KB, 43799 KB/s, 4 seconds passed -... 30%, 213568 KB, 43802 KB/s, 4 seconds passed -... 30%, 213600 KB, 43805 KB/s, 4 seconds passed -... 30%, 213632 KB, 43807 KB/s, 4 seconds passed -... 30%, 213664 KB, 43810 KB/s, 4 seconds passed -... 30%, 213696 KB, 43814 KB/s, 4 seconds passed -... 30%, 213728 KB, 43819 KB/s, 4 seconds passed -... 30%, 213760 KB, 43824 KB/s, 4 seconds passed -... 30%, 213792 KB, 43829 KB/s, 4 seconds passed -... 30%, 213824 KB, 43834 KB/s, 4 seconds passed -... 30%, 213856 KB, 43839 KB/s, 4 seconds passed -... 30%, 213888 KB, 43843 KB/s, 4 seconds passed -... 30%, 213920 KB, 43848 KB/s, 4 seconds passed -... 30%, 213952 KB, 43852 KB/s, 4 seconds passed -... 30%, 213984 KB, 43855 KB/s, 4 seconds passed -... 30%, 214016 KB, 43860 KB/s, 4 seconds passed -... 30%, 214048 KB, 43864 KB/s, 4 seconds passed -... 30%, 214080 KB, 43868 KB/s, 4 seconds passed -... 30%, 214112 KB, 43872 KB/s, 4 seconds passed -... 30%, 214144 KB, 43876 KB/s, 4 seconds passed -... 30%, 214176 KB, 43880 KB/s, 4 seconds passed -... 30%, 214208 KB, 43884 KB/s, 4 seconds passed -... 30%, 214240 KB, 43888 KB/s, 4 seconds passed -... 30%, 214272 KB, 43893 KB/s, 4 seconds passed -... 30%, 214304 KB, 43896 KB/s, 4 seconds passed -... 30%, 214336 KB, 43900 KB/s, 4 seconds passed -... 30%, 214368 KB, 43904 KB/s, 4 seconds passed -... 30%, 214400 KB, 43908 KB/s, 4 seconds passed -... 30%, 214432 KB, 43913 KB/s, 4 seconds passed -... 30%, 214464 KB, 43917 KB/s, 4 seconds passed -... 30%, 214496 KB, 43921 KB/s, 4 seconds passed -... 30%, 214528 KB, 43925 KB/s, 4 seconds passed -... 30%, 214560 KB, 43928 KB/s, 4 seconds passed -... 30%, 214592 KB, 43933 KB/s, 4 seconds passed -... 30%, 214624 KB, 43937 KB/s, 4 seconds passed -... 30%, 214656 KB, 43940 KB/s, 4 seconds passed -... 30%, 214688 KB, 43943 KB/s, 4 seconds passed -... 30%, 214720 KB, 43946 KB/s, 4 seconds passed -... 30%, 214752 KB, 43952 KB/s, 4 seconds passed -... 30%, 214784 KB, 43957 KB/s, 4 seconds passed -... 30%, 214816 KB, 43961 KB/s, 4 seconds passed -... 30%, 214848 KB, 43965 KB/s, 4 seconds passed -... 30%, 214880 KB, 43969 KB/s, 4 seconds passed -... 30%, 214912 KB, 43972 KB/s, 4 seconds passed -... 30%, 214944 KB, 43975 KB/s, 4 seconds passed -... 30%, 214976 KB, 43978 KB/s, 4 seconds passed -... 30%, 215008 KB, 43984 KB/s, 4 seconds passed - -.. parsed-literal:: - - ... 30%, 215040 KB, 43328 KB/s, 4 seconds passed -... 30%, 215072 KB, 43330 KB/s, 4 seconds passed -... 30%, 215104 KB, 43332 KB/s, 4 seconds passed -... 30%, 215136 KB, 43335 KB/s, 4 seconds passed -... 30%, 215168 KB, 43307 KB/s, 4 seconds passed -... 30%, 215200 KB, 43309 KB/s, 4 seconds passed -... 30%, 215232 KB, 43312 KB/s, 4 seconds passed -... 30%, 215264 KB, 43315 KB/s, 4 seconds passed -... 30%, 215296 KB, 43318 KB/s, 4 seconds passed -... 30%, 215328 KB, 43321 KB/s, 4 seconds passed -... 30%, 215360 KB, 43324 KB/s, 4 seconds passed -... 30%, 215392 KB, 43327 KB/s, 4 seconds passed -... 30%, 215424 KB, 43330 KB/s, 4 seconds passed -... 30%, 215456 KB, 43334 KB/s, 4 seconds passed -... 30%, 215488 KB, 43338 KB/s, 4 seconds passed -... 30%, 215520 KB, 43342 KB/s, 4 seconds passed -... 30%, 215552 KB, 43345 KB/s, 4 seconds passed -... 30%, 215584 KB, 43348 KB/s, 4 seconds passed -... 31%, 215616 KB, 43351 KB/s, 4 seconds passed -... 31%, 215648 KB, 43354 KB/s, 4 seconds passed -... 31%, 215680 KB, 43358 KB/s, 4 seconds passed -... 31%, 215712 KB, 43361 KB/s, 4 seconds passed -... 31%, 215744 KB, 43364 KB/s, 4 seconds passed -... 31%, 215776 KB, 43367 KB/s, 4 seconds passed -... 31%, 215808 KB, 43370 KB/s, 4 seconds passed -... 31%, 215840 KB, 43373 KB/s, 4 seconds passed -... 31%, 215872 KB, 43376 KB/s, 4 seconds passed -... 31%, 215904 KB, 43379 KB/s, 4 seconds passed -... 31%, 215936 KB, 43382 KB/s, 4 seconds passed -... 31%, 215968 KB, 43385 KB/s, 4 seconds passed -... 31%, 216000 KB, 43389 KB/s, 4 seconds passed -... 31%, 216032 KB, 43392 KB/s, 4 seconds passed -... 31%, 216064 KB, 43395 KB/s, 4 seconds passed -... 31%, 216096 KB, 43398 KB/s, 4 seconds passed -... 31%, 216128 KB, 43401 KB/s, 4 seconds passed -... 31%, 216160 KB, 43404 KB/s, 4 seconds passed -... 31%, 216192 KB, 43407 KB/s, 4 seconds passed -... 31%, 216224 KB, 43410 KB/s, 4 seconds passed -... 31%, 216256 KB, 43413 KB/s, 4 seconds passed -... 31%, 216288 KB, 43416 KB/s, 4 seconds passed -... 31%, 216320 KB, 43419 KB/s, 4 seconds passed -... 31%, 216352 KB, 43422 KB/s, 4 seconds passed -... 31%, 216384 KB, 43426 KB/s, 4 seconds passed -... 31%, 216416 KB, 43430 KB/s, 4 seconds passed -... 31%, 216448 KB, 43435 KB/s, 4 seconds passed -... 31%, 216480 KB, 43439 KB/s, 4 seconds passed -... 31%, 216512 KB, 43444 KB/s, 4 seconds passed -... 31%, 216544 KB, 43448 KB/s, 4 seconds passed -... 31%, 216576 KB, 43452 KB/s, 4 seconds passed -... 31%, 216608 KB, 43456 KB/s, 4 seconds passed -... 31%, 216640 KB, 43461 KB/s, 4 seconds passed -... 31%, 216672 KB, 43465 KB/s, 4 seconds passed -... 31%, 216704 KB, 43469 KB/s, 4 seconds passed -... 31%, 216736 KB, 43474 KB/s, 4 seconds passed -... 31%, 216768 KB, 43478 KB/s, 4 seconds passed -... 31%, 216800 KB, 43482 KB/s, 4 seconds passed -... 31%, 216832 KB, 43487 KB/s, 4 seconds passed -... 31%, 216864 KB, 43491 KB/s, 4 seconds passed -... 31%, 216896 KB, 43495 KB/s, 4 seconds passed -... 31%, 216928 KB, 43500 KB/s, 4 seconds passed -... 31%, 216960 KB, 43504 KB/s, 4 seconds passed -... 31%, 216992 KB, 43508 KB/s, 4 seconds passed -... 31%, 217024 KB, 43513 KB/s, 4 seconds passed -... 31%, 217056 KB, 43517 KB/s, 4 seconds passed -... 31%, 217088 KB, 43521 KB/s, 4 seconds passed -... 31%, 217120 KB, 43526 KB/s, 4 seconds passed -... 31%, 217152 KB, 43530 KB/s, 4 seconds passed -... 31%, 217184 KB, 43534 KB/s, 4 seconds passed -... 31%, 217216 KB, 43538 KB/s, 4 seconds passed -... 31%, 217248 KB, 43543 KB/s, 4 seconds passed -... 31%, 217280 KB, 43547 KB/s, 4 seconds passed -... 31%, 217312 KB, 43551 KB/s, 4 seconds passed -... 31%, 217344 KB, 43555 KB/s, 4 seconds passed -... 31%, 217376 KB, 43560 KB/s, 4 seconds passed -... 31%, 217408 KB, 43564 KB/s, 4 seconds passed -... 31%, 217440 KB, 43569 KB/s, 4 seconds passed -... 31%, 217472 KB, 43573 KB/s, 4 seconds passed -... 31%, 217504 KB, 43577 KB/s, 4 seconds passed -... 31%, 217536 KB, 43582 KB/s, 4 seconds passed -... 31%, 217568 KB, 43586 KB/s, 4 seconds passed -... 31%, 217600 KB, 43590 KB/s, 4 seconds passed -... 31%, 217632 KB, 43594 KB/s, 4 seconds passed -... 31%, 217664 KB, 43599 KB/s, 4 seconds passed -... 31%, 217696 KB, 43604 KB/s, 4 seconds passed -... 31%, 217728 KB, 43609 KB/s, 4 seconds passed -... 31%, 217760 KB, 43614 KB/s, 4 seconds passed -... 31%, 217792 KB, 43619 KB/s, 4 seconds passed -... 31%, 217824 KB, 43624 KB/s, 4 seconds passed -... 31%, 217856 KB, 43629 KB/s, 4 seconds passed -... 31%, 217888 KB, 43634 KB/s, 4 seconds passed -... 31%, 217920 KB, 43639 KB/s, 4 seconds passed -... 31%, 217952 KB, 43643 KB/s, 4 seconds passed -... 31%, 217984 KB, 43647 KB/s, 4 seconds passed -... 31%, 218016 KB, 43652 KB/s, 4 seconds passed -... 31%, 218048 KB, 43656 KB/s, 4 seconds passed -... 31%, 218080 KB, 43659 KB/s, 4 seconds passed -... 31%, 218112 KB, 43664 KB/s, 4 seconds passed -... 31%, 218144 KB, 43668 KB/s, 4 seconds passed -... 31%, 218176 KB, 43672 KB/s, 4 seconds passed -... 31%, 218208 KB, 43675 KB/s, 4 seconds passed -... 31%, 218240 KB, 43679 KB/s, 4 seconds passed -... 31%, 218272 KB, 43683 KB/s, 4 seconds passed -... 31%, 218304 KB, 43687 KB/s, 4 seconds passed -... 31%, 218336 KB, 43690 KB/s, 4 seconds passed -... 31%, 218368 KB, 43694 KB/s, 4 seconds passed -... 31%, 218400 KB, 43699 KB/s, 4 seconds passed -... 31%, 218432 KB, 43703 KB/s, 4 seconds passed -... 31%, 218464 KB, 43706 KB/s, 4 seconds passed -... 31%, 218496 KB, 43710 KB/s, 4 seconds passed -... 31%, 218528 KB, 43715 KB/s, 4 seconds passed -... 31%, 218560 KB, 43719 KB/s, 4 seconds passed -... 31%, 218592 KB, 43723 KB/s, 4 seconds passed -... 31%, 218624 KB, 43727 KB/s, 4 seconds passed -... 31%, 218656 KB, 43731 KB/s, 4 seconds passed -... 31%, 218688 KB, 43735 KB/s, 5 seconds passed -... 31%, 218720 KB, 43739 KB/s, 5 seconds passed -... 31%, 218752 KB, 43743 KB/s, 5 seconds passed -... 31%, 218784 KB, 43746 KB/s, 5 seconds passed -... 31%, 218816 KB, 43750 KB/s, 5 seconds passed -... 31%, 218848 KB, 43754 KB/s, 5 seconds passed -... 31%, 218880 KB, 43758 KB/s, 5 seconds passed -... 31%, 218912 KB, 43762 KB/s, 5 seconds passed -... 31%, 218944 KB, 43766 KB/s, 5 seconds passed -... 31%, 218976 KB, 43770 KB/s, 5 seconds passed -... 31%, 219008 KB, 43772 KB/s, 5 seconds passed -... 31%, 219040 KB, 43775 KB/s, 5 seconds passed -... 31%, 219072 KB, 43778 KB/s, 5 seconds passed -... 31%, 219104 KB, 43768 KB/s, 5 seconds passed -... 31%, 219136 KB, 43772 KB/s, 5 seconds passed -... 31%, 219168 KB, 43776 KB/s, 5 seconds passed -... 31%, 219200 KB, 43780 KB/s, 5 seconds passed -... 31%, 219232 KB, 43783 KB/s, 5 seconds passed -... 31%, 219264 KB, 43786 KB/s, 5 seconds passed -... 31%, 219296 KB, 43788 KB/s, 5 seconds passed -... 31%, 219328 KB, 43793 KB/s, 5 seconds passed -... 31%, 219360 KB, 43798 KB/s, 5 seconds passed -... 31%, 219392 KB, 43803 KB/s, 5 seconds passed -... 31%, 219424 KB, 43808 KB/s, 5 seconds passed -... 31%, 219456 KB, 43812 KB/s, 5 seconds passed -... 31%, 219488 KB, 43816 KB/s, 5 seconds passed -... 31%, 219520 KB, 43820 KB/s, 5 seconds passed -... 31%, 219552 KB, 43824 KB/s, 5 seconds passed -... 31%, 219584 KB, 43828 KB/s, 5 seconds passed -... 31%, 219616 KB, 43832 KB/s, 5 seconds passed -... 31%, 219648 KB, 43836 KB/s, 5 seconds passed -... 31%, 219680 KB, 43840 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 31%, 219712 KB, 43844 KB/s, 5 seconds passed -... 31%, 219744 KB, 43848 KB/s, 5 seconds passed -... 31%, 219776 KB, 43851 KB/s, 5 seconds passed -... 31%, 219808 KB, 43856 KB/s, 5 seconds passed -... 31%, 219840 KB, 43860 KB/s, 5 seconds passed -... 31%, 219872 KB, 43863 KB/s, 5 seconds passed -... 31%, 219904 KB, 43867 KB/s, 5 seconds passed -... 31%, 219936 KB, 43871 KB/s, 5 seconds passed -... 31%, 219968 KB, 43875 KB/s, 5 seconds passed -... 31%, 220000 KB, 43879 KB/s, 5 seconds passed -... 31%, 220032 KB, 43883 KB/s, 5 seconds passed -... 31%, 220064 KB, 43886 KB/s, 5 seconds passed -... 31%, 220096 KB, 43890 KB/s, 5 seconds passed -... 31%, 220128 KB, 43894 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 31%, 220160 KB, 43446 KB/s, 5 seconds passed -... 31%, 220192 KB, 43448 KB/s, 5 seconds passed -... 31%, 220224 KB, 43451 KB/s, 5 seconds passed -... 31%, 220256 KB, 43454 KB/s, 5 seconds passed -... 31%, 220288 KB, 43455 KB/s, 5 seconds passed -... 31%, 220320 KB, 43458 KB/s, 5 seconds passed -... 31%, 220352 KB, 43461 KB/s, 5 seconds passed -... 31%, 220384 KB, 43464 KB/s, 5 seconds passed -... 31%, 220416 KB, 43467 KB/s, 5 seconds passed -... 31%, 220448 KB, 43470 KB/s, 5 seconds passed -... 31%, 220480 KB, 43473 KB/s, 5 seconds passed -... 31%, 220512 KB, 43476 KB/s, 5 seconds passed -... 31%, 220544 KB, 43479 KB/s, 5 seconds passed -... 31%, 220576 KB, 43482 KB/s, 5 seconds passed -... 31%, 220608 KB, 43485 KB/s, 5 seconds passed -... 31%, 220640 KB, 43488 KB/s, 5 seconds passed -... 31%, 220672 KB, 43491 KB/s, 5 seconds passed -... 31%, 220704 KB, 43495 KB/s, 5 seconds passed -... 31%, 220736 KB, 43498 KB/s, 5 seconds passed -... 31%, 220768 KB, 43500 KB/s, 5 seconds passed -... 31%, 220800 KB, 43503 KB/s, 5 seconds passed -... 31%, 220832 KB, 43507 KB/s, 5 seconds passed -... 31%, 220864 KB, 43510 KB/s, 5 seconds passed -... 31%, 220896 KB, 43513 KB/s, 5 seconds passed -... 31%, 220928 KB, 43516 KB/s, 5 seconds passed -... 31%, 220960 KB, 43519 KB/s, 5 seconds passed -... 31%, 220992 KB, 43522 KB/s, 5 seconds passed -... 31%, 221024 KB, 43525 KB/s, 5 seconds passed -... 31%, 221056 KB, 43528 KB/s, 5 seconds passed -... 31%, 221088 KB, 43531 KB/s, 5 seconds passed -... 31%, 221120 KB, 43534 KB/s, 5 seconds passed -... 31%, 221152 KB, 43537 KB/s, 5 seconds passed -... 31%, 221184 KB, 43540 KB/s, 5 seconds passed -... 31%, 221216 KB, 43543 KB/s, 5 seconds passed -... 31%, 221248 KB, 43546 KB/s, 5 seconds passed -... 31%, 221280 KB, 43549 KB/s, 5 seconds passed -... 31%, 221312 KB, 43552 KB/s, 5 seconds passed -... 31%, 221344 KB, 43555 KB/s, 5 seconds passed -... 31%, 221376 KB, 43558 KB/s, 5 seconds passed -... 31%, 221408 KB, 43561 KB/s, 5 seconds passed -... 31%, 221440 KB, 43564 KB/s, 5 seconds passed -... 31%, 221472 KB, 43567 KB/s, 5 seconds passed -... 31%, 221504 KB, 43571 KB/s, 5 seconds passed -... 31%, 221536 KB, 43575 KB/s, 5 seconds passed -... 31%, 221568 KB, 43579 KB/s, 5 seconds passed -... 31%, 221600 KB, 43583 KB/s, 5 seconds passed -... 31%, 221632 KB, 43587 KB/s, 5 seconds passed -... 31%, 221664 KB, 43591 KB/s, 5 seconds passed -... 31%, 221696 KB, 43595 KB/s, 5 seconds passed -... 31%, 221728 KB, 43599 KB/s, 5 seconds passed -... 31%, 221760 KB, 43604 KB/s, 5 seconds passed -... 31%, 221792 KB, 43608 KB/s, 5 seconds passed -... 31%, 221824 KB, 43612 KB/s, 5 seconds passed -... 31%, 221856 KB, 43616 KB/s, 5 seconds passed -... 31%, 221888 KB, 43621 KB/s, 5 seconds passed -... 31%, 221920 KB, 43625 KB/s, 5 seconds passed -... 31%, 221952 KB, 43629 KB/s, 5 seconds passed -... 31%, 221984 KB, 43633 KB/s, 5 seconds passed -... 31%, 222016 KB, 43637 KB/s, 5 seconds passed -... 31%, 222048 KB, 43642 KB/s, 5 seconds passed -... 31%, 222080 KB, 43646 KB/s, 5 seconds passed -... 31%, 222112 KB, 43650 KB/s, 5 seconds passed -... 31%, 222144 KB, 43654 KB/s, 5 seconds passed -... 31%, 222176 KB, 43658 KB/s, 5 seconds passed -... 31%, 222208 KB, 43663 KB/s, 5 seconds passed -... 31%, 222240 KB, 43667 KB/s, 5 seconds passed -... 31%, 222272 KB, 43671 KB/s, 5 seconds passed -... 31%, 222304 KB, 43675 KB/s, 5 seconds passed -... 31%, 222336 KB, 43679 KB/s, 5 seconds passed -... 31%, 222368 KB, 43684 KB/s, 5 seconds passed -... 31%, 222400 KB, 43688 KB/s, 5 seconds passed -... 31%, 222432 KB, 43692 KB/s, 5 seconds passed -... 31%, 222464 KB, 43696 KB/s, 5 seconds passed -... 31%, 222496 KB, 43700 KB/s, 5 seconds passed -... 31%, 222528 KB, 43705 KB/s, 5 seconds passed -... 31%, 222560 KB, 43709 KB/s, 5 seconds passed -... 32%, 222592 KB, 43713 KB/s, 5 seconds passed -... 32%, 222624 KB, 43717 KB/s, 5 seconds passed -... 32%, 222656 KB, 43721 KB/s, 5 seconds passed -... 32%, 222688 KB, 43725 KB/s, 5 seconds passed -... 32%, 222720 KB, 43730 KB/s, 5 seconds passed -... 32%, 222752 KB, 43734 KB/s, 5 seconds passed -... 32%, 222784 KB, 43738 KB/s, 5 seconds passed -... 32%, 222816 KB, 43742 KB/s, 5 seconds passed -... 32%, 222848 KB, 43746 KB/s, 5 seconds passed -... 32%, 222880 KB, 43751 KB/s, 5 seconds passed -... 32%, 222912 KB, 43755 KB/s, 5 seconds passed -... 32%, 222944 KB, 43759 KB/s, 5 seconds passed -... 32%, 222976 KB, 43764 KB/s, 5 seconds passed -... 32%, 223008 KB, 43769 KB/s, 5 seconds passed -... 32%, 223040 KB, 43774 KB/s, 5 seconds passed -... 32%, 223072 KB, 43779 KB/s, 5 seconds passed -... 32%, 223104 KB, 43784 KB/s, 5 seconds passed -... 32%, 223136 KB, 43789 KB/s, 5 seconds passed -... 32%, 223168 KB, 43794 KB/s, 5 seconds passed -... 32%, 223200 KB, 43799 KB/s, 5 seconds passed -... 32%, 223232 KB, 43804 KB/s, 5 seconds passed -... 32%, 223264 KB, 43809 KB/s, 5 seconds passed -... 32%, 223296 KB, 43813 KB/s, 5 seconds passed -... 32%, 223328 KB, 43818 KB/s, 5 seconds passed -... 32%, 223360 KB, 43823 KB/s, 5 seconds passed -... 32%, 223392 KB, 43828 KB/s, 5 seconds passed -... 32%, 223424 KB, 43833 KB/s, 5 seconds passed -... 32%, 223456 KB, 43838 KB/s, 5 seconds passed -... 32%, 223488 KB, 43843 KB/s, 5 seconds passed -... 32%, 223520 KB, 43848 KB/s, 5 seconds passed -... 32%, 223552 KB, 43852 KB/s, 5 seconds passed -... 32%, 223584 KB, 43856 KB/s, 5 seconds passed -... 32%, 223616 KB, 43860 KB/s, 5 seconds passed -... 32%, 223648 KB, 43864 KB/s, 5 seconds passed -... 32%, 223680 KB, 43868 KB/s, 5 seconds passed -... 32%, 223712 KB, 43872 KB/s, 5 seconds passed -... 32%, 223744 KB, 43875 KB/s, 5 seconds passed -... 32%, 223776 KB, 43879 KB/s, 5 seconds passed -... 32%, 223808 KB, 43883 KB/s, 5 seconds passed -... 32%, 223840 KB, 43887 KB/s, 5 seconds passed -... 32%, 223872 KB, 43891 KB/s, 5 seconds passed -... 32%, 223904 KB, 43895 KB/s, 5 seconds passed -... 32%, 223936 KB, 43898 KB/s, 5 seconds passed -... 32%, 223968 KB, 43901 KB/s, 5 seconds passed -... 32%, 224000 KB, 43905 KB/s, 5 seconds passed -... 32%, 224032 KB, 43909 KB/s, 5 seconds passed -... 32%, 224064 KB, 43913 KB/s, 5 seconds passed -... 32%, 224096 KB, 43906 KB/s, 5 seconds passed -... 32%, 224128 KB, 43910 KB/s, 5 seconds passed -... 32%, 224160 KB, 43915 KB/s, 5 seconds passed -... 32%, 224192 KB, 43918 KB/s, 5 seconds passed -... 32%, 224224 KB, 43922 KB/s, 5 seconds passed -... 32%, 224256 KB, 43914 KB/s, 5 seconds passed -... 32%, 224288 KB, 43917 KB/s, 5 seconds passed -... 32%, 224320 KB, 43921 KB/s, 5 seconds passed -... 32%, 224352 KB, 43924 KB/s, 5 seconds passed -... 32%, 224384 KB, 43927 KB/s, 5 seconds passed -... 32%, 224416 KB, 43931 KB/s, 5 seconds passed -... 32%, 224448 KB, 43934 KB/s, 5 seconds passed -... 32%, 224480 KB, 43937 KB/s, 5 seconds passed -... 32%, 224512 KB, 43940 KB/s, 5 seconds passed -... 32%, 224544 KB, 43944 KB/s, 5 seconds passed -... 32%, 224576 KB, 43947 KB/s, 5 seconds passed -... 32%, 224608 KB, 43950 KB/s, 5 seconds passed -... 32%, 224640 KB, 43954 KB/s, 5 seconds passed -... 32%, 224672 KB, 43957 KB/s, 5 seconds passed -... 32%, 224704 KB, 43960 KB/s, 5 seconds passed -... 32%, 224736 KB, 43964 KB/s, 5 seconds passed -... 32%, 224768 KB, 43967 KB/s, 5 seconds passed -... 32%, 224800 KB, 43971 KB/s, 5 seconds passed -... 32%, 224832 KB, 43974 KB/s, 5 seconds passed -... 32%, 224864 KB, 43977 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 32%, 224896 KB, 43980 KB/s, 5 seconds passed -... 32%, 224928 KB, 43984 KB/s, 5 seconds passed -... 32%, 224960 KB, 43987 KB/s, 5 seconds passed -... 32%, 224992 KB, 43990 KB/s, 5 seconds passed -... 32%, 225024 KB, 43994 KB/s, 5 seconds passed -... 32%, 225056 KB, 43999 KB/s, 5 seconds passed -... 32%, 225088 KB, 44003 KB/s, 5 seconds passed -... 32%, 225120 KB, 44007 KB/s, 5 seconds passed -... 32%, 225152 KB, 44011 KB/s, 5 seconds passed -... 32%, 225184 KB, 44016 KB/s, 5 seconds passed -... 32%, 225216 KB, 44020 KB/s, 5 seconds passed -... 32%, 225248 KB, 44025 KB/s, 5 seconds passed -... 32%, 225280 KB, 43767 KB/s, 5 seconds passed -... 32%, 225312 KB, 43770 KB/s, 5 seconds passed -... 32%, 225344 KB, 43770 KB/s, 5 seconds passed -... 32%, 225376 KB, 43772 KB/s, 5 seconds passed -... 32%, 225408 KB, 43754 KB/s, 5 seconds passed -... 32%, 225440 KB, 43737 KB/s, 5 seconds passed -... 32%, 225472 KB, 43740 KB/s, 5 seconds passed -... 32%, 225504 KB, 43742 KB/s, 5 seconds passed -... 32%, 225536 KB, 43745 KB/s, 5 seconds passed -... 32%, 225568 KB, 43748 KB/s, 5 seconds passed -... 32%, 225600 KB, 43751 KB/s, 5 seconds passed -... 32%, 225632 KB, 43754 KB/s, 5 seconds passed -... 32%, 225664 KB, 43757 KB/s, 5 seconds passed -... 32%, 225696 KB, 43760 KB/s, 5 seconds passed -... 32%, 225728 KB, 43763 KB/s, 5 seconds passed -... 32%, 225760 KB, 43766 KB/s, 5 seconds passed -... 32%, 225792 KB, 43769 KB/s, 5 seconds passed -... 32%, 225824 KB, 43772 KB/s, 5 seconds passed -... 32%, 225856 KB, 43775 KB/s, 5 seconds passed -... 32%, 225888 KB, 43778 KB/s, 5 seconds passed -... 32%, 225920 KB, 43782 KB/s, 5 seconds passed -... 32%, 225952 KB, 43785 KB/s, 5 seconds passed -... 32%, 225984 KB, 43788 KB/s, 5 seconds passed -... 32%, 226016 KB, 43791 KB/s, 5 seconds passed -... 32%, 226048 KB, 43794 KB/s, 5 seconds passed -... 32%, 226080 KB, 43797 KB/s, 5 seconds passed -... 32%, 226112 KB, 43800 KB/s, 5 seconds passed -... 32%, 226144 KB, 43803 KB/s, 5 seconds passed -... 32%, 226176 KB, 43806 KB/s, 5 seconds passed -... 32%, 226208 KB, 43809 KB/s, 5 seconds passed -... 32%, 226240 KB, 43812 KB/s, 5 seconds passed -... 32%, 226272 KB, 43815 KB/s, 5 seconds passed -... 32%, 226304 KB, 43818 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 32%, 226336 KB, 43821 KB/s, 5 seconds passed -... 32%, 226368 KB, 43824 KB/s, 5 seconds passed -... 32%, 226400 KB, 43827 KB/s, 5 seconds passed -... 32%, 226432 KB, 43831 KB/s, 5 seconds passed -... 32%, 226464 KB, 43836 KB/s, 5 seconds passed -... 32%, 226496 KB, 43840 KB/s, 5 seconds passed -... 32%, 226528 KB, 43844 KB/s, 5 seconds passed -... 32%, 226560 KB, 43848 KB/s, 5 seconds passed -... 32%, 226592 KB, 43852 KB/s, 5 seconds passed -... 32%, 226624 KB, 43856 KB/s, 5 seconds passed -... 32%, 226656 KB, 43860 KB/s, 5 seconds passed -... 32%, 226688 KB, 43864 KB/s, 5 seconds passed -... 32%, 226720 KB, 43868 KB/s, 5 seconds passed -... 32%, 226752 KB, 43872 KB/s, 5 seconds passed -... 32%, 226784 KB, 43876 KB/s, 5 seconds passed -... 32%, 226816 KB, 43881 KB/s, 5 seconds passed -... 32%, 226848 KB, 43885 KB/s, 5 seconds passed -... 32%, 226880 KB, 43889 KB/s, 5 seconds passed -... 32%, 226912 KB, 43893 KB/s, 5 seconds passed -... 32%, 226944 KB, 43897 KB/s, 5 seconds passed -... 32%, 226976 KB, 43901 KB/s, 5 seconds passed -... 32%, 227008 KB, 43905 KB/s, 5 seconds passed -... 32%, 227040 KB, 43909 KB/s, 5 seconds passed -... 32%, 227072 KB, 43914 KB/s, 5 seconds passed -... 32%, 227104 KB, 43918 KB/s, 5 seconds passed -... 32%, 227136 KB, 43922 KB/s, 5 seconds passed -... 32%, 227168 KB, 43926 KB/s, 5 seconds passed -... 32%, 227200 KB, 43930 KB/s, 5 seconds passed -... 32%, 227232 KB, 43934 KB/s, 5 seconds passed -... 32%, 227264 KB, 43938 KB/s, 5 seconds passed -... 32%, 227296 KB, 43942 KB/s, 5 seconds passed -... 32%, 227328 KB, 43946 KB/s, 5 seconds passed -... 32%, 227360 KB, 43951 KB/s, 5 seconds passed -... 32%, 227392 KB, 43955 KB/s, 5 seconds passed -... 32%, 227424 KB, 43959 KB/s, 5 seconds passed -... 32%, 227456 KB, 43963 KB/s, 5 seconds passed -... 32%, 227488 KB, 43967 KB/s, 5 seconds passed -... 32%, 227520 KB, 43971 KB/s, 5 seconds passed -... 32%, 227552 KB, 43975 KB/s, 5 seconds passed -... 32%, 227584 KB, 43979 KB/s, 5 seconds passed -... 32%, 227616 KB, 43984 KB/s, 5 seconds passed -... 32%, 227648 KB, 43988 KB/s, 5 seconds passed -... 32%, 227680 KB, 43992 KB/s, 5 seconds passed -... 32%, 227712 KB, 43996 KB/s, 5 seconds passed -... 32%, 227744 KB, 44001 KB/s, 5 seconds passed -... 32%, 227776 KB, 44006 KB/s, 5 seconds passed -... 32%, 227808 KB, 44010 KB/s, 5 seconds passed -... 32%, 227840 KB, 44015 KB/s, 5 seconds passed -... 32%, 227872 KB, 44020 KB/s, 5 seconds passed -... 32%, 227904 KB, 44024 KB/s, 5 seconds passed -... 32%, 227936 KB, 44028 KB/s, 5 seconds passed -... 32%, 227968 KB, 44032 KB/s, 5 seconds passed -... 32%, 228000 KB, 44036 KB/s, 5 seconds passed -... 32%, 228032 KB, 44040 KB/s, 5 seconds passed -... 32%, 228064 KB, 44043 KB/s, 5 seconds passed -... 32%, 228096 KB, 44047 KB/s, 5 seconds passed -... 32%, 228128 KB, 44051 KB/s, 5 seconds passed -... 32%, 228160 KB, 44055 KB/s, 5 seconds passed -... 32%, 228192 KB, 44059 KB/s, 5 seconds passed -... 32%, 228224 KB, 44062 KB/s, 5 seconds passed -... 32%, 228256 KB, 44066 KB/s, 5 seconds passed -... 32%, 228288 KB, 44070 KB/s, 5 seconds passed -... 32%, 228320 KB, 44074 KB/s, 5 seconds passed -... 32%, 228352 KB, 44078 KB/s, 5 seconds passed -... 32%, 228384 KB, 44082 KB/s, 5 seconds passed -... 32%, 228416 KB, 44085 KB/s, 5 seconds passed -... 32%, 228448 KB, 44089 KB/s, 5 seconds passed -... 32%, 228480 KB, 44093 KB/s, 5 seconds passed -... 32%, 228512 KB, 44097 KB/s, 5 seconds passed -... 32%, 228544 KB, 44101 KB/s, 5 seconds passed -... 32%, 228576 KB, 44105 KB/s, 5 seconds passed -... 32%, 228608 KB, 44108 KB/s, 5 seconds passed -... 32%, 228640 KB, 44111 KB/s, 5 seconds passed -... 32%, 228672 KB, 44115 KB/s, 5 seconds passed -... 32%, 228704 KB, 44117 KB/s, 5 seconds passed -... 32%, 228736 KB, 44122 KB/s, 5 seconds passed -... 32%, 228768 KB, 44126 KB/s, 5 seconds passed -... 32%, 228800 KB, 44130 KB/s, 5 seconds passed -... 32%, 228832 KB, 44134 KB/s, 5 seconds passed -... 32%, 228864 KB, 44137 KB/s, 5 seconds passed -... 32%, 228896 KB, 44140 KB/s, 5 seconds passed -... 32%, 228928 KB, 44145 KB/s, 5 seconds passed -... 32%, 228960 KB, 44149 KB/s, 5 seconds passed -... 32%, 228992 KB, 44153 KB/s, 5 seconds passed -... 32%, 229024 KB, 44157 KB/s, 5 seconds passed -... 32%, 229056 KB, 44161 KB/s, 5 seconds passed -... 32%, 229088 KB, 44165 KB/s, 5 seconds passed -... 32%, 229120 KB, 44169 KB/s, 5 seconds passed -... 32%, 229152 KB, 44173 KB/s, 5 seconds passed -... 32%, 229184 KB, 44176 KB/s, 5 seconds passed -... 32%, 229216 KB, 44171 KB/s, 5 seconds passed -... 32%, 229248 KB, 44173 KB/s, 5 seconds passed -... 32%, 229280 KB, 44176 KB/s, 5 seconds passed -... 32%, 229312 KB, 44181 KB/s, 5 seconds passed -... 32%, 229344 KB, 44186 KB/s, 5 seconds passed -... 32%, 229376 KB, 44190 KB/s, 5 seconds passed -... 32%, 229408 KB, 44194 KB/s, 5 seconds passed -... 32%, 229440 KB, 44198 KB/s, 5 seconds passed -... 32%, 229472 KB, 44201 KB/s, 5 seconds passed -... 32%, 229504 KB, 44205 KB/s, 5 seconds passed -... 33%, 229536 KB, 44209 KB/s, 5 seconds passed -... 33%, 229568 KB, 44211 KB/s, 5 seconds passed -... 33%, 229600 KB, 44214 KB/s, 5 seconds passed -... 33%, 229632 KB, 44217 KB/s, 5 seconds passed -... 33%, 229664 KB, 44222 KB/s, 5 seconds passed -... 33%, 229696 KB, 44227 KB/s, 5 seconds passed -... 33%, 229728 KB, 44227 KB/s, 5 seconds passed -... 33%, 229760 KB, 44230 KB/s, 5 seconds passed -... 33%, 229792 KB, 44233 KB/s, 5 seconds passed -... 33%, 229824 KB, 44237 KB/s, 5 seconds passed -... 33%, 229856 KB, 44242 KB/s, 5 seconds passed -... 33%, 229888 KB, 44246 KB/s, 5 seconds passed -... 33%, 229920 KB, 44248 KB/s, 5 seconds passed -... 33%, 229952 KB, 44251 KB/s, 5 seconds passed -... 33%, 229984 KB, 44254 KB/s, 5 seconds passed -... 33%, 230016 KB, 44256 KB/s, 5 seconds passed -... 33%, 230048 KB, 44259 KB/s, 5 seconds passed -... 33%, 230080 KB, 44263 KB/s, 5 seconds passed -... 33%, 230112 KB, 44266 KB/s, 5 seconds passed -... 33%, 230144 KB, 44269 KB/s, 5 seconds passed -... 33%, 230176 KB, 44272 KB/s, 5 seconds passed -... 33%, 230208 KB, 44275 KB/s, 5 seconds passed -... 33%, 230240 KB, 44278 KB/s, 5 seconds passed -... 33%, 230272 KB, 44281 KB/s, 5 seconds passed -... 33%, 230304 KB, 44285 KB/s, 5 seconds passed -... 33%, 230336 KB, 44289 KB/s, 5 seconds passed -... 33%, 230368 KB, 44292 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 33%, 230400 KB, 43882 KB/s, 5 seconds passed -... 33%, 230432 KB, 43882 KB/s, 5 seconds passed -... 33%, 230464 KB, 43885 KB/s, 5 seconds passed -... 33%, 230496 KB, 43888 KB/s, 5 seconds passed -... 33%, 230528 KB, 43890 KB/s, 5 seconds passed -... 33%, 230560 KB, 43893 KB/s, 5 seconds passed -... 33%, 230592 KB, 43896 KB/s, 5 seconds passed -... 33%, 230624 KB, 43899 KB/s, 5 seconds passed -... 33%, 230656 KB, 43903 KB/s, 5 seconds passed -... 33%, 230688 KB, 43886 KB/s, 5 seconds passed -... 33%, 230720 KB, 43889 KB/s, 5 seconds passed -... 33%, 230752 KB, 43892 KB/s, 5 seconds passed -... 33%, 230784 KB, 43895 KB/s, 5 seconds passed -... 33%, 230816 KB, 43898 KB/s, 5 seconds passed -... 33%, 230848 KB, 43901 KB/s, 5 seconds passed -... 33%, 230880 KB, 43904 KB/s, 5 seconds passed -... 33%, 230912 KB, 43907 KB/s, 5 seconds passed -... 33%, 230944 KB, 43910 KB/s, 5 seconds passed -... 33%, 230976 KB, 43914 KB/s, 5 seconds passed -... 33%, 231008 KB, 43886 KB/s, 5 seconds passed -... 33%, 231040 KB, 43889 KB/s, 5 seconds passed -... 33%, 231072 KB, 43892 KB/s, 5 seconds passed -... 33%, 231104 KB, 43894 KB/s, 5 seconds passed -... 33%, 231136 KB, 43897 KB/s, 5 seconds passed -... 33%, 231168 KB, 43900 KB/s, 5 seconds passed -... 33%, 231200 KB, 43903 KB/s, 5 seconds passed -... 33%, 231232 KB, 43906 KB/s, 5 seconds passed -... 33%, 231264 KB, 43909 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 33%, 231296 KB, 43912 KB/s, 5 seconds passed -... 33%, 231328 KB, 43915 KB/s, 5 seconds passed -... 33%, 231360 KB, 43918 KB/s, 5 seconds passed -... 33%, 231392 KB, 43921 KB/s, 5 seconds passed -... 33%, 231424 KB, 43923 KB/s, 5 seconds passed -... 33%, 231456 KB, 43927 KB/s, 5 seconds passed -... 33%, 231488 KB, 43929 KB/s, 5 seconds passed -... 33%, 231520 KB, 43932 KB/s, 5 seconds passed -... 33%, 231552 KB, 43935 KB/s, 5 seconds passed -... 33%, 231584 KB, 43938 KB/s, 5 seconds passed -... 33%, 231616 KB, 43941 KB/s, 5 seconds passed -... 33%, 231648 KB, 43945 KB/s, 5 seconds passed -... 33%, 231680 KB, 43949 KB/s, 5 seconds passed -... 33%, 231712 KB, 43952 KB/s, 5 seconds passed -... 33%, 231744 KB, 43956 KB/s, 5 seconds passed -... 33%, 231776 KB, 43960 KB/s, 5 seconds passed -... 33%, 231808 KB, 43963 KB/s, 5 seconds passed -... 33%, 231840 KB, 43965 KB/s, 5 seconds passed -... 33%, 231872 KB, 43968 KB/s, 5 seconds passed -... 33%, 231904 KB, 43971 KB/s, 5 seconds passed -... 33%, 231936 KB, 43974 KB/s, 5 seconds passed -... 33%, 231968 KB, 43977 KB/s, 5 seconds passed -... 33%, 232000 KB, 43980 KB/s, 5 seconds passed -... 33%, 232032 KB, 43982 KB/s, 5 seconds passed -... 33%, 232064 KB, 43985 KB/s, 5 seconds passed -... 33%, 232096 KB, 43988 KB/s, 5 seconds passed -... 33%, 232128 KB, 43992 KB/s, 5 seconds passed -... 33%, 232160 KB, 43996 KB/s, 5 seconds passed -... 33%, 232192 KB, 44000 KB/s, 5 seconds passed -... 33%, 232224 KB, 44004 KB/s, 5 seconds passed -... 33%, 232256 KB, 44008 KB/s, 5 seconds passed -... 33%, 232288 KB, 44012 KB/s, 5 seconds passed -... 33%, 232320 KB, 44016 KB/s, 5 seconds passed -... 33%, 232352 KB, 44020 KB/s, 5 seconds passed -... 33%, 232384 KB, 44024 KB/s, 5 seconds passed -... 33%, 232416 KB, 44028 KB/s, 5 seconds passed -... 33%, 232448 KB, 44032 KB/s, 5 seconds passed -... 33%, 232480 KB, 44036 KB/s, 5 seconds passed -... 33%, 232512 KB, 44040 KB/s, 5 seconds passed -... 33%, 232544 KB, 44044 KB/s, 5 seconds passed -... 33%, 232576 KB, 44048 KB/s, 5 seconds passed -... 33%, 232608 KB, 44052 KB/s, 5 seconds passed -... 33%, 232640 KB, 44056 KB/s, 5 seconds passed -... 33%, 232672 KB, 44060 KB/s, 5 seconds passed -... 33%, 232704 KB, 44064 KB/s, 5 seconds passed -... 33%, 232736 KB, 44068 KB/s, 5 seconds passed -... 33%, 232768 KB, 44072 KB/s, 5 seconds passed -... 33%, 232800 KB, 44076 KB/s, 5 seconds passed -... 33%, 232832 KB, 44081 KB/s, 5 seconds passed -... 33%, 232864 KB, 44084 KB/s, 5 seconds passed -... 33%, 232896 KB, 44088 KB/s, 5 seconds passed -... 33%, 232928 KB, 44091 KB/s, 5 seconds passed -... 33%, 232960 KB, 44095 KB/s, 5 seconds passed -... 33%, 232992 KB, 44099 KB/s, 5 seconds passed -... 33%, 233024 KB, 44103 KB/s, 5 seconds passed -... 33%, 233056 KB, 44106 KB/s, 5 seconds passed -... 33%, 233088 KB, 44109 KB/s, 5 seconds passed -... 33%, 233120 KB, 44113 KB/s, 5 seconds passed -... 33%, 233152 KB, 44117 KB/s, 5 seconds passed -... 33%, 233184 KB, 44120 KB/s, 5 seconds passed -... 33%, 233216 KB, 44124 KB/s, 5 seconds passed -... 33%, 233248 KB, 44128 KB/s, 5 seconds passed -... 33%, 233280 KB, 44132 KB/s, 5 seconds passed -... 33%, 233312 KB, 44135 KB/s, 5 seconds passed -... 33%, 233344 KB, 44139 KB/s, 5 seconds passed -... 33%, 233376 KB, 44143 KB/s, 5 seconds passed -... 33%, 233408 KB, 44147 KB/s, 5 seconds passed -... 33%, 233440 KB, 44150 KB/s, 5 seconds passed -... 33%, 233472 KB, 44153 KB/s, 5 seconds passed -... 33%, 233504 KB, 44156 KB/s, 5 seconds passed -... 33%, 233536 KB, 44160 KB/s, 5 seconds passed -... 33%, 233568 KB, 44164 KB/s, 5 seconds passed -... 33%, 233600 KB, 44169 KB/s, 5 seconds passed -... 33%, 233632 KB, 44173 KB/s, 5 seconds passed -... 33%, 233664 KB, 44176 KB/s, 5 seconds passed -... 33%, 233696 KB, 44180 KB/s, 5 seconds passed -... 33%, 233728 KB, 44184 KB/s, 5 seconds passed -... 33%, 233760 KB, 44187 KB/s, 5 seconds passed -... 33%, 233792 KB, 44191 KB/s, 5 seconds passed -... 33%, 233824 KB, 44195 KB/s, 5 seconds passed -... 33%, 233856 KB, 44198 KB/s, 5 seconds passed -... 33%, 233888 KB, 44202 KB/s, 5 seconds passed -... 33%, 233920 KB, 44206 KB/s, 5 seconds passed -... 33%, 233952 KB, 44210 KB/s, 5 seconds passed -... 33%, 233984 KB, 44214 KB/s, 5 seconds passed -... 33%, 234016 KB, 44217 KB/s, 5 seconds passed -... 33%, 234048 KB, 44221 KB/s, 5 seconds passed -... 33%, 234080 KB, 44225 KB/s, 5 seconds passed -... 33%, 234112 KB, 44228 KB/s, 5 seconds passed -... 33%, 234144 KB, 44232 KB/s, 5 seconds passed -... 33%, 234176 KB, 44237 KB/s, 5 seconds passed -... 33%, 234208 KB, 44240 KB/s, 5 seconds passed -... 33%, 234240 KB, 44244 KB/s, 5 seconds passed -... 33%, 234272 KB, 44248 KB/s, 5 seconds passed -... 33%, 234304 KB, 44251 KB/s, 5 seconds passed -... 33%, 234336 KB, 44254 KB/s, 5 seconds passed -... 33%, 234368 KB, 44257 KB/s, 5 seconds passed -... 33%, 234400 KB, 44259 KB/s, 5 seconds passed -... 33%, 234432 KB, 44264 KB/s, 5 seconds passed -... 33%, 234464 KB, 44268 KB/s, 5 seconds passed -... 33%, 234496 KB, 44273 KB/s, 5 seconds passed -... 33%, 234528 KB, 44277 KB/s, 5 seconds passed -... 33%, 234560 KB, 44281 KB/s, 5 seconds passed -... 33%, 234592 KB, 44284 KB/s, 5 seconds passed -... 33%, 234624 KB, 44288 KB/s, 5 seconds passed -... 33%, 234656 KB, 44291 KB/s, 5 seconds passed -... 33%, 234688 KB, 44294 KB/s, 5 seconds passed -... 33%, 234720 KB, 44298 KB/s, 5 seconds passed -... 33%, 234752 KB, 44301 KB/s, 5 seconds passed -... 33%, 234784 KB, 44305 KB/s, 5 seconds passed -... 33%, 234816 KB, 44308 KB/s, 5 seconds passed -... 33%, 234848 KB, 44311 KB/s, 5 seconds passed -... 33%, 234880 KB, 44315 KB/s, 5 seconds passed -... 33%, 234912 KB, 44318 KB/s, 5 seconds passed -... 33%, 234944 KB, 44322 KB/s, 5 seconds passed -... 33%, 234976 KB, 44325 KB/s, 5 seconds passed -... 33%, 235008 KB, 44328 KB/s, 5 seconds passed -... 33%, 235040 KB, 44332 KB/s, 5 seconds passed -... 33%, 235072 KB, 44335 KB/s, 5 seconds passed -... 33%, 235104 KB, 44338 KB/s, 5 seconds passed -... 33%, 235136 KB, 44342 KB/s, 5 seconds passed -... 33%, 235168 KB, 44345 KB/s, 5 seconds passed -... 33%, 235200 KB, 44349 KB/s, 5 seconds passed -... 33%, 235232 KB, 44352 KB/s, 5 seconds passed -... 33%, 235264 KB, 44356 KB/s, 5 seconds passed -... 33%, 235296 KB, 44359 KB/s, 5 seconds passed -... 33%, 235328 KB, 44362 KB/s, 5 seconds passed -... 33%, 235360 KB, 44366 KB/s, 5 seconds passed -... 33%, 235392 KB, 44369 KB/s, 5 seconds passed -... 33%, 235424 KB, 44373 KB/s, 5 seconds passed -... 33%, 235456 KB, 44377 KB/s, 5 seconds passed -... 33%, 235488 KB, 44381 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 33%, 235520 KB, 43861 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 33%, 235552 KB, 43862 KB/s, 5 seconds passed -... 33%, 235584 KB, 43865 KB/s, 5 seconds passed -... 33%, 235616 KB, 43868 KB/s, 5 seconds passed -... 33%, 235648 KB, 43871 KB/s, 5 seconds passed -... 33%, 235680 KB, 43873 KB/s, 5 seconds passed -... 33%, 235712 KB, 43876 KB/s, 5 seconds passed -... 33%, 235744 KB, 43879 KB/s, 5 seconds passed -... 33%, 235776 KB, 43882 KB/s, 5 seconds passed -... 33%, 235808 KB, 43884 KB/s, 5 seconds passed -... 33%, 235840 KB, 43887 KB/s, 5 seconds passed -... 33%, 235872 KB, 43890 KB/s, 5 seconds passed -... 33%, 235904 KB, 43893 KB/s, 5 seconds passed -... 33%, 235936 KB, 43896 KB/s, 5 seconds passed -... 33%, 235968 KB, 43899 KB/s, 5 seconds passed -... 33%, 236000 KB, 43902 KB/s, 5 seconds passed -... 33%, 236032 KB, 43905 KB/s, 5 seconds passed -... 33%, 236064 KB, 43907 KB/s, 5 seconds passed -... 33%, 236096 KB, 43910 KB/s, 5 seconds passed -... 33%, 236128 KB, 43913 KB/s, 5 seconds passed -... 33%, 236160 KB, 43916 KB/s, 5 seconds passed -... 33%, 236192 KB, 43919 KB/s, 5 seconds passed -... 33%, 236224 KB, 43921 KB/s, 5 seconds passed -... 33%, 236256 KB, 43924 KB/s, 5 seconds passed -... 33%, 236288 KB, 43927 KB/s, 5 seconds passed -... 33%, 236320 KB, 43930 KB/s, 5 seconds passed -... 33%, 236352 KB, 43933 KB/s, 5 seconds passed -... 33%, 236384 KB, 43936 KB/s, 5 seconds passed -... 33%, 236416 KB, 43938 KB/s, 5 seconds passed -... 33%, 236448 KB, 43941 KB/s, 5 seconds passed -... 34%, 236480 KB, 43944 KB/s, 5 seconds passed -... 34%, 236512 KB, 43947 KB/s, 5 seconds passed -... 34%, 236544 KB, 43950 KB/s, 5 seconds passed -... 34%, 236576 KB, 43953 KB/s, 5 seconds passed -... 34%, 236608 KB, 43956 KB/s, 5 seconds passed -... 34%, 236640 KB, 43958 KB/s, 5 seconds passed -... 34%, 236672 KB, 43961 KB/s, 5 seconds passed -... 34%, 236704 KB, 43964 KB/s, 5 seconds passed -... 34%, 236736 KB, 43967 KB/s, 5 seconds passed -... 34%, 236768 KB, 43970 KB/s, 5 seconds passed -... 34%, 236800 KB, 43973 KB/s, 5 seconds passed -... 34%, 236832 KB, 43976 KB/s, 5 seconds passed -... 34%, 236864 KB, 43979 KB/s, 5 seconds passed -... 34%, 236896 KB, 43981 KB/s, 5 seconds passed -... 34%, 236928 KB, 43984 KB/s, 5 seconds passed -... 34%, 236960 KB, 43987 KB/s, 5 seconds passed -... 34%, 236992 KB, 43991 KB/s, 5 seconds passed -... 34%, 237024 KB, 43995 KB/s, 5 seconds passed -... 34%, 237056 KB, 43999 KB/s, 5 seconds passed -... 34%, 237088 KB, 44003 KB/s, 5 seconds passed -... 34%, 237120 KB, 44007 KB/s, 5 seconds passed -... 34%, 237152 KB, 44011 KB/s, 5 seconds passed -... 34%, 237184 KB, 44015 KB/s, 5 seconds passed -... 34%, 237216 KB, 44019 KB/s, 5 seconds passed -... 34%, 237248 KB, 44022 KB/s, 5 seconds passed -... 34%, 237280 KB, 44026 KB/s, 5 seconds passed -... 34%, 237312 KB, 44030 KB/s, 5 seconds passed -... 34%, 237344 KB, 44034 KB/s, 5 seconds passed -... 34%, 237376 KB, 44038 KB/s, 5 seconds passed -... 34%, 237408 KB, 44042 KB/s, 5 seconds passed -... 34%, 237440 KB, 44046 KB/s, 5 seconds passed -... 34%, 237472 KB, 44050 KB/s, 5 seconds passed -... 34%, 237504 KB, 44054 KB/s, 5 seconds passed -... 34%, 237536 KB, 44058 KB/s, 5 seconds passed -... 34%, 237568 KB, 44062 KB/s, 5 seconds passed -... 34%, 237600 KB, 44066 KB/s, 5 seconds passed -... 34%, 237632 KB, 44070 KB/s, 5 seconds passed -... 34%, 237664 KB, 44074 KB/s, 5 seconds passed -... 34%, 237696 KB, 44078 KB/s, 5 seconds passed -... 34%, 237728 KB, 44082 KB/s, 5 seconds passed -... 34%, 237760 KB, 44086 KB/s, 5 seconds passed -... 34%, 237792 KB, 44090 KB/s, 5 seconds passed -... 34%, 237824 KB, 44094 KB/s, 5 seconds passed -... 34%, 237856 KB, 44098 KB/s, 5 seconds passed -... 34%, 237888 KB, 44102 KB/s, 5 seconds passed -... 34%, 237920 KB, 44106 KB/s, 5 seconds passed -... 34%, 237952 KB, 44110 KB/s, 5 seconds passed -... 34%, 237984 KB, 44114 KB/s, 5 seconds passed -... 34%, 238016 KB, 44118 KB/s, 5 seconds passed -... 34%, 238048 KB, 44122 KB/s, 5 seconds passed -... 34%, 238080 KB, 44126 KB/s, 5 seconds passed -... 34%, 238112 KB, 44129 KB/s, 5 seconds passed -... 34%, 238144 KB, 44133 KB/s, 5 seconds passed -... 34%, 238176 KB, 44137 KB/s, 5 seconds passed -... 34%, 238208 KB, 44141 KB/s, 5 seconds passed -... 34%, 238240 KB, 44145 KB/s, 5 seconds passed -... 34%, 238272 KB, 44149 KB/s, 5 seconds passed -... 34%, 238304 KB, 44153 KB/s, 5 seconds passed -... 34%, 238336 KB, 44157 KB/s, 5 seconds passed -... 34%, 238368 KB, 44161 KB/s, 5 seconds passed -... 34%, 238400 KB, 44165 KB/s, 5 seconds passed -... 34%, 238432 KB, 44169 KB/s, 5 seconds passed -... 34%, 238464 KB, 44174 KB/s, 5 seconds passed -... 34%, 238496 KB, 44178 KB/s, 5 seconds passed -... 34%, 238528 KB, 44183 KB/s, 5 seconds passed -... 34%, 238560 KB, 44188 KB/s, 5 seconds passed -... 34%, 238592 KB, 44192 KB/s, 5 seconds passed -... 34%, 238624 KB, 44197 KB/s, 5 seconds passed -... 34%, 238656 KB, 44201 KB/s, 5 seconds passed -... 34%, 238688 KB, 44206 KB/s, 5 seconds passed -... 34%, 238720 KB, 44211 KB/s, 5 seconds passed -... 34%, 238752 KB, 44215 KB/s, 5 seconds passed -... 34%, 238784 KB, 44220 KB/s, 5 seconds passed -... 34%, 238816 KB, 44224 KB/s, 5 seconds passed -... 34%, 238848 KB, 44229 KB/s, 5 seconds passed -... 34%, 238880 KB, 44233 KB/s, 5 seconds passed -... 34%, 238912 KB, 44238 KB/s, 5 seconds passed -... 34%, 238944 KB, 44243 KB/s, 5 seconds passed -... 34%, 238976 KB, 44247 KB/s, 5 seconds passed -... 34%, 239008 KB, 44252 KB/s, 5 seconds passed -... 34%, 239040 KB, 44256 KB/s, 5 seconds passed -... 34%, 239072 KB, 44261 KB/s, 5 seconds passed -... 34%, 239104 KB, 44266 KB/s, 5 seconds passed -... 34%, 239136 KB, 44270 KB/s, 5 seconds passed -... 34%, 239168 KB, 44275 KB/s, 5 seconds passed -... 34%, 239200 KB, 44280 KB/s, 5 seconds passed -... 34%, 239232 KB, 44284 KB/s, 5 seconds passed -... 34%, 239264 KB, 44289 KB/s, 5 seconds passed -... 34%, 239296 KB, 44293 KB/s, 5 seconds passed -... 34%, 239328 KB, 44297 KB/s, 5 seconds passed -... 34%, 239360 KB, 44301 KB/s, 5 seconds passed -... 34%, 239392 KB, 44305 KB/s, 5 seconds passed -... 34%, 239424 KB, 44292 KB/s, 5 seconds passed -... 34%, 239456 KB, 44296 KB/s, 5 seconds passed -... 34%, 239488 KB, 44291 KB/s, 5 seconds passed -... 34%, 239520 KB, 44296 KB/s, 5 seconds passed -... 34%, 239552 KB, 44299 KB/s, 5 seconds passed -... 34%, 239584 KB, 44303 KB/s, 5 seconds passed -... 34%, 239616 KB, 44300 KB/s, 5 seconds passed -... 34%, 239648 KB, 44304 KB/s, 5 seconds passed -... 34%, 239680 KB, 44308 KB/s, 5 seconds passed -... 34%, 239712 KB, 44312 KB/s, 5 seconds passed -... 34%, 239744 KB, 44315 KB/s, 5 seconds passed -... 34%, 239776 KB, 44319 KB/s, 5 seconds passed -... 34%, 239808 KB, 44322 KB/s, 5 seconds passed -... 34%, 239840 KB, 44326 KB/s, 5 seconds passed -... 34%, 239872 KB, 44330 KB/s, 5 seconds passed -... 34%, 239904 KB, 44333 KB/s, 5 seconds passed -... 34%, 239936 KB, 44337 KB/s, 5 seconds passed -... 34%, 239968 KB, 44340 KB/s, 5 seconds passed -... 34%, 240000 KB, 44343 KB/s, 5 seconds passed -... 34%, 240032 KB, 44347 KB/s, 5 seconds passed -... 34%, 240064 KB, 44351 KB/s, 5 seconds passed -... 34%, 240096 KB, 44354 KB/s, 5 seconds passed -... 34%, 240128 KB, 44358 KB/s, 5 seconds passed -... 34%, 240160 KB, 44362 KB/s, 5 seconds passed -... 34%, 240192 KB, 44366 KB/s, 5 seconds passed -... 34%, 240224 KB, 44370 KB/s, 5 seconds passed -... 34%, 240256 KB, 44373 KB/s, 5 seconds passed -... 34%, 240288 KB, 44376 KB/s, 5 seconds passed -... 34%, 240320 KB, 44380 KB/s, 5 seconds passed -... 34%, 240352 KB, 44383 KB/s, 5 seconds passed -... 34%, 240384 KB, 44387 KB/s, 5 seconds passed -... 34%, 240416 KB, 44391 KB/s, 5 seconds passed -... 34%, 240448 KB, 44395 KB/s, 5 seconds passed -... 34%, 240480 KB, 44398 KB/s, 5 seconds passed -... 34%, 240512 KB, 44402 KB/s, 5 seconds passed -... 34%, 240544 KB, 44405 KB/s, 5 seconds passed -... 34%, 240576 KB, 44409 KB/s, 5 seconds passed -... 34%, 240608 KB, 44412 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 34%, 240640 KB, 43992 KB/s, 5 seconds passed -... 34%, 240672 KB, 43994 KB/s, 5 seconds passed -... 34%, 240704 KB, 43996 KB/s, 5 seconds passed -... 34%, 240736 KB, 43999 KB/s, 5 seconds passed -... 34%, 240768 KB, 44002 KB/s, 5 seconds passed -... 34%, 240800 KB, 44005 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 34%, 240832 KB, 44007 KB/s, 5 seconds passed -... 34%, 240864 KB, 44010 KB/s, 5 seconds passed -... 34%, 240896 KB, 44013 KB/s, 5 seconds passed -... 34%, 240928 KB, 44016 KB/s, 5 seconds passed -... 34%, 240960 KB, 44018 KB/s, 5 seconds passed -... 34%, 240992 KB, 44021 KB/s, 5 seconds passed -... 34%, 241024 KB, 44024 KB/s, 5 seconds passed -... 34%, 241056 KB, 44027 KB/s, 5 seconds passed -... 34%, 241088 KB, 44030 KB/s, 5 seconds passed -... 34%, 241120 KB, 44033 KB/s, 5 seconds passed -... 34%, 241152 KB, 44035 KB/s, 5 seconds passed -... 34%, 241184 KB, 44038 KB/s, 5 seconds passed -... 34%, 241216 KB, 44041 KB/s, 5 seconds passed -... 34%, 241248 KB, 44044 KB/s, 5 seconds passed -... 34%, 241280 KB, 44046 KB/s, 5 seconds passed -... 34%, 241312 KB, 44049 KB/s, 5 seconds passed -... 34%, 241344 KB, 44052 KB/s, 5 seconds passed -... 34%, 241376 KB, 44055 KB/s, 5 seconds passed -... 34%, 241408 KB, 44058 KB/s, 5 seconds passed -... 34%, 241440 KB, 44062 KB/s, 5 seconds passed -... 34%, 241472 KB, 44065 KB/s, 5 seconds passed -... 34%, 241504 KB, 44068 KB/s, 5 seconds passed -... 34%, 241536 KB, 44071 KB/s, 5 seconds passed -... 34%, 241568 KB, 44074 KB/s, 5 seconds passed -... 34%, 241600 KB, 44078 KB/s, 5 seconds passed -... 34%, 241632 KB, 44081 KB/s, 5 seconds passed -... 34%, 241664 KB, 44084 KB/s, 5 seconds passed -... 34%, 241696 KB, 44087 KB/s, 5 seconds passed -... 34%, 241728 KB, 44090 KB/s, 5 seconds passed -... 34%, 241760 KB, 44094 KB/s, 5 seconds passed -... 34%, 241792 KB, 44097 KB/s, 5 seconds passed -... 34%, 241824 KB, 44100 KB/s, 5 seconds passed -... 34%, 241856 KB, 44103 KB/s, 5 seconds passed -... 34%, 241888 KB, 44106 KB/s, 5 seconds passed -... 34%, 241920 KB, 44110 KB/s, 5 seconds passed -... 34%, 241952 KB, 44113 KB/s, 5 seconds passed -... 34%, 241984 KB, 44117 KB/s, 5 seconds passed -... 34%, 242016 KB, 44121 KB/s, 5 seconds passed -... 34%, 242048 KB, 44124 KB/s, 5 seconds passed -... 34%, 242080 KB, 44128 KB/s, 5 seconds passed -... 34%, 242112 KB, 44132 KB/s, 5 seconds passed -... 34%, 242144 KB, 44136 KB/s, 5 seconds passed -... 34%, 242176 KB, 44140 KB/s, 5 seconds passed -... 34%, 242208 KB, 44143 KB/s, 5 seconds passed -... 34%, 242240 KB, 44147 KB/s, 5 seconds passed -... 34%, 242272 KB, 44151 KB/s, 5 seconds passed -... 34%, 242304 KB, 44154 KB/s, 5 seconds passed -... 34%, 242336 KB, 44157 KB/s, 5 seconds passed -... 34%, 242368 KB, 44161 KB/s, 5 seconds passed -... 34%, 242400 KB, 44165 KB/s, 5 seconds passed -... 34%, 242432 KB, 44169 KB/s, 5 seconds passed -... 34%, 242464 KB, 44174 KB/s, 5 seconds passed -... 34%, 242496 KB, 44178 KB/s, 5 seconds passed -... 34%, 242528 KB, 44182 KB/s, 5 seconds passed -... 34%, 242560 KB, 44186 KB/s, 5 seconds passed -... 34%, 242592 KB, 44190 KB/s, 5 seconds passed -... 34%, 242624 KB, 44194 KB/s, 5 seconds passed -... 34%, 242656 KB, 44198 KB/s, 5 seconds passed -... 34%, 242688 KB, 44202 KB/s, 5 seconds passed -... 34%, 242720 KB, 44206 KB/s, 5 seconds passed -... 34%, 242752 KB, 44210 KB/s, 5 seconds passed -... 34%, 242784 KB, 44213 KB/s, 5 seconds passed -... 34%, 242816 KB, 44217 KB/s, 5 seconds passed -... 34%, 242848 KB, 44220 KB/s, 5 seconds passed -... 34%, 242880 KB, 44224 KB/s, 5 seconds passed -... 34%, 242912 KB, 44228 KB/s, 5 seconds passed -... 34%, 242944 KB, 44231 KB/s, 5 seconds passed -... 34%, 242976 KB, 44235 KB/s, 5 seconds passed -... 34%, 243008 KB, 44238 KB/s, 5 seconds passed -... 34%, 243040 KB, 44242 KB/s, 5 seconds passed -... 34%, 243072 KB, 44246 KB/s, 5 seconds passed -... 34%, 243104 KB, 44249 KB/s, 5 seconds passed -... 34%, 243136 KB, 44252 KB/s, 5 seconds passed -... 34%, 243168 KB, 44256 KB/s, 5 seconds passed -... 34%, 243200 KB, 44260 KB/s, 5 seconds passed -... 34%, 243232 KB, 44264 KB/s, 5 seconds passed -... 34%, 243264 KB, 44267 KB/s, 5 seconds passed -... 34%, 243296 KB, 44271 KB/s, 5 seconds passed -... 34%, 243328 KB, 44274 KB/s, 5 seconds passed -... 34%, 243360 KB, 44278 KB/s, 5 seconds passed -... 34%, 243392 KB, 44281 KB/s, 5 seconds passed -... 34%, 243424 KB, 44285 KB/s, 5 seconds passed -... 35%, 243456 KB, 44289 KB/s, 5 seconds passed -... 35%, 243488 KB, 44292 KB/s, 5 seconds passed -... 35%, 243520 KB, 44296 KB/s, 5 seconds passed -... 35%, 243552 KB, 44300 KB/s, 5 seconds passed -... 35%, 243584 KB, 44303 KB/s, 5 seconds passed -... 35%, 243616 KB, 44307 KB/s, 5 seconds passed -... 35%, 243648 KB, 44310 KB/s, 5 seconds passed -... 35%, 243680 KB, 44314 KB/s, 5 seconds passed -... 35%, 243712 KB, 44318 KB/s, 5 seconds passed -... 35%, 243744 KB, 44321 KB/s, 5 seconds passed -... 35%, 243776 KB, 44325 KB/s, 5 seconds passed -... 35%, 243808 KB, 44327 KB/s, 5 seconds passed -... 35%, 243840 KB, 44330 KB/s, 5 seconds passed -... 35%, 243872 KB, 44332 KB/s, 5 seconds passed -... 35%, 243904 KB, 44336 KB/s, 5 seconds passed -... 35%, 243936 KB, 44341 KB/s, 5 seconds passed -... 35%, 243968 KB, 44345 KB/s, 5 seconds passed -... 35%, 244000 KB, 44350 KB/s, 5 seconds passed -... 35%, 244032 KB, 44352 KB/s, 5 seconds passed -... 35%, 244064 KB, 44357 KB/s, 5 seconds passed -... 35%, 244096 KB, 44361 KB/s, 5 seconds passed -... 35%, 244128 KB, 44364 KB/s, 5 seconds passed -... 35%, 244160 KB, 44368 KB/s, 5 seconds passed -... 35%, 244192 KB, 44370 KB/s, 5 seconds passed -... 35%, 244224 KB, 44375 KB/s, 5 seconds passed -... 35%, 244256 KB, 44378 KB/s, 5 seconds passed -... 35%, 244288 KB, 44382 KB/s, 5 seconds passed -... 35%, 244320 KB, 44386 KB/s, 5 seconds passed -... 35%, 244352 KB, 44389 KB/s, 5 seconds passed -... 35%, 244384 KB, 44392 KB/s, 5 seconds passed -... 35%, 244416 KB, 44396 KB/s, 5 seconds passed -... 35%, 244448 KB, 44400 KB/s, 5 seconds passed -... 35%, 244480 KB, 44385 KB/s, 5 seconds passed -... 35%, 244512 KB, 44387 KB/s, 5 seconds passed -... 35%, 244544 KB, 44390 KB/s, 5 seconds passed -... 35%, 244576 KB, 44394 KB/s, 5 seconds passed -... 35%, 244608 KB, 44398 KB/s, 5 seconds passed -... 35%, 244640 KB, 44402 KB/s, 5 seconds passed -... 35%, 244672 KB, 44405 KB/s, 5 seconds passed -... 35%, 244704 KB, 44409 KB/s, 5 seconds passed -... 35%, 244736 KB, 44413 KB/s, 5 seconds passed -... 35%, 244768 KB, 44416 KB/s, 5 seconds passed -... 35%, 244800 KB, 44419 KB/s, 5 seconds passed -... 35%, 244832 KB, 44422 KB/s, 5 seconds passed -... 35%, 244864 KB, 44408 KB/s, 5 seconds passed -... 35%, 244896 KB, 44411 KB/s, 5 seconds passed -... 35%, 244928 KB, 44414 KB/s, 5 seconds passed -... 35%, 244960 KB, 44416 KB/s, 5 seconds passed -... 35%, 244992 KB, 44420 KB/s, 5 seconds passed -... 35%, 245024 KB, 44425 KB/s, 5 seconds passed -... 35%, 245056 KB, 44429 KB/s, 5 seconds passed -... 35%, 245088 KB, 44432 KB/s, 5 seconds passed -... 35%, 245120 KB, 44435 KB/s, 5 seconds passed -... 35%, 245152 KB, 44439 KB/s, 5 seconds passed -... 35%, 245184 KB, 44442 KB/s, 5 seconds passed -... 35%, 245216 KB, 44446 KB/s, 5 seconds passed -... 35%, 245248 KB, 44451 KB/s, 5 seconds passed -... 35%, 245280 KB, 44454 KB/s, 5 seconds passed -... 35%, 245312 KB, 44456 KB/s, 5 seconds passed -... 35%, 245344 KB, 44459 KB/s, 5 seconds passed -... 35%, 245376 KB, 44461 KB/s, 5 seconds passed -... 35%, 245408 KB, 44464 KB/s, 5 seconds passed -... 35%, 245440 KB, 44467 KB/s, 5 seconds passed -... 35%, 245472 KB, 44470 KB/s, 5 seconds passed -... 35%, 245504 KB, 44473 KB/s, 5 seconds passed -... 35%, 245536 KB, 44475 KB/s, 5 seconds passed -... 35%, 245568 KB, 44478 KB/s, 5 seconds passed -... 35%, 245600 KB, 44481 KB/s, 5 seconds passed -... 35%, 245632 KB, 44484 KB/s, 5 seconds passed -... 35%, 245664 KB, 44487 KB/s, 5 seconds passed -... 35%, 245696 KB, 44491 KB/s, 5 seconds passed -... 35%, 245728 KB, 44494 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 35%, 245760 KB, 43913 KB/s, 5 seconds passed -... 35%, 245792 KB, 43915 KB/s, 5 seconds passed -... 35%, 245824 KB, 43917 KB/s, 5 seconds passed -... 35%, 245856 KB, 43920 KB/s, 5 seconds passed -... 35%, 245888 KB, 43923 KB/s, 5 seconds passed -... 35%, 245920 KB, 43925 KB/s, 5 seconds passed -... 35%, 245952 KB, 43928 KB/s, 5 seconds passed -... 35%, 245984 KB, 43931 KB/s, 5 seconds passed -... 35%, 246016 KB, 43934 KB/s, 5 seconds passed -... 35%, 246048 KB, 43936 KB/s, 5 seconds passed -... 35%, 246080 KB, 43939 KB/s, 5 seconds passed -... 35%, 246112 KB, 43942 KB/s, 5 seconds passed -... 35%, 246144 KB, 43945 KB/s, 5 seconds passed -... 35%, 246176 KB, 43949 KB/s, 5 seconds passed -... 35%, 246208 KB, 43949 KB/s, 5 seconds passed -... 35%, 246240 KB, 43952 KB/s, 5 seconds passed -... 35%, 246272 KB, 43955 KB/s, 5 seconds passed -... 35%, 246304 KB, 43958 KB/s, 5 seconds passed -... 35%, 246336 KB, 43960 KB/s, 5 seconds passed -... 35%, 246368 KB, 43963 KB/s, 5 seconds passed -... 35%, 246400 KB, 43966 KB/s, 5 seconds passed -... 35%, 246432 KB, 43968 KB/s, 5 seconds passed -... 35%, 246464 KB, 43971 KB/s, 5 seconds passed -... 35%, 246496 KB, 43974 KB/s, 5 seconds passed -... 35%, 246528 KB, 43977 KB/s, 5 seconds passed -... 35%, 246560 KB, 43980 KB/s, 5 seconds passed -... 35%, 246592 KB, 43982 KB/s, 5 seconds passed -... 35%, 246624 KB, 43985 KB/s, 5 seconds passed -... 35%, 246656 KB, 43988 KB/s, 5 seconds passed -... 35%, 246688 KB, 43991 KB/s, 5 seconds passed -... 35%, 246720 KB, 43993 KB/s, 5 seconds passed -... 35%, 246752 KB, 43996 KB/s, 5 seconds passed -... 35%, 246784 KB, 43999 KB/s, 5 seconds passed -... 35%, 246816 KB, 44001 KB/s, 5 seconds passed -... 35%, 246848 KB, 44004 KB/s, 5 seconds passed -... 35%, 246880 KB, 44008 KB/s, 5 seconds passed -... 35%, 246912 KB, 44011 KB/s, 5 seconds passed -... 35%, 246944 KB, 44015 KB/s, 5 seconds passed -... 35%, 246976 KB, 44019 KB/s, 5 seconds passed -... 35%, 247008 KB, 44023 KB/s, 5 seconds passed -... 35%, 247040 KB, 44026 KB/s, 5 seconds passed -... 35%, 247072 KB, 44030 KB/s, 5 seconds passed -... 35%, 247104 KB, 44034 KB/s, 5 seconds passed -... 35%, 247136 KB, 44038 KB/s, 5 seconds passed -... 35%, 247168 KB, 44042 KB/s, 5 seconds passed -... 35%, 247200 KB, 44045 KB/s, 5 seconds passed -... 35%, 247232 KB, 44049 KB/s, 5 seconds passed -... 35%, 247264 KB, 44053 KB/s, 5 seconds passed -... 35%, 247296 KB, 44057 KB/s, 5 seconds passed -... 35%, 247328 KB, 44060 KB/s, 5 seconds passed -... 35%, 247360 KB, 44064 KB/s, 5 seconds passed -... 35%, 247392 KB, 44068 KB/s, 5 seconds passed -... 35%, 247424 KB, 44072 KB/s, 5 seconds passed -... 35%, 247456 KB, 44076 KB/s, 5 seconds passed -... 35%, 247488 KB, 44079 KB/s, 5 seconds passed -... 35%, 247520 KB, 44083 KB/s, 5 seconds passed -... 35%, 247552 KB, 44087 KB/s, 5 seconds passed -... 35%, 247584 KB, 44091 KB/s, 5 seconds passed -... 35%, 247616 KB, 44094 KB/s, 5 seconds passed -... 35%, 247648 KB, 44098 KB/s, 5 seconds passed -... 35%, 247680 KB, 44102 KB/s, 5 seconds passed -... 35%, 247712 KB, 44106 KB/s, 5 seconds passed -... 35%, 247744 KB, 44109 KB/s, 5 seconds passed -... 35%, 247776 KB, 44113 KB/s, 5 seconds passed -... 35%, 247808 KB, 44117 KB/s, 5 seconds passed -... 35%, 247840 KB, 44121 KB/s, 5 seconds passed -... 35%, 247872 KB, 44124 KB/s, 5 seconds passed -... 35%, 247904 KB, 44128 KB/s, 5 seconds passed -... 35%, 247936 KB, 44132 KB/s, 5 seconds passed -... 35%, 247968 KB, 44136 KB/s, 5 seconds passed -... 35%, 248000 KB, 44140 KB/s, 5 seconds passed -... 35%, 248032 KB, 44144 KB/s, 5 seconds passed -... 35%, 248064 KB, 44147 KB/s, 5 seconds passed -... 35%, 248096 KB, 44151 KB/s, 5 seconds passed -... 35%, 248128 KB, 44155 KB/s, 5 seconds passed -... 35%, 248160 KB, 44160 KB/s, 5 seconds passed -... 35%, 248192 KB, 44164 KB/s, 5 seconds passed -... 35%, 248224 KB, 44168 KB/s, 5 seconds passed -... 35%, 248256 KB, 44173 KB/s, 5 seconds passed -... 35%, 248288 KB, 44176 KB/s, 5 seconds passed -... 35%, 248320 KB, 44180 KB/s, 5 seconds passed -... 35%, 248352 KB, 44183 KB/s, 5 seconds passed -... 35%, 248384 KB, 44188 KB/s, 5 seconds passed -... 35%, 248416 KB, 44191 KB/s, 5 seconds passed -... 35%, 248448 KB, 44195 KB/s, 5 seconds passed -... 35%, 248480 KB, 44198 KB/s, 5 seconds passed -... 35%, 248512 KB, 44202 KB/s, 5 seconds passed -... 35%, 248544 KB, 44205 KB/s, 5 seconds passed -... 35%, 248576 KB, 44208 KB/s, 5 seconds passed -... 35%, 248608 KB, 44212 KB/s, 5 seconds passed -... 35%, 248640 KB, 44215 KB/s, 5 seconds passed -... 35%, 248672 KB, 44219 KB/s, 5 seconds passed -... 35%, 248704 KB, 44222 KB/s, 5 seconds passed -... 35%, 248736 KB, 44226 KB/s, 5 seconds passed -... 35%, 248768 KB, 44229 KB/s, 5 seconds passed -... 35%, 248800 KB, 44232 KB/s, 5 seconds passed -... 35%, 248832 KB, 44236 KB/s, 5 seconds passed -... 35%, 248864 KB, 44240 KB/s, 5 seconds passed -... 35%, 248896 KB, 44243 KB/s, 5 seconds passed -... 35%, 248928 KB, 44246 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 35%, 248960 KB, 44250 KB/s, 5 seconds passed -... 35%, 248992 KB, 44254 KB/s, 5 seconds passed -... 35%, 249024 KB, 44257 KB/s, 5 seconds passed -... 35%, 249056 KB, 44261 KB/s, 5 seconds passed -... 35%, 249088 KB, 44265 KB/s, 5 seconds passed -... 35%, 249120 KB, 44268 KB/s, 5 seconds passed -... 35%, 249152 KB, 44271 KB/s, 5 seconds passed -... 35%, 249184 KB, 44274 KB/s, 5 seconds passed -... 35%, 249216 KB, 44278 KB/s, 5 seconds passed -... 35%, 249248 KB, 44281 KB/s, 5 seconds passed -... 35%, 249280 KB, 44285 KB/s, 5 seconds passed -... 35%, 249312 KB, 44288 KB/s, 5 seconds passed -... 35%, 249344 KB, 44292 KB/s, 5 seconds passed -... 35%, 249376 KB, 44295 KB/s, 5 seconds passed -... 35%, 249408 KB, 44299 KB/s, 5 seconds passed -... 35%, 249440 KB, 44302 KB/s, 5 seconds passed -... 35%, 249472 KB, 44306 KB/s, 5 seconds passed -... 35%, 249504 KB, 44310 KB/s, 5 seconds passed -... 35%, 249536 KB, 44313 KB/s, 5 seconds passed -... 35%, 249568 KB, 44316 KB/s, 5 seconds passed -... 35%, 249600 KB, 44308 KB/s, 5 seconds passed -... 35%, 249632 KB, 44310 KB/s, 5 seconds passed -... 35%, 249664 KB, 44313 KB/s, 5 seconds passed -... 35%, 249696 KB, 44317 KB/s, 5 seconds passed -... 35%, 249728 KB, 44321 KB/s, 5 seconds passed -... 35%, 249760 KB, 44324 KB/s, 5 seconds passed -... 35%, 249792 KB, 44327 KB/s, 5 seconds passed -... 35%, 249824 KB, 44330 KB/s, 5 seconds passed -... 35%, 249856 KB, 44333 KB/s, 5 seconds passed -... 35%, 249888 KB, 44325 KB/s, 5 seconds passed -... 35%, 249920 KB, 44328 KB/s, 5 seconds passed -... 35%, 249952 KB, 44327 KB/s, 5 seconds passed -... 35%, 249984 KB, 44331 KB/s, 5 seconds passed -... 35%, 250016 KB, 44334 KB/s, 5 seconds passed -... 35%, 250048 KB, 44338 KB/s, 5 seconds passed -... 35%, 250080 KB, 44342 KB/s, 5 seconds passed -... 35%, 250112 KB, 44345 KB/s, 5 seconds passed -... 35%, 250144 KB, 44349 KB/s, 5 seconds passed -... 35%, 250176 KB, 44352 KB/s, 5 seconds passed -... 35%, 250208 KB, 44356 KB/s, 5 seconds passed -... 35%, 250240 KB, 44359 KB/s, 5 seconds passed -... 35%, 250272 KB, 44363 KB/s, 5 seconds passed -... 35%, 250304 KB, 44366 KB/s, 5 seconds passed -... 35%, 250336 KB, 44370 KB/s, 5 seconds passed -... 35%, 250368 KB, 44373 KB/s, 5 seconds passed -... 36%, 250400 KB, 44376 KB/s, 5 seconds passed -... 36%, 250432 KB, 44380 KB/s, 5 seconds passed -... 36%, 250464 KB, 44384 KB/s, 5 seconds passed -... 36%, 250496 KB, 44387 KB/s, 5 seconds passed -... 36%, 250528 KB, 44390 KB/s, 5 seconds passed -... 36%, 250560 KB, 44394 KB/s, 5 seconds passed -... 36%, 250592 KB, 44397 KB/s, 5 seconds passed -... 36%, 250624 KB, 44399 KB/s, 5 seconds passed -... 36%, 250656 KB, 44402 KB/s, 5 seconds passed -... 36%, 250688 KB, 44407 KB/s, 5 seconds passed -... 36%, 250720 KB, 44411 KB/s, 5 seconds passed -... 36%, 250752 KB, 44415 KB/s, 5 seconds passed -... 36%, 250784 KB, 44418 KB/s, 5 seconds passed -... 36%, 250816 KB, 44422 KB/s, 5 seconds passed -... 36%, 250848 KB, 44426 KB/s, 5 seconds passed -... 36%, 250880 KB, 44258 KB/s, 5 seconds passed -... 36%, 250912 KB, 44260 KB/s, 5 seconds passed -... 36%, 250944 KB, 44252 KB/s, 5 seconds passed -... 36%, 250976 KB, 44253 KB/s, 5 seconds passed -... 36%, 251008 KB, 44256 KB/s, 5 seconds passed -... 36%, 251040 KB, 44259 KB/s, 5 seconds passed -... 36%, 251072 KB, 44262 KB/s, 5 seconds passed -... 36%, 251104 KB, 44264 KB/s, 5 seconds passed -... 36%, 251136 KB, 44267 KB/s, 5 seconds passed -... 36%, 251168 KB, 44270 KB/s, 5 seconds passed -... 36%, 251200 KB, 44272 KB/s, 5 seconds passed -... 36%, 251232 KB, 44275 KB/s, 5 seconds passed -... 36%, 251264 KB, 44278 KB/s, 5 seconds passed -... 36%, 251296 KB, 44280 KB/s, 5 seconds passed -... 36%, 251328 KB, 44283 KB/s, 5 seconds passed -... 36%, 251360 KB, 44286 KB/s, 5 seconds passed -... 36%, 251392 KB, 44289 KB/s, 5 seconds passed -... 36%, 251424 KB, 44291 KB/s, 5 seconds passed -... 36%, 251456 KB, 44294 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 36%, 251488 KB, 44297 KB/s, 5 seconds passed -... 36%, 251520 KB, 44299 KB/s, 5 seconds passed -... 36%, 251552 KB, 44302 KB/s, 5 seconds passed -... 36%, 251584 KB, 44305 KB/s, 5 seconds passed -... 36%, 251616 KB, 44308 KB/s, 5 seconds passed -... 36%, 251648 KB, 44310 KB/s, 5 seconds passed -... 36%, 251680 KB, 44313 KB/s, 5 seconds passed -... 36%, 251712 KB, 44316 KB/s, 5 seconds passed -... 36%, 251744 KB, 44319 KB/s, 5 seconds passed -... 36%, 251776 KB, 44321 KB/s, 5 seconds passed -... 36%, 251808 KB, 44325 KB/s, 5 seconds passed -... 36%, 251840 KB, 44328 KB/s, 5 seconds passed -... 36%, 251872 KB, 44331 KB/s, 5 seconds passed -... 36%, 251904 KB, 44335 KB/s, 5 seconds passed -... 36%, 251936 KB, 44338 KB/s, 5 seconds passed -... 36%, 251968 KB, 44342 KB/s, 5 seconds passed -... 36%, 252000 KB, 44345 KB/s, 5 seconds passed -... 36%, 252032 KB, 44349 KB/s, 5 seconds passed -... 36%, 252064 KB, 44352 KB/s, 5 seconds passed -... 36%, 252096 KB, 44356 KB/s, 5 seconds passed -... 36%, 252128 KB, 44359 KB/s, 5 seconds passed -... 36%, 252160 KB, 44362 KB/s, 5 seconds passed -... 36%, 252192 KB, 44366 KB/s, 5 seconds passed -... 36%, 252224 KB, 44369 KB/s, 5 seconds passed -... 36%, 252256 KB, 44373 KB/s, 5 seconds passed -... 36%, 252288 KB, 44376 KB/s, 5 seconds passed -... 36%, 252320 KB, 44379 KB/s, 5 seconds passed -... 36%, 252352 KB, 44383 KB/s, 5 seconds passed -... 36%, 252384 KB, 44386 KB/s, 5 seconds passed -... 36%, 252416 KB, 44390 KB/s, 5 seconds passed -... 36%, 252448 KB, 44393 KB/s, 5 seconds passed -... 36%, 252480 KB, 44396 KB/s, 5 seconds passed -... 36%, 252512 KB, 44400 KB/s, 5 seconds passed -... 36%, 252544 KB, 44403 KB/s, 5 seconds passed -... 36%, 252576 KB, 44407 KB/s, 5 seconds passed -... 36%, 252608 KB, 44410 KB/s, 5 seconds passed -... 36%, 252640 KB, 44414 KB/s, 5 seconds passed -... 36%, 252672 KB, 44417 KB/s, 5 seconds passed -... 36%, 252704 KB, 44420 KB/s, 5 seconds passed -... 36%, 252736 KB, 44424 KB/s, 5 seconds passed -... 36%, 252768 KB, 44427 KB/s, 5 seconds passed -... 36%, 252800 KB, 44431 KB/s, 5 seconds passed -... 36%, 252832 KB, 44434 KB/s, 5 seconds passed -... 36%, 252864 KB, 44438 KB/s, 5 seconds passed -... 36%, 252896 KB, 44441 KB/s, 5 seconds passed -... 36%, 252928 KB, 44445 KB/s, 5 seconds passed -... 36%, 252960 KB, 44449 KB/s, 5 seconds passed -... 36%, 252992 KB, 44454 KB/s, 5 seconds passed -... 36%, 253024 KB, 44458 KB/s, 5 seconds passed -... 36%, 253056 KB, 44462 KB/s, 5 seconds passed -... 36%, 253088 KB, 44466 KB/s, 5 seconds passed -... 36%, 253120 KB, 44470 KB/s, 5 seconds passed -... 36%, 253152 KB, 44474 KB/s, 5 seconds passed -... 36%, 253184 KB, 44478 KB/s, 5 seconds passed -... 36%, 253216 KB, 44482 KB/s, 5 seconds passed -... 36%, 253248 KB, 44486 KB/s, 5 seconds passed -... 36%, 253280 KB, 44491 KB/s, 5 seconds passed -... 36%, 253312 KB, 44495 KB/s, 5 seconds passed -... 36%, 253344 KB, 44499 KB/s, 5 seconds passed -... 36%, 253376 KB, 44503 KB/s, 5 seconds passed -... 36%, 253408 KB, 44507 KB/s, 5 seconds passed -... 36%, 253440 KB, 44511 KB/s, 5 seconds passed -... 36%, 253472 KB, 44515 KB/s, 5 seconds passed -... 36%, 253504 KB, 44520 KB/s, 5 seconds passed -... 36%, 253536 KB, 44524 KB/s, 5 seconds passed -... 36%, 253568 KB, 44528 KB/s, 5 seconds passed -... 36%, 253600 KB, 44532 KB/s, 5 seconds passed -... 36%, 253632 KB, 44536 KB/s, 5 seconds passed -... 36%, 253664 KB, 44540 KB/s, 5 seconds passed -... 36%, 253696 KB, 44544 KB/s, 5 seconds passed -... 36%, 253728 KB, 44549 KB/s, 5 seconds passed -... 36%, 253760 KB, 44553 KB/s, 5 seconds passed -... 36%, 253792 KB, 44557 KB/s, 5 seconds passed -... 36%, 253824 KB, 44561 KB/s, 5 seconds passed -... 36%, 253856 KB, 44565 KB/s, 5 seconds passed -... 36%, 253888 KB, 44569 KB/s, 5 seconds passed -... 36%, 253920 KB, 44574 KB/s, 5 seconds passed -... 36%, 253952 KB, 44577 KB/s, 5 seconds passed -... 36%, 253984 KB, 44580 KB/s, 5 seconds passed -... 36%, 254016 KB, 44583 KB/s, 5 seconds passed -... 36%, 254048 KB, 44586 KB/s, 5 seconds passed -... 36%, 254080 KB, 44590 KB/s, 5 seconds passed -... 36%, 254112 KB, 44593 KB/s, 5 seconds passed -... 36%, 254144 KB, 44597 KB/s, 5 seconds passed -... 36%, 254176 KB, 44601 KB/s, 5 seconds passed -... 36%, 254208 KB, 44604 KB/s, 5 seconds passed -... 36%, 254240 KB, 44608 KB/s, 5 seconds passed -... 36%, 254272 KB, 44611 KB/s, 5 seconds passed -... 36%, 254304 KB, 44614 KB/s, 5 seconds passed -... 36%, 254336 KB, 44618 KB/s, 5 seconds passed -... 36%, 254368 KB, 44621 KB/s, 5 seconds passed -... 36%, 254400 KB, 44625 KB/s, 5 seconds passed -... 36%, 254432 KB, 44629 KB/s, 5 seconds passed -... 36%, 254464 KB, 44632 KB/s, 5 seconds passed -... 36%, 254496 KB, 44635 KB/s, 5 seconds passed -... 36%, 254528 KB, 44639 KB/s, 5 seconds passed -... 36%, 254560 KB, 44642 KB/s, 5 seconds passed -... 36%, 254592 KB, 44646 KB/s, 5 seconds passed -... 36%, 254624 KB, 44649 KB/s, 5 seconds passed -... 36%, 254656 KB, 44653 KB/s, 5 seconds passed -... 36%, 254688 KB, 44656 KB/s, 5 seconds passed -... 36%, 254720 KB, 44660 KB/s, 5 seconds passed -... 36%, 254752 KB, 44663 KB/s, 5 seconds passed -... 36%, 254784 KB, 44666 KB/s, 5 seconds passed -... 36%, 254816 KB, 44670 KB/s, 5 seconds passed -... 36%, 254848 KB, 44673 KB/s, 5 seconds passed -... 36%, 254880 KB, 44676 KB/s, 5 seconds passed -... 36%, 254912 KB, 44680 KB/s, 5 seconds passed -... 36%, 254944 KB, 44683 KB/s, 5 seconds passed -... 36%, 254976 KB, 44672 KB/s, 5 seconds passed -... 36%, 255008 KB, 44676 KB/s, 5 seconds passed -... 36%, 255040 KB, 44679 KB/s, 5 seconds passed -... 36%, 255072 KB, 44682 KB/s, 5 seconds passed -... 36%, 255104 KB, 44684 KB/s, 5 seconds passed -... 36%, 255136 KB, 44688 KB/s, 5 seconds passed -... 36%, 255168 KB, 44692 KB/s, 5 seconds passed -... 36%, 255200 KB, 44696 KB/s, 5 seconds passed -... 36%, 255232 KB, 44700 KB/s, 5 seconds passed -... 36%, 255264 KB, 44703 KB/s, 5 seconds passed -... 36%, 255296 KB, 44707 KB/s, 5 seconds passed -... 36%, 255328 KB, 44710 KB/s, 5 seconds passed -... 36%, 255360 KB, 44714 KB/s, 5 seconds passed -... 36%, 255392 KB, 44717 KB/s, 5 seconds passed -... 36%, 255424 KB, 44721 KB/s, 5 seconds passed -... 36%, 255456 KB, 44724 KB/s, 5 seconds passed -... 36%, 255488 KB, 44727 KB/s, 5 seconds passed -... 36%, 255520 KB, 44731 KB/s, 5 seconds passed -... 36%, 255552 KB, 44734 KB/s, 5 seconds passed -... 36%, 255584 KB, 44738 KB/s, 5 seconds passed -... 36%, 255616 KB, 44741 KB/s, 5 seconds passed -... 36%, 255648 KB, 44744 KB/s, 5 seconds passed -... 36%, 255680 KB, 44748 KB/s, 5 seconds passed -... 36%, 255712 KB, 44751 KB/s, 5 seconds passed -... 36%, 255744 KB, 44755 KB/s, 5 seconds passed -... 36%, 255776 KB, 44758 KB/s, 5 seconds passed -... 36%, 255808 KB, 44761 KB/s, 5 seconds passed -... 36%, 255840 KB, 44765 KB/s, 5 seconds passed -... 36%, 255872 KB, 44768 KB/s, 5 seconds passed -... 36%, 255904 KB, 44772 KB/s, 5 seconds passed -... 36%, 255936 KB, 44776 KB/s, 5 seconds passed -... 36%, 255968 KB, 44779 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 36%, 256000 KB, 44633 KB/s, 5 seconds passed -... 36%, 256032 KB, 44635 KB/s, 5 seconds passed -... 36%, 256064 KB, 44637 KB/s, 5 seconds passed -... 36%, 256096 KB, 44640 KB/s, 5 seconds passed -... 36%, 256128 KB, 44642 KB/s, 5 seconds passed -... 36%, 256160 KB, 44645 KB/s, 5 seconds passed -... 36%, 256192 KB, 44645 KB/s, 5 seconds passed -... 36%, 256224 KB, 44647 KB/s, 5 seconds passed -... 36%, 256256 KB, 44650 KB/s, 5 seconds passed -... 36%, 256288 KB, 44652 KB/s, 5 seconds passed -... 36%, 256320 KB, 44655 KB/s, 5 seconds passed -... 36%, 256352 KB, 44658 KB/s, 5 seconds passed -... 36%, 256384 KB, 44660 KB/s, 5 seconds passed -... 36%, 256416 KB, 44663 KB/s, 5 seconds passed -... 36%, 256448 KB, 44666 KB/s, 5 seconds passed -... 36%, 256480 KB, 44668 KB/s, 5 seconds passed -... 36%, 256512 KB, 44671 KB/s, 5 seconds passed -... 36%, 256544 KB, 44674 KB/s, 5 seconds passed -... 36%, 256576 KB, 44676 KB/s, 5 seconds passed -... 36%, 256608 KB, 44679 KB/s, 5 seconds passed -... 36%, 256640 KB, 44681 KB/s, 5 seconds passed -... 36%, 256672 KB, 44684 KB/s, 5 seconds passed -... 36%, 256704 KB, 44687 KB/s, 5 seconds passed -... 36%, 256736 KB, 44689 KB/s, 5 seconds passed -... 36%, 256768 KB, 44692 KB/s, 5 seconds passed -... 36%, 256800 KB, 44695 KB/s, 5 seconds passed -... 36%, 256832 KB, 44697 KB/s, 5 seconds passed -... 36%, 256864 KB, 44700 KB/s, 5 seconds passed -... 36%, 256896 KB, 44703 KB/s, 5 seconds passed -... 36%, 256928 KB, 44705 KB/s, 5 seconds passed -... 36%, 256960 KB, 44708 KB/s, 5 seconds passed -... 36%, 256992 KB, 44711 KB/s, 5 seconds passed -... 36%, 257024 KB, 44714 KB/s, 5 seconds passed -... 36%, 257056 KB, 44716 KB/s, 5 seconds passed -... 36%, 257088 KB, 44719 KB/s, 5 seconds passed -... 36%, 257120 KB, 44723 KB/s, 5 seconds passed -... 36%, 257152 KB, 44726 KB/s, 5 seconds passed -... 36%, 257184 KB, 44729 KB/s, 5 seconds passed -... 36%, 257216 KB, 44733 KB/s, 5 seconds passed -... 36%, 257248 KB, 44736 KB/s, 5 seconds passed -... 36%, 257280 KB, 44739 KB/s, 5 seconds passed -... 36%, 257312 KB, 44743 KB/s, 5 seconds passed -... 37%, 257344 KB, 44746 KB/s, 5 seconds passed -... 37%, 257376 KB, 44742 KB/s, 5 seconds passed -... 37%, 257408 KB, 44744 KB/s, 5 seconds passed -... 37%, 257440 KB, 44747 KB/s, 5 seconds passed -... 37%, 257472 KB, 44750 KB/s, 5 seconds passed -... 37%, 257504 KB, 44754 KB/s, 5 seconds passed -... 37%, 257536 KB, 44758 KB/s, 5 seconds passed -... 37%, 257568 KB, 44761 KB/s, 5 seconds passed -... 37%, 257600 KB, 44765 KB/s, 5 seconds passed -... 37%, 257632 KB, 44768 KB/s, 5 seconds passed -... 37%, 257664 KB, 44772 KB/s, 5 seconds passed -... 37%, 257696 KB, 44775 KB/s, 5 seconds passed -... 37%, 257728 KB, 44779 KB/s, 5 seconds passed -... 37%, 257760 KB, 44782 KB/s, 5 seconds passed -... 37%, 257792 KB, 44786 KB/s, 5 seconds passed -... 37%, 257824 KB, 44789 KB/s, 5 seconds passed -... 37%, 257856 KB, 44793 KB/s, 5 seconds passed -... 37%, 257888 KB, 44796 KB/s, 5 seconds passed -... 37%, 257920 KB, 44799 KB/s, 5 seconds passed -... 37%, 257952 KB, 44803 KB/s, 5 seconds passed -... 37%, 257984 KB, 44806 KB/s, 5 seconds passed -... 37%, 258016 KB, 44810 KB/s, 5 seconds passed -... 37%, 258048 KB, 44813 KB/s, 5 seconds passed -... 37%, 258080 KB, 44816 KB/s, 5 seconds passed -... 37%, 258112 KB, 44819 KB/s, 5 seconds passed -... 37%, 258144 KB, 44823 KB/s, 5 seconds passed -... 37%, 258176 KB, 44826 KB/s, 5 seconds passed -... 37%, 258208 KB, 44830 KB/s, 5 seconds passed -... 37%, 258240 KB, 44833 KB/s, 5 seconds passed -... 37%, 258272 KB, 44837 KB/s, 5 seconds passed -... 37%, 258304 KB, 44840 KB/s, 5 seconds passed -... 37%, 258336 KB, 44843 KB/s, 5 seconds passed -... 37%, 258368 KB, 44846 KB/s, 5 seconds passed -... 37%, 258400 KB, 44850 KB/s, 5 seconds passed -... 37%, 258432 KB, 44853 KB/s, 5 seconds passed -... 37%, 258464 KB, 44857 KB/s, 5 seconds passed -... 37%, 258496 KB, 44860 KB/s, 5 seconds passed -... 37%, 258528 KB, 44863 KB/s, 5 seconds passed -... 37%, 258560 KB, 44867 KB/s, 5 seconds passed -... 37%, 258592 KB, 44870 KB/s, 5 seconds passed -... 37%, 258624 KB, 44874 KB/s, 5 seconds passed -... 37%, 258656 KB, 44877 KB/s, 5 seconds passed -... 37%, 258688 KB, 44880 KB/s, 5 seconds passed -... 37%, 258720 KB, 44884 KB/s, 5 seconds passed -... 37%, 258752 KB, 44887 KB/s, 5 seconds passed -... 37%, 258784 KB, 44891 KB/s, 5 seconds passed -... 37%, 258816 KB, 44894 KB/s, 5 seconds passed -... 37%, 258848 KB, 44898 KB/s, 5 seconds passed -... 37%, 258880 KB, 44901 KB/s, 5 seconds passed -... 37%, 258912 KB, 44904 KB/s, 5 seconds passed -... 37%, 258944 KB, 44908 KB/s, 5 seconds passed -... 37%, 258976 KB, 44911 KB/s, 5 seconds passed -... 37%, 259008 KB, 44915 KB/s, 5 seconds passed -... 37%, 259040 KB, 44918 KB/s, 5 seconds passed -... 37%, 259072 KB, 44922 KB/s, 5 seconds passed -... 37%, 259104 KB, 44925 KB/s, 5 seconds passed -... 37%, 259136 KB, 44928 KB/s, 5 seconds passed -... 37%, 259168 KB, 44931 KB/s, 5 seconds passed -... 37%, 259200 KB, 44935 KB/s, 5 seconds passed -... 37%, 259232 KB, 44938 KB/s, 5 seconds passed -... 37%, 259264 KB, 44941 KB/s, 5 seconds passed -... 37%, 259296 KB, 44945 KB/s, 5 seconds passed -... 37%, 259328 KB, 44948 KB/s, 5 seconds passed -... 37%, 259360 KB, 44952 KB/s, 5 seconds passed -... 37%, 259392 KB, 44955 KB/s, 5 seconds passed -... 37%, 259424 KB, 44959 KB/s, 5 seconds passed -... 37%, 259456 KB, 44962 KB/s, 5 seconds passed -... 37%, 259488 KB, 44965 KB/s, 5 seconds passed -... 37%, 259520 KB, 44968 KB/s, 5 seconds passed -... 37%, 259552 KB, 44972 KB/s, 5 seconds passed -... 37%, 259584 KB, 44975 KB/s, 5 seconds passed -... 37%, 259616 KB, 44979 KB/s, 5 seconds passed -... 37%, 259648 KB, 44982 KB/s, 5 seconds passed -... 37%, 259680 KB, 44986 KB/s, 5 seconds passed -... 37%, 259712 KB, 44989 KB/s, 5 seconds passed -... 37%, 259744 KB, 44992 KB/s, 5 seconds passed -... 37%, 259776 KB, 44996 KB/s, 5 seconds passed -... 37%, 259808 KB, 44999 KB/s, 5 seconds passed -... 37%, 259840 KB, 44996 KB/s, 5 seconds passed -... 37%, 259872 KB, 45000 KB/s, 5 seconds passed -... 37%, 259904 KB, 45003 KB/s, 5 seconds passed -... 37%, 259936 KB, 45006 KB/s, 5 seconds passed -... 37%, 259968 KB, 45010 KB/s, 5 seconds passed -... 37%, 260000 KB, 45013 KB/s, 5 seconds passed -... 37%, 260032 KB, 45016 KB/s, 5 seconds passed -... 37%, 260064 KB, 45020 KB/s, 5 seconds passed -... 37%, 260096 KB, 45023 KB/s, 5 seconds passed -... 37%, 260128 KB, 45026 KB/s, 5 seconds passed -... 37%, 260160 KB, 45030 KB/s, 5 seconds passed -... 37%, 260192 KB, 45033 KB/s, 5 seconds passed -... 37%, 260224 KB, 45037 KB/s, 5 seconds passed -... 37%, 260256 KB, 45040 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 37%, 260288 KB, 45007 KB/s, 5 seconds passed -... 37%, 260320 KB, 45011 KB/s, 5 seconds passed -... 37%, 260352 KB, 45014 KB/s, 5 seconds passed -... 37%, 260384 KB, 45017 KB/s, 5 seconds passed -... 37%, 260416 KB, 45020 KB/s, 5 seconds passed -... 37%, 260448 KB, 45024 KB/s, 5 seconds passed -... 37%, 260480 KB, 45026 KB/s, 5 seconds passed -... 37%, 260512 KB, 45030 KB/s, 5 seconds passed -... 37%, 260544 KB, 45033 KB/s, 5 seconds passed -... 37%, 260576 KB, 45037 KB/s, 5 seconds passed -... 37%, 260608 KB, 45041 KB/s, 5 seconds passed -... 37%, 260640 KB, 45044 KB/s, 5 seconds passed -... 37%, 260672 KB, 45047 KB/s, 5 seconds passed -... 37%, 260704 KB, 45051 KB/s, 5 seconds passed -... 37%, 260736 KB, 45054 KB/s, 5 seconds passed -... 37%, 260768 KB, 45057 KB/s, 5 seconds passed -... 37%, 260800 KB, 45060 KB/s, 5 seconds passed -... 37%, 260832 KB, 45063 KB/s, 5 seconds passed -... 37%, 260864 KB, 45067 KB/s, 5 seconds passed -... 37%, 260896 KB, 45071 KB/s, 5 seconds passed -... 37%, 260928 KB, 45075 KB/s, 5 seconds passed -... 37%, 260960 KB, 45078 KB/s, 5 seconds passed -... 37%, 260992 KB, 45081 KB/s, 5 seconds passed -... 37%, 261024 KB, 45085 KB/s, 5 seconds passed -... 37%, 261056 KB, 45088 KB/s, 5 seconds passed -... 37%, 261088 KB, 45090 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 37%, 261120 KB, 44308 KB/s, 5 seconds passed -... 37%, 261152 KB, 44309 KB/s, 5 seconds passed -... 37%, 261184 KB, 44312 KB/s, 5 seconds passed -... 37%, 261216 KB, 44315 KB/s, 5 seconds passed -... 37%, 261248 KB, 44317 KB/s, 5 seconds passed -... 37%, 261280 KB, 44319 KB/s, 5 seconds passed -... 37%, 261312 KB, 44322 KB/s, 5 seconds passed -... 37%, 261344 KB, 44324 KB/s, 5 seconds passed -... 37%, 261376 KB, 44327 KB/s, 5 seconds passed -... 37%, 261408 KB, 44330 KB/s, 5 seconds passed -... 37%, 261440 KB, 44321 KB/s, 5 seconds passed -... 37%, 261472 KB, 44324 KB/s, 5 seconds passed -... 37%, 261504 KB, 44327 KB/s, 5 seconds passed -... 37%, 261536 KB, 44329 KB/s, 5 seconds passed -... 37%, 261568 KB, 44332 KB/s, 5 seconds passed -... 37%, 261600 KB, 44334 KB/s, 5 seconds passed -... 37%, 261632 KB, 44337 KB/s, 5 seconds passed -... 37%, 261664 KB, 44340 KB/s, 5 seconds passed -... 37%, 261696 KB, 44324 KB/s, 5 seconds passed -... 37%, 261728 KB, 44327 KB/s, 5 seconds passed -... 37%, 261760 KB, 44329 KB/s, 5 seconds passed -... 37%, 261792 KB, 44332 KB/s, 5 seconds passed -... 37%, 261824 KB, 44335 KB/s, 5 seconds passed -... 37%, 261856 KB, 44337 KB/s, 5 seconds passed -... 37%, 261888 KB, 44340 KB/s, 5 seconds passed -... 37%, 261920 KB, 44342 KB/s, 5 seconds passed -... 37%, 261952 KB, 44345 KB/s, 5 seconds passed -... 37%, 261984 KB, 44347 KB/s, 5 seconds passed -... 37%, 262016 KB, 44350 KB/s, 5 seconds passed -... 37%, 262048 KB, 44353 KB/s, 5 seconds passed -... 37%, 262080 KB, 44355 KB/s, 5 seconds passed -... 37%, 262112 KB, 44358 KB/s, 5 seconds passed -... 37%, 262144 KB, 44360 KB/s, 5 seconds passed -... 37%, 262176 KB, 44363 KB/s, 5 seconds passed -... 37%, 262208 KB, 44365 KB/s, 5 seconds passed -... 37%, 262240 KB, 44368 KB/s, 5 seconds passed -... 37%, 262272 KB, 44371 KB/s, 5 seconds passed -... 37%, 262304 KB, 44373 KB/s, 5 seconds passed -... 37%, 262336 KB, 44376 KB/s, 5 seconds passed -... 37%, 262368 KB, 44379 KB/s, 5 seconds passed -... 37%, 262400 KB, 44381 KB/s, 5 seconds passed -... 37%, 262432 KB, 44384 KB/s, 5 seconds passed -... 37%, 262464 KB, 44386 KB/s, 5 seconds passed -... 37%, 262496 KB, 44389 KB/s, 5 seconds passed -... 37%, 262528 KB, 44392 KB/s, 5 seconds passed -... 37%, 262560 KB, 44396 KB/s, 5 seconds passed -... 37%, 262592 KB, 44399 KB/s, 5 seconds passed -... 37%, 262624 KB, 44402 KB/s, 5 seconds passed -... 37%, 262656 KB, 44405 KB/s, 5 seconds passed -... 37%, 262688 KB, 44408 KB/s, 5 seconds passed -... 37%, 262720 KB, 44411 KB/s, 5 seconds passed -... 37%, 262752 KB, 44414 KB/s, 5 seconds passed -... 37%, 262784 KB, 44417 KB/s, 5 seconds passed -... 37%, 262816 KB, 44420 KB/s, 5 seconds passed -... 37%, 262848 KB, 44423 KB/s, 5 seconds passed -... 37%, 262880 KB, 44426 KB/s, 5 seconds passed -... 37%, 262912 KB, 44430 KB/s, 5 seconds passed -... 37%, 262944 KB, 44433 KB/s, 5 seconds passed -... 37%, 262976 KB, 44436 KB/s, 5 seconds passed -... 37%, 263008 KB, 44439 KB/s, 5 seconds passed -... 37%, 263040 KB, 44442 KB/s, 5 seconds passed -... 37%, 263072 KB, 44445 KB/s, 5 seconds passed -... 37%, 263104 KB, 44448 KB/s, 5 seconds passed -... 37%, 263136 KB, 44451 KB/s, 5 seconds passed -... 37%, 263168 KB, 44455 KB/s, 5 seconds passed -... 37%, 263200 KB, 44458 KB/s, 5 seconds passed -... 37%, 263232 KB, 44461 KB/s, 5 seconds passed -... 37%, 263264 KB, 44464 KB/s, 5 seconds passed -... 37%, 263296 KB, 44467 KB/s, 5 seconds passed -... 37%, 263328 KB, 44470 KB/s, 5 seconds passed -... 37%, 263360 KB, 44473 KB/s, 5 seconds passed -... 37%, 263392 KB, 44476 KB/s, 5 seconds passed -... 37%, 263424 KB, 44480 KB/s, 5 seconds passed -... 37%, 263456 KB, 44483 KB/s, 5 seconds passed -... 37%, 263488 KB, 44486 KB/s, 5 seconds passed -... 37%, 263520 KB, 44490 KB/s, 5 seconds passed -... 37%, 263552 KB, 44494 KB/s, 5 seconds passed -... 37%, 263584 KB, 44497 KB/s, 5 seconds passed -... 37%, 263616 KB, 44501 KB/s, 5 seconds passed -... 37%, 263648 KB, 44505 KB/s, 5 seconds passed -... 37%, 263680 KB, 44509 KB/s, 5 seconds passed -... 37%, 263712 KB, 44513 KB/s, 5 seconds passed -... 37%, 263744 KB, 44517 KB/s, 5 seconds passed -... 37%, 263776 KB, 44521 KB/s, 5 seconds passed -... 37%, 263808 KB, 44524 KB/s, 5 seconds passed -... 37%, 263840 KB, 44528 KB/s, 5 seconds passed -... 37%, 263872 KB, 44532 KB/s, 5 seconds passed -... 37%, 263904 KB, 44536 KB/s, 5 seconds passed -... 37%, 263936 KB, 44540 KB/s, 5 seconds passed -... 37%, 263968 KB, 44544 KB/s, 5 seconds passed -... 37%, 264000 KB, 44547 KB/s, 5 seconds passed -... 37%, 264032 KB, 44551 KB/s, 5 seconds passed -... 37%, 264064 KB, 44555 KB/s, 5 seconds passed -... 37%, 264096 KB, 44559 KB/s, 5 seconds passed -... 37%, 264128 KB, 44563 KB/s, 5 seconds passed -... 37%, 264160 KB, 44567 KB/s, 5 seconds passed -... 37%, 264192 KB, 44571 KB/s, 5 seconds passed -... 37%, 264224 KB, 44575 KB/s, 5 seconds passed -... 37%, 264256 KB, 44579 KB/s, 5 seconds passed -... 37%, 264288 KB, 44582 KB/s, 5 seconds passed -... 38%, 264320 KB, 44586 KB/s, 5 seconds passed -... 38%, 264352 KB, 44590 KB/s, 5 seconds passed -... 38%, 264384 KB, 44594 KB/s, 5 seconds passed -... 38%, 264416 KB, 44598 KB/s, 5 seconds passed -... 38%, 264448 KB, 44601 KB/s, 5 seconds passed -... 38%, 264480 KB, 44605 KB/s, 5 seconds passed -... 38%, 264512 KB, 44609 KB/s, 5 seconds passed -... 38%, 264544 KB, 44613 KB/s, 5 seconds passed -... 38%, 264576 KB, 44617 KB/s, 5 seconds passed -... 38%, 264608 KB, 44621 KB/s, 5 seconds passed -... 38%, 264640 KB, 44625 KB/s, 5 seconds passed -... 38%, 264672 KB, 44629 KB/s, 5 seconds passed -... 38%, 264704 KB, 44633 KB/s, 5 seconds passed -... 38%, 264736 KB, 44636 KB/s, 5 seconds passed -... 38%, 264768 KB, 44640 KB/s, 5 seconds passed -... 38%, 264800 KB, 44644 KB/s, 5 seconds passed -... 38%, 264832 KB, 44648 KB/s, 5 seconds passed -... 38%, 264864 KB, 44652 KB/s, 5 seconds passed -... 38%, 264896 KB, 44656 KB/s, 5 seconds passed -... 38%, 264928 KB, 44659 KB/s, 5 seconds passed -... 38%, 264960 KB, 44662 KB/s, 5 seconds passed -... 38%, 264992 KB, 44666 KB/s, 5 seconds passed -... 38%, 265024 KB, 44669 KB/s, 5 seconds passed -... 38%, 265056 KB, 44673 KB/s, 5 seconds passed -... 38%, 265088 KB, 44676 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 38%, 265120 KB, 44679 KB/s, 5 seconds passed -... 38%, 265152 KB, 44682 KB/s, 5 seconds passed -... 38%, 265184 KB, 44685 KB/s, 5 seconds passed -... 38%, 265216 KB, 44689 KB/s, 5 seconds passed -... 38%, 265248 KB, 44692 KB/s, 5 seconds passed -... 38%, 265280 KB, 44695 KB/s, 5 seconds passed -... 38%, 265312 KB, 44699 KB/s, 5 seconds passed -... 38%, 265344 KB, 44702 KB/s, 5 seconds passed -... 38%, 265376 KB, 44706 KB/s, 5 seconds passed -... 38%, 265408 KB, 44709 KB/s, 5 seconds passed -... 38%, 265440 KB, 44712 KB/s, 5 seconds passed -... 38%, 265472 KB, 44715 KB/s, 5 seconds passed -... 38%, 265504 KB, 44718 KB/s, 5 seconds passed -... 38%, 265536 KB, 44722 KB/s, 5 seconds passed -... 38%, 265568 KB, 44725 KB/s, 5 seconds passed -... 38%, 265600 KB, 44728 KB/s, 5 seconds passed -... 38%, 265632 KB, 44732 KB/s, 5 seconds passed -... 38%, 265664 KB, 44735 KB/s, 5 seconds passed -... 38%, 265696 KB, 44738 KB/s, 5 seconds passed -... 38%, 265728 KB, 44742 KB/s, 5 seconds passed -... 38%, 265760 KB, 44745 KB/s, 5 seconds passed -... 38%, 265792 KB, 44748 KB/s, 5 seconds passed -... 38%, 265824 KB, 44752 KB/s, 5 seconds passed -... 38%, 265856 KB, 44755 KB/s, 5 seconds passed -... 38%, 265888 KB, 44758 KB/s, 5 seconds passed -... 38%, 265920 KB, 44761 KB/s, 5 seconds passed -... 38%, 265952 KB, 44764 KB/s, 5 seconds passed -... 38%, 265984 KB, 44766 KB/s, 5 seconds passed -... 38%, 266016 KB, 44769 KB/s, 5 seconds passed -... 38%, 266048 KB, 44771 KB/s, 5 seconds passed -... 38%, 266080 KB, 44775 KB/s, 5 seconds passed -... 38%, 266112 KB, 44779 KB/s, 5 seconds passed -... 38%, 266144 KB, 44783 KB/s, 5 seconds passed -... 38%, 266176 KB, 44788 KB/s, 5 seconds passed -... 38%, 266208 KB, 44791 KB/s, 5 seconds passed -... 38%, 266240 KB, 44658 KB/s, 5 seconds passed -... 38%, 266272 KB, 44653 KB/s, 5 seconds passed -... 38%, 266304 KB, 44655 KB/s, 5 seconds passed -... 38%, 266336 KB, 44657 KB/s, 5 seconds passed -... 38%, 266368 KB, 44660 KB/s, 5 seconds passed -... 38%, 266400 KB, 44662 KB/s, 5 seconds passed -... 38%, 266432 KB, 44665 KB/s, 5 seconds passed -... 38%, 266464 KB, 44667 KB/s, 5 seconds passed -... 38%, 266496 KB, 44670 KB/s, 5 seconds passed -... 38%, 266528 KB, 44668 KB/s, 5 seconds passed -... 38%, 266560 KB, 44671 KB/s, 5 seconds passed -... 38%, 266592 KB, 44673 KB/s, 5 seconds passed -... 38%, 266624 KB, 44676 KB/s, 5 seconds passed -... 38%, 266656 KB, 44679 KB/s, 5 seconds passed -... 38%, 266688 KB, 44681 KB/s, 5 seconds passed -... 38%, 266720 KB, 44684 KB/s, 5 seconds passed -... 38%, 266752 KB, 44687 KB/s, 5 seconds passed -... 38%, 266784 KB, 44689 KB/s, 5 seconds passed -... 38%, 266816 KB, 44692 KB/s, 5 seconds passed -... 38%, 266848 KB, 44695 KB/s, 5 seconds passed -... 38%, 266880 KB, 44698 KB/s, 5 seconds passed -... 38%, 266912 KB, 44701 KB/s, 5 seconds passed -... 38%, 266944 KB, 44704 KB/s, 5 seconds passed -... 38%, 266976 KB, 44706 KB/s, 5 seconds passed -... 38%, 267008 KB, 44709 KB/s, 5 seconds passed -... 38%, 267040 KB, 44712 KB/s, 5 seconds passed -... 38%, 267072 KB, 44715 KB/s, 5 seconds passed -... 38%, 267104 KB, 44718 KB/s, 5 seconds passed -... 38%, 267136 KB, 44721 KB/s, 5 seconds passed -... 38%, 267168 KB, 44724 KB/s, 5 seconds passed -... 38%, 267200 KB, 44726 KB/s, 5 seconds passed -... 38%, 267232 KB, 44730 KB/s, 5 seconds passed -... 38%, 267264 KB, 44733 KB/s, 5 seconds passed -... 38%, 267296 KB, 44737 KB/s, 5 seconds passed -... 38%, 267328 KB, 44740 KB/s, 5 seconds passed -... 38%, 267360 KB, 44743 KB/s, 5 seconds passed -... 38%, 267392 KB, 44747 KB/s, 5 seconds passed -... 38%, 267424 KB, 44750 KB/s, 5 seconds passed -... 38%, 267456 KB, 44754 KB/s, 5 seconds passed -... 38%, 267488 KB, 44757 KB/s, 5 seconds passed -... 38%, 267520 KB, 44760 KB/s, 5 seconds passed -... 38%, 267552 KB, 44764 KB/s, 5 seconds passed -... 38%, 267584 KB, 44767 KB/s, 5 seconds passed -... 38%, 267616 KB, 44771 KB/s, 5 seconds passed -... 38%, 267648 KB, 44774 KB/s, 5 seconds passed -... 38%, 267680 KB, 44777 KB/s, 5 seconds passed -... 38%, 267712 KB, 44781 KB/s, 5 seconds passed -... 38%, 267744 KB, 44784 KB/s, 5 seconds passed -... 38%, 267776 KB, 44787 KB/s, 5 seconds passed -... 38%, 267808 KB, 44791 KB/s, 5 seconds passed -... 38%, 267840 KB, 44794 KB/s, 5 seconds passed -... 38%, 267872 KB, 44798 KB/s, 5 seconds passed -... 38%, 267904 KB, 44801 KB/s, 5 seconds passed -... 38%, 267936 KB, 44804 KB/s, 5 seconds passed -... 38%, 267968 KB, 44808 KB/s, 5 seconds passed -... 38%, 268000 KB, 44811 KB/s, 5 seconds passed -... 38%, 268032 KB, 44814 KB/s, 5 seconds passed -... 38%, 268064 KB, 44818 KB/s, 5 seconds passed -... 38%, 268096 KB, 44821 KB/s, 5 seconds passed -... 38%, 268128 KB, 44825 KB/s, 5 seconds passed -... 38%, 268160 KB, 44828 KB/s, 5 seconds passed -... 38%, 268192 KB, 44831 KB/s, 5 seconds passed -... 38%, 268224 KB, 44835 KB/s, 5 seconds passed -... 38%, 268256 KB, 44838 KB/s, 5 seconds passed -... 38%, 268288 KB, 44842 KB/s, 5 seconds passed -... 38%, 268320 KB, 44845 KB/s, 5 seconds passed -... 38%, 268352 KB, 44848 KB/s, 5 seconds passed -... 38%, 268384 KB, 44852 KB/s, 5 seconds passed -... 38%, 268416 KB, 44855 KB/s, 5 seconds passed -... 38%, 268448 KB, 44859 KB/s, 5 seconds passed -... 38%, 268480 KB, 44863 KB/s, 5 seconds passed -... 38%, 268512 KB, 44867 KB/s, 5 seconds passed -... 38%, 268544 KB, 44871 KB/s, 5 seconds passed - -.. parsed-literal:: - - ... 38%, 268576 KB, 44875 KB/s, 5 seconds passed -... 38%, 268608 KB, 44879 KB/s, 5 seconds passed -... 38%, 268640 KB, 44883 KB/s, 5 seconds passed -... 38%, 268672 KB, 44887 KB/s, 5 seconds passed -... 38%, 268704 KB, 44890 KB/s, 5 seconds passed -... 38%, 268736 KB, 44894 KB/s, 5 seconds passed -... 38%, 268768 KB, 44897 KB/s, 5 seconds passed -... 38%, 268800 KB, 44899 KB/s, 5 seconds passed -... 38%, 268832 KB, 44902 KB/s, 5 seconds passed -... 38%, 268864 KB, 44906 KB/s, 5 seconds passed -... 38%, 268896 KB, 44909 KB/s, 5 seconds passed -... 38%, 268928 KB, 44913 KB/s, 5 seconds passed -... 38%, 268960 KB, 44916 KB/s, 5 seconds passed -... 38%, 268992 KB, 44920 KB/s, 5 seconds passed -... 38%, 269024 KB, 44923 KB/s, 5 seconds passed -... 38%, 269056 KB, 44926 KB/s, 5 seconds passed -... 38%, 269088 KB, 44930 KB/s, 5 seconds passed -... 38%, 269120 KB, 44933 KB/s, 5 seconds passed -... 38%, 269152 KB, 44935 KB/s, 5 seconds passed -... 38%, 269184 KB, 44938 KB/s, 5 seconds passed -... 38%, 269216 KB, 44942 KB/s, 5 seconds passed -... 38%, 269248 KB, 44945 KB/s, 5 seconds passed -... 38%, 269280 KB, 44949 KB/s, 5 seconds passed -... 38%, 269312 KB, 44952 KB/s, 5 seconds passed -... 38%, 269344 KB, 44955 KB/s, 5 seconds passed -... 38%, 269376 KB, 44959 KB/s, 5 seconds passed -... 38%, 269408 KB, 44961 KB/s, 5 seconds passed -... 38%, 269440 KB, 44964 KB/s, 5 seconds passed -... 38%, 269472 KB, 44967 KB/s, 5 seconds passed -... 38%, 269504 KB, 44971 KB/s, 5 seconds passed -... 38%, 269536 KB, 44974 KB/s, 5 seconds passed -... 38%, 269568 KB, 44978 KB/s, 5 seconds passed -... 38%, 269600 KB, 44981 KB/s, 5 seconds passed -... 38%, 269632 KB, 44983 KB/s, 5 seconds passed -... 38%, 269664 KB, 44986 KB/s, 5 seconds passed -... 38%, 269696 KB, 44990 KB/s, 5 seconds passed -... 38%, 269728 KB, 44993 KB/s, 5 seconds passed -... 38%, 269760 KB, 44996 KB/s, 5 seconds passed -... 38%, 269792 KB, 45000 KB/s, 5 seconds passed -... 38%, 269824 KB, 45003 KB/s, 5 seconds passed -... 38%, 269856 KB, 45007 KB/s, 5 seconds passed -... 38%, 269888 KB, 45010 KB/s, 5 seconds passed -... 38%, 269920 KB, 45014 KB/s, 5 seconds passed -... 38%, 269952 KB, 45017 KB/s, 5 seconds passed -... 38%, 269984 KB, 45018 KB/s, 5 seconds passed -... 38%, 270016 KB, 45021 KB/s, 5 seconds passed -... 38%, 270048 KB, 45024 KB/s, 5 seconds passed -... 38%, 270080 KB, 45022 KB/s, 5 seconds passed -... 38%, 270112 KB, 45024 KB/s, 5 seconds passed -... 38%, 270144 KB, 45026 KB/s, 5 seconds passed -... 38%, 270176 KB, 45029 KB/s, 5 seconds passed -... 38%, 270208 KB, 45032 KB/s, 6 seconds passed -... 38%, 270240 KB, 45031 KB/s, 6 seconds passed -... 38%, 270272 KB, 45033 KB/s, 6 seconds passed -... 38%, 270304 KB, 45036 KB/s, 6 seconds passed -... 38%, 270336 KB, 45039 KB/s, 6 seconds passed -... 38%, 270368 KB, 45043 KB/s, 6 seconds passed -... 38%, 270400 KB, 45046 KB/s, 6 seconds passed -... 38%, 270432 KB, 45050 KB/s, 6 seconds passed -... 38%, 270464 KB, 45053 KB/s, 6 seconds passed -... 38%, 270496 KB, 45057 KB/s, 6 seconds passed -... 38%, 270528 KB, 45060 KB/s, 6 seconds passed -... 38%, 270560 KB, 45063 KB/s, 6 seconds passed -... 38%, 270592 KB, 45067 KB/s, 6 seconds passed -... 38%, 270624 KB, 45068 KB/s, 6 seconds passed -... 38%, 270656 KB, 45071 KB/s, 6 seconds passed -... 38%, 270688 KB, 45075 KB/s, 6 seconds passed -... 38%, 270720 KB, 45079 KB/s, 6 seconds passed -... 38%, 270752 KB, 45082 KB/s, 6 seconds passed -... 38%, 270784 KB, 45084 KB/s, 6 seconds passed -... 38%, 270816 KB, 45087 KB/s, 6 seconds passed -... 38%, 270848 KB, 45089 KB/s, 6 seconds passed -... 38%, 270880 KB, 45093 KB/s, 6 seconds passed -... 38%, 270912 KB, 45097 KB/s, 6 seconds passed -... 38%, 270944 KB, 45102 KB/s, 6 seconds passed -... 38%, 270976 KB, 45106 KB/s, 6 seconds passed -... 38%, 271008 KB, 45107 KB/s, 6 seconds passed -... 38%, 271040 KB, 45110 KB/s, 6 seconds passed -... 38%, 271072 KB, 45114 KB/s, 6 seconds passed -... 38%, 271104 KB, 45118 KB/s, 6 seconds passed -... 38%, 271136 KB, 45121 KB/s, 6 seconds passed -... 38%, 271168 KB, 45124 KB/s, 6 seconds passed -... 38%, 271200 KB, 45128 KB/s, 6 seconds passed -... 38%, 271232 KB, 45131 KB/s, 6 seconds passed -... 39%, 271264 KB, 45135 KB/s, 6 seconds passed -... 39%, 271296 KB, 45136 KB/s, 6 seconds passed -... 39%, 271328 KB, 45139 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 39%, 271360 KB, 44866 KB/s, 6 seconds passed -... 39%, 271392 KB, 44868 KB/s, 6 seconds passed -... 39%, 271424 KB, 44851 KB/s, 6 seconds passed -... 39%, 271456 KB, 44853 KB/s, 6 seconds passed -... 39%, 271488 KB, 44855 KB/s, 6 seconds passed -... 39%, 271520 KB, 44857 KB/s, 6 seconds passed -... 39%, 271552 KB, 44860 KB/s, 6 seconds passed -... 39%, 271584 KB, 44862 KB/s, 6 seconds passed -... 39%, 271616 KB, 44864 KB/s, 6 seconds passed -... 39%, 271648 KB, 44867 KB/s, 6 seconds passed -... 39%, 271680 KB, 44870 KB/s, 6 seconds passed -... 39%, 271712 KB, 44872 KB/s, 6 seconds passed -... 39%, 271744 KB, 44875 KB/s, 6 seconds passed -... 39%, 271776 KB, 44878 KB/s, 6 seconds passed -... 39%, 271808 KB, 44880 KB/s, 6 seconds passed -... 39%, 271840 KB, 44883 KB/s, 6 seconds passed -... 39%, 271872 KB, 44886 KB/s, 6 seconds passed -... 39%, 271904 KB, 44888 KB/s, 6 seconds passed -... 39%, 271936 KB, 44891 KB/s, 6 seconds passed -... 39%, 271968 KB, 44894 KB/s, 6 seconds passed -... 39%, 272000 KB, 44897 KB/s, 6 seconds passed -... 39%, 272032 KB, 44900 KB/s, 6 seconds passed -... 39%, 272064 KB, 44902 KB/s, 6 seconds passed -... 39%, 272096 KB, 44905 KB/s, 6 seconds passed -... 39%, 272128 KB, 44907 KB/s, 6 seconds passed -... 39%, 272160 KB, 44909 KB/s, 6 seconds passed -... 39%, 272192 KB, 44912 KB/s, 6 seconds passed -... 39%, 272224 KB, 44914 KB/s, 6 seconds passed -... 39%, 272256 KB, 44917 KB/s, 6 seconds passed -... 39%, 272288 KB, 44919 KB/s, 6 seconds passed -... 39%, 272320 KB, 44922 KB/s, 6 seconds passed -... 39%, 272352 KB, 44924 KB/s, 6 seconds passed -... 39%, 272384 KB, 44927 KB/s, 6 seconds passed -... 39%, 272416 KB, 44930 KB/s, 6 seconds passed -... 39%, 272448 KB, 44932 KB/s, 6 seconds passed -... 39%, 272480 KB, 44934 KB/s, 6 seconds passed -... 39%, 272512 KB, 44937 KB/s, 6 seconds passed -... 39%, 272544 KB, 44939 KB/s, 6 seconds passed -... 39%, 272576 KB, 44942 KB/s, 6 seconds passed -... 39%, 272608 KB, 44944 KB/s, 6 seconds passed -... 39%, 272640 KB, 44947 KB/s, 6 seconds passed -... 39%, 272672 KB, 44951 KB/s, 6 seconds passed -... 39%, 272704 KB, 44954 KB/s, 6 seconds passed -... 39%, 272736 KB, 44958 KB/s, 6 seconds passed -... 39%, 272768 KB, 44961 KB/s, 6 seconds passed -... 39%, 272800 KB, 44965 KB/s, 6 seconds passed -... 39%, 272832 KB, 44968 KB/s, 6 seconds passed -... 39%, 272864 KB, 44972 KB/s, 6 seconds passed -... 39%, 272896 KB, 44975 KB/s, 6 seconds passed -... 39%, 272928 KB, 44979 KB/s, 6 seconds passed -... 39%, 272960 KB, 44982 KB/s, 6 seconds passed -... 39%, 272992 KB, 44986 KB/s, 6 seconds passed -... 39%, 273024 KB, 44989 KB/s, 6 seconds passed -... 39%, 273056 KB, 44992 KB/s, 6 seconds passed -... 39%, 273088 KB, 44996 KB/s, 6 seconds passed -... 39%, 273120 KB, 44999 KB/s, 6 seconds passed -... 39%, 273152 KB, 45003 KB/s, 6 seconds passed -... 39%, 273184 KB, 45006 KB/s, 6 seconds passed -... 39%, 273216 KB, 45010 KB/s, 6 seconds passed -... 39%, 273248 KB, 45013 KB/s, 6 seconds passed -... 39%, 273280 KB, 45017 KB/s, 6 seconds passed -... 39%, 273312 KB, 45020 KB/s, 6 seconds passed -... 39%, 273344 KB, 45024 KB/s, 6 seconds passed -... 39%, 273376 KB, 45027 KB/s, 6 seconds passed -... 39%, 273408 KB, 45031 KB/s, 6 seconds passed -... 39%, 273440 KB, 45034 KB/s, 6 seconds passed -... 39%, 273472 KB, 45038 KB/s, 6 seconds passed -... 39%, 273504 KB, 45041 KB/s, 6 seconds passed -... 39%, 273536 KB, 45045 KB/s, 6 seconds passed -... 39%, 273568 KB, 45048 KB/s, 6 seconds passed -... 39%, 273600 KB, 45052 KB/s, 6 seconds passed -... 39%, 273632 KB, 45055 KB/s, 6 seconds passed -... 39%, 273664 KB, 45059 KB/s, 6 seconds passed -... 39%, 273696 KB, 45062 KB/s, 6 seconds passed -... 39%, 273728 KB, 45066 KB/s, 6 seconds passed -... 39%, 273760 KB, 45069 KB/s, 6 seconds passed -... 39%, 273792 KB, 45073 KB/s, 6 seconds passed -... 39%, 273824 KB, 45076 KB/s, 6 seconds passed -... 39%, 273856 KB, 45080 KB/s, 6 seconds passed -... 39%, 273888 KB, 45083 KB/s, 6 seconds passed -... 39%, 273920 KB, 45087 KB/s, 6 seconds passed -... 39%, 273952 KB, 45091 KB/s, 6 seconds passed -... 39%, 273984 KB, 45095 KB/s, 6 seconds passed -... 39%, 274016 KB, 45099 KB/s, 6 seconds passed -... 39%, 274048 KB, 45102 KB/s, 6 seconds passed -... 39%, 274080 KB, 45105 KB/s, 6 seconds passed -... 39%, 274112 KB, 45108 KB/s, 6 seconds passed -... 39%, 274144 KB, 45112 KB/s, 6 seconds passed -... 39%, 274176 KB, 45115 KB/s, 6 seconds passed -... 39%, 274208 KB, 45118 KB/s, 6 seconds passed -... 39%, 274240 KB, 45120 KB/s, 6 seconds passed -... 39%, 274272 KB, 45123 KB/s, 6 seconds passed -... 39%, 274304 KB, 45125 KB/s, 6 seconds passed -... 39%, 274336 KB, 45128 KB/s, 6 seconds passed -... 39%, 274368 KB, 45132 KB/s, 6 seconds passed -... 39%, 274400 KB, 45136 KB/s, 6 seconds passed -... 39%, 274432 KB, 45140 KB/s, 6 seconds passed -... 39%, 274464 KB, 45144 KB/s, 6 seconds passed -... 39%, 274496 KB, 45147 KB/s, 6 seconds passed -... 39%, 274528 KB, 45150 KB/s, 6 seconds passed -... 39%, 274560 KB, 45153 KB/s, 6 seconds passed -... 39%, 274592 KB, 45156 KB/s, 6 seconds passed -... 39%, 274624 KB, 45159 KB/s, 6 seconds passed -... 39%, 274656 KB, 45161 KB/s, 6 seconds passed -... 39%, 274688 KB, 45163 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 39%, 274720 KB, 45097 KB/s, 6 seconds passed -... 39%, 274752 KB, 45100 KB/s, 6 seconds passed -... 39%, 274784 KB, 45096 KB/s, 6 seconds passed -... 39%, 274816 KB, 45098 KB/s, 6 seconds passed -... 39%, 274848 KB, 45101 KB/s, 6 seconds passed -... 39%, 274880 KB, 45104 KB/s, 6 seconds passed -... 39%, 274912 KB, 45108 KB/s, 6 seconds passed -... 39%, 274944 KB, 45112 KB/s, 6 seconds passed -... 39%, 274976 KB, 45116 KB/s, 6 seconds passed -... 39%, 275008 KB, 45119 KB/s, 6 seconds passed -... 39%, 275040 KB, 45123 KB/s, 6 seconds passed -... 39%, 275072 KB, 45126 KB/s, 6 seconds passed -... 39%, 275104 KB, 45129 KB/s, 6 seconds passed -... 39%, 275136 KB, 45132 KB/s, 6 seconds passed -... 39%, 275168 KB, 45135 KB/s, 6 seconds passed -... 39%, 275200 KB, 45139 KB/s, 6 seconds passed -... 39%, 275232 KB, 45142 KB/s, 6 seconds passed -... 39%, 275264 KB, 45145 KB/s, 6 seconds passed -... 39%, 275296 KB, 45148 KB/s, 6 seconds passed -... 39%, 275328 KB, 45151 KB/s, 6 seconds passed -... 39%, 275360 KB, 45154 KB/s, 6 seconds passed -... 39%, 275392 KB, 45157 KB/s, 6 seconds passed -... 39%, 275424 KB, 45160 KB/s, 6 seconds passed -... 39%, 275456 KB, 45163 KB/s, 6 seconds passed -... 39%, 275488 KB, 45167 KB/s, 6 seconds passed -... 39%, 275520 KB, 45170 KB/s, 6 seconds passed -... 39%, 275552 KB, 45173 KB/s, 6 seconds passed -... 39%, 275584 KB, 45176 KB/s, 6 seconds passed -... 39%, 275616 KB, 45179 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 39%, 275648 KB, 44580 KB/s, 6 seconds passed -... 39%, 275680 KB, 44582 KB/s, 6 seconds passed -... 39%, 275712 KB, 44585 KB/s, 6 seconds passed -... 39%, 275744 KB, 44561 KB/s, 6 seconds passed -... 39%, 275776 KB, 44562 KB/s, 6 seconds passed -... 39%, 275808 KB, 44564 KB/s, 6 seconds passed -... 39%, 275840 KB, 44566 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 39%, 275872 KB, 44569 KB/s, 6 seconds passed -... 39%, 275904 KB, 44571 KB/s, 6 seconds passed -... 39%, 275936 KB, 44574 KB/s, 6 seconds passed -... 39%, 275968 KB, 44576 KB/s, 6 seconds passed -... 39%, 276000 KB, 44578 KB/s, 6 seconds passed -... 39%, 276032 KB, 44581 KB/s, 6 seconds passed -... 39%, 276064 KB, 44583 KB/s, 6 seconds passed -... 39%, 276096 KB, 44586 KB/s, 6 seconds passed -... 39%, 276128 KB, 44588 KB/s, 6 seconds passed -... 39%, 276160 KB, 44590 KB/s, 6 seconds passed -... 39%, 276192 KB, 44593 KB/s, 6 seconds passed -... 39%, 276224 KB, 44595 KB/s, 6 seconds passed -... 39%, 276256 KB, 44598 KB/s, 6 seconds passed -... 39%, 276288 KB, 44601 KB/s, 6 seconds passed -... 39%, 276320 KB, 44604 KB/s, 6 seconds passed -... 39%, 276352 KB, 44607 KB/s, 6 seconds passed -... 39%, 276384 KB, 44610 KB/s, 6 seconds passed -... 39%, 276416 KB, 44613 KB/s, 6 seconds passed -... 39%, 276448 KB, 44616 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 39%, 276480 KB, 44040 KB/s, 6 seconds passed -... 39%, 276512 KB, 44041 KB/s, 6 seconds passed -... 39%, 276544 KB, 44043 KB/s, 6 seconds passed -... 39%, 276576 KB, 44045 KB/s, 6 seconds passed -... 39%, 276608 KB, 44048 KB/s, 6 seconds passed -... 39%, 276640 KB, 44050 KB/s, 6 seconds passed -... 39%, 276672 KB, 44052 KB/s, 6 seconds passed -... 39%, 276704 KB, 44055 KB/s, 6 seconds passed -... 39%, 276736 KB, 44057 KB/s, 6 seconds passed -... 39%, 276768 KB, 44060 KB/s, 6 seconds passed -... 39%, 276800 KB, 44062 KB/s, 6 seconds passed -... 39%, 276832 KB, 44064 KB/s, 6 seconds passed -... 39%, 276864 KB, 44067 KB/s, 6 seconds passed -... 39%, 276896 KB, 44069 KB/s, 6 seconds passed -... 39%, 276928 KB, 44072 KB/s, 6 seconds passed -... 39%, 276960 KB, 44074 KB/s, 6 seconds passed -... 39%, 276992 KB, 44077 KB/s, 6 seconds passed -... 39%, 277024 KB, 44079 KB/s, 6 seconds passed -... 39%, 277056 KB, 44081 KB/s, 6 seconds passed -... 39%, 277088 KB, 44084 KB/s, 6 seconds passed -... 39%, 277120 KB, 44086 KB/s, 6 seconds passed -... 39%, 277152 KB, 44089 KB/s, 6 seconds passed -... 39%, 277184 KB, 44091 KB/s, 6 seconds passed -... 39%, 277216 KB, 44094 KB/s, 6 seconds passed -... 39%, 277248 KB, 44096 KB/s, 6 seconds passed -... 39%, 277280 KB, 44099 KB/s, 6 seconds passed -... 39%, 277312 KB, 44102 KB/s, 6 seconds passed -... 39%, 277344 KB, 44105 KB/s, 6 seconds passed -... 39%, 277376 KB, 44108 KB/s, 6 seconds passed -... 39%, 277408 KB, 44112 KB/s, 6 seconds passed -... 39%, 277440 KB, 44115 KB/s, 6 seconds passed -... 39%, 277472 KB, 44118 KB/s, 6 seconds passed -... 39%, 277504 KB, 44121 KB/s, 6 seconds passed -... 39%, 277536 KB, 44124 KB/s, 6 seconds passed -... 39%, 277568 KB, 44127 KB/s, 6 seconds passed -... 39%, 277600 KB, 44130 KB/s, 6 seconds passed -... 39%, 277632 KB, 44133 KB/s, 6 seconds passed -... 39%, 277664 KB, 44136 KB/s, 6 seconds passed -... 39%, 277696 KB, 44138 KB/s, 6 seconds passed -... 39%, 277728 KB, 44141 KB/s, 6 seconds passed -... 39%, 277760 KB, 44144 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 39%, 277792 KB, 44147 KB/s, 6 seconds passed -... 39%, 277824 KB, 44150 KB/s, 6 seconds passed -... 39%, 277856 KB, 44153 KB/s, 6 seconds passed -... 39%, 277888 KB, 44156 KB/s, 6 seconds passed -... 39%, 277920 KB, 44159 KB/s, 6 seconds passed -... 39%, 277952 KB, 44162 KB/s, 6 seconds passed -... 39%, 277984 KB, 44165 KB/s, 6 seconds passed -... 39%, 278016 KB, 44168 KB/s, 6 seconds passed -... 39%, 278048 KB, 44171 KB/s, 6 seconds passed -... 39%, 278080 KB, 44174 KB/s, 6 seconds passed -... 39%, 278112 KB, 44177 KB/s, 6 seconds passed -... 39%, 278144 KB, 44180 KB/s, 6 seconds passed -... 39%, 278176 KB, 44183 KB/s, 6 seconds passed -... 40%, 278208 KB, 44186 KB/s, 6 seconds passed -... 40%, 278240 KB, 44189 KB/s, 6 seconds passed -... 40%, 278272 KB, 44192 KB/s, 6 seconds passed -... 40%, 278304 KB, 44196 KB/s, 6 seconds passed -... 40%, 278336 KB, 44199 KB/s, 6 seconds passed -... 40%, 278368 KB, 44203 KB/s, 6 seconds passed -... 40%, 278400 KB, 44207 KB/s, 6 seconds passed -... 40%, 278432 KB, 44210 KB/s, 6 seconds passed -... 40%, 278464 KB, 44214 KB/s, 6 seconds passed -... 40%, 278496 KB, 44218 KB/s, 6 seconds passed -... 40%, 278528 KB, 44221 KB/s, 6 seconds passed -... 40%, 278560 KB, 44225 KB/s, 6 seconds passed -... 40%, 278592 KB, 44229 KB/s, 6 seconds passed -... 40%, 278624 KB, 44232 KB/s, 6 seconds passed -... 40%, 278656 KB, 44236 KB/s, 6 seconds passed -... 40%, 278688 KB, 44239 KB/s, 6 seconds passed -... 40%, 278720 KB, 44243 KB/s, 6 seconds passed -... 40%, 278752 KB, 44247 KB/s, 6 seconds passed -... 40%, 278784 KB, 44250 KB/s, 6 seconds passed -... 40%, 278816 KB, 44254 KB/s, 6 seconds passed -... 40%, 278848 KB, 44258 KB/s, 6 seconds passed -... 40%, 278880 KB, 44261 KB/s, 6 seconds passed -... 40%, 278912 KB, 44265 KB/s, 6 seconds passed -... 40%, 278944 KB, 44268 KB/s, 6 seconds passed -... 40%, 278976 KB, 44272 KB/s, 6 seconds passed -... 40%, 279008 KB, 44276 KB/s, 6 seconds passed -... 40%, 279040 KB, 44279 KB/s, 6 seconds passed -... 40%, 279072 KB, 44283 KB/s, 6 seconds passed -... 40%, 279104 KB, 44287 KB/s, 6 seconds passed -... 40%, 279136 KB, 44290 KB/s, 6 seconds passed -... 40%, 279168 KB, 44294 KB/s, 6 seconds passed -... 40%, 279200 KB, 44298 KB/s, 6 seconds passed -... 40%, 279232 KB, 44301 KB/s, 6 seconds passed -... 40%, 279264 KB, 44305 KB/s, 6 seconds passed -... 40%, 279296 KB, 44309 KB/s, 6 seconds passed -... 40%, 279328 KB, 44312 KB/s, 6 seconds passed -... 40%, 279360 KB, 44316 KB/s, 6 seconds passed -... 40%, 279392 KB, 44319 KB/s, 6 seconds passed -... 40%, 279424 KB, 44322 KB/s, 6 seconds passed -... 40%, 279456 KB, 44325 KB/s, 6 seconds passed -... 40%, 279488 KB, 44328 KB/s, 6 seconds passed -... 40%, 279520 KB, 44332 KB/s, 6 seconds passed -... 40%, 279552 KB, 44335 KB/s, 6 seconds passed -... 40%, 279584 KB, 44338 KB/s, 6 seconds passed -... 40%, 279616 KB, 44341 KB/s, 6 seconds passed -... 40%, 279648 KB, 44345 KB/s, 6 seconds passed -... 40%, 279680 KB, 44348 KB/s, 6 seconds passed -... 40%, 279712 KB, 44351 KB/s, 6 seconds passed -... 40%, 279744 KB, 44354 KB/s, 6 seconds passed -... 40%, 279776 KB, 44356 KB/s, 6 seconds passed -... 40%, 279808 KB, 44360 KB/s, 6 seconds passed -... 40%, 279840 KB, 44363 KB/s, 6 seconds passed -... 40%, 279872 KB, 44366 KB/s, 6 seconds passed -... 40%, 279904 KB, 44370 KB/s, 6 seconds passed -... 40%, 279936 KB, 44372 KB/s, 6 seconds passed -... 40%, 279968 KB, 44376 KB/s, 6 seconds passed -... 40%, 280000 KB, 44379 KB/s, 6 seconds passed -... 40%, 280032 KB, 44382 KB/s, 6 seconds passed -... 40%, 280064 KB, 44385 KB/s, 6 seconds passed -... 40%, 280096 KB, 44388 KB/s, 6 seconds passed -... 40%, 280128 KB, 44390 KB/s, 6 seconds passed -... 40%, 280160 KB, 44330 KB/s, 6 seconds passed -... 40%, 280192 KB, 44332 KB/s, 6 seconds passed -... 40%, 280224 KB, 44334 KB/s, 6 seconds passed -... 40%, 280256 KB, 44337 KB/s, 6 seconds passed -... 40%, 280288 KB, 44339 KB/s, 6 seconds passed -... 40%, 280320 KB, 44342 KB/s, 6 seconds passed -... 40%, 280352 KB, 44345 KB/s, 6 seconds passed -... 40%, 280384 KB, 44347 KB/s, 6 seconds passed -... 40%, 280416 KB, 44350 KB/s, 6 seconds passed -... 40%, 280448 KB, 44352 KB/s, 6 seconds passed -... 40%, 280480 KB, 44355 KB/s, 6 seconds passed -... 40%, 280512 KB, 44357 KB/s, 6 seconds passed -... 40%, 280544 KB, 44359 KB/s, 6 seconds passed -... 40%, 280576 KB, 44362 KB/s, 6 seconds passed -... 40%, 280608 KB, 44364 KB/s, 6 seconds passed -... 40%, 280640 KB, 44367 KB/s, 6 seconds passed -... 40%, 280672 KB, 44369 KB/s, 6 seconds passed -... 40%, 280704 KB, 44372 KB/s, 6 seconds passed -... 40%, 280736 KB, 44374 KB/s, 6 seconds passed -... 40%, 280768 KB, 44377 KB/s, 6 seconds passed -... 40%, 280800 KB, 44379 KB/s, 6 seconds passed -... 40%, 280832 KB, 44382 KB/s, 6 seconds passed -... 40%, 280864 KB, 44384 KB/s, 6 seconds passed -... 40%, 280896 KB, 44387 KB/s, 6 seconds passed -... 40%, 280928 KB, 44390 KB/s, 6 seconds passed -... 40%, 280960 KB, 44392 KB/s, 6 seconds passed -... 40%, 280992 KB, 44395 KB/s, 6 seconds passed -... 40%, 281024 KB, 44398 KB/s, 6 seconds passed -... 40%, 281056 KB, 44400 KB/s, 6 seconds passed -... 40%, 281088 KB, 44403 KB/s, 6 seconds passed -... 40%, 281120 KB, 44406 KB/s, 6 seconds passed -... 40%, 281152 KB, 44408 KB/s, 6 seconds passed -... 40%, 281184 KB, 44411 KB/s, 6 seconds passed -... 40%, 281216 KB, 44414 KB/s, 6 seconds passed -... 40%, 281248 KB, 44417 KB/s, 6 seconds passed -... 40%, 281280 KB, 44420 KB/s, 6 seconds passed -... 40%, 281312 KB, 44423 KB/s, 6 seconds passed -... 40%, 281344 KB, 44426 KB/s, 6 seconds passed -... 40%, 281376 KB, 44429 KB/s, 6 seconds passed -... 40%, 281408 KB, 44432 KB/s, 6 seconds passed -... 40%, 281440 KB, 44435 KB/s, 6 seconds passed -... 40%, 281472 KB, 44439 KB/s, 6 seconds passed -... 40%, 281504 KB, 44442 KB/s, 6 seconds passed -... 40%, 281536 KB, 44445 KB/s, 6 seconds passed -... 40%, 281568 KB, 44448 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 40%, 281600 KB, 40899 KB/s, 6 seconds passed -... 40%, 281632 KB, 40900 KB/s, 6 seconds passed -... 40%, 281664 KB, 40902 KB/s, 6 seconds passed -... 40%, 281696 KB, 40905 KB/s, 6 seconds passed -... 40%, 281728 KB, 40907 KB/s, 6 seconds passed -... 40%, 281760 KB, 40909 KB/s, 6 seconds passed -... 40%, 281792 KB, 40912 KB/s, 6 seconds passed -... 40%, 281824 KB, 40914 KB/s, 6 seconds passed -... 40%, 281856 KB, 40916 KB/s, 6 seconds passed -... 40%, 281888 KB, 40919 KB/s, 6 seconds passed -... 40%, 281920 KB, 40921 KB/s, 6 seconds passed -... 40%, 281952 KB, 40924 KB/s, 6 seconds passed -... 40%, 281984 KB, 40926 KB/s, 6 seconds passed -... 40%, 282016 KB, 40928 KB/s, 6 seconds passed -... 40%, 282048 KB, 40931 KB/s, 6 seconds passed -... 40%, 282080 KB, 40933 KB/s, 6 seconds passed -... 40%, 282112 KB, 40936 KB/s, 6 seconds passed -... 40%, 282144 KB, 40938 KB/s, 6 seconds passed -... 40%, 282176 KB, 40941 KB/s, 6 seconds passed -... 40%, 282208 KB, 40943 KB/s, 6 seconds passed -... 40%, 282240 KB, 40945 KB/s, 6 seconds passed -... 40%, 282272 KB, 40948 KB/s, 6 seconds passed -... 40%, 282304 KB, 40950 KB/s, 6 seconds passed -... 40%, 282336 KB, 40953 KB/s, 6 seconds passed -... 40%, 282368 KB, 40956 KB/s, 6 seconds passed -... 40%, 282400 KB, 40953 KB/s, 6 seconds passed -... 40%, 282432 KB, 40956 KB/s, 6 seconds passed -... 40%, 282464 KB, 40958 KB/s, 6 seconds passed -... 40%, 282496 KB, 40960 KB/s, 6 seconds passed -... 40%, 282528 KB, 40963 KB/s, 6 seconds passed -... 40%, 282560 KB, 40965 KB/s, 6 seconds passed -... 40%, 282592 KB, 40967 KB/s, 6 seconds passed -... 40%, 282624 KB, 40970 KB/s, 6 seconds passed -... 40%, 282656 KB, 40973 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 40%, 282688 KB, 40921 KB/s, 6 seconds passed -... 40%, 282720 KB, 40923 KB/s, 6 seconds passed -... 40%, 282752 KB, 40925 KB/s, 6 seconds passed -... 40%, 282784 KB, 40927 KB/s, 6 seconds passed -... 40%, 282816 KB, 40930 KB/s, 6 seconds passed -... 40%, 282848 KB, 40932 KB/s, 6 seconds passed -... 40%, 282880 KB, 40934 KB/s, 6 seconds passed -... 40%, 282912 KB, 40937 KB/s, 6 seconds passed -... 40%, 282944 KB, 40939 KB/s, 6 seconds passed -... 40%, 282976 KB, 40942 KB/s, 6 seconds passed -... 40%, 283008 KB, 40944 KB/s, 6 seconds passed -... 40%, 283040 KB, 40947 KB/s, 6 seconds passed -... 40%, 283072 KB, 40949 KB/s, 6 seconds passed -... 40%, 283104 KB, 40951 KB/s, 6 seconds passed -... 40%, 283136 KB, 40954 KB/s, 6 seconds passed -... 40%, 283168 KB, 40956 KB/s, 6 seconds passed -... 40%, 283200 KB, 40959 KB/s, 6 seconds passed -... 40%, 283232 KB, 40962 KB/s, 6 seconds passed -... 40%, 283264 KB, 40965 KB/s, 6 seconds passed -... 40%, 283296 KB, 40968 KB/s, 6 seconds passed -... 40%, 283328 KB, 40971 KB/s, 6 seconds passed -... 40%, 283360 KB, 40973 KB/s, 6 seconds passed -... 40%, 283392 KB, 40975 KB/s, 6 seconds passed -... 40%, 283424 KB, 40978 KB/s, 6 seconds passed -... 40%, 283456 KB, 40980 KB/s, 6 seconds passed -... 40%, 283488 KB, 40983 KB/s, 6 seconds passed -... 40%, 283520 KB, 40985 KB/s, 6 seconds passed -... 40%, 283552 KB, 40988 KB/s, 6 seconds passed -... 40%, 283584 KB, 40990 KB/s, 6 seconds passed -... 40%, 283616 KB, 40992 KB/s, 6 seconds passed -... 40%, 283648 KB, 40995 KB/s, 6 seconds passed -... 40%, 283680 KB, 40998 KB/s, 6 seconds passed -... 40%, 283712 KB, 41000 KB/s, 6 seconds passed -... 40%, 283744 KB, 41003 KB/s, 6 seconds passed -... 40%, 283776 KB, 41005 KB/s, 6 seconds passed -... 40%, 283808 KB, 41008 KB/s, 6 seconds passed -... 40%, 283840 KB, 41010 KB/s, 6 seconds passed -... 40%, 283872 KB, 41012 KB/s, 6 seconds passed -... 40%, 283904 KB, 41015 KB/s, 6 seconds passed -... 40%, 283936 KB, 41017 KB/s, 6 seconds passed -... 40%, 283968 KB, 41020 KB/s, 6 seconds passed -... 40%, 284000 KB, 41023 KB/s, 6 seconds passed -... 40%, 284032 KB, 41026 KB/s, 6 seconds passed -... 40%, 284064 KB, 41030 KB/s, 6 seconds passed -... 40%, 284096 KB, 41033 KB/s, 6 seconds passed -... 40%, 284128 KB, 41036 KB/s, 6 seconds passed -... 40%, 284160 KB, 41039 KB/s, 6 seconds passed -... 40%, 284192 KB, 41043 KB/s, 6 seconds passed -... 40%, 284224 KB, 41046 KB/s, 6 seconds passed -... 40%, 284256 KB, 41049 KB/s, 6 seconds passed -... 40%, 284288 KB, 41052 KB/s, 6 seconds passed -... 40%, 284320 KB, 41055 KB/s, 6 seconds passed -... 40%, 284352 KB, 41058 KB/s, 6 seconds passed -... 40%, 284384 KB, 41061 KB/s, 6 seconds passed -... 40%, 284416 KB, 41064 KB/s, 6 seconds passed -... 40%, 284448 KB, 41067 KB/s, 6 seconds passed -... 40%, 284480 KB, 41070 KB/s, 6 seconds passed -... 40%, 284512 KB, 41073 KB/s, 6 seconds passed -... 40%, 284544 KB, 41076 KB/s, 6 seconds passed -... 40%, 284576 KB, 41079 KB/s, 6 seconds passed -... 40%, 284608 KB, 41082 KB/s, 6 seconds passed -... 40%, 284640 KB, 41085 KB/s, 6 seconds passed -... 40%, 284672 KB, 41088 KB/s, 6 seconds passed -... 40%, 284704 KB, 41091 KB/s, 6 seconds passed -... 40%, 284736 KB, 41094 KB/s, 6 seconds passed -... 40%, 284768 KB, 41097 KB/s, 6 seconds passed -... 40%, 284800 KB, 41100 KB/s, 6 seconds passed -... 40%, 284832 KB, 41103 KB/s, 6 seconds passed -... 40%, 284864 KB, 41106 KB/s, 6 seconds passed -... 40%, 284896 KB, 41109 KB/s, 6 seconds passed -... 40%, 284928 KB, 41112 KB/s, 6 seconds passed -... 40%, 284960 KB, 41114 KB/s, 6 seconds passed -... 40%, 284992 KB, 41118 KB/s, 6 seconds passed -... 40%, 285024 KB, 41121 KB/s, 6 seconds passed -... 40%, 285056 KB, 41123 KB/s, 6 seconds passed -... 40%, 285088 KB, 41126 KB/s, 6 seconds passed -... 40%, 285120 KB, 41129 KB/s, 6 seconds passed -... 40%, 285152 KB, 41132 KB/s, 6 seconds passed -... 41%, 285184 KB, 41135 KB/s, 6 seconds passed -... 41%, 285216 KB, 41138 KB/s, 6 seconds passed -... 41%, 285248 KB, 41141 KB/s, 6 seconds passed -... 41%, 285280 KB, 41144 KB/s, 6 seconds passed -... 41%, 285312 KB, 41147 KB/s, 6 seconds passed -... 41%, 285344 KB, 41150 KB/s, 6 seconds passed -... 41%, 285376 KB, 41153 KB/s, 6 seconds passed -... 41%, 285408 KB, 41156 KB/s, 6 seconds passed -... 41%, 285440 KB, 41159 KB/s, 6 seconds passed -... 41%, 285472 KB, 41162 KB/s, 6 seconds passed -... 41%, 285504 KB, 41165 KB/s, 6 seconds passed -... 41%, 285536 KB, 41168 KB/s, 6 seconds passed -... 41%, 285568 KB, 41171 KB/s, 6 seconds passed -... 41%, 285600 KB, 41174 KB/s, 6 seconds passed -... 41%, 285632 KB, 41177 KB/s, 6 seconds passed -... 41%, 285664 KB, 41180 KB/s, 6 seconds passed -... 41%, 285696 KB, 41183 KB/s, 6 seconds passed -... 41%, 285728 KB, 41185 KB/s, 6 seconds passed -... 41%, 285760 KB, 41189 KB/s, 6 seconds passed -... 41%, 285792 KB, 41192 KB/s, 6 seconds passed -... 41%, 285824 KB, 41194 KB/s, 6 seconds passed -... 41%, 285856 KB, 41197 KB/s, 6 seconds passed -... 41%, 285888 KB, 41200 KB/s, 6 seconds passed -... 41%, 285920 KB, 41203 KB/s, 6 seconds passed -... 41%, 285952 KB, 41206 KB/s, 6 seconds passed -... 41%, 285984 KB, 41209 KB/s, 6 seconds passed -... 41%, 286016 KB, 41212 KB/s, 6 seconds passed -... 41%, 286048 KB, 41215 KB/s, 6 seconds passed -... 41%, 286080 KB, 41218 KB/s, 6 seconds passed -... 41%, 286112 KB, 41221 KB/s, 6 seconds passed -... 41%, 286144 KB, 41224 KB/s, 6 seconds passed -... 41%, 286176 KB, 41227 KB/s, 6 seconds passed -... 41%, 286208 KB, 41230 KB/s, 6 seconds passed -... 41%, 286240 KB, 41233 KB/s, 6 seconds passed -... 41%, 286272 KB, 41236 KB/s, 6 seconds passed -... 41%, 286304 KB, 41239 KB/s, 6 seconds passed -... 41%, 286336 KB, 41241 KB/s, 6 seconds passed -... 41%, 286368 KB, 41245 KB/s, 6 seconds passed -... 41%, 286400 KB, 41248 KB/s, 6 seconds passed -... 41%, 286432 KB, 41251 KB/s, 6 seconds passed -... 41%, 286464 KB, 41254 KB/s, 6 seconds passed -... 41%, 286496 KB, 41256 KB/s, 6 seconds passed -... 41%, 286528 KB, 41259 KB/s, 6 seconds passed -... 41%, 286560 KB, 41262 KB/s, 6 seconds passed -... 41%, 286592 KB, 41265 KB/s, 6 seconds passed -... 41%, 286624 KB, 41269 KB/s, 6 seconds passed -... 41%, 286656 KB, 41271 KB/s, 6 seconds passed -... 41%, 286688 KB, 41274 KB/s, 6 seconds passed - -.. parsed-literal:: - - ... 41%, 286720 KB, 40792 KB/s, 7 seconds passed -... 41%, 286752 KB, 40791 KB/s, 7 seconds passed -... 41%, 286784 KB, 40793 KB/s, 7 seconds passed -... 41%, 286816 KB, 40795 KB/s, 7 seconds passed -... 41%, 286848 KB, 40797 KB/s, 7 seconds passed -... 41%, 286880 KB, 40799 KB/s, 7 seconds passed -... 41%, 286912 KB, 40802 KB/s, 7 seconds passed -... 41%, 286944 KB, 40804 KB/s, 7 seconds passed -... 41%, 286976 KB, 40806 KB/s, 7 seconds passed -... 41%, 287008 KB, 40809 KB/s, 7 seconds passed -... 41%, 287040 KB, 40811 KB/s, 7 seconds passed -... 41%, 287072 KB, 40813 KB/s, 7 seconds passed -... 41%, 287104 KB, 40815 KB/s, 7 seconds passed -... 41%, 287136 KB, 40818 KB/s, 7 seconds passed -... 41%, 287168 KB, 40820 KB/s, 7 seconds passed -... 41%, 287200 KB, 40823 KB/s, 7 seconds passed -... 41%, 287232 KB, 40825 KB/s, 7 seconds passed -... 41%, 287264 KB, 40827 KB/s, 7 seconds passed -... 41%, 287296 KB, 40830 KB/s, 7 seconds passed -... 41%, 287328 KB, 40832 KB/s, 7 seconds passed -... 41%, 287360 KB, 40835 KB/s, 7 seconds passed -... 41%, 287392 KB, 40837 KB/s, 7 seconds passed -... 41%, 287424 KB, 40840 KB/s, 7 seconds passed -... 41%, 287456 KB, 40842 KB/s, 7 seconds passed -... 41%, 287488 KB, 40844 KB/s, 7 seconds passed -... 41%, 287520 KB, 40847 KB/s, 7 seconds passed -... 41%, 287552 KB, 40849 KB/s, 7 seconds passed -... 41%, 287584 KB, 40851 KB/s, 7 seconds passed -... 41%, 287616 KB, 40854 KB/s, 7 seconds passed -... 41%, 287648 KB, 40856 KB/s, 7 seconds passed -... 41%, 287680 KB, 40859 KB/s, 7 seconds passed -... 41%, 287712 KB, 40861 KB/s, 7 seconds passed -... 41%, 287744 KB, 40863 KB/s, 7 seconds passed -... 41%, 287776 KB, 40866 KB/s, 7 seconds passed -... 41%, 287808 KB, 40868 KB/s, 7 seconds passed -... 41%, 287840 KB, 40870 KB/s, 7 seconds passed -... 41%, 287872 KB, 40873 KB/s, 7 seconds passed -... 41%, 287904 KB, 40876 KB/s, 7 seconds passed -... 41%, 287936 KB, 40879 KB/s, 7 seconds passed -... 41%, 287968 KB, 40881 KB/s, 7 seconds passed -... 41%, 288000 KB, 40883 KB/s, 7 seconds passed -... 41%, 288032 KB, 40886 KB/s, 7 seconds passed -... 41%, 288064 KB, 40888 KB/s, 7 seconds passed -... 41%, 288096 KB, 40892 KB/s, 7 seconds passed -... 41%, 288128 KB, 40895 KB/s, 7 seconds passed -... 41%, 288160 KB, 40898 KB/s, 7 seconds passed -... 41%, 288192 KB, 40901 KB/s, 7 seconds passed -... 41%, 288224 KB, 40904 KB/s, 7 seconds passed -... 41%, 288256 KB, 40907 KB/s, 7 seconds passed -... 41%, 288288 KB, 40910 KB/s, 7 seconds passed -... 41%, 288320 KB, 40913 KB/s, 7 seconds passed -... 41%, 288352 KB, 40917 KB/s, 7 seconds passed -... 41%, 288384 KB, 40920 KB/s, 7 seconds passed -... 41%, 288416 KB, 40923 KB/s, 7 seconds passed -... 41%, 288448 KB, 40926 KB/s, 7 seconds passed -... 41%, 288480 KB, 40929 KB/s, 7 seconds passed -... 41%, 288512 KB, 40932 KB/s, 7 seconds passed -... 41%, 288544 KB, 40935 KB/s, 7 seconds passed -... 41%, 288576 KB, 40938 KB/s, 7 seconds passed -... 41%, 288608 KB, 40942 KB/s, 7 seconds passed -... 41%, 288640 KB, 40945 KB/s, 7 seconds passed -... 41%, 288672 KB, 40948 KB/s, 7 seconds passed -... 41%, 288704 KB, 40951 KB/s, 7 seconds passed -... 41%, 288736 KB, 40955 KB/s, 7 seconds passed -... 41%, 288768 KB, 40958 KB/s, 7 seconds passed -... 41%, 288800 KB, 40960 KB/s, 7 seconds passed -... 41%, 288832 KB, 40963 KB/s, 7 seconds passed -... 41%, 288864 KB, 40966 KB/s, 7 seconds passed -... 41%, 288896 KB, 40969 KB/s, 7 seconds passed -... 41%, 288928 KB, 40972 KB/s, 7 seconds passed -... 41%, 288960 KB, 40975 KB/s, 7 seconds passed -... 41%, 288992 KB, 40978 KB/s, 7 seconds passed -... 41%, 289024 KB, 40981 KB/s, 7 seconds passed -... 41%, 289056 KB, 40984 KB/s, 7 seconds passed -... 41%, 289088 KB, 40987 KB/s, 7 seconds passed -... 41%, 289120 KB, 40989 KB/s, 7 seconds passed -... 41%, 289152 KB, 40992 KB/s, 7 seconds passed -... 41%, 289184 KB, 40995 KB/s, 7 seconds passed -... 41%, 289216 KB, 40998 KB/s, 7 seconds passed -... 41%, 289248 KB, 41001 KB/s, 7 seconds passed -... 41%, 289280 KB, 41004 KB/s, 7 seconds passed -... 41%, 289312 KB, 41007 KB/s, 7 seconds passed -... 41%, 289344 KB, 41010 KB/s, 7 seconds passed -... 41%, 289376 KB, 41013 KB/s, 7 seconds passed -... 41%, 289408 KB, 41016 KB/s, 7 seconds passed -... 41%, 289440 KB, 41019 KB/s, 7 seconds passed -... 41%, 289472 KB, 41022 KB/s, 7 seconds passed -... 41%, 289504 KB, 41025 KB/s, 7 seconds passed -... 41%, 289536 KB, 41028 KB/s, 7 seconds passed -... 41%, 289568 KB, 41030 KB/s, 7 seconds passed -... 41%, 289600 KB, 41033 KB/s, 7 seconds passed -... 41%, 289632 KB, 41036 KB/s, 7 seconds passed -... 41%, 289664 KB, 41039 KB/s, 7 seconds passed -... 41%, 289696 KB, 41042 KB/s, 7 seconds passed -... 41%, 289728 KB, 41045 KB/s, 7 seconds passed -... 41%, 289760 KB, 41048 KB/s, 7 seconds passed -... 41%, 289792 KB, 41051 KB/s, 7 seconds passed -... 41%, 289824 KB, 41053 KB/s, 7 seconds passed -... 41%, 289856 KB, 41056 KB/s, 7 seconds passed -... 41%, 289888 KB, 41059 KB/s, 7 seconds passed -... 41%, 289920 KB, 41062 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 41%, 289952 KB, 41065 KB/s, 7 seconds passed -... 41%, 289984 KB, 41068 KB/s, 7 seconds passed -... 41%, 290016 KB, 41071 KB/s, 7 seconds passed -... 41%, 290048 KB, 41074 KB/s, 7 seconds passed -... 41%, 290080 KB, 41077 KB/s, 7 seconds passed -... 41%, 290112 KB, 41080 KB/s, 7 seconds passed -... 41%, 290144 KB, 41082 KB/s, 7 seconds passed -... 41%, 290176 KB, 41086 KB/s, 7 seconds passed -... 41%, 290208 KB, 41088 KB/s, 7 seconds passed -... 41%, 290240 KB, 41091 KB/s, 7 seconds passed -... 41%, 290272 KB, 41094 KB/s, 7 seconds passed -... 41%, 290304 KB, 41097 KB/s, 7 seconds passed -... 41%, 290336 KB, 41100 KB/s, 7 seconds passed -... 41%, 290368 KB, 41103 KB/s, 7 seconds passed -... 41%, 290400 KB, 41106 KB/s, 7 seconds passed -... 41%, 290432 KB, 41109 KB/s, 7 seconds passed -... 41%, 290464 KB, 41112 KB/s, 7 seconds passed -... 41%, 290496 KB, 41115 KB/s, 7 seconds passed -... 41%, 290528 KB, 41104 KB/s, 7 seconds passed -... 41%, 290560 KB, 41107 KB/s, 7 seconds passed -... 41%, 290592 KB, 41110 KB/s, 7 seconds passed -... 41%, 290624 KB, 41113 KB/s, 7 seconds passed -... 41%, 290656 KB, 41116 KB/s, 7 seconds passed -... 41%, 290688 KB, 41119 KB/s, 7 seconds passed -... 41%, 290720 KB, 41122 KB/s, 7 seconds passed -... 41%, 290752 KB, 41125 KB/s, 7 seconds passed -... 41%, 290784 KB, 41128 KB/s, 7 seconds passed -... 41%, 290816 KB, 41131 KB/s, 7 seconds passed -... 41%, 290848 KB, 41133 KB/s, 7 seconds passed -... 41%, 290880 KB, 41137 KB/s, 7 seconds passed -... 41%, 290912 KB, 41139 KB/s, 7 seconds passed -... 41%, 290944 KB, 41142 KB/s, 7 seconds passed -... 41%, 290976 KB, 41145 KB/s, 7 seconds passed -... 41%, 291008 KB, 41148 KB/s, 7 seconds passed -... 41%, 291040 KB, 41151 KB/s, 7 seconds passed -... 41%, 291072 KB, 41154 KB/s, 7 seconds passed -... 41%, 291104 KB, 41157 KB/s, 7 seconds passed -... 41%, 291136 KB, 41160 KB/s, 7 seconds passed -... 41%, 291168 KB, 41163 KB/s, 7 seconds passed -... 41%, 291200 KB, 41166 KB/s, 7 seconds passed -... 41%, 291232 KB, 41169 KB/s, 7 seconds passed -... 41%, 291264 KB, 41171 KB/s, 7 seconds passed -... 41%, 291296 KB, 41174 KB/s, 7 seconds passed -... 41%, 291328 KB, 41177 KB/s, 7 seconds passed -... 41%, 291360 KB, 41180 KB/s, 7 seconds passed -... 41%, 291392 KB, 41183 KB/s, 7 seconds passed -... 41%, 291424 KB, 41186 KB/s, 7 seconds passed -... 41%, 291456 KB, 41188 KB/s, 7 seconds passed -... 41%, 291488 KB, 41191 KB/s, 7 seconds passed -... 41%, 291520 KB, 41194 KB/s, 7 seconds passed -... 41%, 291552 KB, 41197 KB/s, 7 seconds passed -... 41%, 291584 KB, 41200 KB/s, 7 seconds passed -... 41%, 291616 KB, 41203 KB/s, 7 seconds passed -... 41%, 291648 KB, 41206 KB/s, 7 seconds passed -... 41%, 291680 KB, 41209 KB/s, 7 seconds passed -... 41%, 291712 KB, 41212 KB/s, 7 seconds passed -... 41%, 291744 KB, 41215 KB/s, 7 seconds passed -... 41%, 291776 KB, 41218 KB/s, 7 seconds passed -... 41%, 291808 KB, 41220 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 41%, 291840 KB, 41025 KB/s, 7 seconds passed -... 41%, 291872 KB, 41027 KB/s, 7 seconds passed -... 41%, 291904 KB, 41029 KB/s, 7 seconds passed -... 41%, 291936 KB, 41031 KB/s, 7 seconds passed -... 41%, 291968 KB, 41033 KB/s, 7 seconds passed -... 41%, 292000 KB, 41035 KB/s, 7 seconds passed -... 41%, 292032 KB, 41038 KB/s, 7 seconds passed -... 41%, 292064 KB, 41040 KB/s, 7 seconds passed -... 41%, 292096 KB, 41042 KB/s, 7 seconds passed -... 42%, 292128 KB, 41044 KB/s, 7 seconds passed -... 42%, 292160 KB, 41047 KB/s, 7 seconds passed -... 42%, 292192 KB, 41049 KB/s, 7 seconds passed -... 42%, 292224 KB, 41051 KB/s, 7 seconds passed -... 42%, 292256 KB, 41054 KB/s, 7 seconds passed -... 42%, 292288 KB, 41056 KB/s, 7 seconds passed -... 42%, 292320 KB, 41058 KB/s, 7 seconds passed -... 42%, 292352 KB, 41061 KB/s, 7 seconds passed -... 42%, 292384 KB, 41063 KB/s, 7 seconds passed -... 42%, 292416 KB, 41065 KB/s, 7 seconds passed -... 42%, 292448 KB, 41067 KB/s, 7 seconds passed -... 42%, 292480 KB, 41070 KB/s, 7 seconds passed -... 42%, 292512 KB, 41072 KB/s, 7 seconds passed -... 42%, 292544 KB, 41074 KB/s, 7 seconds passed -... 42%, 292576 KB, 41077 KB/s, 7 seconds passed -... 42%, 292608 KB, 41079 KB/s, 7 seconds passed -... 42%, 292640 KB, 41082 KB/s, 7 seconds passed -... 42%, 292672 KB, 41084 KB/s, 7 seconds passed -... 42%, 292704 KB, 41087 KB/s, 7 seconds passed -... 42%, 292736 KB, 41090 KB/s, 7 seconds passed -... 42%, 292768 KB, 41093 KB/s, 7 seconds passed -... 42%, 292800 KB, 41096 KB/s, 7 seconds passed -... 42%, 292832 KB, 41098 KB/s, 7 seconds passed -... 42%, 292864 KB, 41101 KB/s, 7 seconds passed -... 42%, 292896 KB, 41104 KB/s, 7 seconds passed -... 42%, 292928 KB, 41107 KB/s, 7 seconds passed -... 42%, 292960 KB, 41110 KB/s, 7 seconds passed -... 42%, 292992 KB, 41113 KB/s, 7 seconds passed -... 42%, 293024 KB, 41116 KB/s, 7 seconds passed -... 42%, 293056 KB, 41119 KB/s, 7 seconds passed -... 42%, 293088 KB, 41122 KB/s, 7 seconds passed -... 42%, 293120 KB, 41125 KB/s, 7 seconds passed -... 42%, 293152 KB, 41128 KB/s, 7 seconds passed -... 42%, 293184 KB, 41131 KB/s, 7 seconds passed -... 42%, 293216 KB, 41134 KB/s, 7 seconds passed -... 42%, 293248 KB, 41137 KB/s, 7 seconds passed -... 42%, 293280 KB, 41140 KB/s, 7 seconds passed -... 42%, 293312 KB, 41143 KB/s, 7 seconds passed -... 42%, 293344 KB, 41146 KB/s, 7 seconds passed -... 42%, 293376 KB, 41149 KB/s, 7 seconds passed -... 42%, 293408 KB, 41152 KB/s, 7 seconds passed -... 42%, 293440 KB, 41155 KB/s, 7 seconds passed -... 42%, 293472 KB, 41157 KB/s, 7 seconds passed -... 42%, 293504 KB, 41160 KB/s, 7 seconds passed -... 42%, 293536 KB, 41163 KB/s, 7 seconds passed -... 42%, 293568 KB, 41166 KB/s, 7 seconds passed -... 42%, 293600 KB, 41169 KB/s, 7 seconds passed -... 42%, 293632 KB, 41172 KB/s, 7 seconds passed -... 42%, 293664 KB, 41175 KB/s, 7 seconds passed -... 42%, 293696 KB, 41178 KB/s, 7 seconds passed -... 42%, 293728 KB, 41181 KB/s, 7 seconds passed -... 42%, 293760 KB, 41184 KB/s, 7 seconds passed -... 42%, 293792 KB, 41186 KB/s, 7 seconds passed -... 42%, 293824 KB, 41189 KB/s, 7 seconds passed -... 42%, 293856 KB, 41192 KB/s, 7 seconds passed -... 42%, 293888 KB, 41195 KB/s, 7 seconds passed -... 42%, 293920 KB, 41198 KB/s, 7 seconds passed -... 42%, 293952 KB, 41200 KB/s, 7 seconds passed -... 42%, 293984 KB, 41203 KB/s, 7 seconds passed -... 42%, 294016 KB, 41206 KB/s, 7 seconds passed -... 42%, 294048 KB, 41209 KB/s, 7 seconds passed -... 42%, 294080 KB, 41213 KB/s, 7 seconds passed -... 42%, 294112 KB, 41215 KB/s, 7 seconds passed -... 42%, 294144 KB, 41218 KB/s, 7 seconds passed -... 42%, 294176 KB, 41221 KB/s, 7 seconds passed -... 42%, 294208 KB, 41224 KB/s, 7 seconds passed -... 42%, 294240 KB, 41226 KB/s, 7 seconds passed -... 42%, 294272 KB, 41229 KB/s, 7 seconds passed -... 42%, 294304 KB, 41232 KB/s, 7 seconds passed -... 42%, 294336 KB, 41235 KB/s, 7 seconds passed -... 42%, 294368 KB, 41238 KB/s, 7 seconds passed -... 42%, 294400 KB, 41241 KB/s, 7 seconds passed -... 42%, 294432 KB, 41244 KB/s, 7 seconds passed -... 42%, 294464 KB, 41247 KB/s, 7 seconds passed -... 42%, 294496 KB, 41249 KB/s, 7 seconds passed -... 42%, 294528 KB, 41252 KB/s, 7 seconds passed -... 42%, 294560 KB, 41255 KB/s, 7 seconds passed -... 42%, 294592 KB, 41258 KB/s, 7 seconds passed -... 42%, 294624 KB, 41261 KB/s, 7 seconds passed -... 42%, 294656 KB, 41264 KB/s, 7 seconds passed -... 42%, 294688 KB, 41267 KB/s, 7 seconds passed -... 42%, 294720 KB, 41270 KB/s, 7 seconds passed -... 42%, 294752 KB, 41273 KB/s, 7 seconds passed -... 42%, 294784 KB, 41276 KB/s, 7 seconds passed -... 42%, 294816 KB, 41278 KB/s, 7 seconds passed -... 42%, 294848 KB, 41281 KB/s, 7 seconds passed -... 42%, 294880 KB, 41284 KB/s, 7 seconds passed -... 42%, 294912 KB, 41286 KB/s, 7 seconds passed -... 42%, 294944 KB, 41289 KB/s, 7 seconds passed -... 42%, 294976 KB, 41292 KB/s, 7 seconds passed -... 42%, 295008 KB, 41295 KB/s, 7 seconds passed -... 42%, 295040 KB, 41298 KB/s, 7 seconds passed -... 42%, 295072 KB, 41301 KB/s, 7 seconds passed -... 42%, 295104 KB, 41304 KB/s, 7 seconds passed -... 42%, 295136 KB, 41307 KB/s, 7 seconds passed -... 42%, 295168 KB, 41310 KB/s, 7 seconds passed -... 42%, 295200 KB, 41313 KB/s, 7 seconds passed -... 42%, 295232 KB, 41316 KB/s, 7 seconds passed -... 42%, 295264 KB, 41318 KB/s, 7 seconds passed -... 42%, 295296 KB, 41321 KB/s, 7 seconds passed -... 42%, 295328 KB, 41324 KB/s, 7 seconds passed -... 42%, 295360 KB, 41327 KB/s, 7 seconds passed -... 42%, 295392 KB, 41330 KB/s, 7 seconds passed -... 42%, 295424 KB, 41333 KB/s, 7 seconds passed -... 42%, 295456 KB, 41336 KB/s, 7 seconds passed -... 42%, 295488 KB, 41338 KB/s, 7 seconds passed -... 42%, 295520 KB, 41341 KB/s, 7 seconds passed -... 42%, 295552 KB, 41344 KB/s, 7 seconds passed -... 42%, 295584 KB, 41346 KB/s, 7 seconds passed -... 42%, 295616 KB, 41349 KB/s, 7 seconds passed -... 42%, 295648 KB, 41352 KB/s, 7 seconds passed -... 42%, 295680 KB, 41336 KB/s, 7 seconds passed -... 42%, 295712 KB, 41338 KB/s, 7 seconds passed -... 42%, 295744 KB, 41341 KB/s, 7 seconds passed -... 42%, 295776 KB, 41344 KB/s, 7 seconds passed -... 42%, 295808 KB, 41347 KB/s, 7 seconds passed -... 42%, 295840 KB, 41350 KB/s, 7 seconds passed -... 42%, 295872 KB, 41353 KB/s, 7 seconds passed -... 42%, 295904 KB, 41356 KB/s, 7 seconds passed -... 42%, 295936 KB, 41358 KB/s, 7 seconds passed -... 42%, 295968 KB, 41361 KB/s, 7 seconds passed -... 42%, 296000 KB, 41364 KB/s, 7 seconds passed -... 42%, 296032 KB, 41367 KB/s, 7 seconds passed -... 42%, 296064 KB, 41370 KB/s, 7 seconds passed -... 42%, 296096 KB, 41373 KB/s, 7 seconds passed -... 42%, 296128 KB, 41376 KB/s, 7 seconds passed -... 42%, 296160 KB, 41378 KB/s, 7 seconds passed -... 42%, 296192 KB, 41381 KB/s, 7 seconds passed -... 42%, 296224 KB, 41384 KB/s, 7 seconds passed -... 42%, 296256 KB, 41387 KB/s, 7 seconds passed -... 42%, 296288 KB, 41390 KB/s, 7 seconds passed -... 42%, 296320 KB, 41392 KB/s, 7 seconds passed -... 42%, 296352 KB, 41392 KB/s, 7 seconds passed -... 42%, 296384 KB, 41395 KB/s, 7 seconds passed -... 42%, 296416 KB, 41398 KB/s, 7 seconds passed -... 42%, 296448 KB, 41401 KB/s, 7 seconds passed -... 42%, 296480 KB, 41403 KB/s, 7 seconds passed -... 42%, 296512 KB, 41406 KB/s, 7 seconds passed -... 42%, 296544 KB, 41409 KB/s, 7 seconds passed -... 42%, 296576 KB, 41412 KB/s, 7 seconds passed -... 42%, 296608 KB, 41415 KB/s, 7 seconds passed -... 42%, 296640 KB, 41418 KB/s, 7 seconds passed -... 42%, 296672 KB, 41421 KB/s, 7 seconds passed -... 42%, 296704 KB, 41424 KB/s, 7 seconds passed -... 42%, 296736 KB, 41426 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 42%, 296768 KB, 41429 KB/s, 7 seconds passed -... 42%, 296800 KB, 41432 KB/s, 7 seconds passed -... 42%, 296832 KB, 41435 KB/s, 7 seconds passed -... 42%, 296864 KB, 41438 KB/s, 7 seconds passed -... 42%, 296896 KB, 41441 KB/s, 7 seconds passed -... 42%, 296928 KB, 41444 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 42%, 296960 KB, 41052 KB/s, 7 seconds passed -... 42%, 296992 KB, 41053 KB/s, 7 seconds passed -... 42%, 297024 KB, 41055 KB/s, 7 seconds passed -... 42%, 297056 KB, 41057 KB/s, 7 seconds passed -... 42%, 297088 KB, 41059 KB/s, 7 seconds passed -... 42%, 297120 KB, 41062 KB/s, 7 seconds passed -... 42%, 297152 KB, 41064 KB/s, 7 seconds passed -... 42%, 297184 KB, 41064 KB/s, 7 seconds passed -... 42%, 297216 KB, 41066 KB/s, 7 seconds passed -... 42%, 297248 KB, 41068 KB/s, 7 seconds passed -... 42%, 297280 KB, 41071 KB/s, 7 seconds passed -... 42%, 297312 KB, 41073 KB/s, 7 seconds passed -... 42%, 297344 KB, 41075 KB/s, 7 seconds passed -... 42%, 297376 KB, 41077 KB/s, 7 seconds passed -... 42%, 297408 KB, 41080 KB/s, 7 seconds passed -... 42%, 297440 KB, 41082 KB/s, 7 seconds passed -... 42%, 297472 KB, 41084 KB/s, 7 seconds passed -... 42%, 297504 KB, 41086 KB/s, 7 seconds passed -... 42%, 297536 KB, 41088 KB/s, 7 seconds passed -... 42%, 297568 KB, 41091 KB/s, 7 seconds passed -... 42%, 297600 KB, 41093 KB/s, 7 seconds passed -... 42%, 297632 KB, 41095 KB/s, 7 seconds passed -... 42%, 297664 KB, 41098 KB/s, 7 seconds passed -... 42%, 297696 KB, 41100 KB/s, 7 seconds passed -... 42%, 297728 KB, 41102 KB/s, 7 seconds passed -... 42%, 297760 KB, 41104 KB/s, 7 seconds passed -... 42%, 297792 KB, 41107 KB/s, 7 seconds passed -... 42%, 297824 KB, 41109 KB/s, 7 seconds passed -... 42%, 297856 KB, 41111 KB/s, 7 seconds passed -... 42%, 297888 KB, 41113 KB/s, 7 seconds passed -... 42%, 297920 KB, 41115 KB/s, 7 seconds passed -... 42%, 297952 KB, 41118 KB/s, 7 seconds passed -... 42%, 297984 KB, 41120 KB/s, 7 seconds passed -... 42%, 298016 KB, 41122 KB/s, 7 seconds passed -... 42%, 298048 KB, 41125 KB/s, 7 seconds passed -... 42%, 298080 KB, 41128 KB/s, 7 seconds passed -... 42%, 298112 KB, 41131 KB/s, 7 seconds passed -... 42%, 298144 KB, 41134 KB/s, 7 seconds passed -... 42%, 298176 KB, 41137 KB/s, 7 seconds passed -... 42%, 298208 KB, 41140 KB/s, 7 seconds passed -... 42%, 298240 KB, 41142 KB/s, 7 seconds passed -... 42%, 298272 KB, 41145 KB/s, 7 seconds passed -... 42%, 298304 KB, 41148 KB/s, 7 seconds passed -... 42%, 298336 KB, 41151 KB/s, 7 seconds passed -... 42%, 298368 KB, 41154 KB/s, 7 seconds passed -... 42%, 298400 KB, 41157 KB/s, 7 seconds passed -... 42%, 298432 KB, 41160 KB/s, 7 seconds passed -... 42%, 298464 KB, 41163 KB/s, 7 seconds passed -... 42%, 298496 KB, 41166 KB/s, 7 seconds passed -... 42%, 298528 KB, 41169 KB/s, 7 seconds passed -... 42%, 298560 KB, 41172 KB/s, 7 seconds passed -... 42%, 298592 KB, 41175 KB/s, 7 seconds passed -... 42%, 298624 KB, 41178 KB/s, 7 seconds passed -... 42%, 298656 KB, 41181 KB/s, 7 seconds passed -... 42%, 298688 KB, 41184 KB/s, 7 seconds passed -... 42%, 298720 KB, 41187 KB/s, 7 seconds passed -... 42%, 298752 KB, 41190 KB/s, 7 seconds passed -... 42%, 298784 KB, 41193 KB/s, 7 seconds passed -... 42%, 298816 KB, 41196 KB/s, 7 seconds passed -... 42%, 298848 KB, 41199 KB/s, 7 seconds passed -... 42%, 298880 KB, 41202 KB/s, 7 seconds passed -... 42%, 298912 KB, 41205 KB/s, 7 seconds passed -... 42%, 298944 KB, 41207 KB/s, 7 seconds passed -... 42%, 298976 KB, 41210 KB/s, 7 seconds passed -... 42%, 299008 KB, 41213 KB/s, 7 seconds passed -... 42%, 299040 KB, 41216 KB/s, 7 seconds passed -... 43%, 299072 KB, 41219 KB/s, 7 seconds passed -... 43%, 299104 KB, 41222 KB/s, 7 seconds passed -... 43%, 299136 KB, 41225 KB/s, 7 seconds passed -... 43%, 299168 KB, 41228 KB/s, 7 seconds passed -... 43%, 299200 KB, 41231 KB/s, 7 seconds passed -... 43%, 299232 KB, 41234 KB/s, 7 seconds passed -... 43%, 299264 KB, 41237 KB/s, 7 seconds passed -... 43%, 299296 KB, 41240 KB/s, 7 seconds passed -... 43%, 299328 KB, 41244 KB/s, 7 seconds passed -... 43%, 299360 KB, 41247 KB/s, 7 seconds passed -... 43%, 299392 KB, 41251 KB/s, 7 seconds passed -... 43%, 299424 KB, 41254 KB/s, 7 seconds passed -... 43%, 299456 KB, 41257 KB/s, 7 seconds passed -... 43%, 299488 KB, 41261 KB/s, 7 seconds passed -... 43%, 299520 KB, 41264 KB/s, 7 seconds passed -... 43%, 299552 KB, 41268 KB/s, 7 seconds passed -... 43%, 299584 KB, 41271 KB/s, 7 seconds passed -... 43%, 299616 KB, 41275 KB/s, 7 seconds passed -... 43%, 299648 KB, 41278 KB/s, 7 seconds passed -... 43%, 299680 KB, 41281 KB/s, 7 seconds passed -... 43%, 299712 KB, 41285 KB/s, 7 seconds passed -... 43%, 299744 KB, 41288 KB/s, 7 seconds passed -... 43%, 299776 KB, 41292 KB/s, 7 seconds passed -... 43%, 299808 KB, 41295 KB/s, 7 seconds passed -... 43%, 299840 KB, 41299 KB/s, 7 seconds passed -... 43%, 299872 KB, 41302 KB/s, 7 seconds passed -... 43%, 299904 KB, 41305 KB/s, 7 seconds passed -... 43%, 299936 KB, 41308 KB/s, 7 seconds passed -... 43%, 299968 KB, 41311 KB/s, 7 seconds passed -... 43%, 300000 KB, 41313 KB/s, 7 seconds passed -... 43%, 300032 KB, 41316 KB/s, 7 seconds passed -... 43%, 300064 KB, 41319 KB/s, 7 seconds passed -... 43%, 300096 KB, 41322 KB/s, 7 seconds passed -... 43%, 300128 KB, 41325 KB/s, 7 seconds passed -... 43%, 300160 KB, 41328 KB/s, 7 seconds passed -... 43%, 300192 KB, 41331 KB/s, 7 seconds passed -... 43%, 300224 KB, 41333 KB/s, 7 seconds passed -... 43%, 300256 KB, 41336 KB/s, 7 seconds passed -... 43%, 300288 KB, 41339 KB/s, 7 seconds passed -... 43%, 300320 KB, 41342 KB/s, 7 seconds passed -... 43%, 300352 KB, 41344 KB/s, 7 seconds passed -... 43%, 300384 KB, 41347 KB/s, 7 seconds passed -... 43%, 300416 KB, 41350 KB/s, 7 seconds passed -... 43%, 300448 KB, 41353 KB/s, 7 seconds passed -... 43%, 300480 KB, 41355 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 43%, 300512 KB, 41358 KB/s, 7 seconds passed -... 43%, 300544 KB, 41361 KB/s, 7 seconds passed -... 43%, 300576 KB, 41364 KB/s, 7 seconds passed -... 43%, 300608 KB, 41366 KB/s, 7 seconds passed -... 43%, 300640 KB, 41369 KB/s, 7 seconds passed -... 43%, 300672 KB, 41372 KB/s, 7 seconds passed -... 43%, 300704 KB, 41375 KB/s, 7 seconds passed -... 43%, 300736 KB, 41359 KB/s, 7 seconds passed -... 43%, 300768 KB, 41361 KB/s, 7 seconds passed -... 43%, 300800 KB, 41363 KB/s, 7 seconds passed -... 43%, 300832 KB, 41366 KB/s, 7 seconds passed -... 43%, 300864 KB, 41365 KB/s, 7 seconds passed -... 43%, 300896 KB, 41368 KB/s, 7 seconds passed -... 43%, 300928 KB, 41371 KB/s, 7 seconds passed -... 43%, 300960 KB, 41373 KB/s, 7 seconds passed -... 43%, 300992 KB, 41376 KB/s, 7 seconds passed -... 43%, 301024 KB, 41379 KB/s, 7 seconds passed -... 43%, 301056 KB, 41382 KB/s, 7 seconds passed -... 43%, 301088 KB, 41385 KB/s, 7 seconds passed -... 43%, 301120 KB, 41388 KB/s, 7 seconds passed -... 43%, 301152 KB, 41391 KB/s, 7 seconds passed -... 43%, 301184 KB, 41393 KB/s, 7 seconds passed -... 43%, 301216 KB, 41396 KB/s, 7 seconds passed -... 43%, 301248 KB, 41399 KB/s, 7 seconds passed -... 43%, 301280 KB, 41402 KB/s, 7 seconds passed -... 43%, 301312 KB, 41404 KB/s, 7 seconds passed -... 43%, 301344 KB, 41407 KB/s, 7 seconds passed -... 43%, 301376 KB, 41410 KB/s, 7 seconds passed -... 43%, 301408 KB, 41413 KB/s, 7 seconds passed -... 43%, 301440 KB, 41415 KB/s, 7 seconds passed -... 43%, 301472 KB, 41418 KB/s, 7 seconds passed -... 43%, 301504 KB, 41421 KB/s, 7 seconds passed -... 43%, 301536 KB, 41424 KB/s, 7 seconds passed -... 43%, 301568 KB, 41427 KB/s, 7 seconds passed -... 43%, 301600 KB, 41430 KB/s, 7 seconds passed -... 43%, 301632 KB, 41432 KB/s, 7 seconds passed -... 43%, 301664 KB, 41435 KB/s, 7 seconds passed -... 43%, 301696 KB, 41438 KB/s, 7 seconds passed -... 43%, 301728 KB, 41441 KB/s, 7 seconds passed -... 43%, 301760 KB, 41444 KB/s, 7 seconds passed -... 43%, 301792 KB, 41447 KB/s, 7 seconds passed -... 43%, 301824 KB, 41449 KB/s, 7 seconds passed -... 43%, 301856 KB, 41452 KB/s, 7 seconds passed -... 43%, 301888 KB, 41455 KB/s, 7 seconds passed -... 43%, 301920 KB, 41458 KB/s, 7 seconds passed -... 43%, 301952 KB, 41460 KB/s, 7 seconds passed -... 43%, 301984 KB, 41463 KB/s, 7 seconds passed -... 43%, 302016 KB, 41466 KB/s, 7 seconds passed -... 43%, 302048 KB, 41469 KB/s, 7 seconds passed -... 43%, 302080 KB, 41316 KB/s, 7 seconds passed -... 43%, 302112 KB, 41318 KB/s, 7 seconds passed -... 43%, 302144 KB, 41320 KB/s, 7 seconds passed -... 43%, 302176 KB, 41323 KB/s, 7 seconds passed -... 43%, 302208 KB, 41325 KB/s, 7 seconds passed -... 43%, 302240 KB, 41327 KB/s, 7 seconds passed -... 43%, 302272 KB, 41329 KB/s, 7 seconds passed -... 43%, 302304 KB, 41331 KB/s, 7 seconds passed -... 43%, 302336 KB, 41334 KB/s, 7 seconds passed -... 43%, 302368 KB, 41336 KB/s, 7 seconds passed -... 43%, 302400 KB, 41338 KB/s, 7 seconds passed -... 43%, 302432 KB, 41341 KB/s, 7 seconds passed -... 43%, 302464 KB, 41343 KB/s, 7 seconds passed -... 43%, 302496 KB, 41345 KB/s, 7 seconds passed -... 43%, 302528 KB, 41347 KB/s, 7 seconds passed -... 43%, 302560 KB, 41349 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 43%, 302592 KB, 41352 KB/s, 7 seconds passed -... 43%, 302624 KB, 41354 KB/s, 7 seconds passed -... 43%, 302656 KB, 41357 KB/s, 7 seconds passed -... 43%, 302688 KB, 41359 KB/s, 7 seconds passed -... 43%, 302720 KB, 41362 KB/s, 7 seconds passed -... 43%, 302752 KB, 41364 KB/s, 7 seconds passed -... 43%, 302784 KB, 41367 KB/s, 7 seconds passed -... 43%, 302816 KB, 41369 KB/s, 7 seconds passed -... 43%, 302848 KB, 41372 KB/s, 7 seconds passed -... 43%, 302880 KB, 41375 KB/s, 7 seconds passed -... 43%, 302912 KB, 41377 KB/s, 7 seconds passed -... 43%, 302944 KB, 41380 KB/s, 7 seconds passed -... 43%, 302976 KB, 41382 KB/s, 7 seconds passed -... 43%, 303008 KB, 41385 KB/s, 7 seconds passed -... 43%, 303040 KB, 41387 KB/s, 7 seconds passed -... 43%, 303072 KB, 41390 KB/s, 7 seconds passed -... 43%, 303104 KB, 41392 KB/s, 7 seconds passed -... 43%, 303136 KB, 41395 KB/s, 7 seconds passed -... 43%, 303168 KB, 41397 KB/s, 7 seconds passed -... 43%, 303200 KB, 41400 KB/s, 7 seconds passed -... 43%, 303232 KB, 41402 KB/s, 7 seconds passed -... 43%, 303264 KB, 41405 KB/s, 7 seconds passed -... 43%, 303296 KB, 41407 KB/s, 7 seconds passed -... 43%, 303328 KB, 41410 KB/s, 7 seconds passed -... 43%, 303360 KB, 41412 KB/s, 7 seconds passed -... 43%, 303392 KB, 41415 KB/s, 7 seconds passed -... 43%, 303424 KB, 41418 KB/s, 7 seconds passed -... 43%, 303456 KB, 41420 KB/s, 7 seconds passed -... 43%, 303488 KB, 41423 KB/s, 7 seconds passed -... 43%, 303520 KB, 41425 KB/s, 7 seconds passed -... 43%, 303552 KB, 41428 KB/s, 7 seconds passed -... 43%, 303584 KB, 41430 KB/s, 7 seconds passed -... 43%, 303616 KB, 41433 KB/s, 7 seconds passed -... 43%, 303648 KB, 41437 KB/s, 7 seconds passed -... 43%, 303680 KB, 41440 KB/s, 7 seconds passed -... 43%, 303712 KB, 41443 KB/s, 7 seconds passed -... 43%, 303744 KB, 41446 KB/s, 7 seconds passed -... 43%, 303776 KB, 41449 KB/s, 7 seconds passed -... 43%, 303808 KB, 41452 KB/s, 7 seconds passed -... 43%, 303840 KB, 41455 KB/s, 7 seconds passed -... 43%, 303872 KB, 41458 KB/s, 7 seconds passed -... 43%, 303904 KB, 41462 KB/s, 7 seconds passed -... 43%, 303936 KB, 41465 KB/s, 7 seconds passed -... 43%, 303968 KB, 41468 KB/s, 7 seconds passed -... 43%, 304000 KB, 41471 KB/s, 7 seconds passed -... 43%, 304032 KB, 41474 KB/s, 7 seconds passed -... 43%, 304064 KB, 41477 KB/s, 7 seconds passed -... 43%, 304096 KB, 41480 KB/s, 7 seconds passed -... 43%, 304128 KB, 41484 KB/s, 7 seconds passed -... 43%, 304160 KB, 41487 KB/s, 7 seconds passed -... 43%, 304192 KB, 41490 KB/s, 7 seconds passed -... 43%, 304224 KB, 41493 KB/s, 7 seconds passed -... 43%, 304256 KB, 41496 KB/s, 7 seconds passed -... 43%, 304288 KB, 41499 KB/s, 7 seconds passed -... 43%, 304320 KB, 41503 KB/s, 7 seconds passed -... 43%, 304352 KB, 41506 KB/s, 7 seconds passed -... 43%, 304384 KB, 41509 KB/s, 7 seconds passed -... 43%, 304416 KB, 41512 KB/s, 7 seconds passed -... 43%, 304448 KB, 41515 KB/s, 7 seconds passed -... 43%, 304480 KB, 41519 KB/s, 7 seconds passed -... 43%, 304512 KB, 41522 KB/s, 7 seconds passed -... 43%, 304544 KB, 41525 KB/s, 7 seconds passed -... 43%, 304576 KB, 41528 KB/s, 7 seconds passed -... 43%, 304608 KB, 41531 KB/s, 7 seconds passed -... 43%, 304640 KB, 41534 KB/s, 7 seconds passed -... 43%, 304672 KB, 41538 KB/s, 7 seconds passed -... 43%, 304704 KB, 41541 KB/s, 7 seconds passed -... 43%, 304736 KB, 41544 KB/s, 7 seconds passed -... 43%, 304768 KB, 41547 KB/s, 7 seconds passed -... 43%, 304800 KB, 41550 KB/s, 7 seconds passed -... 43%, 304832 KB, 41553 KB/s, 7 seconds passed -... 43%, 304864 KB, 41556 KB/s, 7 seconds passed -... 43%, 304896 KB, 41560 KB/s, 7 seconds passed -... 43%, 304928 KB, 41563 KB/s, 7 seconds passed -... 43%, 304960 KB, 41566 KB/s, 7 seconds passed -... 43%, 304992 KB, 41569 KB/s, 7 seconds passed -... 43%, 305024 KB, 41572 KB/s, 7 seconds passed -... 43%, 305056 KB, 41575 KB/s, 7 seconds passed -... 43%, 305088 KB, 41579 KB/s, 7 seconds passed -... 43%, 305120 KB, 41582 KB/s, 7 seconds passed -... 43%, 305152 KB, 41585 KB/s, 7 seconds passed -... 43%, 305184 KB, 41588 KB/s, 7 seconds passed -... 43%, 305216 KB, 41590 KB/s, 7 seconds passed -... 43%, 305248 KB, 41593 KB/s, 7 seconds passed -... 43%, 305280 KB, 41595 KB/s, 7 seconds passed -... 43%, 305312 KB, 41598 KB/s, 7 seconds passed -... 43%, 305344 KB, 41601 KB/s, 7 seconds passed -... 43%, 305376 KB, 41604 KB/s, 7 seconds passed -... 43%, 305408 KB, 41607 KB/s, 7 seconds passed -... 43%, 305440 KB, 41606 KB/s, 7 seconds passed -... 43%, 305472 KB, 41608 KB/s, 7 seconds passed -... 43%, 305504 KB, 41610 KB/s, 7 seconds passed -... 43%, 305536 KB, 41612 KB/s, 7 seconds passed -... 43%, 305568 KB, 41615 KB/s, 7 seconds passed -... 43%, 305600 KB, 41617 KB/s, 7 seconds passed -... 43%, 305632 KB, 41620 KB/s, 7 seconds passed -... 43%, 305664 KB, 41622 KB/s, 7 seconds passed -... 43%, 305696 KB, 41625 KB/s, 7 seconds passed -... 43%, 305728 KB, 41627 KB/s, 7 seconds passed -... 43%, 305760 KB, 41629 KB/s, 7 seconds passed -... 43%, 305792 KB, 41632 KB/s, 7 seconds passed -... 43%, 305824 KB, 41635 KB/s, 7 seconds passed -... 43%, 305856 KB, 41637 KB/s, 7 seconds passed -... 43%, 305888 KB, 41640 KB/s, 7 seconds passed -... 43%, 305920 KB, 41642 KB/s, 7 seconds passed -... 43%, 305952 KB, 41640 KB/s, 7 seconds passed -... 43%, 305984 KB, 41642 KB/s, 7 seconds passed -... 43%, 306016 KB, 41645 KB/s, 7 seconds passed -... 44%, 306048 KB, 41647 KB/s, 7 seconds passed -... 44%, 306080 KB, 41649 KB/s, 7 seconds passed -... 44%, 306112 KB, 41652 KB/s, 7 seconds passed -... 44%, 306144 KB, 41655 KB/s, 7 seconds passed -... 44%, 306176 KB, 41657 KB/s, 7 seconds passed -... 44%, 306208 KB, 41660 KB/s, 7 seconds passed -... 44%, 306240 KB, 41662 KB/s, 7 seconds passed -... 44%, 306272 KB, 41665 KB/s, 7 seconds passed -... 44%, 306304 KB, 41667 KB/s, 7 seconds passed -... 44%, 306336 KB, 41670 KB/s, 7 seconds passed -... 44%, 306368 KB, 41673 KB/s, 7 seconds passed -... 44%, 306400 KB, 41675 KB/s, 7 seconds passed -... 44%, 306432 KB, 41678 KB/s, 7 seconds passed -... 44%, 306464 KB, 41679 KB/s, 7 seconds passed -... 44%, 306496 KB, 41681 KB/s, 7 seconds passed -... 44%, 306528 KB, 41684 KB/s, 7 seconds passed -... 44%, 306560 KB, 41686 KB/s, 7 seconds passed -... 44%, 306592 KB, 41689 KB/s, 7 seconds passed -... 44%, 306624 KB, 41692 KB/s, 7 seconds passed -... 44%, 306656 KB, 41694 KB/s, 7 seconds passed -... 44%, 306688 KB, 41697 KB/s, 7 seconds passed -... 44%, 306720 KB, 41700 KB/s, 7 seconds passed -... 44%, 306752 KB, 41702 KB/s, 7 seconds passed -... 44%, 306784 KB, 41705 KB/s, 7 seconds passed -... 44%, 306816 KB, 41708 KB/s, 7 seconds passed -... 44%, 306848 KB, 41710 KB/s, 7 seconds passed -... 44%, 306880 KB, 41713 KB/s, 7 seconds passed -... 44%, 306912 KB, 41716 KB/s, 7 seconds passed -... 44%, 306944 KB, 41718 KB/s, 7 seconds passed -... 44%, 306976 KB, 41721 KB/s, 7 seconds passed -... 44%, 307008 KB, 41724 KB/s, 7 seconds passed -... 44%, 307040 KB, 41726 KB/s, 7 seconds passed -... 44%, 307072 KB, 41729 KB/s, 7 seconds passed -... 44%, 307104 KB, 41732 KB/s, 7 seconds passed -... 44%, 307136 KB, 41734 KB/s, 7 seconds passed -... 44%, 307168 KB, 41737 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 44%, 307200 KB, 41618 KB/s, 7 seconds passed -... 44%, 307232 KB, 41617 KB/s, 7 seconds passed -... 44%, 307264 KB, 41619 KB/s, 7 seconds passed -... 44%, 307296 KB, 41621 KB/s, 7 seconds passed -... 44%, 307328 KB, 41593 KB/s, 7 seconds passed -... 44%, 307360 KB, 41595 KB/s, 7 seconds passed -... 44%, 307392 KB, 41597 KB/s, 7 seconds passed -... 44%, 307424 KB, 41600 KB/s, 7 seconds passed -... 44%, 307456 KB, 41603 KB/s, 7 seconds passed -... 44%, 307488 KB, 41605 KB/s, 7 seconds passed -... 44%, 307520 KB, 41608 KB/s, 7 seconds passed -... 44%, 307552 KB, 41610 KB/s, 7 seconds passed -... 44%, 307584 KB, 41613 KB/s, 7 seconds passed -... 44%, 307616 KB, 41616 KB/s, 7 seconds passed -... 44%, 307648 KB, 41618 KB/s, 7 seconds passed -... 44%, 307680 KB, 41621 KB/s, 7 seconds passed -... 44%, 307712 KB, 41623 KB/s, 7 seconds passed -... 44%, 307744 KB, 41626 KB/s, 7 seconds passed -... 44%, 307776 KB, 41629 KB/s, 7 seconds passed -... 44%, 307808 KB, 41631 KB/s, 7 seconds passed -... 44%, 307840 KB, 41634 KB/s, 7 seconds passed -... 44%, 307872 KB, 41636 KB/s, 7 seconds passed -... 44%, 307904 KB, 41639 KB/s, 7 seconds passed -... 44%, 307936 KB, 41641 KB/s, 7 seconds passed -... 44%, 307968 KB, 41644 KB/s, 7 seconds passed -... 44%, 308000 KB, 41647 KB/s, 7 seconds passed -... 44%, 308032 KB, 41649 KB/s, 7 seconds passed -... 44%, 308064 KB, 41652 KB/s, 7 seconds passed -... 44%, 308096 KB, 41654 KB/s, 7 seconds passed -... 44%, 308128 KB, 41657 KB/s, 7 seconds passed -... 44%, 308160 KB, 41660 KB/s, 7 seconds passed -... 44%, 308192 KB, 41662 KB/s, 7 seconds passed -... 44%, 308224 KB, 41665 KB/s, 7 seconds passed -... 44%, 308256 KB, 41667 KB/s, 7 seconds passed -... 44%, 308288 KB, 41670 KB/s, 7 seconds passed -... 44%, 308320 KB, 41673 KB/s, 7 seconds passed -... 44%, 308352 KB, 41675 KB/s, 7 seconds passed -... 44%, 308384 KB, 41678 KB/s, 7 seconds passed -... 44%, 308416 KB, 41681 KB/s, 7 seconds passed -... 44%, 308448 KB, 41684 KB/s, 7 seconds passed -... 44%, 308480 KB, 41687 KB/s, 7 seconds passed -... 44%, 308512 KB, 41690 KB/s, 7 seconds passed -... 44%, 308544 KB, 41693 KB/s, 7 seconds passed -... 44%, 308576 KB, 41696 KB/s, 7 seconds passed -... 44%, 308608 KB, 41699 KB/s, 7 seconds passed -... 44%, 308640 KB, 41702 KB/s, 7 seconds passed -... 44%, 308672 KB, 41705 KB/s, 7 seconds passed -... 44%, 308704 KB, 41708 KB/s, 7 seconds passed -... 44%, 308736 KB, 41711 KB/s, 7 seconds passed -... 44%, 308768 KB, 41714 KB/s, 7 seconds passed -... 44%, 308800 KB, 41717 KB/s, 7 seconds passed -... 44%, 308832 KB, 41720 KB/s, 7 seconds passed -... 44%, 308864 KB, 41723 KB/s, 7 seconds passed -... 44%, 308896 KB, 41726 KB/s, 7 seconds passed -... 44%, 308928 KB, 41729 KB/s, 7 seconds passed -... 44%, 308960 KB, 41732 KB/s, 7 seconds passed -... 44%, 308992 KB, 41735 KB/s, 7 seconds passed -... 44%, 309024 KB, 41738 KB/s, 7 seconds passed -... 44%, 309056 KB, 41741 KB/s, 7 seconds passed -... 44%, 309088 KB, 41744 KB/s, 7 seconds passed -... 44%, 309120 KB, 41747 KB/s, 7 seconds passed -... 44%, 309152 KB, 41749 KB/s, 7 seconds passed -... 44%, 309184 KB, 41752 KB/s, 7 seconds passed -... 44%, 309216 KB, 41755 KB/s, 7 seconds passed -... 44%, 309248 KB, 41757 KB/s, 7 seconds passed -... 44%, 309280 KB, 41760 KB/s, 7 seconds passed -... 44%, 309312 KB, 41763 KB/s, 7 seconds passed -... 44%, 309344 KB, 41766 KB/s, 7 seconds passed -... 44%, 309376 KB, 41768 KB/s, 7 seconds passed -... 44%, 309408 KB, 41771 KB/s, 7 seconds passed -... 44%, 309440 KB, 41774 KB/s, 7 seconds passed -... 44%, 309472 KB, 41776 KB/s, 7 seconds passed -... 44%, 309504 KB, 41779 KB/s, 7 seconds passed -... 44%, 309536 KB, 41782 KB/s, 7 seconds passed -... 44%, 309568 KB, 41785 KB/s, 7 seconds passed -... 44%, 309600 KB, 41788 KB/s, 7 seconds passed -... 44%, 309632 KB, 41791 KB/s, 7 seconds passed -... 44%, 309664 KB, 41794 KB/s, 7 seconds passed -... 44%, 309696 KB, 41796 KB/s, 7 seconds passed -... 44%, 309728 KB, 41799 KB/s, 7 seconds passed -... 44%, 309760 KB, 41802 KB/s, 7 seconds passed -... 44%, 309792 KB, 41805 KB/s, 7 seconds passed -... 44%, 309824 KB, 41807 KB/s, 7 seconds passed -... 44%, 309856 KB, 41810 KB/s, 7 seconds passed -... 44%, 309888 KB, 41812 KB/s, 7 seconds passed -... 44%, 309920 KB, 41815 KB/s, 7 seconds passed -... 44%, 309952 KB, 41818 KB/s, 7 seconds passed -... 44%, 309984 KB, 41821 KB/s, 7 seconds passed -... 44%, 310016 KB, 41824 KB/s, 7 seconds passed -... 44%, 310048 KB, 41826 KB/s, 7 seconds passed -... 44%, 310080 KB, 41829 KB/s, 7 seconds passed -... 44%, 310112 KB, 41832 KB/s, 7 seconds passed -... 44%, 310144 KB, 41835 KB/s, 7 seconds passed -... 44%, 310176 KB, 41837 KB/s, 7 seconds passed -... 44%, 310208 KB, 41840 KB/s, 7 seconds passed -... 44%, 310240 KB, 41842 KB/s, 7 seconds passed -... 44%, 310272 KB, 41845 KB/s, 7 seconds passed -... 44%, 310304 KB, 41848 KB/s, 7 seconds passed -... 44%, 310336 KB, 41851 KB/s, 7 seconds passed -... 44%, 310368 KB, 41853 KB/s, 7 seconds passed -... 44%, 310400 KB, 41856 KB/s, 7 seconds passed -... 44%, 310432 KB, 41859 KB/s, 7 seconds passed -... 44%, 310464 KB, 41862 KB/s, 7 seconds passed -... 44%, 310496 KB, 41865 KB/s, 7 seconds passed -... 44%, 310528 KB, 41868 KB/s, 7 seconds passed -... 44%, 310560 KB, 41870 KB/s, 7 seconds passed -... 44%, 310592 KB, 41872 KB/s, 7 seconds passed -... 44%, 310624 KB, 41875 KB/s, 7 seconds passed -... 44%, 310656 KB, 41878 KB/s, 7 seconds passed -... 44%, 310688 KB, 41881 KB/s, 7 seconds passed -... 44%, 310720 KB, 41883 KB/s, 7 seconds passed -... 44%, 310752 KB, 41886 KB/s, 7 seconds passed -... 44%, 310784 KB, 41889 KB/s, 7 seconds passed -... 44%, 310816 KB, 41892 KB/s, 7 seconds passed -... 44%, 310848 KB, 41895 KB/s, 7 seconds passed -... 44%, 310880 KB, 41897 KB/s, 7 seconds passed -... 44%, 310912 KB, 41900 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 44%, 310944 KB, 41901 KB/s, 7 seconds passed -... 44%, 310976 KB, 41904 KB/s, 7 seconds passed -... 44%, 311008 KB, 41907 KB/s, 7 seconds passed -... 44%, 311040 KB, 41897 KB/s, 7 seconds passed -... 44%, 311072 KB, 41900 KB/s, 7 seconds passed -... 44%, 311104 KB, 41897 KB/s, 7 seconds passed -... 44%, 311136 KB, 41900 KB/s, 7 seconds passed -... 44%, 311168 KB, 41903 KB/s, 7 seconds passed -... 44%, 311200 KB, 41906 KB/s, 7 seconds passed -... 44%, 311232 KB, 41908 KB/s, 7 seconds passed -... 44%, 311264 KB, 41911 KB/s, 7 seconds passed -... 44%, 311296 KB, 41914 KB/s, 7 seconds passed -... 44%, 311328 KB, 41917 KB/s, 7 seconds passed -... 44%, 311360 KB, 41919 KB/s, 7 seconds passed -... 44%, 311392 KB, 41922 KB/s, 7 seconds passed -... 44%, 311424 KB, 41910 KB/s, 7 seconds passed -... 44%, 311456 KB, 41912 KB/s, 7 seconds passed -... 44%, 311488 KB, 41915 KB/s, 7 seconds passed -... 44%, 311520 KB, 41918 KB/s, 7 seconds passed -... 44%, 311552 KB, 41921 KB/s, 7 seconds passed -... 44%, 311584 KB, 41923 KB/s, 7 seconds passed -... 44%, 311616 KB, 41926 KB/s, 7 seconds passed -... 44%, 311648 KB, 41929 KB/s, 7 seconds passed -... 44%, 311680 KB, 41932 KB/s, 7 seconds passed -... 44%, 311712 KB, 41934 KB/s, 7 seconds passed -... 44%, 311744 KB, 41937 KB/s, 7 seconds passed -... 44%, 311776 KB, 41940 KB/s, 7 seconds passed -... 44%, 311808 KB, 41943 KB/s, 7 seconds passed -... 44%, 311840 KB, 41945 KB/s, 7 seconds passed -... 44%, 311872 KB, 41948 KB/s, 7 seconds passed -... 44%, 311904 KB, 41951 KB/s, 7 seconds passed -... 44%, 311936 KB, 41954 KB/s, 7 seconds passed -... 44%, 311968 KB, 41956 KB/s, 7 seconds passed -... 44%, 312000 KB, 41959 KB/s, 7 seconds passed -... 44%, 312032 KB, 41962 KB/s, 7 seconds passed -... 44%, 312064 KB, 41964 KB/s, 7 seconds passed -... 44%, 312096 KB, 41967 KB/s, 7 seconds passed -... 44%, 312128 KB, 41970 KB/s, 7 seconds passed -... 44%, 312160 KB, 41973 KB/s, 7 seconds passed -... 44%, 312192 KB, 41975 KB/s, 7 seconds passed -... 44%, 312224 KB, 41978 KB/s, 7 seconds passed -... 44%, 312256 KB, 41981 KB/s, 7 seconds passed -... 44%, 312288 KB, 41984 KB/s, 7 seconds passed -... 44%, 312320 KB, 41807 KB/s, 7 seconds passed -... 44%, 312352 KB, 41805 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 44%, 312384 KB, 41808 KB/s, 7 seconds passed -... 44%, 312416 KB, 41810 KB/s, 7 seconds passed -... 44%, 312448 KB, 41813 KB/s, 7 seconds passed -... 44%, 312480 KB, 41815 KB/s, 7 seconds passed -... 44%, 312512 KB, 41818 KB/s, 7 seconds passed -... 44%, 312544 KB, 41820 KB/s, 7 seconds passed -... 44%, 312576 KB, 41823 KB/s, 7 seconds passed -... 44%, 312608 KB, 41826 KB/s, 7 seconds passed -... 44%, 312640 KB, 41828 KB/s, 7 seconds passed -... 44%, 312672 KB, 41831 KB/s, 7 seconds passed -... 44%, 312704 KB, 41833 KB/s, 7 seconds passed -... 44%, 312736 KB, 41836 KB/s, 7 seconds passed -... 44%, 312768 KB, 41839 KB/s, 7 seconds passed -... 44%, 312800 KB, 41841 KB/s, 7 seconds passed -... 44%, 312832 KB, 41844 KB/s, 7 seconds passed -... 44%, 312864 KB, 41846 KB/s, 7 seconds passed -... 44%, 312896 KB, 41841 KB/s, 7 seconds passed -... 44%, 312928 KB, 41843 KB/s, 7 seconds passed -... 44%, 312960 KB, 41845 KB/s, 7 seconds passed -... 45%, 312992 KB, 41847 KB/s, 7 seconds passed -... 45%, 313024 KB, 41850 KB/s, 7 seconds passed -... 45%, 313056 KB, 41852 KB/s, 7 seconds passed -... 45%, 313088 KB, 41855 KB/s, 7 seconds passed -... 45%, 313120 KB, 41857 KB/s, 7 seconds passed -... 45%, 313152 KB, 41860 KB/s, 7 seconds passed -... 45%, 313184 KB, 41862 KB/s, 7 seconds passed -... 45%, 313216 KB, 41865 KB/s, 7 seconds passed -... 45%, 313248 KB, 41867 KB/s, 7 seconds passed -... 45%, 313280 KB, 41870 KB/s, 7 seconds passed -... 45%, 313312 KB, 41873 KB/s, 7 seconds passed -... 45%, 313344 KB, 41875 KB/s, 7 seconds passed -... 45%, 313376 KB, 41878 KB/s, 7 seconds passed -... 45%, 313408 KB, 41876 KB/s, 7 seconds passed -... 45%, 313440 KB, 41878 KB/s, 7 seconds passed -... 45%, 313472 KB, 41880 KB/s, 7 seconds passed -... 45%, 313504 KB, 41883 KB/s, 7 seconds passed -... 45%, 313536 KB, 41886 KB/s, 7 seconds passed -... 45%, 313568 KB, 41888 KB/s, 7 seconds passed -... 45%, 313600 KB, 41891 KB/s, 7 seconds passed -... 45%, 313632 KB, 41893 KB/s, 7 seconds passed -... 45%, 313664 KB, 41896 KB/s, 7 seconds passed -... 45%, 313696 KB, 41898 KB/s, 7 seconds passed -... 45%, 313728 KB, 41901 KB/s, 7 seconds passed -... 45%, 313760 KB, 41904 KB/s, 7 seconds passed -... 45%, 313792 KB, 41906 KB/s, 7 seconds passed -... 45%, 313824 KB, 41909 KB/s, 7 seconds passed -... 45%, 313856 KB, 41911 KB/s, 7 seconds passed -... 45%, 313888 KB, 41914 KB/s, 7 seconds passed -... 45%, 313920 KB, 41916 KB/s, 7 seconds passed -... 45%, 313952 KB, 41919 KB/s, 7 seconds passed -... 45%, 313984 KB, 41921 KB/s, 7 seconds passed -... 45%, 314016 KB, 41924 KB/s, 7 seconds passed -... 45%, 314048 KB, 41927 KB/s, 7 seconds passed -... 45%, 314080 KB, 41930 KB/s, 7 seconds passed -... 45%, 314112 KB, 41933 KB/s, 7 seconds passed -... 45%, 314144 KB, 41936 KB/s, 7 seconds passed -... 45%, 314176 KB, 41939 KB/s, 7 seconds passed -... 45%, 314208 KB, 41942 KB/s, 7 seconds passed -... 45%, 314240 KB, 41945 KB/s, 7 seconds passed -... 45%, 314272 KB, 41948 KB/s, 7 seconds passed -... 45%, 314304 KB, 41951 KB/s, 7 seconds passed -... 45%, 314336 KB, 41954 KB/s, 7 seconds passed -... 45%, 314368 KB, 41957 KB/s, 7 seconds passed -... 45%, 314400 KB, 41960 KB/s, 7 seconds passed -... 45%, 314432 KB, 41963 KB/s, 7 seconds passed -... 45%, 314464 KB, 41966 KB/s, 7 seconds passed -... 45%, 314496 KB, 41968 KB/s, 7 seconds passed -... 45%, 314528 KB, 41970 KB/s, 7 seconds passed -... 45%, 314560 KB, 41973 KB/s, 7 seconds passed -... 45%, 314592 KB, 41976 KB/s, 7 seconds passed -... 45%, 314624 KB, 41979 KB/s, 7 seconds passed -... 45%, 314656 KB, 41981 KB/s, 7 seconds passed -... 45%, 314688 KB, 41984 KB/s, 7 seconds passed -... 45%, 314720 KB, 41987 KB/s, 7 seconds passed -... 45%, 314752 KB, 41989 KB/s, 7 seconds passed -... 45%, 314784 KB, 41992 KB/s, 7 seconds passed -... 45%, 314816 KB, 41995 KB/s, 7 seconds passed -... 45%, 314848 KB, 41998 KB/s, 7 seconds passed -... 45%, 314880 KB, 42000 KB/s, 7 seconds passed -... 45%, 314912 KB, 42003 KB/s, 7 seconds passed -... 45%, 314944 KB, 42006 KB/s, 7 seconds passed -... 45%, 314976 KB, 42008 KB/s, 7 seconds passed -... 45%, 315008 KB, 42011 KB/s, 7 seconds passed -... 45%, 315040 KB, 42014 KB/s, 7 seconds passed -... 45%, 315072 KB, 42017 KB/s, 7 seconds passed -... 45%, 315104 KB, 42020 KB/s, 7 seconds passed -... 45%, 315136 KB, 42022 KB/s, 7 seconds passed -... 45%, 315168 KB, 42025 KB/s, 7 seconds passed -... 45%, 315200 KB, 42028 KB/s, 7 seconds passed -... 45%, 315232 KB, 42030 KB/s, 7 seconds passed -... 45%, 315264 KB, 42032 KB/s, 7 seconds passed -... 45%, 315296 KB, 42033 KB/s, 7 seconds passed -... 45%, 315328 KB, 42035 KB/s, 7 seconds passed -... 45%, 315360 KB, 42037 KB/s, 7 seconds passed -... 45%, 315392 KB, 42039 KB/s, 7 seconds passed -... 45%, 315424 KB, 42041 KB/s, 7 seconds passed -... 45%, 315456 KB, 42044 KB/s, 7 seconds passed -... 45%, 315488 KB, 42046 KB/s, 7 seconds passed -... 45%, 315520 KB, 42048 KB/s, 7 seconds passed -... 45%, 315552 KB, 42050 KB/s, 7 seconds passed -... 45%, 315584 KB, 42052 KB/s, 7 seconds passed -... 45%, 315616 KB, 42054 KB/s, 7 seconds passed -... 45%, 315648 KB, 42056 KB/s, 7 seconds passed -... 45%, 315680 KB, 42058 KB/s, 7 seconds passed -... 45%, 315712 KB, 42061 KB/s, 7 seconds passed -... 45%, 315744 KB, 42063 KB/s, 7 seconds passed -... 45%, 315776 KB, 42065 KB/s, 7 seconds passed -... 45%, 315808 KB, 42067 KB/s, 7 seconds passed -... 45%, 315840 KB, 42069 KB/s, 7 seconds passed -... 45%, 315872 KB, 42071 KB/s, 7 seconds passed -... 45%, 315904 KB, 42074 KB/s, 7 seconds passed -... 45%, 315936 KB, 42076 KB/s, 7 seconds passed -... 45%, 315968 KB, 42078 KB/s, 7 seconds passed -... 45%, 316000 KB, 42080 KB/s, 7 seconds passed -... 45%, 316032 KB, 42082 KB/s, 7 seconds passed -... 45%, 316064 KB, 42085 KB/s, 7 seconds passed -... 45%, 316096 KB, 42088 KB/s, 7 seconds passed -... 45%, 316128 KB, 42091 KB/s, 7 seconds passed -... 45%, 316160 KB, 42093 KB/s, 7 seconds passed -... 45%, 316192 KB, 42096 KB/s, 7 seconds passed -... 45%, 316224 KB, 42099 KB/s, 7 seconds passed -... 45%, 316256 KB, 42101 KB/s, 7 seconds passed -... 45%, 316288 KB, 42104 KB/s, 7 seconds passed -... 45%, 316320 KB, 42106 KB/s, 7 seconds passed -... 45%, 316352 KB, 42109 KB/s, 7 seconds passed -... 45%, 316384 KB, 42111 KB/s, 7 seconds passed -... 45%, 316416 KB, 42114 KB/s, 7 seconds passed -... 45%, 316448 KB, 42116 KB/s, 7 seconds passed -... 45%, 316480 KB, 42119 KB/s, 7 seconds passed -... 45%, 316512 KB, 42122 KB/s, 7 seconds passed -... 45%, 316544 KB, 42124 KB/s, 7 seconds passed -... 45%, 316576 KB, 42127 KB/s, 7 seconds passed -... 45%, 316608 KB, 42129 KB/s, 7 seconds passed -... 45%, 316640 KB, 42132 KB/s, 7 seconds passed -... 45%, 316672 KB, 42134 KB/s, 7 seconds passed -... 45%, 316704 KB, 42137 KB/s, 7 seconds passed -... 45%, 316736 KB, 42140 KB/s, 7 seconds passed -... 45%, 316768 KB, 42142 KB/s, 7 seconds passed -... 45%, 316800 KB, 42144 KB/s, 7 seconds passed -... 45%, 316832 KB, 42147 KB/s, 7 seconds passed -... 45%, 316864 KB, 42150 KB/s, 7 seconds passed -... 45%, 316896 KB, 42152 KB/s, 7 seconds passed -... 45%, 316928 KB, 42155 KB/s, 7 seconds passed -... 45%, 316960 KB, 42157 KB/s, 7 seconds passed -... 45%, 316992 KB, 42160 KB/s, 7 seconds passed -... 45%, 317024 KB, 42162 KB/s, 7 seconds passed -... 45%, 317056 KB, 42165 KB/s, 7 seconds passed -... 45%, 317088 KB, 42167 KB/s, 7 seconds passed -... 45%, 317120 KB, 42170 KB/s, 7 seconds passed -... 45%, 317152 KB, 42173 KB/s, 7 seconds passed -... 45%, 317184 KB, 42176 KB/s, 7 seconds passed -... 45%, 317216 KB, 42179 KB/s, 7 seconds passed -... 45%, 317248 KB, 42183 KB/s, 7 seconds passed -... 45%, 317280 KB, 42186 KB/s, 7 seconds passed -... 45%, 317312 KB, 42189 KB/s, 7 seconds passed -... 45%, 317344 KB, 42193 KB/s, 7 seconds passed -... 45%, 317376 KB, 42196 KB/s, 7 seconds passed -... 45%, 317408 KB, 42199 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 45%, 317440 KB, 42128 KB/s, 7 seconds passed -... 45%, 317472 KB, 42124 KB/s, 7 seconds passed -... 45%, 317504 KB, 42126 KB/s, 7 seconds passed -... 45%, 317536 KB, 42128 KB/s, 7 seconds passed -... 45%, 317568 KB, 42103 KB/s, 7 seconds passed -... 45%, 317600 KB, 42104 KB/s, 7 seconds passed -... 45%, 317632 KB, 42105 KB/s, 7 seconds passed -... 45%, 317664 KB, 42107 KB/s, 7 seconds passed -... 45%, 317696 KB, 42109 KB/s, 7 seconds passed -... 45%, 317728 KB, 42109 KB/s, 7 seconds passed -... 45%, 317760 KB, 42111 KB/s, 7 seconds passed -... 45%, 317792 KB, 42113 KB/s, 7 seconds passed -... 45%, 317824 KB, 42114 KB/s, 7 seconds passed -... 45%, 317856 KB, 42116 KB/s, 7 seconds passed -... 45%, 317888 KB, 42118 KB/s, 7 seconds passed -... 45%, 317920 KB, 42119 KB/s, 7 seconds passed -... 45%, 317952 KB, 42120 KB/s, 7 seconds passed -... 45%, 317984 KB, 42121 KB/s, 7 seconds passed -... 45%, 318016 KB, 42123 KB/s, 7 seconds passed -... 45%, 318048 KB, 42125 KB/s, 7 seconds passed -... 45%, 318080 KB, 42127 KB/s, 7 seconds passed -... 45%, 318112 KB, 42129 KB/s, 7 seconds passed -... 45%, 318144 KB, 42131 KB/s, 7 seconds passed -... 45%, 318176 KB, 42133 KB/s, 7 seconds passed -... 45%, 318208 KB, 42136 KB/s, 7 seconds passed -... 45%, 318240 KB, 42138 KB/s, 7 seconds passed -... 45%, 318272 KB, 42139 KB/s, 7 seconds passed -... 45%, 318304 KB, 42141 KB/s, 7 seconds passed -... 45%, 318336 KB, 42144 KB/s, 7 seconds passed -... 45%, 318368 KB, 42146 KB/s, 7 seconds passed -... 45%, 318400 KB, 42148 KB/s, 7 seconds passed -... 45%, 318432 KB, 42150 KB/s, 7 seconds passed -... 45%, 318464 KB, 42153 KB/s, 7 seconds passed -... 45%, 318496 KB, 42155 KB/s, 7 seconds passed -... 45%, 318528 KB, 42157 KB/s, 7 seconds passed -... 45%, 318560 KB, 42159 KB/s, 7 seconds passed -... 45%, 318592 KB, 42161 KB/s, 7 seconds passed -... 45%, 318624 KB, 42163 KB/s, 7 seconds passed -... 45%, 318656 KB, 42165 KB/s, 7 seconds passed -... 45%, 318688 KB, 42168 KB/s, 7 seconds passed -... 45%, 318720 KB, 42170 KB/s, 7 seconds passed -... 45%, 318752 KB, 42172 KB/s, 7 seconds passed -... 45%, 318784 KB, 42174 KB/s, 7 seconds passed -... 45%, 318816 KB, 42177 KB/s, 7 seconds passed -... 45%, 318848 KB, 42179 KB/s, 7 seconds passed -... 45%, 318880 KB, 42181 KB/s, 7 seconds passed -... 45%, 318912 KB, 42183 KB/s, 7 seconds passed -... 45%, 318944 KB, 42186 KB/s, 7 seconds passed -... 45%, 318976 KB, 42189 KB/s, 7 seconds passed -... 45%, 319008 KB, 42192 KB/s, 7 seconds passed -... 45%, 319040 KB, 42195 KB/s, 7 seconds passed -... 45%, 319072 KB, 42198 KB/s, 7 seconds passed -... 45%, 319104 KB, 42201 KB/s, 7 seconds passed -... 45%, 319136 KB, 42204 KB/s, 7 seconds passed -... 45%, 319168 KB, 42207 KB/s, 7 seconds passed -... 45%, 319200 KB, 42210 KB/s, 7 seconds passed -... 45%, 319232 KB, 42213 KB/s, 7 seconds passed -... 45%, 319264 KB, 42216 KB/s, 7 seconds passed -... 45%, 319296 KB, 42219 KB/s, 7 seconds passed -... 45%, 319328 KB, 42222 KB/s, 7 seconds passed -... 45%, 319360 KB, 42225 KB/s, 7 seconds passed -... 45%, 319392 KB, 42228 KB/s, 7 seconds passed -... 45%, 319424 KB, 42231 KB/s, 7 seconds passed -... 45%, 319456 KB, 42234 KB/s, 7 seconds passed -... 45%, 319488 KB, 42237 KB/s, 7 seconds passed -... 45%, 319520 KB, 42240 KB/s, 7 seconds passed -... 45%, 319552 KB, 42243 KB/s, 7 seconds passed -... 45%, 319584 KB, 42246 KB/s, 7 seconds passed -... 45%, 319616 KB, 42249 KB/s, 7 seconds passed -... 45%, 319648 KB, 42252 KB/s, 7 seconds passed -... 45%, 319680 KB, 42255 KB/s, 7 seconds passed -... 45%, 319712 KB, 42258 KB/s, 7 seconds passed -... 45%, 319744 KB, 42261 KB/s, 7 seconds passed -... 45%, 319776 KB, 42264 KB/s, 7 seconds passed -... 45%, 319808 KB, 42267 KB/s, 7 seconds passed -... 45%, 319840 KB, 42270 KB/s, 7 seconds passed -... 45%, 319872 KB, 42273 KB/s, 7 seconds passed -... 45%, 319904 KB, 42276 KB/s, 7 seconds passed -... 46%, 319936 KB, 42279 KB/s, 7 seconds passed -... 46%, 319968 KB, 42282 KB/s, 7 seconds passed -... 46%, 320000 KB, 42285 KB/s, 7 seconds passed -... 46%, 320032 KB, 42288 KB/s, 7 seconds passed -... 46%, 320064 KB, 42291 KB/s, 7 seconds passed -... 46%, 320096 KB, 42294 KB/s, 7 seconds passed -... 46%, 320128 KB, 42297 KB/s, 7 seconds passed -... 46%, 320160 KB, 42300 KB/s, 7 seconds passed -... 46%, 320192 KB, 42303 KB/s, 7 seconds passed -... 46%, 320224 KB, 42306 KB/s, 7 seconds passed -... 46%, 320256 KB, 42309 KB/s, 7 seconds passed -... 46%, 320288 KB, 42312 KB/s, 7 seconds passed -... 46%, 320320 KB, 42315 KB/s, 7 seconds passed -... 46%, 320352 KB, 42318 KB/s, 7 seconds passed -... 46%, 320384 KB, 42322 KB/s, 7 seconds passed -... 46%, 320416 KB, 42325 KB/s, 7 seconds passed -... 46%, 320448 KB, 42328 KB/s, 7 seconds passed -... 46%, 320480 KB, 42332 KB/s, 7 seconds passed -... 46%, 320512 KB, 42335 KB/s, 7 seconds passed -... 46%, 320544 KB, 42338 KB/s, 7 seconds passed -... 46%, 320576 KB, 42342 KB/s, 7 seconds passed -... 46%, 320608 KB, 42345 KB/s, 7 seconds passed -... 46%, 320640 KB, 42349 KB/s, 7 seconds passed -... 46%, 320672 KB, 42352 KB/s, 7 seconds passed -... 46%, 320704 KB, 42356 KB/s, 7 seconds passed -... 46%, 320736 KB, 42359 KB/s, 7 seconds passed -... 46%, 320768 KB, 42362 KB/s, 7 seconds passed -... 46%, 320800 KB, 42366 KB/s, 7 seconds passed -... 46%, 320832 KB, 42369 KB/s, 7 seconds passed -... 46%, 320864 KB, 42373 KB/s, 7 seconds passed -... 46%, 320896 KB, 42376 KB/s, 7 seconds passed -... 46%, 320928 KB, 42379 KB/s, 7 seconds passed -... 46%, 320960 KB, 42383 KB/s, 7 seconds passed -... 46%, 320992 KB, 42386 KB/s, 7 seconds passed -... 46%, 321024 KB, 42389 KB/s, 7 seconds passed -... 46%, 321056 KB, 42393 KB/s, 7 seconds passed -... 46%, 321088 KB, 42396 KB/s, 7 seconds passed -... 46%, 321120 KB, 42400 KB/s, 7 seconds passed -... 46%, 321152 KB, 42403 KB/s, 7 seconds passed -... 46%, 321184 KB, 42406 KB/s, 7 seconds passed -... 46%, 321216 KB, 42409 KB/s, 7 seconds passed -... 46%, 321248 KB, 42412 KB/s, 7 seconds passed -... 46%, 321280 KB, 42414 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 46%, 321312 KB, 42417 KB/s, 7 seconds passed -... 46%, 321344 KB, 42419 KB/s, 7 seconds passed -... 46%, 321376 KB, 42423 KB/s, 7 seconds passed -... 46%, 321408 KB, 42425 KB/s, 7 seconds passed -... 46%, 321440 KB, 42428 KB/s, 7 seconds passed -... 46%, 321472 KB, 42431 KB/s, 7 seconds passed -... 46%, 321504 KB, 42433 KB/s, 7 seconds passed -... 46%, 321536 KB, 42436 KB/s, 7 seconds passed -... 46%, 321568 KB, 42439 KB/s, 7 seconds passed -... 46%, 321600 KB, 42441 KB/s, 7 seconds passed -... 46%, 321632 KB, 42443 KB/s, 7 seconds passed -... 46%, 321664 KB, 42446 KB/s, 7 seconds passed -... 46%, 321696 KB, 42449 KB/s, 7 seconds passed -... 46%, 321728 KB, 42452 KB/s, 7 seconds passed -... 46%, 321760 KB, 42454 KB/s, 7 seconds passed -... 46%, 321792 KB, 42457 KB/s, 7 seconds passed -... 46%, 321824 KB, 42459 KB/s, 7 seconds passed -... 46%, 321856 KB, 42462 KB/s, 7 seconds passed -... 46%, 321888 KB, 42465 KB/s, 7 seconds passed -... 46%, 321920 KB, 42467 KB/s, 7 seconds passed -... 46%, 321952 KB, 42470 KB/s, 7 seconds passed -... 46%, 321984 KB, 42473 KB/s, 7 seconds passed -... 46%, 322016 KB, 42475 KB/s, 7 seconds passed -... 46%, 322048 KB, 42478 KB/s, 7 seconds passed -... 46%, 322080 KB, 42481 KB/s, 7 seconds passed -... 46%, 322112 KB, 42483 KB/s, 7 seconds passed -... 46%, 322144 KB, 42486 KB/s, 7 seconds passed -... 46%, 322176 KB, 42489 KB/s, 7 seconds passed -... 46%, 322208 KB, 42492 KB/s, 7 seconds passed -... 46%, 322240 KB, 42494 KB/s, 7 seconds passed -... 46%, 322272 KB, 42497 KB/s, 7 seconds passed -... 46%, 322304 KB, 42500 KB/s, 7 seconds passed -... 46%, 322336 KB, 42502 KB/s, 7 seconds passed -... 46%, 322368 KB, 42505 KB/s, 7 seconds passed -... 46%, 322400 KB, 42508 KB/s, 7 seconds passed -... 46%, 322432 KB, 42510 KB/s, 7 seconds passed -... 46%, 322464 KB, 42513 KB/s, 7 seconds passed -... 46%, 322496 KB, 42516 KB/s, 7 seconds passed -... 46%, 322528 KB, 42518 KB/s, 7 seconds passed -... 46%, 322560 KB, 42443 KB/s, 7 seconds passed -... 46%, 322592 KB, 42446 KB/s, 7 seconds passed -... 46%, 322624 KB, 42449 KB/s, 7 seconds passed -... 46%, 322656 KB, 42451 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 46%, 322688 KB, 42196 KB/s, 7 seconds passed -... 46%, 322720 KB, 42194 KB/s, 7 seconds passed -... 46%, 322752 KB, 42182 KB/s, 7 seconds passed -... 46%, 322784 KB, 42184 KB/s, 7 seconds passed -... 46%, 322816 KB, 42186 KB/s, 7 seconds passed -... 46%, 322848 KB, 42188 KB/s, 7 seconds passed -... 46%, 322880 KB, 42190 KB/s, 7 seconds passed -... 46%, 322912 KB, 42192 KB/s, 7 seconds passed -... 46%, 322944 KB, 42194 KB/s, 7 seconds passed -... 46%, 322976 KB, 42196 KB/s, 7 seconds passed -... 46%, 323008 KB, 42198 KB/s, 7 seconds passed -... 46%, 323040 KB, 42200 KB/s, 7 seconds passed -... 46%, 323072 KB, 42202 KB/s, 7 seconds passed -... 46%, 323104 KB, 42204 KB/s, 7 seconds passed -... 46%, 323136 KB, 42206 KB/s, 7 seconds passed -... 46%, 323168 KB, 42209 KB/s, 7 seconds passed -... 46%, 323200 KB, 42211 KB/s, 7 seconds passed -... 46%, 323232 KB, 42213 KB/s, 7 seconds passed -... 46%, 323264 KB, 42215 KB/s, 7 seconds passed -... 46%, 323296 KB, 42217 KB/s, 7 seconds passed -... 46%, 323328 KB, 42219 KB/s, 7 seconds passed -... 46%, 323360 KB, 42221 KB/s, 7 seconds passed -... 46%, 323392 KB, 42223 KB/s, 7 seconds passed -... 46%, 323424 KB, 42225 KB/s, 7 seconds passed -... 46%, 323456 KB, 42227 KB/s, 7 seconds passed -... 46%, 323488 KB, 42229 KB/s, 7 seconds passed -... 46%, 323520 KB, 42231 KB/s, 7 seconds passed -... 46%, 323552 KB, 42233 KB/s, 7 seconds passed -... 46%, 323584 KB, 42236 KB/s, 7 seconds passed -... 46%, 323616 KB, 42238 KB/s, 7 seconds passed -... 46%, 323648 KB, 42241 KB/s, 7 seconds passed -... 46%, 323680 KB, 42243 KB/s, 7 seconds passed -... 46%, 323712 KB, 42246 KB/s, 7 seconds passed -... 46%, 323744 KB, 42249 KB/s, 7 seconds passed -... 46%, 323776 KB, 42252 KB/s, 7 seconds passed -... 46%, 323808 KB, 42255 KB/s, 7 seconds passed -... 46%, 323840 KB, 42257 KB/s, 7 seconds passed -... 46%, 323872 KB, 42260 KB/s, 7 seconds passed -... 46%, 323904 KB, 42263 KB/s, 7 seconds passed -... 46%, 323936 KB, 42266 KB/s, 7 seconds passed -... 46%, 323968 KB, 42269 KB/s, 7 seconds passed -... 46%, 324000 KB, 42272 KB/s, 7 seconds passed -... 46%, 324032 KB, 42275 KB/s, 7 seconds passed -... 46%, 324064 KB, 42277 KB/s, 7 seconds passed -... 46%, 324096 KB, 42280 KB/s, 7 seconds passed -... 46%, 324128 KB, 42283 KB/s, 7 seconds passed -... 46%, 324160 KB, 42286 KB/s, 7 seconds passed -... 46%, 324192 KB, 42289 KB/s, 7 seconds passed -... 46%, 324224 KB, 42292 KB/s, 7 seconds passed -... 46%, 324256 KB, 42295 KB/s, 7 seconds passed -... 46%, 324288 KB, 42297 KB/s, 7 seconds passed -... 46%, 324320 KB, 42300 KB/s, 7 seconds passed -... 46%, 324352 KB, 42303 KB/s, 7 seconds passed -... 46%, 324384 KB, 42306 KB/s, 7 seconds passed -... 46%, 324416 KB, 42309 KB/s, 7 seconds passed -... 46%, 324448 KB, 42312 KB/s, 7 seconds passed -... 46%, 324480 KB, 42314 KB/s, 7 seconds passed -... 46%, 324512 KB, 42317 KB/s, 7 seconds passed -... 46%, 324544 KB, 42320 KB/s, 7 seconds passed -... 46%, 324576 KB, 42323 KB/s, 7 seconds passed -... 46%, 324608 KB, 42326 KB/s, 7 seconds passed -... 46%, 324640 KB, 42329 KB/s, 7 seconds passed -... 46%, 324672 KB, 42331 KB/s, 7 seconds passed -... 46%, 324704 KB, 42334 KB/s, 7 seconds passed -... 46%, 324736 KB, 42337 KB/s, 7 seconds passed -... 46%, 324768 KB, 42340 KB/s, 7 seconds passed -... 46%, 324800 KB, 42343 KB/s, 7 seconds passed -... 46%, 324832 KB, 42346 KB/s, 7 seconds passed -... 46%, 324864 KB, 42348 KB/s, 7 seconds passed -... 46%, 324896 KB, 42351 KB/s, 7 seconds passed -... 46%, 324928 KB, 42354 KB/s, 7 seconds passed -... 46%, 324960 KB, 42358 KB/s, 7 seconds passed -... 46%, 324992 KB, 42361 KB/s, 7 seconds passed -... 46%, 325024 KB, 42364 KB/s, 7 seconds passed -... 46%, 325056 KB, 42367 KB/s, 7 seconds passed -... 46%, 325088 KB, 42370 KB/s, 7 seconds passed -... 46%, 325120 KB, 42374 KB/s, 7 seconds passed -... 46%, 325152 KB, 42377 KB/s, 7 seconds passed -... 46%, 325184 KB, 42379 KB/s, 7 seconds passed -... 46%, 325216 KB, 42382 KB/s, 7 seconds passed -... 46%, 325248 KB, 42384 KB/s, 7 seconds passed -... 46%, 325280 KB, 42387 KB/s, 7 seconds passed -... 46%, 325312 KB, 42390 KB/s, 7 seconds passed -... 46%, 325344 KB, 42393 KB/s, 7 seconds passed -... 46%, 325376 KB, 42395 KB/s, 7 seconds passed -... 46%, 325408 KB, 42398 KB/s, 7 seconds passed -... 46%, 325440 KB, 42400 KB/s, 7 seconds passed -... 46%, 325472 KB, 42403 KB/s, 7 seconds passed -... 46%, 325504 KB, 42406 KB/s, 7 seconds passed -... 46%, 325536 KB, 42408 KB/s, 7 seconds passed -... 46%, 325568 KB, 42411 KB/s, 7 seconds passed -... 46%, 325600 KB, 42413 KB/s, 7 seconds passed -... 46%, 325632 KB, 42416 KB/s, 7 seconds passed -... 46%, 325664 KB, 42419 KB/s, 7 seconds passed -... 46%, 325696 KB, 42421 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 46%, 325728 KB, 42424 KB/s, 7 seconds passed -... 46%, 325760 KB, 42426 KB/s, 7 seconds passed -... 46%, 325792 KB, 42429 KB/s, 7 seconds passed -... 46%, 325824 KB, 42432 KB/s, 7 seconds passed -... 46%, 325856 KB, 42434 KB/s, 7 seconds passed -... 46%, 325888 KB, 42437 KB/s, 7 seconds passed -... 46%, 325920 KB, 42440 KB/s, 7 seconds passed -... 46%, 325952 KB, 42442 KB/s, 7 seconds passed -... 46%, 325984 KB, 42445 KB/s, 7 seconds passed -... 46%, 326016 KB, 42448 KB/s, 7 seconds passed -... 46%, 326048 KB, 42451 KB/s, 7 seconds passed -... 46%, 326080 KB, 42453 KB/s, 7 seconds passed -... 46%, 326112 KB, 42456 KB/s, 7 seconds passed -... 46%, 326144 KB, 42458 KB/s, 7 seconds passed -... 46%, 326176 KB, 42461 KB/s, 7 seconds passed -... 46%, 326208 KB, 42463 KB/s, 7 seconds passed -... 46%, 326240 KB, 42466 KB/s, 7 seconds passed -... 46%, 326272 KB, 42468 KB/s, 7 seconds passed -... 46%, 326304 KB, 42471 KB/s, 7 seconds passed -... 46%, 326336 KB, 42474 KB/s, 7 seconds passed -... 46%, 326368 KB, 42476 KB/s, 7 seconds passed -... 46%, 326400 KB, 42479 KB/s, 7 seconds passed -... 46%, 326432 KB, 42481 KB/s, 7 seconds passed -... 46%, 326464 KB, 42483 KB/s, 7 seconds passed -... 46%, 326496 KB, 42486 KB/s, 7 seconds passed -... 46%, 326528 KB, 42489 KB/s, 7 seconds passed -... 46%, 326560 KB, 42491 KB/s, 7 seconds passed -... 46%, 326592 KB, 42494 KB/s, 7 seconds passed -... 46%, 326624 KB, 42497 KB/s, 7 seconds passed -... 46%, 326656 KB, 42499 KB/s, 7 seconds passed -... 46%, 326688 KB, 42502 KB/s, 7 seconds passed -... 46%, 326720 KB, 42504 KB/s, 7 seconds passed -... 46%, 326752 KB, 42507 KB/s, 7 seconds passed -... 46%, 326784 KB, 42510 KB/s, 7 seconds passed -... 46%, 326816 KB, 42512 KB/s, 7 seconds passed -... 46%, 326848 KB, 42318 KB/s, 7 seconds passed -... 46%, 326880 KB, 42319 KB/s, 7 seconds passed -... 47%, 326912 KB, 42321 KB/s, 7 seconds passed -... 47%, 326944 KB, 42323 KB/s, 7 seconds passed -... 47%, 326976 KB, 42325 KB/s, 7 seconds passed -... 47%, 327008 KB, 42327 KB/s, 7 seconds passed -... 47%, 327040 KB, 42330 KB/s, 7 seconds passed -... 47%, 327072 KB, 42332 KB/s, 7 seconds passed -... 47%, 327104 KB, 42334 KB/s, 7 seconds passed -... 47%, 327136 KB, 42336 KB/s, 7 seconds passed -... 47%, 327168 KB, 42338 KB/s, 7 seconds passed -... 47%, 327200 KB, 42340 KB/s, 7 seconds passed -... 47%, 327232 KB, 42342 KB/s, 7 seconds passed -... 47%, 327264 KB, 42344 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 47%, 327296 KB, 42346 KB/s, 7 seconds passed -... 47%, 327328 KB, 42348 KB/s, 7 seconds passed -... 47%, 327360 KB, 42351 KB/s, 7 seconds passed -... 47%, 327392 KB, 42353 KB/s, 7 seconds passed -... 47%, 327424 KB, 42355 KB/s, 7 seconds passed -... 47%, 327456 KB, 42357 KB/s, 7 seconds passed -... 47%, 327488 KB, 42359 KB/s, 7 seconds passed -... 47%, 327520 KB, 42362 KB/s, 7 seconds passed -... 47%, 327552 KB, 42364 KB/s, 7 seconds passed -... 47%, 327584 KB, 42367 KB/s, 7 seconds passed -... 47%, 327616 KB, 42369 KB/s, 7 seconds passed -... 47%, 327648 KB, 42372 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 47%, 327680 KB, 42039 KB/s, 7 seconds passed -... 47%, 327712 KB, 42041 KB/s, 7 seconds passed -... 47%, 327744 KB, 42042 KB/s, 7 seconds passed -... 47%, 327776 KB, 42044 KB/s, 7 seconds passed -... 47%, 327808 KB, 42046 KB/s, 7 seconds passed -... 47%, 327840 KB, 42048 KB/s, 7 seconds passed -... 47%, 327872 KB, 42050 KB/s, 7 seconds passed -... 47%, 327904 KB, 42052 KB/s, 7 seconds passed -... 47%, 327936 KB, 42054 KB/s, 7 seconds passed -... 47%, 327968 KB, 42056 KB/s, 7 seconds passed -... 47%, 328000 KB, 42058 KB/s, 7 seconds passed -... 47%, 328032 KB, 42060 KB/s, 7 seconds passed -... 47%, 328064 KB, 42062 KB/s, 7 seconds passed -... 47%, 328096 KB, 42064 KB/s, 7 seconds passed -... 47%, 328128 KB, 42067 KB/s, 7 seconds passed -... 47%, 328160 KB, 42069 KB/s, 7 seconds passed -... 47%, 328192 KB, 42072 KB/s, 7 seconds passed -... 47%, 328224 KB, 42074 KB/s, 7 seconds passed -... 47%, 328256 KB, 42077 KB/s, 7 seconds passed -... 47%, 328288 KB, 42040 KB/s, 7 seconds passed -... 47%, 328320 KB, 42042 KB/s, 7 seconds passed -... 47%, 328352 KB, 42044 KB/s, 7 seconds passed -... 47%, 328384 KB, 42046 KB/s, 7 seconds passed -... 47%, 328416 KB, 42048 KB/s, 7 seconds passed -... 47%, 328448 KB, 42050 KB/s, 7 seconds passed -... 47%, 328480 KB, 42052 KB/s, 7 seconds passed -... 47%, 328512 KB, 42054 KB/s, 7 seconds passed -... 47%, 328544 KB, 42056 KB/s, 7 seconds passed -... 47%, 328576 KB, 42058 KB/s, 7 seconds passed -... 47%, 328608 KB, 42060 KB/s, 7 seconds passed -... 47%, 328640 KB, 42062 KB/s, 7 seconds passed -... 47%, 328672 KB, 42064 KB/s, 7 seconds passed -... 47%, 328704 KB, 42066 KB/s, 7 seconds passed -... 47%, 328736 KB, 42068 KB/s, 7 seconds passed -... 47%, 328768 KB, 42070 KB/s, 7 seconds passed -... 47%, 328800 KB, 42072 KB/s, 7 seconds passed -... 47%, 328832 KB, 42074 KB/s, 7 seconds passed -... 47%, 328864 KB, 42076 KB/s, 7 seconds passed -... 47%, 328896 KB, 42078 KB/s, 7 seconds passed -... 47%, 328928 KB, 42080 KB/s, 7 seconds passed -... 47%, 328960 KB, 42082 KB/s, 7 seconds passed -... 47%, 328992 KB, 42084 KB/s, 7 seconds passed -... 47%, 329024 KB, 42087 KB/s, 7 seconds passed -... 47%, 329056 KB, 42089 KB/s, 7 seconds passed -... 47%, 329088 KB, 42091 KB/s, 7 seconds passed -... 47%, 329120 KB, 42093 KB/s, 7 seconds passed -... 47%, 329152 KB, 42095 KB/s, 7 seconds passed -... 47%, 329184 KB, 42097 KB/s, 7 seconds passed -... 47%, 329216 KB, 42099 KB/s, 7 seconds passed -... 47%, 329248 KB, 42101 KB/s, 7 seconds passed -... 47%, 329280 KB, 42103 KB/s, 7 seconds passed -... 47%, 329312 KB, 42105 KB/s, 7 seconds passed -... 47%, 329344 KB, 42107 KB/s, 7 seconds passed -... 47%, 329376 KB, 42109 KB/s, 7 seconds passed -... 47%, 329408 KB, 42111 KB/s, 7 seconds passed -... 47%, 329440 KB, 42113 KB/s, 7 seconds passed -... 47%, 329472 KB, 42115 KB/s, 7 seconds passed -... 47%, 329504 KB, 42117 KB/s, 7 seconds passed -... 47%, 329536 KB, 42120 KB/s, 7 seconds passed -... 47%, 329568 KB, 42122 KB/s, 7 seconds passed -... 47%, 329600 KB, 42125 KB/s, 7 seconds passed -... 47%, 329632 KB, 42127 KB/s, 7 seconds passed -... 47%, 329664 KB, 42130 KB/s, 7 seconds passed -... 47%, 329696 KB, 42133 KB/s, 7 seconds passed -... 47%, 329728 KB, 42136 KB/s, 7 seconds passed -... 47%, 329760 KB, 42139 KB/s, 7 seconds passed -... 47%, 329792 KB, 42141 KB/s, 7 seconds passed -... 47%, 329824 KB, 42144 KB/s, 7 seconds passed -... 47%, 329856 KB, 42147 KB/s, 7 seconds passed -... 47%, 329888 KB, 42150 KB/s, 7 seconds passed -... 47%, 329920 KB, 42152 KB/s, 7 seconds passed -... 47%, 329952 KB, 42155 KB/s, 7 seconds passed -... 47%, 329984 KB, 42158 KB/s, 7 seconds passed -... 47%, 330016 KB, 42161 KB/s, 7 seconds passed -... 47%, 330048 KB, 42164 KB/s, 7 seconds passed -... 47%, 330080 KB, 42166 KB/s, 7 seconds passed -... 47%, 330112 KB, 42169 KB/s, 7 seconds passed -... 47%, 330144 KB, 42172 KB/s, 7 seconds passed -... 47%, 330176 KB, 42175 KB/s, 7 seconds passed -... 47%, 330208 KB, 42178 KB/s, 7 seconds passed -... 47%, 330240 KB, 42180 KB/s, 7 seconds passed -... 47%, 330272 KB, 42183 KB/s, 7 seconds passed -... 47%, 330304 KB, 42186 KB/s, 7 seconds passed -... 47%, 330336 KB, 42189 KB/s, 7 seconds passed -... 47%, 330368 KB, 42191 KB/s, 7 seconds passed -... 47%, 330400 KB, 42194 KB/s, 7 seconds passed -... 47%, 330432 KB, 42197 KB/s, 7 seconds passed -... 47%, 330464 KB, 42200 KB/s, 7 seconds passed -... 47%, 330496 KB, 42203 KB/s, 7 seconds passed -... 47%, 330528 KB, 42205 KB/s, 7 seconds passed -... 47%, 330560 KB, 42208 KB/s, 7 seconds passed -... 47%, 330592 KB, 42211 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 47%, 330624 KB, 42214 KB/s, 7 seconds passed -... 47%, 330656 KB, 42217 KB/s, 7 seconds passed -... 47%, 330688 KB, 42219 KB/s, 7 seconds passed -... 47%, 330720 KB, 42222 KB/s, 7 seconds passed -... 47%, 330752 KB, 42225 KB/s, 7 seconds passed -... 47%, 330784 KB, 42228 KB/s, 7 seconds passed -... 47%, 330816 KB, 42230 KB/s, 7 seconds passed -... 47%, 330848 KB, 42233 KB/s, 7 seconds passed -... 47%, 330880 KB, 42236 KB/s, 7 seconds passed -... 47%, 330912 KB, 42239 KB/s, 7 seconds passed -... 47%, 330944 KB, 42242 KB/s, 7 seconds passed -... 47%, 330976 KB, 42245 KB/s, 7 seconds passed -... 47%, 331008 KB, 42248 KB/s, 7 seconds passed -... 47%, 331040 KB, 42252 KB/s, 7 seconds passed -... 47%, 331072 KB, 42255 KB/s, 7 seconds passed -... 47%, 331104 KB, 42258 KB/s, 7 seconds passed -... 47%, 331136 KB, 42261 KB/s, 7 seconds passed -... 47%, 331168 KB, 42264 KB/s, 7 seconds passed -... 47%, 331200 KB, 42268 KB/s, 7 seconds passed -... 47%, 331232 KB, 42271 KB/s, 7 seconds passed -... 47%, 331264 KB, 42274 KB/s, 7 seconds passed -... 47%, 331296 KB, 42277 KB/s, 7 seconds passed -... 47%, 331328 KB, 42280 KB/s, 7 seconds passed -... 47%, 331360 KB, 42283 KB/s, 7 seconds passed -... 47%, 331392 KB, 42287 KB/s, 7 seconds passed -... 47%, 331424 KB, 42290 KB/s, 7 seconds passed -... 47%, 331456 KB, 42293 KB/s, 7 seconds passed -... 47%, 331488 KB, 42296 KB/s, 7 seconds passed -... 47%, 331520 KB, 42299 KB/s, 7 seconds passed -... 47%, 331552 KB, 42303 KB/s, 7 seconds passed -... 47%, 331584 KB, 42306 KB/s, 7 seconds passed -... 47%, 331616 KB, 42309 KB/s, 7 seconds passed -... 47%, 331648 KB, 42312 KB/s, 7 seconds passed -... 47%, 331680 KB, 42315 KB/s, 7 seconds passed -... 47%, 331712 KB, 42318 KB/s, 7 seconds passed -... 47%, 331744 KB, 42320 KB/s, 7 seconds passed -... 47%, 331776 KB, 42323 KB/s, 7 seconds passed -... 47%, 331808 KB, 42325 KB/s, 7 seconds passed -... 47%, 331840 KB, 42328 KB/s, 7 seconds passed -... 47%, 331872 KB, 42330 KB/s, 7 seconds passed -... 47%, 331904 KB, 42333 KB/s, 7 seconds passed -... 47%, 331936 KB, 42335 KB/s, 7 seconds passed -... 47%, 331968 KB, 42338 KB/s, 7 seconds passed -... 47%, 332000 KB, 42341 KB/s, 7 seconds passed -... 47%, 332032 KB, 42343 KB/s, 7 seconds passed -... 47%, 332064 KB, 42346 KB/s, 7 seconds passed -... 47%, 332096 KB, 42348 KB/s, 7 seconds passed -... 47%, 332128 KB, 42351 KB/s, 7 seconds passed -... 47%, 332160 KB, 42353 KB/s, 7 seconds passed -... 47%, 332192 KB, 42356 KB/s, 7 seconds passed -... 47%, 332224 KB, 42358 KB/s, 7 seconds passed -... 47%, 332256 KB, 42361 KB/s, 7 seconds passed -... 47%, 332288 KB, 42364 KB/s, 7 seconds passed -... 47%, 332320 KB, 42367 KB/s, 7 seconds passed -... 47%, 332352 KB, 42369 KB/s, 7 seconds passed -... 47%, 332384 KB, 42370 KB/s, 7 seconds passed -... 47%, 332416 KB, 42373 KB/s, 7 seconds passed -... 47%, 332448 KB, 42376 KB/s, 7 seconds passed -... 47%, 332480 KB, 42379 KB/s, 7 seconds passed -... 47%, 332512 KB, 42382 KB/s, 7 seconds passed -... 47%, 332544 KB, 42384 KB/s, 7 seconds passed -... 47%, 332576 KB, 42386 KB/s, 7 seconds passed -... 47%, 332608 KB, 42390 KB/s, 7 seconds passed -... 47%, 332640 KB, 42392 KB/s, 7 seconds passed -... 47%, 332672 KB, 42395 KB/s, 7 seconds passed -... 47%, 332704 KB, 42397 KB/s, 7 seconds passed -... 47%, 332736 KB, 42400 KB/s, 7 seconds passed -... 47%, 332768 KB, 42402 KB/s, 7 seconds passed -... 47%, 332800 KB, 42261 KB/s, 7 seconds passed -... 47%, 332832 KB, 42262 KB/s, 7 seconds passed -... 47%, 332864 KB, 42264 KB/s, 7 seconds passed -... 47%, 332896 KB, 42266 KB/s, 7 seconds passed -... 47%, 332928 KB, 42268 KB/s, 7 seconds passed -... 47%, 332960 KB, 42268 KB/s, 7 seconds passed -... 47%, 332992 KB, 42270 KB/s, 7 seconds passed -... 47%, 333024 KB, 42272 KB/s, 7 seconds passed -... 47%, 333056 KB, 42274 KB/s, 7 seconds passed -... 47%, 333088 KB, 42276 KB/s, 7 seconds passed -... 47%, 333120 KB, 42278 KB/s, 7 seconds passed -... 47%, 333152 KB, 42280 KB/s, 7 seconds passed -... 47%, 333184 KB, 42282 KB/s, 7 seconds passed -... 47%, 333216 KB, 42284 KB/s, 7 seconds passed -... 47%, 333248 KB, 42286 KB/s, 7 seconds passed -... 47%, 333280 KB, 42288 KB/s, 7 seconds passed -... 47%, 333312 KB, 42290 KB/s, 7 seconds passed -... 47%, 333344 KB, 42292 KB/s, 7 seconds passed -... 47%, 333376 KB, 42294 KB/s, 7 seconds passed -... 47%, 333408 KB, 42296 KB/s, 7 seconds passed -... 47%, 333440 KB, 42298 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 47%, 333472 KB, 42300 KB/s, 7 seconds passed -... 47%, 333504 KB, 42303 KB/s, 7 seconds passed -... 47%, 333536 KB, 42305 KB/s, 7 seconds passed -... 47%, 333568 KB, 42307 KB/s, 7 seconds passed -... 47%, 333600 KB, 42309 KB/s, 7 seconds passed -... 47%, 333632 KB, 42312 KB/s, 7 seconds passed -... 47%, 333664 KB, 42314 KB/s, 7 seconds passed -... 47%, 333696 KB, 42316 KB/s, 7 seconds passed -... 47%, 333728 KB, 42319 KB/s, 7 seconds passed -... 47%, 333760 KB, 42321 KB/s, 7 seconds passed -... 47%, 333792 KB, 42324 KB/s, 7 seconds passed -... 47%, 333824 KB, 42326 KB/s, 7 seconds passed -... 48%, 333856 KB, 42329 KB/s, 7 seconds passed -... 48%, 333888 KB, 42331 KB/s, 7 seconds passed -... 48%, 333920 KB, 42334 KB/s, 7 seconds passed -... 48%, 333952 KB, 42336 KB/s, 7 seconds passed -... 48%, 333984 KB, 42339 KB/s, 7 seconds passed -... 48%, 334016 KB, 42341 KB/s, 7 seconds passed -... 48%, 334048 KB, 42343 KB/s, 7 seconds passed -... 48%, 334080 KB, 42346 KB/s, 7 seconds passed -... 48%, 334112 KB, 42348 KB/s, 7 seconds passed -... 48%, 334144 KB, 42351 KB/s, 7 seconds passed -... 48%, 334176 KB, 42353 KB/s, 7 seconds passed -... 48%, 334208 KB, 42356 KB/s, 7 seconds passed -... 48%, 334240 KB, 42358 KB/s, 7 seconds passed -... 48%, 334272 KB, 42360 KB/s, 7 seconds passed -... 48%, 334304 KB, 42363 KB/s, 7 seconds passed -... 48%, 334336 KB, 42365 KB/s, 7 seconds passed -... 48%, 334368 KB, 42368 KB/s, 7 seconds passed -... 48%, 334400 KB, 42370 KB/s, 7 seconds passed -... 48%, 334432 KB, 42373 KB/s, 7 seconds passed -... 48%, 334464 KB, 42375 KB/s, 7 seconds passed -... 48%, 334496 KB, 42378 KB/s, 7 seconds passed -... 48%, 334528 KB, 42380 KB/s, 7 seconds passed -... 48%, 334560 KB, 42383 KB/s, 7 seconds passed -... 48%, 334592 KB, 42385 KB/s, 7 seconds passed -... 48%, 334624 KB, 42388 KB/s, 7 seconds passed -... 48%, 334656 KB, 42391 KB/s, 7 seconds passed -... 48%, 334688 KB, 42394 KB/s, 7 seconds passed -... 48%, 334720 KB, 42397 KB/s, 7 seconds passed -... 48%, 334752 KB, 42400 KB/s, 7 seconds passed -... 48%, 334784 KB, 42403 KB/s, 7 seconds passed -... 48%, 334816 KB, 42406 KB/s, 7 seconds passed -... 48%, 334848 KB, 42409 KB/s, 7 seconds passed -... 48%, 334880 KB, 42412 KB/s, 7 seconds passed -... 48%, 334912 KB, 42414 KB/s, 7 seconds passed -... 48%, 334944 KB, 42417 KB/s, 7 seconds passed -... 48%, 334976 KB, 42420 KB/s, 7 seconds passed -... 48%, 335008 KB, 42423 KB/s, 7 seconds passed -... 48%, 335040 KB, 42426 KB/s, 7 seconds passed -... 48%, 335072 KB, 42429 KB/s, 7 seconds passed -... 48%, 335104 KB, 42432 KB/s, 7 seconds passed -... 48%, 335136 KB, 42435 KB/s, 7 seconds passed -... 48%, 335168 KB, 42438 KB/s, 7 seconds passed -... 48%, 335200 KB, 42441 KB/s, 7 seconds passed -... 48%, 335232 KB, 42444 KB/s, 7 seconds passed -... 48%, 335264 KB, 42447 KB/s, 7 seconds passed -... 48%, 335296 KB, 42450 KB/s, 7 seconds passed -... 48%, 335328 KB, 42453 KB/s, 7 seconds passed -... 48%, 335360 KB, 42456 KB/s, 7 seconds passed -... 48%, 335392 KB, 42459 KB/s, 7 seconds passed -... 48%, 335424 KB, 42462 KB/s, 7 seconds passed -... 48%, 335456 KB, 42465 KB/s, 7 seconds passed -... 48%, 335488 KB, 42468 KB/s, 7 seconds passed -... 48%, 335520 KB, 42471 KB/s, 7 seconds passed -... 48%, 335552 KB, 42474 KB/s, 7 seconds passed -... 48%, 335584 KB, 42477 KB/s, 7 seconds passed -... 48%, 335616 KB, 42480 KB/s, 7 seconds passed -... 48%, 335648 KB, 42482 KB/s, 7 seconds passed -... 48%, 335680 KB, 42485 KB/s, 7 seconds passed -... 48%, 335712 KB, 42487 KB/s, 7 seconds passed -... 48%, 335744 KB, 42489 KB/s, 7 seconds passed -... 48%, 335776 KB, 42492 KB/s, 7 seconds passed -... 48%, 335808 KB, 42495 KB/s, 7 seconds passed -... 48%, 335840 KB, 42498 KB/s, 7 seconds passed -... 48%, 335872 KB, 42500 KB/s, 7 seconds passed -... 48%, 335904 KB, 42503 KB/s, 7 seconds passed -... 48%, 335936 KB, 42505 KB/s, 7 seconds passed -... 48%, 335968 KB, 42508 KB/s, 7 seconds passed -... 48%, 336000 KB, 42510 KB/s, 7 seconds passed -... 48%, 336032 KB, 42513 KB/s, 7 seconds passed -... 48%, 336064 KB, 42515 KB/s, 7 seconds passed -... 48%, 336096 KB, 42518 KB/s, 7 seconds passed -... 48%, 336128 KB, 42520 KB/s, 7 seconds passed -... 48%, 336160 KB, 42523 KB/s, 7 seconds passed -... 48%, 336192 KB, 42526 KB/s, 7 seconds passed -... 48%, 336224 KB, 42528 KB/s, 7 seconds passed -... 48%, 336256 KB, 42531 KB/s, 7 seconds passed -... 48%, 336288 KB, 42533 KB/s, 7 seconds passed -... 48%, 336320 KB, 42536 KB/s, 7 seconds passed -... 48%, 336352 KB, 42539 KB/s, 7 seconds passed -... 48%, 336384 KB, 42541 KB/s, 7 seconds passed -... 48%, 336416 KB, 42544 KB/s, 7 seconds passed -... 48%, 336448 KB, 42546 KB/s, 7 seconds passed -... 48%, 336480 KB, 42549 KB/s, 7 seconds passed -... 48%, 336512 KB, 42551 KB/s, 7 seconds passed -... 48%, 336544 KB, 42554 KB/s, 7 seconds passed -... 48%, 336576 KB, 42556 KB/s, 7 seconds passed -... 48%, 336608 KB, 42559 KB/s, 7 seconds passed -... 48%, 336640 KB, 42541 KB/s, 7 seconds passed -... 48%, 336672 KB, 42542 KB/s, 7 seconds passed -... 48%, 336704 KB, 42545 KB/s, 7 seconds passed -... 48%, 336736 KB, 42548 KB/s, 7 seconds passed -... 48%, 336768 KB, 42551 KB/s, 7 seconds passed -... 48%, 336800 KB, 42554 KB/s, 7 seconds passed -... 48%, 336832 KB, 42556 KB/s, 7 seconds passed -... 48%, 336864 KB, 42559 KB/s, 7 seconds passed -... 48%, 336896 KB, 42556 KB/s, 7 seconds passed -... 48%, 336928 KB, 42559 KB/s, 7 seconds passed -... 48%, 336960 KB, 42562 KB/s, 7 seconds passed -... 48%, 336992 KB, 42563 KB/s, 7 seconds passed -... 48%, 337024 KB, 42566 KB/s, 7 seconds passed -... 48%, 337056 KB, 42569 KB/s, 7 seconds passed -... 48%, 337088 KB, 42571 KB/s, 7 seconds passed -... 48%, 337120 KB, 42573 KB/s, 7 seconds passed -... 48%, 337152 KB, 42575 KB/s, 7 seconds passed -... 48%, 337184 KB, 42578 KB/s, 7 seconds passed -... 48%, 337216 KB, 42581 KB/s, 7 seconds passed -... 48%, 337248 KB, 42584 KB/s, 7 seconds passed -... 48%, 337280 KB, 42587 KB/s, 7 seconds passed -... 48%, 337312 KB, 42589 KB/s, 7 seconds passed -... 48%, 337344 KB, 42592 KB/s, 7 seconds passed -... 48%, 337376 KB, 42594 KB/s, 7 seconds passed -... 48%, 337408 KB, 42596 KB/s, 7 seconds passed -... 48%, 337440 KB, 42599 KB/s, 7 seconds passed -... 48%, 337472 KB, 42602 KB/s, 7 seconds passed -... 48%, 337504 KB, 42605 KB/s, 7 seconds passed -... 48%, 337536 KB, 42607 KB/s, 7 seconds passed -... 48%, 337568 KB, 42610 KB/s, 7 seconds passed -... 48%, 337600 KB, 42612 KB/s, 7 seconds passed -... 48%, 337632 KB, 42615 KB/s, 7 seconds passed -... 48%, 337664 KB, 42617 KB/s, 7 seconds passed -... 48%, 337696 KB, 42620 KB/s, 7 seconds passed -... 48%, 337728 KB, 42622 KB/s, 7 seconds passed -... 48%, 337760 KB, 42625 KB/s, 7 seconds passed -... 48%, 337792 KB, 42628 KB/s, 7 seconds passed -... 48%, 337824 KB, 42630 KB/s, 7 seconds passed -... 48%, 337856 KB, 42633 KB/s, 7 seconds passed -... 48%, 337888 KB, 42635 KB/s, 7 seconds passed - -.. parsed-literal:: - - ... 48%, 337920 KB, 42229 KB/s, 8 seconds passed -... 48%, 337952 KB, 42230 KB/s, 8 seconds passed -... 48%, 337984 KB, 42232 KB/s, 8 seconds passed -... 48%, 338016 KB, 42234 KB/s, 8 seconds passed -... 48%, 338048 KB, 42105 KB/s, 8 seconds passed -... 48%, 338080 KB, 42093 KB/s, 8 seconds passed -... 48%, 338112 KB, 42095 KB/s, 8 seconds passed -... 48%, 338144 KB, 42097 KB/s, 8 seconds passed -... 48%, 338176 KB, 42099 KB/s, 8 seconds passed -... 48%, 338208 KB, 42101 KB/s, 8 seconds passed -... 48%, 338240 KB, 42103 KB/s, 8 seconds passed -... 48%, 338272 KB, 42105 KB/s, 8 seconds passed -... 48%, 338304 KB, 42107 KB/s, 8 seconds passed -... 48%, 338336 KB, 42109 KB/s, 8 seconds passed -... 48%, 338368 KB, 42111 KB/s, 8 seconds passed -... 48%, 338400 KB, 42113 KB/s, 8 seconds passed -... 48%, 338432 KB, 42115 KB/s, 8 seconds passed -... 48%, 338464 KB, 42117 KB/s, 8 seconds passed -... 48%, 338496 KB, 42118 KB/s, 8 seconds passed -... 48%, 338528 KB, 42120 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 48%, 338560 KB, 42122 KB/s, 8 seconds passed -... 48%, 338592 KB, 42124 KB/s, 8 seconds passed -... 48%, 338624 KB, 42126 KB/s, 8 seconds passed -... 48%, 338656 KB, 42128 KB/s, 8 seconds passed -... 48%, 338688 KB, 42130 KB/s, 8 seconds passed -... 48%, 338720 KB, 42132 KB/s, 8 seconds passed -... 48%, 338752 KB, 42134 KB/s, 8 seconds passed -... 48%, 338784 KB, 42136 KB/s, 8 seconds passed -... 48%, 338816 KB, 42138 KB/s, 8 seconds passed -... 48%, 338848 KB, 42140 KB/s, 8 seconds passed -... 48%, 338880 KB, 42142 KB/s, 8 seconds passed -... 48%, 338912 KB, 42144 KB/s, 8 seconds passed -... 48%, 338944 KB, 42146 KB/s, 8 seconds passed -... 48%, 338976 KB, 42148 KB/s, 8 seconds passed -... 48%, 339008 KB, 42150 KB/s, 8 seconds passed -... 48%, 339040 KB, 42152 KB/s, 8 seconds passed -... 48%, 339072 KB, 42154 KB/s, 8 seconds passed -... 48%, 339104 KB, 42156 KB/s, 8 seconds passed -... 48%, 339136 KB, 42158 KB/s, 8 seconds passed -... 48%, 339168 KB, 42160 KB/s, 8 seconds passed -... 48%, 339200 KB, 42162 KB/s, 8 seconds passed -... 48%, 339232 KB, 42164 KB/s, 8 seconds passed -... 48%, 339264 KB, 42166 KB/s, 8 seconds passed -... 48%, 339296 KB, 42168 KB/s, 8 seconds passed -... 48%, 339328 KB, 42171 KB/s, 8 seconds passed -... 48%, 339360 KB, 42174 KB/s, 8 seconds passed -... 48%, 339392 KB, 42176 KB/s, 8 seconds passed -... 48%, 339424 KB, 42179 KB/s, 8 seconds passed -... 48%, 339456 KB, 42182 KB/s, 8 seconds passed -... 48%, 339488 KB, 42185 KB/s, 8 seconds passed -... 48%, 339520 KB, 42187 KB/s, 8 seconds passed -... 48%, 339552 KB, 42190 KB/s, 8 seconds passed -... 48%, 339584 KB, 42193 KB/s, 8 seconds passed -... 48%, 339616 KB, 42195 KB/s, 8 seconds passed -... 48%, 339648 KB, 42198 KB/s, 8 seconds passed -... 48%, 339680 KB, 42201 KB/s, 8 seconds passed -... 48%, 339712 KB, 42203 KB/s, 8 seconds passed -... 48%, 339744 KB, 42206 KB/s, 8 seconds passed -... 48%, 339776 KB, 42209 KB/s, 8 seconds passed -... 48%, 339808 KB, 42212 KB/s, 8 seconds passed -... 48%, 339840 KB, 42214 KB/s, 8 seconds passed -... 48%, 339872 KB, 42217 KB/s, 8 seconds passed -... 48%, 339904 KB, 42220 KB/s, 8 seconds passed -... 48%, 339936 KB, 42222 KB/s, 8 seconds passed -... 48%, 339968 KB, 42225 KB/s, 8 seconds passed -... 48%, 340000 KB, 42228 KB/s, 8 seconds passed -... 48%, 340032 KB, 42231 KB/s, 8 seconds passed -... 48%, 340064 KB, 42233 KB/s, 8 seconds passed -... 48%, 340096 KB, 42236 KB/s, 8 seconds passed -... 48%, 340128 KB, 42239 KB/s, 8 seconds passed -... 48%, 340160 KB, 42241 KB/s, 8 seconds passed -... 48%, 340192 KB, 42244 KB/s, 8 seconds passed -... 48%, 340224 KB, 42247 KB/s, 8 seconds passed -... 48%, 340256 KB, 42249 KB/s, 8 seconds passed -... 48%, 340288 KB, 42252 KB/s, 8 seconds passed -... 48%, 340320 KB, 42255 KB/s, 8 seconds passed -... 48%, 340352 KB, 42257 KB/s, 8 seconds passed -... 48%, 340384 KB, 42260 KB/s, 8 seconds passed -... 48%, 340416 KB, 42263 KB/s, 8 seconds passed -... 48%, 340448 KB, 42266 KB/s, 8 seconds passed -... 48%, 340480 KB, 42268 KB/s, 8 seconds passed -... 48%, 340512 KB, 42271 KB/s, 8 seconds passed -... 48%, 340544 KB, 42274 KB/s, 8 seconds passed -... 48%, 340576 KB, 42276 KB/s, 8 seconds passed -... 48%, 340608 KB, 42279 KB/s, 8 seconds passed -... 48%, 340640 KB, 42282 KB/s, 8 seconds passed -... 48%, 340672 KB, 42285 KB/s, 8 seconds passed -... 48%, 340704 KB, 42288 KB/s, 8 seconds passed -... 48%, 340736 KB, 42291 KB/s, 8 seconds passed -... 48%, 340768 KB, 42294 KB/s, 8 seconds passed -... 49%, 340800 KB, 42297 KB/s, 8 seconds passed -... 49%, 340832 KB, 42300 KB/s, 8 seconds passed -... 49%, 340864 KB, 42303 KB/s, 8 seconds passed -... 49%, 340896 KB, 42307 KB/s, 8 seconds passed -... 49%, 340928 KB, 42310 KB/s, 8 seconds passed -... 49%, 340960 KB, 42313 KB/s, 8 seconds passed -... 49%, 340992 KB, 42316 KB/s, 8 seconds passed -... 49%, 341024 KB, 42319 KB/s, 8 seconds passed -... 49%, 341056 KB, 42322 KB/s, 8 seconds passed -... 49%, 341088 KB, 42325 KB/s, 8 seconds passed -... 49%, 341120 KB, 42328 KB/s, 8 seconds passed -... 49%, 341152 KB, 42332 KB/s, 8 seconds passed -... 49%, 341184 KB, 42335 KB/s, 8 seconds passed -... 49%, 341216 KB, 42338 KB/s, 8 seconds passed -... 49%, 341248 KB, 42341 KB/s, 8 seconds passed -... 49%, 341280 KB, 42344 KB/s, 8 seconds passed -... 49%, 341312 KB, 42347 KB/s, 8 seconds passed -... 49%, 341344 KB, 42350 KB/s, 8 seconds passed -... 49%, 341376 KB, 42352 KB/s, 8 seconds passed -... 49%, 341408 KB, 42355 KB/s, 8 seconds passed -... 49%, 341440 KB, 42357 KB/s, 8 seconds passed -... 49%, 341472 KB, 42360 KB/s, 8 seconds passed -... 49%, 341504 KB, 42362 KB/s, 8 seconds passed -... 49%, 341536 KB, 42365 KB/s, 8 seconds passed -... 49%, 341568 KB, 42367 KB/s, 8 seconds passed -... 49%, 341600 KB, 42370 KB/s, 8 seconds passed -... 49%, 341632 KB, 42372 KB/s, 8 seconds passed -... 49%, 341664 KB, 42375 KB/s, 8 seconds passed -... 49%, 341696 KB, 42378 KB/s, 8 seconds passed -... 49%, 341728 KB, 42380 KB/s, 8 seconds passed -... 49%, 341760 KB, 42383 KB/s, 8 seconds passed -... 49%, 341792 KB, 42385 KB/s, 8 seconds passed -... 49%, 341824 KB, 42388 KB/s, 8 seconds passed -... 49%, 341856 KB, 42390 KB/s, 8 seconds passed -... 49%, 341888 KB, 42392 KB/s, 8 seconds passed -... 49%, 341920 KB, 42390 KB/s, 8 seconds passed -... 49%, 341952 KB, 42393 KB/s, 8 seconds passed -... 49%, 341984 KB, 42395 KB/s, 8 seconds passed -... 49%, 342016 KB, 42398 KB/s, 8 seconds passed -... 49%, 342048 KB, 42400 KB/s, 8 seconds passed -... 49%, 342080 KB, 42403 KB/s, 8 seconds passed -... 49%, 342112 KB, 42406 KB/s, 8 seconds passed -... 49%, 342144 KB, 42408 KB/s, 8 seconds passed -... 49%, 342176 KB, 42409 KB/s, 8 seconds passed -... 49%, 342208 KB, 42412 KB/s, 8 seconds passed -... 49%, 342240 KB, 42414 KB/s, 8 seconds passed -... 49%, 342272 KB, 42417 KB/s, 8 seconds passed -... 49%, 342304 KB, 42419 KB/s, 8 seconds passed -... 49%, 342336 KB, 42422 KB/s, 8 seconds passed -... 49%, 342368 KB, 42424 KB/s, 8 seconds passed -... 49%, 342400 KB, 42427 KB/s, 8 seconds passed -... 49%, 342432 KB, 42429 KB/s, 8 seconds passed -... 49%, 342464 KB, 42432 KB/s, 8 seconds passed -... 49%, 342496 KB, 42434 KB/s, 8 seconds passed -... 49%, 342528 KB, 42437 KB/s, 8 seconds passed -... 49%, 342560 KB, 42439 KB/s, 8 seconds passed -... 49%, 342592 KB, 42442 KB/s, 8 seconds passed -... 49%, 342624 KB, 42444 KB/s, 8 seconds passed -... 49%, 342656 KB, 42447 KB/s, 8 seconds passed -... 49%, 342688 KB, 42449 KB/s, 8 seconds passed -... 49%, 342720 KB, 42452 KB/s, 8 seconds passed -... 49%, 342752 KB, 42454 KB/s, 8 seconds passed -... 49%, 342784 KB, 42455 KB/s, 8 seconds passed -... 49%, 342816 KB, 42458 KB/s, 8 seconds passed -... 49%, 342848 KB, 42461 KB/s, 8 seconds passed -... 49%, 342880 KB, 42464 KB/s, 8 seconds passed -... 49%, 342912 KB, 42466 KB/s, 8 seconds passed -... 49%, 342944 KB, 42468 KB/s, 8 seconds passed -... 49%, 342976 KB, 42469 KB/s, 8 seconds passed -... 49%, 343008 KB, 42472 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 49%, 343040 KB, 42331 KB/s, 8 seconds passed -... 49%, 343072 KB, 42332 KB/s, 8 seconds passed -... 49%, 343104 KB, 42334 KB/s, 8 seconds passed -... 49%, 343136 KB, 42336 KB/s, 8 seconds passed -... 49%, 343168 KB, 42328 KB/s, 8 seconds passed -... 49%, 343200 KB, 42299 KB/s, 8 seconds passed -... 49%, 343232 KB, 42301 KB/s, 8 seconds passed -... 49%, 343264 KB, 42303 KB/s, 8 seconds passed -... 49%, 343296 KB, 42305 KB/s, 8 seconds passed -... 49%, 343328 KB, 42307 KB/s, 8 seconds passed -... 49%, 343360 KB, 42309 KB/s, 8 seconds passed -... 49%, 343392 KB, 42311 KB/s, 8 seconds passed -... 49%, 343424 KB, 42313 KB/s, 8 seconds passed -... 49%, 343456 KB, 42315 KB/s, 8 seconds passed -... 49%, 343488 KB, 42316 KB/s, 8 seconds passed -... 49%, 343520 KB, 42319 KB/s, 8 seconds passed -... 49%, 343552 KB, 42321 KB/s, 8 seconds passed -... 49%, 343584 KB, 42323 KB/s, 8 seconds passed -... 49%, 343616 KB, 42325 KB/s, 8 seconds passed -... 49%, 343648 KB, 42327 KB/s, 8 seconds passed -... 49%, 343680 KB, 42329 KB/s, 8 seconds passed -... 49%, 343712 KB, 42331 KB/s, 8 seconds passed -... 49%, 343744 KB, 42333 KB/s, 8 seconds passed -... 49%, 343776 KB, 42335 KB/s, 8 seconds passed -... 49%, 343808 KB, 42336 KB/s, 8 seconds passed -... 49%, 343840 KB, 42338 KB/s, 8 seconds passed -... 49%, 343872 KB, 42341 KB/s, 8 seconds passed -... 49%, 343904 KB, 42343 KB/s, 8 seconds passed -... 49%, 343936 KB, 42345 KB/s, 8 seconds passed -... 49%, 343968 KB, 42347 KB/s, 8 seconds passed -... 49%, 344000 KB, 42349 KB/s, 8 seconds passed -... 49%, 344032 KB, 42351 KB/s, 8 seconds passed -... 49%, 344064 KB, 42353 KB/s, 8 seconds passed -... 49%, 344096 KB, 42355 KB/s, 8 seconds passed -... 49%, 344128 KB, 42357 KB/s, 8 seconds passed -... 49%, 344160 KB, 42359 KB/s, 8 seconds passed -... 49%, 344192 KB, 42361 KB/s, 8 seconds passed -... 49%, 344224 KB, 42363 KB/s, 8 seconds passed -... 49%, 344256 KB, 42365 KB/s, 8 seconds passed -... 49%, 344288 KB, 42367 KB/s, 8 seconds passed -... 49%, 344320 KB, 42369 KB/s, 8 seconds passed -... 49%, 344352 KB, 42371 KB/s, 8 seconds passed -... 49%, 344384 KB, 42373 KB/s, 8 seconds passed -... 49%, 344416 KB, 42376 KB/s, 8 seconds passed -... 49%, 344448 KB, 42378 KB/s, 8 seconds passed -... 49%, 344480 KB, 42381 KB/s, 8 seconds passed -... 49%, 344512 KB, 42384 KB/s, 8 seconds passed -... 49%, 344544 KB, 42386 KB/s, 8 seconds passed -... 49%, 344576 KB, 42389 KB/s, 8 seconds passed -... 49%, 344608 KB, 42392 KB/s, 8 seconds passed -... 49%, 344640 KB, 42394 KB/s, 8 seconds passed -... 49%, 344672 KB, 42397 KB/s, 8 seconds passed -... 49%, 344704 KB, 42400 KB/s, 8 seconds passed -... 49%, 344736 KB, 42403 KB/s, 8 seconds passed -... 49%, 344768 KB, 42405 KB/s, 8 seconds passed -... 49%, 344800 KB, 42408 KB/s, 8 seconds passed -... 49%, 344832 KB, 42411 KB/s, 8 seconds passed -... 49%, 344864 KB, 42413 KB/s, 8 seconds passed -... 49%, 344896 KB, 42416 KB/s, 8 seconds passed -... 49%, 344928 KB, 42419 KB/s, 8 seconds passed -... 49%, 344960 KB, 42421 KB/s, 8 seconds passed -... 49%, 344992 KB, 42424 KB/s, 8 seconds passed -... 49%, 345024 KB, 42427 KB/s, 8 seconds passed -... 49%, 345056 KB, 42429 KB/s, 8 seconds passed -... 49%, 345088 KB, 42432 KB/s, 8 seconds passed -... 49%, 345120 KB, 42435 KB/s, 8 seconds passed -... 49%, 345152 KB, 42437 KB/s, 8 seconds passed -... 49%, 345184 KB, 42440 KB/s, 8 seconds passed -... 49%, 345216 KB, 42443 KB/s, 8 seconds passed -... 49%, 345248 KB, 42445 KB/s, 8 seconds passed -... 49%, 345280 KB, 42448 KB/s, 8 seconds passed -... 49%, 345312 KB, 42451 KB/s, 8 seconds passed -... 49%, 345344 KB, 42453 KB/s, 8 seconds passed -... 49%, 345376 KB, 42456 KB/s, 8 seconds passed -... 49%, 345408 KB, 42459 KB/s, 8 seconds passed -... 49%, 345440 KB, 42462 KB/s, 8 seconds passed -... 49%, 345472 KB, 42464 KB/s, 8 seconds passed -... 49%, 345504 KB, 42467 KB/s, 8 seconds passed -... 49%, 345536 KB, 42469 KB/s, 8 seconds passed -... 49%, 345568 KB, 42472 KB/s, 8 seconds passed -... 49%, 345600 KB, 42475 KB/s, 8 seconds passed -... 49%, 345632 KB, 42477 KB/s, 8 seconds passed -... 49%, 345664 KB, 42480 KB/s, 8 seconds passed -... 49%, 345696 KB, 42483 KB/s, 8 seconds passed -... 49%, 345728 KB, 42486 KB/s, 8 seconds passed -... 49%, 345760 KB, 42489 KB/s, 8 seconds passed -... 49%, 345792 KB, 42492 KB/s, 8 seconds passed -... 49%, 345824 KB, 42495 KB/s, 8 seconds passed -... 49%, 345856 KB, 42498 KB/s, 8 seconds passed -... 49%, 345888 KB, 42501 KB/s, 8 seconds passed -... 49%, 345920 KB, 42504 KB/s, 8 seconds passed -... 49%, 345952 KB, 42507 KB/s, 8 seconds passed -... 49%, 345984 KB, 42510 KB/s, 8 seconds passed -... 49%, 346016 KB, 42513 KB/s, 8 seconds passed -... 49%, 346048 KB, 42516 KB/s, 8 seconds passed -... 49%, 346080 KB, 42519 KB/s, 8 seconds passed -... 49%, 346112 KB, 42522 KB/s, 8 seconds passed -... 49%, 346144 KB, 42525 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 49%, 346176 KB, 42529 KB/s, 8 seconds passed -... 49%, 346208 KB, 42532 KB/s, 8 seconds passed -... 49%, 346240 KB, 42535 KB/s, 8 seconds passed -... 49%, 346272 KB, 42538 KB/s, 8 seconds passed -... 49%, 346304 KB, 42541 KB/s, 8 seconds passed -... 49%, 346336 KB, 42543 KB/s, 8 seconds passed -... 49%, 346368 KB, 42546 KB/s, 8 seconds passed -... 49%, 346400 KB, 42548 KB/s, 8 seconds passed -... 49%, 346432 KB, 42551 KB/s, 8 seconds passed -... 49%, 346464 KB, 42553 KB/s, 8 seconds passed -... 49%, 346496 KB, 42556 KB/s, 8 seconds passed -... 49%, 346528 KB, 42558 KB/s, 8 seconds passed -... 49%, 346560 KB, 42561 KB/s, 8 seconds passed -... 49%, 346592 KB, 42563 KB/s, 8 seconds passed -... 49%, 346624 KB, 42566 KB/s, 8 seconds passed -... 49%, 346656 KB, 42568 KB/s, 8 seconds passed -... 49%, 346688 KB, 42571 KB/s, 8 seconds passed -... 49%, 346720 KB, 42573 KB/s, 8 seconds passed -... 49%, 346752 KB, 42576 KB/s, 8 seconds passed -... 49%, 346784 KB, 42578 KB/s, 8 seconds passed -... 49%, 346816 KB, 42580 KB/s, 8 seconds passed -... 49%, 346848 KB, 42582 KB/s, 8 seconds passed -... 49%, 346880 KB, 42584 KB/s, 8 seconds passed -... 49%, 346912 KB, 42587 KB/s, 8 seconds passed -... 49%, 346944 KB, 42589 KB/s, 8 seconds passed -... 49%, 346976 KB, 42592 KB/s, 8 seconds passed -... 49%, 347008 KB, 42594 KB/s, 8 seconds passed -... 49%, 347040 KB, 42597 KB/s, 8 seconds passed -... 49%, 347072 KB, 42599 KB/s, 8 seconds passed -... 49%, 347104 KB, 42602 KB/s, 8 seconds passed -... 49%, 347136 KB, 42604 KB/s, 8 seconds passed -... 49%, 347168 KB, 42607 KB/s, 8 seconds passed -... 49%, 347200 KB, 42609 KB/s, 8 seconds passed -... 49%, 347232 KB, 42612 KB/s, 8 seconds passed -... 49%, 347264 KB, 42614 KB/s, 8 seconds passed -... 49%, 347296 KB, 42617 KB/s, 8 seconds passed -... 49%, 347328 KB, 42569 KB/s, 8 seconds passed -... 49%, 347360 KB, 42571 KB/s, 8 seconds passed -... 49%, 347392 KB, 42573 KB/s, 8 seconds passed -... 49%, 347424 KB, 42575 KB/s, 8 seconds passed -... 49%, 347456 KB, 42577 KB/s, 8 seconds passed -... 49%, 347488 KB, 42579 KB/s, 8 seconds passed -... 49%, 347520 KB, 42581 KB/s, 8 seconds passed -... 49%, 347552 KB, 42567 KB/s, 8 seconds passed -... 49%, 347584 KB, 42569 KB/s, 8 seconds passed -... 49%, 347616 KB, 42571 KB/s, 8 seconds passed -... 49%, 347648 KB, 42573 KB/s, 8 seconds passed -... 49%, 347680 KB, 42575 KB/s, 8 seconds passed -... 49%, 347712 KB, 42577 KB/s, 8 seconds passed -... 49%, 347744 KB, 42579 KB/s, 8 seconds passed -... 50%, 347776 KB, 42581 KB/s, 8 seconds passed -... 50%, 347808 KB, 42583 KB/s, 8 seconds passed -... 50%, 347840 KB, 42585 KB/s, 8 seconds passed -... 50%, 347872 KB, 42587 KB/s, 8 seconds passed -... 50%, 347904 KB, 42589 KB/s, 8 seconds passed -... 50%, 347936 KB, 42591 KB/s, 8 seconds passed -... 50%, 347968 KB, 42593 KB/s, 8 seconds passed -... 50%, 348000 KB, 42595 KB/s, 8 seconds passed -... 50%, 348032 KB, 42597 KB/s, 8 seconds passed -... 50%, 348064 KB, 42600 KB/s, 8 seconds passed -... 50%, 348096 KB, 42602 KB/s, 8 seconds passed -... 50%, 348128 KB, 42604 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 50%, 348160 KB, 42414 KB/s, 8 seconds passed -... 50%, 348192 KB, 42415 KB/s, 8 seconds passed -... 50%, 348224 KB, 42416 KB/s, 8 seconds passed -... 50%, 348256 KB, 42418 KB/s, 8 seconds passed -... 50%, 348288 KB, 42417 KB/s, 8 seconds passed -... 50%, 348320 KB, 42415 KB/s, 8 seconds passed -... 50%, 348352 KB, 42417 KB/s, 8 seconds passed -... 50%, 348384 KB, 42419 KB/s, 8 seconds passed -... 50%, 348416 KB, 42421 KB/s, 8 seconds passed -... 50%, 348448 KB, 42423 KB/s, 8 seconds passed -... 50%, 348480 KB, 42425 KB/s, 8 seconds passed -... 50%, 348512 KB, 42426 KB/s, 8 seconds passed -... 50%, 348544 KB, 42428 KB/s, 8 seconds passed -... 50%, 348576 KB, 42430 KB/s, 8 seconds passed -... 50%, 348608 KB, 42432 KB/s, 8 seconds passed -... 50%, 348640 KB, 42434 KB/s, 8 seconds passed -... 50%, 348672 KB, 42436 KB/s, 8 seconds passed -... 50%, 348704 KB, 42439 KB/s, 8 seconds passed -... 50%, 348736 KB, 42401 KB/s, 8 seconds passed -... 50%, 348768 KB, 42402 KB/s, 8 seconds passed -... 50%, 348800 KB, 42404 KB/s, 8 seconds passed -... 50%, 348832 KB, 42406 KB/s, 8 seconds passed -... 50%, 348864 KB, 42408 KB/s, 8 seconds passed -... 50%, 348896 KB, 42410 KB/s, 8 seconds passed -... 50%, 348928 KB, 42412 KB/s, 8 seconds passed -... 50%, 348960 KB, 42414 KB/s, 8 seconds passed -... 50%, 348992 KB, 42416 KB/s, 8 seconds passed -... 50%, 349024 KB, 42418 KB/s, 8 seconds passed -... 50%, 349056 KB, 42420 KB/s, 8 seconds passed -... 50%, 349088 KB, 42422 KB/s, 8 seconds passed -... 50%, 349120 KB, 42424 KB/s, 8 seconds passed -... 50%, 349152 KB, 42426 KB/s, 8 seconds passed -... 50%, 349184 KB, 42428 KB/s, 8 seconds passed -... 50%, 349216 KB, 42430 KB/s, 8 seconds passed -... 50%, 349248 KB, 42432 KB/s, 8 seconds passed -... 50%, 349280 KB, 42434 KB/s, 8 seconds passed -... 50%, 349312 KB, 42436 KB/s, 8 seconds passed -... 50%, 349344 KB, 42438 KB/s, 8 seconds passed -... 50%, 349376 KB, 42440 KB/s, 8 seconds passed -... 50%, 349408 KB, 42442 KB/s, 8 seconds passed -... 50%, 349440 KB, 42443 KB/s, 8 seconds passed -... 50%, 349472 KB, 42445 KB/s, 8 seconds passed -... 50%, 349504 KB, 42447 KB/s, 8 seconds passed -... 50%, 349536 KB, 42449 KB/s, 8 seconds passed -... 50%, 349568 KB, 42451 KB/s, 8 seconds passed -... 50%, 349600 KB, 42453 KB/s, 8 seconds passed -... 50%, 349632 KB, 42455 KB/s, 8 seconds passed -... 50%, 349664 KB, 42457 KB/s, 8 seconds passed -... 50%, 349696 KB, 42459 KB/s, 8 seconds passed -... 50%, 349728 KB, 42461 KB/s, 8 seconds passed -... 50%, 349760 KB, 42463 KB/s, 8 seconds passed -... 50%, 349792 KB, 42465 KB/s, 8 seconds passed -... 50%, 349824 KB, 42467 KB/s, 8 seconds passed -... 50%, 349856 KB, 42469 KB/s, 8 seconds passed -... 50%, 349888 KB, 42470 KB/s, 8 seconds passed -... 50%, 349920 KB, 42472 KB/s, 8 seconds passed -... 50%, 349952 KB, 42475 KB/s, 8 seconds passed -... 50%, 349984 KB, 42477 KB/s, 8 seconds passed -... 50%, 350016 KB, 42480 KB/s, 8 seconds passed -... 50%, 350048 KB, 42483 KB/s, 8 seconds passed -... 50%, 350080 KB, 42485 KB/s, 8 seconds passed -... 50%, 350112 KB, 42488 KB/s, 8 seconds passed -... 50%, 350144 KB, 42490 KB/s, 8 seconds passed -... 50%, 350176 KB, 42493 KB/s, 8 seconds passed -... 50%, 350208 KB, 42496 KB/s, 8 seconds passed -... 50%, 350240 KB, 42498 KB/s, 8 seconds passed -... 50%, 350272 KB, 42501 KB/s, 8 seconds passed -... 50%, 350304 KB, 42504 KB/s, 8 seconds passed -... 50%, 350336 KB, 42506 KB/s, 8 seconds passed -... 50%, 350368 KB, 42509 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 50%, 350400 KB, 42512 KB/s, 8 seconds passed -... 50%, 350432 KB, 42514 KB/s, 8 seconds passed -... 50%, 350464 KB, 42517 KB/s, 8 seconds passed -... 50%, 350496 KB, 42520 KB/s, 8 seconds passed -... 50%, 350528 KB, 42522 KB/s, 8 seconds passed -... 50%, 350560 KB, 42525 KB/s, 8 seconds passed -... 50%, 350592 KB, 42528 KB/s, 8 seconds passed -... 50%, 350624 KB, 42530 KB/s, 8 seconds passed -... 50%, 350656 KB, 42533 KB/s, 8 seconds passed -... 50%, 350688 KB, 42535 KB/s, 8 seconds passed -... 50%, 350720 KB, 42538 KB/s, 8 seconds passed -... 50%, 350752 KB, 42541 KB/s, 8 seconds passed -... 50%, 350784 KB, 42543 KB/s, 8 seconds passed -... 50%, 350816 KB, 42546 KB/s, 8 seconds passed -... 50%, 350848 KB, 42548 KB/s, 8 seconds passed -... 50%, 350880 KB, 42551 KB/s, 8 seconds passed -... 50%, 350912 KB, 42554 KB/s, 8 seconds passed -... 50%, 350944 KB, 42556 KB/s, 8 seconds passed -... 50%, 350976 KB, 42559 KB/s, 8 seconds passed -... 50%, 351008 KB, 42562 KB/s, 8 seconds passed -... 50%, 351040 KB, 42564 KB/s, 8 seconds passed -... 50%, 351072 KB, 42567 KB/s, 8 seconds passed -... 50%, 351104 KB, 42570 KB/s, 8 seconds passed -... 50%, 351136 KB, 42572 KB/s, 8 seconds passed -... 50%, 351168 KB, 42575 KB/s, 8 seconds passed -... 50%, 351200 KB, 42578 KB/s, 8 seconds passed -... 50%, 351232 KB, 42580 KB/s, 8 seconds passed -... 50%, 351264 KB, 42583 KB/s, 8 seconds passed -... 50%, 351296 KB, 42586 KB/s, 8 seconds passed -... 50%, 351328 KB, 42589 KB/s, 8 seconds passed -... 50%, 351360 KB, 42592 KB/s, 8 seconds passed -... 50%, 351392 KB, 42595 KB/s, 8 seconds passed -... 50%, 351424 KB, 42598 KB/s, 8 seconds passed -... 50%, 351456 KB, 42602 KB/s, 8 seconds passed -... 50%, 351488 KB, 42605 KB/s, 8 seconds passed -... 50%, 351520 KB, 42608 KB/s, 8 seconds passed -... 50%, 351552 KB, 42611 KB/s, 8 seconds passed -... 50%, 351584 KB, 42614 KB/s, 8 seconds passed -... 50%, 351616 KB, 42617 KB/s, 8 seconds passed -... 50%, 351648 KB, 42620 KB/s, 8 seconds passed -... 50%, 351680 KB, 42622 KB/s, 8 seconds passed -... 50%, 351712 KB, 42624 KB/s, 8 seconds passed -... 50%, 351744 KB, 42625 KB/s, 8 seconds passed -... 50%, 351776 KB, 42628 KB/s, 8 seconds passed -... 50%, 351808 KB, 42631 KB/s, 8 seconds passed -... 50%, 351840 KB, 42634 KB/s, 8 seconds passed -... 50%, 351872 KB, 42637 KB/s, 8 seconds passed -... 50%, 351904 KB, 42640 KB/s, 8 seconds passed -... 50%, 351936 KB, 42642 KB/s, 8 seconds passed -... 50%, 351968 KB, 42644 KB/s, 8 seconds passed -... 50%, 352000 KB, 42647 KB/s, 8 seconds passed -... 50%, 352032 KB, 42650 KB/s, 8 seconds passed -... 50%, 352064 KB, 42651 KB/s, 8 seconds passed -... 50%, 352096 KB, 42654 KB/s, 8 seconds passed -... 50%, 352128 KB, 42655 KB/s, 8 seconds passed -... 50%, 352160 KB, 42657 KB/s, 8 seconds passed -... 50%, 352192 KB, 42659 KB/s, 8 seconds passed -... 50%, 352224 KB, 42662 KB/s, 8 seconds passed -... 50%, 352256 KB, 42665 KB/s, 8 seconds passed -... 50%, 352288 KB, 42668 KB/s, 8 seconds passed -... 50%, 352320 KB, 42671 KB/s, 8 seconds passed -... 50%, 352352 KB, 42673 KB/s, 8 seconds passed -... 50%, 352384 KB, 42676 KB/s, 8 seconds passed -... 50%, 352416 KB, 42677 KB/s, 8 seconds passed -... 50%, 352448 KB, 42679 KB/s, 8 seconds passed -... 50%, 352480 KB, 42682 KB/s, 8 seconds passed -... 50%, 352512 KB, 42686 KB/s, 8 seconds passed -... 50%, 352544 KB, 42688 KB/s, 8 seconds passed -... 50%, 352576 KB, 42691 KB/s, 8 seconds passed -... 50%, 352608 KB, 42693 KB/s, 8 seconds passed -... 50%, 352640 KB, 42696 KB/s, 8 seconds passed -... 50%, 352672 KB, 42698 KB/s, 8 seconds passed -... 50%, 352704 KB, 42701 KB/s, 8 seconds passed -... 50%, 352736 KB, 42703 KB/s, 8 seconds passed -... 50%, 352768 KB, 42705 KB/s, 8 seconds passed -... 50%, 352800 KB, 42708 KB/s, 8 seconds passed -... 50%, 352832 KB, 42710 KB/s, 8 seconds passed -... 50%, 352864 KB, 42712 KB/s, 8 seconds passed -... 50%, 352896 KB, 42715 KB/s, 8 seconds passed -... 50%, 352928 KB, 42717 KB/s, 8 seconds passed -... 50%, 352960 KB, 42720 KB/s, 8 seconds passed -... 50%, 352992 KB, 42722 KB/s, 8 seconds passed -... 50%, 353024 KB, 42725 KB/s, 8 seconds passed -... 50%, 353056 KB, 42727 KB/s, 8 seconds passed -... 50%, 353088 KB, 42730 KB/s, 8 seconds passed -... 50%, 353120 KB, 42732 KB/s, 8 seconds passed -... 50%, 353152 KB, 42734 KB/s, 8 seconds passed -... 50%, 353184 KB, 42737 KB/s, 8 seconds passed -... 50%, 353216 KB, 42739 KB/s, 8 seconds passed -... 50%, 353248 KB, 42741 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 50%, 353280 KB, 42387 KB/s, 8 seconds passed -... 50%, 353312 KB, 42388 KB/s, 8 seconds passed -... 50%, 353344 KB, 42390 KB/s, 8 seconds passed -... 50%, 353376 KB, 42392 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 50%, 353408 KB, 42323 KB/s, 8 seconds passed -... 50%, 353440 KB, 42317 KB/s, 8 seconds passed -... 50%, 353472 KB, 42318 KB/s, 8 seconds passed -... 50%, 353504 KB, 42320 KB/s, 8 seconds passed -... 50%, 353536 KB, 42321 KB/s, 8 seconds passed -... 50%, 353568 KB, 42323 KB/s, 8 seconds passed -... 50%, 353600 KB, 42325 KB/s, 8 seconds passed -... 50%, 353632 KB, 42327 KB/s, 8 seconds passed -... 50%, 353664 KB, 42329 KB/s, 8 seconds passed -... 50%, 353696 KB, 42331 KB/s, 8 seconds passed -... 50%, 353728 KB, 42333 KB/s, 8 seconds passed -... 50%, 353760 KB, 42335 KB/s, 8 seconds passed -... 50%, 353792 KB, 42337 KB/s, 8 seconds passed -... 50%, 353824 KB, 42339 KB/s, 8 seconds passed -... 50%, 353856 KB, 42341 KB/s, 8 seconds passed -... 50%, 353888 KB, 42343 KB/s, 8 seconds passed -... 50%, 353920 KB, 42345 KB/s, 8 seconds passed -... 50%, 353952 KB, 42346 KB/s, 8 seconds passed -... 50%, 353984 KB, 42348 KB/s, 8 seconds passed -... 50%, 354016 KB, 42350 KB/s, 8 seconds passed -... 50%, 354048 KB, 42352 KB/s, 8 seconds passed -... 50%, 354080 KB, 42354 KB/s, 8 seconds passed -... 50%, 354112 KB, 42356 KB/s, 8 seconds passed -... 50%, 354144 KB, 42358 KB/s, 8 seconds passed -... 50%, 354176 KB, 42360 KB/s, 8 seconds passed -... 50%, 354208 KB, 42362 KB/s, 8 seconds passed -... 50%, 354240 KB, 42364 KB/s, 8 seconds passed -... 50%, 354272 KB, 42366 KB/s, 8 seconds passed -... 50%, 354304 KB, 42368 KB/s, 8 seconds passed -... 50%, 354336 KB, 42369 KB/s, 8 seconds passed -... 50%, 354368 KB, 42371 KB/s, 8 seconds passed -... 50%, 354400 KB, 42373 KB/s, 8 seconds passed -... 50%, 354432 KB, 42375 KB/s, 8 seconds passed -... 50%, 354464 KB, 42377 KB/s, 8 seconds passed -... 50%, 354496 KB, 42379 KB/s, 8 seconds passed -... 50%, 354528 KB, 42381 KB/s, 8 seconds passed -... 50%, 354560 KB, 42383 KB/s, 8 seconds passed -... 50%, 354592 KB, 42385 KB/s, 8 seconds passed -... 50%, 354624 KB, 42386 KB/s, 8 seconds passed -... 50%, 354656 KB, 42388 KB/s, 8 seconds passed -... 50%, 354688 KB, 42390 KB/s, 8 seconds passed -... 51%, 354720 KB, 42392 KB/s, 8 seconds passed -... 51%, 354752 KB, 42394 KB/s, 8 seconds passed -... 51%, 354784 KB, 42396 KB/s, 8 seconds passed -... 51%, 354816 KB, 42398 KB/s, 8 seconds passed -... 51%, 354848 KB, 42400 KB/s, 8 seconds passed -... 51%, 354880 KB, 42402 KB/s, 8 seconds passed -... 51%, 354912 KB, 42404 KB/s, 8 seconds passed -... 51%, 354944 KB, 42407 KB/s, 8 seconds passed -... 51%, 354976 KB, 42409 KB/s, 8 seconds passed -... 51%, 355008 KB, 42412 KB/s, 8 seconds passed -... 51%, 355040 KB, 42414 KB/s, 8 seconds passed -... 51%, 355072 KB, 42417 KB/s, 8 seconds passed -... 51%, 355104 KB, 42420 KB/s, 8 seconds passed -... 51%, 355136 KB, 42422 KB/s, 8 seconds passed -... 51%, 355168 KB, 42425 KB/s, 8 seconds passed -... 51%, 355200 KB, 42427 KB/s, 8 seconds passed -... 51%, 355232 KB, 42430 KB/s, 8 seconds passed -... 51%, 355264 KB, 42433 KB/s, 8 seconds passed -... 51%, 355296 KB, 42435 KB/s, 8 seconds passed -... 51%, 355328 KB, 42438 KB/s, 8 seconds passed -... 51%, 355360 KB, 42440 KB/s, 8 seconds passed -... 51%, 355392 KB, 42443 KB/s, 8 seconds passed -... 51%, 355424 KB, 42445 KB/s, 8 seconds passed -... 51%, 355456 KB, 42448 KB/s, 8 seconds passed -... 51%, 355488 KB, 42451 KB/s, 8 seconds passed -... 51%, 355520 KB, 42453 KB/s, 8 seconds passed -... 51%, 355552 KB, 42456 KB/s, 8 seconds passed -... 51%, 355584 KB, 42458 KB/s, 8 seconds passed -... 51%, 355616 KB, 42461 KB/s, 8 seconds passed -... 51%, 355648 KB, 42464 KB/s, 8 seconds passed -... 51%, 355680 KB, 42466 KB/s, 8 seconds passed -... 51%, 355712 KB, 42469 KB/s, 8 seconds passed -... 51%, 355744 KB, 42472 KB/s, 8 seconds passed -... 51%, 355776 KB, 42474 KB/s, 8 seconds passed -... 51%, 355808 KB, 42477 KB/s, 8 seconds passed -... 51%, 355840 KB, 42479 KB/s, 8 seconds passed -... 51%, 355872 KB, 42482 KB/s, 8 seconds passed -... 51%, 355904 KB, 42484 KB/s, 8 seconds passed -... 51%, 355936 KB, 42487 KB/s, 8 seconds passed -... 51%, 355968 KB, 42490 KB/s, 8 seconds passed -... 51%, 356000 KB, 42492 KB/s, 8 seconds passed -... 51%, 356032 KB, 42495 KB/s, 8 seconds passed -... 51%, 356064 KB, 42497 KB/s, 8 seconds passed -... 51%, 356096 KB, 42500 KB/s, 8 seconds passed -... 51%, 356128 KB, 42503 KB/s, 8 seconds passed -... 51%, 356160 KB, 42505 KB/s, 8 seconds passed -... 51%, 356192 KB, 42508 KB/s, 8 seconds passed -... 51%, 356224 KB, 42510 KB/s, 8 seconds passed -... 51%, 356256 KB, 42513 KB/s, 8 seconds passed -... 51%, 356288 KB, 42516 KB/s, 8 seconds passed -... 51%, 356320 KB, 42519 KB/s, 8 seconds passed -... 51%, 356352 KB, 42522 KB/s, 8 seconds passed -... 51%, 356384 KB, 42525 KB/s, 8 seconds passed -... 51%, 356416 KB, 42528 KB/s, 8 seconds passed -... 51%, 356448 KB, 42531 KB/s, 8 seconds passed -... 51%, 356480 KB, 42534 KB/s, 8 seconds passed -... 51%, 356512 KB, 42537 KB/s, 8 seconds passed -... 51%, 356544 KB, 42540 KB/s, 8 seconds passed -... 51%, 356576 KB, 42543 KB/s, 8 seconds passed -... 51%, 356608 KB, 42546 KB/s, 8 seconds passed -... 51%, 356640 KB, 42549 KB/s, 8 seconds passed -... 51%, 356672 KB, 42552 KB/s, 8 seconds passed -... 51%, 356704 KB, 42555 KB/s, 8 seconds passed -... 51%, 356736 KB, 42558 KB/s, 8 seconds passed -... 51%, 356768 KB, 42561 KB/s, 8 seconds passed -... 51%, 356800 KB, 42564 KB/s, 8 seconds passed -... 51%, 356832 KB, 42567 KB/s, 8 seconds passed -... 51%, 356864 KB, 42570 KB/s, 8 seconds passed -... 51%, 356896 KB, 42573 KB/s, 8 seconds passed -... 51%, 356928 KB, 42576 KB/s, 8 seconds passed -... 51%, 356960 KB, 42579 KB/s, 8 seconds passed -... 51%, 356992 KB, 42582 KB/s, 8 seconds passed -... 51%, 357024 KB, 42584 KB/s, 8 seconds passed -... 51%, 357056 KB, 42586 KB/s, 8 seconds passed -... 51%, 357088 KB, 42589 KB/s, 8 seconds passed -... 51%, 357120 KB, 42591 KB/s, 8 seconds passed -... 51%, 357152 KB, 42593 KB/s, 8 seconds passed -... 51%, 357184 KB, 42596 KB/s, 8 seconds passed -... 51%, 357216 KB, 42597 KB/s, 8 seconds passed -... 51%, 357248 KB, 42597 KB/s, 8 seconds passed -... 51%, 357280 KB, 42600 KB/s, 8 seconds passed -... 51%, 357312 KB, 42602 KB/s, 8 seconds passed -... 51%, 357344 KB, 42605 KB/s, 8 seconds passed -... 51%, 357376 KB, 42607 KB/s, 8 seconds passed -... 51%, 357408 KB, 42609 KB/s, 8 seconds passed -... 51%, 357440 KB, 42612 KB/s, 8 seconds passed -... 51%, 357472 KB, 42614 KB/s, 8 seconds passed -... 51%, 357504 KB, 42616 KB/s, 8 seconds passed -... 51%, 357536 KB, 42619 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 51%, 357568 KB, 42259 KB/s, 8 seconds passed -... 51%, 357600 KB, 42259 KB/s, 8 seconds passed -... 51%, 357632 KB, 42261 KB/s, 8 seconds passed -... 51%, 357664 KB, 42262 KB/s, 8 seconds passed -... 51%, 357696 KB, 42264 KB/s, 8 seconds passed -... 51%, 357728 KB, 42266 KB/s, 8 seconds passed -... 51%, 357760 KB, 42268 KB/s, 8 seconds passed -... 51%, 357792 KB, 42270 KB/s, 8 seconds passed -... 51%, 357824 KB, 42272 KB/s, 8 seconds passed -... 51%, 357856 KB, 42274 KB/s, 8 seconds passed -... 51%, 357888 KB, 42275 KB/s, 8 seconds passed -... 51%, 357920 KB, 42277 KB/s, 8 seconds passed -... 51%, 357952 KB, 42279 KB/s, 8 seconds passed -... 51%, 357984 KB, 42281 KB/s, 8 seconds passed -... 51%, 358016 KB, 42283 KB/s, 8 seconds passed -... 51%, 358048 KB, 42285 KB/s, 8 seconds passed -... 51%, 358080 KB, 42287 KB/s, 8 seconds passed -... 51%, 358112 KB, 42289 KB/s, 8 seconds passed -... 51%, 358144 KB, 42291 KB/s, 8 seconds passed -... 51%, 358176 KB, 42293 KB/s, 8 seconds passed -... 51%, 358208 KB, 42295 KB/s, 8 seconds passed -... 51%, 358240 KB, 42296 KB/s, 8 seconds passed -... 51%, 358272 KB, 42298 KB/s, 8 seconds passed -... 51%, 358304 KB, 42300 KB/s, 8 seconds passed -... 51%, 358336 KB, 42302 KB/s, 8 seconds passed -... 51%, 358368 KB, 42304 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 51%, 358400 KB, 41895 KB/s, 8 seconds passed -... 51%, 358432 KB, 41896 KB/s, 8 seconds passed -... 51%, 358464 KB, 41898 KB/s, 8 seconds passed -... 51%, 358496 KB, 41900 KB/s, 8 seconds passed -... 51%, 358528 KB, 41902 KB/s, 8 seconds passed -... 51%, 358560 KB, 41904 KB/s, 8 seconds passed -... 51%, 358592 KB, 41905 KB/s, 8 seconds passed -... 51%, 358624 KB, 41907 KB/s, 8 seconds passed -... 51%, 358656 KB, 41907 KB/s, 8 seconds passed -... 51%, 358688 KB, 41909 KB/s, 8 seconds passed -... 51%, 358720 KB, 41911 KB/s, 8 seconds passed -... 51%, 358752 KB, 41912 KB/s, 8 seconds passed -... 51%, 358784 KB, 41914 KB/s, 8 seconds passed -... 51%, 358816 KB, 41916 KB/s, 8 seconds passed -... 51%, 358848 KB, 41918 KB/s, 8 seconds passed -... 51%, 358880 KB, 41920 KB/s, 8 seconds passed -... 51%, 358912 KB, 41922 KB/s, 8 seconds passed -... 51%, 358944 KB, 41924 KB/s, 8 seconds passed -... 51%, 358976 KB, 41926 KB/s, 8 seconds passed -... 51%, 359008 KB, 41927 KB/s, 8 seconds passed -... 51%, 359040 KB, 41929 KB/s, 8 seconds passed -... 51%, 359072 KB, 41931 KB/s, 8 seconds passed -... 51%, 359104 KB, 41933 KB/s, 8 seconds passed -... 51%, 359136 KB, 41935 KB/s, 8 seconds passed -... 51%, 359168 KB, 41937 KB/s, 8 seconds passed -... 51%, 359200 KB, 41939 KB/s, 8 seconds passed -... 51%, 359232 KB, 41940 KB/s, 8 seconds passed -... 51%, 359264 KB, 41942 KB/s, 8 seconds passed -... 51%, 359296 KB, 41944 KB/s, 8 seconds passed -... 51%, 359328 KB, 41946 KB/s, 8 seconds passed -... 51%, 359360 KB, 41948 KB/s, 8 seconds passed -... 51%, 359392 KB, 41950 KB/s, 8 seconds passed -... 51%, 359424 KB, 41952 KB/s, 8 seconds passed -... 51%, 359456 KB, 41954 KB/s, 8 seconds passed -... 51%, 359488 KB, 41956 KB/s, 8 seconds passed -... 51%, 359520 KB, 41957 KB/s, 8 seconds passed -... 51%, 359552 KB, 41959 KB/s, 8 seconds passed -... 51%, 359584 KB, 41961 KB/s, 8 seconds passed -... 51%, 359616 KB, 41963 KB/s, 8 seconds passed -... 51%, 359648 KB, 41965 KB/s, 8 seconds passed -... 51%, 359680 KB, 41966 KB/s, 8 seconds passed -... 51%, 359712 KB, 41969 KB/s, 8 seconds passed -... 51%, 359744 KB, 41971 KB/s, 8 seconds passed -... 51%, 359776 KB, 41974 KB/s, 8 seconds passed -... 51%, 359808 KB, 41977 KB/s, 8 seconds passed -... 51%, 359840 KB, 41979 KB/s, 8 seconds passed -... 51%, 359872 KB, 41982 KB/s, 8 seconds passed -... 51%, 359904 KB, 41985 KB/s, 8 seconds passed -... 51%, 359936 KB, 41988 KB/s, 8 seconds passed -... 51%, 359968 KB, 41991 KB/s, 8 seconds passed -... 51%, 360000 KB, 41993 KB/s, 8 seconds passed -... 51%, 360032 KB, 41996 KB/s, 8 seconds passed -... 51%, 360064 KB, 41977 KB/s, 8 seconds passed -... 51%, 360096 KB, 41978 KB/s, 8 seconds passed -... 51%, 360128 KB, 41981 KB/s, 8 seconds passed -... 51%, 360160 KB, 41983 KB/s, 8 seconds passed -... 51%, 360192 KB, 41986 KB/s, 8 seconds passed -... 51%, 360224 KB, 41988 KB/s, 8 seconds passed -... 51%, 360256 KB, 41991 KB/s, 8 seconds passed -... 51%, 360288 KB, 41993 KB/s, 8 seconds passed -... 51%, 360320 KB, 41995 KB/s, 8 seconds passed -... 51%, 360352 KB, 41998 KB/s, 8 seconds passed -... 51%, 360384 KB, 42000 KB/s, 8 seconds passed -... 51%, 360416 KB, 42002 KB/s, 8 seconds passed -... 51%, 360448 KB, 42005 KB/s, 8 seconds passed -... 51%, 360480 KB, 42007 KB/s, 8 seconds passed -... 51%, 360512 KB, 42010 KB/s, 8 seconds passed -... 51%, 360544 KB, 42012 KB/s, 8 seconds passed -... 51%, 360576 KB, 42014 KB/s, 8 seconds passed -... 51%, 360608 KB, 42017 KB/s, 8 seconds passed -... 51%, 360640 KB, 42019 KB/s, 8 seconds passed -... 51%, 360672 KB, 42022 KB/s, 8 seconds passed -... 51%, 360704 KB, 42023 KB/s, 8 seconds passed -... 51%, 360736 KB, 42026 KB/s, 8 seconds passed -... 51%, 360768 KB, 42028 KB/s, 8 seconds passed -... 51%, 360800 KB, 42031 KB/s, 8 seconds passed -... 51%, 360832 KB, 42033 KB/s, 8 seconds passed -... 51%, 360864 KB, 42036 KB/s, 8 seconds passed -... 51%, 360896 KB, 42038 KB/s, 8 seconds passed -... 51%, 360928 KB, 42040 KB/s, 8 seconds passed -... 51%, 360960 KB, 42043 KB/s, 8 seconds passed -... 51%, 360992 KB, 42045 KB/s, 8 seconds passed -... 51%, 361024 KB, 42047 KB/s, 8 seconds passed -... 51%, 361056 KB, 42050 KB/s, 8 seconds passed -... 51%, 361088 KB, 42052 KB/s, 8 seconds passed -... 51%, 361120 KB, 42003 KB/s, 8 seconds passed -... 51%, 361152 KB, 42006 KB/s, 8 seconds passed -... 51%, 361184 KB, 42008 KB/s, 8 seconds passed -... 51%, 361216 KB, 42010 KB/s, 8 seconds passed -... 51%, 361248 KB, 42013 KB/s, 8 seconds passed -... 51%, 361280 KB, 42015 KB/s, 8 seconds passed -... 51%, 361312 KB, 42018 KB/s, 8 seconds passed -... 51%, 361344 KB, 42020 KB/s, 8 seconds passed -... 51%, 361376 KB, 42022 KB/s, 8 seconds passed -... 51%, 361408 KB, 42024 KB/s, 8 seconds passed -... 51%, 361440 KB, 42027 KB/s, 8 seconds passed -... 51%, 361472 KB, 42029 KB/s, 8 seconds passed -... 51%, 361504 KB, 42032 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 51%, 361536 KB, 42034 KB/s, 8 seconds passed -... 51%, 361568 KB, 42036 KB/s, 8 seconds passed -... 51%, 361600 KB, 42038 KB/s, 8 seconds passed -... 51%, 361632 KB, 42040 KB/s, 8 seconds passed -... 52%, 361664 KB, 42041 KB/s, 8 seconds passed -... 52%, 361696 KB, 42043 KB/s, 8 seconds passed -... 52%, 361728 KB, 42045 KB/s, 8 seconds passed -... 52%, 361760 KB, 42047 KB/s, 8 seconds passed -... 52%, 361792 KB, 42049 KB/s, 8 seconds passed -... 52%, 361824 KB, 42051 KB/s, 8 seconds passed -... 52%, 361856 KB, 42053 KB/s, 8 seconds passed -... 52%, 361888 KB, 42055 KB/s, 8 seconds passed -... 52%, 361920 KB, 42057 KB/s, 8 seconds passed -... 52%, 361952 KB, 42058 KB/s, 8 seconds passed -... 52%, 361984 KB, 42060 KB/s, 8 seconds passed -... 52%, 362016 KB, 42062 KB/s, 8 seconds passed -... 52%, 362048 KB, 42064 KB/s, 8 seconds passed -... 52%, 362080 KB, 42066 KB/s, 8 seconds passed -... 52%, 362112 KB, 42068 KB/s, 8 seconds passed -... 52%, 362144 KB, 42070 KB/s, 8 seconds passed -... 52%, 362176 KB, 42072 KB/s, 8 seconds passed -... 52%, 362208 KB, 42074 KB/s, 8 seconds passed -... 52%, 362240 KB, 42075 KB/s, 8 seconds passed -... 52%, 362272 KB, 42077 KB/s, 8 seconds passed -... 52%, 362304 KB, 42079 KB/s, 8 seconds passed -... 52%, 362336 KB, 42081 KB/s, 8 seconds passed -... 52%, 362368 KB, 42083 KB/s, 8 seconds passed -... 52%, 362400 KB, 42085 KB/s, 8 seconds passed -... 52%, 362432 KB, 42087 KB/s, 8 seconds passed -... 52%, 362464 KB, 42090 KB/s, 8 seconds passed -... 52%, 362496 KB, 42093 KB/s, 8 seconds passed -... 52%, 362528 KB, 42095 KB/s, 8 seconds passed -... 52%, 362560 KB, 42098 KB/s, 8 seconds passed -... 52%, 362592 KB, 42100 KB/s, 8 seconds passed -... 52%, 362624 KB, 42103 KB/s, 8 seconds passed -... 52%, 362656 KB, 42105 KB/s, 8 seconds passed -... 52%, 362688 KB, 42108 KB/s, 8 seconds passed -... 52%, 362720 KB, 42110 KB/s, 8 seconds passed -... 52%, 362752 KB, 42113 KB/s, 8 seconds passed -... 52%, 362784 KB, 42115 KB/s, 8 seconds passed -... 52%, 362816 KB, 42118 KB/s, 8 seconds passed -... 52%, 362848 KB, 42120 KB/s, 8 seconds passed -... 52%, 362880 KB, 42123 KB/s, 8 seconds passed -... 52%, 362912 KB, 42125 KB/s, 8 seconds passed -... 52%, 362944 KB, 42128 KB/s, 8 seconds passed -... 52%, 362976 KB, 42130 KB/s, 8 seconds passed -... 52%, 363008 KB, 42133 KB/s, 8 seconds passed -... 52%, 363040 KB, 42135 KB/s, 8 seconds passed -... 52%, 363072 KB, 42138 KB/s, 8 seconds passed -... 52%, 363104 KB, 42141 KB/s, 8 seconds passed -... 52%, 363136 KB, 42143 KB/s, 8 seconds passed -... 52%, 363168 KB, 42145 KB/s, 8 seconds passed -... 52%, 363200 KB, 42148 KB/s, 8 seconds passed -... 52%, 363232 KB, 42151 KB/s, 8 seconds passed -... 52%, 363264 KB, 42153 KB/s, 8 seconds passed -... 52%, 363296 KB, 42156 KB/s, 8 seconds passed -... 52%, 363328 KB, 42158 KB/s, 8 seconds passed -... 52%, 363360 KB, 42161 KB/s, 8 seconds passed -... 52%, 363392 KB, 42164 KB/s, 8 seconds passed -... 52%, 363424 KB, 42166 KB/s, 8 seconds passed -... 52%, 363456 KB, 42169 KB/s, 8 seconds passed -... 52%, 363488 KB, 42172 KB/s, 8 seconds passed -... 52%, 363520 KB, 42134 KB/s, 8 seconds passed -... 52%, 363552 KB, 42136 KB/s, 8 seconds passed -... 52%, 363584 KB, 42138 KB/s, 8 seconds passed -... 52%, 363616 KB, 42140 KB/s, 8 seconds passed -... 52%, 363648 KB, 42142 KB/s, 8 seconds passed -... 52%, 363680 KB, 42144 KB/s, 8 seconds passed -... 52%, 363712 KB, 42147 KB/s, 8 seconds passed -... 52%, 363744 KB, 42149 KB/s, 8 seconds passed -... 52%, 363776 KB, 42151 KB/s, 8 seconds passed -... 52%, 363808 KB, 42154 KB/s, 8 seconds passed -... 52%, 363840 KB, 42156 KB/s, 8 seconds passed -... 52%, 363872 KB, 42158 KB/s, 8 seconds passed -... 52%, 363904 KB, 42160 KB/s, 8 seconds passed -... 52%, 363936 KB, 42162 KB/s, 8 seconds passed -... 52%, 363968 KB, 42165 KB/s, 8 seconds passed -... 52%, 364000 KB, 42166 KB/s, 8 seconds passed -... 52%, 364032 KB, 42168 KB/s, 8 seconds passed -... 52%, 364064 KB, 42170 KB/s, 8 seconds passed -... 52%, 364096 KB, 42172 KB/s, 8 seconds passed -... 52%, 364128 KB, 42174 KB/s, 8 seconds passed -... 52%, 364160 KB, 42176 KB/s, 8 seconds passed -... 52%, 364192 KB, 42177 KB/s, 8 seconds passed -... 52%, 364224 KB, 42179 KB/s, 8 seconds passed -... 52%, 364256 KB, 42181 KB/s, 8 seconds passed -... 52%, 364288 KB, 42184 KB/s, 8 seconds passed -... 52%, 364320 KB, 42186 KB/s, 8 seconds passed -... 52%, 364352 KB, 42188 KB/s, 8 seconds passed -... 52%, 364384 KB, 42189 KB/s, 8 seconds passed -... 52%, 364416 KB, 42191 KB/s, 8 seconds passed -... 52%, 364448 KB, 42193 KB/s, 8 seconds passed -... 52%, 364480 KB, 42195 KB/s, 8 seconds passed -... 52%, 364512 KB, 42197 KB/s, 8 seconds passed -... 52%, 364544 KB, 42199 KB/s, 8 seconds passed -... 52%, 364576 KB, 42201 KB/s, 8 seconds passed -... 52%, 364608 KB, 42203 KB/s, 8 seconds passed -... 52%, 364640 KB, 42204 KB/s, 8 seconds passed -... 52%, 364672 KB, 42206 KB/s, 8 seconds passed -... 52%, 364704 KB, 42208 KB/s, 8 seconds passed -... 52%, 364736 KB, 42210 KB/s, 8 seconds passed -... 52%, 364768 KB, 42212 KB/s, 8 seconds passed -... 52%, 364800 KB, 42215 KB/s, 8 seconds passed -... 52%, 364832 KB, 42217 KB/s, 8 seconds passed -... 52%, 364864 KB, 42219 KB/s, 8 seconds passed -... 52%, 364896 KB, 42221 KB/s, 8 seconds passed -... 52%, 364928 KB, 42224 KB/s, 8 seconds passed -... 52%, 364960 KB, 42227 KB/s, 8 seconds passed -... 52%, 364992 KB, 42229 KB/s, 8 seconds passed -... 52%, 365024 KB, 42231 KB/s, 8 seconds passed -... 52%, 365056 KB, 42234 KB/s, 8 seconds passed -... 52%, 365088 KB, 42237 KB/s, 8 seconds passed -... 52%, 365120 KB, 42239 KB/s, 8 seconds passed -... 52%, 365152 KB, 42242 KB/s, 8 seconds passed -... 52%, 365184 KB, 42244 KB/s, 8 seconds passed -... 52%, 365216 KB, 42246 KB/s, 8 seconds passed -... 52%, 365248 KB, 42249 KB/s, 8 seconds passed -... 52%, 365280 KB, 42252 KB/s, 8 seconds passed -... 52%, 365312 KB, 42254 KB/s, 8 seconds passed -... 52%, 365344 KB, 42257 KB/s, 8 seconds passed -... 52%, 365376 KB, 42259 KB/s, 8 seconds passed -... 52%, 365408 KB, 42262 KB/s, 8 seconds passed -... 52%, 365440 KB, 42264 KB/s, 8 seconds passed -... 52%, 365472 KB, 42267 KB/s, 8 seconds passed -... 52%, 365504 KB, 42269 KB/s, 8 seconds passed -... 52%, 365536 KB, 42272 KB/s, 8 seconds passed -... 52%, 365568 KB, 42274 KB/s, 8 seconds passed -... 52%, 365600 KB, 42277 KB/s, 8 seconds passed -... 52%, 365632 KB, 42279 KB/s, 8 seconds passed -... 52%, 365664 KB, 42282 KB/s, 8 seconds passed -... 52%, 365696 KB, 42284 KB/s, 8 seconds passed -... 52%, 365728 KB, 42287 KB/s, 8 seconds passed -... 52%, 365760 KB, 42289 KB/s, 8 seconds passed -... 52%, 365792 KB, 42292 KB/s, 8 seconds passed -... 52%, 365824 KB, 42294 KB/s, 8 seconds passed -... 52%, 365856 KB, 42297 KB/s, 8 seconds passed -... 52%, 365888 KB, 42299 KB/s, 8 seconds passed -... 52%, 365920 KB, 42301 KB/s, 8 seconds passed -... 52%, 365952 KB, 42304 KB/s, 8 seconds passed -... 52%, 365984 KB, 42306 KB/s, 8 seconds passed -... 52%, 366016 KB, 42309 KB/s, 8 seconds passed -... 52%, 366048 KB, 42311 KB/s, 8 seconds passed -... 52%, 366080 KB, 42313 KB/s, 8 seconds passed -... 52%, 366112 KB, 42316 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 52%, 366144 KB, 42318 KB/s, 8 seconds passed -... 52%, 366176 KB, 42320 KB/s, 8 seconds passed -... 52%, 366208 KB, 42322 KB/s, 8 seconds passed -... 52%, 366240 KB, 42325 KB/s, 8 seconds passed -... 52%, 366272 KB, 42327 KB/s, 8 seconds passed -... 52%, 366304 KB, 42330 KB/s, 8 seconds passed -... 52%, 366336 KB, 42332 KB/s, 8 seconds passed -... 52%, 366368 KB, 42334 KB/s, 8 seconds passed -... 52%, 366400 KB, 42337 KB/s, 8 seconds passed -... 52%, 366432 KB, 42339 KB/s, 8 seconds passed -... 52%, 366464 KB, 42341 KB/s, 8 seconds passed -... 52%, 366496 KB, 42343 KB/s, 8 seconds passed -... 52%, 366528 KB, 42346 KB/s, 8 seconds passed -... 52%, 366560 KB, 42348 KB/s, 8 seconds passed -... 52%, 366592 KB, 42351 KB/s, 8 seconds passed -... 52%, 366624 KB, 42353 KB/s, 8 seconds passed -... 52%, 366656 KB, 42355 KB/s, 8 seconds passed -... 52%, 366688 KB, 42357 KB/s, 8 seconds passed -... 52%, 366720 KB, 42360 KB/s, 8 seconds passed -... 52%, 366752 KB, 42362 KB/s, 8 seconds passed -... 52%, 366784 KB, 42364 KB/s, 8 seconds passed -... 52%, 366816 KB, 42367 KB/s, 8 seconds passed -... 52%, 366848 KB, 42369 KB/s, 8 seconds passed -... 52%, 366880 KB, 42371 KB/s, 8 seconds passed -... 52%, 366912 KB, 42373 KB/s, 8 seconds passed -... 52%, 366944 KB, 42376 KB/s, 8 seconds passed -... 52%, 366976 KB, 42378 KB/s, 8 seconds passed -... 52%, 367008 KB, 42381 KB/s, 8 seconds passed -... 52%, 367040 KB, 42383 KB/s, 8 seconds passed -... 52%, 367072 KB, 42385 KB/s, 8 seconds passed -... 52%, 367104 KB, 42388 KB/s, 8 seconds passed -... 52%, 367136 KB, 42390 KB/s, 8 seconds passed -... 52%, 367168 KB, 42392 KB/s, 8 seconds passed -... 52%, 367200 KB, 42395 KB/s, 8 seconds passed -... 52%, 367232 KB, 42397 KB/s, 8 seconds passed -... 52%, 367264 KB, 42399 KB/s, 8 seconds passed -... 52%, 367296 KB, 42402 KB/s, 8 seconds passed -... 52%, 367328 KB, 42404 KB/s, 8 seconds passed -... 52%, 367360 KB, 42407 KB/s, 8 seconds passed -... 52%, 367392 KB, 42409 KB/s, 8 seconds passed -... 52%, 367424 KB, 42411 KB/s, 8 seconds passed -... 52%, 367456 KB, 42414 KB/s, 8 seconds passed -... 52%, 367488 KB, 42416 KB/s, 8 seconds passed -... 52%, 367520 KB, 42415 KB/s, 8 seconds passed -... 52%, 367552 KB, 42417 KB/s, 8 seconds passed -... 52%, 367584 KB, 42420 KB/s, 8 seconds passed -... 52%, 367616 KB, 42422 KB/s, 8 seconds passed -... 52%, 367648 KB, 42424 KB/s, 8 seconds passed -... 52%, 367680 KB, 42426 KB/s, 8 seconds passed -... 52%, 367712 KB, 42427 KB/s, 8 seconds passed -... 52%, 367744 KB, 42430 KB/s, 8 seconds passed -... 52%, 367776 KB, 42433 KB/s, 8 seconds passed -... 52%, 367808 KB, 42436 KB/s, 8 seconds passed -... 52%, 367840 KB, 42438 KB/s, 8 seconds passed -... 52%, 367872 KB, 42440 KB/s, 8 seconds passed -... 52%, 367904 KB, 42443 KB/s, 8 seconds passed -... 52%, 367936 KB, 42445 KB/s, 8 seconds passed -... 52%, 367968 KB, 42447 KB/s, 8 seconds passed -... 52%, 368000 KB, 42446 KB/s, 8 seconds passed -... 52%, 368032 KB, 42447 KB/s, 8 seconds passed -... 52%, 368064 KB, 42449 KB/s, 8 seconds passed -... 52%, 368096 KB, 42451 KB/s, 8 seconds passed -... 52%, 368128 KB, 42454 KB/s, 8 seconds passed -... 52%, 368160 KB, 42457 KB/s, 8 seconds passed -... 52%, 368192 KB, 42459 KB/s, 8 seconds passed -... 52%, 368224 KB, 42462 KB/s, 8 seconds passed -... 52%, 368256 KB, 42464 KB/s, 8 seconds passed -... 52%, 368288 KB, 42466 KB/s, 8 seconds passed -... 52%, 368320 KB, 42469 KB/s, 8 seconds passed -... 52%, 368352 KB, 42471 KB/s, 8 seconds passed -... 52%, 368384 KB, 42474 KB/s, 8 seconds passed -... 52%, 368416 KB, 42476 KB/s, 8 seconds passed -... 52%, 368448 KB, 42478 KB/s, 8 seconds passed -... 52%, 368480 KB, 42481 KB/s, 8 seconds passed -... 52%, 368512 KB, 42483 KB/s, 8 seconds passed -... 52%, 368544 KB, 42485 KB/s, 8 seconds passed -... 52%, 368576 KB, 42488 KB/s, 8 seconds passed -... 52%, 368608 KB, 42490 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 53%, 368640 KB, 42209 KB/s, 8 seconds passed -... 53%, 368672 KB, 42211 KB/s, 8 seconds passed -... 53%, 368704 KB, 42212 KB/s, 8 seconds passed -... 53%, 368736 KB, 42214 KB/s, 8 seconds passed -... 53%, 368768 KB, 42216 KB/s, 8 seconds passed -... 53%, 368800 KB, 42218 KB/s, 8 seconds passed -... 53%, 368832 KB, 42220 KB/s, 8 seconds passed -... 53%, 368864 KB, 42222 KB/s, 8 seconds passed -... 53%, 368896 KB, 42223 KB/s, 8 seconds passed -... 53%, 368928 KB, 42225 KB/s, 8 seconds passed -... 53%, 368960 KB, 42227 KB/s, 8 seconds passed -... 53%, 368992 KB, 42229 KB/s, 8 seconds passed -... 53%, 369024 KB, 42231 KB/s, 8 seconds passed -... 53%, 369056 KB, 42233 KB/s, 8 seconds passed -... 53%, 369088 KB, 42235 KB/s, 8 seconds passed -... 53%, 369120 KB, 42237 KB/s, 8 seconds passed -... 53%, 369152 KB, 42223 KB/s, 8 seconds passed -... 53%, 369184 KB, 42224 KB/s, 8 seconds passed -... 53%, 369216 KB, 42226 KB/s, 8 seconds passed -... 53%, 369248 KB, 42227 KB/s, 8 seconds passed -... 53%, 369280 KB, 42229 KB/s, 8 seconds passed -... 53%, 369312 KB, 42231 KB/s, 8 seconds passed -... 53%, 369344 KB, 42233 KB/s, 8 seconds passed -... 53%, 369376 KB, 42235 KB/s, 8 seconds passed -... 53%, 369408 KB, 42236 KB/s, 8 seconds passed -... 53%, 369440 KB, 42238 KB/s, 8 seconds passed -... 53%, 369472 KB, 42240 KB/s, 8 seconds passed -... 53%, 369504 KB, 42242 KB/s, 8 seconds passed -... 53%, 369536 KB, 42244 KB/s, 8 seconds passed -... 53%, 369568 KB, 42246 KB/s, 8 seconds passed -... 53%, 369600 KB, 42248 KB/s, 8 seconds passed -... 53%, 369632 KB, 42249 KB/s, 8 seconds passed -... 53%, 369664 KB, 42251 KB/s, 8 seconds passed -... 53%, 369696 KB, 42253 KB/s, 8 seconds passed -... 53%, 369728 KB, 42255 KB/s, 8 seconds passed -... 53%, 369760 KB, 42257 KB/s, 8 seconds passed -... 53%, 369792 KB, 42259 KB/s, 8 seconds passed -... 53%, 369824 KB, 42261 KB/s, 8 seconds passed -... 53%, 369856 KB, 42263 KB/s, 8 seconds passed -... 53%, 369888 KB, 42264 KB/s, 8 seconds passed -... 53%, 369920 KB, 42266 KB/s, 8 seconds passed -... 53%, 369952 KB, 42268 KB/s, 8 seconds passed -... 53%, 369984 KB, 42270 KB/s, 8 seconds passed -... 53%, 370016 KB, 42272 KB/s, 8 seconds passed -... 53%, 370048 KB, 42274 KB/s, 8 seconds passed -... 53%, 370080 KB, 42276 KB/s, 8 seconds passed -... 53%, 370112 KB, 42279 KB/s, 8 seconds passed -... 53%, 370144 KB, 42281 KB/s, 8 seconds passed -... 53%, 370176 KB, 42283 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 53%, 370208 KB, 42286 KB/s, 8 seconds passed -... 53%, 370240 KB, 42288 KB/s, 8 seconds passed -... 53%, 370272 KB, 42291 KB/s, 8 seconds passed -... 53%, 370304 KB, 42293 KB/s, 8 seconds passed -... 53%, 370336 KB, 42295 KB/s, 8 seconds passed -... 53%, 370368 KB, 42297 KB/s, 8 seconds passed -... 53%, 370400 KB, 42300 KB/s, 8 seconds passed -... 53%, 370432 KB, 42302 KB/s, 8 seconds passed -... 53%, 370464 KB, 42304 KB/s, 8 seconds passed -... 53%, 370496 KB, 42307 KB/s, 8 seconds passed -... 53%, 370528 KB, 42309 KB/s, 8 seconds passed -... 53%, 370560 KB, 42311 KB/s, 8 seconds passed -... 53%, 370592 KB, 42314 KB/s, 8 seconds passed -... 53%, 370624 KB, 42316 KB/s, 8 seconds passed -... 53%, 370656 KB, 42318 KB/s, 8 seconds passed -... 53%, 370688 KB, 42321 KB/s, 8 seconds passed -... 53%, 370720 KB, 42323 KB/s, 8 seconds passed -... 53%, 370752 KB, 42325 KB/s, 8 seconds passed -... 53%, 370784 KB, 42328 KB/s, 8 seconds passed -... 53%, 370816 KB, 42330 KB/s, 8 seconds passed -... 53%, 370848 KB, 42332 KB/s, 8 seconds passed -... 53%, 370880 KB, 42335 KB/s, 8 seconds passed -... 53%, 370912 KB, 42337 KB/s, 8 seconds passed -... 53%, 370944 KB, 42339 KB/s, 8 seconds passed -... 53%, 370976 KB, 42342 KB/s, 8 seconds passed -... 53%, 371008 KB, 42344 KB/s, 8 seconds passed -... 53%, 371040 KB, 42346 KB/s, 8 seconds passed -... 53%, 371072 KB, 42348 KB/s, 8 seconds passed -... 53%, 371104 KB, 42351 KB/s, 8 seconds passed -... 53%, 371136 KB, 42353 KB/s, 8 seconds passed -... 53%, 371168 KB, 42356 KB/s, 8 seconds passed -... 53%, 371200 KB, 42358 KB/s, 8 seconds passed -... 53%, 371232 KB, 42361 KB/s, 8 seconds passed -... 53%, 371264 KB, 42364 KB/s, 8 seconds passed -... 53%, 371296 KB, 42367 KB/s, 8 seconds passed -... 53%, 371328 KB, 42370 KB/s, 8 seconds passed -... 53%, 371360 KB, 42372 KB/s, 8 seconds passed -... 53%, 371392 KB, 42375 KB/s, 8 seconds passed -... 53%, 371424 KB, 42378 KB/s, 8 seconds passed -... 53%, 371456 KB, 42380 KB/s, 8 seconds passed -... 53%, 371488 KB, 42383 KB/s, 8 seconds passed -... 53%, 371520 KB, 42386 KB/s, 8 seconds passed -... 53%, 371552 KB, 42389 KB/s, 8 seconds passed -... 53%, 371584 KB, 42391 KB/s, 8 seconds passed -... 53%, 371616 KB, 42394 KB/s, 8 seconds passed -... 53%, 371648 KB, 42397 KB/s, 8 seconds passed -... 53%, 371680 KB, 42400 KB/s, 8 seconds passed -... 53%, 371712 KB, 42402 KB/s, 8 seconds passed -... 53%, 371744 KB, 42405 KB/s, 8 seconds passed -... 53%, 371776 KB, 42408 KB/s, 8 seconds passed -... 53%, 371808 KB, 42411 KB/s, 8 seconds passed -... 53%, 371840 KB, 42414 KB/s, 8 seconds passed -... 53%, 371872 KB, 42416 KB/s, 8 seconds passed -... 53%, 371904 KB, 42419 KB/s, 8 seconds passed -... 53%, 371936 KB, 42422 KB/s, 8 seconds passed -... 53%, 371968 KB, 42425 KB/s, 8 seconds passed -... 53%, 372000 KB, 42427 KB/s, 8 seconds passed -... 53%, 372032 KB, 42430 KB/s, 8 seconds passed -... 53%, 372064 KB, 42433 KB/s, 8 seconds passed -... 53%, 372096 KB, 42435 KB/s, 8 seconds passed -... 53%, 372128 KB, 42437 KB/s, 8 seconds passed -... 53%, 372160 KB, 42439 KB/s, 8 seconds passed -... 53%, 372192 KB, 42442 KB/s, 8 seconds passed -... 53%, 372224 KB, 42444 KB/s, 8 seconds passed -... 53%, 372256 KB, 42446 KB/s, 8 seconds passed -... 53%, 372288 KB, 42449 KB/s, 8 seconds passed -... 53%, 372320 KB, 42451 KB/s, 8 seconds passed -... 53%, 372352 KB, 42453 KB/s, 8 seconds passed -... 53%, 372384 KB, 42454 KB/s, 8 seconds passed -... 53%, 372416 KB, 42456 KB/s, 8 seconds passed -... 53%, 372448 KB, 42458 KB/s, 8 seconds passed -... 53%, 372480 KB, 42461 KB/s, 8 seconds passed -... 53%, 372512 KB, 42464 KB/s, 8 seconds passed -... 53%, 372544 KB, 42467 KB/s, 8 seconds passed -... 53%, 372576 KB, 42469 KB/s, 8 seconds passed -... 53%, 372608 KB, 42472 KB/s, 8 seconds passed -... 53%, 372640 KB, 42474 KB/s, 8 seconds passed -... 53%, 372672 KB, 42476 KB/s, 8 seconds passed -... 53%, 372704 KB, 42479 KB/s, 8 seconds passed -... 53%, 372736 KB, 42481 KB/s, 8 seconds passed -... 53%, 372768 KB, 42482 KB/s, 8 seconds passed -... 53%, 372800 KB, 42484 KB/s, 8 seconds passed -... 53%, 372832 KB, 42487 KB/s, 8 seconds passed -... 53%, 372864 KB, 42490 KB/s, 8 seconds passed -... 53%, 372896 KB, 42493 KB/s, 8 seconds passed -... 53%, 372928 KB, 42495 KB/s, 8 seconds passed -... 53%, 372960 KB, 42497 KB/s, 8 seconds passed -... 53%, 372992 KB, 42499 KB/s, 8 seconds passed -... 53%, 373024 KB, 42502 KB/s, 8 seconds passed -... 53%, 373056 KB, 42504 KB/s, 8 seconds passed -... 53%, 373088 KB, 42506 KB/s, 8 seconds passed -... 53%, 373120 KB, 42509 KB/s, 8 seconds passed -... 53%, 373152 KB, 42511 KB/s, 8 seconds passed -... 53%, 373184 KB, 42513 KB/s, 8 seconds passed -... 53%, 373216 KB, 42515 KB/s, 8 seconds passed -... 53%, 373248 KB, 42518 KB/s, 8 seconds passed -... 53%, 373280 KB, 42520 KB/s, 8 seconds passed -... 53%, 373312 KB, 42522 KB/s, 8 seconds passed -... 53%, 373344 KB, 42525 KB/s, 8 seconds passed -... 53%, 373376 KB, 42527 KB/s, 8 seconds passed -... 53%, 373408 KB, 42529 KB/s, 8 seconds passed -... 53%, 373440 KB, 42532 KB/s, 8 seconds passed -... 53%, 373472 KB, 42534 KB/s, 8 seconds passed -... 53%, 373504 KB, 42536 KB/s, 8 seconds passed -... 53%, 373536 KB, 42538 KB/s, 8 seconds passed -... 53%, 373568 KB, 42540 KB/s, 8 seconds passed -... 53%, 373600 KB, 42542 KB/s, 8 seconds passed -... 53%, 373632 KB, 42545 KB/s, 8 seconds passed -... 53%, 373664 KB, 42548 KB/s, 8 seconds passed -... 53%, 373696 KB, 42550 KB/s, 8 seconds passed -... 53%, 373728 KB, 42552 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 53%, 373760 KB, 42048 KB/s, 8 seconds passed -... 53%, 373792 KB, 42049 KB/s, 8 seconds passed -... 53%, 373824 KB, 42051 KB/s, 8 seconds passed -... 53%, 373856 KB, 42050 KB/s, 8 seconds passed -... 53%, 373888 KB, 42051 KB/s, 8 seconds passed -... 53%, 373920 KB, 42053 KB/s, 8 seconds passed -... 53%, 373952 KB, 42055 KB/s, 8 seconds passed -... 53%, 373984 KB, 42057 KB/s, 8 seconds passed -... 53%, 374016 KB, 42058 KB/s, 8 seconds passed -... 53%, 374048 KB, 42060 KB/s, 8 seconds passed -... 53%, 374080 KB, 42062 KB/s, 8 seconds passed -... 53%, 374112 KB, 42064 KB/s, 8 seconds passed -... 53%, 374144 KB, 42066 KB/s, 8 seconds passed -... 53%, 374176 KB, 42067 KB/s, 8 seconds passed -... 53%, 374208 KB, 42069 KB/s, 8 seconds passed -... 53%, 374240 KB, 42071 KB/s, 8 seconds passed -... 53%, 374272 KB, 42073 KB/s, 8 seconds passed -... 53%, 374304 KB, 42075 KB/s, 8 seconds passed -... 53%, 374336 KB, 42076 KB/s, 8 seconds passed -... 53%, 374368 KB, 42078 KB/s, 8 seconds passed -... 53%, 374400 KB, 42080 KB/s, 8 seconds passed -... 53%, 374432 KB, 42082 KB/s, 8 seconds passed -... 53%, 374464 KB, 42084 KB/s, 8 seconds passed -... 53%, 374496 KB, 42085 KB/s, 8 seconds passed -... 53%, 374528 KB, 42087 KB/s, 8 seconds passed -... 53%, 374560 KB, 42089 KB/s, 8 seconds passed -... 53%, 374592 KB, 42091 KB/s, 8 seconds passed -... 53%, 374624 KB, 42093 KB/s, 8 seconds passed -... 53%, 374656 KB, 42094 KB/s, 8 seconds passed -... 53%, 374688 KB, 42096 KB/s, 8 seconds passed -... 53%, 374720 KB, 42098 KB/s, 8 seconds passed -... 53%, 374752 KB, 42100 KB/s, 8 seconds passed -... 53%, 374784 KB, 42101 KB/s, 8 seconds passed -... 53%, 374816 KB, 42103 KB/s, 8 seconds passed -... 53%, 374848 KB, 42105 KB/s, 8 seconds passed -... 53%, 374880 KB, 42107 KB/s, 8 seconds passed -... 53%, 374912 KB, 42109 KB/s, 8 seconds passed -... 53%, 374944 KB, 42111 KB/s, 8 seconds passed -... 53%, 374976 KB, 42112 KB/s, 8 seconds passed -... 53%, 375008 KB, 42114 KB/s, 8 seconds passed -... 53%, 375040 KB, 42116 KB/s, 8 seconds passed -... 53%, 375072 KB, 42119 KB/s, 8 seconds passed -... 53%, 375104 KB, 42121 KB/s, 8 seconds passed -... 53%, 375136 KB, 42124 KB/s, 8 seconds passed -... 53%, 375168 KB, 42126 KB/s, 8 seconds passed -... 53%, 375200 KB, 42129 KB/s, 8 seconds passed -... 53%, 375232 KB, 42131 KB/s, 8 seconds passed -... 53%, 375264 KB, 42133 KB/s, 8 seconds passed -... 53%, 375296 KB, 42136 KB/s, 8 seconds passed -... 53%, 375328 KB, 42138 KB/s, 8 seconds passed -... 53%, 375360 KB, 42141 KB/s, 8 seconds passed -... 53%, 375392 KB, 42143 KB/s, 8 seconds passed -... 53%, 375424 KB, 42146 KB/s, 8 seconds passed -... 53%, 375456 KB, 42148 KB/s, 8 seconds passed -... 53%, 375488 KB, 42150 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 53%, 375520 KB, 42153 KB/s, 8 seconds passed -... 53%, 375552 KB, 42155 KB/s, 8 seconds passed -... 54%, 375584 KB, 42158 KB/s, 8 seconds passed -... 54%, 375616 KB, 42160 KB/s, 8 seconds passed -... 54%, 375648 KB, 42163 KB/s, 8 seconds passed -... 54%, 375680 KB, 42165 KB/s, 8 seconds passed -... 54%, 375712 KB, 42167 KB/s, 8 seconds passed -... 54%, 375744 KB, 42170 KB/s, 8 seconds passed -... 54%, 375776 KB, 42172 KB/s, 8 seconds passed -... 54%, 375808 KB, 42175 KB/s, 8 seconds passed -... 54%, 375840 KB, 42177 KB/s, 8 seconds passed -... 54%, 375872 KB, 42180 KB/s, 8 seconds passed -... 54%, 375904 KB, 42182 KB/s, 8 seconds passed -... 54%, 375936 KB, 42185 KB/s, 8 seconds passed -... 54%, 375968 KB, 42187 KB/s, 8 seconds passed -... 54%, 376000 KB, 42190 KB/s, 8 seconds passed -... 54%, 376032 KB, 42192 KB/s, 8 seconds passed -... 54%, 376064 KB, 42194 KB/s, 8 seconds passed -... 54%, 376096 KB, 42197 KB/s, 8 seconds passed -... 54%, 376128 KB, 42199 KB/s, 8 seconds passed -... 54%, 376160 KB, 42202 KB/s, 8 seconds passed -... 54%, 376192 KB, 42204 KB/s, 8 seconds passed -... 54%, 376224 KB, 42207 KB/s, 8 seconds passed -... 54%, 376256 KB, 42209 KB/s, 8 seconds passed -... 54%, 376288 KB, 42211 KB/s, 8 seconds passed -... 54%, 376320 KB, 42214 KB/s, 8 seconds passed -... 54%, 376352 KB, 42217 KB/s, 8 seconds passed -... 54%, 376384 KB, 42219 KB/s, 8 seconds passed -... 54%, 376416 KB, 42222 KB/s, 8 seconds passed -... 54%, 376448 KB, 42225 KB/s, 8 seconds passed -... 54%, 376480 KB, 42228 KB/s, 8 seconds passed -... 54%, 376512 KB, 42231 KB/s, 8 seconds passed -... 54%, 376544 KB, 42233 KB/s, 8 seconds passed -... 54%, 376576 KB, 42236 KB/s, 8 seconds passed -... 54%, 376608 KB, 42239 KB/s, 8 seconds passed -... 54%, 376640 KB, 42242 KB/s, 8 seconds passed -... 54%, 376672 KB, 42245 KB/s, 8 seconds passed -... 54%, 376704 KB, 42248 KB/s, 8 seconds passed -... 54%, 376736 KB, 42250 KB/s, 8 seconds passed -... 54%, 376768 KB, 42253 KB/s, 8 seconds passed -... 54%, 376800 KB, 42255 KB/s, 8 seconds passed -... 54%, 376832 KB, 42258 KB/s, 8 seconds passed -... 54%, 376864 KB, 42260 KB/s, 8 seconds passed -... 54%, 376896 KB, 42261 KB/s, 8 seconds passed -... 54%, 376928 KB, 42263 KB/s, 8 seconds passed -... 54%, 376960 KB, 42265 KB/s, 8 seconds passed -... 54%, 376992 KB, 42268 KB/s, 8 seconds passed -... 54%, 377024 KB, 42271 KB/s, 8 seconds passed -... 54%, 377056 KB, 42211 KB/s, 8 seconds passed -... 54%, 377088 KB, 42199 KB/s, 8 seconds passed -... 54%, 377120 KB, 42200 KB/s, 8 seconds passed -... 54%, 377152 KB, 42202 KB/s, 8 seconds passed -... 54%, 377184 KB, 42204 KB/s, 8 seconds passed -... 54%, 377216 KB, 42206 KB/s, 8 seconds passed -... 54%, 377248 KB, 42207 KB/s, 8 seconds passed -... 54%, 377280 KB, 42209 KB/s, 8 seconds passed -... 54%, 377312 KB, 42211 KB/s, 8 seconds passed -... 54%, 377344 KB, 42213 KB/s, 8 seconds passed -... 54%, 377376 KB, 42215 KB/s, 8 seconds passed -... 54%, 377408 KB, 42217 KB/s, 8 seconds passed -... 54%, 377440 KB, 42218 KB/s, 8 seconds passed -... 54%, 377472 KB, 42220 KB/s, 8 seconds passed -... 54%, 377504 KB, 42222 KB/s, 8 seconds passed -... 54%, 377536 KB, 42224 KB/s, 8 seconds passed -... 54%, 377568 KB, 42226 KB/s, 8 seconds passed -... 54%, 377600 KB, 42227 KB/s, 8 seconds passed -... 54%, 377632 KB, 42229 KB/s, 8 seconds passed -... 54%, 377664 KB, 42231 KB/s, 8 seconds passed -... 54%, 377696 KB, 42233 KB/s, 8 seconds passed -... 54%, 377728 KB, 42234 KB/s, 8 seconds passed -... 54%, 377760 KB, 42236 KB/s, 8 seconds passed -... 54%, 377792 KB, 42238 KB/s, 8 seconds passed -... 54%, 377824 KB, 42240 KB/s, 8 seconds passed -... 54%, 377856 KB, 42242 KB/s, 8 seconds passed -... 54%, 377888 KB, 42243 KB/s, 8 seconds passed -... 54%, 377920 KB, 42245 KB/s, 8 seconds passed -... 54%, 377952 KB, 42248 KB/s, 8 seconds passed -... 54%, 377984 KB, 42250 KB/s, 8 seconds passed -... 54%, 378016 KB, 42252 KB/s, 8 seconds passed -... 54%, 378048 KB, 42254 KB/s, 8 seconds passed -... 54%, 378080 KB, 42257 KB/s, 8 seconds passed -... 54%, 378112 KB, 42259 KB/s, 8 seconds passed -... 54%, 378144 KB, 42261 KB/s, 8 seconds passed -... 54%, 378176 KB, 42264 KB/s, 8 seconds passed -... 54%, 378208 KB, 42266 KB/s, 8 seconds passed -... 54%, 378240 KB, 42269 KB/s, 8 seconds passed -... 54%, 378272 KB, 42271 KB/s, 8 seconds passed -... 54%, 378304 KB, 42274 KB/s, 8 seconds passed -... 54%, 378336 KB, 42276 KB/s, 8 seconds passed -... 54%, 378368 KB, 42279 KB/s, 8 seconds passed -... 54%, 378400 KB, 42281 KB/s, 8 seconds passed -... 54%, 378432 KB, 42272 KB/s, 8 seconds passed -... 54%, 378464 KB, 42274 KB/s, 8 seconds passed -... 54%, 378496 KB, 42271 KB/s, 8 seconds passed -... 54%, 378528 KB, 42273 KB/s, 8 seconds passed -... 54%, 378560 KB, 42275 KB/s, 8 seconds passed -... 54%, 378592 KB, 42277 KB/s, 8 seconds passed -... 54%, 378624 KB, 42280 KB/s, 8 seconds passed -... 54%, 378656 KB, 42282 KB/s, 8 seconds passed -... 54%, 378688 KB, 42284 KB/s, 8 seconds passed -... 54%, 378720 KB, 42286 KB/s, 8 seconds passed -... 54%, 378752 KB, 42288 KB/s, 8 seconds passed -... 54%, 378784 KB, 42291 KB/s, 8 seconds passed -... 54%, 378816 KB, 42293 KB/s, 8 seconds passed -... 54%, 378848 KB, 42295 KB/s, 8 seconds passed - -.. parsed-literal:: - - ... 54%, 378880 KB, 42058 KB/s, 9 seconds passed -... 54%, 378912 KB, 42059 KB/s, 9 seconds passed -... 54%, 378944 KB, 42061 KB/s, 9 seconds passed -... 54%, 378976 KB, 42063 KB/s, 9 seconds passed -... 54%, 379008 KB, 42061 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 54%, 379040 KB, 42063 KB/s, 9 seconds passed -... 54%, 379072 KB, 42064 KB/s, 9 seconds passed -... 54%, 379104 KB, 42066 KB/s, 9 seconds passed -... 54%, 379136 KB, 42068 KB/s, 9 seconds passed -... 54%, 379168 KB, 42070 KB/s, 9 seconds passed -... 54%, 379200 KB, 42071 KB/s, 9 seconds passed -... 54%, 379232 KB, 42073 KB/s, 9 seconds passed -... 54%, 379264 KB, 42075 KB/s, 9 seconds passed -... 54%, 379296 KB, 42077 KB/s, 9 seconds passed -... 54%, 379328 KB, 42079 KB/s, 9 seconds passed -... 54%, 379360 KB, 42080 KB/s, 9 seconds passed -... 54%, 379392 KB, 42082 KB/s, 9 seconds passed -... 54%, 379424 KB, 42084 KB/s, 9 seconds passed -... 54%, 379456 KB, 42086 KB/s, 9 seconds passed -... 54%, 379488 KB, 42087 KB/s, 9 seconds passed -... 54%, 379520 KB, 42089 KB/s, 9 seconds passed -... 54%, 379552 KB, 42091 KB/s, 9 seconds passed -... 54%, 379584 KB, 42093 KB/s, 9 seconds passed -... 54%, 379616 KB, 42094 KB/s, 9 seconds passed -... 54%, 379648 KB, 42096 KB/s, 9 seconds passed -... 54%, 379680 KB, 42098 KB/s, 9 seconds passed -... 54%, 379712 KB, 42100 KB/s, 9 seconds passed -... 54%, 379744 KB, 42101 KB/s, 9 seconds passed -... 54%, 379776 KB, 42103 KB/s, 9 seconds passed -... 54%, 379808 KB, 42105 KB/s, 9 seconds passed -... 54%, 379840 KB, 42107 KB/s, 9 seconds passed -... 54%, 379872 KB, 42108 KB/s, 9 seconds passed -... 54%, 379904 KB, 42110 KB/s, 9 seconds passed -... 54%, 379936 KB, 42112 KB/s, 9 seconds passed -... 54%, 379968 KB, 42114 KB/s, 9 seconds passed -... 54%, 380000 KB, 42115 KB/s, 9 seconds passed -... 54%, 380032 KB, 42117 KB/s, 9 seconds passed -... 54%, 380064 KB, 42119 KB/s, 9 seconds passed -... 54%, 380096 KB, 42121 KB/s, 9 seconds passed -... 54%, 380128 KB, 42123 KB/s, 9 seconds passed -... 54%, 380160 KB, 42125 KB/s, 9 seconds passed -... 54%, 380192 KB, 42127 KB/s, 9 seconds passed -... 54%, 380224 KB, 42129 KB/s, 9 seconds passed -... 54%, 380256 KB, 42131 KB/s, 9 seconds passed -... 54%, 380288 KB, 42133 KB/s, 9 seconds passed -... 54%, 380320 KB, 42135 KB/s, 9 seconds passed -... 54%, 380352 KB, 42138 KB/s, 9 seconds passed -... 54%, 380384 KB, 42140 KB/s, 9 seconds passed -... 54%, 380416 KB, 42143 KB/s, 9 seconds passed -... 54%, 380448 KB, 42145 KB/s, 9 seconds passed -... 54%, 380480 KB, 42147 KB/s, 9 seconds passed -... 54%, 380512 KB, 42150 KB/s, 9 seconds passed -... 54%, 380544 KB, 42152 KB/s, 9 seconds passed -... 54%, 380576 KB, 42155 KB/s, 9 seconds passed -... 54%, 380608 KB, 42157 KB/s, 9 seconds passed -... 54%, 380640 KB, 42159 KB/s, 9 seconds passed -... 54%, 380672 KB, 42162 KB/s, 9 seconds passed -... 54%, 380704 KB, 42164 KB/s, 9 seconds passed -... 54%, 380736 KB, 42167 KB/s, 9 seconds passed -... 54%, 380768 KB, 42169 KB/s, 9 seconds passed -... 54%, 380800 KB, 42171 KB/s, 9 seconds passed -... 54%, 380832 KB, 42174 KB/s, 9 seconds passed -... 54%, 380864 KB, 42176 KB/s, 9 seconds passed -... 54%, 380896 KB, 42179 KB/s, 9 seconds passed -... 54%, 380928 KB, 42181 KB/s, 9 seconds passed -... 54%, 380960 KB, 42184 KB/s, 9 seconds passed -... 54%, 380992 KB, 42186 KB/s, 9 seconds passed -... 54%, 381024 KB, 42188 KB/s, 9 seconds passed -... 54%, 381056 KB, 42191 KB/s, 9 seconds passed -... 54%, 381088 KB, 42193 KB/s, 9 seconds passed -... 54%, 381120 KB, 42196 KB/s, 9 seconds passed -... 54%, 381152 KB, 42198 KB/s, 9 seconds passed -... 54%, 381184 KB, 42200 KB/s, 9 seconds passed -... 54%, 381216 KB, 42203 KB/s, 9 seconds passed -... 54%, 381248 KB, 42205 KB/s, 9 seconds passed -... 54%, 381280 KB, 42208 KB/s, 9 seconds passed -... 54%, 381312 KB, 42210 KB/s, 9 seconds passed -... 54%, 381344 KB, 42213 KB/s, 9 seconds passed -... 54%, 381376 KB, 42215 KB/s, 9 seconds passed -... 54%, 381408 KB, 42217 KB/s, 9 seconds passed -... 54%, 381440 KB, 42220 KB/s, 9 seconds passed -... 54%, 381472 KB, 42222 KB/s, 9 seconds passed -... 54%, 381504 KB, 42225 KB/s, 9 seconds passed -... 54%, 381536 KB, 42227 KB/s, 9 seconds passed -... 54%, 381568 KB, 42229 KB/s, 9 seconds passed -... 54%, 381600 KB, 42232 KB/s, 9 seconds passed -... 54%, 381632 KB, 42234 KB/s, 9 seconds passed -... 54%, 381664 KB, 42237 KB/s, 9 seconds passed -... 54%, 381696 KB, 42240 KB/s, 9 seconds passed -... 54%, 381728 KB, 42243 KB/s, 9 seconds passed -... 54%, 381760 KB, 42245 KB/s, 9 seconds passed -... 54%, 381792 KB, 42248 KB/s, 9 seconds passed -... 54%, 381824 KB, 42251 KB/s, 9 seconds passed -... 54%, 381856 KB, 42254 KB/s, 9 seconds passed -... 54%, 381888 KB, 42256 KB/s, 9 seconds passed -... 54%, 381920 KB, 42258 KB/s, 9 seconds passed -... 54%, 381952 KB, 42261 KB/s, 9 seconds passed -... 54%, 381984 KB, 42263 KB/s, 9 seconds passed -... 54%, 382016 KB, 42265 KB/s, 9 seconds passed -... 54%, 382048 KB, 42267 KB/s, 9 seconds passed -... 54%, 382080 KB, 42270 KB/s, 9 seconds passed -... 54%, 382112 KB, 42272 KB/s, 9 seconds passed -... 54%, 382144 KB, 42274 KB/s, 9 seconds passed -... 54%, 382176 KB, 42277 KB/s, 9 seconds passed -... 54%, 382208 KB, 42279 KB/s, 9 seconds passed -... 54%, 382240 KB, 42281 KB/s, 9 seconds passed -... 54%, 382272 KB, 42283 KB/s, 9 seconds passed -... 54%, 382304 KB, 42285 KB/s, 9 seconds passed -... 54%, 382336 KB, 42287 KB/s, 9 seconds passed -... 54%, 382368 KB, 42290 KB/s, 9 seconds passed -... 54%, 382400 KB, 42292 KB/s, 9 seconds passed -... 54%, 382432 KB, 42295 KB/s, 9 seconds passed -... 54%, 382464 KB, 42297 KB/s, 9 seconds passed -... 54%, 382496 KB, 42299 KB/s, 9 seconds passed -... 54%, 382528 KB, 42301 KB/s, 9 seconds passed -... 55%, 382560 KB, 42304 KB/s, 9 seconds passed -... 55%, 382592 KB, 42306 KB/s, 9 seconds passed -... 55%, 382624 KB, 42308 KB/s, 9 seconds passed -... 55%, 382656 KB, 42310 KB/s, 9 seconds passed -... 55%, 382688 KB, 42300 KB/s, 9 seconds passed -... 55%, 382720 KB, 42302 KB/s, 9 seconds passed -... 55%, 382752 KB, 42304 KB/s, 9 seconds passed -... 55%, 382784 KB, 42306 KB/s, 9 seconds passed -... 55%, 382816 KB, 42299 KB/s, 9 seconds passed -... 55%, 382848 KB, 42301 KB/s, 9 seconds passed -... 55%, 382880 KB, 42303 KB/s, 9 seconds passed -... 55%, 382912 KB, 42304 KB/s, 9 seconds passed -... 55%, 382944 KB, 42306 KB/s, 9 seconds passed -... 55%, 382976 KB, 42308 KB/s, 9 seconds passed -... 55%, 383008 KB, 42310 KB/s, 9 seconds passed -... 55%, 383040 KB, 42312 KB/s, 9 seconds passed -... 55%, 383072 KB, 42313 KB/s, 9 seconds passed -... 55%, 383104 KB, 42315 KB/s, 9 seconds passed -... 55%, 383136 KB, 42317 KB/s, 9 seconds passed -... 55%, 383168 KB, 42319 KB/s, 9 seconds passed -... 55%, 383200 KB, 42321 KB/s, 9 seconds passed -... 55%, 383232 KB, 42323 KB/s, 9 seconds passed -... 55%, 383264 KB, 42324 KB/s, 9 seconds passed -... 55%, 383296 KB, 42326 KB/s, 9 seconds passed -... 55%, 383328 KB, 42328 KB/s, 9 seconds passed -... 55%, 383360 KB, 42330 KB/s, 9 seconds passed -... 55%, 383392 KB, 42332 KB/s, 9 seconds passed -... 55%, 383424 KB, 42334 KB/s, 9 seconds passed -... 55%, 383456 KB, 42336 KB/s, 9 seconds passed -... 55%, 383488 KB, 42338 KB/s, 9 seconds passed -... 55%, 383520 KB, 42340 KB/s, 9 seconds passed -... 55%, 383552 KB, 42342 KB/s, 9 seconds passed -... 55%, 383584 KB, 42344 KB/s, 9 seconds passed -... 55%, 383616 KB, 42346 KB/s, 9 seconds passed -... 55%, 383648 KB, 42348 KB/s, 9 seconds passed -... 55%, 383680 KB, 42350 KB/s, 9 seconds passed -... 55%, 383712 KB, 42352 KB/s, 9 seconds passed -... 55%, 383744 KB, 42354 KB/s, 9 seconds passed -... 55%, 383776 KB, 42357 KB/s, 9 seconds passed -... 55%, 383808 KB, 42359 KB/s, 9 seconds passed -... 55%, 383840 KB, 42361 KB/s, 9 seconds passed -... 55%, 383872 KB, 42364 KB/s, 9 seconds passed -... 55%, 383904 KB, 42366 KB/s, 9 seconds passed -... 55%, 383936 KB, 42368 KB/s, 9 seconds passed -... 55%, 383968 KB, 42371 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 55%, 384000 KB, 42242 KB/s, 9 seconds passed -... 55%, 384032 KB, 42240 KB/s, 9 seconds passed -... 55%, 384064 KB, 42241 KB/s, 9 seconds passed -... 55%, 384096 KB, 42243 KB/s, 9 seconds passed -... 55%, 384128 KB, 42242 KB/s, 9 seconds passed -... 55%, 384160 KB, 42244 KB/s, 9 seconds passed -... 55%, 384192 KB, 42245 KB/s, 9 seconds passed -... 55%, 384224 KB, 42247 KB/s, 9 seconds passed -... 55%, 384256 KB, 42249 KB/s, 9 seconds passed -... 55%, 384288 KB, 42251 KB/s, 9 seconds passed -... 55%, 384320 KB, 42252 KB/s, 9 seconds passed -... 55%, 384352 KB, 42255 KB/s, 9 seconds passed -... 55%, 384384 KB, 42256 KB/s, 9 seconds passed -... 55%, 384416 KB, 42257 KB/s, 9 seconds passed -... 55%, 384448 KB, 42259 KB/s, 9 seconds passed -... 55%, 384480 KB, 42261 KB/s, 9 seconds passed -... 55%, 384512 KB, 42263 KB/s, 9 seconds passed -... 55%, 384544 KB, 42264 KB/s, 9 seconds passed -... 55%, 384576 KB, 42266 KB/s, 9 seconds passed -... 55%, 384608 KB, 42268 KB/s, 9 seconds passed -... 55%, 384640 KB, 42270 KB/s, 9 seconds passed -... 55%, 384672 KB, 42271 KB/s, 9 seconds passed -... 55%, 384704 KB, 42273 KB/s, 9 seconds passed -... 55%, 384736 KB, 42275 KB/s, 9 seconds passed -... 55%, 384768 KB, 42277 KB/s, 9 seconds passed -... 55%, 384800 KB, 42279 KB/s, 9 seconds passed -... 55%, 384832 KB, 42281 KB/s, 9 seconds passed -... 55%, 384864 KB, 42283 KB/s, 9 seconds passed -... 55%, 384896 KB, 42285 KB/s, 9 seconds passed -... 55%, 384928 KB, 42284 KB/s, 9 seconds passed -... 55%, 384960 KB, 42285 KB/s, 9 seconds passed -... 55%, 384992 KB, 42287 KB/s, 9 seconds passed -... 55%, 385024 KB, 42288 KB/s, 9 seconds passed -... 55%, 385056 KB, 42290 KB/s, 9 seconds passed -... 55%, 385088 KB, 42292 KB/s, 9 seconds passed -... 55%, 385120 KB, 42294 KB/s, 9 seconds passed -... 55%, 385152 KB, 42295 KB/s, 9 seconds passed -... 55%, 385184 KB, 42297 KB/s, 9 seconds passed -... 55%, 385216 KB, 42299 KB/s, 9 seconds passed -... 55%, 385248 KB, 42301 KB/s, 9 seconds passed -... 55%, 385280 KB, 42303 KB/s, 9 seconds passed -... 55%, 385312 KB, 42305 KB/s, 9 seconds passed -... 55%, 385344 KB, 42308 KB/s, 9 seconds passed -... 55%, 385376 KB, 42310 KB/s, 9 seconds passed -... 55%, 385408 KB, 42312 KB/s, 9 seconds passed -... 55%, 385440 KB, 42314 KB/s, 9 seconds passed -... 55%, 385472 KB, 42316 KB/s, 9 seconds passed -... 55%, 385504 KB, 42319 KB/s, 9 seconds passed -... 55%, 385536 KB, 42321 KB/s, 9 seconds passed -... 55%, 385568 KB, 42323 KB/s, 9 seconds passed -... 55%, 385600 KB, 42326 KB/s, 9 seconds passed -... 55%, 385632 KB, 42328 KB/s, 9 seconds passed -... 55%, 385664 KB, 42330 KB/s, 9 seconds passed -... 55%, 385696 KB, 42332 KB/s, 9 seconds passed -... 55%, 385728 KB, 42335 KB/s, 9 seconds passed -... 55%, 385760 KB, 42337 KB/s, 9 seconds passed -... 55%, 385792 KB, 42339 KB/s, 9 seconds passed -... 55%, 385824 KB, 42342 KB/s, 9 seconds passed -... 55%, 385856 KB, 42344 KB/s, 9 seconds passed -... 55%, 385888 KB, 42346 KB/s, 9 seconds passed -... 55%, 385920 KB, 42348 KB/s, 9 seconds passed -... 55%, 385952 KB, 42351 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 55%, 385984 KB, 42353 KB/s, 9 seconds passed -... 55%, 386016 KB, 42355 KB/s, 9 seconds passed -... 55%, 386048 KB, 42357 KB/s, 9 seconds passed -... 55%, 386080 KB, 42360 KB/s, 9 seconds passed -... 55%, 386112 KB, 42362 KB/s, 9 seconds passed -... 55%, 386144 KB, 42364 KB/s, 9 seconds passed -... 55%, 386176 KB, 42367 KB/s, 9 seconds passed -... 55%, 386208 KB, 42369 KB/s, 9 seconds passed -... 55%, 386240 KB, 42371 KB/s, 9 seconds passed -... 55%, 386272 KB, 42373 KB/s, 9 seconds passed -... 55%, 386304 KB, 42376 KB/s, 9 seconds passed -... 55%, 386336 KB, 42378 KB/s, 9 seconds passed -... 55%, 386368 KB, 42380 KB/s, 9 seconds passed -... 55%, 386400 KB, 42382 KB/s, 9 seconds passed -... 55%, 386432 KB, 42385 KB/s, 9 seconds passed -... 55%, 386464 KB, 42388 KB/s, 9 seconds passed -... 55%, 386496 KB, 42390 KB/s, 9 seconds passed -... 55%, 386528 KB, 42393 KB/s, 9 seconds passed -... 55%, 386560 KB, 42396 KB/s, 9 seconds passed -... 55%, 386592 KB, 42398 KB/s, 9 seconds passed -... 55%, 386624 KB, 42401 KB/s, 9 seconds passed -... 55%, 386656 KB, 42404 KB/s, 9 seconds passed -... 55%, 386688 KB, 42406 KB/s, 9 seconds passed -... 55%, 386720 KB, 42408 KB/s, 9 seconds passed -... 55%, 386752 KB, 42410 KB/s, 9 seconds passed -... 55%, 386784 KB, 42413 KB/s, 9 seconds passed -... 55%, 386816 KB, 42414 KB/s, 9 seconds passed -... 55%, 386848 KB, 42417 KB/s, 9 seconds passed -... 55%, 386880 KB, 42419 KB/s, 9 seconds passed -... 55%, 386912 KB, 42422 KB/s, 9 seconds passed -... 55%, 386944 KB, 42424 KB/s, 9 seconds passed -... 55%, 386976 KB, 42426 KB/s, 9 seconds passed -... 55%, 387008 KB, 42428 KB/s, 9 seconds passed -... 55%, 387040 KB, 42430 KB/s, 9 seconds passed -... 55%, 387072 KB, 42433 KB/s, 9 seconds passed -... 55%, 387104 KB, 42435 KB/s, 9 seconds passed -... 55%, 387136 KB, 42437 KB/s, 9 seconds passed -... 55%, 387168 KB, 42439 KB/s, 9 seconds passed -... 55%, 387200 KB, 42441 KB/s, 9 seconds passed -... 55%, 387232 KB, 42443 KB/s, 9 seconds passed -... 55%, 387264 KB, 42446 KB/s, 9 seconds passed -... 55%, 387296 KB, 42448 KB/s, 9 seconds passed -... 55%, 387328 KB, 42450 KB/s, 9 seconds passed -... 55%, 387360 KB, 42452 KB/s, 9 seconds passed -... 55%, 387392 KB, 42454 KB/s, 9 seconds passed -... 55%, 387424 KB, 42457 KB/s, 9 seconds passed -... 55%, 387456 KB, 42459 KB/s, 9 seconds passed -... 55%, 387488 KB, 42461 KB/s, 9 seconds passed -... 55%, 387520 KB, 42464 KB/s, 9 seconds passed -... 55%, 387552 KB, 42466 KB/s, 9 seconds passed -... 55%, 387584 KB, 42468 KB/s, 9 seconds passed -... 55%, 387616 KB, 42470 KB/s, 9 seconds passed -... 55%, 387648 KB, 42472 KB/s, 9 seconds passed -... 55%, 387680 KB, 42475 KB/s, 9 seconds passed -... 55%, 387712 KB, 42477 KB/s, 9 seconds passed -... 55%, 387744 KB, 42479 KB/s, 9 seconds passed -... 55%, 387776 KB, 42481 KB/s, 9 seconds passed -... 55%, 387808 KB, 42483 KB/s, 9 seconds passed -... 55%, 387840 KB, 42482 KB/s, 9 seconds passed -... 55%, 387872 KB, 42484 KB/s, 9 seconds passed -... 55%, 387904 KB, 42486 KB/s, 9 seconds passed -... 55%, 387936 KB, 42489 KB/s, 9 seconds passed -... 55%, 387968 KB, 42492 KB/s, 9 seconds passed -... 55%, 388000 KB, 42494 KB/s, 9 seconds passed -... 55%, 388032 KB, 42496 KB/s, 9 seconds passed -... 55%, 388064 KB, 42498 KB/s, 9 seconds passed -... 55%, 388096 KB, 42500 KB/s, 9 seconds passed -... 55%, 388128 KB, 42503 KB/s, 9 seconds passed -... 55%, 388160 KB, 42505 KB/s, 9 seconds passed -... 55%, 388192 KB, 42507 KB/s, 9 seconds passed -... 55%, 388224 KB, 42509 KB/s, 9 seconds passed -... 55%, 388256 KB, 42511 KB/s, 9 seconds passed -... 55%, 388288 KB, 42514 KB/s, 9 seconds passed -... 55%, 388320 KB, 42516 KB/s, 9 seconds passed -... 55%, 388352 KB, 42518 KB/s, 9 seconds passed -... 55%, 388384 KB, 42520 KB/s, 9 seconds passed -... 55%, 388416 KB, 42522 KB/s, 9 seconds passed -... 55%, 388448 KB, 42524 KB/s, 9 seconds passed -... 55%, 388480 KB, 42527 KB/s, 9 seconds passed -... 55%, 388512 KB, 42529 KB/s, 9 seconds passed -... 55%, 388544 KB, 42531 KB/s, 9 seconds passed -... 55%, 388576 KB, 42533 KB/s, 9 seconds passed -... 55%, 388608 KB, 42536 KB/s, 9 seconds passed -... 55%, 388640 KB, 42538 KB/s, 9 seconds passed -... 55%, 388672 KB, 42540 KB/s, 9 seconds passed -... 55%, 388704 KB, 42542 KB/s, 9 seconds passed -... 55%, 388736 KB, 42544 KB/s, 9 seconds passed -... 55%, 388768 KB, 42547 KB/s, 9 seconds passed -... 55%, 388800 KB, 42549 KB/s, 9 seconds passed -... 55%, 388832 KB, 42551 KB/s, 9 seconds passed -... 55%, 388864 KB, 42553 KB/s, 9 seconds passed -... 55%, 388896 KB, 42555 KB/s, 9 seconds passed -... 55%, 388928 KB, 42558 KB/s, 9 seconds passed -... 55%, 388960 KB, 42560 KB/s, 9 seconds passed -... 55%, 388992 KB, 42562 KB/s, 9 seconds passed -... 55%, 389024 KB, 42564 KB/s, 9 seconds passed -... 55%, 389056 KB, 42566 KB/s, 9 seconds passed -... 55%, 389088 KB, 42569 KB/s, 9 seconds passed -... 55%, 389120 KB, 42507 KB/s, 9 seconds passed -... 55%, 389152 KB, 42508 KB/s, 9 seconds passed -... 55%, 389184 KB, 42510 KB/s, 9 seconds passed -... 55%, 389216 KB, 42512 KB/s, 9 seconds passed -... 55%, 389248 KB, 42482 KB/s, 9 seconds passed -... 55%, 389280 KB, 42483 KB/s, 9 seconds passed -... 55%, 389312 KB, 42485 KB/s, 9 seconds passed -... 55%, 389344 KB, 42487 KB/s, 9 seconds passed -... 55%, 389376 KB, 42489 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 55%, 389408 KB, 42490 KB/s, 9 seconds passed -... 55%, 389440 KB, 42492 KB/s, 9 seconds passed -... 55%, 389472 KB, 42494 KB/s, 9 seconds passed -... 56%, 389504 KB, 42496 KB/s, 9 seconds passed -... 56%, 389536 KB, 42497 KB/s, 9 seconds passed -... 56%, 389568 KB, 42499 KB/s, 9 seconds passed -... 56%, 389600 KB, 42501 KB/s, 9 seconds passed -... 56%, 389632 KB, 42503 KB/s, 9 seconds passed -... 56%, 389664 KB, 42505 KB/s, 9 seconds passed -... 56%, 389696 KB, 42506 KB/s, 9 seconds passed -... 56%, 389728 KB, 42508 KB/s, 9 seconds passed -... 56%, 389760 KB, 42510 KB/s, 9 seconds passed -... 56%, 389792 KB, 42512 KB/s, 9 seconds passed -... 56%, 389824 KB, 42513 KB/s, 9 seconds passed -... 56%, 389856 KB, 42516 KB/s, 9 seconds passed -... 56%, 389888 KB, 42518 KB/s, 9 seconds passed -... 56%, 389920 KB, 42520 KB/s, 9 seconds passed -... 56%, 389952 KB, 42522 KB/s, 9 seconds passed -... 56%, 389984 KB, 42524 KB/s, 9 seconds passed -... 56%, 390016 KB, 42516 KB/s, 9 seconds passed -... 56%, 390048 KB, 42517 KB/s, 9 seconds passed -... 56%, 390080 KB, 42519 KB/s, 9 seconds passed -... 56%, 390112 KB, 42521 KB/s, 9 seconds passed -... 56%, 390144 KB, 42523 KB/s, 9 seconds passed -... 56%, 390176 KB, 42525 KB/s, 9 seconds passed -... 56%, 390208 KB, 42526 KB/s, 9 seconds passed -... 56%, 390240 KB, 42528 KB/s, 9 seconds passed -... 56%, 390272 KB, 42530 KB/s, 9 seconds passed -... 56%, 390304 KB, 42532 KB/s, 9 seconds passed -... 56%, 390336 KB, 42533 KB/s, 9 seconds passed -... 56%, 390368 KB, 42535 KB/s, 9 seconds passed -... 56%, 390400 KB, 42537 KB/s, 9 seconds passed -... 56%, 390432 KB, 42539 KB/s, 9 seconds passed -... 56%, 390464 KB, 42541 KB/s, 9 seconds passed -... 56%, 390496 KB, 42543 KB/s, 9 seconds passed -... 56%, 390528 KB, 42545 KB/s, 9 seconds passed -... 56%, 390560 KB, 42547 KB/s, 9 seconds passed -... 56%, 390592 KB, 42549 KB/s, 9 seconds passed -... 56%, 390624 KB, 42551 KB/s, 9 seconds passed -... 56%, 390656 KB, 42553 KB/s, 9 seconds passed -... 56%, 390688 KB, 42555 KB/s, 9 seconds passed -... 56%, 390720 KB, 42557 KB/s, 9 seconds passed -... 56%, 390752 KB, 42559 KB/s, 9 seconds passed -... 56%, 390784 KB, 42561 KB/s, 9 seconds passed -... 56%, 390816 KB, 42563 KB/s, 9 seconds passed -... 56%, 390848 KB, 42565 KB/s, 9 seconds passed -... 56%, 390880 KB, 42567 KB/s, 9 seconds passed -... 56%, 390912 KB, 42569 KB/s, 9 seconds passed -... 56%, 390944 KB, 42571 KB/s, 9 seconds passed -... 56%, 390976 KB, 42573 KB/s, 9 seconds passed -... 56%, 391008 KB, 42575 KB/s, 9 seconds passed -... 56%, 391040 KB, 42577 KB/s, 9 seconds passed -... 56%, 391072 KB, 42579 KB/s, 9 seconds passed -... 56%, 391104 KB, 42581 KB/s, 9 seconds passed -... 56%, 391136 KB, 42583 KB/s, 9 seconds passed -... 56%, 391168 KB, 42585 KB/s, 9 seconds passed -... 56%, 391200 KB, 42587 KB/s, 9 seconds passed -... 56%, 391232 KB, 42589 KB/s, 9 seconds passed -... 56%, 391264 KB, 42591 KB/s, 9 seconds passed -... 56%, 391296 KB, 42593 KB/s, 9 seconds passed -... 56%, 391328 KB, 42595 KB/s, 9 seconds passed -... 56%, 391360 KB, 42597 KB/s, 9 seconds passed -... 56%, 391392 KB, 42599 KB/s, 9 seconds passed -... 56%, 391424 KB, 42601 KB/s, 9 seconds passed -... 56%, 391456 KB, 42604 KB/s, 9 seconds passed -... 56%, 391488 KB, 42606 KB/s, 9 seconds passed -... 56%, 391520 KB, 42609 KB/s, 9 seconds passed -... 56%, 391552 KB, 42611 KB/s, 9 seconds passed -... 56%, 391584 KB, 42614 KB/s, 9 seconds passed -... 56%, 391616 KB, 42616 KB/s, 9 seconds passed -... 56%, 391648 KB, 42619 KB/s, 9 seconds passed -... 56%, 391680 KB, 42621 KB/s, 9 seconds passed -... 56%, 391712 KB, 42624 KB/s, 9 seconds passed -... 56%, 391744 KB, 42626 KB/s, 9 seconds passed -... 56%, 391776 KB, 42629 KB/s, 9 seconds passed -... 56%, 391808 KB, 42631 KB/s, 9 seconds passed -... 56%, 391840 KB, 42634 KB/s, 9 seconds passed -... 56%, 391872 KB, 42636 KB/s, 9 seconds passed -... 56%, 391904 KB, 42639 KB/s, 9 seconds passed -... 56%, 391936 KB, 42641 KB/s, 9 seconds passed -... 56%, 391968 KB, 42644 KB/s, 9 seconds passed -... 56%, 392000 KB, 42646 KB/s, 9 seconds passed -... 56%, 392032 KB, 42649 KB/s, 9 seconds passed -... 56%, 392064 KB, 42651 KB/s, 9 seconds passed -... 56%, 392096 KB, 42654 KB/s, 9 seconds passed -... 56%, 392128 KB, 42656 KB/s, 9 seconds passed -... 56%, 392160 KB, 42659 KB/s, 9 seconds passed -... 56%, 392192 KB, 42661 KB/s, 9 seconds passed -... 56%, 392224 KB, 42663 KB/s, 9 seconds passed -... 56%, 392256 KB, 42666 KB/s, 9 seconds passed -... 56%, 392288 KB, 42668 KB/s, 9 seconds passed -... 56%, 392320 KB, 42670 KB/s, 9 seconds passed -... 56%, 392352 KB, 42672 KB/s, 9 seconds passed -... 56%, 392384 KB, 42674 KB/s, 9 seconds passed -... 56%, 392416 KB, 42676 KB/s, 9 seconds passed -... 56%, 392448 KB, 42678 KB/s, 9 seconds passed -... 56%, 392480 KB, 42681 KB/s, 9 seconds passed -... 56%, 392512 KB, 42683 KB/s, 9 seconds passed -... 56%, 392544 KB, 42685 KB/s, 9 seconds passed -... 56%, 392576 KB, 42687 KB/s, 9 seconds passed -... 56%, 392608 KB, 42690 KB/s, 9 seconds passed -... 56%, 392640 KB, 42692 KB/s, 9 seconds passed -... 56%, 392672 KB, 42694 KB/s, 9 seconds passed -... 56%, 392704 KB, 42696 KB/s, 9 seconds passed -... 56%, 392736 KB, 42698 KB/s, 9 seconds passed -... 56%, 392768 KB, 42700 KB/s, 9 seconds passed -... 56%, 392800 KB, 42702 KB/s, 9 seconds passed -... 56%, 392832 KB, 42705 KB/s, 9 seconds passed -... 56%, 392864 KB, 42707 KB/s, 9 seconds passed -... 56%, 392896 KB, 42702 KB/s, 9 seconds passed -... 56%, 392928 KB, 42703 KB/s, 9 seconds passed -... 56%, 392960 KB, 42705 KB/s, 9 seconds passed -... 56%, 392992 KB, 42707 KB/s, 9 seconds passed -... 56%, 393024 KB, 42709 KB/s, 9 seconds passed -... 56%, 393056 KB, 42712 KB/s, 9 seconds passed -... 56%, 393088 KB, 42714 KB/s, 9 seconds passed -... 56%, 393120 KB, 42716 KB/s, 9 seconds passed -... 56%, 393152 KB, 42718 KB/s, 9 seconds passed -... 56%, 393184 KB, 42720 KB/s, 9 seconds passed -... 56%, 393216 KB, 42723 KB/s, 9 seconds passed -... 56%, 393248 KB, 42725 KB/s, 9 seconds passed -... 56%, 393280 KB, 42727 KB/s, 9 seconds passed -... 56%, 393312 KB, 42729 KB/s, 9 seconds passed -... 56%, 393344 KB, 42731 KB/s, 9 seconds passed -... 56%, 393376 KB, 42734 KB/s, 9 seconds passed -... 56%, 393408 KB, 42736 KB/s, 9 seconds passed -... 56%, 393440 KB, 42738 KB/s, 9 seconds passed -... 56%, 393472 KB, 42740 KB/s, 9 seconds passed -... 56%, 393504 KB, 42742 KB/s, 9 seconds passed -... 56%, 393536 KB, 42744 KB/s, 9 seconds passed -... 56%, 393568 KB, 42747 KB/s, 9 seconds passed -... 56%, 393600 KB, 42749 KB/s, 9 seconds passed -... 56%, 393632 KB, 42751 KB/s, 9 seconds passed -... 56%, 393664 KB, 42753 KB/s, 9 seconds passed -... 56%, 393696 KB, 42756 KB/s, 9 seconds passed -... 56%, 393728 KB, 42758 KB/s, 9 seconds passed -... 56%, 393760 KB, 42760 KB/s, 9 seconds passed -... 56%, 393792 KB, 42762 KB/s, 9 seconds passed -... 56%, 393824 KB, 42764 KB/s, 9 seconds passed -... 56%, 393856 KB, 42766 KB/s, 9 seconds passed -... 56%, 393888 KB, 42769 KB/s, 9 seconds passed -... 56%, 393920 KB, 42771 KB/s, 9 seconds passed -... 56%, 393952 KB, 42773 KB/s, 9 seconds passed -... 56%, 393984 KB, 42775 KB/s, 9 seconds passed -... 56%, 394016 KB, 42777 KB/s, 9 seconds passed -... 56%, 394048 KB, 42779 KB/s, 9 seconds passed -... 56%, 394080 KB, 42782 KB/s, 9 seconds passed -... 56%, 394112 KB, 42784 KB/s, 9 seconds passed -... 56%, 394144 KB, 42786 KB/s, 9 seconds passed -... 56%, 394176 KB, 42788 KB/s, 9 seconds passed -... 56%, 394208 KB, 42790 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 56%, 394240 KB, 42524 KB/s, 9 seconds passed -... 56%, 394272 KB, 42525 KB/s, 9 seconds passed -... 56%, 394304 KB, 42528 KB/s, 9 seconds passed -... 56%, 394336 KB, 42530 KB/s, 9 seconds passed -... 56%, 394368 KB, 42526 KB/s, 9 seconds passed -... 56%, 394400 KB, 42527 KB/s, 9 seconds passed -... 56%, 394432 KB, 42529 KB/s, 9 seconds passed -... 56%, 394464 KB, 42531 KB/s, 9 seconds passed -... 56%, 394496 KB, 42533 KB/s, 9 seconds passed -... 56%, 394528 KB, 42535 KB/s, 9 seconds passed -... 56%, 394560 KB, 42538 KB/s, 9 seconds passed -... 56%, 394592 KB, 42540 KB/s, 9 seconds passed -... 56%, 394624 KB, 42542 KB/s, 9 seconds passed -... 56%, 394656 KB, 42544 KB/s, 9 seconds passed -... 56%, 394688 KB, 42546 KB/s, 9 seconds passed -... 56%, 394720 KB, 42548 KB/s, 9 seconds passed -... 56%, 394752 KB, 42550 KB/s, 9 seconds passed -... 56%, 394784 KB, 42552 KB/s, 9 seconds passed -... 56%, 394816 KB, 42554 KB/s, 9 seconds passed -... 56%, 394848 KB, 42556 KB/s, 9 seconds passed -... 56%, 394880 KB, 42559 KB/s, 9 seconds passed -... 56%, 394912 KB, 42561 KB/s, 9 seconds passed -... 56%, 394944 KB, 42562 KB/s, 9 seconds passed -... 56%, 394976 KB, 42564 KB/s, 9 seconds passed -... 56%, 395008 KB, 42566 KB/s, 9 seconds passed -... 56%, 395040 KB, 42568 KB/s, 9 seconds passed -... 56%, 395072 KB, 42570 KB/s, 9 seconds passed -... 56%, 395104 KB, 42572 KB/s, 9 seconds passed -... 56%, 395136 KB, 42574 KB/s, 9 seconds passed -... 56%, 395168 KB, 42576 KB/s, 9 seconds passed -... 56%, 395200 KB, 42578 KB/s, 9 seconds passed -... 56%, 395232 KB, 42580 KB/s, 9 seconds passed -... 56%, 395264 KB, 42582 KB/s, 9 seconds passed -... 56%, 395296 KB, 42584 KB/s, 9 seconds passed -... 56%, 395328 KB, 42586 KB/s, 9 seconds passed -... 56%, 395360 KB, 42588 KB/s, 9 seconds passed -... 56%, 395392 KB, 42590 KB/s, 9 seconds passed -... 56%, 395424 KB, 42592 KB/s, 9 seconds passed -... 56%, 395456 KB, 42594 KB/s, 9 seconds passed -... 56%, 395488 KB, 42596 KB/s, 9 seconds passed -... 56%, 395520 KB, 42598 KB/s, 9 seconds passed -... 56%, 395552 KB, 42600 KB/s, 9 seconds passed -... 56%, 395584 KB, 42601 KB/s, 9 seconds passed -... 56%, 395616 KB, 42603 KB/s, 9 seconds passed -... 56%, 395648 KB, 42605 KB/s, 9 seconds passed -... 56%, 395680 KB, 42607 KB/s, 9 seconds passed -... 56%, 395712 KB, 42609 KB/s, 9 seconds passed -... 56%, 395744 KB, 42611 KB/s, 9 seconds passed -... 56%, 395776 KB, 42613 KB/s, 9 seconds passed -... 56%, 395808 KB, 42615 KB/s, 9 seconds passed -... 56%, 395840 KB, 42617 KB/s, 9 seconds passed -... 56%, 395872 KB, 42619 KB/s, 9 seconds passed -... 56%, 395904 KB, 42621 KB/s, 9 seconds passed -... 56%, 395936 KB, 42623 KB/s, 9 seconds passed -... 56%, 395968 KB, 42625 KB/s, 9 seconds passed -... 56%, 396000 KB, 42628 KB/s, 9 seconds passed -... 56%, 396032 KB, 42630 KB/s, 9 seconds passed -... 56%, 396064 KB, 42633 KB/s, 9 seconds passed -... 56%, 396096 KB, 42635 KB/s, 9 seconds passed -... 56%, 396128 KB, 42638 KB/s, 9 seconds passed -... 56%, 396160 KB, 42640 KB/s, 9 seconds passed -... 56%, 396192 KB, 42643 KB/s, 9 seconds passed -... 56%, 396224 KB, 42645 KB/s, 9 seconds passed -... 56%, 396256 KB, 42647 KB/s, 9 seconds passed -... 56%, 396288 KB, 42650 KB/s, 9 seconds passed -... 56%, 396320 KB, 42652 KB/s, 9 seconds passed -... 56%, 396352 KB, 42655 KB/s, 9 seconds passed -... 56%, 396384 KB, 42657 KB/s, 9 seconds passed -... 56%, 396416 KB, 42660 KB/s, 9 seconds passed -... 57%, 396448 KB, 42662 KB/s, 9 seconds passed -... 57%, 396480 KB, 42665 KB/s, 9 seconds passed -... 57%, 396512 KB, 42667 KB/s, 9 seconds passed -... 57%, 396544 KB, 42670 KB/s, 9 seconds passed -... 57%, 396576 KB, 42672 KB/s, 9 seconds passed -... 57%, 396608 KB, 42675 KB/s, 9 seconds passed -... 57%, 396640 KB, 42677 KB/s, 9 seconds passed -... 57%, 396672 KB, 42680 KB/s, 9 seconds passed -... 57%, 396704 KB, 42682 KB/s, 9 seconds passed -... 57%, 396736 KB, 42685 KB/s, 9 seconds passed -... 57%, 396768 KB, 42686 KB/s, 9 seconds passed -... 57%, 396800 KB, 42689 KB/s, 9 seconds passed -... 57%, 396832 KB, 42691 KB/s, 9 seconds passed -... 57%, 396864 KB, 42693 KB/s, 9 seconds passed -... 57%, 396896 KB, 42695 KB/s, 9 seconds passed -... 57%, 396928 KB, 42697 KB/s, 9 seconds passed -... 57%, 396960 KB, 42699 KB/s, 9 seconds passed -... 57%, 396992 KB, 42702 KB/s, 9 seconds passed -... 57%, 397024 KB, 42704 KB/s, 9 seconds passed -... 57%, 397056 KB, 42706 KB/s, 9 seconds passed -... 57%, 397088 KB, 42708 KB/s, 9 seconds passed -... 57%, 397120 KB, 42710 KB/s, 9 seconds passed -... 57%, 397152 KB, 42712 KB/s, 9 seconds passed -... 57%, 397184 KB, 42715 KB/s, 9 seconds passed -... 57%, 397216 KB, 42717 KB/s, 9 seconds passed -... 57%, 397248 KB, 42719 KB/s, 9 seconds passed -... 57%, 397280 KB, 42721 KB/s, 9 seconds passed -... 57%, 397312 KB, 42724 KB/s, 9 seconds passed -... 57%, 397344 KB, 42726 KB/s, 9 seconds passed -... 57%, 397376 KB, 42728 KB/s, 9 seconds passed -... 57%, 397408 KB, 42730 KB/s, 9 seconds passed -... 57%, 397440 KB, 42732 KB/s, 9 seconds passed -... 57%, 397472 KB, 42734 KB/s, 9 seconds passed -... 57%, 397504 KB, 42737 KB/s, 9 seconds passed -... 57%, 397536 KB, 42739 KB/s, 9 seconds passed -... 57%, 397568 KB, 42741 KB/s, 9 seconds passed -... 57%, 397600 KB, 42743 KB/s, 9 seconds passed -... 57%, 397632 KB, 42744 KB/s, 9 seconds passed -... 57%, 397664 KB, 42747 KB/s, 9 seconds passed -... 57%, 397696 KB, 42749 KB/s, 9 seconds passed -... 57%, 397728 KB, 42752 KB/s, 9 seconds passed -... 57%, 397760 KB, 42754 KB/s, 9 seconds passed -... 57%, 397792 KB, 42756 KB/s, 9 seconds passed -... 57%, 397824 KB, 42758 KB/s, 9 seconds passed -... 57%, 397856 KB, 42759 KB/s, 9 seconds passed -... 57%, 397888 KB, 42761 KB/s, 9 seconds passed -... 57%, 397920 KB, 42763 KB/s, 9 seconds passed -... 57%, 397952 KB, 42766 KB/s, 9 seconds passed -... 57%, 397984 KB, 42769 KB/s, 9 seconds passed -... 57%, 398016 KB, 42771 KB/s, 9 seconds passed -... 57%, 398048 KB, 42773 KB/s, 9 seconds passed -... 57%, 398080 KB, 42775 KB/s, 9 seconds passed -... 57%, 398112 KB, 42777 KB/s, 9 seconds passed -... 57%, 398144 KB, 42780 KB/s, 9 seconds passed -... 57%, 398176 KB, 42782 KB/s, 9 seconds passed -... 57%, 398208 KB, 42783 KB/s, 9 seconds passed -... 57%, 398240 KB, 42786 KB/s, 9 seconds passed -... 57%, 398272 KB, 42788 KB/s, 9 seconds passed -... 57%, 398304 KB, 42790 KB/s, 9 seconds passed -... 57%, 398336 KB, 42785 KB/s, 9 seconds passed -... 57%, 398368 KB, 42788 KB/s, 9 seconds passed -... 57%, 398400 KB, 42790 KB/s, 9 seconds passed -... 57%, 398432 KB, 42792 KB/s, 9 seconds passed -... 57%, 398464 KB, 42794 KB/s, 9 seconds passed -... 57%, 398496 KB, 42796 KB/s, 9 seconds passed -... 57%, 398528 KB, 42791 KB/s, 9 seconds passed -... 57%, 398560 KB, 42791 KB/s, 9 seconds passed -... 57%, 398592 KB, 42791 KB/s, 9 seconds passed -... 57%, 398624 KB, 42794 KB/s, 9 seconds passed -... 57%, 398656 KB, 42796 KB/s, 9 seconds passed -... 57%, 398688 KB, 42798 KB/s, 9 seconds passed -... 57%, 398720 KB, 42798 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 57%, 398752 KB, 42781 KB/s, 9 seconds passed -... 57%, 398784 KB, 42780 KB/s, 9 seconds passed -... 57%, 398816 KB, 42780 KB/s, 9 seconds passed -... 57%, 398848 KB, 42780 KB/s, 9 seconds passed -... 57%, 398880 KB, 42782 KB/s, 9 seconds passed -... 57%, 398912 KB, 42783 KB/s, 9 seconds passed -... 57%, 398944 KB, 42785 KB/s, 9 seconds passed -... 57%, 398976 KB, 42786 KB/s, 9 seconds passed -... 57%, 399008 KB, 42788 KB/s, 9 seconds passed -... 57%, 399040 KB, 42790 KB/s, 9 seconds passed -... 57%, 399072 KB, 42791 KB/s, 9 seconds passed -... 57%, 399104 KB, 42793 KB/s, 9 seconds passed -... 57%, 399136 KB, 42796 KB/s, 9 seconds passed -... 57%, 399168 KB, 42798 KB/s, 9 seconds passed -... 57%, 399200 KB, 42800 KB/s, 9 seconds passed -... 57%, 399232 KB, 42802 KB/s, 9 seconds passed -... 57%, 399264 KB, 42804 KB/s, 9 seconds passed -... 57%, 399296 KB, 42806 KB/s, 9 seconds passed -... 57%, 399328 KB, 42809 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 57%, 399360 KB, 42610 KB/s, 9 seconds passed -... 57%, 399392 KB, 42611 KB/s, 9 seconds passed -... 57%, 399424 KB, 42612 KB/s, 9 seconds passed -... 57%, 399456 KB, 42614 KB/s, 9 seconds passed -... 57%, 399488 KB, 42616 KB/s, 9 seconds passed -... 57%, 399520 KB, 42618 KB/s, 9 seconds passed -... 57%, 399552 KB, 42620 KB/s, 9 seconds passed -... 57%, 399584 KB, 42622 KB/s, 9 seconds passed -... 57%, 399616 KB, 42624 KB/s, 9 seconds passed -... 57%, 399648 KB, 42627 KB/s, 9 seconds passed -... 57%, 399680 KB, 42629 KB/s, 9 seconds passed -... 57%, 399712 KB, 42631 KB/s, 9 seconds passed -... 57%, 399744 KB, 42633 KB/s, 9 seconds passed -... 57%, 399776 KB, 42634 KB/s, 9 seconds passed -... 57%, 399808 KB, 42636 KB/s, 9 seconds passed -... 57%, 399840 KB, 42638 KB/s, 9 seconds passed -... 57%, 399872 KB, 42640 KB/s, 9 seconds passed -... 57%, 399904 KB, 42643 KB/s, 9 seconds passed -... 57%, 399936 KB, 42645 KB/s, 9 seconds passed -... 57%, 399968 KB, 42647 KB/s, 9 seconds passed -... 57%, 400000 KB, 42649 KB/s, 9 seconds passed -... 57%, 400032 KB, 42651 KB/s, 9 seconds passed -... 57%, 400064 KB, 42653 KB/s, 9 seconds passed -... 57%, 400096 KB, 42655 KB/s, 9 seconds passed -... 57%, 400128 KB, 42657 KB/s, 9 seconds passed -... 57%, 400160 KB, 42659 KB/s, 9 seconds passed -... 57%, 400192 KB, 42661 KB/s, 9 seconds passed -... 57%, 400224 KB, 42663 KB/s, 9 seconds passed -... 57%, 400256 KB, 42665 KB/s, 9 seconds passed -... 57%, 400288 KB, 42667 KB/s, 9 seconds passed -... 57%, 400320 KB, 42669 KB/s, 9 seconds passed -... 57%, 400352 KB, 42672 KB/s, 9 seconds passed -... 57%, 400384 KB, 42674 KB/s, 9 seconds passed -... 57%, 400416 KB, 42676 KB/s, 9 seconds passed -... 57%, 400448 KB, 42678 KB/s, 9 seconds passed -... 57%, 400480 KB, 42680 KB/s, 9 seconds passed -... 57%, 400512 KB, 42682 KB/s, 9 seconds passed -... 57%, 400544 KB, 42684 KB/s, 9 seconds passed -... 57%, 400576 KB, 42686 KB/s, 9 seconds passed -... 57%, 400608 KB, 42689 KB/s, 9 seconds passed -... 57%, 400640 KB, 42691 KB/s, 9 seconds passed -... 57%, 400672 KB, 42693 KB/s, 9 seconds passed -... 57%, 400704 KB, 42695 KB/s, 9 seconds passed -... 57%, 400736 KB, 42697 KB/s, 9 seconds passed -... 57%, 400768 KB, 42699 KB/s, 9 seconds passed -... 57%, 400800 KB, 42701 KB/s, 9 seconds passed -... 57%, 400832 KB, 42703 KB/s, 9 seconds passed -... 57%, 400864 KB, 42706 KB/s, 9 seconds passed -... 57%, 400896 KB, 42708 KB/s, 9 seconds passed -... 57%, 400928 KB, 42710 KB/s, 9 seconds passed -... 57%, 400960 KB, 42712 KB/s, 9 seconds passed -... 57%, 400992 KB, 42714 KB/s, 9 seconds passed -... 57%, 401024 KB, 42716 KB/s, 9 seconds passed -... 57%, 401056 KB, 42718 KB/s, 9 seconds passed -... 57%, 401088 KB, 42721 KB/s, 9 seconds passed -... 57%, 401120 KB, 42723 KB/s, 9 seconds passed -... 57%, 401152 KB, 42725 KB/s, 9 seconds passed -... 57%, 401184 KB, 42727 KB/s, 9 seconds passed -... 57%, 401216 KB, 42729 KB/s, 9 seconds passed -... 57%, 401248 KB, 42732 KB/s, 9 seconds passed -... 57%, 401280 KB, 42734 KB/s, 9 seconds passed -... 57%, 401312 KB, 42737 KB/s, 9 seconds passed -... 57%, 401344 KB, 42739 KB/s, 9 seconds passed -... 57%, 401376 KB, 42742 KB/s, 9 seconds passed -... 57%, 401408 KB, 42744 KB/s, 9 seconds passed -... 57%, 401440 KB, 42747 KB/s, 9 seconds passed -... 57%, 401472 KB, 42750 KB/s, 9 seconds passed -... 57%, 401504 KB, 42752 KB/s, 9 seconds passed -... 57%, 401536 KB, 42754 KB/s, 9 seconds passed -... 57%, 401568 KB, 42756 KB/s, 9 seconds passed -... 57%, 401600 KB, 42758 KB/s, 9 seconds passed -... 57%, 401632 KB, 42760 KB/s, 9 seconds passed -... 57%, 401664 KB, 42762 KB/s, 9 seconds passed -... 57%, 401696 KB, 42764 KB/s, 9 seconds passed -... 57%, 401728 KB, 42767 KB/s, 9 seconds passed -... 57%, 401760 KB, 42769 KB/s, 9 seconds passed -... 57%, 401792 KB, 42771 KB/s, 9 seconds passed -... 57%, 401824 KB, 42773 KB/s, 9 seconds passed -... 57%, 401856 KB, 42775 KB/s, 9 seconds passed -... 57%, 401888 KB, 42777 KB/s, 9 seconds passed -... 57%, 401920 KB, 42780 KB/s, 9 seconds passed -... 57%, 401952 KB, 42685 KB/s, 9 seconds passed -... 57%, 401984 KB, 42686 KB/s, 9 seconds passed -... 57%, 402016 KB, 42688 KB/s, 9 seconds passed -... 57%, 402048 KB, 42690 KB/s, 9 seconds passed -... 57%, 402080 KB, 42692 KB/s, 9 seconds passed -... 57%, 402112 KB, 42694 KB/s, 9 seconds passed -... 57%, 402144 KB, 42696 KB/s, 9 seconds passed -... 57%, 402176 KB, 42698 KB/s, 9 seconds passed -... 57%, 402208 KB, 42700 KB/s, 9 seconds passed -... 57%, 402240 KB, 42702 KB/s, 9 seconds passed -... 57%, 402272 KB, 42704 KB/s, 9 seconds passed -... 57%, 402304 KB, 42706 KB/s, 9 seconds passed -... 57%, 402336 KB, 42708 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 57%, 402368 KB, 42710 KB/s, 9 seconds passed -... 57%, 402400 KB, 42712 KB/s, 9 seconds passed -... 57%, 402432 KB, 42714 KB/s, 9 seconds passed -... 57%, 402464 KB, 42716 KB/s, 9 seconds passed -... 57%, 402496 KB, 42718 KB/s, 9 seconds passed -... 57%, 402528 KB, 42720 KB/s, 9 seconds passed -... 57%, 402560 KB, 42722 KB/s, 9 seconds passed -... 57%, 402592 KB, 42724 KB/s, 9 seconds passed -... 57%, 402624 KB, 42726 KB/s, 9 seconds passed -... 57%, 402656 KB, 42728 KB/s, 9 seconds passed -... 57%, 402688 KB, 42730 KB/s, 9 seconds passed -... 57%, 402720 KB, 42733 KB/s, 9 seconds passed -... 57%, 402752 KB, 42735 KB/s, 9 seconds passed -... 57%, 402784 KB, 42736 KB/s, 9 seconds passed -... 57%, 402816 KB, 42738 KB/s, 9 seconds passed -... 57%, 402848 KB, 42740 KB/s, 9 seconds passed -... 57%, 402880 KB, 42743 KB/s, 9 seconds passed -... 57%, 402912 KB, 42745 KB/s, 9 seconds passed -... 57%, 402944 KB, 42747 KB/s, 9 seconds passed -... 57%, 402976 KB, 42749 KB/s, 9 seconds passed -... 57%, 403008 KB, 42751 KB/s, 9 seconds passed -... 57%, 403040 KB, 42753 KB/s, 9 seconds passed -... 57%, 403072 KB, 42755 KB/s, 9 seconds passed -... 57%, 403104 KB, 42757 KB/s, 9 seconds passed -... 57%, 403136 KB, 42759 KB/s, 9 seconds passed -... 57%, 403168 KB, 42761 KB/s, 9 seconds passed -... 57%, 403200 KB, 42763 KB/s, 9 seconds passed -... 57%, 403232 KB, 42765 KB/s, 9 seconds passed -... 57%, 403264 KB, 42767 KB/s, 9 seconds passed -... 57%, 403296 KB, 42769 KB/s, 9 seconds passed -... 57%, 403328 KB, 42771 KB/s, 9 seconds passed -... 57%, 403360 KB, 42774 KB/s, 9 seconds passed -... 57%, 403392 KB, 42776 KB/s, 9 seconds passed -... 58%, 403424 KB, 42779 KB/s, 9 seconds passed -... 58%, 403456 KB, 42781 KB/s, 9 seconds passed -... 58%, 403488 KB, 42784 KB/s, 9 seconds passed -... 58%, 403520 KB, 42786 KB/s, 9 seconds passed -... 58%, 403552 KB, 42788 KB/s, 9 seconds passed -... 58%, 403584 KB, 42791 KB/s, 9 seconds passed -... 58%, 403616 KB, 42793 KB/s, 9 seconds passed -... 58%, 403648 KB, 42796 KB/s, 9 seconds passed -... 58%, 403680 KB, 42798 KB/s, 9 seconds passed -... 58%, 403712 KB, 42801 KB/s, 9 seconds passed -... 58%, 403744 KB, 42803 KB/s, 9 seconds passed -... 58%, 403776 KB, 42806 KB/s, 9 seconds passed -... 58%, 403808 KB, 42808 KB/s, 9 seconds passed -... 58%, 403840 KB, 42811 KB/s, 9 seconds passed -... 58%, 403872 KB, 42813 KB/s, 9 seconds passed -... 58%, 403904 KB, 42815 KB/s, 9 seconds passed -... 58%, 403936 KB, 42817 KB/s, 9 seconds passed -... 58%, 403968 KB, 42820 KB/s, 9 seconds passed -... 58%, 404000 KB, 42822 KB/s, 9 seconds passed -... 58%, 404032 KB, 42824 KB/s, 9 seconds passed -... 58%, 404064 KB, 42826 KB/s, 9 seconds passed -... 58%, 404096 KB, 42828 KB/s, 9 seconds passed -... 58%, 404128 KB, 42830 KB/s, 9 seconds passed -... 58%, 404160 KB, 42832 KB/s, 9 seconds passed -... 58%, 404192 KB, 42834 KB/s, 9 seconds passed -... 58%, 404224 KB, 42837 KB/s, 9 seconds passed -... 58%, 404256 KB, 42839 KB/s, 9 seconds passed -... 58%, 404288 KB, 42841 KB/s, 9 seconds passed -... 58%, 404320 KB, 42843 KB/s, 9 seconds passed -... 58%, 404352 KB, 42845 KB/s, 9 seconds passed -... 58%, 404384 KB, 42847 KB/s, 9 seconds passed -... 58%, 404416 KB, 42849 KB/s, 9 seconds passed -... 58%, 404448 KB, 42851 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 58%, 404480 KB, 42580 KB/s, 9 seconds passed -... 58%, 404512 KB, 42581 KB/s, 9 seconds passed -... 58%, 404544 KB, 42583 KB/s, 9 seconds passed -... 58%, 404576 KB, 42585 KB/s, 9 seconds passed -... 58%, 404608 KB, 42587 KB/s, 9 seconds passed -... 58%, 404640 KB, 42589 KB/s, 9 seconds passed -... 58%, 404672 KB, 42591 KB/s, 9 seconds passed -... 58%, 404704 KB, 42593 KB/s, 9 seconds passed -... 58%, 404736 KB, 42576 KB/s, 9 seconds passed -... 58%, 404768 KB, 42578 KB/s, 9 seconds passed -... 58%, 404800 KB, 42580 KB/s, 9 seconds passed -... 58%, 404832 KB, 42582 KB/s, 9 seconds passed -... 58%, 404864 KB, 42584 KB/s, 9 seconds passed -... 58%, 404896 KB, 42586 KB/s, 9 seconds passed -... 58%, 404928 KB, 42588 KB/s, 9 seconds passed -... 58%, 404960 KB, 42590 KB/s, 9 seconds passed -... 58%, 404992 KB, 42592 KB/s, 9 seconds passed -... 58%, 405024 KB, 42594 KB/s, 9 seconds passed -... 58%, 405056 KB, 42596 KB/s, 9 seconds passed -... 58%, 405088 KB, 42598 KB/s, 9 seconds passed -... 58%, 405120 KB, 42600 KB/s, 9 seconds passed -... 58%, 405152 KB, 42602 KB/s, 9 seconds passed -... 58%, 405184 KB, 42604 KB/s, 9 seconds passed -... 58%, 405216 KB, 42606 KB/s, 9 seconds passed -... 58%, 405248 KB, 42608 KB/s, 9 seconds passed -... 58%, 405280 KB, 42610 KB/s, 9 seconds passed -... 58%, 405312 KB, 42612 KB/s, 9 seconds passed -... 58%, 405344 KB, 42614 KB/s, 9 seconds passed -... 58%, 405376 KB, 42616 KB/s, 9 seconds passed -... 58%, 405408 KB, 42618 KB/s, 9 seconds passed -... 58%, 405440 KB, 42620 KB/s, 9 seconds passed -... 58%, 405472 KB, 42622 KB/s, 9 seconds passed -... 58%, 405504 KB, 42624 KB/s, 9 seconds passed -... 58%, 405536 KB, 42626 KB/s, 9 seconds passed -... 58%, 405568 KB, 42628 KB/s, 9 seconds passed -... 58%, 405600 KB, 42630 KB/s, 9 seconds passed -... 58%, 405632 KB, 42632 KB/s, 9 seconds passed -... 58%, 405664 KB, 42634 KB/s, 9 seconds passed -... 58%, 405696 KB, 42636 KB/s, 9 seconds passed -... 58%, 405728 KB, 42638 KB/s, 9 seconds passed -... 58%, 405760 KB, 42640 KB/s, 9 seconds passed -... 58%, 405792 KB, 42642 KB/s, 9 seconds passed -... 58%, 405824 KB, 42644 KB/s, 9 seconds passed -... 58%, 405856 KB, 42646 KB/s, 9 seconds passed -... 58%, 405888 KB, 42648 KB/s, 9 seconds passed -... 58%, 405920 KB, 42650 KB/s, 9 seconds passed -... 58%, 405952 KB, 42652 KB/s, 9 seconds passed -... 58%, 405984 KB, 42654 KB/s, 9 seconds passed -... 58%, 406016 KB, 42656 KB/s, 9 seconds passed -... 58%, 406048 KB, 42658 KB/s, 9 seconds passed -... 58%, 406080 KB, 42660 KB/s, 9 seconds passed -... 58%, 406112 KB, 42662 KB/s, 9 seconds passed -... 58%, 406144 KB, 42664 KB/s, 9 seconds passed -... 58%, 406176 KB, 42666 KB/s, 9 seconds passed -... 58%, 406208 KB, 42668 KB/s, 9 seconds passed -... 58%, 406240 KB, 42670 KB/s, 9 seconds passed -... 58%, 406272 KB, 42672 KB/s, 9 seconds passed -... 58%, 406304 KB, 42674 KB/s, 9 seconds passed -... 58%, 406336 KB, 42676 KB/s, 9 seconds passed -... 58%, 406368 KB, 42679 KB/s, 9 seconds passed -... 58%, 406400 KB, 42681 KB/s, 9 seconds passed -... 58%, 406432 KB, 42684 KB/s, 9 seconds passed -... 58%, 406464 KB, 42686 KB/s, 9 seconds passed -... 58%, 406496 KB, 42689 KB/s, 9 seconds passed -... 58%, 406528 KB, 42691 KB/s, 9 seconds passed -... 58%, 406560 KB, 42693 KB/s, 9 seconds passed -... 58%, 406592 KB, 42696 KB/s, 9 seconds passed -... 58%, 406624 KB, 42698 KB/s, 9 seconds passed -... 58%, 406656 KB, 42701 KB/s, 9 seconds passed -... 58%, 406688 KB, 42703 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 58%, 406720 KB, 42706 KB/s, 9 seconds passed -... 58%, 406752 KB, 42708 KB/s, 9 seconds passed -... 58%, 406784 KB, 42711 KB/s, 9 seconds passed -... 58%, 406816 KB, 42713 KB/s, 9 seconds passed -... 58%, 406848 KB, 42715 KB/s, 9 seconds passed -... 58%, 406880 KB, 42685 KB/s, 9 seconds passed -... 58%, 406912 KB, 42686 KB/s, 9 seconds passed -... 58%, 406944 KB, 42688 KB/s, 9 seconds passed -... 58%, 406976 KB, 42690 KB/s, 9 seconds passed -... 58%, 407008 KB, 42692 KB/s, 9 seconds passed -... 58%, 407040 KB, 42694 KB/s, 9 seconds passed -... 58%, 407072 KB, 42696 KB/s, 9 seconds passed -... 58%, 407104 KB, 42698 KB/s, 9 seconds passed -... 58%, 407136 KB, 42700 KB/s, 9 seconds passed -... 58%, 407168 KB, 42702 KB/s, 9 seconds passed -... 58%, 407200 KB, 42705 KB/s, 9 seconds passed -... 58%, 407232 KB, 42663 KB/s, 9 seconds passed -... 58%, 407264 KB, 42664 KB/s, 9 seconds passed -... 58%, 407296 KB, 42666 KB/s, 9 seconds passed -... 58%, 407328 KB, 42668 KB/s, 9 seconds passed -... 58%, 407360 KB, 42670 KB/s, 9 seconds passed -... 58%, 407392 KB, 42672 KB/s, 9 seconds passed -... 58%, 407424 KB, 42674 KB/s, 9 seconds passed -... 58%, 407456 KB, 42676 KB/s, 9 seconds passed -... 58%, 407488 KB, 42678 KB/s, 9 seconds passed -... 58%, 407520 KB, 42680 KB/s, 9 seconds passed -... 58%, 407552 KB, 42682 KB/s, 9 seconds passed -... 58%, 407584 KB, 42684 KB/s, 9 seconds passed -... 58%, 407616 KB, 42686 KB/s, 9 seconds passed -... 58%, 407648 KB, 42688 KB/s, 9 seconds passed -... 58%, 407680 KB, 42690 KB/s, 9 seconds passed -... 58%, 407712 KB, 42692 KB/s, 9 seconds passed -... 58%, 407744 KB, 42694 KB/s, 9 seconds passed -... 58%, 407776 KB, 42696 KB/s, 9 seconds passed -... 58%, 407808 KB, 42698 KB/s, 9 seconds passed -... 58%, 407840 KB, 42700 KB/s, 9 seconds passed -... 58%, 407872 KB, 42702 KB/s, 9 seconds passed -... 58%, 407904 KB, 42704 KB/s, 9 seconds passed -... 58%, 407936 KB, 42706 KB/s, 9 seconds passed -... 58%, 407968 KB, 42708 KB/s, 9 seconds passed -... 58%, 408000 KB, 42710 KB/s, 9 seconds passed -... 58%, 408032 KB, 42712 KB/s, 9 seconds passed -... 58%, 408064 KB, 42714 KB/s, 9 seconds passed -... 58%, 408096 KB, 42716 KB/s, 9 seconds passed -... 58%, 408128 KB, 42718 KB/s, 9 seconds passed -... 58%, 408160 KB, 42720 KB/s, 9 seconds passed -... 58%, 408192 KB, 42722 KB/s, 9 seconds passed -... 58%, 408224 KB, 42724 KB/s, 9 seconds passed -... 58%, 408256 KB, 42726 KB/s, 9 seconds passed -... 58%, 408288 KB, 42728 KB/s, 9 seconds passed -... 58%, 408320 KB, 42730 KB/s, 9 seconds passed -... 58%, 408352 KB, 42732 KB/s, 9 seconds passed -... 58%, 408384 KB, 42734 KB/s, 9 seconds passed -... 58%, 408416 KB, 42736 KB/s, 9 seconds passed -... 58%, 408448 KB, 42738 KB/s, 9 seconds passed -... 58%, 408480 KB, 42740 KB/s, 9 seconds passed -... 58%, 408512 KB, 42742 KB/s, 9 seconds passed -... 58%, 408544 KB, 42744 KB/s, 9 seconds passed -... 58%, 408576 KB, 42746 KB/s, 9 seconds passed -... 58%, 408608 KB, 42748 KB/s, 9 seconds passed -... 58%, 408640 KB, 42750 KB/s, 9 seconds passed -... 58%, 408672 KB, 42752 KB/s, 9 seconds passed -... 58%, 408704 KB, 42754 KB/s, 9 seconds passed -... 58%, 408736 KB, 42756 KB/s, 9 seconds passed -... 58%, 408768 KB, 42758 KB/s, 9 seconds passed -... 58%, 408800 KB, 42760 KB/s, 9 seconds passed -... 58%, 408832 KB, 42762 KB/s, 9 seconds passed -... 58%, 408864 KB, 42764 KB/s, 9 seconds passed -... 58%, 408896 KB, 42766 KB/s, 9 seconds passed -... 58%, 408928 KB, 42768 KB/s, 9 seconds passed -... 58%, 408960 KB, 42770 KB/s, 9 seconds passed -... 58%, 408992 KB, 42772 KB/s, 9 seconds passed -... 58%, 409024 KB, 42774 KB/s, 9 seconds passed -... 58%, 409056 KB, 42777 KB/s, 9 seconds passed -... 58%, 409088 KB, 42779 KB/s, 9 seconds passed -... 58%, 409120 KB, 42782 KB/s, 9 seconds passed -... 58%, 409152 KB, 42772 KB/s, 9 seconds passed -... 58%, 409184 KB, 42774 KB/s, 9 seconds passed -... 58%, 409216 KB, 42776 KB/s, 9 seconds passed -... 58%, 409248 KB, 42778 KB/s, 9 seconds passed -... 58%, 409280 KB, 42781 KB/s, 9 seconds passed -... 58%, 409312 KB, 42783 KB/s, 9 seconds passed -... 58%, 409344 KB, 42785 KB/s, 9 seconds passed -... 58%, 409376 KB, 42787 KB/s, 9 seconds passed -... 58%, 409408 KB, 42789 KB/s, 9 seconds passed -... 58%, 409440 KB, 42791 KB/s, 9 seconds passed -... 58%, 409472 KB, 42793 KB/s, 9 seconds passed -... 58%, 409504 KB, 42781 KB/s, 9 seconds passed -... 58%, 409536 KB, 42783 KB/s, 9 seconds passed -... 58%, 409568 KB, 42785 KB/s, 9 seconds passed -... 58%, 409600 KB, 42783 KB/s, 9 seconds passed -... 58%, 409632 KB, 42784 KB/s, 9 seconds passed -... 58%, 409664 KB, 42786 KB/s, 9 seconds passed -... 58%, 409696 KB, 42788 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 58%, 409728 KB, 42790 KB/s, 9 seconds passed -... 58%, 409760 KB, 42792 KB/s, 9 seconds passed -... 58%, 409792 KB, 42794 KB/s, 9 seconds passed -... 58%, 409824 KB, 42796 KB/s, 9 seconds passed -... 58%, 409856 KB, 42798 KB/s, 9 seconds passed -... 58%, 409888 KB, 42800 KB/s, 9 seconds passed -... 58%, 409920 KB, 42802 KB/s, 9 seconds passed -... 58%, 409952 KB, 42804 KB/s, 9 seconds passed -... 58%, 409984 KB, 42806 KB/s, 9 seconds passed -... 58%, 410016 KB, 42808 KB/s, 9 seconds passed -... 58%, 410048 KB, 42810 KB/s, 9 seconds passed -... 58%, 410080 KB, 42812 KB/s, 9 seconds passed -... 58%, 410112 KB, 42814 KB/s, 9 seconds passed -... 58%, 410144 KB, 42816 KB/s, 9 seconds passed -... 58%, 410176 KB, 42818 KB/s, 9 seconds passed -... 58%, 410208 KB, 42820 KB/s, 9 seconds passed -... 58%, 410240 KB, 42822 KB/s, 9 seconds passed -... 58%, 410272 KB, 42824 KB/s, 9 seconds passed -... 58%, 410304 KB, 42826 KB/s, 9 seconds passed -... 58%, 410336 KB, 42828 KB/s, 9 seconds passed -... 59%, 410368 KB, 42830 KB/s, 9 seconds passed -... 59%, 410400 KB, 42832 KB/s, 9 seconds passed -... 59%, 410432 KB, 42834 KB/s, 9 seconds passed -... 59%, 410464 KB, 42836 KB/s, 9 seconds passed -... 59%, 410496 KB, 42838 KB/s, 9 seconds passed -... 59%, 410528 KB, 42840 KB/s, 9 seconds passed -... 59%, 410560 KB, 42843 KB/s, 9 seconds passed -... 59%, 410592 KB, 42845 KB/s, 9 seconds passed -... 59%, 410624 KB, 42847 KB/s, 9 seconds passed -... 59%, 410656 KB, 42849 KB/s, 9 seconds passed -... 59%, 410688 KB, 42851 KB/s, 9 seconds passed -... 59%, 410720 KB, 42854 KB/s, 9 seconds passed -... 59%, 410752 KB, 42856 KB/s, 9 seconds passed -... 59%, 410784 KB, 42858 KB/s, 9 seconds passed -... 59%, 410816 KB, 42860 KB/s, 9 seconds passed -... 59%, 410848 KB, 42862 KB/s, 9 seconds passed -... 59%, 410880 KB, 42865 KB/s, 9 seconds passed -... 59%, 410912 KB, 42867 KB/s, 9 seconds passed -... 59%, 410944 KB, 42869 KB/s, 9 seconds passed -... 59%, 410976 KB, 42871 KB/s, 9 seconds passed -... 59%, 411008 KB, 42874 KB/s, 9 seconds passed -... 59%, 411040 KB, 42876 KB/s, 9 seconds passed -... 59%, 411072 KB, 42878 KB/s, 9 seconds passed -... 59%, 411104 KB, 42880 KB/s, 9 seconds passed -... 59%, 411136 KB, 42882 KB/s, 9 seconds passed -... 59%, 411168 KB, 42885 KB/s, 9 seconds passed -... 59%, 411200 KB, 42887 KB/s, 9 seconds passed -... 59%, 411232 KB, 42889 KB/s, 9 seconds passed -... 59%, 411264 KB, 42891 KB/s, 9 seconds passed -... 59%, 411296 KB, 42893 KB/s, 9 seconds passed -... 59%, 411328 KB, 42896 KB/s, 9 seconds passed -... 59%, 411360 KB, 42898 KB/s, 9 seconds passed -... 59%, 411392 KB, 42900 KB/s, 9 seconds passed -... 59%, 411424 KB, 42902 KB/s, 9 seconds passed -... 59%, 411456 KB, 42904 KB/s, 9 seconds passed -... 59%, 411488 KB, 42906 KB/s, 9 seconds passed -... 59%, 411520 KB, 42908 KB/s, 9 seconds passed -... 59%, 411552 KB, 42911 KB/s, 9 seconds passed -... 59%, 411584 KB, 42913 KB/s, 9 seconds passed -... 59%, 411616 KB, 42915 KB/s, 9 seconds passed -... 59%, 411648 KB, 42917 KB/s, 9 seconds passed -... 59%, 411680 KB, 42919 KB/s, 9 seconds passed -... 59%, 411712 KB, 42921 KB/s, 9 seconds passed -... 59%, 411744 KB, 42923 KB/s, 9 seconds passed -... 59%, 411776 KB, 42925 KB/s, 9 seconds passed -... 59%, 411808 KB, 42928 KB/s, 9 seconds passed -... 59%, 411840 KB, 42930 KB/s, 9 seconds passed -... 59%, 411872 KB, 42932 KB/s, 9 seconds passed -... 59%, 411904 KB, 42934 KB/s, 9 seconds passed -... 59%, 411936 KB, 42936 KB/s, 9 seconds passed -... 59%, 411968 KB, 42937 KB/s, 9 seconds passed -... 59%, 412000 KB, 42940 KB/s, 9 seconds passed -... 59%, 412032 KB, 42942 KB/s, 9 seconds passed -... 59%, 412064 KB, 42944 KB/s, 9 seconds passed -... 59%, 412096 KB, 42946 KB/s, 9 seconds passed -... 59%, 412128 KB, 42948 KB/s, 9 seconds passed -... 59%, 412160 KB, 42950 KB/s, 9 seconds passed -... 59%, 412192 KB, 42953 KB/s, 9 seconds passed -... 59%, 412224 KB, 42955 KB/s, 9 seconds passed -... 59%, 412256 KB, 42957 KB/s, 9 seconds passed -... 59%, 412288 KB, 42959 KB/s, 9 seconds passed -... 59%, 412320 KB, 42961 KB/s, 9 seconds passed -... 59%, 412352 KB, 42963 KB/s, 9 seconds passed -... 59%, 412384 KB, 42965 KB/s, 9 seconds passed -... 59%, 412416 KB, 42967 KB/s, 9 seconds passed -... 59%, 412448 KB, 42969 KB/s, 9 seconds passed -... 59%, 412480 KB, 42971 KB/s, 9 seconds passed -... 59%, 412512 KB, 42973 KB/s, 9 seconds passed -... 59%, 412544 KB, 42975 KB/s, 9 seconds passed -... 59%, 412576 KB, 42977 KB/s, 9 seconds passed -... 59%, 412608 KB, 42942 KB/s, 9 seconds passed -... 59%, 412640 KB, 42943 KB/s, 9 seconds passed -... 59%, 412672 KB, 42945 KB/s, 9 seconds passed -... 59%, 412704 KB, 42947 KB/s, 9 seconds passed -... 59%, 412736 KB, 42949 KB/s, 9 seconds passed -... 59%, 412768 KB, 42951 KB/s, 9 seconds passed -... 59%, 412800 KB, 42953 KB/s, 9 seconds passed -... 59%, 412832 KB, 42955 KB/s, 9 seconds passed -... 59%, 412864 KB, 42957 KB/s, 9 seconds passed -... 59%, 412896 KB, 42959 KB/s, 9 seconds passed -... 59%, 412928 KB, 42961 KB/s, 9 seconds passed -... 59%, 412960 KB, 42963 KB/s, 9 seconds passed -... 59%, 412992 KB, 42965 KB/s, 9 seconds passed -... 59%, 413024 KB, 42967 KB/s, 9 seconds passed -... 59%, 413056 KB, 42969 KB/s, 9 seconds passed -... 59%, 413088 KB, 42971 KB/s, 9 seconds passed -... 59%, 413120 KB, 42973 KB/s, 9 seconds passed -... 59%, 413152 KB, 42975 KB/s, 9 seconds passed -... 59%, 413184 KB, 42977 KB/s, 9 seconds passed -... 59%, 413216 KB, 42979 KB/s, 9 seconds passed -... 59%, 413248 KB, 42981 KB/s, 9 seconds passed -... 59%, 413280 KB, 42983 KB/s, 9 seconds passed -... 59%, 413312 KB, 42985 KB/s, 9 seconds passed -... 59%, 413344 KB, 42987 KB/s, 9 seconds passed -... 59%, 413376 KB, 42989 KB/s, 9 seconds passed -... 59%, 413408 KB, 42991 KB/s, 9 seconds passed -... 59%, 413440 KB, 42993 KB/s, 9 seconds passed -... 59%, 413472 KB, 42995 KB/s, 9 seconds passed -... 59%, 413504 KB, 42997 KB/s, 9 seconds passed -... 59%, 413536 KB, 42999 KB/s, 9 seconds passed -... 59%, 413568 KB, 43001 KB/s, 9 seconds passed -... 59%, 413600 KB, 43003 KB/s, 9 seconds passed -... 59%, 413632 KB, 43005 KB/s, 9 seconds passed -... 59%, 413664 KB, 43007 KB/s, 9 seconds passed -... 59%, 413696 KB, 43009 KB/s, 9 seconds passed -... 59%, 413728 KB, 43011 KB/s, 9 seconds passed -... 59%, 413760 KB, 43013 KB/s, 9 seconds passed -... 59%, 413792 KB, 43015 KB/s, 9 seconds passed -... 59%, 413824 KB, 43017 KB/s, 9 seconds passed -... 59%, 413856 KB, 43019 KB/s, 9 seconds passed -... 59%, 413888 KB, 43020 KB/s, 9 seconds passed -... 59%, 413920 KB, 43022 KB/s, 9 seconds passed -... 59%, 413952 KB, 43024 KB/s, 9 seconds passed -... 59%, 413984 KB, 43026 KB/s, 9 seconds passed -... 59%, 414016 KB, 43028 KB/s, 9 seconds passed -... 59%, 414048 KB, 43030 KB/s, 9 seconds passed -... 59%, 414080 KB, 43033 KB/s, 9 seconds passed -... 59%, 414112 KB, 43035 KB/s, 9 seconds passed -... 59%, 414144 KB, 43038 KB/s, 9 seconds passed -... 59%, 414176 KB, 43040 KB/s, 9 seconds passed -... 59%, 414208 KB, 43043 KB/s, 9 seconds passed -... 59%, 414240 KB, 43045 KB/s, 9 seconds passed -... 59%, 414272 KB, 43047 KB/s, 9 seconds passed -... 59%, 414304 KB, 43050 KB/s, 9 seconds passed -... 59%, 414336 KB, 43052 KB/s, 9 seconds passed -... 59%, 414368 KB, 43055 KB/s, 9 seconds passed -... 59%, 414400 KB, 43057 KB/s, 9 seconds passed -... 59%, 414432 KB, 43059 KB/s, 9 seconds passed -... 59%, 414464 KB, 43062 KB/s, 9 seconds passed -... 59%, 414496 KB, 43064 KB/s, 9 seconds passed -... 59%, 414528 KB, 43067 KB/s, 9 seconds passed -... 59%, 414560 KB, 43069 KB/s, 9 seconds passed -... 59%, 414592 KB, 43071 KB/s, 9 seconds passed -... 59%, 414624 KB, 43073 KB/s, 9 seconds passed -... 59%, 414656 KB, 43075 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 59%, 414688 KB, 43077 KB/s, 9 seconds passed -... 59%, 414720 KB, 42877 KB/s, 9 seconds passed -... 59%, 414752 KB, 42868 KB/s, 9 seconds passed -... 59%, 414784 KB, 42870 KB/s, 9 seconds passed -... 59%, 414816 KB, 42872 KB/s, 9 seconds passed -... 59%, 414848 KB, 42873 KB/s, 9 seconds passed -... 59%, 414880 KB, 42875 KB/s, 9 seconds passed -... 59%, 414912 KB, 42877 KB/s, 9 seconds passed -... 59%, 414944 KB, 42879 KB/s, 9 seconds passed -... 59%, 414976 KB, 42881 KB/s, 9 seconds passed -... 59%, 415008 KB, 42883 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 59%, 415040 KB, 42885 KB/s, 9 seconds passed -... 59%, 415072 KB, 42887 KB/s, 9 seconds passed -... 59%, 415104 KB, 42889 KB/s, 9 seconds passed -... 59%, 415136 KB, 42891 KB/s, 9 seconds passed -... 59%, 415168 KB, 42893 KB/s, 9 seconds passed -... 59%, 415200 KB, 42895 KB/s, 9 seconds passed -... 59%, 415232 KB, 42897 KB/s, 9 seconds passed -... 59%, 415264 KB, 42899 KB/s, 9 seconds passed -... 59%, 415296 KB, 42901 KB/s, 9 seconds passed -... 59%, 415328 KB, 42903 KB/s, 9 seconds passed -... 59%, 415360 KB, 42905 KB/s, 9 seconds passed -... 59%, 415392 KB, 42907 KB/s, 9 seconds passed -... 59%, 415424 KB, 42909 KB/s, 9 seconds passed -... 59%, 415456 KB, 42911 KB/s, 9 seconds passed -... 59%, 415488 KB, 42913 KB/s, 9 seconds passed -... 59%, 415520 KB, 42915 KB/s, 9 seconds passed -... 59%, 415552 KB, 42917 KB/s, 9 seconds passed -... 59%, 415584 KB, 42919 KB/s, 9 seconds passed -... 59%, 415616 KB, 42921 KB/s, 9 seconds passed -... 59%, 415648 KB, 42923 KB/s, 9 seconds passed -... 59%, 415680 KB, 42925 KB/s, 9 seconds passed -... 59%, 415712 KB, 42927 KB/s, 9 seconds passed -... 59%, 415744 KB, 42929 KB/s, 9 seconds passed -... 59%, 415776 KB, 42931 KB/s, 9 seconds passed -... 59%, 415808 KB, 42933 KB/s, 9 seconds passed -... 59%, 415840 KB, 42935 KB/s, 9 seconds passed -... 59%, 415872 KB, 42937 KB/s, 9 seconds passed -... 59%, 415904 KB, 42940 KB/s, 9 seconds passed -... 59%, 415936 KB, 42942 KB/s, 9 seconds passed -... 59%, 415968 KB, 42944 KB/s, 9 seconds passed -... 59%, 416000 KB, 42946 KB/s, 9 seconds passed -... 59%, 416032 KB, 42948 KB/s, 9 seconds passed -... 59%, 416064 KB, 42950 KB/s, 9 seconds passed -... 59%, 416096 KB, 42952 KB/s, 9 seconds passed -... 59%, 416128 KB, 42955 KB/s, 9 seconds passed -... 59%, 416160 KB, 42957 KB/s, 9 seconds passed -... 59%, 416192 KB, 42959 KB/s, 9 seconds passed -... 59%, 416224 KB, 42961 KB/s, 9 seconds passed -... 59%, 416256 KB, 42963 KB/s, 9 seconds passed -... 59%, 416288 KB, 42965 KB/s, 9 seconds passed -... 59%, 416320 KB, 42967 KB/s, 9 seconds passed -... 59%, 416352 KB, 42969 KB/s, 9 seconds passed -... 59%, 416384 KB, 42971 KB/s, 9 seconds passed -... 59%, 416416 KB, 42974 KB/s, 9 seconds passed -... 59%, 416448 KB, 42976 KB/s, 9 seconds passed -... 59%, 416480 KB, 42978 KB/s, 9 seconds passed -... 59%, 416512 KB, 42980 KB/s, 9 seconds passed -... 59%, 416544 KB, 42982 KB/s, 9 seconds passed -... 59%, 416576 KB, 42984 KB/s, 9 seconds passed -... 59%, 416608 KB, 42986 KB/s, 9 seconds passed -... 59%, 416640 KB, 42989 KB/s, 9 seconds passed -... 59%, 416672 KB, 42991 KB/s, 9 seconds passed -... 59%, 416704 KB, 42993 KB/s, 9 seconds passed -... 59%, 416736 KB, 42995 KB/s, 9 seconds passed -... 59%, 416768 KB, 42997 KB/s, 9 seconds passed -... 59%, 416800 KB, 43000 KB/s, 9 seconds passed -... 59%, 416832 KB, 43002 KB/s, 9 seconds passed -... 59%, 416864 KB, 43005 KB/s, 9 seconds passed -... 59%, 416896 KB, 43007 KB/s, 9 seconds passed -... 59%, 416928 KB, 43009 KB/s, 9 seconds passed -... 59%, 416960 KB, 43011 KB/s, 9 seconds passed -... 59%, 416992 KB, 43013 KB/s, 9 seconds passed -... 59%, 417024 KB, 43015 KB/s, 9 seconds passed -... 59%, 417056 KB, 43017 KB/s, 9 seconds passed -... 59%, 417088 KB, 43019 KB/s, 9 seconds passed -... 59%, 417120 KB, 43021 KB/s, 9 seconds passed -... 59%, 417152 KB, 43023 KB/s, 9 seconds passed -... 59%, 417184 KB, 43025 KB/s, 9 seconds passed -... 59%, 417216 KB, 43028 KB/s, 9 seconds passed -... 59%, 417248 KB, 43029 KB/s, 9 seconds passed -... 59%, 417280 KB, 43032 KB/s, 9 seconds passed -... 60%, 417312 KB, 43034 KB/s, 9 seconds passed -... 60%, 417344 KB, 43036 KB/s, 9 seconds passed -... 60%, 417376 KB, 43038 KB/s, 9 seconds passed -... 60%, 417408 KB, 43040 KB/s, 9 seconds passed -... 60%, 417440 KB, 43042 KB/s, 9 seconds passed -... 60%, 417472 KB, 43044 KB/s, 9 seconds passed -... 60%, 417504 KB, 43046 KB/s, 9 seconds passed -... 60%, 417536 KB, 43048 KB/s, 9 seconds passed -... 60%, 417568 KB, 43050 KB/s, 9 seconds passed -... 60%, 417600 KB, 43052 KB/s, 9 seconds passed -... 60%, 417632 KB, 43054 KB/s, 9 seconds passed -... 60%, 417664 KB, 43056 KB/s, 9 seconds passed -... 60%, 417696 KB, 43058 KB/s, 9 seconds passed -... 60%, 417728 KB, 43061 KB/s, 9 seconds passed -... 60%, 417760 KB, 43063 KB/s, 9 seconds passed -... 60%, 417792 KB, 43065 KB/s, 9 seconds passed -... 60%, 417824 KB, 43067 KB/s, 9 seconds passed -... 60%, 417856 KB, 43068 KB/s, 9 seconds passed -... 60%, 417888 KB, 43071 KB/s, 9 seconds passed -... 60%, 417920 KB, 43073 KB/s, 9 seconds passed -... 60%, 417952 KB, 43075 KB/s, 9 seconds passed -... 60%, 417984 KB, 43077 KB/s, 9 seconds passed -... 60%, 418016 KB, 43079 KB/s, 9 seconds passed -... 60%, 418048 KB, 43081 KB/s, 9 seconds passed -... 60%, 418080 KB, 43083 KB/s, 9 seconds passed -... 60%, 418112 KB, 43085 KB/s, 9 seconds passed -... 60%, 418144 KB, 43087 KB/s, 9 seconds passed -... 60%, 418176 KB, 43087 KB/s, 9 seconds passed -... 60%, 418208 KB, 43089 KB/s, 9 seconds passed -... 60%, 418240 KB, 43090 KB/s, 9 seconds passed -... 60%, 418272 KB, 43092 KB/s, 9 seconds passed -... 60%, 418304 KB, 43093 KB/s, 9 seconds passed -... 60%, 418336 KB, 43095 KB/s, 9 seconds passed -... 60%, 418368 KB, 43096 KB/s, 9 seconds passed -... 60%, 418400 KB, 43098 KB/s, 9 seconds passed -... 60%, 418432 KB, 43099 KB/s, 9 seconds passed -... 60%, 418464 KB, 43100 KB/s, 9 seconds passed -... 60%, 418496 KB, 43102 KB/s, 9 seconds passed -... 60%, 418528 KB, 43103 KB/s, 9 seconds passed -... 60%, 418560 KB, 43105 KB/s, 9 seconds passed -... 60%, 418592 KB, 43107 KB/s, 9 seconds passed -... 60%, 418624 KB, 43109 KB/s, 9 seconds passed -... 60%, 418656 KB, 43111 KB/s, 9 seconds passed -... 60%, 418688 KB, 43113 KB/s, 9 seconds passed -... 60%, 418720 KB, 43115 KB/s, 9 seconds passed -... 60%, 418752 KB, 43117 KB/s, 9 seconds passed -... 60%, 418784 KB, 43119 KB/s, 9 seconds passed -... 60%, 418816 KB, 43118 KB/s, 9 seconds passed -... 60%, 418848 KB, 43119 KB/s, 9 seconds passed -... 60%, 418880 KB, 43121 KB/s, 9 seconds passed -... 60%, 418912 KB, 43123 KB/s, 9 seconds passed -... 60%, 418944 KB, 43119 KB/s, 9 seconds passed -... 60%, 418976 KB, 43121 KB/s, 9 seconds passed -... 60%, 419008 KB, 43120 KB/s, 9 seconds passed -... 60%, 419040 KB, 43121 KB/s, 9 seconds passed -... 60%, 419072 KB, 43123 KB/s, 9 seconds passed -... 60%, 419104 KB, 43124 KB/s, 9 seconds passed -... 60%, 419136 KB, 43126 KB/s, 9 seconds passed -... 60%, 419168 KB, 43128 KB/s, 9 seconds passed -... 60%, 419200 KB, 43129 KB/s, 9 seconds passed -... 60%, 419232 KB, 43131 KB/s, 9 seconds passed -... 60%, 419264 KB, 43133 KB/s, 9 seconds passed -... 60%, 419296 KB, 43134 KB/s, 9 seconds passed -... 60%, 419328 KB, 43136 KB/s, 9 seconds passed -... 60%, 419360 KB, 43137 KB/s, 9 seconds passed -... 60%, 419392 KB, 43139 KB/s, 9 seconds passed -... 60%, 419424 KB, 43141 KB/s, 9 seconds passed -... 60%, 419456 KB, 43142 KB/s, 9 seconds passed -... 60%, 419488 KB, 43144 KB/s, 9 seconds passed -... 60%, 419520 KB, 43146 KB/s, 9 seconds passed -... 60%, 419552 KB, 43148 KB/s, 9 seconds passed -... 60%, 419584 KB, 43150 KB/s, 9 seconds passed -... 60%, 419616 KB, 43152 KB/s, 9 seconds passed -... 60%, 419648 KB, 43154 KB/s, 9 seconds passed -... 60%, 419680 KB, 43156 KB/s, 9 seconds passed -... 60%, 419712 KB, 43158 KB/s, 9 seconds passed -... 60%, 419744 KB, 43160 KB/s, 9 seconds passed -... 60%, 419776 KB, 43163 KB/s, 9 seconds passed -... 60%, 419808 KB, 43165 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 60%, 419840 KB, 43010 KB/s, 9 seconds passed -... 60%, 419872 KB, 43010 KB/s, 9 seconds passed -... 60%, 419904 KB, 43012 KB/s, 9 seconds passed -... 60%, 419936 KB, 43014 KB/s, 9 seconds passed -... 60%, 419968 KB, 43015 KB/s, 9 seconds passed -... 60%, 420000 KB, 43017 KB/s, 9 seconds passed -... 60%, 420032 KB, 43018 KB/s, 9 seconds passed -... 60%, 420064 KB, 43020 KB/s, 9 seconds passed -... 60%, 420096 KB, 43021 KB/s, 9 seconds passed -... 60%, 420128 KB, 43023 KB/s, 9 seconds passed -... 60%, 420160 KB, 43024 KB/s, 9 seconds passed -... 60%, 420192 KB, 43026 KB/s, 9 seconds passed -... 60%, 420224 KB, 43028 KB/s, 9 seconds passed -... 60%, 420256 KB, 43029 KB/s, 9 seconds passed -... 60%, 420288 KB, 43031 KB/s, 9 seconds passed -... 60%, 420320 KB, 43032 KB/s, 9 seconds passed -... 60%, 420352 KB, 43034 KB/s, 9 seconds passed -... 60%, 420384 KB, 43036 KB/s, 9 seconds passed -... 60%, 420416 KB, 43038 KB/s, 9 seconds passed -... 60%, 420448 KB, 43040 KB/s, 9 seconds passed -... 60%, 420480 KB, 43042 KB/s, 9 seconds passed -... 60%, 420512 KB, 43044 KB/s, 9 seconds passed -... 60%, 420544 KB, 43036 KB/s, 9 seconds passed -... 60%, 420576 KB, 43038 KB/s, 9 seconds passed -... 60%, 420608 KB, 43039 KB/s, 9 seconds passed -... 60%, 420640 KB, 43041 KB/s, 9 seconds passed -... 60%, 420672 KB, 43042 KB/s, 9 seconds passed -... 60%, 420704 KB, 43044 KB/s, 9 seconds passed -... 60%, 420736 KB, 43046 KB/s, 9 seconds passed -... 60%, 420768 KB, 43048 KB/s, 9 seconds passed -... 60%, 420800 KB, 43049 KB/s, 9 seconds passed -... 60%, 420832 KB, 43051 KB/s, 9 seconds passed -... 60%, 420864 KB, 43053 KB/s, 9 seconds passed -... 60%, 420896 KB, 43055 KB/s, 9 seconds passed -... 60%, 420928 KB, 43057 KB/s, 9 seconds passed -... 60%, 420960 KB, 43059 KB/s, 9 seconds passed -... 60%, 420992 KB, 43060 KB/s, 9 seconds passed -... 60%, 421024 KB, 43062 KB/s, 9 seconds passed -... 60%, 421056 KB, 43064 KB/s, 9 seconds passed -... 60%, 421088 KB, 43066 KB/s, 9 seconds passed -... 60%, 421120 KB, 43068 KB/s, 9 seconds passed -... 60%, 421152 KB, 43069 KB/s, 9 seconds passed -... 60%, 421184 KB, 43071 KB/s, 9 seconds passed -... 60%, 421216 KB, 43073 KB/s, 9 seconds passed -... 60%, 421248 KB, 43075 KB/s, 9 seconds passed -... 60%, 421280 KB, 43077 KB/s, 9 seconds passed -... 60%, 421312 KB, 43079 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 60%, 421344 KB, 43081 KB/s, 9 seconds passed -... 60%, 421376 KB, 43082 KB/s, 9 seconds passed -... 60%, 421408 KB, 43084 KB/s, 9 seconds passed -... 60%, 421440 KB, 43086 KB/s, 9 seconds passed -... 60%, 421472 KB, 43088 KB/s, 9 seconds passed -... 60%, 421504 KB, 43090 KB/s, 9 seconds passed -... 60%, 421536 KB, 43092 KB/s, 9 seconds passed -... 60%, 421568 KB, 43093 KB/s, 9 seconds passed -... 60%, 421600 KB, 43095 KB/s, 9 seconds passed -... 60%, 421632 KB, 43097 KB/s, 9 seconds passed -... 60%, 421664 KB, 43099 KB/s, 9 seconds passed -... 60%, 421696 KB, 43101 KB/s, 9 seconds passed -... 60%, 421728 KB, 43103 KB/s, 9 seconds passed -... 60%, 421760 KB, 43106 KB/s, 9 seconds passed -... 60%, 421792 KB, 43108 KB/s, 9 seconds passed -... 60%, 421824 KB, 43110 KB/s, 9 seconds passed -... 60%, 421856 KB, 43113 KB/s, 9 seconds passed -... 60%, 421888 KB, 43115 KB/s, 9 seconds passed -... 60%, 421920 KB, 43117 KB/s, 9 seconds passed -... 60%, 421952 KB, 43120 KB/s, 9 seconds passed -... 60%, 421984 KB, 43122 KB/s, 9 seconds passed -... 60%, 422016 KB, 43124 KB/s, 9 seconds passed -... 60%, 422048 KB, 43127 KB/s, 9 seconds passed -... 60%, 422080 KB, 43129 KB/s, 9 seconds passed -... 60%, 422112 KB, 43131 KB/s, 9 seconds passed -... 60%, 422144 KB, 43134 KB/s, 9 seconds passed -... 60%, 422176 KB, 43136 KB/s, 9 seconds passed -... 60%, 422208 KB, 43138 KB/s, 9 seconds passed -... 60%, 422240 KB, 43141 KB/s, 9 seconds passed -... 60%, 422272 KB, 43143 KB/s, 9 seconds passed -... 60%, 422304 KB, 43145 KB/s, 9 seconds passed -... 60%, 422336 KB, 43148 KB/s, 9 seconds passed -... 60%, 422368 KB, 43150 KB/s, 9 seconds passed -... 60%, 422400 KB, 43152 KB/s, 9 seconds passed -... 60%, 422432 KB, 43155 KB/s, 9 seconds passed -... 60%, 422464 KB, 43157 KB/s, 9 seconds passed -... 60%, 422496 KB, 43159 KB/s, 9 seconds passed -... 60%, 422528 KB, 43162 KB/s, 9 seconds passed -... 60%, 422560 KB, 43164 KB/s, 9 seconds passed -... 60%, 422592 KB, 43166 KB/s, 9 seconds passed -... 60%, 422624 KB, 43169 KB/s, 9 seconds passed -... 60%, 422656 KB, 43170 KB/s, 9 seconds passed -... 60%, 422688 KB, 43173 KB/s, 9 seconds passed -... 60%, 422720 KB, 43175 KB/s, 9 seconds passed -... 60%, 422752 KB, 43177 KB/s, 9 seconds passed -... 60%, 422784 KB, 43179 KB/s, 9 seconds passed -... 60%, 422816 KB, 43181 KB/s, 9 seconds passed -... 60%, 422848 KB, 43183 KB/s, 9 seconds passed -... 60%, 422880 KB, 43185 KB/s, 9 seconds passed -... 60%, 422912 KB, 43187 KB/s, 9 seconds passed -... 60%, 422944 KB, 43189 KB/s, 9 seconds passed -... 60%, 422976 KB, 43191 KB/s, 9 seconds passed -... 60%, 423008 KB, 43193 KB/s, 9 seconds passed -... 60%, 423040 KB, 43195 KB/s, 9 seconds passed -... 60%, 423072 KB, 43197 KB/s, 9 seconds passed -... 60%, 423104 KB, 43199 KB/s, 9 seconds passed -... 60%, 423136 KB, 43201 KB/s, 9 seconds passed -... 60%, 423168 KB, 43203 KB/s, 9 seconds passed -... 60%, 423200 KB, 43205 KB/s, 9 seconds passed -... 60%, 423232 KB, 43207 KB/s, 9 seconds passed -... 60%, 423264 KB, 43209 KB/s, 9 seconds passed -... 60%, 423296 KB, 43212 KB/s, 9 seconds passed -... 60%, 423328 KB, 43214 KB/s, 9 seconds passed -... 60%, 423360 KB, 43215 KB/s, 9 seconds passed -... 60%, 423392 KB, 43216 KB/s, 9 seconds passed -... 60%, 423424 KB, 43219 KB/s, 9 seconds passed -... 60%, 423456 KB, 43221 KB/s, 9 seconds passed -... 60%, 423488 KB, 43224 KB/s, 9 seconds passed -... 60%, 423520 KB, 43226 KB/s, 9 seconds passed -... 60%, 423552 KB, 43228 KB/s, 9 seconds passed -... 60%, 423584 KB, 43230 KB/s, 9 seconds passed -... 60%, 423616 KB, 43232 KB/s, 9 seconds passed -... 60%, 423648 KB, 43234 KB/s, 9 seconds passed -... 60%, 423680 KB, 43236 KB/s, 9 seconds passed -... 60%, 423712 KB, 43238 KB/s, 9 seconds passed -... 60%, 423744 KB, 43240 KB/s, 9 seconds passed -... 60%, 423776 KB, 43242 KB/s, 9 seconds passed -... 60%, 423808 KB, 43244 KB/s, 9 seconds passed -... 60%, 423840 KB, 43246 KB/s, 9 seconds passed -... 60%, 423872 KB, 43248 KB/s, 9 seconds passed -... 60%, 423904 KB, 43250 KB/s, 9 seconds passed -... 60%, 423936 KB, 43252 KB/s, 9 seconds passed -... 60%, 423968 KB, 43254 KB/s, 9 seconds passed -... 60%, 424000 KB, 43257 KB/s, 9 seconds passed -... 60%, 424032 KB, 43259 KB/s, 9 seconds passed -... 60%, 424064 KB, 43261 KB/s, 9 seconds passed -... 60%, 424096 KB, 43263 KB/s, 9 seconds passed -... 60%, 424128 KB, 43265 KB/s, 9 seconds passed -... 60%, 424160 KB, 43267 KB/s, 9 seconds passed -... 60%, 424192 KB, 43269 KB/s, 9 seconds passed -... 60%, 424224 KB, 43270 KB/s, 9 seconds passed -... 60%, 424256 KB, 43272 KB/s, 9 seconds passed -... 61%, 424288 KB, 43274 KB/s, 9 seconds passed -... 61%, 424320 KB, 43276 KB/s, 9 seconds passed -... 61%, 424352 KB, 43279 KB/s, 9 seconds passed -... 61%, 424384 KB, 43281 KB/s, 9 seconds passed -... 61%, 424416 KB, 43282 KB/s, 9 seconds passed -... 61%, 424448 KB, 43285 KB/s, 9 seconds passed -... 61%, 424480 KB, 43287 KB/s, 9 seconds passed -... 61%, 424512 KB, 43289 KB/s, 9 seconds passed -... 61%, 424544 KB, 43291 KB/s, 9 seconds passed -... 61%, 424576 KB, 43293 KB/s, 9 seconds passed -... 61%, 424608 KB, 43295 KB/s, 9 seconds passed -... 61%, 424640 KB, 43297 KB/s, 9 seconds passed -... 61%, 424672 KB, 43299 KB/s, 9 seconds passed -... 61%, 424704 KB, 43301 KB/s, 9 seconds passed -... 61%, 424736 KB, 43303 KB/s, 9 seconds passed -... 61%, 424768 KB, 43305 KB/s, 9 seconds passed -... 61%, 424800 KB, 43307 KB/s, 9 seconds passed -... 61%, 424832 KB, 43309 KB/s, 9 seconds passed -... 61%, 424864 KB, 43311 KB/s, 9 seconds passed -... 61%, 424896 KB, 43313 KB/s, 9 seconds passed -... 61%, 424928 KB, 43315 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 61%, 424960 KB, 43144 KB/s, 9 seconds passed -... 61%, 424992 KB, 43145 KB/s, 9 seconds passed -... 61%, 425024 KB, 43147 KB/s, 9 seconds passed -... 61%, 425056 KB, 43149 KB/s, 9 seconds passed -... 61%, 425088 KB, 43084 KB/s, 9 seconds passed -... 61%, 425120 KB, 43085 KB/s, 9 seconds passed -... 61%, 425152 KB, 43087 KB/s, 9 seconds passed -... 61%, 425184 KB, 43088 KB/s, 9 seconds passed -... 61%, 425216 KB, 43090 KB/s, 9 seconds passed -... 61%, 425248 KB, 43091 KB/s, 9 seconds passed -... 61%, 425280 KB, 43093 KB/s, 9 seconds passed -... 61%, 425312 KB, 43094 KB/s, 9 seconds passed -... 61%, 425344 KB, 43096 KB/s, 9 seconds passed -... 61%, 425376 KB, 43098 KB/s, 9 seconds passed -... 61%, 425408 KB, 43100 KB/s, 9 seconds passed -... 61%, 425440 KB, 43102 KB/s, 9 seconds passed -... 61%, 425472 KB, 43103 KB/s, 9 seconds passed -... 61%, 425504 KB, 43105 KB/s, 9 seconds passed -... 61%, 425536 KB, 43106 KB/s, 9 seconds passed -... 61%, 425568 KB, 43108 KB/s, 9 seconds passed -... 61%, 425600 KB, 43110 KB/s, 9 seconds passed -... 61%, 425632 KB, 43111 KB/s, 9 seconds passed -... 61%, 425664 KB, 43113 KB/s, 9 seconds passed -... 61%, 425696 KB, 43114 KB/s, 9 seconds passed -... 61%, 425728 KB, 43116 KB/s, 9 seconds passed -... 61%, 425760 KB, 43118 KB/s, 9 seconds passed -... 61%, 425792 KB, 43119 KB/s, 9 seconds passed -... 61%, 425824 KB, 43121 KB/s, 9 seconds passed -... 61%, 425856 KB, 43123 KB/s, 9 seconds passed -... 61%, 425888 KB, 43124 KB/s, 9 seconds passed -... 61%, 425920 KB, 43126 KB/s, 9 seconds passed -... 61%, 425952 KB, 43128 KB/s, 9 seconds passed -... 61%, 425984 KB, 43130 KB/s, 9 seconds passed -... 61%, 426016 KB, 43132 KB/s, 9 seconds passed -... 61%, 426048 KB, 43133 KB/s, 9 seconds passed -... 61%, 426080 KB, 43135 KB/s, 9 seconds passed -... 61%, 426112 KB, 43137 KB/s, 9 seconds passed -... 61%, 426144 KB, 43139 KB/s, 9 seconds passed -... 61%, 426176 KB, 43141 KB/s, 9 seconds passed -... 61%, 426208 KB, 43142 KB/s, 9 seconds passed -... 61%, 426240 KB, 43144 KB/s, 9 seconds passed -... 61%, 426272 KB, 43146 KB/s, 9 seconds passed -... 61%, 426304 KB, 43148 KB/s, 9 seconds passed -... 61%, 426336 KB, 43150 KB/s, 9 seconds passed -... 61%, 426368 KB, 43151 KB/s, 9 seconds passed -... 61%, 426400 KB, 43153 KB/s, 9 seconds passed -... 61%, 426432 KB, 43155 KB/s, 9 seconds passed -... 61%, 426464 KB, 43157 KB/s, 9 seconds passed -... 61%, 426496 KB, 43159 KB/s, 9 seconds passed -... 61%, 426528 KB, 43161 KB/s, 9 seconds passed -... 61%, 426560 KB, 43162 KB/s, 9 seconds passed -... 61%, 426592 KB, 43164 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 61%, 426624 KB, 43166 KB/s, 9 seconds passed -... 61%, 426656 KB, 43168 KB/s, 9 seconds passed -... 61%, 426688 KB, 43170 KB/s, 9 seconds passed -... 61%, 426720 KB, 43172 KB/s, 9 seconds passed -... 61%, 426752 KB, 43173 KB/s, 9 seconds passed -... 61%, 426784 KB, 43175 KB/s, 9 seconds passed -... 61%, 426816 KB, 43177 KB/s, 9 seconds passed -... 61%, 426848 KB, 43179 KB/s, 9 seconds passed -... 61%, 426880 KB, 43182 KB/s, 9 seconds passed -... 61%, 426912 KB, 43184 KB/s, 9 seconds passed -... 61%, 426944 KB, 43186 KB/s, 9 seconds passed -... 61%, 426976 KB, 43189 KB/s, 9 seconds passed -... 61%, 427008 KB, 43191 KB/s, 9 seconds passed -... 61%, 427040 KB, 43193 KB/s, 9 seconds passed -... 61%, 427072 KB, 43196 KB/s, 9 seconds passed -... 61%, 427104 KB, 43198 KB/s, 9 seconds passed -... 61%, 427136 KB, 43200 KB/s, 9 seconds passed -... 61%, 427168 KB, 43203 KB/s, 9 seconds passed -... 61%, 427200 KB, 43205 KB/s, 9 seconds passed -... 61%, 427232 KB, 43207 KB/s, 9 seconds passed -... 61%, 427264 KB, 43210 KB/s, 9 seconds passed -... 61%, 427296 KB, 43212 KB/s, 9 seconds passed -... 61%, 427328 KB, 43214 KB/s, 9 seconds passed -... 61%, 427360 KB, 43216 KB/s, 9 seconds passed -... 61%, 427392 KB, 43219 KB/s, 9 seconds passed -... 61%, 427424 KB, 43221 KB/s, 9 seconds passed -... 61%, 427456 KB, 43223 KB/s, 9 seconds passed -... 61%, 427488 KB, 43226 KB/s, 9 seconds passed -... 61%, 427520 KB, 43228 KB/s, 9 seconds passed -... 61%, 427552 KB, 43230 KB/s, 9 seconds passed -... 61%, 427584 KB, 43233 KB/s, 9 seconds passed -... 61%, 427616 KB, 43235 KB/s, 9 seconds passed -... 61%, 427648 KB, 43237 KB/s, 9 seconds passed -... 61%, 427680 KB, 43240 KB/s, 9 seconds passed -... 61%, 427712 KB, 43242 KB/s, 9 seconds passed -... 61%, 427744 KB, 43244 KB/s, 9 seconds passed -... 61%, 427776 KB, 43247 KB/s, 9 seconds passed -... 61%, 427808 KB, 43249 KB/s, 9 seconds passed -... 61%, 427840 KB, 43251 KB/s, 9 seconds passed -... 61%, 427872 KB, 43253 KB/s, 9 seconds passed -... 61%, 427904 KB, 43256 KB/s, 9 seconds passed -... 61%, 427936 KB, 43258 KB/s, 9 seconds passed -... 61%, 427968 KB, 43260 KB/s, 9 seconds passed -... 61%, 428000 KB, 43263 KB/s, 9 seconds passed -... 61%, 428032 KB, 43265 KB/s, 9 seconds passed -... 61%, 428064 KB, 43267 KB/s, 9 seconds passed -... 61%, 428096 KB, 43270 KB/s, 9 seconds passed -... 61%, 428128 KB, 43272 KB/s, 9 seconds passed -... 61%, 428160 KB, 43274 KB/s, 9 seconds passed -... 61%, 428192 KB, 43276 KB/s, 9 seconds passed -... 61%, 428224 KB, 43278 KB/s, 9 seconds passed -... 61%, 428256 KB, 43280 KB/s, 9 seconds passed -... 61%, 428288 KB, 43282 KB/s, 9 seconds passed -... 61%, 428320 KB, 43284 KB/s, 9 seconds passed -... 61%, 428352 KB, 43286 KB/s, 9 seconds passed -... 61%, 428384 KB, 43287 KB/s, 9 seconds passed -... 61%, 428416 KB, 43289 KB/s, 9 seconds passed -... 61%, 428448 KB, 43290 KB/s, 9 seconds passed -... 61%, 428480 KB, 43293 KB/s, 9 seconds passed -... 61%, 428512 KB, 43296 KB/s, 9 seconds passed -... 61%, 428544 KB, 43298 KB/s, 9 seconds passed -... 61%, 428576 KB, 43299 KB/s, 9 seconds passed -... 61%, 428608 KB, 43301 KB/s, 9 seconds passed -... 61%, 428640 KB, 43304 KB/s, 9 seconds passed -... 61%, 428672 KB, 43306 KB/s, 9 seconds passed -... 61%, 428704 KB, 43308 KB/s, 9 seconds passed -... 61%, 428736 KB, 43310 KB/s, 9 seconds passed -... 61%, 428768 KB, 43312 KB/s, 9 seconds passed -... 61%, 428800 KB, 43314 KB/s, 9 seconds passed -... 61%, 428832 KB, 43316 KB/s, 9 seconds passed -... 61%, 428864 KB, 43318 KB/s, 9 seconds passed -... 61%, 428896 KB, 43321 KB/s, 9 seconds passed -... 61%, 428928 KB, 43311 KB/s, 9 seconds passed -... 61%, 428960 KB, 43313 KB/s, 9 seconds passed -... 61%, 428992 KB, 43314 KB/s, 9 seconds passed -... 61%, 429024 KB, 43317 KB/s, 9 seconds passed -... 61%, 429056 KB, 43308 KB/s, 9 seconds passed -... 61%, 429088 KB, 43309 KB/s, 9 seconds passed -... 61%, 429120 KB, 43311 KB/s, 9 seconds passed -... 61%, 429152 KB, 43313 KB/s, 9 seconds passed -... 61%, 429184 KB, 43314 KB/s, 9 seconds passed -... 61%, 429216 KB, 43316 KB/s, 9 seconds passed -... 61%, 429248 KB, 43317 KB/s, 9 seconds passed -... 61%, 429280 KB, 43319 KB/s, 9 seconds passed -... 61%, 429312 KB, 43320 KB/s, 9 seconds passed -... 61%, 429344 KB, 43322 KB/s, 9 seconds passed -... 61%, 429376 KB, 43324 KB/s, 9 seconds passed -... 61%, 429408 KB, 43325 KB/s, 9 seconds passed -... 61%, 429440 KB, 43327 KB/s, 9 seconds passed -... 61%, 429472 KB, 43329 KB/s, 9 seconds passed -... 61%, 429504 KB, 43330 KB/s, 9 seconds passed -... 61%, 429536 KB, 43332 KB/s, 9 seconds passed -... 61%, 429568 KB, 43333 KB/s, 9 seconds passed -... 61%, 429600 KB, 43335 KB/s, 9 seconds passed -... 61%, 429632 KB, 43337 KB/s, 9 seconds passed -... 61%, 429664 KB, 43338 KB/s, 9 seconds passed -... 61%, 429696 KB, 43340 KB/s, 9 seconds passed -... 61%, 429728 KB, 43341 KB/s, 9 seconds passed -... 61%, 429760 KB, 43343 KB/s, 9 seconds passed -... 61%, 429792 KB, 43345 KB/s, 9 seconds passed -... 61%, 429824 KB, 43347 KB/s, 9 seconds passed -... 61%, 429856 KB, 43349 KB/s, 9 seconds passed -... 61%, 429888 KB, 43351 KB/s, 9 seconds passed -... 61%, 429920 KB, 43353 KB/s, 9 seconds passed -... 61%, 429952 KB, 43355 KB/s, 9 seconds passed -... 61%, 429984 KB, 43358 KB/s, 9 seconds passed -... 61%, 430016 KB, 43360 KB/s, 9 seconds passed -... 61%, 430048 KB, 43362 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 61%, 430080 KB, 43201 KB/s, 9 seconds passed -... 61%, 430112 KB, 43202 KB/s, 9 seconds passed -... 61%, 430144 KB, 43204 KB/s, 9 seconds passed -... 61%, 430176 KB, 43205 KB/s, 9 seconds passed -... 61%, 430208 KB, 43207 KB/s, 9 seconds passed -... 61%, 430240 KB, 43194 KB/s, 9 seconds passed -... 61%, 430272 KB, 43195 KB/s, 9 seconds passed -... 61%, 430304 KB, 43196 KB/s, 9 seconds passed -... 61%, 430336 KB, 43198 KB/s, 9 seconds passed -... 61%, 430368 KB, 43200 KB/s, 9 seconds passed -... 61%, 430400 KB, 43201 KB/s, 9 seconds passed -... 61%, 430432 KB, 43203 KB/s, 9 seconds passed -... 61%, 430464 KB, 43204 KB/s, 9 seconds passed -... 61%, 430496 KB, 43206 KB/s, 9 seconds passed -... 61%, 430528 KB, 43207 KB/s, 9 seconds passed -... 61%, 430560 KB, 43209 KB/s, 9 seconds passed -... 61%, 430592 KB, 43210 KB/s, 9 seconds passed -... 61%, 430624 KB, 43212 KB/s, 9 seconds passed -... 61%, 430656 KB, 43214 KB/s, 9 seconds passed -... 61%, 430688 KB, 43215 KB/s, 9 seconds passed -... 61%, 430720 KB, 43217 KB/s, 9 seconds passed -... 61%, 430752 KB, 43218 KB/s, 9 seconds passed -... 61%, 430784 KB, 43220 KB/s, 9 seconds passed -... 61%, 430816 KB, 43221 KB/s, 9 seconds passed -... 61%, 430848 KB, 43223 KB/s, 9 seconds passed -... 61%, 430880 KB, 43224 KB/s, 9 seconds passed -... 61%, 430912 KB, 43226 KB/s, 9 seconds passed -... 61%, 430944 KB, 43227 KB/s, 9 seconds passed -... 61%, 430976 KB, 43229 KB/s, 9 seconds passed -... 61%, 431008 KB, 43231 KB/s, 9 seconds passed -... 61%, 431040 KB, 43232 KB/s, 9 seconds passed -... 61%, 431072 KB, 43234 KB/s, 9 seconds passed -... 61%, 431104 KB, 43235 KB/s, 9 seconds passed -... 61%, 431136 KB, 43237 KB/s, 9 seconds passed -... 61%, 431168 KB, 43239 KB/s, 9 seconds passed -... 61%, 431200 KB, 43240 KB/s, 9 seconds passed -... 62%, 431232 KB, 43241 KB/s, 9 seconds passed -... 62%, 431264 KB, 43243 KB/s, 9 seconds passed -... 62%, 431296 KB, 43245 KB/s, 9 seconds passed -... 62%, 431328 KB, 43246 KB/s, 9 seconds passed -... 62%, 431360 KB, 43248 KB/s, 9 seconds passed -... 62%, 431392 KB, 43249 KB/s, 9 seconds passed -... 62%, 431424 KB, 43251 KB/s, 9 seconds passed -... 62%, 431456 KB, 43253 KB/s, 9 seconds passed -... 62%, 431488 KB, 43254 KB/s, 9 seconds passed -... 62%, 431520 KB, 43256 KB/s, 9 seconds passed -... 62%, 431552 KB, 43258 KB/s, 9 seconds passed -... 62%, 431584 KB, 43260 KB/s, 9 seconds passed -... 62%, 431616 KB, 43262 KB/s, 9 seconds passed -... 62%, 431648 KB, 43264 KB/s, 9 seconds passed -... 62%, 431680 KB, 43266 KB/s, 9 seconds passed -... 62%, 431712 KB, 43268 KB/s, 9 seconds passed -... 62%, 431744 KB, 43271 KB/s, 9 seconds passed -... 62%, 431776 KB, 43273 KB/s, 9 seconds passed -... 62%, 431808 KB, 43275 KB/s, 9 seconds passed -... 62%, 431840 KB, 43277 KB/s, 9 seconds passed -... 62%, 431872 KB, 43279 KB/s, 9 seconds passed -... 62%, 431904 KB, 43281 KB/s, 9 seconds passed -... 62%, 431936 KB, 43284 KB/s, 9 seconds passed -... 62%, 431968 KB, 43286 KB/s, 9 seconds passed -... 62%, 432000 KB, 43288 KB/s, 9 seconds passed -... 62%, 432032 KB, 43290 KB/s, 9 seconds passed -... 62%, 432064 KB, 43292 KB/s, 9 seconds passed -... 62%, 432096 KB, 43294 KB/s, 9 seconds passed -... 62%, 432128 KB, 43296 KB/s, 9 seconds passed -... 62%, 432160 KB, 43298 KB/s, 9 seconds passed -... 62%, 432192 KB, 43301 KB/s, 9 seconds passed -... 62%, 432224 KB, 43303 KB/s, 9 seconds passed -... 62%, 432256 KB, 43305 KB/s, 9 seconds passed -... 62%, 432288 KB, 43307 KB/s, 9 seconds passed -... 62%, 432320 KB, 43309 KB/s, 9 seconds passed -... 62%, 432352 KB, 43311 KB/s, 9 seconds passed -... 62%, 432384 KB, 43314 KB/s, 9 seconds passed -... 62%, 432416 KB, 43316 KB/s, 9 seconds passed -... 62%, 432448 KB, 43318 KB/s, 9 seconds passed -... 62%, 432480 KB, 43320 KB/s, 9 seconds passed -... 62%, 432512 KB, 43322 KB/s, 9 seconds passed -... 62%, 432544 KB, 43324 KB/s, 9 seconds passed -... 62%, 432576 KB, 43327 KB/s, 9 seconds passed -... 62%, 432608 KB, 43329 KB/s, 9 seconds passed -... 62%, 432640 KB, 43331 KB/s, 9 seconds passed -... 62%, 432672 KB, 43333 KB/s, 9 seconds passed -... 62%, 432704 KB, 43335 KB/s, 9 seconds passed -... 62%, 432736 KB, 43337 KB/s, 9 seconds passed -... 62%, 432768 KB, 43339 KB/s, 9 seconds passed - -.. parsed-literal:: - - ... 62%, 432800 KB, 43342 KB/s, 9 seconds passed -... 62%, 432832 KB, 43344 KB/s, 9 seconds passed -... 62%, 432864 KB, 43346 KB/s, 9 seconds passed -... 62%, 432896 KB, 43348 KB/s, 9 seconds passed -... 62%, 432928 KB, 43350 KB/s, 9 seconds passed -... 62%, 432960 KB, 43352 KB/s, 9 seconds passed -... 62%, 432992 KB, 43355 KB/s, 9 seconds passed -... 62%, 433024 KB, 43357 KB/s, 9 seconds passed -... 62%, 433056 KB, 43360 KB/s, 9 seconds passed -... 62%, 433088 KB, 43362 KB/s, 9 seconds passed -... 62%, 433120 KB, 43365 KB/s, 9 seconds passed -... 62%, 433152 KB, 43368 KB/s, 9 seconds passed -... 62%, 433184 KB, 43370 KB/s, 9 seconds passed -... 62%, 433216 KB, 43373 KB/s, 9 seconds passed -... 62%, 433248 KB, 43375 KB/s, 9 seconds passed -... 62%, 433280 KB, 43378 KB/s, 9 seconds passed -... 62%, 433312 KB, 43381 KB/s, 9 seconds passed -... 62%, 433344 KB, 43334 KB/s, 10 seconds passed -... 62%, 433376 KB, 43336 KB/s, 10 seconds passed -... 62%, 433408 KB, 43338 KB/s, 10 seconds passed -... 62%, 433440 KB, 43340 KB/s, 10 seconds passed -... 62%, 433472 KB, 43342 KB/s, 10 seconds passed -... 62%, 433504 KB, 43344 KB/s, 10 seconds passed -... 62%, 433536 KB, 43346 KB/s, 10 seconds passed -... 62%, 433568 KB, 43348 KB/s, 10 seconds passed -... 62%, 433600 KB, 43350 KB/s, 10 seconds passed -... 62%, 433632 KB, 43352 KB/s, 10 seconds passed -... 62%, 433664 KB, 43354 KB/s, 10 seconds passed -... 62%, 433696 KB, 43356 KB/s, 10 seconds passed -... 62%, 433728 KB, 43358 KB/s, 10 seconds passed -... 62%, 433760 KB, 43360 KB/s, 10 seconds passed -... 62%, 433792 KB, 43362 KB/s, 10 seconds passed -... 62%, 433824 KB, 43364 KB/s, 10 seconds passed -... 62%, 433856 KB, 43366 KB/s, 10 seconds passed -... 62%, 433888 KB, 43368 KB/s, 10 seconds passed -... 62%, 433920 KB, 43369 KB/s, 10 seconds passed -... 62%, 433952 KB, 43371 KB/s, 10 seconds passed -... 62%, 433984 KB, 43374 KB/s, 10 seconds passed -... 62%, 434016 KB, 43376 KB/s, 10 seconds passed -... 62%, 434048 KB, 43378 KB/s, 10 seconds passed -... 62%, 434080 KB, 43380 KB/s, 10 seconds passed -... 62%, 434112 KB, 43382 KB/s, 10 seconds passed -... 62%, 434144 KB, 43384 KB/s, 10 seconds passed -... 62%, 434176 KB, 43386 KB/s, 10 seconds passed -... 62%, 434208 KB, 43388 KB/s, 10 seconds passed -... 62%, 434240 KB, 43390 KB/s, 10 seconds passed -... 62%, 434272 KB, 43391 KB/s, 10 seconds passed -... 62%, 434304 KB, 43393 KB/s, 10 seconds passed -... 62%, 434336 KB, 43395 KB/s, 10 seconds passed -... 62%, 434368 KB, 43397 KB/s, 10 seconds passed -... 62%, 434400 KB, 43399 KB/s, 10 seconds passed -... 62%, 434432 KB, 43401 KB/s, 10 seconds passed -... 62%, 434464 KB, 43403 KB/s, 10 seconds passed -... 62%, 434496 KB, 43405 KB/s, 10 seconds passed -... 62%, 434528 KB, 43407 KB/s, 10 seconds passed -... 62%, 434560 KB, 43409 KB/s, 10 seconds passed -... 62%, 434592 KB, 43411 KB/s, 10 seconds passed -... 62%, 434624 KB, 43413 KB/s, 10 seconds passed -... 62%, 434656 KB, 43415 KB/s, 10 seconds passed -... 62%, 434688 KB, 43417 KB/s, 10 seconds passed -... 62%, 434720 KB, 43419 KB/s, 10 seconds passed -... 62%, 434752 KB, 43421 KB/s, 10 seconds passed -... 62%, 434784 KB, 43423 KB/s, 10 seconds passed -... 62%, 434816 KB, 43425 KB/s, 10 seconds passed -... 62%, 434848 KB, 43427 KB/s, 10 seconds passed -... 62%, 434880 KB, 43394 KB/s, 10 seconds passed -... 62%, 434912 KB, 43396 KB/s, 10 seconds passed -... 62%, 434944 KB, 43398 KB/s, 10 seconds passed -... 62%, 434976 KB, 43400 KB/s, 10 seconds passed -... 62%, 435008 KB, 43402 KB/s, 10 seconds passed -... 62%, 435040 KB, 43404 KB/s, 10 seconds passed -... 62%, 435072 KB, 43406 KB/s, 10 seconds passed -... 62%, 435104 KB, 43408 KB/s, 10 seconds passed -... 62%, 435136 KB, 43410 KB/s, 10 seconds passed -... 62%, 435168 KB, 43413 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 62%, 435200 KB, 43342 KB/s, 10 seconds passed -... 62%, 435232 KB, 43343 KB/s, 10 seconds passed -... 62%, 435264 KB, 43345 KB/s, 10 seconds passed -... 62%, 435296 KB, 43346 KB/s, 10 seconds passed -... 62%, 435328 KB, 43348 KB/s, 10 seconds passed -... 62%, 435360 KB, 43349 KB/s, 10 seconds passed -... 62%, 435392 KB, 43351 KB/s, 10 seconds passed -... 62%, 435424 KB, 43352 KB/s, 10 seconds passed -... 62%, 435456 KB, 43354 KB/s, 10 seconds passed -... 62%, 435488 KB, 43356 KB/s, 10 seconds passed -... 62%, 435520 KB, 43357 KB/s, 10 seconds passed -... 62%, 435552 KB, 43359 KB/s, 10 seconds passed -... 62%, 435584 KB, 43360 KB/s, 10 seconds passed -... 62%, 435616 KB, 43362 KB/s, 10 seconds passed -... 62%, 435648 KB, 43364 KB/s, 10 seconds passed -... 62%, 435680 KB, 43366 KB/s, 10 seconds passed -... 62%, 435712 KB, 43364 KB/s, 10 seconds passed -... 62%, 435744 KB, 43365 KB/s, 10 seconds passed -... 62%, 435776 KB, 43367 KB/s, 10 seconds passed -... 62%, 435808 KB, 43368 KB/s, 10 seconds passed -... 62%, 435840 KB, 43370 KB/s, 10 seconds passed -... 62%, 435872 KB, 43371 KB/s, 10 seconds passed -... 62%, 435904 KB, 43373 KB/s, 10 seconds passed -... 62%, 435936 KB, 43374 KB/s, 10 seconds passed -... 62%, 435968 KB, 43376 KB/s, 10 seconds passed -... 62%, 436000 KB, 43377 KB/s, 10 seconds passed -... 62%, 436032 KB, 43379 KB/s, 10 seconds passed -... 62%, 436064 KB, 43381 KB/s, 10 seconds passed -... 62%, 436096 KB, 43382 KB/s, 10 seconds passed -... 62%, 436128 KB, 43384 KB/s, 10 seconds passed -... 62%, 436160 KB, 43385 KB/s, 10 seconds passed -... 62%, 436192 KB, 43387 KB/s, 10 seconds passed -... 62%, 436224 KB, 43388 KB/s, 10 seconds passed -... 62%, 436256 KB, 43390 KB/s, 10 seconds passed -... 62%, 436288 KB, 43391 KB/s, 10 seconds passed -... 62%, 436320 KB, 43393 KB/s, 10 seconds passed -... 62%, 436352 KB, 43394 KB/s, 10 seconds passed -... 62%, 436384 KB, 43396 KB/s, 10 seconds passed -... 62%, 436416 KB, 43398 KB/s, 10 seconds passed -... 62%, 436448 KB, 43399 KB/s, 10 seconds passed -... 62%, 436480 KB, 43401 KB/s, 10 seconds passed -... 62%, 436512 KB, 43403 KB/s, 10 seconds passed -... 62%, 436544 KB, 43405 KB/s, 10 seconds passed -... 62%, 436576 KB, 43407 KB/s, 10 seconds passed -... 62%, 436608 KB, 43409 KB/s, 10 seconds passed -... 62%, 436640 KB, 43411 KB/s, 10 seconds passed -... 62%, 436672 KB, 43413 KB/s, 10 seconds passed -... 62%, 436704 KB, 43415 KB/s, 10 seconds passed -... 62%, 436736 KB, 43417 KB/s, 10 seconds passed -... 62%, 436768 KB, 43419 KB/s, 10 seconds passed -... 62%, 436800 KB, 43421 KB/s, 10 seconds passed -... 62%, 436832 KB, 43423 KB/s, 10 seconds passed -... 62%, 436864 KB, 43425 KB/s, 10 seconds passed -... 62%, 436896 KB, 43427 KB/s, 10 seconds passed -... 62%, 436928 KB, 43429 KB/s, 10 seconds passed -... 62%, 436960 KB, 43431 KB/s, 10 seconds passed -... 62%, 436992 KB, 43433 KB/s, 10 seconds passed -... 62%, 437024 KB, 43435 KB/s, 10 seconds passed -... 62%, 437056 KB, 43437 KB/s, 10 seconds passed -... 62%, 437088 KB, 43439 KB/s, 10 seconds passed -... 62%, 437120 KB, 43441 KB/s, 10 seconds passed -... 62%, 437152 KB, 43443 KB/s, 10 seconds passed -... 62%, 437184 KB, 43445 KB/s, 10 seconds passed -... 62%, 437216 KB, 43447 KB/s, 10 seconds passed -... 62%, 437248 KB, 43449 KB/s, 10 seconds passed -... 62%, 437280 KB, 43451 KB/s, 10 seconds passed -... 62%, 437312 KB, 43453 KB/s, 10 seconds passed -... 62%, 437344 KB, 43455 KB/s, 10 seconds passed -... 62%, 437376 KB, 43457 KB/s, 10 seconds passed -... 62%, 437408 KB, 43459 KB/s, 10 seconds passed -... 62%, 437440 KB, 43461 KB/s, 10 seconds passed -... 62%, 437472 KB, 43463 KB/s, 10 seconds passed -... 62%, 437504 KB, 43465 KB/s, 10 seconds passed -... 62%, 437536 KB, 43468 KB/s, 10 seconds passed -... 62%, 437568 KB, 43470 KB/s, 10 seconds passed -... 62%, 437600 KB, 43472 KB/s, 10 seconds passed -... 62%, 437632 KB, 43474 KB/s, 10 seconds passed -... 62%, 437664 KB, 43476 KB/s, 10 seconds passed -... 62%, 437696 KB, 43478 KB/s, 10 seconds passed -... 62%, 437728 KB, 43480 KB/s, 10 seconds passed -... 62%, 437760 KB, 43482 KB/s, 10 seconds passed -... 62%, 437792 KB, 43485 KB/s, 10 seconds passed -... 62%, 437824 KB, 43487 KB/s, 10 seconds passed -... 62%, 437856 KB, 43490 KB/s, 10 seconds passed -... 62%, 437888 KB, 43492 KB/s, 10 seconds passed -... 62%, 437920 KB, 43494 KB/s, 10 seconds passed -... 62%, 437952 KB, 43497 KB/s, 10 seconds passed -... 62%, 437984 KB, 43499 KB/s, 10 seconds passed -... 62%, 438016 KB, 43501 KB/s, 10 seconds passed -... 62%, 438048 KB, 43504 KB/s, 10 seconds passed -... 62%, 438080 KB, 43506 KB/s, 10 seconds passed -... 62%, 438112 KB, 43509 KB/s, 10 seconds passed -... 62%, 438144 KB, 43511 KB/s, 10 seconds passed -... 63%, 438176 KB, 43513 KB/s, 10 seconds passed -... 63%, 438208 KB, 43516 KB/s, 10 seconds passed -... 63%, 438240 KB, 43518 KB/s, 10 seconds passed -... 63%, 438272 KB, 43520 KB/s, 10 seconds passed -... 63%, 438304 KB, 43523 KB/s, 10 seconds passed -... 63%, 438336 KB, 43525 KB/s, 10 seconds passed -... 63%, 438368 KB, 43528 KB/s, 10 seconds passed -... 63%, 438400 KB, 43530 KB/s, 10 seconds passed -... 63%, 438432 KB, 43532 KB/s, 10 seconds passed -... 63%, 438464 KB, 43535 KB/s, 10 seconds passed -... 63%, 438496 KB, 43537 KB/s, 10 seconds passed -... 63%, 438528 KB, 43539 KB/s, 10 seconds passed -... 63%, 438560 KB, 43541 KB/s, 10 seconds passed -... 63%, 438592 KB, 43542 KB/s, 10 seconds passed -... 63%, 438624 KB, 43544 KB/s, 10 seconds passed -... 63%, 438656 KB, 43546 KB/s, 10 seconds passed -... 63%, 438688 KB, 43548 KB/s, 10 seconds passed -... 63%, 438720 KB, 43550 KB/s, 10 seconds passed -... 63%, 438752 KB, 43553 KB/s, 10 seconds passed -... 63%, 438784 KB, 43510 KB/s, 10 seconds passed -... 63%, 438816 KB, 43511 KB/s, 10 seconds passed -... 63%, 438848 KB, 43513 KB/s, 10 seconds passed -... 63%, 438880 KB, 43514 KB/s, 10 seconds passed -... 63%, 438912 KB, 43516 KB/s, 10 seconds passed -... 63%, 438944 KB, 43518 KB/s, 10 seconds passed -... 63%, 438976 KB, 43520 KB/s, 10 seconds passed -... 63%, 439008 KB, 43521 KB/s, 10 seconds passed -... 63%, 439040 KB, 43523 KB/s, 10 seconds passed -... 63%, 439072 KB, 43524 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 63%, 439104 KB, 43526 KB/s, 10 seconds passed -... 63%, 439136 KB, 43527 KB/s, 10 seconds passed -... 63%, 439168 KB, 43529 KB/s, 10 seconds passed -... 63%, 439200 KB, 43530 KB/s, 10 seconds passed -... 63%, 439232 KB, 43532 KB/s, 10 seconds passed -... 63%, 439264 KB, 43534 KB/s, 10 seconds passed -... 63%, 439296 KB, 43535 KB/s, 10 seconds passed -... 63%, 439328 KB, 43537 KB/s, 10 seconds passed -... 63%, 439360 KB, 43538 KB/s, 10 seconds passed -... 63%, 439392 KB, 43540 KB/s, 10 seconds passed -... 63%, 439424 KB, 43542 KB/s, 10 seconds passed -... 63%, 439456 KB, 43544 KB/s, 10 seconds passed -... 63%, 439488 KB, 43532 KB/s, 10 seconds passed -... 63%, 439520 KB, 43533 KB/s, 10 seconds passed -... 63%, 439552 KB, 43534 KB/s, 10 seconds passed -... 63%, 439584 KB, 43536 KB/s, 10 seconds passed -... 63%, 439616 KB, 43537 KB/s, 10 seconds passed -... 63%, 439648 KB, 43539 KB/s, 10 seconds passed -... 63%, 439680 KB, 43540 KB/s, 10 seconds passed -... 63%, 439712 KB, 43542 KB/s, 10 seconds passed -... 63%, 439744 KB, 43543 KB/s, 10 seconds passed -... 63%, 439776 KB, 43545 KB/s, 10 seconds passed -... 63%, 439808 KB, 43546 KB/s, 10 seconds passed -... 63%, 439840 KB, 43548 KB/s, 10 seconds passed -... 63%, 439872 KB, 43549 KB/s, 10 seconds passed -... 63%, 439904 KB, 43551 KB/s, 10 seconds passed -... 63%, 439936 KB, 43552 KB/s, 10 seconds passed -... 63%, 439968 KB, 43554 KB/s, 10 seconds passed -... 63%, 440000 KB, 43555 KB/s, 10 seconds passed -... 63%, 440032 KB, 43557 KB/s, 10 seconds passed -... 63%, 440064 KB, 43558 KB/s, 10 seconds passed -... 63%, 440096 KB, 43560 KB/s, 10 seconds passed -... 63%, 440128 KB, 43562 KB/s, 10 seconds passed -... 63%, 440160 KB, 43564 KB/s, 10 seconds passed -... 63%, 440192 KB, 43566 KB/s, 10 seconds passed -... 63%, 440224 KB, 43568 KB/s, 10 seconds passed -... 63%, 440256 KB, 43570 KB/s, 10 seconds passed -... 63%, 440288 KB, 43572 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 63%, 440320 KB, 43330 KB/s, 10 seconds passed -... 63%, 440352 KB, 43331 KB/s, 10 seconds passed -... 63%, 440384 KB, 43332 KB/s, 10 seconds passed -... 63%, 440416 KB, 43333 KB/s, 10 seconds passed -... 63%, 440448 KB, 43335 KB/s, 10 seconds passed -... 63%, 440480 KB, 43336 KB/s, 10 seconds passed -... 63%, 440512 KB, 43338 KB/s, 10 seconds passed -... 63%, 440544 KB, 43339 KB/s, 10 seconds passed -... 63%, 440576 KB, 43341 KB/s, 10 seconds passed -... 63%, 440608 KB, 43342 KB/s, 10 seconds passed -... 63%, 440640 KB, 43344 KB/s, 10 seconds passed -... 63%, 440672 KB, 43345 KB/s, 10 seconds passed -... 63%, 440704 KB, 43347 KB/s, 10 seconds passed -... 63%, 440736 KB, 43348 KB/s, 10 seconds passed -... 63%, 440768 KB, 43350 KB/s, 10 seconds passed -... 63%, 440800 KB, 43351 KB/s, 10 seconds passed -... 63%, 440832 KB, 43353 KB/s, 10 seconds passed -... 63%, 440864 KB, 43354 KB/s, 10 seconds passed -... 63%, 440896 KB, 43356 KB/s, 10 seconds passed -... 63%, 440928 KB, 43357 KB/s, 10 seconds passed -... 63%, 440960 KB, 43359 KB/s, 10 seconds passed -... 63%, 440992 KB, 43360 KB/s, 10 seconds passed -... 63%, 441024 KB, 43362 KB/s, 10 seconds passed -... 63%, 441056 KB, 43363 KB/s, 10 seconds passed -... 63%, 441088 KB, 43365 KB/s, 10 seconds passed -... 63%, 441120 KB, 43366 KB/s, 10 seconds passed -... 63%, 441152 KB, 43368 KB/s, 10 seconds passed -... 63%, 441184 KB, 43369 KB/s, 10 seconds passed -... 63%, 441216 KB, 43371 KB/s, 10 seconds passed -... 63%, 441248 KB, 43372 KB/s, 10 seconds passed -... 63%, 441280 KB, 43374 KB/s, 10 seconds passed -... 63%, 441312 KB, 43376 KB/s, 10 seconds passed -... 63%, 441344 KB, 43377 KB/s, 10 seconds passed -... 63%, 441376 KB, 43378 KB/s, 10 seconds passed -... 63%, 441408 KB, 43380 KB/s, 10 seconds passed -... 63%, 441440 KB, 43381 KB/s, 10 seconds passed -... 63%, 441472 KB, 43383 KB/s, 10 seconds passed -... 63%, 441504 KB, 43385 KB/s, 10 seconds passed -... 63%, 441536 KB, 43386 KB/s, 10 seconds passed -... 63%, 441568 KB, 43388 KB/s, 10 seconds passed -... 63%, 441600 KB, 43389 KB/s, 10 seconds passed -... 63%, 441632 KB, 43391 KB/s, 10 seconds passed -... 63%, 441664 KB, 43393 KB/s, 10 seconds passed -... 63%, 441696 KB, 43395 KB/s, 10 seconds passed -... 63%, 441728 KB, 43397 KB/s, 10 seconds passed -... 63%, 441760 KB, 43400 KB/s, 10 seconds passed -... 63%, 441792 KB, 43402 KB/s, 10 seconds passed -... 63%, 441824 KB, 43404 KB/s, 10 seconds passed -... 63%, 441856 KB, 43407 KB/s, 10 seconds passed -... 63%, 441888 KB, 43409 KB/s, 10 seconds passed -... 63%, 441920 KB, 43411 KB/s, 10 seconds passed -... 63%, 441952 KB, 43414 KB/s, 10 seconds passed -... 63%, 441984 KB, 43416 KB/s, 10 seconds passed -... 63%, 442016 KB, 43418 KB/s, 10 seconds passed -... 63%, 442048 KB, 43421 KB/s, 10 seconds passed -... 63%, 442080 KB, 43423 KB/s, 10 seconds passed -... 63%, 442112 KB, 43425 KB/s, 10 seconds passed -... 63%, 442144 KB, 43427 KB/s, 10 seconds passed -... 63%, 442176 KB, 43429 KB/s, 10 seconds passed -... 63%, 442208 KB, 43431 KB/s, 10 seconds passed -... 63%, 442240 KB, 43433 KB/s, 10 seconds passed -... 63%, 442272 KB, 43436 KB/s, 10 seconds passed -... 63%, 442304 KB, 43438 KB/s, 10 seconds passed -... 63%, 442336 KB, 43440 KB/s, 10 seconds passed -... 63%, 442368 KB, 43442 KB/s, 10 seconds passed -... 63%, 442400 KB, 43444 KB/s, 10 seconds passed -... 63%, 442432 KB, 43446 KB/s, 10 seconds passed -... 63%, 442464 KB, 43448 KB/s, 10 seconds passed -... 63%, 442496 KB, 43450 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 63%, 442528 KB, 43344 KB/s, 10 seconds passed -... 63%, 442560 KB, 43345 KB/s, 10 seconds passed -... 63%, 442592 KB, 43346 KB/s, 10 seconds passed -... 63%, 442624 KB, 43347 KB/s, 10 seconds passed -... 63%, 442656 KB, 43349 KB/s, 10 seconds passed -... 63%, 442688 KB, 43350 KB/s, 10 seconds passed -... 63%, 442720 KB, 43352 KB/s, 10 seconds passed -... 63%, 442752 KB, 43353 KB/s, 10 seconds passed -... 63%, 442784 KB, 43355 KB/s, 10 seconds passed -... 63%, 442816 KB, 43356 KB/s, 10 seconds passed -... 63%, 442848 KB, 43358 KB/s, 10 seconds passed -... 63%, 442880 KB, 43359 KB/s, 10 seconds passed -... 63%, 442912 KB, 43361 KB/s, 10 seconds passed -... 63%, 442944 KB, 43363 KB/s, 10 seconds passed -... 63%, 442976 KB, 43364 KB/s, 10 seconds passed -... 63%, 443008 KB, 43366 KB/s, 10 seconds passed -... 63%, 443040 KB, 43367 KB/s, 10 seconds passed -... 63%, 443072 KB, 43369 KB/s, 10 seconds passed -... 63%, 443104 KB, 43370 KB/s, 10 seconds passed -... 63%, 443136 KB, 43372 KB/s, 10 seconds passed -... 63%, 443168 KB, 43373 KB/s, 10 seconds passed -... 63%, 443200 KB, 43375 KB/s, 10 seconds passed -... 63%, 443232 KB, 43376 KB/s, 10 seconds passed -... 63%, 443264 KB, 43378 KB/s, 10 seconds passed -... 63%, 443296 KB, 43380 KB/s, 10 seconds passed -... 63%, 443328 KB, 43381 KB/s, 10 seconds passed -... 63%, 443360 KB, 43383 KB/s, 10 seconds passed -... 63%, 443392 KB, 43385 KB/s, 10 seconds passed -... 63%, 443424 KB, 43387 KB/s, 10 seconds passed -... 63%, 443456 KB, 43388 KB/s, 10 seconds passed -... 63%, 443488 KB, 43390 KB/s, 10 seconds passed -... 63%, 443520 KB, 43392 KB/s, 10 seconds passed -... 63%, 443552 KB, 43394 KB/s, 10 seconds passed -... 63%, 443584 KB, 43395 KB/s, 10 seconds passed -... 63%, 443616 KB, 43397 KB/s, 10 seconds passed -... 63%, 443648 KB, 43399 KB/s, 10 seconds passed -... 63%, 443680 KB, 43401 KB/s, 10 seconds passed -... 63%, 443712 KB, 43402 KB/s, 10 seconds passed -... 63%, 443744 KB, 43404 KB/s, 10 seconds passed -... 63%, 443776 KB, 43406 KB/s, 10 seconds passed -... 63%, 443808 KB, 43408 KB/s, 10 seconds passed -... 63%, 443840 KB, 43409 KB/s, 10 seconds passed -... 63%, 443872 KB, 43411 KB/s, 10 seconds passed -... 63%, 443904 KB, 43413 KB/s, 10 seconds passed -... 63%, 443936 KB, 43415 KB/s, 10 seconds passed -... 63%, 443968 KB, 43417 KB/s, 10 seconds passed -... 63%, 444000 KB, 43418 KB/s, 10 seconds passed -... 63%, 444032 KB, 43420 KB/s, 10 seconds passed -... 63%, 444064 KB, 43422 KB/s, 10 seconds passed -... 63%, 444096 KB, 43424 KB/s, 10 seconds passed -... 63%, 444128 KB, 43425 KB/s, 10 seconds passed -... 63%, 444160 KB, 43427 KB/s, 10 seconds passed -... 63%, 444192 KB, 43429 KB/s, 10 seconds passed -... 63%, 444224 KB, 43431 KB/s, 10 seconds passed -... 63%, 444256 KB, 43433 KB/s, 10 seconds passed -... 63%, 444288 KB, 43435 KB/s, 10 seconds passed -... 63%, 444320 KB, 43437 KB/s, 10 seconds passed -... 63%, 444352 KB, 43440 KB/s, 10 seconds passed -... 63%, 444384 KB, 43442 KB/s, 10 seconds passed -... 63%, 444416 KB, 43444 KB/s, 10 seconds passed -... 63%, 444448 KB, 43446 KB/s, 10 seconds passed -... 63%, 444480 KB, 43449 KB/s, 10 seconds passed -... 63%, 444512 KB, 43451 KB/s, 10 seconds passed -... 63%, 444544 KB, 43453 KB/s, 10 seconds passed -... 63%, 444576 KB, 43455 KB/s, 10 seconds passed -... 63%, 444608 KB, 43458 KB/s, 10 seconds passed -... 63%, 444640 KB, 43460 KB/s, 10 seconds passed -... 63%, 444672 KB, 43462 KB/s, 10 seconds passed -... 63%, 444704 KB, 43464 KB/s, 10 seconds passed -... 63%, 444736 KB, 43467 KB/s, 10 seconds passed -... 63%, 444768 KB, 43469 KB/s, 10 seconds passed -... 63%, 444800 KB, 43471 KB/s, 10 seconds passed -... 63%, 444832 KB, 43473 KB/s, 10 seconds passed -... 63%, 444864 KB, 43475 KB/s, 10 seconds passed -... 63%, 444896 KB, 43478 KB/s, 10 seconds passed -... 63%, 444928 KB, 43480 KB/s, 10 seconds passed -... 63%, 444960 KB, 43482 KB/s, 10 seconds passed -... 63%, 444992 KB, 43484 KB/s, 10 seconds passed -... 63%, 445024 KB, 43486 KB/s, 10 seconds passed -... 63%, 445056 KB, 43489 KB/s, 10 seconds passed -... 63%, 445088 KB, 43491 KB/s, 10 seconds passed -... 63%, 445120 KB, 43493 KB/s, 10 seconds passed -... 64%, 445152 KB, 43495 KB/s, 10 seconds passed -... 64%, 445184 KB, 43498 KB/s, 10 seconds passed -... 64%, 445216 KB, 43500 KB/s, 10 seconds passed -... 64%, 445248 KB, 43502 KB/s, 10 seconds passed -... 64%, 445280 KB, 43505 KB/s, 10 seconds passed -... 64%, 445312 KB, 43507 KB/s, 10 seconds passed -... 64%, 445344 KB, 43509 KB/s, 10 seconds passed -... 64%, 445376 KB, 43512 KB/s, 10 seconds passed -... 64%, 445408 KB, 43514 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 64%, 445440 KB, 41820 KB/s, 10 seconds passed -... 64%, 445472 KB, 41821 KB/s, 10 seconds passed -... 64%, 445504 KB, 41819 KB/s, 10 seconds passed -... 64%, 445536 KB, 41820 KB/s, 10 seconds passed -... 64%, 445568 KB, 41821 KB/s, 10 seconds passed -... 64%, 445600 KB, 41823 KB/s, 10 seconds passed -... 64%, 445632 KB, 41824 KB/s, 10 seconds passed -... 64%, 445664 KB, 41826 KB/s, 10 seconds passed -... 64%, 445696 KB, 41827 KB/s, 10 seconds passed -... 64%, 445728 KB, 41829 KB/s, 10 seconds passed -... 64%, 445760 KB, 41813 KB/s, 10 seconds passed -... 64%, 445792 KB, 41814 KB/s, 10 seconds passed -... 64%, 445824 KB, 41816 KB/s, 10 seconds passed -... 64%, 445856 KB, 41817 KB/s, 10 seconds passed -... 64%, 445888 KB, 41819 KB/s, 10 seconds passed -... 64%, 445920 KB, 41820 KB/s, 10 seconds passed -... 64%, 445952 KB, 41822 KB/s, 10 seconds passed -... 64%, 445984 KB, 41823 KB/s, 10 seconds passed -... 64%, 446016 KB, 41825 KB/s, 10 seconds passed -... 64%, 446048 KB, 41826 KB/s, 10 seconds passed -... 64%, 446080 KB, 41828 KB/s, 10 seconds passed -... 64%, 446112 KB, 41829 KB/s, 10 seconds passed -... 64%, 446144 KB, 41831 KB/s, 10 seconds passed -... 64%, 446176 KB, 41832 KB/s, 10 seconds passed -... 64%, 446208 KB, 41834 KB/s, 10 seconds passed -... 64%, 446240 KB, 41835 KB/s, 10 seconds passed -... 64%, 446272 KB, 41837 KB/s, 10 seconds passed -... 64%, 446304 KB, 41838 KB/s, 10 seconds passed -... 64%, 446336 KB, 41840 KB/s, 10 seconds passed -... 64%, 446368 KB, 41841 KB/s, 10 seconds passed -... 64%, 446400 KB, 41843 KB/s, 10 seconds passed -... 64%, 446432 KB, 41844 KB/s, 10 seconds passed -... 64%, 446464 KB, 41846 KB/s, 10 seconds passed -... 64%, 446496 KB, 41847 KB/s, 10 seconds passed -... 64%, 446528 KB, 41849 KB/s, 10 seconds passed -... 64%, 446560 KB, 41850 KB/s, 10 seconds passed -... 64%, 446592 KB, 41852 KB/s, 10 seconds passed -... 64%, 446624 KB, 41853 KB/s, 10 seconds passed -... 64%, 446656 KB, 41855 KB/s, 10 seconds passed -... 64%, 446688 KB, 41856 KB/s, 10 seconds passed -... 64%, 446720 KB, 41858 KB/s, 10 seconds passed -... 64%, 446752 KB, 41860 KB/s, 10 seconds passed -... 64%, 446784 KB, 41862 KB/s, 10 seconds passed -... 64%, 446816 KB, 41864 KB/s, 10 seconds passed -... 64%, 446848 KB, 41866 KB/s, 10 seconds passed -... 64%, 446880 KB, 41868 KB/s, 10 seconds passed -... 64%, 446912 KB, 41870 KB/s, 10 seconds passed -... 64%, 446944 KB, 41872 KB/s, 10 seconds passed -... 64%, 446976 KB, 41874 KB/s, 10 seconds passed -... 64%, 447008 KB, 41876 KB/s, 10 seconds passed -... 64%, 447040 KB, 41878 KB/s, 10 seconds passed -... 64%, 447072 KB, 41880 KB/s, 10 seconds passed -... 64%, 447104 KB, 41882 KB/s, 10 seconds passed -... 64%, 447136 KB, 41884 KB/s, 10 seconds passed -... 64%, 447168 KB, 41886 KB/s, 10 seconds passed -... 64%, 447200 KB, 41888 KB/s, 10 seconds passed -... 64%, 447232 KB, 41891 KB/s, 10 seconds passed -... 64%, 447264 KB, 41893 KB/s, 10 seconds passed -... 64%, 447296 KB, 41895 KB/s, 10 seconds passed -... 64%, 447328 KB, 41897 KB/s, 10 seconds passed -... 64%, 447360 KB, 41899 KB/s, 10 seconds passed -... 64%, 447392 KB, 41901 KB/s, 10 seconds passed -... 64%, 447424 KB, 41903 KB/s, 10 seconds passed -... 64%, 447456 KB, 41905 KB/s, 10 seconds passed -... 64%, 447488 KB, 41907 KB/s, 10 seconds passed -... 64%, 447520 KB, 41909 KB/s, 10 seconds passed -... 64%, 447552 KB, 41911 KB/s, 10 seconds passed -... 64%, 447584 KB, 41913 KB/s, 10 seconds passed -... 64%, 447616 KB, 41915 KB/s, 10 seconds passed -... 64%, 447648 KB, 41917 KB/s, 10 seconds passed -... 64%, 447680 KB, 41919 KB/s, 10 seconds passed -... 64%, 447712 KB, 41921 KB/s, 10 seconds passed -... 64%, 447744 KB, 41923 KB/s, 10 seconds passed -... 64%, 447776 KB, 41925 KB/s, 10 seconds passed -... 64%, 447808 KB, 41927 KB/s, 10 seconds passed -... 64%, 447840 KB, 41929 KB/s, 10 seconds passed -... 64%, 447872 KB, 41931 KB/s, 10 seconds passed -... 64%, 447904 KB, 41933 KB/s, 10 seconds passed -... 64%, 447936 KB, 41935 KB/s, 10 seconds passed -... 64%, 447968 KB, 41938 KB/s, 10 seconds passed -... 64%, 448000 KB, 41940 KB/s, 10 seconds passed -... 64%, 448032 KB, 41942 KB/s, 10 seconds passed -... 64%, 448064 KB, 41945 KB/s, 10 seconds passed -... 64%, 448096 KB, 41947 KB/s, 10 seconds passed -... 64%, 448128 KB, 41949 KB/s, 10 seconds passed -... 64%, 448160 KB, 41945 KB/s, 10 seconds passed -... 64%, 448192 KB, 41946 KB/s, 10 seconds passed -... 64%, 448224 KB, 41948 KB/s, 10 seconds passed -... 64%, 448256 KB, 41950 KB/s, 10 seconds passed -... 64%, 448288 KB, 41953 KB/s, 10 seconds passed -... 64%, 448320 KB, 41955 KB/s, 10 seconds passed -... 64%, 448352 KB, 41957 KB/s, 10 seconds passed -... 64%, 448384 KB, 41958 KB/s, 10 seconds passed -... 64%, 448416 KB, 41960 KB/s, 10 seconds passed -... 64%, 448448 KB, 41962 KB/s, 10 seconds passed -... 64%, 448480 KB, 41964 KB/s, 10 seconds passed -... 64%, 448512 KB, 41966 KB/s, 10 seconds passed -... 64%, 448544 KB, 41968 KB/s, 10 seconds passed -... 64%, 448576 KB, 41970 KB/s, 10 seconds passed -... 64%, 448608 KB, 41972 KB/s, 10 seconds passed -... 64%, 448640 KB, 41974 KB/s, 10 seconds passed -... 64%, 448672 KB, 41976 KB/s, 10 seconds passed -... 64%, 448704 KB, 41977 KB/s, 10 seconds passed -... 64%, 448736 KB, 41979 KB/s, 10 seconds passed -... 64%, 448768 KB, 41981 KB/s, 10 seconds passed -... 64%, 448800 KB, 41983 KB/s, 10 seconds passed -... 64%, 448832 KB, 41985 KB/s, 10 seconds passed -... 64%, 448864 KB, 41987 KB/s, 10 seconds passed -... 64%, 448896 KB, 41989 KB/s, 10 seconds passed -... 64%, 448928 KB, 41991 KB/s, 10 seconds passed -... 64%, 448960 KB, 41993 KB/s, 10 seconds passed -... 64%, 448992 KB, 41994 KB/s, 10 seconds passed -... 64%, 449024 KB, 41996 KB/s, 10 seconds passed -... 64%, 449056 KB, 41998 KB/s, 10 seconds passed -... 64%, 449088 KB, 42000 KB/s, 10 seconds passed -... 64%, 449120 KB, 42002 KB/s, 10 seconds passed -... 64%, 449152 KB, 42004 KB/s, 10 seconds passed -... 64%, 449184 KB, 42005 KB/s, 10 seconds passed -... 64%, 449216 KB, 42007 KB/s, 10 seconds passed -... 64%, 449248 KB, 42009 KB/s, 10 seconds passed -... 64%, 449280 KB, 42010 KB/s, 10 seconds passed -... 64%, 449312 KB, 42012 KB/s, 10 seconds passed -... 64%, 449344 KB, 42013 KB/s, 10 seconds passed -... 64%, 449376 KB, 42015 KB/s, 10 seconds passed -... 64%, 449408 KB, 42017 KB/s, 10 seconds passed -... 64%, 449440 KB, 42019 KB/s, 10 seconds passed -... 64%, 449472 KB, 42020 KB/s, 10 seconds passed -... 64%, 449504 KB, 42022 KB/s, 10 seconds passed -... 64%, 449536 KB, 42023 KB/s, 10 seconds passed -... 64%, 449568 KB, 42025 KB/s, 10 seconds passed -... 64%, 449600 KB, 42027 KB/s, 10 seconds passed -... 64%, 449632 KB, 42028 KB/s, 10 seconds passed -... 64%, 449664 KB, 42030 KB/s, 10 seconds passed -... 64%, 449696 KB, 42032 KB/s, 10 seconds passed -... 64%, 449728 KB, 42033 KB/s, 10 seconds passed -... 64%, 449760 KB, 42035 KB/s, 10 seconds passed -... 64%, 449792 KB, 42037 KB/s, 10 seconds passed -... 64%, 449824 KB, 42038 KB/s, 10 seconds passed -... 64%, 449856 KB, 42040 KB/s, 10 seconds passed -... 64%, 449888 KB, 42042 KB/s, 10 seconds passed -... 64%, 449920 KB, 42043 KB/s, 10 seconds passed -... 64%, 449952 KB, 42045 KB/s, 10 seconds passed -... 64%, 449984 KB, 42047 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 64%, 450016 KB, 42048 KB/s, 10 seconds passed -... 64%, 450048 KB, 42050 KB/s, 10 seconds passed -... 64%, 450080 KB, 42052 KB/s, 10 seconds passed -... 64%, 450112 KB, 42054 KB/s, 10 seconds passed -... 64%, 450144 KB, 42057 KB/s, 10 seconds passed -... 64%, 450176 KB, 42059 KB/s, 10 seconds passed -... 64%, 450208 KB, 42061 KB/s, 10 seconds passed -... 64%, 450240 KB, 42064 KB/s, 10 seconds passed -... 64%, 450272 KB, 42066 KB/s, 10 seconds passed -... 64%, 450304 KB, 42063 KB/s, 10 seconds passed -... 64%, 450336 KB, 42063 KB/s, 10 seconds passed -... 64%, 450368 KB, 42060 KB/s, 10 seconds passed -... 64%, 450400 KB, 42062 KB/s, 10 seconds passed -... 64%, 450432 KB, 42064 KB/s, 10 seconds passed -... 64%, 450464 KB, 42066 KB/s, 10 seconds passed -... 64%, 450496 KB, 42068 KB/s, 10 seconds passed -... 64%, 450528 KB, 42070 KB/s, 10 seconds passed -... 64%, 450560 KB, 41914 KB/s, 10 seconds passed -... 64%, 450592 KB, 41914 KB/s, 10 seconds passed -... 64%, 450624 KB, 41915 KB/s, 10 seconds passed -... 64%, 450656 KB, 41917 KB/s, 10 seconds passed -... 64%, 450688 KB, 41919 KB/s, 10 seconds passed -... 64%, 450720 KB, 41918 KB/s, 10 seconds passed -... 64%, 450752 KB, 41919 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 64%, 450784 KB, 41918 KB/s, 10 seconds passed -... 64%, 450816 KB, 41919 KB/s, 10 seconds passed -... 64%, 450848 KB, 41921 KB/s, 10 seconds passed -... 64%, 450880 KB, 41922 KB/s, 10 seconds passed -... 64%, 450912 KB, 41924 KB/s, 10 seconds passed -... 64%, 450944 KB, 41925 KB/s, 10 seconds passed -... 64%, 450976 KB, 41927 KB/s, 10 seconds passed -... 64%, 451008 KB, 41928 KB/s, 10 seconds passed -... 64%, 451040 KB, 41930 KB/s, 10 seconds passed -... 64%, 451072 KB, 41931 KB/s, 10 seconds passed -... 64%, 451104 KB, 41933 KB/s, 10 seconds passed -... 64%, 451136 KB, 41934 KB/s, 10 seconds passed -... 64%, 451168 KB, 41936 KB/s, 10 seconds passed -... 64%, 451200 KB, 41937 KB/s, 10 seconds passed -... 64%, 451232 KB, 41939 KB/s, 10 seconds passed -... 64%, 451264 KB, 41940 KB/s, 10 seconds passed -... 64%, 451296 KB, 41942 KB/s, 10 seconds passed -... 64%, 451328 KB, 41943 KB/s, 10 seconds passed -... 64%, 451360 KB, 41944 KB/s, 10 seconds passed -... 64%, 451392 KB, 41946 KB/s, 10 seconds passed -... 64%, 451424 KB, 41947 KB/s, 10 seconds passed -... 64%, 451456 KB, 41949 KB/s, 10 seconds passed -... 64%, 451488 KB, 41950 KB/s, 10 seconds passed -... 64%, 451520 KB, 41952 KB/s, 10 seconds passed -... 64%, 451552 KB, 41953 KB/s, 10 seconds passed -... 64%, 451584 KB, 41955 KB/s, 10 seconds passed -... 64%, 451616 KB, 41957 KB/s, 10 seconds passed -... 64%, 451648 KB, 41959 KB/s, 10 seconds passed -... 64%, 451680 KB, 41961 KB/s, 10 seconds passed -... 64%, 451712 KB, 41962 KB/s, 10 seconds passed -... 64%, 451744 KB, 41964 KB/s, 10 seconds passed -... 64%, 451776 KB, 41966 KB/s, 10 seconds passed -... 64%, 451808 KB, 41968 KB/s, 10 seconds passed -... 64%, 451840 KB, 41970 KB/s, 10 seconds passed -... 64%, 451872 KB, 41972 KB/s, 10 seconds passed -... 64%, 451904 KB, 41973 KB/s, 10 seconds passed -... 64%, 451936 KB, 41975 KB/s, 10 seconds passed -... 64%, 451968 KB, 41977 KB/s, 10 seconds passed -... 64%, 452000 KB, 41979 KB/s, 10 seconds passed -... 64%, 452032 KB, 41981 KB/s, 10 seconds passed -... 64%, 452064 KB, 41983 KB/s, 10 seconds passed -... 65%, 452096 KB, 41984 KB/s, 10 seconds passed -... 65%, 452128 KB, 41986 KB/s, 10 seconds passed -... 65%, 452160 KB, 41988 KB/s, 10 seconds passed -... 65%, 452192 KB, 41990 KB/s, 10 seconds passed -... 65%, 452224 KB, 41992 KB/s, 10 seconds passed -... 65%, 452256 KB, 41994 KB/s, 10 seconds passed -... 65%, 452288 KB, 41996 KB/s, 10 seconds passed -... 65%, 452320 KB, 41997 KB/s, 10 seconds passed -... 65%, 452352 KB, 41999 KB/s, 10 seconds passed -... 65%, 452384 KB, 42001 KB/s, 10 seconds passed -... 65%, 452416 KB, 42004 KB/s, 10 seconds passed -... 65%, 452448 KB, 42006 KB/s, 10 seconds passed -... 65%, 452480 KB, 42008 KB/s, 10 seconds passed -... 65%, 452512 KB, 42010 KB/s, 10 seconds passed -... 65%, 452544 KB, 42012 KB/s, 10 seconds passed -... 65%, 452576 KB, 42014 KB/s, 10 seconds passed -... 65%, 452608 KB, 42016 KB/s, 10 seconds passed -... 65%, 452640 KB, 42018 KB/s, 10 seconds passed -... 65%, 452672 KB, 42004 KB/s, 10 seconds passed -... 65%, 452704 KB, 42006 KB/s, 10 seconds passed -... 65%, 452736 KB, 42008 KB/s, 10 seconds passed -... 65%, 452768 KB, 41999 KB/s, 10 seconds passed -... 65%, 452800 KB, 42000 KB/s, 10 seconds passed -... 65%, 452832 KB, 42002 KB/s, 10 seconds passed -... 65%, 452864 KB, 42004 KB/s, 10 seconds passed -... 65%, 452896 KB, 42006 KB/s, 10 seconds passed -... 65%, 452928 KB, 42008 KB/s, 10 seconds passed -... 65%, 452960 KB, 41998 KB/s, 10 seconds passed -... 65%, 452992 KB, 42000 KB/s, 10 seconds passed -... 65%, 453024 KB, 41996 KB/s, 10 seconds passed -... 65%, 453056 KB, 41998 KB/s, 10 seconds passed -... 65%, 453088 KB, 41999 KB/s, 10 seconds passed -... 65%, 453120 KB, 42000 KB/s, 10 seconds passed -... 65%, 453152 KB, 42002 KB/s, 10 seconds passed -... 65%, 453184 KB, 42003 KB/s, 10 seconds passed -... 65%, 453216 KB, 42005 KB/s, 10 seconds passed -... 65%, 453248 KB, 42006 KB/s, 10 seconds passed -... 65%, 453280 KB, 42008 KB/s, 10 seconds passed -... 65%, 453312 KB, 42009 KB/s, 10 seconds passed -... 65%, 453344 KB, 42011 KB/s, 10 seconds passed -... 65%, 453376 KB, 42013 KB/s, 10 seconds passed -... 65%, 453408 KB, 42006 KB/s, 10 seconds passed -... 65%, 453440 KB, 42007 KB/s, 10 seconds passed -... 65%, 453472 KB, 42008 KB/s, 10 seconds passed -... 65%, 453504 KB, 42010 KB/s, 10 seconds passed -... 65%, 453536 KB, 42011 KB/s, 10 seconds passed -... 65%, 453568 KB, 42013 KB/s, 10 seconds passed -... 65%, 453600 KB, 42014 KB/s, 10 seconds passed -... 65%, 453632 KB, 42015 KB/s, 10 seconds passed -... 65%, 453664 KB, 42017 KB/s, 10 seconds passed -... 65%, 453696 KB, 42018 KB/s, 10 seconds passed -... 65%, 453728 KB, 42020 KB/s, 10 seconds passed -... 65%, 453760 KB, 42021 KB/s, 10 seconds passed -... 65%, 453792 KB, 42023 KB/s, 10 seconds passed -... 65%, 453824 KB, 42024 KB/s, 10 seconds passed -... 65%, 453856 KB, 42026 KB/s, 10 seconds passed -... 65%, 453888 KB, 42027 KB/s, 10 seconds passed -... 65%, 453920 KB, 42029 KB/s, 10 seconds passed -... 65%, 453952 KB, 42030 KB/s, 10 seconds passed -... 65%, 453984 KB, 42032 KB/s, 10 seconds passed -... 65%, 454016 KB, 42033 KB/s, 10 seconds passed -... 65%, 454048 KB, 42035 KB/s, 10 seconds passed -... 65%, 454080 KB, 42036 KB/s, 10 seconds passed -... 65%, 454112 KB, 42038 KB/s, 10 seconds passed -... 65%, 454144 KB, 42039 KB/s, 10 seconds passed -... 65%, 454176 KB, 42041 KB/s, 10 seconds passed -... 65%, 454208 KB, 42042 KB/s, 10 seconds passed -... 65%, 454240 KB, 42044 KB/s, 10 seconds passed -... 65%, 454272 KB, 42046 KB/s, 10 seconds passed -... 65%, 454304 KB, 42048 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 65%, 454336 KB, 42050 KB/s, 10 seconds passed -... 65%, 454368 KB, 42052 KB/s, 10 seconds passed -... 65%, 454400 KB, 42053 KB/s, 10 seconds passed -... 65%, 454432 KB, 42055 KB/s, 10 seconds passed -... 65%, 454464 KB, 42057 KB/s, 10 seconds passed -... 65%, 454496 KB, 42059 KB/s, 10 seconds passed -... 65%, 454528 KB, 42061 KB/s, 10 seconds passed -... 65%, 454560 KB, 42063 KB/s, 10 seconds passed -... 65%, 454592 KB, 42065 KB/s, 10 seconds passed -... 65%, 454624 KB, 42067 KB/s, 10 seconds passed -... 65%, 454656 KB, 42069 KB/s, 10 seconds passed -... 65%, 454688 KB, 42071 KB/s, 10 seconds passed -... 65%, 454720 KB, 42073 KB/s, 10 seconds passed -... 65%, 454752 KB, 42075 KB/s, 10 seconds passed -... 65%, 454784 KB, 42077 KB/s, 10 seconds passed -... 65%, 454816 KB, 42079 KB/s, 10 seconds passed -... 65%, 454848 KB, 42081 KB/s, 10 seconds passed -... 65%, 454880 KB, 42083 KB/s, 10 seconds passed -... 65%, 454912 KB, 42085 KB/s, 10 seconds passed -... 65%, 454944 KB, 42087 KB/s, 10 seconds passed -... 65%, 454976 KB, 42089 KB/s, 10 seconds passed -... 65%, 455008 KB, 42091 KB/s, 10 seconds passed -... 65%, 455040 KB, 42093 KB/s, 10 seconds passed -... 65%, 455072 KB, 42095 KB/s, 10 seconds passed -... 65%, 455104 KB, 42097 KB/s, 10 seconds passed -... 65%, 455136 KB, 42099 KB/s, 10 seconds passed -... 65%, 455168 KB, 42101 KB/s, 10 seconds passed -... 65%, 455200 KB, 42103 KB/s, 10 seconds passed -... 65%, 455232 KB, 42105 KB/s, 10 seconds passed -... 65%, 455264 KB, 42107 KB/s, 10 seconds passed -... 65%, 455296 KB, 42109 KB/s, 10 seconds passed -... 65%, 455328 KB, 42111 KB/s, 10 seconds passed -... 65%, 455360 KB, 42113 KB/s, 10 seconds passed -... 65%, 455392 KB, 42115 KB/s, 10 seconds passed -... 65%, 455424 KB, 42117 KB/s, 10 seconds passed -... 65%, 455456 KB, 42118 KB/s, 10 seconds passed -... 65%, 455488 KB, 42120 KB/s, 10 seconds passed -... 65%, 455520 KB, 42123 KB/s, 10 seconds passed -... 65%, 455552 KB, 42125 KB/s, 10 seconds passed -... 65%, 455584 KB, 42127 KB/s, 10 seconds passed -... 65%, 455616 KB, 42130 KB/s, 10 seconds passed -... 65%, 455648 KB, 42132 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 65%, 455680 KB, 41902 KB/s, 10 seconds passed -... 65%, 455712 KB, 41903 KB/s, 10 seconds passed -... 65%, 455744 KB, 41905 KB/s, 10 seconds passed -... 65%, 455776 KB, 41906 KB/s, 10 seconds passed -... 65%, 455808 KB, 41907 KB/s, 10 seconds passed -... 65%, 455840 KB, 41909 KB/s, 10 seconds passed -... 65%, 455872 KB, 41910 KB/s, 10 seconds passed -... 65%, 455904 KB, 41912 KB/s, 10 seconds passed -... 65%, 455936 KB, 41913 KB/s, 10 seconds passed -... 65%, 455968 KB, 41915 KB/s, 10 seconds passed -... 65%, 456000 KB, 41916 KB/s, 10 seconds passed -... 65%, 456032 KB, 41918 KB/s, 10 seconds passed -... 65%, 456064 KB, 41919 KB/s, 10 seconds passed -... 65%, 456096 KB, 41921 KB/s, 10 seconds passed -... 65%, 456128 KB, 41922 KB/s, 10 seconds passed -... 65%, 456160 KB, 41923 KB/s, 10 seconds passed -... 65%, 456192 KB, 41925 KB/s, 10 seconds passed -... 65%, 456224 KB, 41926 KB/s, 10 seconds passed -... 65%, 456256 KB, 41928 KB/s, 10 seconds passed -... 65%, 456288 KB, 41929 KB/s, 10 seconds passed -... 65%, 456320 KB, 41931 KB/s, 10 seconds passed -... 65%, 456352 KB, 41932 KB/s, 10 seconds passed -... 65%, 456384 KB, 41934 KB/s, 10 seconds passed -... 65%, 456416 KB, 41935 KB/s, 10 seconds passed -... 65%, 456448 KB, 41937 KB/s, 10 seconds passed -... 65%, 456480 KB, 41938 KB/s, 10 seconds passed -... 65%, 456512 KB, 41940 KB/s, 10 seconds passed -... 65%, 456544 KB, 41942 KB/s, 10 seconds passed -... 65%, 456576 KB, 41944 KB/s, 10 seconds passed -... 65%, 456608 KB, 41946 KB/s, 10 seconds passed -... 65%, 456640 KB, 41948 KB/s, 10 seconds passed -... 65%, 456672 KB, 41950 KB/s, 10 seconds passed -... 65%, 456704 KB, 41953 KB/s, 10 seconds passed -... 65%, 456736 KB, 41955 KB/s, 10 seconds passed -... 65%, 456768 KB, 41957 KB/s, 10 seconds passed -... 65%, 456800 KB, 41959 KB/s, 10 seconds passed -... 65%, 456832 KB, 41945 KB/s, 10 seconds passed -... 65%, 456864 KB, 41947 KB/s, 10 seconds passed -... 65%, 456896 KB, 41949 KB/s, 10 seconds passed -... 65%, 456928 KB, 41951 KB/s, 10 seconds passed -... 65%, 456960 KB, 41952 KB/s, 10 seconds passed -... 65%, 456992 KB, 41954 KB/s, 10 seconds passed -... 65%, 457024 KB, 41956 KB/s, 10 seconds passed -... 65%, 457056 KB, 41958 KB/s, 10 seconds passed -... 65%, 457088 KB, 41960 KB/s, 10 seconds passed -... 65%, 457120 KB, 41962 KB/s, 10 seconds passed -... 65%, 457152 KB, 41964 KB/s, 10 seconds passed -... 65%, 457184 KB, 41966 KB/s, 10 seconds passed -... 65%, 457216 KB, 41968 KB/s, 10 seconds passed -... 65%, 457248 KB, 41970 KB/s, 10 seconds passed -... 65%, 457280 KB, 41971 KB/s, 10 seconds passed -... 65%, 457312 KB, 41973 KB/s, 10 seconds passed -... 65%, 457344 KB, 41975 KB/s, 10 seconds passed -... 65%, 457376 KB, 41977 KB/s, 10 seconds passed -... 65%, 457408 KB, 41978 KB/s, 10 seconds passed -... 65%, 457440 KB, 41980 KB/s, 10 seconds passed -... 65%, 457472 KB, 41982 KB/s, 10 seconds passed -... 65%, 457504 KB, 41984 KB/s, 10 seconds passed -... 65%, 457536 KB, 41986 KB/s, 10 seconds passed -... 65%, 457568 KB, 41988 KB/s, 10 seconds passed -... 65%, 457600 KB, 41990 KB/s, 10 seconds passed -... 65%, 457632 KB, 41992 KB/s, 10 seconds passed -... 65%, 457664 KB, 41994 KB/s, 10 seconds passed -... 65%, 457696 KB, 41995 KB/s, 10 seconds passed -... 65%, 457728 KB, 41997 KB/s, 10 seconds passed -... 65%, 457760 KB, 41999 KB/s, 10 seconds passed -... 65%, 457792 KB, 42001 KB/s, 10 seconds passed -... 65%, 457824 KB, 42003 KB/s, 10 seconds passed -... 65%, 457856 KB, 42005 KB/s, 10 seconds passed -... 65%, 457888 KB, 42006 KB/s, 10 seconds passed -... 65%, 457920 KB, 42008 KB/s, 10 seconds passed -... 65%, 457952 KB, 42010 KB/s, 10 seconds passed -... 65%, 457984 KB, 42012 KB/s, 10 seconds passed -... 65%, 458016 KB, 42014 KB/s, 10 seconds passed -... 65%, 458048 KB, 42016 KB/s, 10 seconds passed -... 65%, 458080 KB, 42018 KB/s, 10 seconds passed -... 65%, 458112 KB, 42020 KB/s, 10 seconds passed -... 65%, 458144 KB, 42022 KB/s, 10 seconds passed -... 65%, 458176 KB, 42023 KB/s, 10 seconds passed -... 65%, 458208 KB, 42025 KB/s, 10 seconds passed -... 65%, 458240 KB, 42027 KB/s, 10 seconds passed -... 65%, 458272 KB, 42029 KB/s, 10 seconds passed -... 65%, 458304 KB, 42031 KB/s, 10 seconds passed -... 65%, 458336 KB, 42033 KB/s, 10 seconds passed -... 65%, 458368 KB, 42035 KB/s, 10 seconds passed -... 65%, 458400 KB, 42036 KB/s, 10 seconds passed -... 65%, 458432 KB, 42038 KB/s, 10 seconds passed -... 65%, 458464 KB, 42040 KB/s, 10 seconds passed -... 65%, 458496 KB, 42042 KB/s, 10 seconds passed -... 65%, 458528 KB, 42044 KB/s, 10 seconds passed -... 65%, 458560 KB, 42046 KB/s, 10 seconds passed -... 65%, 458592 KB, 42048 KB/s, 10 seconds passed -... 65%, 458624 KB, 42050 KB/s, 10 seconds passed -... 65%, 458656 KB, 42051 KB/s, 10 seconds passed -... 65%, 458688 KB, 42053 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 65%, 458720 KB, 42055 KB/s, 10 seconds passed -... 65%, 458752 KB, 42057 KB/s, 10 seconds passed -... 65%, 458784 KB, 42059 KB/s, 10 seconds passed -... 65%, 458816 KB, 42060 KB/s, 10 seconds passed -... 65%, 458848 KB, 42062 KB/s, 10 seconds passed -... 65%, 458880 KB, 42064 KB/s, 10 seconds passed -... 65%, 458912 KB, 42066 KB/s, 10 seconds passed -... 65%, 458944 KB, 42068 KB/s, 10 seconds passed -... 65%, 458976 KB, 42070 KB/s, 10 seconds passed -... 65%, 459008 KB, 42072 KB/s, 10 seconds passed -... 66%, 459040 KB, 42074 KB/s, 10 seconds passed -... 66%, 459072 KB, 42076 KB/s, 10 seconds passed -... 66%, 459104 KB, 42077 KB/s, 10 seconds passed -... 66%, 459136 KB, 42079 KB/s, 10 seconds passed -... 66%, 459168 KB, 42081 KB/s, 10 seconds passed -... 66%, 459200 KB, 42083 KB/s, 10 seconds passed -... 66%, 459232 KB, 42084 KB/s, 10 seconds passed -... 66%, 459264 KB, 42087 KB/s, 10 seconds passed -... 66%, 459296 KB, 42089 KB/s, 10 seconds passed -... 66%, 459328 KB, 42090 KB/s, 10 seconds passed -... 66%, 459360 KB, 42092 KB/s, 10 seconds passed -... 66%, 459392 KB, 42094 KB/s, 10 seconds passed -... 66%, 459424 KB, 42096 KB/s, 10 seconds passed -... 66%, 459456 KB, 42097 KB/s, 10 seconds passed -... 66%, 459488 KB, 42099 KB/s, 10 seconds passed -... 66%, 459520 KB, 42101 KB/s, 10 seconds passed -... 66%, 459552 KB, 42103 KB/s, 10 seconds passed -... 66%, 459584 KB, 42105 KB/s, 10 seconds passed -... 66%, 459616 KB, 42107 KB/s, 10 seconds passed -... 66%, 459648 KB, 42109 KB/s, 10 seconds passed -... 66%, 459680 KB, 42111 KB/s, 10 seconds passed -... 66%, 459712 KB, 42113 KB/s, 10 seconds passed -... 66%, 459744 KB, 42115 KB/s, 10 seconds passed -... 66%, 459776 KB, 42116 KB/s, 10 seconds passed -... 66%, 459808 KB, 42118 KB/s, 10 seconds passed -... 66%, 459840 KB, 42119 KB/s, 10 seconds passed -... 66%, 459872 KB, 42121 KB/s, 10 seconds passed -... 66%, 459904 KB, 42123 KB/s, 10 seconds passed -... 66%, 459936 KB, 42125 KB/s, 10 seconds passed -... 66%, 459968 KB, 42127 KB/s, 10 seconds passed -... 66%, 460000 KB, 42128 KB/s, 10 seconds passed -... 66%, 460032 KB, 42131 KB/s, 10 seconds passed -... 66%, 460064 KB, 42133 KB/s, 10 seconds passed -... 66%, 460096 KB, 42135 KB/s, 10 seconds passed -... 66%, 460128 KB, 42137 KB/s, 10 seconds passed -... 66%, 460160 KB, 42138 KB/s, 10 seconds passed -... 66%, 460192 KB, 42140 KB/s, 10 seconds passed -... 66%, 460224 KB, 42142 KB/s, 10 seconds passed -... 66%, 460256 KB, 42144 KB/s, 10 seconds passed -... 66%, 460288 KB, 42146 KB/s, 10 seconds passed -... 66%, 460320 KB, 42147 KB/s, 10 seconds passed -... 66%, 460352 KB, 42149 KB/s, 10 seconds passed -... 66%, 460384 KB, 42151 KB/s, 10 seconds passed -... 66%, 460416 KB, 42153 KB/s, 10 seconds passed -... 66%, 460448 KB, 42155 KB/s, 10 seconds passed -... 66%, 460480 KB, 42157 KB/s, 10 seconds passed -... 66%, 460512 KB, 42159 KB/s, 10 seconds passed -... 66%, 460544 KB, 42161 KB/s, 10 seconds passed -... 66%, 460576 KB, 42163 KB/s, 10 seconds passed -... 66%, 460608 KB, 42164 KB/s, 10 seconds passed -... 66%, 460640 KB, 42166 KB/s, 10 seconds passed -... 66%, 460672 KB, 42168 KB/s, 10 seconds passed -... 66%, 460704 KB, 42170 KB/s, 10 seconds passed -... 66%, 460736 KB, 42172 KB/s, 10 seconds passed -... 66%, 460768 KB, 42174 KB/s, 10 seconds passed -... 66%, 460800 KB, 42115 KB/s, 10 seconds passed -... 66%, 460832 KB, 42117 KB/s, 10 seconds passed -... 66%, 460864 KB, 42118 KB/s, 10 seconds passed -... 66%, 460896 KB, 42120 KB/s, 10 seconds passed -... 66%, 460928 KB, 42121 KB/s, 10 seconds passed -... 66%, 460960 KB, 42113 KB/s, 10 seconds passed -... 66%, 460992 KB, 42115 KB/s, 10 seconds passed -... 66%, 461024 KB, 42116 KB/s, 10 seconds passed -... 66%, 461056 KB, 42118 KB/s, 10 seconds passed -... 66%, 461088 KB, 42119 KB/s, 10 seconds passed -... 66%, 461120 KB, 42121 KB/s, 10 seconds passed -... 66%, 461152 KB, 42122 KB/s, 10 seconds passed -... 66%, 461184 KB, 42124 KB/s, 10 seconds passed -... 66%, 461216 KB, 42125 KB/s, 10 seconds passed -... 66%, 461248 KB, 42127 KB/s, 10 seconds passed -... 66%, 461280 KB, 42128 KB/s, 10 seconds passed -... 66%, 461312 KB, 42130 KB/s, 10 seconds passed -... 66%, 461344 KB, 42131 KB/s, 10 seconds passed -... 66%, 461376 KB, 42133 KB/s, 10 seconds passed -... 66%, 461408 KB, 42134 KB/s, 10 seconds passed -... 66%, 461440 KB, 42136 KB/s, 10 seconds passed -... 66%, 461472 KB, 42137 KB/s, 10 seconds passed -... 66%, 461504 KB, 42139 KB/s, 10 seconds passed -... 66%, 461536 KB, 42140 KB/s, 10 seconds passed -... 66%, 461568 KB, 42142 KB/s, 10 seconds passed -... 66%, 461600 KB, 42143 KB/s, 10 seconds passed -... 66%, 461632 KB, 42145 KB/s, 10 seconds passed -... 66%, 461664 KB, 42146 KB/s, 10 seconds passed -... 66%, 461696 KB, 42148 KB/s, 10 seconds passed -... 66%, 461728 KB, 42149 KB/s, 10 seconds passed -... 66%, 461760 KB, 42151 KB/s, 10 seconds passed -... 66%, 461792 KB, 42152 KB/s, 10 seconds passed -... 66%, 461824 KB, 42154 KB/s, 10 seconds passed -... 66%, 461856 KB, 42155 KB/s, 10 seconds passed -... 66%, 461888 KB, 42157 KB/s, 10 seconds passed -... 66%, 461920 KB, 42159 KB/s, 10 seconds passed -... 66%, 461952 KB, 42161 KB/s, 10 seconds passed -... 66%, 461984 KB, 42163 KB/s, 10 seconds passed -... 66%, 462016 KB, 42165 KB/s, 10 seconds passed -... 66%, 462048 KB, 42167 KB/s, 10 seconds passed -... 66%, 462080 KB, 42169 KB/s, 10 seconds passed -... 66%, 462112 KB, 42170 KB/s, 10 seconds passed -... 66%, 462144 KB, 42172 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 66%, 462176 KB, 42174 KB/s, 10 seconds passed -... 66%, 462208 KB, 42176 KB/s, 10 seconds passed -... 66%, 462240 KB, 42178 KB/s, 10 seconds passed -... 66%, 462272 KB, 42180 KB/s, 10 seconds passed -... 66%, 462304 KB, 42182 KB/s, 10 seconds passed -... 66%, 462336 KB, 42184 KB/s, 10 seconds passed -... 66%, 462368 KB, 42186 KB/s, 10 seconds passed -... 66%, 462400 KB, 42188 KB/s, 10 seconds passed -... 66%, 462432 KB, 42190 KB/s, 10 seconds passed -... 66%, 462464 KB, 42191 KB/s, 10 seconds passed -... 66%, 462496 KB, 42193 KB/s, 10 seconds passed -... 66%, 462528 KB, 42195 KB/s, 10 seconds passed -... 66%, 462560 KB, 42197 KB/s, 10 seconds passed -... 66%, 462592 KB, 42199 KB/s, 10 seconds passed -... 66%, 462624 KB, 42201 KB/s, 10 seconds passed -... 66%, 462656 KB, 42203 KB/s, 10 seconds passed -... 66%, 462688 KB, 42205 KB/s, 10 seconds passed -... 66%, 462720 KB, 42207 KB/s, 10 seconds passed -... 66%, 462752 KB, 42209 KB/s, 10 seconds passed -... 66%, 462784 KB, 42210 KB/s, 10 seconds passed -... 66%, 462816 KB, 42212 KB/s, 10 seconds passed -... 66%, 462848 KB, 42214 KB/s, 10 seconds passed -... 66%, 462880 KB, 42216 KB/s, 10 seconds passed -... 66%, 462912 KB, 42218 KB/s, 10 seconds passed -... 66%, 462944 KB, 42220 KB/s, 10 seconds passed -... 66%, 462976 KB, 42222 KB/s, 10 seconds passed -... 66%, 463008 KB, 42224 KB/s, 10 seconds passed -... 66%, 463040 KB, 42226 KB/s, 10 seconds passed -... 66%, 463072 KB, 42228 KB/s, 10 seconds passed -... 66%, 463104 KB, 42230 KB/s, 10 seconds passed -... 66%, 463136 KB, 42232 KB/s, 10 seconds passed -... 66%, 463168 KB, 42234 KB/s, 10 seconds passed -... 66%, 463200 KB, 42237 KB/s, 10 seconds passed -... 66%, 463232 KB, 42239 KB/s, 10 seconds passed -... 66%, 463264 KB, 42241 KB/s, 10 seconds passed -... 66%, 463296 KB, 42243 KB/s, 10 seconds passed -... 66%, 463328 KB, 42246 KB/s, 10 seconds passed -... 66%, 463360 KB, 42248 KB/s, 10 seconds passed -... 66%, 463392 KB, 42250 KB/s, 10 seconds passed -... 66%, 463424 KB, 42252 KB/s, 10 seconds passed -... 66%, 463456 KB, 42255 KB/s, 10 seconds passed -... 66%, 463488 KB, 42257 KB/s, 10 seconds passed -... 66%, 463520 KB, 42259 KB/s, 10 seconds passed -... 66%, 463552 KB, 42261 KB/s, 10 seconds passed -... 66%, 463584 KB, 42263 KB/s, 10 seconds passed -... 66%, 463616 KB, 42266 KB/s, 10 seconds passed -... 66%, 463648 KB, 42268 KB/s, 10 seconds passed -... 66%, 463680 KB, 42270 KB/s, 10 seconds passed -... 66%, 463712 KB, 42272 KB/s, 10 seconds passed -... 66%, 463744 KB, 42275 KB/s, 10 seconds passed -... 66%, 463776 KB, 42276 KB/s, 10 seconds passed -... 66%, 463808 KB, 42278 KB/s, 10 seconds passed -... 66%, 463840 KB, 42280 KB/s, 10 seconds passed -... 66%, 463872 KB, 42281 KB/s, 10 seconds passed -... 66%, 463904 KB, 42283 KB/s, 10 seconds passed -... 66%, 463936 KB, 42285 KB/s, 10 seconds passed -... 66%, 463968 KB, 42287 KB/s, 10 seconds passed -... 66%, 464000 KB, 42289 KB/s, 10 seconds passed -... 66%, 464032 KB, 42291 KB/s, 10 seconds passed -... 66%, 464064 KB, 42292 KB/s, 10 seconds passed -... 66%, 464096 KB, 42294 KB/s, 10 seconds passed -... 66%, 464128 KB, 42296 KB/s, 10 seconds passed -... 66%, 464160 KB, 42298 KB/s, 10 seconds passed -... 66%, 464192 KB, 42299 KB/s, 10 seconds passed -... 66%, 464224 KB, 42301 KB/s, 10 seconds passed -... 66%, 464256 KB, 42303 KB/s, 10 seconds passed -... 66%, 464288 KB, 42305 KB/s, 10 seconds passed -... 66%, 464320 KB, 42307 KB/s, 10 seconds passed -... 66%, 464352 KB, 42309 KB/s, 10 seconds passed -... 66%, 464384 KB, 42311 KB/s, 10 seconds passed -... 66%, 464416 KB, 42313 KB/s, 10 seconds passed -... 66%, 464448 KB, 42315 KB/s, 10 seconds passed -... 66%, 464480 KB, 42316 KB/s, 10 seconds passed -... 66%, 464512 KB, 42317 KB/s, 10 seconds passed -... 66%, 464544 KB, 42319 KB/s, 10 seconds passed -... 66%, 464576 KB, 42321 KB/s, 10 seconds passed -... 66%, 464608 KB, 42324 KB/s, 10 seconds passed -... 66%, 464640 KB, 42325 KB/s, 10 seconds passed -... 66%, 464672 KB, 42326 KB/s, 10 seconds passed -... 66%, 464704 KB, 42327 KB/s, 10 seconds passed -... 66%, 464736 KB, 42330 KB/s, 10 seconds passed -... 66%, 464768 KB, 42331 KB/s, 10 seconds passed -... 66%, 464800 KB, 42332 KB/s, 10 seconds passed -... 66%, 464832 KB, 42334 KB/s, 10 seconds passed -... 66%, 464864 KB, 42336 KB/s, 10 seconds passed -... 66%, 464896 KB, 42338 KB/s, 10 seconds passed -... 66%, 464928 KB, 42340 KB/s, 10 seconds passed -... 66%, 464960 KB, 42342 KB/s, 10 seconds passed -... 66%, 464992 KB, 42344 KB/s, 10 seconds passed -... 66%, 465024 KB, 42346 KB/s, 10 seconds passed -... 66%, 465056 KB, 42347 KB/s, 10 seconds passed -... 66%, 465088 KB, 42349 KB/s, 10 seconds passed -... 66%, 465120 KB, 42351 KB/s, 10 seconds passed -... 66%, 465152 KB, 42353 KB/s, 10 seconds passed -... 66%, 465184 KB, 42355 KB/s, 10 seconds passed -... 66%, 465216 KB, 42357 KB/s, 10 seconds passed -... 66%, 465248 KB, 42359 KB/s, 10 seconds passed -... 66%, 465280 KB, 42361 KB/s, 10 seconds passed -... 66%, 465312 KB, 42363 KB/s, 10 seconds passed -... 66%, 465344 KB, 42365 KB/s, 10 seconds passed -... 66%, 465376 KB, 42367 KB/s, 10 seconds passed -... 66%, 465408 KB, 42368 KB/s, 10 seconds passed -... 66%, 465440 KB, 42369 KB/s, 10 seconds passed -... 66%, 465472 KB, 42371 KB/s, 10 seconds passed -... 66%, 465504 KB, 42373 KB/s, 10 seconds passed -... 66%, 465536 KB, 42375 KB/s, 10 seconds passed -... 66%, 465568 KB, 42376 KB/s, 10 seconds passed -... 66%, 465600 KB, 42378 KB/s, 10 seconds passed -... 66%, 465632 KB, 42380 KB/s, 10 seconds passed -... 66%, 465664 KB, 42382 KB/s, 10 seconds passed -... 66%, 465696 KB, 42385 KB/s, 10 seconds passed -... 66%, 465728 KB, 42387 KB/s, 10 seconds passed -... 66%, 465760 KB, 42388 KB/s, 10 seconds passed -... 66%, 465792 KB, 42389 KB/s, 10 seconds passed -... 66%, 465824 KB, 42390 KB/s, 10 seconds passed -... 66%, 465856 KB, 42393 KB/s, 10 seconds passed -... 66%, 465888 KB, 42395 KB/s, 10 seconds passed - -.. parsed-literal:: - - ... 66%, 465920 KB, 42232 KB/s, 11 seconds passed -... 66%, 465952 KB, 42233 KB/s, 11 seconds passed -... 66%, 465984 KB, 42232 KB/s, 11 seconds passed -... 67%, 466016 KB, 42233 KB/s, 11 seconds passed -... 67%, 466048 KB, 42234 KB/s, 11 seconds passed -... 67%, 466080 KB, 42236 KB/s, 11 seconds passed -... 67%, 466112 KB, 42237 KB/s, 11 seconds passed -... 67%, 466144 KB, 42239 KB/s, 11 seconds passed -... 67%, 466176 KB, 42240 KB/s, 11 seconds passed -... 67%, 466208 KB, 42242 KB/s, 11 seconds passed -... 67%, 466240 KB, 42243 KB/s, 11 seconds passed -... 67%, 466272 KB, 42245 KB/s, 11 seconds passed -... 67%, 466304 KB, 42246 KB/s, 11 seconds passed -... 67%, 466336 KB, 42248 KB/s, 11 seconds passed -... 67%, 466368 KB, 42249 KB/s, 11 seconds passed -... 67%, 466400 KB, 42250 KB/s, 11 seconds passed -... 67%, 466432 KB, 42252 KB/s, 11 seconds passed -... 67%, 466464 KB, 42253 KB/s, 11 seconds passed -... 67%, 466496 KB, 42255 KB/s, 11 seconds passed -... 67%, 466528 KB, 42256 KB/s, 11 seconds passed -... 67%, 466560 KB, 42258 KB/s, 11 seconds passed -... 67%, 466592 KB, 42259 KB/s, 11 seconds passed -... 67%, 466624 KB, 42261 KB/s, 11 seconds passed -... 67%, 466656 KB, 42262 KB/s, 11 seconds passed -... 67%, 466688 KB, 42264 KB/s, 11 seconds passed -... 67%, 466720 KB, 42265 KB/s, 11 seconds passed -... 67%, 466752 KB, 42267 KB/s, 11 seconds passed -... 67%, 466784 KB, 42268 KB/s, 11 seconds passed -... 67%, 466816 KB, 42270 KB/s, 11 seconds passed -... 67%, 466848 KB, 42271 KB/s, 11 seconds passed -... 67%, 466880 KB, 42273 KB/s, 11 seconds passed -... 67%, 466912 KB, 42274 KB/s, 11 seconds passed -... 67%, 466944 KB, 42275 KB/s, 11 seconds passed -... 67%, 466976 KB, 42277 KB/s, 11 seconds passed -... 67%, 467008 KB, 42278 KB/s, 11 seconds passed -... 67%, 467040 KB, 42280 KB/s, 11 seconds passed -... 67%, 467072 KB, 42282 KB/s, 11 seconds passed -... 67%, 467104 KB, 42284 KB/s, 11 seconds passed -... 67%, 467136 KB, 42286 KB/s, 11 seconds passed -... 67%, 467168 KB, 42288 KB/s, 11 seconds passed -... 67%, 467200 KB, 42289 KB/s, 11 seconds passed -... 67%, 467232 KB, 42291 KB/s, 11 seconds passed -... 67%, 467264 KB, 42293 KB/s, 11 seconds passed -... 67%, 467296 KB, 42295 KB/s, 11 seconds passed -... 67%, 467328 KB, 42297 KB/s, 11 seconds passed -... 67%, 467360 KB, 42299 KB/s, 11 seconds passed -... 67%, 467392 KB, 42301 KB/s, 11 seconds passed -... 67%, 467424 KB, 42303 KB/s, 11 seconds passed -... 67%, 467456 KB, 42305 KB/s, 11 seconds passed -... 67%, 467488 KB, 42307 KB/s, 11 seconds passed -... 67%, 467520 KB, 42309 KB/s, 11 seconds passed -... 67%, 467552 KB, 42311 KB/s, 11 seconds passed -... 67%, 467584 KB, 42313 KB/s, 11 seconds passed -... 67%, 467616 KB, 42315 KB/s, 11 seconds passed -... 67%, 467648 KB, 42317 KB/s, 11 seconds passed -... 67%, 467680 KB, 42319 KB/s, 11 seconds passed -... 67%, 467712 KB, 42321 KB/s, 11 seconds passed -... 67%, 467744 KB, 42323 KB/s, 11 seconds passed -... 67%, 467776 KB, 42325 KB/s, 11 seconds passed -... 67%, 467808 KB, 42327 KB/s, 11 seconds passed -... 67%, 467840 KB, 42329 KB/s, 11 seconds passed -... 67%, 467872 KB, 42331 KB/s, 11 seconds passed -... 67%, 467904 KB, 42333 KB/s, 11 seconds passed -... 67%, 467936 KB, 42335 KB/s, 11 seconds passed -... 67%, 467968 KB, 42337 KB/s, 11 seconds passed -... 67%, 468000 KB, 42339 KB/s, 11 seconds passed -... 67%, 468032 KB, 42341 KB/s, 11 seconds passed -... 67%, 468064 KB, 42343 KB/s, 11 seconds passed -... 67%, 468096 KB, 42345 KB/s, 11 seconds passed -... 67%, 468128 KB, 42347 KB/s, 11 seconds passed -... 67%, 468160 KB, 42349 KB/s, 11 seconds passed -... 67%, 468192 KB, 42351 KB/s, 11 seconds passed -... 67%, 468224 KB, 42353 KB/s, 11 seconds passed -... 67%, 468256 KB, 42355 KB/s, 11 seconds passed -... 67%, 468288 KB, 42357 KB/s, 11 seconds passed -... 67%, 468320 KB, 42359 KB/s, 11 seconds passed -... 67%, 468352 KB, 42361 KB/s, 11 seconds passed -... 67%, 468384 KB, 42363 KB/s, 11 seconds passed -... 67%, 468416 KB, 42365 KB/s, 11 seconds passed -... 67%, 468448 KB, 42367 KB/s, 11 seconds passed -... 67%, 468480 KB, 42369 KB/s, 11 seconds passed -... 67%, 468512 KB, 42371 KB/s, 11 seconds passed -... 67%, 468544 KB, 42373 KB/s, 11 seconds passed -... 67%, 468576 KB, 42375 KB/s, 11 seconds passed -... 67%, 468608 KB, 42377 KB/s, 11 seconds passed -... 67%, 468640 KB, 42380 KB/s, 11 seconds passed -... 67%, 468672 KB, 42382 KB/s, 11 seconds passed -... 67%, 468704 KB, 42384 KB/s, 11 seconds passed -... 67%, 468736 KB, 42387 KB/s, 11 seconds passed -... 67%, 468768 KB, 42389 KB/s, 11 seconds passed -... 67%, 468800 KB, 42391 KB/s, 11 seconds passed -... 67%, 468832 KB, 42393 KB/s, 11 seconds passed -... 67%, 468864 KB, 42396 KB/s, 11 seconds passed -... 67%, 468896 KB, 42398 KB/s, 11 seconds passed -... 67%, 468928 KB, 42400 KB/s, 11 seconds passed -... 67%, 468960 KB, 42402 KB/s, 11 seconds passed -... 67%, 468992 KB, 42404 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 67%, 469024 KB, 42352 KB/s, 11 seconds passed -... 67%, 469056 KB, 42349 KB/s, 11 seconds passed -... 67%, 469088 KB, 42350 KB/s, 11 seconds passed -... 67%, 469120 KB, 42352 KB/s, 11 seconds passed -... 67%, 469152 KB, 42354 KB/s, 11 seconds passed -... 67%, 469184 KB, 42356 KB/s, 11 seconds passed -... 67%, 469216 KB, 42358 KB/s, 11 seconds passed -... 67%, 469248 KB, 42360 KB/s, 11 seconds passed -... 67%, 469280 KB, 42356 KB/s, 11 seconds passed -... 67%, 469312 KB, 42358 KB/s, 11 seconds passed -... 67%, 469344 KB, 42352 KB/s, 11 seconds passed -... 67%, 469376 KB, 42353 KB/s, 11 seconds passed -... 67%, 469408 KB, 42351 KB/s, 11 seconds passed -... 67%, 469440 KB, 42352 KB/s, 11 seconds passed -... 67%, 469472 KB, 42354 KB/s, 11 seconds passed -... 67%, 469504 KB, 42356 KB/s, 11 seconds passed -... 67%, 469536 KB, 42358 KB/s, 11 seconds passed -... 67%, 469568 KB, 42359 KB/s, 11 seconds passed -... 67%, 469600 KB, 42361 KB/s, 11 seconds passed -... 67%, 469632 KB, 42363 KB/s, 11 seconds passed -... 67%, 469664 KB, 42365 KB/s, 11 seconds passed -... 67%, 469696 KB, 42367 KB/s, 11 seconds passed -... 67%, 469728 KB, 42368 KB/s, 11 seconds passed -... 67%, 469760 KB, 42370 KB/s, 11 seconds passed -... 67%, 469792 KB, 42372 KB/s, 11 seconds passed -... 67%, 469824 KB, 42374 KB/s, 11 seconds passed -... 67%, 469856 KB, 42375 KB/s, 11 seconds passed -... 67%, 469888 KB, 42376 KB/s, 11 seconds passed -... 67%, 469920 KB, 42378 KB/s, 11 seconds passed -... 67%, 469952 KB, 42379 KB/s, 11 seconds passed -... 67%, 469984 KB, 42381 KB/s, 11 seconds passed -... 67%, 470016 KB, 42383 KB/s, 11 seconds passed -... 67%, 470048 KB, 42384 KB/s, 11 seconds passed -... 67%, 470080 KB, 42386 KB/s, 11 seconds passed -... 67%, 470112 KB, 42388 KB/s, 11 seconds passed -... 67%, 470144 KB, 42389 KB/s, 11 seconds passed -... 67%, 470176 KB, 42391 KB/s, 11 seconds passed -... 67%, 470208 KB, 42393 KB/s, 11 seconds passed -... 67%, 470240 KB, 42394 KB/s, 11 seconds passed -... 67%, 470272 KB, 42396 KB/s, 11 seconds passed -... 67%, 470304 KB, 42398 KB/s, 11 seconds passed -... 67%, 470336 KB, 42399 KB/s, 11 seconds passed -... 67%, 470368 KB, 42401 KB/s, 11 seconds passed -... 67%, 470400 KB, 42403 KB/s, 11 seconds passed -... 67%, 470432 KB, 42404 KB/s, 11 seconds passed -... 67%, 470464 KB, 42406 KB/s, 11 seconds passed -... 67%, 470496 KB, 42408 KB/s, 11 seconds passed -... 67%, 470528 KB, 42409 KB/s, 11 seconds passed -... 67%, 470560 KB, 42411 KB/s, 11 seconds passed -... 67%, 470592 KB, 42413 KB/s, 11 seconds passed -... 67%, 470624 KB, 42414 KB/s, 11 seconds passed -... 67%, 470656 KB, 42416 KB/s, 11 seconds passed -... 67%, 470688 KB, 42417 KB/s, 11 seconds passed -... 67%, 470720 KB, 42419 KB/s, 11 seconds passed -... 67%, 470752 KB, 42421 KB/s, 11 seconds passed -... 67%, 470784 KB, 42422 KB/s, 11 seconds passed -... 67%, 470816 KB, 42424 KB/s, 11 seconds passed -... 67%, 470848 KB, 42426 KB/s, 11 seconds passed -... 67%, 470880 KB, 42428 KB/s, 11 seconds passed -... 67%, 470912 KB, 42431 KB/s, 11 seconds passed -... 67%, 470944 KB, 42433 KB/s, 11 seconds passed -... 67%, 470976 KB, 42435 KB/s, 11 seconds passed -... 67%, 471008 KB, 42437 KB/s, 11 seconds passed -... 67%, 471040 KB, 42439 KB/s, 11 seconds passed -... 67%, 471072 KB, 42441 KB/s, 11 seconds passed -... 67%, 471104 KB, 42443 KB/s, 11 seconds passed -... 67%, 471136 KB, 42445 KB/s, 11 seconds passed -... 67%, 471168 KB, 42447 KB/s, 11 seconds passed -... 67%, 471200 KB, 42449 KB/s, 11 seconds passed -... 67%, 471232 KB, 42451 KB/s, 11 seconds passed -... 67%, 471264 KB, 42453 KB/s, 11 seconds passed -... 67%, 471296 KB, 42455 KB/s, 11 seconds passed -... 67%, 471328 KB, 42458 KB/s, 11 seconds passed -... 67%, 471360 KB, 42460 KB/s, 11 seconds passed -... 67%, 471392 KB, 42461 KB/s, 11 seconds passed -... 67%, 471424 KB, 42463 KB/s, 11 seconds passed -... 67%, 471456 KB, 42465 KB/s, 11 seconds passed -... 67%, 471488 KB, 42467 KB/s, 11 seconds passed -... 67%, 471520 KB, 42469 KB/s, 11 seconds passed -... 67%, 471552 KB, 42471 KB/s, 11 seconds passed -... 67%, 471584 KB, 42472 KB/s, 11 seconds passed -... 67%, 471616 KB, 42474 KB/s, 11 seconds passed -... 67%, 471648 KB, 42476 KB/s, 11 seconds passed -... 67%, 471680 KB, 42478 KB/s, 11 seconds passed -... 67%, 471712 KB, 42480 KB/s, 11 seconds passed -... 67%, 471744 KB, 42481 KB/s, 11 seconds passed -... 67%, 471776 KB, 42483 KB/s, 11 seconds passed -... 67%, 471808 KB, 42485 KB/s, 11 seconds passed -... 67%, 471840 KB, 42487 KB/s, 11 seconds passed -... 67%, 471872 KB, 42489 KB/s, 11 seconds passed -... 67%, 471904 KB, 42491 KB/s, 11 seconds passed -... 67%, 471936 KB, 42492 KB/s, 11 seconds passed -... 67%, 471968 KB, 42494 KB/s, 11 seconds passed -... 67%, 472000 KB, 42496 KB/s, 11 seconds passed -... 67%, 472032 KB, 42498 KB/s, 11 seconds passed -... 67%, 472064 KB, 42500 KB/s, 11 seconds passed -... 67%, 472096 KB, 42502 KB/s, 11 seconds passed -... 67%, 472128 KB, 42504 KB/s, 11 seconds passed -... 67%, 472160 KB, 42505 KB/s, 11 seconds passed -... 67%, 472192 KB, 42507 KB/s, 11 seconds passed -... 67%, 472224 KB, 42508 KB/s, 11 seconds passed -... 67%, 472256 KB, 42510 KB/s, 11 seconds passed -... 67%, 472288 KB, 42512 KB/s, 11 seconds passed -... 67%, 472320 KB, 42514 KB/s, 11 seconds passed -... 67%, 472352 KB, 42516 KB/s, 11 seconds passed -... 67%, 472384 KB, 42518 KB/s, 11 seconds passed -... 67%, 472416 KB, 42519 KB/s, 11 seconds passed -... 67%, 472448 KB, 42521 KB/s, 11 seconds passed -... 67%, 472480 KB, 42522 KB/s, 11 seconds passed -... 67%, 472512 KB, 42523 KB/s, 11 seconds passed -... 67%, 472544 KB, 42526 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 67%, 472576 KB, 42528 KB/s, 11 seconds passed -... 67%, 472608 KB, 42530 KB/s, 11 seconds passed -... 67%, 472640 KB, 42532 KB/s, 11 seconds passed -... 67%, 472672 KB, 42534 KB/s, 11 seconds passed -... 67%, 472704 KB, 42536 KB/s, 11 seconds passed -... 67%, 472736 KB, 42538 KB/s, 11 seconds passed -... 67%, 472768 KB, 42540 KB/s, 11 seconds passed -... 67%, 472800 KB, 42542 KB/s, 11 seconds passed -... 67%, 472832 KB, 42543 KB/s, 11 seconds passed -... 67%, 472864 KB, 42545 KB/s, 11 seconds passed -... 67%, 472896 KB, 42547 KB/s, 11 seconds passed -... 67%, 472928 KB, 42549 KB/s, 11 seconds passed -... 68%, 472960 KB, 42550 KB/s, 11 seconds passed -... 68%, 472992 KB, 42552 KB/s, 11 seconds passed -... 68%, 473024 KB, 42554 KB/s, 11 seconds passed -... 68%, 473056 KB, 42556 KB/s, 11 seconds passed -... 68%, 473088 KB, 42557 KB/s, 11 seconds passed -... 68%, 473120 KB, 42558 KB/s, 11 seconds passed -... 68%, 473152 KB, 42560 KB/s, 11 seconds passed -... 68%, 473184 KB, 42563 KB/s, 11 seconds passed -... 68%, 473216 KB, 42565 KB/s, 11 seconds passed -... 68%, 473248 KB, 42567 KB/s, 11 seconds passed -... 68%, 473280 KB, 42568 KB/s, 11 seconds passed -... 68%, 473312 KB, 42570 KB/s, 11 seconds passed -... 68%, 473344 KB, 42571 KB/s, 11 seconds passed -... 68%, 473376 KB, 42573 KB/s, 11 seconds passed -... 68%, 473408 KB, 42575 KB/s, 11 seconds passed -... 68%, 473440 KB, 42576 KB/s, 11 seconds passed -... 68%, 473472 KB, 42578 KB/s, 11 seconds passed -... 68%, 473504 KB, 42580 KB/s, 11 seconds passed -... 68%, 473536 KB, 42581 KB/s, 11 seconds passed -... 68%, 473568 KB, 42583 KB/s, 11 seconds passed -... 68%, 473600 KB, 42584 KB/s, 11 seconds passed -... 68%, 473632 KB, 42586 KB/s, 11 seconds passed -... 68%, 473664 KB, 42587 KB/s, 11 seconds passed -... 68%, 473696 KB, 42589 KB/s, 11 seconds passed -... 68%, 473728 KB, 42591 KB/s, 11 seconds passed -... 68%, 473760 KB, 42592 KB/s, 11 seconds passed -... 68%, 473792 KB, 42594 KB/s, 11 seconds passed -... 68%, 473824 KB, 42595 KB/s, 11 seconds passed -... 68%, 473856 KB, 42597 KB/s, 11 seconds passed -... 68%, 473888 KB, 42598 KB/s, 11 seconds passed -... 68%, 473920 KB, 42600 KB/s, 11 seconds passed -... 68%, 473952 KB, 42602 KB/s, 11 seconds passed -... 68%, 473984 KB, 42603 KB/s, 11 seconds passed -... 68%, 474016 KB, 42605 KB/s, 11 seconds passed -... 68%, 474048 KB, 42606 KB/s, 11 seconds passed -... 68%, 474080 KB, 42608 KB/s, 11 seconds passed -... 68%, 474112 KB, 42610 KB/s, 11 seconds passed -... 68%, 474144 KB, 42611 KB/s, 11 seconds passed -... 68%, 474176 KB, 42613 KB/s, 11 seconds passed -... 68%, 474208 KB, 42615 KB/s, 11 seconds passed -... 68%, 474240 KB, 42617 KB/s, 11 seconds passed -... 68%, 474272 KB, 42619 KB/s, 11 seconds passed -... 68%, 474304 KB, 42621 KB/s, 11 seconds passed -... 68%, 474336 KB, 42623 KB/s, 11 seconds passed -... 68%, 474368 KB, 42625 KB/s, 11 seconds passed -... 68%, 474400 KB, 42627 KB/s, 11 seconds passed -... 68%, 474432 KB, 42629 KB/s, 11 seconds passed -... 68%, 474464 KB, 42631 KB/s, 11 seconds passed -... 68%, 474496 KB, 42633 KB/s, 11 seconds passed -... 68%, 474528 KB, 42635 KB/s, 11 seconds passed -... 68%, 474560 KB, 42637 KB/s, 11 seconds passed -... 68%, 474592 KB, 42639 KB/s, 11 seconds passed -... 68%, 474624 KB, 42641 KB/s, 11 seconds passed -... 68%, 474656 KB, 42643 KB/s, 11 seconds passed -... 68%, 474688 KB, 42645 KB/s, 11 seconds passed -... 68%, 474720 KB, 42647 KB/s, 11 seconds passed -... 68%, 474752 KB, 42649 KB/s, 11 seconds passed -... 68%, 474784 KB, 42651 KB/s, 11 seconds passed -... 68%, 474816 KB, 42653 KB/s, 11 seconds passed -... 68%, 474848 KB, 42655 KB/s, 11 seconds passed -... 68%, 474880 KB, 42657 KB/s, 11 seconds passed -... 68%, 474912 KB, 42659 KB/s, 11 seconds passed -... 68%, 474944 KB, 42661 KB/s, 11 seconds passed -... 68%, 474976 KB, 42663 KB/s, 11 seconds passed -... 68%, 475008 KB, 42665 KB/s, 11 seconds passed -... 68%, 475040 KB, 42667 KB/s, 11 seconds passed -... 68%, 475072 KB, 42669 KB/s, 11 seconds passed -... 68%, 475104 KB, 42671 KB/s, 11 seconds passed -... 68%, 475136 KB, 42673 KB/s, 11 seconds passed -... 68%, 475168 KB, 42675 KB/s, 11 seconds passed -... 68%, 475200 KB, 42677 KB/s, 11 seconds passed -... 68%, 475232 KB, 42679 KB/s, 11 seconds passed -... 68%, 475264 KB, 42681 KB/s, 11 seconds passed -... 68%, 475296 KB, 42682 KB/s, 11 seconds passed -... 68%, 475328 KB, 42684 KB/s, 11 seconds passed -... 68%, 475360 KB, 42686 KB/s, 11 seconds passed -... 68%, 475392 KB, 42688 KB/s, 11 seconds passed -... 68%, 475424 KB, 42690 KB/s, 11 seconds passed -... 68%, 475456 KB, 42691 KB/s, 11 seconds passed -... 68%, 475488 KB, 42693 KB/s, 11 seconds passed -... 68%, 475520 KB, 42695 KB/s, 11 seconds passed -... 68%, 475552 KB, 42697 KB/s, 11 seconds passed -... 68%, 475584 KB, 42699 KB/s, 11 seconds passed -... 68%, 475616 KB, 42700 KB/s, 11 seconds passed -... 68%, 475648 KB, 42702 KB/s, 11 seconds passed -... 68%, 475680 KB, 42704 KB/s, 11 seconds passed -... 68%, 475712 KB, 42706 KB/s, 11 seconds passed -... 68%, 475744 KB, 42707 KB/s, 11 seconds passed -... 68%, 475776 KB, 42709 KB/s, 11 seconds passed -... 68%, 475808 KB, 42711 KB/s, 11 seconds passed -... 68%, 475840 KB, 42713 KB/s, 11 seconds passed -... 68%, 475872 KB, 42715 KB/s, 11 seconds passed -... 68%, 475904 KB, 42717 KB/s, 11 seconds passed -... 68%, 475936 KB, 42718 KB/s, 11 seconds passed -... 68%, 475968 KB, 42720 KB/s, 11 seconds passed -... 68%, 476000 KB, 42722 KB/s, 11 seconds passed -... 68%, 476032 KB, 42724 KB/s, 11 seconds passed -... 68%, 476064 KB, 42726 KB/s, 11 seconds passed -... 68%, 476096 KB, 42727 KB/s, 11 seconds passed -... 68%, 476128 KB, 42729 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 68%, 476160 KB, 42590 KB/s, 11 seconds passed -... 68%, 476192 KB, 42591 KB/s, 11 seconds passed -... 68%, 476224 KB, 42593 KB/s, 11 seconds passed -... 68%, 476256 KB, 42594 KB/s, 11 seconds passed -... 68%, 476288 KB, 42595 KB/s, 11 seconds passed -... 68%, 476320 KB, 42597 KB/s, 11 seconds passed -... 68%, 476352 KB, 42598 KB/s, 11 seconds passed -... 68%, 476384 KB, 42599 KB/s, 11 seconds passed -... 68%, 476416 KB, 42601 KB/s, 11 seconds passed -... 68%, 476448 KB, 42603 KB/s, 11 seconds passed -... 68%, 476480 KB, 42604 KB/s, 11 seconds passed -... 68%, 476512 KB, 42606 KB/s, 11 seconds passed -... 68%, 476544 KB, 42608 KB/s, 11 seconds passed -... 68%, 476576 KB, 42605 KB/s, 11 seconds passed -... 68%, 476608 KB, 42606 KB/s, 11 seconds passed -... 68%, 476640 KB, 42607 KB/s, 11 seconds passed -... 68%, 476672 KB, 42609 KB/s, 11 seconds passed -... 68%, 476704 KB, 42610 KB/s, 11 seconds passed -... 68%, 476736 KB, 42611 KB/s, 11 seconds passed -... 68%, 476768 KB, 42613 KB/s, 11 seconds passed -... 68%, 476800 KB, 42614 KB/s, 11 seconds passed -... 68%, 476832 KB, 42615 KB/s, 11 seconds passed -... 68%, 476864 KB, 42617 KB/s, 11 seconds passed -... 68%, 476896 KB, 42618 KB/s, 11 seconds passed -... 68%, 476928 KB, 42620 KB/s, 11 seconds passed -... 68%, 476960 KB, 42621 KB/s, 11 seconds passed -... 68%, 476992 KB, 42622 KB/s, 11 seconds passed -... 68%, 477024 KB, 42624 KB/s, 11 seconds passed -... 68%, 477056 KB, 42625 KB/s, 11 seconds passed -... 68%, 477088 KB, 42627 KB/s, 11 seconds passed -... 68%, 477120 KB, 42628 KB/s, 11 seconds passed -... 68%, 477152 KB, 42630 KB/s, 11 seconds passed -... 68%, 477184 KB, 42631 KB/s, 11 seconds passed -... 68%, 477216 KB, 42633 KB/s, 11 seconds passed -... 68%, 477248 KB, 42635 KB/s, 11 seconds passed -... 68%, 477280 KB, 42637 KB/s, 11 seconds passed -... 68%, 477312 KB, 42638 KB/s, 11 seconds passed -... 68%, 477344 KB, 42640 KB/s, 11 seconds passed -... 68%, 477376 KB, 42642 KB/s, 11 seconds passed -... 68%, 477408 KB, 42627 KB/s, 11 seconds passed -... 68%, 477440 KB, 42628 KB/s, 11 seconds passed -... 68%, 477472 KB, 42630 KB/s, 11 seconds passed -... 68%, 477504 KB, 42631 KB/s, 11 seconds passed -... 68%, 477536 KB, 42633 KB/s, 11 seconds passed -... 68%, 477568 KB, 42634 KB/s, 11 seconds passed -... 68%, 477600 KB, 42636 KB/s, 11 seconds passed -... 68%, 477632 KB, 42638 KB/s, 11 seconds passed -... 68%, 477664 KB, 42639 KB/s, 11 seconds passed -... 68%, 477696 KB, 42641 KB/s, 11 seconds passed -... 68%, 477728 KB, 42642 KB/s, 11 seconds passed -... 68%, 477760 KB, 42644 KB/s, 11 seconds passed -... 68%, 477792 KB, 42645 KB/s, 11 seconds passed -... 68%, 477824 KB, 42647 KB/s, 11 seconds passed -... 68%, 477856 KB, 42648 KB/s, 11 seconds passed -... 68%, 477888 KB, 42650 KB/s, 11 seconds passed -... 68%, 477920 KB, 42651 KB/s, 11 seconds passed -... 68%, 477952 KB, 42653 KB/s, 11 seconds passed -... 68%, 477984 KB, 42654 KB/s, 11 seconds passed -... 68%, 478016 KB, 42656 KB/s, 11 seconds passed -... 68%, 478048 KB, 42657 KB/s, 11 seconds passed -... 68%, 478080 KB, 42659 KB/s, 11 seconds passed -... 68%, 478112 KB, 42661 KB/s, 11 seconds passed -... 68%, 478144 KB, 42662 KB/s, 11 seconds passed -... 68%, 478176 KB, 42664 KB/s, 11 seconds passed -... 68%, 478208 KB, 42665 KB/s, 11 seconds passed -... 68%, 478240 KB, 42667 KB/s, 11 seconds passed -... 68%, 478272 KB, 42669 KB/s, 11 seconds passed -... 68%, 478304 KB, 42671 KB/s, 11 seconds passed -... 68%, 478336 KB, 42673 KB/s, 11 seconds passed -... 68%, 478368 KB, 42675 KB/s, 11 seconds passed -... 68%, 478400 KB, 42677 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 68%, 478432 KB, 42646 KB/s, 11 seconds passed -... 68%, 478464 KB, 42647 KB/s, 11 seconds passed -... 68%, 478496 KB, 42649 KB/s, 11 seconds passed -... 68%, 478528 KB, 42651 KB/s, 11 seconds passed -... 68%, 478560 KB, 42652 KB/s, 11 seconds passed -... 68%, 478592 KB, 42654 KB/s, 11 seconds passed -... 68%, 478624 KB, 42655 KB/s, 11 seconds passed -... 68%, 478656 KB, 42657 KB/s, 11 seconds passed -... 68%, 478688 KB, 42658 KB/s, 11 seconds passed -... 68%, 478720 KB, 42660 KB/s, 11 seconds passed -... 68%, 478752 KB, 42661 KB/s, 11 seconds passed -... 68%, 478784 KB, 42663 KB/s, 11 seconds passed -... 68%, 478816 KB, 42664 KB/s, 11 seconds passed -... 68%, 478848 KB, 42666 KB/s, 11 seconds passed -... 68%, 478880 KB, 42667 KB/s, 11 seconds passed -... 68%, 478912 KB, 42669 KB/s, 11 seconds passed -... 68%, 478944 KB, 42670 KB/s, 11 seconds passed -... 68%, 478976 KB, 42672 KB/s, 11 seconds passed -... 68%, 479008 KB, 42673 KB/s, 11 seconds passed -... 68%, 479040 KB, 42675 KB/s, 11 seconds passed -... 68%, 479072 KB, 42676 KB/s, 11 seconds passed -... 68%, 479104 KB, 42678 KB/s, 11 seconds passed -... 68%, 479136 KB, 42679 KB/s, 11 seconds passed -... 68%, 479168 KB, 42681 KB/s, 11 seconds passed -... 68%, 479200 KB, 42682 KB/s, 11 seconds passed -... 68%, 479232 KB, 42684 KB/s, 11 seconds passed -... 68%, 479264 KB, 42685 KB/s, 11 seconds passed -... 68%, 479296 KB, 42687 KB/s, 11 seconds passed -... 68%, 479328 KB, 42688 KB/s, 11 seconds passed -... 68%, 479360 KB, 42690 KB/s, 11 seconds passed -... 68%, 479392 KB, 42691 KB/s, 11 seconds passed -... 68%, 479424 KB, 42693 KB/s, 11 seconds passed -... 68%, 479456 KB, 42695 KB/s, 11 seconds passed -... 68%, 479488 KB, 42697 KB/s, 11 seconds passed -... 68%, 479520 KB, 42699 KB/s, 11 seconds passed -... 68%, 479552 KB, 42701 KB/s, 11 seconds passed -... 68%, 479584 KB, 42703 KB/s, 11 seconds passed -... 68%, 479616 KB, 42705 KB/s, 11 seconds passed -... 68%, 479648 KB, 42707 KB/s, 11 seconds passed -... 68%, 479680 KB, 42709 KB/s, 11 seconds passed -... 68%, 479712 KB, 42711 KB/s, 11 seconds passed -... 68%, 479744 KB, 42713 KB/s, 11 seconds passed -... 68%, 479776 KB, 42715 KB/s, 11 seconds passed -... 68%, 479808 KB, 42717 KB/s, 11 seconds passed -... 68%, 479840 KB, 42719 KB/s, 11 seconds passed -... 68%, 479872 KB, 42721 KB/s, 11 seconds passed -... 69%, 479904 KB, 42723 KB/s, 11 seconds passed -... 69%, 479936 KB, 42725 KB/s, 11 seconds passed -... 69%, 479968 KB, 42727 KB/s, 11 seconds passed -... 69%, 480000 KB, 42729 KB/s, 11 seconds passed -... 69%, 480032 KB, 42731 KB/s, 11 seconds passed -... 69%, 480064 KB, 42733 KB/s, 11 seconds passed -... 69%, 480096 KB, 42735 KB/s, 11 seconds passed -... 69%, 480128 KB, 42737 KB/s, 11 seconds passed -... 69%, 480160 KB, 42739 KB/s, 11 seconds passed -... 69%, 480192 KB, 42741 KB/s, 11 seconds passed -... 69%, 480224 KB, 42743 KB/s, 11 seconds passed -... 69%, 480256 KB, 42745 KB/s, 11 seconds passed -... 69%, 480288 KB, 42747 KB/s, 11 seconds passed -... 69%, 480320 KB, 42749 KB/s, 11 seconds passed -... 69%, 480352 KB, 42751 KB/s, 11 seconds passed -... 69%, 480384 KB, 42753 KB/s, 11 seconds passed -... 69%, 480416 KB, 42755 KB/s, 11 seconds passed -... 69%, 480448 KB, 42757 KB/s, 11 seconds passed -... 69%, 480480 KB, 42759 KB/s, 11 seconds passed -... 69%, 480512 KB, 42761 KB/s, 11 seconds passed -... 69%, 480544 KB, 42763 KB/s, 11 seconds passed -... 69%, 480576 KB, 42765 KB/s, 11 seconds passed -... 69%, 480608 KB, 42767 KB/s, 11 seconds passed -... 69%, 480640 KB, 42769 KB/s, 11 seconds passed -... 69%, 480672 KB, 42771 KB/s, 11 seconds passed -... 69%, 480704 KB, 42773 KB/s, 11 seconds passed -... 69%, 480736 KB, 42775 KB/s, 11 seconds passed -... 69%, 480768 KB, 42777 KB/s, 11 seconds passed -... 69%, 480800 KB, 42779 KB/s, 11 seconds passed -... 69%, 480832 KB, 42781 KB/s, 11 seconds passed -... 69%, 480864 KB, 42782 KB/s, 11 seconds passed -... 69%, 480896 KB, 42784 KB/s, 11 seconds passed -... 69%, 480928 KB, 42786 KB/s, 11 seconds passed -... 69%, 480960 KB, 42788 KB/s, 11 seconds passed -... 69%, 480992 KB, 42790 KB/s, 11 seconds passed -... 69%, 481024 KB, 42791 KB/s, 11 seconds passed -... 69%, 481056 KB, 42793 KB/s, 11 seconds passed -... 69%, 481088 KB, 42794 KB/s, 11 seconds passed -... 69%, 481120 KB, 42796 KB/s, 11 seconds passed -... 69%, 481152 KB, 42797 KB/s, 11 seconds passed -... 69%, 481184 KB, 42799 KB/s, 11 seconds passed -... 69%, 481216 KB, 42801 KB/s, 11 seconds passed -... 69%, 481248 KB, 42803 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 69%, 481280 KB, 42662 KB/s, 11 seconds passed -... 69%, 481312 KB, 42663 KB/s, 11 seconds passed -... 69%, 481344 KB, 42664 KB/s, 11 seconds passed -... 69%, 481376 KB, 42665 KB/s, 11 seconds passed -... 69%, 481408 KB, 42667 KB/s, 11 seconds passed -... 69%, 481440 KB, 42668 KB/s, 11 seconds passed -... 69%, 481472 KB, 42669 KB/s, 11 seconds passed -... 69%, 481504 KB, 42671 KB/s, 11 seconds passed -... 69%, 481536 KB, 42672 KB/s, 11 seconds passed -... 69%, 481568 KB, 42673 KB/s, 11 seconds passed -... 69%, 481600 KB, 42675 KB/s, 11 seconds passed -... 69%, 481632 KB, 42676 KB/s, 11 seconds passed -... 69%, 481664 KB, 42678 KB/s, 11 seconds passed -... 69%, 481696 KB, 42679 KB/s, 11 seconds passed -... 69%, 481728 KB, 42681 KB/s, 11 seconds passed -... 69%, 481760 KB, 42682 KB/s, 11 seconds passed -... 69%, 481792 KB, 42683 KB/s, 11 seconds passed -... 69%, 481824 KB, 42685 KB/s, 11 seconds passed -... 69%, 481856 KB, 42686 KB/s, 11 seconds passed -... 69%, 481888 KB, 42688 KB/s, 11 seconds passed -... 69%, 481920 KB, 42689 KB/s, 11 seconds passed -... 69%, 481952 KB, 42690 KB/s, 11 seconds passed -... 69%, 481984 KB, 42692 KB/s, 11 seconds passed -... 69%, 482016 KB, 42694 KB/s, 11 seconds passed -... 69%, 482048 KB, 42695 KB/s, 11 seconds passed -... 69%, 482080 KB, 42697 KB/s, 11 seconds passed -... 69%, 482112 KB, 42698 KB/s, 11 seconds passed -... 69%, 482144 KB, 42700 KB/s, 11 seconds passed -... 69%, 482176 KB, 42702 KB/s, 11 seconds passed -... 69%, 482208 KB, 42703 KB/s, 11 seconds passed -... 69%, 482240 KB, 42705 KB/s, 11 seconds passed -... 69%, 482272 KB, 42706 KB/s, 11 seconds passed -... 69%, 482304 KB, 42708 KB/s, 11 seconds passed -... 69%, 482336 KB, 42710 KB/s, 11 seconds passed -... 69%, 482368 KB, 42711 KB/s, 11 seconds passed -... 69%, 482400 KB, 42713 KB/s, 11 seconds passed -... 69%, 482432 KB, 42714 KB/s, 11 seconds passed -... 69%, 482464 KB, 42716 KB/s, 11 seconds passed -... 69%, 482496 KB, 42718 KB/s, 11 seconds passed -... 69%, 482528 KB, 42719 KB/s, 11 seconds passed -... 69%, 482560 KB, 42721 KB/s, 11 seconds passed -... 69%, 482592 KB, 42722 KB/s, 11 seconds passed -... 69%, 482624 KB, 42724 KB/s, 11 seconds passed -... 69%, 482656 KB, 42726 KB/s, 11 seconds passed -... 69%, 482688 KB, 42727 KB/s, 11 seconds passed -... 69%, 482720 KB, 42729 KB/s, 11 seconds passed -... 69%, 482752 KB, 42730 KB/s, 11 seconds passed -... 69%, 482784 KB, 42732 KB/s, 11 seconds passed -... 69%, 482816 KB, 42734 KB/s, 11 seconds passed -... 69%, 482848 KB, 42735 KB/s, 11 seconds passed -... 69%, 482880 KB, 42737 KB/s, 11 seconds passed -... 69%, 482912 KB, 42738 KB/s, 11 seconds passed -... 69%, 482944 KB, 42740 KB/s, 11 seconds passed -... 69%, 482976 KB, 42742 KB/s, 11 seconds passed -... 69%, 483008 KB, 42743 KB/s, 11 seconds passed -... 69%, 483040 KB, 42746 KB/s, 11 seconds passed -... 69%, 483072 KB, 42748 KB/s, 11 seconds passed -... 69%, 483104 KB, 42750 KB/s, 11 seconds passed -... 69%, 483136 KB, 42752 KB/s, 11 seconds passed -... 69%, 483168 KB, 42754 KB/s, 11 seconds passed -... 69%, 483200 KB, 42756 KB/s, 11 seconds passed -... 69%, 483232 KB, 42758 KB/s, 11 seconds passed -... 69%, 483264 KB, 42761 KB/s, 11 seconds passed -... 69%, 483296 KB, 42763 KB/s, 11 seconds passed -... 69%, 483328 KB, 42765 KB/s, 11 seconds passed -... 69%, 483360 KB, 42767 KB/s, 11 seconds passed -... 69%, 483392 KB, 42769 KB/s, 11 seconds passed -... 69%, 483424 KB, 42772 KB/s, 11 seconds passed -... 69%, 483456 KB, 42774 KB/s, 11 seconds passed -... 69%, 483488 KB, 42776 KB/s, 11 seconds passed -... 69%, 483520 KB, 42778 KB/s, 11 seconds passed -... 69%, 483552 KB, 42780 KB/s, 11 seconds passed -... 69%, 483584 KB, 42782 KB/s, 11 seconds passed -... 69%, 483616 KB, 42784 KB/s, 11 seconds passed -... 69%, 483648 KB, 42786 KB/s, 11 seconds passed -... 69%, 483680 KB, 42788 KB/s, 11 seconds passed -... 69%, 483712 KB, 42790 KB/s, 11 seconds passed -... 69%, 483744 KB, 42792 KB/s, 11 seconds passed -... 69%, 483776 KB, 42794 KB/s, 11 seconds passed -... 69%, 483808 KB, 42796 KB/s, 11 seconds passed -... 69%, 483840 KB, 42797 KB/s, 11 seconds passed -... 69%, 483872 KB, 42799 KB/s, 11 seconds passed -... 69%, 483904 KB, 42801 KB/s, 11 seconds passed -... 69%, 483936 KB, 42802 KB/s, 11 seconds passed -... 69%, 483968 KB, 42804 KB/s, 11 seconds passed -... 69%, 484000 KB, 42806 KB/s, 11 seconds passed -... 69%, 484032 KB, 42808 KB/s, 11 seconds passed -... 69%, 484064 KB, 42810 KB/s, 11 seconds passed -... 69%, 484096 KB, 42811 KB/s, 11 seconds passed -... 69%, 484128 KB, 42813 KB/s, 11 seconds passed -... 69%, 484160 KB, 42815 KB/s, 11 seconds passed -... 69%, 484192 KB, 42817 KB/s, 11 seconds passed -... 69%, 484224 KB, 42818 KB/s, 11 seconds passed -... 69%, 484256 KB, 42820 KB/s, 11 seconds passed -... 69%, 484288 KB, 42822 KB/s, 11 seconds passed -... 69%, 484320 KB, 42824 KB/s, 11 seconds passed -... 69%, 484352 KB, 42826 KB/s, 11 seconds passed -... 69%, 484384 KB, 42827 KB/s, 11 seconds passed -... 69%, 484416 KB, 42829 KB/s, 11 seconds passed -... 69%, 484448 KB, 42831 KB/s, 11 seconds passed -... 69%, 484480 KB, 42833 KB/s, 11 seconds passed -... 69%, 484512 KB, 42834 KB/s, 11 seconds passed -... 69%, 484544 KB, 42836 KB/s, 11 seconds passed -... 69%, 484576 KB, 42838 KB/s, 11 seconds passed -... 69%, 484608 KB, 42839 KB/s, 11 seconds passed -... 69%, 484640 KB, 42841 KB/s, 11 seconds passed -... 69%, 484672 KB, 42843 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 69%, 484704 KB, 42804 KB/s, 11 seconds passed -... 69%, 484736 KB, 42805 KB/s, 11 seconds passed -... 69%, 484768 KB, 42806 KB/s, 11 seconds passed -... 69%, 484800 KB, 42808 KB/s, 11 seconds passed -... 69%, 484832 KB, 42810 KB/s, 11 seconds passed -... 69%, 484864 KB, 42812 KB/s, 11 seconds passed -... 69%, 484896 KB, 42814 KB/s, 11 seconds passed -... 69%, 484928 KB, 42816 KB/s, 11 seconds passed -... 69%, 484960 KB, 42818 KB/s, 11 seconds passed -... 69%, 484992 KB, 42820 KB/s, 11 seconds passed -... 69%, 485024 KB, 42822 KB/s, 11 seconds passed -... 69%, 485056 KB, 42824 KB/s, 11 seconds passed -... 69%, 485088 KB, 42825 KB/s, 11 seconds passed -... 69%, 485120 KB, 42827 KB/s, 11 seconds passed -... 69%, 485152 KB, 42829 KB/s, 11 seconds passed -... 69%, 485184 KB, 42831 KB/s, 11 seconds passed -... 69%, 485216 KB, 42833 KB/s, 11 seconds passed -... 69%, 485248 KB, 42834 KB/s, 11 seconds passed -... 69%, 485280 KB, 42836 KB/s, 11 seconds passed -... 69%, 485312 KB, 42838 KB/s, 11 seconds passed -... 69%, 485344 KB, 42840 KB/s, 11 seconds passed -... 69%, 485376 KB, 42841 KB/s, 11 seconds passed -... 69%, 485408 KB, 42843 KB/s, 11 seconds passed -... 69%, 485440 KB, 42845 KB/s, 11 seconds passed -... 69%, 485472 KB, 42847 KB/s, 11 seconds passed -... 69%, 485504 KB, 42848 KB/s, 11 seconds passed -... 69%, 485536 KB, 42850 KB/s, 11 seconds passed -... 69%, 485568 KB, 42852 KB/s, 11 seconds passed -... 69%, 485600 KB, 42854 KB/s, 11 seconds passed -... 69%, 485632 KB, 42856 KB/s, 11 seconds passed -... 69%, 485664 KB, 42857 KB/s, 11 seconds passed -... 69%, 485696 KB, 42859 KB/s, 11 seconds passed -... 69%, 485728 KB, 42861 KB/s, 11 seconds passed -... 69%, 485760 KB, 42863 KB/s, 11 seconds passed -... 69%, 485792 KB, 42864 KB/s, 11 seconds passed -... 69%, 485824 KB, 42866 KB/s, 11 seconds passed -... 69%, 485856 KB, 42868 KB/s, 11 seconds passed -... 69%, 485888 KB, 42870 KB/s, 11 seconds passed -... 69%, 485920 KB, 42871 KB/s, 11 seconds passed -... 69%, 485952 KB, 42826 KB/s, 11 seconds passed -... 69%, 485984 KB, 42828 KB/s, 11 seconds passed -... 69%, 486016 KB, 42829 KB/s, 11 seconds passed -... 69%, 486048 KB, 42831 KB/s, 11 seconds passed -... 69%, 486080 KB, 42832 KB/s, 11 seconds passed -... 69%, 486112 KB, 42834 KB/s, 11 seconds passed -... 69%, 486144 KB, 42835 KB/s, 11 seconds passed -... 69%, 486176 KB, 42836 KB/s, 11 seconds passed -... 69%, 486208 KB, 42838 KB/s, 11 seconds passed -... 69%, 486240 KB, 42839 KB/s, 11 seconds passed -... 69%, 486272 KB, 42841 KB/s, 11 seconds passed -... 69%, 486304 KB, 42843 KB/s, 11 seconds passed -... 69%, 486336 KB, 42844 KB/s, 11 seconds passed -... 69%, 486368 KB, 42846 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 69%, 486400 KB, 42702 KB/s, 11 seconds passed -... 69%, 486432 KB, 42703 KB/s, 11 seconds passed -... 69%, 486464 KB, 42704 KB/s, 11 seconds passed -... 69%, 486496 KB, 42706 KB/s, 11 seconds passed -... 69%, 486528 KB, 42707 KB/s, 11 seconds passed -... 69%, 486560 KB, 42708 KB/s, 11 seconds passed -... 69%, 486592 KB, 42709 KB/s, 11 seconds passed -... 69%, 486624 KB, 42711 KB/s, 11 seconds passed -... 69%, 486656 KB, 42712 KB/s, 11 seconds passed -... 69%, 486688 KB, 42714 KB/s, 11 seconds passed -... 69%, 486720 KB, 42715 KB/s, 11 seconds passed -... 69%, 486752 KB, 42717 KB/s, 11 seconds passed -... 69%, 486784 KB, 42718 KB/s, 11 seconds passed -... 69%, 486816 KB, 42719 KB/s, 11 seconds passed -... 69%, 486848 KB, 42721 KB/s, 11 seconds passed -... 70%, 486880 KB, 42722 KB/s, 11 seconds passed -... 70%, 486912 KB, 42723 KB/s, 11 seconds passed -... 70%, 486944 KB, 42725 KB/s, 11 seconds passed -... 70%, 486976 KB, 42726 KB/s, 11 seconds passed -... 70%, 487008 KB, 42728 KB/s, 11 seconds passed -... 70%, 487040 KB, 42729 KB/s, 11 seconds passed -... 70%, 487072 KB, 42730 KB/s, 11 seconds passed -... 70%, 487104 KB, 42732 KB/s, 11 seconds passed -... 70%, 487136 KB, 42733 KB/s, 11 seconds passed -... 70%, 487168 KB, 42735 KB/s, 11 seconds passed -... 70%, 487200 KB, 42736 KB/s, 11 seconds passed -... 70%, 487232 KB, 42737 KB/s, 11 seconds passed -... 70%, 487264 KB, 42739 KB/s, 11 seconds passed -... 70%, 487296 KB, 42740 KB/s, 11 seconds passed -... 70%, 487328 KB, 42742 KB/s, 11 seconds passed -... 70%, 487360 KB, 42744 KB/s, 11 seconds passed -... 70%, 487392 KB, 42746 KB/s, 11 seconds passed -... 70%, 487424 KB, 42748 KB/s, 11 seconds passed -... 70%, 487456 KB, 42750 KB/s, 11 seconds passed -... 70%, 487488 KB, 42751 KB/s, 11 seconds passed -... 70%, 487520 KB, 42753 KB/s, 11 seconds passed -... 70%, 487552 KB, 42755 KB/s, 11 seconds passed -... 70%, 487584 KB, 42758 KB/s, 11 seconds passed -... 70%, 487616 KB, 42760 KB/s, 11 seconds passed -... 70%, 487648 KB, 42762 KB/s, 11 seconds passed -... 70%, 487680 KB, 42764 KB/s, 11 seconds passed -... 70%, 487712 KB, 42766 KB/s, 11 seconds passed -... 70%, 487744 KB, 42768 KB/s, 11 seconds passed -... 70%, 487776 KB, 42770 KB/s, 11 seconds passed -... 70%, 487808 KB, 42772 KB/s, 11 seconds passed -... 70%, 487840 KB, 42770 KB/s, 11 seconds passed -... 70%, 487872 KB, 42771 KB/s, 11 seconds passed -... 70%, 487904 KB, 42773 KB/s, 11 seconds passed -... 70%, 487936 KB, 42775 KB/s, 11 seconds passed -... 70%, 487968 KB, 42777 KB/s, 11 seconds passed -... 70%, 488000 KB, 42779 KB/s, 11 seconds passed -... 70%, 488032 KB, 42780 KB/s, 11 seconds passed -... 70%, 488064 KB, 42782 KB/s, 11 seconds passed -... 70%, 488096 KB, 42784 KB/s, 11 seconds passed -... 70%, 488128 KB, 42785 KB/s, 11 seconds passed -... 70%, 488160 KB, 42787 KB/s, 11 seconds passed -... 70%, 488192 KB, 42789 KB/s, 11 seconds passed -... 70%, 488224 KB, 42791 KB/s, 11 seconds passed -... 70%, 488256 KB, 42793 KB/s, 11 seconds passed -... 70%, 488288 KB, 42794 KB/s, 11 seconds passed -... 70%, 488320 KB, 42796 KB/s, 11 seconds passed -... 70%, 488352 KB, 42798 KB/s, 11 seconds passed -... 70%, 488384 KB, 42800 KB/s, 11 seconds passed -... 70%, 488416 KB, 42801 KB/s, 11 seconds passed -... 70%, 488448 KB, 42803 KB/s, 11 seconds passed -... 70%, 488480 KB, 42805 KB/s, 11 seconds passed -... 70%, 488512 KB, 42807 KB/s, 11 seconds passed -... 70%, 488544 KB, 42808 KB/s, 11 seconds passed -... 70%, 488576 KB, 42810 KB/s, 11 seconds passed -... 70%, 488608 KB, 42812 KB/s, 11 seconds passed -... 70%, 488640 KB, 42814 KB/s, 11 seconds passed -... 70%, 488672 KB, 42816 KB/s, 11 seconds passed -... 70%, 488704 KB, 42817 KB/s, 11 seconds passed -... 70%, 488736 KB, 42819 KB/s, 11 seconds passed -... 70%, 488768 KB, 42821 KB/s, 11 seconds passed -... 70%, 488800 KB, 42822 KB/s, 11 seconds passed -... 70%, 488832 KB, 42824 KB/s, 11 seconds passed -... 70%, 488864 KB, 42826 KB/s, 11 seconds passed -... 70%, 488896 KB, 42828 KB/s, 11 seconds passed -... 70%, 488928 KB, 42830 KB/s, 11 seconds passed -... 70%, 488960 KB, 42831 KB/s, 11 seconds passed -... 70%, 488992 KB, 42833 KB/s, 11 seconds passed -... 70%, 489024 KB, 42835 KB/s, 11 seconds passed -... 70%, 489056 KB, 42837 KB/s, 11 seconds passed -... 70%, 489088 KB, 42838 KB/s, 11 seconds passed -... 70%, 489120 KB, 42840 KB/s, 11 seconds passed -... 70%, 489152 KB, 42842 KB/s, 11 seconds passed -... 70%, 489184 KB, 42843 KB/s, 11 seconds passed -... 70%, 489216 KB, 42845 KB/s, 11 seconds passed -... 70%, 489248 KB, 42847 KB/s, 11 seconds passed -... 70%, 489280 KB, 42849 KB/s, 11 seconds passed -... 70%, 489312 KB, 42851 KB/s, 11 seconds passed -... 70%, 489344 KB, 42852 KB/s, 11 seconds passed -... 70%, 489376 KB, 42854 KB/s, 11 seconds passed -... 70%, 489408 KB, 42856 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 70%, 489440 KB, 42858 KB/s, 11 seconds passed -... 70%, 489472 KB, 42859 KB/s, 11 seconds passed -... 70%, 489504 KB, 42861 KB/s, 11 seconds passed -... 70%, 489536 KB, 42863 KB/s, 11 seconds passed -... 70%, 489568 KB, 42864 KB/s, 11 seconds passed -... 70%, 489600 KB, 42866 KB/s, 11 seconds passed -... 70%, 489632 KB, 42868 KB/s, 11 seconds passed -... 70%, 489664 KB, 42870 KB/s, 11 seconds passed -... 70%, 489696 KB, 42872 KB/s, 11 seconds passed -... 70%, 489728 KB, 42873 KB/s, 11 seconds passed -... 70%, 489760 KB, 42875 KB/s, 11 seconds passed -... 70%, 489792 KB, 42877 KB/s, 11 seconds passed -... 70%, 489824 KB, 42879 KB/s, 11 seconds passed -... 70%, 489856 KB, 42881 KB/s, 11 seconds passed -... 70%, 489888 KB, 42882 KB/s, 11 seconds passed -... 70%, 489920 KB, 42884 KB/s, 11 seconds passed -... 70%, 489952 KB, 42886 KB/s, 11 seconds passed -... 70%, 489984 KB, 42888 KB/s, 11 seconds passed -... 70%, 490016 KB, 42889 KB/s, 11 seconds passed -... 70%, 490048 KB, 42891 KB/s, 11 seconds passed -... 70%, 490080 KB, 42892 KB/s, 11 seconds passed -... 70%, 490112 KB, 42894 KB/s, 11 seconds passed -... 70%, 490144 KB, 42895 KB/s, 11 seconds passed -... 70%, 490176 KB, 42897 KB/s, 11 seconds passed -... 70%, 490208 KB, 42900 KB/s, 11 seconds passed -... 70%, 490240 KB, 42902 KB/s, 11 seconds passed -... 70%, 490272 KB, 42903 KB/s, 11 seconds passed -... 70%, 490304 KB, 42905 KB/s, 11 seconds passed -... 70%, 490336 KB, 42907 KB/s, 11 seconds passed -... 70%, 490368 KB, 42909 KB/s, 11 seconds passed -... 70%, 490400 KB, 42910 KB/s, 11 seconds passed -... 70%, 490432 KB, 42912 KB/s, 11 seconds passed -... 70%, 490464 KB, 42914 KB/s, 11 seconds passed -... 70%, 490496 KB, 42915 KB/s, 11 seconds passed -... 70%, 490528 KB, 42916 KB/s, 11 seconds passed -... 70%, 490560 KB, 42916 KB/s, 11 seconds passed -... 70%, 490592 KB, 42918 KB/s, 11 seconds passed -... 70%, 490624 KB, 42919 KB/s, 11 seconds passed -... 70%, 490656 KB, 42921 KB/s, 11 seconds passed -... 70%, 490688 KB, 42922 KB/s, 11 seconds passed -... 70%, 490720 KB, 42924 KB/s, 11 seconds passed -... 70%, 490752 KB, 42925 KB/s, 11 seconds passed -... 70%, 490784 KB, 42927 KB/s, 11 seconds passed -... 70%, 490816 KB, 42928 KB/s, 11 seconds passed -... 70%, 490848 KB, 42930 KB/s, 11 seconds passed -... 70%, 490880 KB, 42931 KB/s, 11 seconds passed -... 70%, 490912 KB, 42933 KB/s, 11 seconds passed -... 70%, 490944 KB, 42934 KB/s, 11 seconds passed -... 70%, 490976 KB, 42936 KB/s, 11 seconds passed -... 70%, 491008 KB, 42938 KB/s, 11 seconds passed -... 70%, 491040 KB, 42939 KB/s, 11 seconds passed -... 70%, 491072 KB, 42941 KB/s, 11 seconds passed -... 70%, 491104 KB, 42942 KB/s, 11 seconds passed -... 70%, 491136 KB, 42944 KB/s, 11 seconds passed -... 70%, 491168 KB, 42945 KB/s, 11 seconds passed -... 70%, 491200 KB, 42947 KB/s, 11 seconds passed -... 70%, 491232 KB, 42948 KB/s, 11 seconds passed -... 70%, 491264 KB, 42950 KB/s, 11 seconds passed -... 70%, 491296 KB, 42951 KB/s, 11 seconds passed -... 70%, 491328 KB, 42953 KB/s, 11 seconds passed -... 70%, 491360 KB, 42954 KB/s, 11 seconds passed -... 70%, 491392 KB, 42956 KB/s, 11 seconds passed -... 70%, 491424 KB, 42958 KB/s, 11 seconds passed -... 70%, 491456 KB, 42960 KB/s, 11 seconds passed -... 70%, 491488 KB, 42961 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 70%, 491520 KB, 42810 KB/s, 11 seconds passed -... 70%, 491552 KB, 42811 KB/s, 11 seconds passed -... 70%, 491584 KB, 42812 KB/s, 11 seconds passed -... 70%, 491616 KB, 42813 KB/s, 11 seconds passed -... 70%, 491648 KB, 42815 KB/s, 11 seconds passed -... 70%, 491680 KB, 42816 KB/s, 11 seconds passed -... 70%, 491712 KB, 42817 KB/s, 11 seconds passed -... 70%, 491744 KB, 42819 KB/s, 11 seconds passed -... 70%, 491776 KB, 42820 KB/s, 11 seconds passed -... 70%, 491808 KB, 42822 KB/s, 11 seconds passed -... 70%, 491840 KB, 42823 KB/s, 11 seconds passed -... 70%, 491872 KB, 42818 KB/s, 11 seconds passed -... 70%, 491904 KB, 42795 KB/s, 11 seconds passed -... 70%, 491936 KB, 42796 KB/s, 11 seconds passed -... 70%, 491968 KB, 42797 KB/s, 11 seconds passed -... 70%, 492000 KB, 42798 KB/s, 11 seconds passed -... 70%, 492032 KB, 42800 KB/s, 11 seconds passed -... 70%, 492064 KB, 42801 KB/s, 11 seconds passed -... 70%, 492096 KB, 42803 KB/s, 11 seconds passed -... 70%, 492128 KB, 42804 KB/s, 11 seconds passed -... 70%, 492160 KB, 42805 KB/s, 11 seconds passed -... 70%, 492192 KB, 42807 KB/s, 11 seconds passed -... 70%, 492224 KB, 42808 KB/s, 11 seconds passed -... 70%, 492256 KB, 42809 KB/s, 11 seconds passed -... 70%, 492288 KB, 42811 KB/s, 11 seconds passed -... 70%, 492320 KB, 42812 KB/s, 11 seconds passed -... 70%, 492352 KB, 42813 KB/s, 11 seconds passed -... 70%, 492384 KB, 42815 KB/s, 11 seconds passed -... 70%, 492416 KB, 42816 KB/s, 11 seconds passed -... 70%, 492448 KB, 42818 KB/s, 11 seconds passed -... 70%, 492480 KB, 42819 KB/s, 11 seconds passed -... 70%, 492512 KB, 42820 KB/s, 11 seconds passed -... 70%, 492544 KB, 42822 KB/s, 11 seconds passed -... 70%, 492576 KB, 42823 KB/s, 11 seconds passed -... 70%, 492608 KB, 42824 KB/s, 11 seconds passed -... 70%, 492640 KB, 42826 KB/s, 11 seconds passed -... 70%, 492672 KB, 42827 KB/s, 11 seconds passed -... 70%, 492704 KB, 42829 KB/s, 11 seconds passed -... 70%, 492736 KB, 42830 KB/s, 11 seconds passed -... 70%, 492768 KB, 42831 KB/s, 11 seconds passed -... 70%, 492800 KB, 42833 KB/s, 11 seconds passed -... 70%, 492832 KB, 42834 KB/s, 11 seconds passed -... 70%, 492864 KB, 42836 KB/s, 11 seconds passed -... 70%, 492896 KB, 42837 KB/s, 11 seconds passed -... 70%, 492928 KB, 42838 KB/s, 11 seconds passed -... 70%, 492960 KB, 42840 KB/s, 11 seconds passed -... 70%, 492992 KB, 42841 KB/s, 11 seconds passed -... 70%, 493024 KB, 42842 KB/s, 11 seconds passed -... 70%, 493056 KB, 42844 KB/s, 11 seconds passed -... 70%, 493088 KB, 42845 KB/s, 11 seconds passed -... 70%, 493120 KB, 42846 KB/s, 11 seconds passed -... 70%, 493152 KB, 42848 KB/s, 11 seconds passed -... 70%, 493184 KB, 42849 KB/s, 11 seconds passed -... 70%, 493216 KB, 42851 KB/s, 11 seconds passed -... 70%, 493248 KB, 42852 KB/s, 11 seconds passed -... 70%, 493280 KB, 42853 KB/s, 11 seconds passed -... 70%, 493312 KB, 42855 KB/s, 11 seconds passed -... 70%, 493344 KB, 42857 KB/s, 11 seconds passed -... 70%, 493376 KB, 42859 KB/s, 11 seconds passed -... 70%, 493408 KB, 42861 KB/s, 11 seconds passed -... 70%, 493440 KB, 42863 KB/s, 11 seconds passed -... 70%, 493472 KB, 42864 KB/s, 11 seconds passed -... 70%, 493504 KB, 42866 KB/s, 11 seconds passed -... 70%, 493536 KB, 42868 KB/s, 11 seconds passed -... 70%, 493568 KB, 42870 KB/s, 11 seconds passed -... 70%, 493600 KB, 42872 KB/s, 11 seconds passed -... 70%, 493632 KB, 42874 KB/s, 11 seconds passed -... 70%, 493664 KB, 42876 KB/s, 11 seconds passed -... 70%, 493696 KB, 42878 KB/s, 11 seconds passed -... 70%, 493728 KB, 42880 KB/s, 11 seconds passed -... 70%, 493760 KB, 42881 KB/s, 11 seconds passed -... 70%, 493792 KB, 42883 KB/s, 11 seconds passed -... 71%, 493824 KB, 42885 KB/s, 11 seconds passed -... 71%, 493856 KB, 42887 KB/s, 11 seconds passed -... 71%, 493888 KB, 42889 KB/s, 11 seconds passed -... 71%, 493920 KB, 42891 KB/s, 11 seconds passed -... 71%, 493952 KB, 42893 KB/s, 11 seconds passed -... 71%, 493984 KB, 42895 KB/s, 11 seconds passed -... 71%, 494016 KB, 42896 KB/s, 11 seconds passed -... 71%, 494048 KB, 42898 KB/s, 11 seconds passed -... 71%, 494080 KB, 42900 KB/s, 11 seconds passed -... 71%, 494112 KB, 42902 KB/s, 11 seconds passed -... 71%, 494144 KB, 42904 KB/s, 11 seconds passed -... 71%, 494176 KB, 42906 KB/s, 11 seconds passed -... 71%, 494208 KB, 42908 KB/s, 11 seconds passed -... 71%, 494240 KB, 42910 KB/s, 11 seconds passed -... 71%, 494272 KB, 42911 KB/s, 11 seconds passed -... 71%, 494304 KB, 42913 KB/s, 11 seconds passed -... 71%, 494336 KB, 42915 KB/s, 11 seconds passed -... 71%, 494368 KB, 42917 KB/s, 11 seconds passed -... 71%, 494400 KB, 42919 KB/s, 11 seconds passed -... 71%, 494432 KB, 42921 KB/s, 11 seconds passed -... 71%, 494464 KB, 42923 KB/s, 11 seconds passed -... 71%, 494496 KB, 42925 KB/s, 11 seconds passed -... 71%, 494528 KB, 42927 KB/s, 11 seconds passed -... 71%, 494560 KB, 42928 KB/s, 11 seconds passed -... 71%, 494592 KB, 42930 KB/s, 11 seconds passed -... 71%, 494624 KB, 42932 KB/s, 11 seconds passed -... 71%, 494656 KB, 42934 KB/s, 11 seconds passed -... 71%, 494688 KB, 42936 KB/s, 11 seconds passed -... 71%, 494720 KB, 42938 KB/s, 11 seconds passed -... 71%, 494752 KB, 42940 KB/s, 11 seconds passed -... 71%, 494784 KB, 42943 KB/s, 11 seconds passed -... 71%, 494816 KB, 42945 KB/s, 11 seconds passed -... 71%, 494848 KB, 42947 KB/s, 11 seconds passed -... 71%, 494880 KB, 42949 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 71%, 494912 KB, 42951 KB/s, 11 seconds passed -... 71%, 494944 KB, 42953 KB/s, 11 seconds passed -... 71%, 494976 KB, 42955 KB/s, 11 seconds passed -... 71%, 495008 KB, 42958 KB/s, 11 seconds passed -... 71%, 495040 KB, 42960 KB/s, 11 seconds passed -... 71%, 495072 KB, 42962 KB/s, 11 seconds passed -... 71%, 495104 KB, 42964 KB/s, 11 seconds passed -... 71%, 495136 KB, 42966 KB/s, 11 seconds passed -... 71%, 495168 KB, 42968 KB/s, 11 seconds passed -... 71%, 495200 KB, 42971 KB/s, 11 seconds passed -... 71%, 495232 KB, 42973 KB/s, 11 seconds passed -... 71%, 495264 KB, 42975 KB/s, 11 seconds passed -... 71%, 495296 KB, 42977 KB/s, 11 seconds passed -... 71%, 495328 KB, 42979 KB/s, 11 seconds passed -... 71%, 495360 KB, 42981 KB/s, 11 seconds passed -... 71%, 495392 KB, 42983 KB/s, 11 seconds passed -... 71%, 495424 KB, 42985 KB/s, 11 seconds passed -... 71%, 495456 KB, 42987 KB/s, 11 seconds passed -... 71%, 495488 KB, 42989 KB/s, 11 seconds passed -... 71%, 495520 KB, 42991 KB/s, 11 seconds passed -... 71%, 495552 KB, 42993 KB/s, 11 seconds passed -... 71%, 495584 KB, 42994 KB/s, 11 seconds passed -... 71%, 495616 KB, 42996 KB/s, 11 seconds passed -... 71%, 495648 KB, 42998 KB/s, 11 seconds passed -... 71%, 495680 KB, 43000 KB/s, 11 seconds passed -... 71%, 495712 KB, 43001 KB/s, 11 seconds passed -... 71%, 495744 KB, 43003 KB/s, 11 seconds passed -... 71%, 495776 KB, 43004 KB/s, 11 seconds passed -... 71%, 495808 KB, 43005 KB/s, 11 seconds passed -... 71%, 495840 KB, 43007 KB/s, 11 seconds passed -... 71%, 495872 KB, 43009 KB/s, 11 seconds passed -... 71%, 495904 KB, 43012 KB/s, 11 seconds passed -... 71%, 495936 KB, 43013 KB/s, 11 seconds passed -... 71%, 495968 KB, 43015 KB/s, 11 seconds passed -... 71%, 496000 KB, 43016 KB/s, 11 seconds passed -... 71%, 496032 KB, 43018 KB/s, 11 seconds passed -... 71%, 496064 KB, 43020 KB/s, 11 seconds passed -... 71%, 496096 KB, 43021 KB/s, 11 seconds passed -... 71%, 496128 KB, 43023 KB/s, 11 seconds passed -... 71%, 496160 KB, 43024 KB/s, 11 seconds passed -... 71%, 496192 KB, 43027 KB/s, 11 seconds passed -... 71%, 496224 KB, 43029 KB/s, 11 seconds passed -... 71%, 496256 KB, 43030 KB/s, 11 seconds passed -... 71%, 496288 KB, 43032 KB/s, 11 seconds passed -... 71%, 496320 KB, 43034 KB/s, 11 seconds passed -... 71%, 496352 KB, 43036 KB/s, 11 seconds passed -... 71%, 496384 KB, 43037 KB/s, 11 seconds passed -... 71%, 496416 KB, 43039 KB/s, 11 seconds passed -... 71%, 496448 KB, 43041 KB/s, 11 seconds passed -... 71%, 496480 KB, 43043 KB/s, 11 seconds passed -... 71%, 496512 KB, 43045 KB/s, 11 seconds passed -... 71%, 496544 KB, 43046 KB/s, 11 seconds passed -... 71%, 496576 KB, 43048 KB/s, 11 seconds passed -... 71%, 496608 KB, 43050 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 71%, 496640 KB, 42851 KB/s, 11 seconds passed -... 71%, 496672 KB, 42852 KB/s, 11 seconds passed -... 71%, 496704 KB, 42853 KB/s, 11 seconds passed -... 71%, 496736 KB, 42855 KB/s, 11 seconds passed -... 71%, 496768 KB, 42856 KB/s, 11 seconds passed -... 71%, 496800 KB, 42858 KB/s, 11 seconds passed -... 71%, 496832 KB, 42859 KB/s, 11 seconds passed -... 71%, 496864 KB, 42860 KB/s, 11 seconds passed -... 71%, 496896 KB, 42862 KB/s, 11 seconds passed -... 71%, 496928 KB, 42863 KB/s, 11 seconds passed -... 71%, 496960 KB, 42865 KB/s, 11 seconds passed -... 71%, 496992 KB, 42866 KB/s, 11 seconds passed -... 71%, 497024 KB, 42867 KB/s, 11 seconds passed -... 71%, 497056 KB, 42869 KB/s, 11 seconds passed -... 71%, 497088 KB, 42870 KB/s, 11 seconds passed -... 71%, 497120 KB, 42871 KB/s, 11 seconds passed -... 71%, 497152 KB, 42873 KB/s, 11 seconds passed -... 71%, 497184 KB, 42874 KB/s, 11 seconds passed -... 71%, 497216 KB, 42875 KB/s, 11 seconds passed -... 71%, 497248 KB, 42877 KB/s, 11 seconds passed -... 71%, 497280 KB, 42878 KB/s, 11 seconds passed -... 71%, 497312 KB, 42880 KB/s, 11 seconds passed -... 71%, 497344 KB, 42881 KB/s, 11 seconds passed -... 71%, 497376 KB, 42882 KB/s, 11 seconds passed -... 71%, 497408 KB, 42884 KB/s, 11 seconds passed -... 71%, 497440 KB, 42885 KB/s, 11 seconds passed -... 71%, 497472 KB, 42886 KB/s, 11 seconds passed -... 71%, 497504 KB, 42888 KB/s, 11 seconds passed -... 71%, 497536 KB, 42889 KB/s, 11 seconds passed -... 71%, 497568 KB, 42890 KB/s, 11 seconds passed -... 71%, 497600 KB, 42892 KB/s, 11 seconds passed -... 71%, 497632 KB, 42893 KB/s, 11 seconds passed -... 71%, 497664 KB, 42895 KB/s, 11 seconds passed -... 71%, 497696 KB, 42897 KB/s, 11 seconds passed -... 71%, 497728 KB, 42899 KB/s, 11 seconds passed -... 71%, 497760 KB, 42901 KB/s, 11 seconds passed -... 71%, 497792 KB, 42902 KB/s, 11 seconds passed -... 71%, 497824 KB, 42904 KB/s, 11 seconds passed -... 71%, 497856 KB, 42906 KB/s, 11 seconds passed -... 71%, 497888 KB, 42908 KB/s, 11 seconds passed -... 71%, 497920 KB, 42910 KB/s, 11 seconds passed -... 71%, 497952 KB, 42912 KB/s, 11 seconds passed -... 71%, 497984 KB, 42914 KB/s, 11 seconds passed -... 71%, 498016 KB, 42915 KB/s, 11 seconds passed -... 71%, 498048 KB, 42917 KB/s, 11 seconds passed -... 71%, 498080 KB, 42919 KB/s, 11 seconds passed -... 71%, 498112 KB, 42921 KB/s, 11 seconds passed -... 71%, 498144 KB, 42923 KB/s, 11 seconds passed -... 71%, 498176 KB, 42925 KB/s, 11 seconds passed -... 71%, 498208 KB, 42926 KB/s, 11 seconds passed -... 71%, 498240 KB, 42928 KB/s, 11 seconds passed -... 71%, 498272 KB, 42930 KB/s, 11 seconds passed -... 71%, 498304 KB, 42932 KB/s, 11 seconds passed -... 71%, 498336 KB, 42934 KB/s, 11 seconds passed -... 71%, 498368 KB, 42936 KB/s, 11 seconds passed -... 71%, 498400 KB, 42938 KB/s, 11 seconds passed -... 71%, 498432 KB, 42940 KB/s, 11 seconds passed -... 71%, 498464 KB, 42941 KB/s, 11 seconds passed -... 71%, 498496 KB, 42943 KB/s, 11 seconds passed -... 71%, 498528 KB, 42945 KB/s, 11 seconds passed -... 71%, 498560 KB, 42947 KB/s, 11 seconds passed -... 71%, 498592 KB, 42949 KB/s, 11 seconds passed -... 71%, 498624 KB, 42951 KB/s, 11 seconds passed -... 71%, 498656 KB, 42953 KB/s, 11 seconds passed -... 71%, 498688 KB, 42954 KB/s, 11 seconds passed -... 71%, 498720 KB, 42956 KB/s, 11 seconds passed -... 71%, 498752 KB, 42958 KB/s, 11 seconds passed -... 71%, 498784 KB, 42960 KB/s, 11 seconds passed -... 71%, 498816 KB, 42962 KB/s, 11 seconds passed -... 71%, 498848 KB, 42964 KB/s, 11 seconds passed -... 71%, 498880 KB, 42966 KB/s, 11 seconds passed -... 71%, 498912 KB, 42968 KB/s, 11 seconds passed -... 71%, 498944 KB, 42969 KB/s, 11 seconds passed -... 71%, 498976 KB, 42971 KB/s, 11 seconds passed -... 71%, 499008 KB, 42973 KB/s, 11 seconds passed -... 71%, 499040 KB, 42975 KB/s, 11 seconds passed -... 71%, 499072 KB, 42978 KB/s, 11 seconds passed -... 71%, 499104 KB, 42980 KB/s, 11 seconds passed -... 71%, 499136 KB, 42982 KB/s, 11 seconds passed -... 71%, 499168 KB, 42984 KB/s, 11 seconds passed -... 71%, 499200 KB, 42986 KB/s, 11 seconds passed -... 71%, 499232 KB, 42988 KB/s, 11 seconds passed -... 71%, 499264 KB, 42990 KB/s, 11 seconds passed -... 71%, 499296 KB, 42992 KB/s, 11 seconds passed -... 71%, 499328 KB, 42994 KB/s, 11 seconds passed -... 71%, 499360 KB, 42995 KB/s, 11 seconds passed -... 71%, 499392 KB, 42997 KB/s, 11 seconds passed -... 71%, 499424 KB, 42999 KB/s, 11 seconds passed -... 71%, 499456 KB, 43001 KB/s, 11 seconds passed -... 71%, 499488 KB, 43002 KB/s, 11 seconds passed -... 71%, 499520 KB, 43004 KB/s, 11 seconds passed -... 71%, 499552 KB, 43006 KB/s, 11 seconds passed -... 71%, 499584 KB, 43007 KB/s, 11 seconds passed -... 71%, 499616 KB, 43009 KB/s, 11 seconds passed -... 71%, 499648 KB, 43011 KB/s, 11 seconds passed -... 71%, 499680 KB, 43012 KB/s, 11 seconds passed -... 71%, 499712 KB, 43014 KB/s, 11 seconds passed -... 71%, 499744 KB, 43016 KB/s, 11 seconds passed -... 71%, 499776 KB, 43018 KB/s, 11 seconds passed -... 71%, 499808 KB, 43019 KB/s, 11 seconds passed -... 71%, 499840 KB, 43021 KB/s, 11 seconds passed -... 71%, 499872 KB, 43023 KB/s, 11 seconds passed -... 71%, 499904 KB, 43024 KB/s, 11 seconds passed -... 71%, 499936 KB, 43026 KB/s, 11 seconds passed -... 71%, 499968 KB, 43028 KB/s, 11 seconds passed -... 71%, 500000 KB, 43030 KB/s, 11 seconds passed -... 71%, 500032 KB, 43031 KB/s, 11 seconds passed -... 71%, 500064 KB, 43033 KB/s, 11 seconds passed -... 71%, 500096 KB, 43035 KB/s, 11 seconds passed -... 71%, 500128 KB, 43036 KB/s, 11 seconds passed -... 71%, 500160 KB, 43038 KB/s, 11 seconds passed -... 71%, 500192 KB, 43040 KB/s, 11 seconds passed -... 71%, 500224 KB, 43042 KB/s, 11 seconds passed -... 71%, 500256 KB, 43044 KB/s, 11 seconds passed -... 71%, 500288 KB, 43045 KB/s, 11 seconds passed -... 71%, 500320 KB, 43047 KB/s, 11 seconds passed -... 71%, 500352 KB, 43049 KB/s, 11 seconds passed -... 71%, 500384 KB, 43050 KB/s, 11 seconds passed -... 71%, 500416 KB, 43052 KB/s, 11 seconds passed -... 71%, 500448 KB, 43054 KB/s, 11 seconds passed -... 71%, 500480 KB, 43056 KB/s, 11 seconds passed -... 71%, 500512 KB, 43057 KB/s, 11 seconds passed -... 71%, 500544 KB, 43059 KB/s, 11 seconds passed -... 71%, 500576 KB, 43061 KB/s, 11 seconds passed -... 71%, 500608 KB, 43062 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 71%, 500640 KB, 43064 KB/s, 11 seconds passed -... 71%, 500672 KB, 43066 KB/s, 11 seconds passed -... 71%, 500704 KB, 43067 KB/s, 11 seconds passed -... 71%, 500736 KB, 43069 KB/s, 11 seconds passed -... 72%, 500768 KB, 43071 KB/s, 11 seconds passed -... 72%, 500800 KB, 43073 KB/s, 11 seconds passed -... 72%, 500832 KB, 43074 KB/s, 11 seconds passed -... 72%, 500864 KB, 43076 KB/s, 11 seconds passed -... 72%, 500896 KB, 43078 KB/s, 11 seconds passed -... 72%, 500928 KB, 43079 KB/s, 11 seconds passed -... 72%, 500960 KB, 43081 KB/s, 11 seconds passed -... 72%, 500992 KB, 43083 KB/s, 11 seconds passed -... 72%, 501024 KB, 43084 KB/s, 11 seconds passed -... 72%, 501056 KB, 43086 KB/s, 11 seconds passed -... 72%, 501088 KB, 43087 KB/s, 11 seconds passed -... 72%, 501120 KB, 43088 KB/s, 11 seconds passed -... 72%, 501152 KB, 43091 KB/s, 11 seconds passed -... 72%, 501184 KB, 43093 KB/s, 11 seconds passed -... 72%, 501216 KB, 43095 KB/s, 11 seconds passed -... 72%, 501248 KB, 43097 KB/s, 11 seconds passed -... 72%, 501280 KB, 43098 KB/s, 11 seconds passed -... 72%, 501312 KB, 43100 KB/s, 11 seconds passed -... 72%, 501344 KB, 43102 KB/s, 11 seconds passed -... 72%, 501376 KB, 43103 KB/s, 11 seconds passed -... 72%, 501408 KB, 43105 KB/s, 11 seconds passed -... 72%, 501440 KB, 43107 KB/s, 11 seconds passed -... 72%, 501472 KB, 43109 KB/s, 11 seconds passed -... 72%, 501504 KB, 43110 KB/s, 11 seconds passed -... 72%, 501536 KB, 43112 KB/s, 11 seconds passed -... 72%, 501568 KB, 43114 KB/s, 11 seconds passed -... 72%, 501600 KB, 43115 KB/s, 11 seconds passed -... 72%, 501632 KB, 43117 KB/s, 11 seconds passed -... 72%, 501664 KB, 43119 KB/s, 11 seconds passed -... 72%, 501696 KB, 43120 KB/s, 11 seconds passed -... 72%, 501728 KB, 43122 KB/s, 11 seconds passed -... 72%, 501760 KB, 43015 KB/s, 11 seconds passed -... 72%, 501792 KB, 43016 KB/s, 11 seconds passed -... 72%, 501824 KB, 43014 KB/s, 11 seconds passed -... 72%, 501856 KB, 43016 KB/s, 11 seconds passed -... 72%, 501888 KB, 43017 KB/s, 11 seconds passed -... 72%, 501920 KB, 43018 KB/s, 11 seconds passed -... 72%, 501952 KB, 43020 KB/s, 11 seconds passed -... 72%, 501984 KB, 43021 KB/s, 11 seconds passed -... 72%, 502016 KB, 43022 KB/s, 11 seconds passed -... 72%, 502048 KB, 43023 KB/s, 11 seconds passed -... 72%, 502080 KB, 43025 KB/s, 11 seconds passed -... 72%, 502112 KB, 43026 KB/s, 11 seconds passed -... 72%, 502144 KB, 43028 KB/s, 11 seconds passed -... 72%, 502176 KB, 43029 KB/s, 11 seconds passed -... 72%, 502208 KB, 43030 KB/s, 11 seconds passed -... 72%, 502240 KB, 43032 KB/s, 11 seconds passed -... 72%, 502272 KB, 43033 KB/s, 11 seconds passed -... 72%, 502304 KB, 43035 KB/s, 11 seconds passed -... 72%, 502336 KB, 43036 KB/s, 11 seconds passed -... 72%, 502368 KB, 43037 KB/s, 11 seconds passed -... 72%, 502400 KB, 43039 KB/s, 11 seconds passed -... 72%, 502432 KB, 43040 KB/s, 11 seconds passed -... 72%, 502464 KB, 43041 KB/s, 11 seconds passed -... 72%, 502496 KB, 43043 KB/s, 11 seconds passed -... 72%, 502528 KB, 43044 KB/s, 11 seconds passed -... 72%, 502560 KB, 43046 KB/s, 11 seconds passed -... 72%, 502592 KB, 43047 KB/s, 11 seconds passed -... 72%, 502624 KB, 43048 KB/s, 11 seconds passed -... 72%, 502656 KB, 43050 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 72%, 502688 KB, 43051 KB/s, 11 seconds passed -... 72%, 502720 KB, 43052 KB/s, 11 seconds passed -... 72%, 502752 KB, 43054 KB/s, 11 seconds passed -... 72%, 502784 KB, 43055 KB/s, 11 seconds passed -... 72%, 502816 KB, 43056 KB/s, 11 seconds passed -... 72%, 502848 KB, 43058 KB/s, 11 seconds passed -... 72%, 502880 KB, 43059 KB/s, 11 seconds passed -... 72%, 502912 KB, 43060 KB/s, 11 seconds passed -... 72%, 502944 KB, 43062 KB/s, 11 seconds passed -... 72%, 502976 KB, 43063 KB/s, 11 seconds passed -... 72%, 503008 KB, 43064 KB/s, 11 seconds passed -... 72%, 503040 KB, 43066 KB/s, 11 seconds passed -... 72%, 503072 KB, 43067 KB/s, 11 seconds passed -... 72%, 503104 KB, 43068 KB/s, 11 seconds passed -... 72%, 503136 KB, 43070 KB/s, 11 seconds passed -... 72%, 503168 KB, 43071 KB/s, 11 seconds passed -... 72%, 503200 KB, 43073 KB/s, 11 seconds passed -... 72%, 503232 KB, 43074 KB/s, 11 seconds passed -... 72%, 503264 KB, 43076 KB/s, 11 seconds passed -... 72%, 503296 KB, 43078 KB/s, 11 seconds passed -... 72%, 503328 KB, 43080 KB/s, 11 seconds passed -... 72%, 503360 KB, 43082 KB/s, 11 seconds passed -... 72%, 503392 KB, 43084 KB/s, 11 seconds passed -... 72%, 503424 KB, 43085 KB/s, 11 seconds passed -... 72%, 503456 KB, 43087 KB/s, 11 seconds passed -... 72%, 503488 KB, 43089 KB/s, 11 seconds passed -... 72%, 503520 KB, 43091 KB/s, 11 seconds passed -... 72%, 503552 KB, 43093 KB/s, 11 seconds passed -... 72%, 503584 KB, 43095 KB/s, 11 seconds passed -... 72%, 503616 KB, 43096 KB/s, 11 seconds passed -... 72%, 503648 KB, 43098 KB/s, 11 seconds passed -... 72%, 503680 KB, 43100 KB/s, 11 seconds passed -... 72%, 503712 KB, 43102 KB/s, 11 seconds passed -... 72%, 503744 KB, 43104 KB/s, 11 seconds passed -... 72%, 503776 KB, 43106 KB/s, 11 seconds passed -... 72%, 503808 KB, 43108 KB/s, 11 seconds passed -... 72%, 503840 KB, 43109 KB/s, 11 seconds passed -... 72%, 503872 KB, 43111 KB/s, 11 seconds passed -... 72%, 503904 KB, 43113 KB/s, 11 seconds passed -... 72%, 503936 KB, 43115 KB/s, 11 seconds passed -... 72%, 503968 KB, 43117 KB/s, 11 seconds passed -... 72%, 504000 KB, 43119 KB/s, 11 seconds passed -... 72%, 504032 KB, 43120 KB/s, 11 seconds passed -... 72%, 504064 KB, 43122 KB/s, 11 seconds passed -... 72%, 504096 KB, 43124 KB/s, 11 seconds passed -... 72%, 504128 KB, 43126 KB/s, 11 seconds passed -... 72%, 504160 KB, 43128 KB/s, 11 seconds passed -... 72%, 504192 KB, 43130 KB/s, 11 seconds passed -... 72%, 504224 KB, 43131 KB/s, 11 seconds passed -... 72%, 504256 KB, 43133 KB/s, 11 seconds passed -... 72%, 504288 KB, 43135 KB/s, 11 seconds passed -... 72%, 504320 KB, 43137 KB/s, 11 seconds passed -... 72%, 504352 KB, 43139 KB/s, 11 seconds passed -... 72%, 504384 KB, 43141 KB/s, 11 seconds passed -... 72%, 504416 KB, 43143 KB/s, 11 seconds passed -... 72%, 504448 KB, 43145 KB/s, 11 seconds passed -... 72%, 504480 KB, 43146 KB/s, 11 seconds passed -... 72%, 504512 KB, 43148 KB/s, 11 seconds passed -... 72%, 504544 KB, 43150 KB/s, 11 seconds passed -... 72%, 504576 KB, 43152 KB/s, 11 seconds passed -... 72%, 504608 KB, 43155 KB/s, 11 seconds passed -... 72%, 504640 KB, 43157 KB/s, 11 seconds passed -... 72%, 504672 KB, 43159 KB/s, 11 seconds passed -... 72%, 504704 KB, 43161 KB/s, 11 seconds passed -... 72%, 504736 KB, 43163 KB/s, 11 seconds passed -... 72%, 504768 KB, 43165 KB/s, 11 seconds passed -... 72%, 504800 KB, 43167 KB/s, 11 seconds passed -... 72%, 504832 KB, 43169 KB/s, 11 seconds passed -... 72%, 504864 KB, 43172 KB/s, 11 seconds passed -... 72%, 504896 KB, 43174 KB/s, 11 seconds passed -... 72%, 504928 KB, 43176 KB/s, 11 seconds passed -... 72%, 504960 KB, 43178 KB/s, 11 seconds passed -... 72%, 504992 KB, 43180 KB/s, 11 seconds passed -... 72%, 505024 KB, 43182 KB/s, 11 seconds passed -... 72%, 505056 KB, 43184 KB/s, 11 seconds passed -... 72%, 505088 KB, 43186 KB/s, 11 seconds passed -... 72%, 505120 KB, 43188 KB/s, 11 seconds passed -... 72%, 505152 KB, 43191 KB/s, 11 seconds passed -... 72%, 505184 KB, 43193 KB/s, 11 seconds passed -... 72%, 505216 KB, 43195 KB/s, 11 seconds passed -... 72%, 505248 KB, 43197 KB/s, 11 seconds passed -... 72%, 505280 KB, 43199 KB/s, 11 seconds passed -... 72%, 505312 KB, 43201 KB/s, 11 seconds passed -... 72%, 505344 KB, 43203 KB/s, 11 seconds passed -... 72%, 505376 KB, 43204 KB/s, 11 seconds passed -... 72%, 505408 KB, 43206 KB/s, 11 seconds passed -... 72%, 505440 KB, 43208 KB/s, 11 seconds passed -... 72%, 505472 KB, 43209 KB/s, 11 seconds passed -... 72%, 505504 KB, 43211 KB/s, 11 seconds passed -... 72%, 505536 KB, 43213 KB/s, 11 seconds passed -... 72%, 505568 KB, 43215 KB/s, 11 seconds passed -... 72%, 505600 KB, 43202 KB/s, 11 seconds passed -... 72%, 505632 KB, 43203 KB/s, 11 seconds passed -... 72%, 505664 KB, 43205 KB/s, 11 seconds passed -... 72%, 505696 KB, 43206 KB/s, 11 seconds passed -... 72%, 505728 KB, 43207 KB/s, 11 seconds passed -... 72%, 505760 KB, 43209 KB/s, 11 seconds passed -... 72%, 505792 KB, 43210 KB/s, 11 seconds passed -... 72%, 505824 KB, 43211 KB/s, 11 seconds passed -... 72%, 505856 KB, 43213 KB/s, 11 seconds passed -... 72%, 505888 KB, 43214 KB/s, 11 seconds passed -... 72%, 505920 KB, 43215 KB/s, 11 seconds passed -... 72%, 505952 KB, 43217 KB/s, 11 seconds passed -... 72%, 505984 KB, 43219 KB/s, 11 seconds passed -... 72%, 506016 KB, 43221 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 72%, 506048 KB, 43134 KB/s, 11 seconds passed -... 72%, 506080 KB, 43134 KB/s, 11 seconds passed -... 72%, 506112 KB, 43135 KB/s, 11 seconds passed -... 72%, 506144 KB, 43136 KB/s, 11 seconds passed -... 72%, 506176 KB, 43137 KB/s, 11 seconds passed -... 72%, 506208 KB, 43139 KB/s, 11 seconds passed -... 72%, 506240 KB, 43140 KB/s, 11 seconds passed -... 72%, 506272 KB, 43141 KB/s, 11 seconds passed -... 72%, 506304 KB, 43143 KB/s, 11 seconds passed -... 72%, 506336 KB, 43144 KB/s, 11 seconds passed -... 72%, 506368 KB, 43145 KB/s, 11 seconds passed -... 72%, 506400 KB, 43146 KB/s, 11 seconds passed -... 72%, 506432 KB, 43148 KB/s, 11 seconds passed -... 72%, 506464 KB, 43149 KB/s, 11 seconds passed -... 72%, 506496 KB, 43150 KB/s, 11 seconds passed -... 72%, 506528 KB, 43152 KB/s, 11 seconds passed -... 72%, 506560 KB, 43153 KB/s, 11 seconds passed -... 72%, 506592 KB, 43154 KB/s, 11 seconds passed -... 72%, 506624 KB, 43156 KB/s, 11 seconds passed -... 72%, 506656 KB, 43158 KB/s, 11 seconds passed -... 72%, 506688 KB, 43159 KB/s, 11 seconds passed -... 72%, 506720 KB, 43161 KB/s, 11 seconds passed -... 72%, 506752 KB, 43163 KB/s, 11 seconds passed -... 72%, 506784 KB, 43164 KB/s, 11 seconds passed -... 72%, 506816 KB, 43166 KB/s, 11 seconds passed -... 72%, 506848 KB, 43168 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 72%, 506880 KB, 42936 KB/s, 11 seconds passed -... 72%, 506912 KB, 42936 KB/s, 11 seconds passed -... 72%, 506944 KB, 42937 KB/s, 11 seconds passed -... 72%, 506976 KB, 42939 KB/s, 11 seconds passed -... 72%, 507008 KB, 42891 KB/s, 11 seconds passed -... 72%, 507040 KB, 42885 KB/s, 11 seconds passed -... 72%, 507072 KB, 42886 KB/s, 11 seconds passed -... 72%, 507104 KB, 42887 KB/s, 11 seconds passed -... 72%, 507136 KB, 42889 KB/s, 11 seconds passed -... 72%, 507168 KB, 42890 KB/s, 11 seconds passed -... 72%, 507200 KB, 42891 KB/s, 11 seconds passed -... 72%, 507232 KB, 42892 KB/s, 11 seconds passed -... 72%, 507264 KB, 42894 KB/s, 11 seconds passed -... 72%, 507296 KB, 42895 KB/s, 11 seconds passed -... 72%, 507328 KB, 42896 KB/s, 11 seconds passed -... 72%, 507360 KB, 42898 KB/s, 11 seconds passed -... 72%, 507392 KB, 42900 KB/s, 11 seconds passed -... 72%, 507424 KB, 42901 KB/s, 11 seconds passed -... 72%, 507456 KB, 42897 KB/s, 11 seconds passed -... 72%, 507488 KB, 42897 KB/s, 11 seconds passed -... 72%, 507520 KB, 42898 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 72%, 507552 KB, 42900 KB/s, 11 seconds passed -... 72%, 507584 KB, 42901 KB/s, 11 seconds passed -... 72%, 507616 KB, 42902 KB/s, 11 seconds passed -... 72%, 507648 KB, 42904 KB/s, 11 seconds passed -... 72%, 507680 KB, 42905 KB/s, 11 seconds passed -... 72%, 507712 KB, 42907 KB/s, 11 seconds passed -... 73%, 507744 KB, 42879 KB/s, 11 seconds passed -... 73%, 507776 KB, 42880 KB/s, 11 seconds passed -... 73%, 507808 KB, 42882 KB/s, 11 seconds passed -... 73%, 507840 KB, 42883 KB/s, 11 seconds passed -... 73%, 507872 KB, 42885 KB/s, 11 seconds passed -... 73%, 507904 KB, 42886 KB/s, 11 seconds passed -... 73%, 507936 KB, 42888 KB/s, 11 seconds passed -... 73%, 507968 KB, 42889 KB/s, 11 seconds passed -... 73%, 508000 KB, 42891 KB/s, 11 seconds passed -... 73%, 508032 KB, 42892 KB/s, 11 seconds passed -... 73%, 508064 KB, 42893 KB/s, 11 seconds passed -... 73%, 508096 KB, 42895 KB/s, 11 seconds passed -... 73%, 508128 KB, 42896 KB/s, 11 seconds passed -... 73%, 508160 KB, 42897 KB/s, 11 seconds passed -... 73%, 508192 KB, 42899 KB/s, 11 seconds passed -... 73%, 508224 KB, 42900 KB/s, 11 seconds passed -... 73%, 508256 KB, 42901 KB/s, 11 seconds passed -... 73%, 508288 KB, 42902 KB/s, 11 seconds passed -... 73%, 508320 KB, 42904 KB/s, 11 seconds passed -... 73%, 508352 KB, 42905 KB/s, 11 seconds passed -... 73%, 508384 KB, 42906 KB/s, 11 seconds passed -... 73%, 508416 KB, 42908 KB/s, 11 seconds passed -... 73%, 508448 KB, 42909 KB/s, 11 seconds passed -... 73%, 508480 KB, 42910 KB/s, 11 seconds passed -... 73%, 508512 KB, 42912 KB/s, 11 seconds passed -... 73%, 508544 KB, 42913 KB/s, 11 seconds passed -... 73%, 508576 KB, 42914 KB/s, 11 seconds passed -... 73%, 508608 KB, 42916 KB/s, 11 seconds passed -... 73%, 508640 KB, 42917 KB/s, 11 seconds passed -... 73%, 508672 KB, 42919 KB/s, 11 seconds passed -... 73%, 508704 KB, 42920 KB/s, 11 seconds passed -... 73%, 508736 KB, 42921 KB/s, 11 seconds passed -... 73%, 508768 KB, 42922 KB/s, 11 seconds passed -... 73%, 508800 KB, 42924 KB/s, 11 seconds passed -... 73%, 508832 KB, 42926 KB/s, 11 seconds passed -... 73%, 508864 KB, 42927 KB/s, 11 seconds passed -... 73%, 508896 KB, 42929 KB/s, 11 seconds passed -... 73%, 508928 KB, 42931 KB/s, 11 seconds passed -... 73%, 508960 KB, 42933 KB/s, 11 seconds passed -... 73%, 508992 KB, 42935 KB/s, 11 seconds passed -... 73%, 509024 KB, 42936 KB/s, 11 seconds passed -... 73%, 509056 KB, 42938 KB/s, 11 seconds passed -... 73%, 509088 KB, 42940 KB/s, 11 seconds passed -... 73%, 509120 KB, 42942 KB/s, 11 seconds passed -... 73%, 509152 KB, 42944 KB/s, 11 seconds passed -... 73%, 509184 KB, 42946 KB/s, 11 seconds passed -... 73%, 509216 KB, 42947 KB/s, 11 seconds passed -... 73%, 509248 KB, 42949 KB/s, 11 seconds passed -... 73%, 509280 KB, 42951 KB/s, 11 seconds passed -... 73%, 509312 KB, 42953 KB/s, 11 seconds passed -... 73%, 509344 KB, 42955 KB/s, 11 seconds passed -... 73%, 509376 KB, 42956 KB/s, 11 seconds passed -... 73%, 509408 KB, 42958 KB/s, 11 seconds passed -... 73%, 509440 KB, 42960 KB/s, 11 seconds passed -... 73%, 509472 KB, 42962 KB/s, 11 seconds passed -... 73%, 509504 KB, 42964 KB/s, 11 seconds passed -... 73%, 509536 KB, 42966 KB/s, 11 seconds passed -... 73%, 509568 KB, 42967 KB/s, 11 seconds passed -... 73%, 509600 KB, 42969 KB/s, 11 seconds passed -... 73%, 509632 KB, 42971 KB/s, 11 seconds passed -... 73%, 509664 KB, 42973 KB/s, 11 seconds passed -... 73%, 509696 KB, 42975 KB/s, 11 seconds passed -... 73%, 509728 KB, 42976 KB/s, 11 seconds passed -... 73%, 509760 KB, 42978 KB/s, 11 seconds passed -... 73%, 509792 KB, 42980 KB/s, 11 seconds passed -... 73%, 509824 KB, 42982 KB/s, 11 seconds passed -... 73%, 509856 KB, 42984 KB/s, 11 seconds passed -... 73%, 509888 KB, 42986 KB/s, 11 seconds passed -... 73%, 509920 KB, 42987 KB/s, 11 seconds passed -... 73%, 509952 KB, 42989 KB/s, 11 seconds passed -... 73%, 509984 KB, 42991 KB/s, 11 seconds passed -... 73%, 510016 KB, 42993 KB/s, 11 seconds passed -... 73%, 510048 KB, 42995 KB/s, 11 seconds passed -... 73%, 510080 KB, 42996 KB/s, 11 seconds passed -... 73%, 510112 KB, 42998 KB/s, 11 seconds passed -... 73%, 510144 KB, 43000 KB/s, 11 seconds passed -... 73%, 510176 KB, 43002 KB/s, 11 seconds passed -... 73%, 510208 KB, 43004 KB/s, 11 seconds passed -... 73%, 510240 KB, 43006 KB/s, 11 seconds passed -... 73%, 510272 KB, 43008 KB/s, 11 seconds passed -... 73%, 510304 KB, 43010 KB/s, 11 seconds passed -... 73%, 510336 KB, 43012 KB/s, 11 seconds passed -... 73%, 510368 KB, 43014 KB/s, 11 seconds passed -... 73%, 510400 KB, 43017 KB/s, 11 seconds passed -... 73%, 510432 KB, 43019 KB/s, 11 seconds passed -... 73%, 510464 KB, 43021 KB/s, 11 seconds passed -... 73%, 510496 KB, 43023 KB/s, 11 seconds passed -... 73%, 510528 KB, 43025 KB/s, 11 seconds passed -... 73%, 510560 KB, 43027 KB/s, 11 seconds passed -... 73%, 510592 KB, 43029 KB/s, 11 seconds passed -... 73%, 510624 KB, 43031 KB/s, 11 seconds passed -... 73%, 510656 KB, 43033 KB/s, 11 seconds passed -... 73%, 510688 KB, 43035 KB/s, 11 seconds passed -... 73%, 510720 KB, 43036 KB/s, 11 seconds passed -... 73%, 510752 KB, 43038 KB/s, 11 seconds passed -... 73%, 510784 KB, 43040 KB/s, 11 seconds passed -... 73%, 510816 KB, 43041 KB/s, 11 seconds passed -... 73%, 510848 KB, 43043 KB/s, 11 seconds passed -... 73%, 510880 KB, 43045 KB/s, 11 seconds passed -... 73%, 510912 KB, 43046 KB/s, 11 seconds passed -... 73%, 510944 KB, 43048 KB/s, 11 seconds passed -... 73%, 510976 KB, 43050 KB/s, 11 seconds passed -... 73%, 511008 KB, 43051 KB/s, 11 seconds passed -... 73%, 511040 KB, 43053 KB/s, 11 seconds passed -... 73%, 511072 KB, 43055 KB/s, 11 seconds passed -... 73%, 511104 KB, 43056 KB/s, 11 seconds passed -... 73%, 511136 KB, 43058 KB/s, 11 seconds passed -... 73%, 511168 KB, 43060 KB/s, 11 seconds passed -... 73%, 511200 KB, 43061 KB/s, 11 seconds passed -... 73%, 511232 KB, 43062 KB/s, 11 seconds passed -... 73%, 511264 KB, 43064 KB/s, 11 seconds passed -... 73%, 511296 KB, 43066 KB/s, 11 seconds passed -... 73%, 511328 KB, 43068 KB/s, 11 seconds passed -... 73%, 511360 KB, 43070 KB/s, 11 seconds passed -... 73%, 511392 KB, 43072 KB/s, 11 seconds passed -... 73%, 511424 KB, 43073 KB/s, 11 seconds passed -... 73%, 511456 KB, 43075 KB/s, 11 seconds passed -... 73%, 511488 KB, 43077 KB/s, 11 seconds passed -... 73%, 511520 KB, 43078 KB/s, 11 seconds passed -... 73%, 511552 KB, 43080 KB/s, 11 seconds passed -... 73%, 511584 KB, 43081 KB/s, 11 seconds passed -... 73%, 511616 KB, 43083 KB/s, 11 seconds passed -... 73%, 511648 KB, 43084 KB/s, 11 seconds passed -... 73%, 511680 KB, 43086 KB/s, 11 seconds passed -... 73%, 511712 KB, 43088 KB/s, 11 seconds passed -... 73%, 511744 KB, 43090 KB/s, 11 seconds passed -... 73%, 511776 KB, 43092 KB/s, 11 seconds passed -... 73%, 511808 KB, 43094 KB/s, 11 seconds passed -... 73%, 511840 KB, 43095 KB/s, 11 seconds passed -... 73%, 511872 KB, 43097 KB/s, 11 seconds passed -... 73%, 511904 KB, 43099 KB/s, 11 seconds passed -... 73%, 511936 KB, 43100 KB/s, 11 seconds passed -... 73%, 511968 KB, 43102 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 73%, 512000 KB, 43051 KB/s, 11 seconds passed -... 73%, 512032 KB, 43051 KB/s, 11 seconds passed -... 73%, 512064 KB, 43053 KB/s, 11 seconds passed -... 73%, 512096 KB, 43054 KB/s, 11 seconds passed -... 73%, 512128 KB, 43055 KB/s, 11 seconds passed -... 73%, 512160 KB, 43057 KB/s, 11 seconds passed -... 73%, 512192 KB, 43058 KB/s, 11 seconds passed -... 73%, 512224 KB, 43059 KB/s, 11 seconds passed -... 73%, 512256 KB, 43061 KB/s, 11 seconds passed -... 73%, 512288 KB, 43062 KB/s, 11 seconds passed -... 73%, 512320 KB, 43063 KB/s, 11 seconds passed -... 73%, 512352 KB, 43065 KB/s, 11 seconds passed -... 73%, 512384 KB, 43066 KB/s, 11 seconds passed -... 73%, 512416 KB, 43068 KB/s, 11 seconds passed -... 73%, 512448 KB, 43063 KB/s, 11 seconds passed -... 73%, 512480 KB, 43064 KB/s, 11 seconds passed -... 73%, 512512 KB, 43065 KB/s, 11 seconds passed -... 73%, 512544 KB, 43067 KB/s, 11 seconds passed -... 73%, 512576 KB, 43068 KB/s, 11 seconds passed -... 73%, 512608 KB, 43069 KB/s, 11 seconds passed -... 73%, 512640 KB, 43071 KB/s, 11 seconds passed -... 73%, 512672 KB, 43072 KB/s, 11 seconds passed -... 73%, 512704 KB, 43073 KB/s, 11 seconds passed -... 73%, 512736 KB, 43075 KB/s, 11 seconds passed -... 73%, 512768 KB, 43076 KB/s, 11 seconds passed -... 73%, 512800 KB, 43077 KB/s, 11 seconds passed -... 73%, 512832 KB, 43079 KB/s, 11 seconds passed -... 73%, 512864 KB, 43080 KB/s, 11 seconds passed -... 73%, 512896 KB, 43081 KB/s, 11 seconds passed -... 73%, 512928 KB, 43083 KB/s, 11 seconds passed -... 73%, 512960 KB, 43084 KB/s, 11 seconds passed -... 73%, 512992 KB, 43086 KB/s, 11 seconds passed -... 73%, 513024 KB, 43088 KB/s, 11 seconds passed -... 73%, 513056 KB, 43089 KB/s, 11 seconds passed -... 73%, 513088 KB, 43091 KB/s, 11 seconds passed -... 73%, 513120 KB, 43093 KB/s, 11 seconds passed -... 73%, 513152 KB, 43094 KB/s, 11 seconds passed -... 73%, 513184 KB, 43096 KB/s, 11 seconds passed -... 73%, 513216 KB, 43097 KB/s, 11 seconds passed -... 73%, 513248 KB, 43099 KB/s, 11 seconds passed -... 73%, 513280 KB, 43101 KB/s, 11 seconds passed -... 73%, 513312 KB, 43102 KB/s, 11 seconds passed -... 73%, 513344 KB, 43104 KB/s, 11 seconds passed -... 73%, 513376 KB, 43105 KB/s, 11 seconds passed -... 73%, 513408 KB, 43107 KB/s, 11 seconds passed -... 73%, 513440 KB, 43109 KB/s, 11 seconds passed -... 73%, 513472 KB, 43110 KB/s, 11 seconds passed -... 73%, 513504 KB, 43112 KB/s, 11 seconds passed -... 73%, 513536 KB, 43114 KB/s, 11 seconds passed -... 73%, 513568 KB, 43115 KB/s, 11 seconds passed -... 73%, 513600 KB, 43117 KB/s, 11 seconds passed -... 73%, 513632 KB, 43118 KB/s, 11 seconds passed -... 73%, 513664 KB, 43120 KB/s, 11 seconds passed -... 73%, 513696 KB, 43122 KB/s, 11 seconds passed -... 73%, 513728 KB, 43123 KB/s, 11 seconds passed -... 73%, 513760 KB, 43125 KB/s, 11 seconds passed -... 73%, 513792 KB, 43126 KB/s, 11 seconds passed -... 73%, 513824 KB, 43128 KB/s, 11 seconds passed -... 73%, 513856 KB, 43130 KB/s, 11 seconds passed -... 73%, 513888 KB, 43131 KB/s, 11 seconds passed -... 73%, 513920 KB, 43133 KB/s, 11 seconds passed -... 73%, 513952 KB, 43135 KB/s, 11 seconds passed -... 73%, 513984 KB, 43137 KB/s, 11 seconds passed -... 73%, 514016 KB, 43139 KB/s, 11 seconds passed -... 73%, 514048 KB, 43141 KB/s, 11 seconds passed -... 73%, 514080 KB, 43143 KB/s, 11 seconds passed -... 73%, 514112 KB, 43144 KB/s, 11 seconds passed -... 73%, 514144 KB, 43146 KB/s, 11 seconds passed -... 73%, 514176 KB, 43148 KB/s, 11 seconds passed -... 73%, 514208 KB, 43150 KB/s, 11 seconds passed -... 73%, 514240 KB, 43152 KB/s, 11 seconds passed -... 73%, 514272 KB, 43154 KB/s, 11 seconds passed -... 73%, 514304 KB, 43156 KB/s, 11 seconds passed -... 73%, 514336 KB, 43158 KB/s, 11 seconds passed -... 73%, 514368 KB, 43160 KB/s, 11 seconds passed -... 73%, 514400 KB, 43162 KB/s, 11 seconds passed -... 73%, 514432 KB, 43164 KB/s, 11 seconds passed -... 73%, 514464 KB, 43166 KB/s, 11 seconds passed -... 73%, 514496 KB, 43168 KB/s, 11 seconds passed -... 73%, 514528 KB, 43170 KB/s, 11 seconds passed -... 73%, 514560 KB, 43172 KB/s, 11 seconds passed -... 73%, 514592 KB, 43174 KB/s, 11 seconds passed -... 73%, 514624 KB, 43176 KB/s, 11 seconds passed -... 73%, 514656 KB, 43178 KB/s, 11 seconds passed -... 74%, 514688 KB, 43180 KB/s, 11 seconds passed -... 74%, 514720 KB, 43182 KB/s, 11 seconds passed -... 74%, 514752 KB, 43183 KB/s, 11 seconds passed -... 74%, 514784 KB, 43185 KB/s, 11 seconds passed -... 74%, 514816 KB, 43186 KB/s, 11 seconds passed -... 74%, 514848 KB, 43188 KB/s, 11 seconds passed -... 74%, 514880 KB, 43190 KB/s, 11 seconds passed -... 74%, 514912 KB, 43191 KB/s, 11 seconds passed -... 74%, 514944 KB, 43193 KB/s, 11 seconds passed -... 74%, 514976 KB, 43195 KB/s, 11 seconds passed -... 74%, 515008 KB, 43197 KB/s, 11 seconds passed -... 74%, 515040 KB, 43198 KB/s, 11 seconds passed -... 74%, 515072 KB, 43200 KB/s, 11 seconds passed -... 74%, 515104 KB, 43202 KB/s, 11 seconds passed -... 74%, 515136 KB, 43203 KB/s, 11 seconds passed -... 74%, 515168 KB, 43205 KB/s, 11 seconds passed -... 74%, 515200 KB, 43207 KB/s, 11 seconds passed -... 74%, 515232 KB, 43208 KB/s, 11 seconds passed -... 74%, 515264 KB, 43210 KB/s, 11 seconds passed -... 74%, 515296 KB, 43212 KB/s, 11 seconds passed -... 74%, 515328 KB, 43213 KB/s, 11 seconds passed -... 74%, 515360 KB, 43215 KB/s, 11 seconds passed -... 74%, 515392 KB, 43217 KB/s, 11 seconds passed -... 74%, 515424 KB, 43218 KB/s, 11 seconds passed -... 74%, 515456 KB, 43220 KB/s, 11 seconds passed -... 74%, 515488 KB, 43222 KB/s, 11 seconds passed -... 74%, 515520 KB, 43223 KB/s, 11 seconds passed -... 74%, 515552 KB, 43225 KB/s, 11 seconds passed -... 74%, 515584 KB, 43226 KB/s, 11 seconds passed -... 74%, 515616 KB, 43228 KB/s, 11 seconds passed -... 74%, 515648 KB, 43230 KB/s, 11 seconds passed -... 74%, 515680 KB, 43232 KB/s, 11 seconds passed -... 74%, 515712 KB, 43234 KB/s, 11 seconds passed -... 74%, 515744 KB, 43235 KB/s, 11 seconds passed -... 74%, 515776 KB, 43237 KB/s, 11 seconds passed -... 74%, 515808 KB, 43238 KB/s, 11 seconds passed -... 74%, 515840 KB, 43240 KB/s, 11 seconds passed -... 74%, 515872 KB, 43242 KB/s, 11 seconds passed -... 74%, 515904 KB, 43243 KB/s, 11 seconds passed -... 74%, 515936 KB, 43245 KB/s, 11 seconds passed -... 74%, 515968 KB, 43247 KB/s, 11 seconds passed -... 74%, 516000 KB, 43248 KB/s, 11 seconds passed -... 74%, 516032 KB, 43250 KB/s, 11 seconds passed -... 74%, 516064 KB, 43252 KB/s, 11 seconds passed -... 74%, 516096 KB, 43253 KB/s, 11 seconds passed -... 74%, 516128 KB, 43255 KB/s, 11 seconds passed -... 74%, 516160 KB, 43257 KB/s, 11 seconds passed -... 74%, 516192 KB, 43258 KB/s, 11 seconds passed -... 74%, 516224 KB, 43260 KB/s, 11 seconds passed -... 74%, 516256 KB, 43262 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 74%, 516288 KB, 43262 KB/s, 11 seconds passed -... 74%, 516320 KB, 43264 KB/s, 11 seconds passed -... 74%, 516352 KB, 43265 KB/s, 11 seconds passed -... 74%, 516384 KB, 43267 KB/s, 11 seconds passed -... 74%, 516416 KB, 43269 KB/s, 11 seconds passed -... 74%, 516448 KB, 43271 KB/s, 11 seconds passed -... 74%, 516480 KB, 43272 KB/s, 11 seconds passed -... 74%, 516512 KB, 43274 KB/s, 11 seconds passed -... 74%, 516544 KB, 43268 KB/s, 11 seconds passed -... 74%, 516576 KB, 43269 KB/s, 11 seconds passed -... 74%, 516608 KB, 43271 KB/s, 11 seconds passed -... 74%, 516640 KB, 43273 KB/s, 11 seconds passed -... 74%, 516672 KB, 43275 KB/s, 11 seconds passed -... 74%, 516704 KB, 43277 KB/s, 11 seconds passed -... 74%, 516736 KB, 43278 KB/s, 11 seconds passed -... 74%, 516768 KB, 43280 KB/s, 11 seconds passed -... 74%, 516800 KB, 43282 KB/s, 11 seconds passed -... 74%, 516832 KB, 43283 KB/s, 11 seconds passed -... 74%, 516864 KB, 43285 KB/s, 11 seconds passed -... 74%, 516896 KB, 43287 KB/s, 11 seconds passed -... 74%, 516928 KB, 43289 KB/s, 11 seconds passed -... 74%, 516960 KB, 43290 KB/s, 11 seconds passed -... 74%, 516992 KB, 43291 KB/s, 11 seconds passed -... 74%, 517024 KB, 43293 KB/s, 11 seconds passed -... 74%, 517056 KB, 43294 KB/s, 11 seconds passed -... 74%, 517088 KB, 43296 KB/s, 11 seconds passed - -.. parsed-literal:: - - ... 74%, 517120 KB, 42861 KB/s, 12 seconds passed -... 74%, 517152 KB, 42862 KB/s, 12 seconds passed -... 74%, 517184 KB, 42863 KB/s, 12 seconds passed -... 74%, 517216 KB, 42865 KB/s, 12 seconds passed -... 74%, 517248 KB, 42813 KB/s, 12 seconds passed -... 74%, 517280 KB, 42814 KB/s, 12 seconds passed -... 74%, 517312 KB, 42814 KB/s, 12 seconds passed -... 74%, 517344 KB, 42815 KB/s, 12 seconds passed -... 74%, 517376 KB, 42817 KB/s, 12 seconds passed -... 74%, 517408 KB, 42818 KB/s, 12 seconds passed -... 74%, 517440 KB, 42819 KB/s, 12 seconds passed -... 74%, 517472 KB, 42820 KB/s, 12 seconds passed -... 74%, 517504 KB, 42822 KB/s, 12 seconds passed -... 74%, 517536 KB, 42823 KB/s, 12 seconds passed -... 74%, 517568 KB, 42824 KB/s, 12 seconds passed -... 74%, 517600 KB, 42826 KB/s, 12 seconds passed -... 74%, 517632 KB, 42827 KB/s, 12 seconds passed -... 74%, 517664 KB, 42828 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 74%, 517696 KB, 42829 KB/s, 12 seconds passed -... 74%, 517728 KB, 42831 KB/s, 12 seconds passed -... 74%, 517760 KB, 42832 KB/s, 12 seconds passed -... 74%, 517792 KB, 42833 KB/s, 12 seconds passed -... 74%, 517824 KB, 42835 KB/s, 12 seconds passed -... 74%, 517856 KB, 42836 KB/s, 12 seconds passed -... 74%, 517888 KB, 42837 KB/s, 12 seconds passed -... 74%, 517920 KB, 42839 KB/s, 12 seconds passed -... 74%, 517952 KB, 42840 KB/s, 12 seconds passed -... 74%, 517984 KB, 42841 KB/s, 12 seconds passed -... 74%, 518016 KB, 42842 KB/s, 12 seconds passed -... 74%, 518048 KB, 42844 KB/s, 12 seconds passed -... 74%, 518080 KB, 42845 KB/s, 12 seconds passed -... 74%, 518112 KB, 42846 KB/s, 12 seconds passed -... 74%, 518144 KB, 42848 KB/s, 12 seconds passed -... 74%, 518176 KB, 42849 KB/s, 12 seconds passed -... 74%, 518208 KB, 42850 KB/s, 12 seconds passed -... 74%, 518240 KB, 42851 KB/s, 12 seconds passed -... 74%, 518272 KB, 42853 KB/s, 12 seconds passed -... 74%, 518304 KB, 42854 KB/s, 12 seconds passed -... 74%, 518336 KB, 42855 KB/s, 12 seconds passed -... 74%, 518368 KB, 42857 KB/s, 12 seconds passed -... 74%, 518400 KB, 42858 KB/s, 12 seconds passed -... 74%, 518432 KB, 42859 KB/s, 12 seconds passed -... 74%, 518464 KB, 42861 KB/s, 12 seconds passed -... 74%, 518496 KB, 42862 KB/s, 12 seconds passed -... 74%, 518528 KB, 42863 KB/s, 12 seconds passed -... 74%, 518560 KB, 42865 KB/s, 12 seconds passed -... 74%, 518592 KB, 42867 KB/s, 12 seconds passed -... 74%, 518624 KB, 42869 KB/s, 12 seconds passed -... 74%, 518656 KB, 42871 KB/s, 12 seconds passed -... 74%, 518688 KB, 42872 KB/s, 12 seconds passed -... 74%, 518720 KB, 42874 KB/s, 12 seconds passed -... 74%, 518752 KB, 42876 KB/s, 12 seconds passed -... 74%, 518784 KB, 42878 KB/s, 12 seconds passed -... 74%, 518816 KB, 42880 KB/s, 12 seconds passed -... 74%, 518848 KB, 42881 KB/s, 12 seconds passed -... 74%, 518880 KB, 42883 KB/s, 12 seconds passed -... 74%, 518912 KB, 42885 KB/s, 12 seconds passed -... 74%, 518944 KB, 42887 KB/s, 12 seconds passed -... 74%, 518976 KB, 42888 KB/s, 12 seconds passed -... 74%, 519008 KB, 42890 KB/s, 12 seconds passed -... 74%, 519040 KB, 42892 KB/s, 12 seconds passed -... 74%, 519072 KB, 42894 KB/s, 12 seconds passed -... 74%, 519104 KB, 42896 KB/s, 12 seconds passed -... 74%, 519136 KB, 42897 KB/s, 12 seconds passed -... 74%, 519168 KB, 42899 KB/s, 12 seconds passed -... 74%, 519200 KB, 42901 KB/s, 12 seconds passed -... 74%, 519232 KB, 42903 KB/s, 12 seconds passed -... 74%, 519264 KB, 42905 KB/s, 12 seconds passed -... 74%, 519296 KB, 42906 KB/s, 12 seconds passed -... 74%, 519328 KB, 42908 KB/s, 12 seconds passed -... 74%, 519360 KB, 42910 KB/s, 12 seconds passed -... 74%, 519392 KB, 42912 KB/s, 12 seconds passed -... 74%, 519424 KB, 42913 KB/s, 12 seconds passed -... 74%, 519456 KB, 42915 KB/s, 12 seconds passed -... 74%, 519488 KB, 42917 KB/s, 12 seconds passed -... 74%, 519520 KB, 42919 KB/s, 12 seconds passed -... 74%, 519552 KB, 42921 KB/s, 12 seconds passed -... 74%, 519584 KB, 42922 KB/s, 12 seconds passed -... 74%, 519616 KB, 42924 KB/s, 12 seconds passed -... 74%, 519648 KB, 42926 KB/s, 12 seconds passed -... 74%, 519680 KB, 42928 KB/s, 12 seconds passed -... 74%, 519712 KB, 42929 KB/s, 12 seconds passed -... 74%, 519744 KB, 42931 KB/s, 12 seconds passed -... 74%, 519776 KB, 42933 KB/s, 12 seconds passed -... 74%, 519808 KB, 42935 KB/s, 12 seconds passed -... 74%, 519840 KB, 42937 KB/s, 12 seconds passed -... 74%, 519872 KB, 42938 KB/s, 12 seconds passed -... 74%, 519904 KB, 42940 KB/s, 12 seconds passed -... 74%, 519936 KB, 42942 KB/s, 12 seconds passed -... 74%, 519968 KB, 42944 KB/s, 12 seconds passed -... 74%, 520000 KB, 42946 KB/s, 12 seconds passed -... 74%, 520032 KB, 42949 KB/s, 12 seconds passed -... 74%, 520064 KB, 42951 KB/s, 12 seconds passed -... 74%, 520096 KB, 42953 KB/s, 12 seconds passed -... 74%, 520128 KB, 42955 KB/s, 12 seconds passed -... 74%, 520160 KB, 42957 KB/s, 12 seconds passed -... 74%, 520192 KB, 42959 KB/s, 12 seconds passed -... 74%, 520224 KB, 42961 KB/s, 12 seconds passed -... 74%, 520256 KB, 42963 KB/s, 12 seconds passed -... 74%, 520288 KB, 42965 KB/s, 12 seconds passed -... 74%, 520320 KB, 42967 KB/s, 12 seconds passed -... 74%, 520352 KB, 42969 KB/s, 12 seconds passed -... 74%, 520384 KB, 42971 KB/s, 12 seconds passed -... 74%, 520416 KB, 42973 KB/s, 12 seconds passed -... 74%, 520448 KB, 42975 KB/s, 12 seconds passed -... 74%, 520480 KB, 42977 KB/s, 12 seconds passed -... 74%, 520512 KB, 42979 KB/s, 12 seconds passed -... 74%, 520544 KB, 42981 KB/s, 12 seconds passed -... 74%, 520576 KB, 42983 KB/s, 12 seconds passed -... 74%, 520608 KB, 42985 KB/s, 12 seconds passed -... 74%, 520640 KB, 42987 KB/s, 12 seconds passed -... 74%, 520672 KB, 42989 KB/s, 12 seconds passed -... 74%, 520704 KB, 42990 KB/s, 12 seconds passed -... 74%, 520736 KB, 42992 KB/s, 12 seconds passed -... 74%, 520768 KB, 42993 KB/s, 12 seconds passed -... 74%, 520800 KB, 42994 KB/s, 12 seconds passed -... 74%, 520832 KB, 42995 KB/s, 12 seconds passed -... 74%, 520864 KB, 42997 KB/s, 12 seconds passed -... 74%, 520896 KB, 42999 KB/s, 12 seconds passed -... 74%, 520928 KB, 43001 KB/s, 12 seconds passed -... 74%, 520960 KB, 43003 KB/s, 12 seconds passed -... 74%, 520992 KB, 43005 KB/s, 12 seconds passed -... 74%, 521024 KB, 43007 KB/s, 12 seconds passed -... 74%, 521056 KB, 42997 KB/s, 12 seconds passed -... 74%, 521088 KB, 42998 KB/s, 12 seconds passed -... 74%, 521120 KB, 43000 KB/s, 12 seconds passed -... 74%, 521152 KB, 43001 KB/s, 12 seconds passed -... 74%, 521184 KB, 43003 KB/s, 12 seconds passed -... 74%, 521216 KB, 43004 KB/s, 12 seconds passed -... 74%, 521248 KB, 43006 KB/s, 12 seconds passed -... 74%, 521280 KB, 43007 KB/s, 12 seconds passed -... 74%, 521312 KB, 43009 KB/s, 12 seconds passed -... 74%, 521344 KB, 43010 KB/s, 12 seconds passed -... 74%, 521376 KB, 43012 KB/s, 12 seconds passed -... 74%, 521408 KB, 43013 KB/s, 12 seconds passed -... 74%, 521440 KB, 43015 KB/s, 12 seconds passed -... 74%, 521472 KB, 43016 KB/s, 12 seconds passed -... 74%, 521504 KB, 43018 KB/s, 12 seconds passed -... 74%, 521536 KB, 43019 KB/s, 12 seconds passed -... 74%, 521568 KB, 43021 KB/s, 12 seconds passed -... 74%, 521600 KB, 43022 KB/s, 12 seconds passed -... 75%, 521632 KB, 43024 KB/s, 12 seconds passed -... 75%, 521664 KB, 43025 KB/s, 12 seconds passed -... 75%, 521696 KB, 43027 KB/s, 12 seconds passed -... 75%, 521728 KB, 43028 KB/s, 12 seconds passed -... 75%, 521760 KB, 43030 KB/s, 12 seconds passed -... 75%, 521792 KB, 43031 KB/s, 12 seconds passed -... 75%, 521824 KB, 43033 KB/s, 12 seconds passed -... 75%, 521856 KB, 43034 KB/s, 12 seconds passed -... 75%, 521888 KB, 43036 KB/s, 12 seconds passed -... 75%, 521920 KB, 43037 KB/s, 12 seconds passed -... 75%, 521952 KB, 43039 KB/s, 12 seconds passed -... 75%, 521984 KB, 43040 KB/s, 12 seconds passed -... 75%, 522016 KB, 43042 KB/s, 12 seconds passed -... 75%, 522048 KB, 43044 KB/s, 12 seconds passed -... 75%, 522080 KB, 43046 KB/s, 12 seconds passed -... 75%, 522112 KB, 43047 KB/s, 12 seconds passed -... 75%, 522144 KB, 43049 KB/s, 12 seconds passed -... 75%, 522176 KB, 43051 KB/s, 12 seconds passed -... 75%, 522208 KB, 43053 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 75%, 522240 KB, 43005 KB/s, 12 seconds passed -... 75%, 522272 KB, 43006 KB/s, 12 seconds passed -... 75%, 522304 KB, 43007 KB/s, 12 seconds passed -... 75%, 522336 KB, 43008 KB/s, 12 seconds passed -... 75%, 522368 KB, 42978 KB/s, 12 seconds passed -... 75%, 522400 KB, 42979 KB/s, 12 seconds passed -... 75%, 522432 KB, 42980 KB/s, 12 seconds passed -... 75%, 522464 KB, 42981 KB/s, 12 seconds passed -... 75%, 522496 KB, 42983 KB/s, 12 seconds passed -... 75%, 522528 KB, 42984 KB/s, 12 seconds passed -... 75%, 522560 KB, 42985 KB/s, 12 seconds passed -... 75%, 522592 KB, 42986 KB/s, 12 seconds passed -... 75%, 522624 KB, 42988 KB/s, 12 seconds passed -... 75%, 522656 KB, 42989 KB/s, 12 seconds passed -... 75%, 522688 KB, 42991 KB/s, 12 seconds passed -... 75%, 522720 KB, 42992 KB/s, 12 seconds passed -... 75%, 522752 KB, 42994 KB/s, 12 seconds passed -... 75%, 522784 KB, 42991 KB/s, 12 seconds passed -... 75%, 522816 KB, 42991 KB/s, 12 seconds passed -... 75%, 522848 KB, 42993 KB/s, 12 seconds passed -... 75%, 522880 KB, 42994 KB/s, 12 seconds passed -... 75%, 522912 KB, 42995 KB/s, 12 seconds passed -... 75%, 522944 KB, 42996 KB/s, 12 seconds passed -... 75%, 522976 KB, 42998 KB/s, 12 seconds passed -... 75%, 523008 KB, 42999 KB/s, 12 seconds passed -... 75%, 523040 KB, 43000 KB/s, 12 seconds passed -... 75%, 523072 KB, 43002 KB/s, 12 seconds passed -... 75%, 523104 KB, 43003 KB/s, 12 seconds passed -... 75%, 523136 KB, 43004 KB/s, 12 seconds passed -... 75%, 523168 KB, 43005 KB/s, 12 seconds passed -... 75%, 523200 KB, 43007 KB/s, 12 seconds passed -... 75%, 523232 KB, 43008 KB/s, 12 seconds passed -... 75%, 523264 KB, 43009 KB/s, 12 seconds passed -... 75%, 523296 KB, 43011 KB/s, 12 seconds passed -... 75%, 523328 KB, 43012 KB/s, 12 seconds passed -... 75%, 523360 KB, 43013 KB/s, 12 seconds passed -... 75%, 523392 KB, 43015 KB/s, 12 seconds passed -... 75%, 523424 KB, 43017 KB/s, 12 seconds passed -... 75%, 523456 KB, 43018 KB/s, 12 seconds passed -... 75%, 523488 KB, 43020 KB/s, 12 seconds passed -... 75%, 523520 KB, 43022 KB/s, 12 seconds passed -... 75%, 523552 KB, 43023 KB/s, 12 seconds passed -... 75%, 523584 KB, 43025 KB/s, 12 seconds passed -... 75%, 523616 KB, 43026 KB/s, 12 seconds passed -... 75%, 523648 KB, 43028 KB/s, 12 seconds passed -... 75%, 523680 KB, 43030 KB/s, 12 seconds passed -... 75%, 523712 KB, 43031 KB/s, 12 seconds passed -... 75%, 523744 KB, 43033 KB/s, 12 seconds passed -... 75%, 523776 KB, 43034 KB/s, 12 seconds passed -... 75%, 523808 KB, 43036 KB/s, 12 seconds passed -... 75%, 523840 KB, 43038 KB/s, 12 seconds passed -... 75%, 523872 KB, 43039 KB/s, 12 seconds passed -... 75%, 523904 KB, 43041 KB/s, 12 seconds passed -... 75%, 523936 KB, 43043 KB/s, 12 seconds passed -... 75%, 523968 KB, 43044 KB/s, 12 seconds passed -... 75%, 524000 KB, 43046 KB/s, 12 seconds passed -... 75%, 524032 KB, 43047 KB/s, 12 seconds passed -... 75%, 524064 KB, 43049 KB/s, 12 seconds passed -... 75%, 524096 KB, 43051 KB/s, 12 seconds passed -... 75%, 524128 KB, 43052 KB/s, 12 seconds passed -... 75%, 524160 KB, 43054 KB/s, 12 seconds passed -... 75%, 524192 KB, 43056 KB/s, 12 seconds passed -... 75%, 524224 KB, 43057 KB/s, 12 seconds passed -... 75%, 524256 KB, 43059 KB/s, 12 seconds passed -... 75%, 524288 KB, 43061 KB/s, 12 seconds passed -... 75%, 524320 KB, 43062 KB/s, 12 seconds passed -... 75%, 524352 KB, 43064 KB/s, 12 seconds passed -... 75%, 524384 KB, 43066 KB/s, 12 seconds passed -... 75%, 524416 KB, 43067 KB/s, 12 seconds passed -... 75%, 524448 KB, 43069 KB/s, 12 seconds passed -... 75%, 524480 KB, 43070 KB/s, 12 seconds passed -... 75%, 524512 KB, 43072 KB/s, 12 seconds passed -... 75%, 524544 KB, 43074 KB/s, 12 seconds passed -... 75%, 524576 KB, 43076 KB/s, 12 seconds passed -... 75%, 524608 KB, 43078 KB/s, 12 seconds passed -... 75%, 524640 KB, 43080 KB/s, 12 seconds passed -... 75%, 524672 KB, 43082 KB/s, 12 seconds passed -... 75%, 524704 KB, 43084 KB/s, 12 seconds passed -... 75%, 524736 KB, 43086 KB/s, 12 seconds passed -... 75%, 524768 KB, 43088 KB/s, 12 seconds passed -... 75%, 524800 KB, 43090 KB/s, 12 seconds passed -... 75%, 524832 KB, 43092 KB/s, 12 seconds passed -... 75%, 524864 KB, 43093 KB/s, 12 seconds passed -... 75%, 524896 KB, 43095 KB/s, 12 seconds passed -... 75%, 524928 KB, 43097 KB/s, 12 seconds passed -... 75%, 524960 KB, 43099 KB/s, 12 seconds passed -... 75%, 524992 KB, 43101 KB/s, 12 seconds passed -... 75%, 525024 KB, 43103 KB/s, 12 seconds passed -... 75%, 525056 KB, 43105 KB/s, 12 seconds passed -... 75%, 525088 KB, 43107 KB/s, 12 seconds passed -... 75%, 525120 KB, 43109 KB/s, 12 seconds passed -... 75%, 525152 KB, 43111 KB/s, 12 seconds passed -... 75%, 525184 KB, 43113 KB/s, 12 seconds passed -... 75%, 525216 KB, 43115 KB/s, 12 seconds passed -... 75%, 525248 KB, 43117 KB/s, 12 seconds passed -... 75%, 525280 KB, 43118 KB/s, 12 seconds passed -... 75%, 525312 KB, 43120 KB/s, 12 seconds passed -... 75%, 525344 KB, 43122 KB/s, 12 seconds passed -... 75%, 525376 KB, 43123 KB/s, 12 seconds passed -... 75%, 525408 KB, 43125 KB/s, 12 seconds passed -... 75%, 525440 KB, 43126 KB/s, 12 seconds passed -... 75%, 525472 KB, 43128 KB/s, 12 seconds passed -... 75%, 525504 KB, 43130 KB/s, 12 seconds passed -... 75%, 525536 KB, 43131 KB/s, 12 seconds passed -... 75%, 525568 KB, 43133 KB/s, 12 seconds passed -... 75%, 525600 KB, 43135 KB/s, 12 seconds passed -... 75%, 525632 KB, 43136 KB/s, 12 seconds passed -... 75%, 525664 KB, 43138 KB/s, 12 seconds passed -... 75%, 525696 KB, 43139 KB/s, 12 seconds passed -... 75%, 525728 KB, 43141 KB/s, 12 seconds passed -... 75%, 525760 KB, 43143 KB/s, 12 seconds passed -... 75%, 525792 KB, 43145 KB/s, 12 seconds passed -... 75%, 525824 KB, 43146 KB/s, 12 seconds passed -... 75%, 525856 KB, 43148 KB/s, 12 seconds passed -... 75%, 525888 KB, 43150 KB/s, 12 seconds passed -... 75%, 525920 KB, 43151 KB/s, 12 seconds passed -... 75%, 525952 KB, 43153 KB/s, 12 seconds passed -... 75%, 525984 KB, 43154 KB/s, 12 seconds passed -... 75%, 526016 KB, 43156 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 75%, 526048 KB, 43146 KB/s, 12 seconds passed -... 75%, 526080 KB, 43147 KB/s, 12 seconds passed -... 75%, 526112 KB, 43149 KB/s, 12 seconds passed -... 75%, 526144 KB, 43151 KB/s, 12 seconds passed -... 75%, 526176 KB, 43152 KB/s, 12 seconds passed -... 75%, 526208 KB, 43154 KB/s, 12 seconds passed -... 75%, 526240 KB, 43156 KB/s, 12 seconds passed -... 75%, 526272 KB, 43158 KB/s, 12 seconds passed -... 75%, 526304 KB, 43159 KB/s, 12 seconds passed -... 75%, 526336 KB, 43161 KB/s, 12 seconds passed -... 75%, 526368 KB, 43162 KB/s, 12 seconds passed -... 75%, 526400 KB, 43163 KB/s, 12 seconds passed -... 75%, 526432 KB, 43165 KB/s, 12 seconds passed -... 75%, 526464 KB, 43167 KB/s, 12 seconds passed -... 75%, 526496 KB, 43169 KB/s, 12 seconds passed -... 75%, 526528 KB, 43171 KB/s, 12 seconds passed -... 75%, 526560 KB, 43173 KB/s, 12 seconds passed -... 75%, 526592 KB, 43174 KB/s, 12 seconds passed -... 75%, 526624 KB, 43175 KB/s, 12 seconds passed -... 75%, 526656 KB, 43177 KB/s, 12 seconds passed -... 75%, 526688 KB, 43178 KB/s, 12 seconds passed -... 75%, 526720 KB, 43180 KB/s, 12 seconds passed -... 75%, 526752 KB, 43182 KB/s, 12 seconds passed -... 75%, 526784 KB, 43184 KB/s, 12 seconds passed -... 75%, 526816 KB, 43185 KB/s, 12 seconds passed -... 75%, 526848 KB, 43187 KB/s, 12 seconds passed -... 75%, 526880 KB, 43188 KB/s, 12 seconds passed -... 75%, 526912 KB, 43190 KB/s, 12 seconds passed -... 75%, 526944 KB, 43191 KB/s, 12 seconds passed -... 75%, 526976 KB, 43192 KB/s, 12 seconds passed -... 75%, 527008 KB, 43194 KB/s, 12 seconds passed -... 75%, 527040 KB, 43196 KB/s, 12 seconds passed -... 75%, 527072 KB, 43198 KB/s, 12 seconds passed -... 75%, 527104 KB, 43200 KB/s, 12 seconds passed -... 75%, 527136 KB, 43201 KB/s, 12 seconds passed -... 75%, 527168 KB, 43203 KB/s, 12 seconds passed -... 75%, 527200 KB, 43205 KB/s, 12 seconds passed -... 75%, 527232 KB, 43206 KB/s, 12 seconds passed -... 75%, 527264 KB, 43208 KB/s, 12 seconds passed -... 75%, 527296 KB, 43210 KB/s, 12 seconds passed -... 75%, 527328 KB, 43211 KB/s, 12 seconds passed -... 75%, 527360 KB, 43130 KB/s, 12 seconds passed -... 75%, 527392 KB, 43131 KB/s, 12 seconds passed -... 75%, 527424 KB, 43132 KB/s, 12 seconds passed -... 75%, 527456 KB, 43134 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 75%, 527488 KB, 43051 KB/s, 12 seconds passed -... 75%, 527520 KB, 43052 KB/s, 12 seconds passed -... 75%, 527552 KB, 43054 KB/s, 12 seconds passed -... 75%, 527584 KB, 43036 KB/s, 12 seconds passed -... 75%, 527616 KB, 43037 KB/s, 12 seconds passed -... 75%, 527648 KB, 43038 KB/s, 12 seconds passed -... 75%, 527680 KB, 43039 KB/s, 12 seconds passed -... 75%, 527712 KB, 43040 KB/s, 12 seconds passed -... 75%, 527744 KB, 43042 KB/s, 12 seconds passed -... 75%, 527776 KB, 43043 KB/s, 12 seconds passed -... 75%, 527808 KB, 43044 KB/s, 12 seconds passed -... 75%, 527840 KB, 43045 KB/s, 12 seconds passed -... 75%, 527872 KB, 43047 KB/s, 12 seconds passed -... 75%, 527904 KB, 43048 KB/s, 12 seconds passed -... 75%, 527936 KB, 43049 KB/s, 12 seconds passed -... 75%, 527968 KB, 43051 KB/s, 12 seconds passed -... 75%, 528000 KB, 43052 KB/s, 12 seconds passed -... 75%, 528032 KB, 43053 KB/s, 12 seconds passed -... 75%, 528064 KB, 43054 KB/s, 12 seconds passed -... 75%, 528096 KB, 43056 KB/s, 12 seconds passed -... 75%, 528128 KB, 43057 KB/s, 12 seconds passed -... 75%, 528160 KB, 43058 KB/s, 12 seconds passed -... 75%, 528192 KB, 43059 KB/s, 12 seconds passed -... 75%, 528224 KB, 43061 KB/s, 12 seconds passed -... 75%, 528256 KB, 43062 KB/s, 12 seconds passed -... 75%, 528288 KB, 43063 KB/s, 12 seconds passed -... 75%, 528320 KB, 43065 KB/s, 12 seconds passed -... 75%, 528352 KB, 43066 KB/s, 12 seconds passed -... 75%, 528384 KB, 43067 KB/s, 12 seconds passed -... 75%, 528416 KB, 43069 KB/s, 12 seconds passed -... 75%, 528448 KB, 43070 KB/s, 12 seconds passed -... 75%, 528480 KB, 43072 KB/s, 12 seconds passed -... 75%, 528512 KB, 43073 KB/s, 12 seconds passed -... 75%, 528544 KB, 43075 KB/s, 12 seconds passed -... 75%, 528576 KB, 43077 KB/s, 12 seconds passed -... 76%, 528608 KB, 43078 KB/s, 12 seconds passed -... 76%, 528640 KB, 43080 KB/s, 12 seconds passed -... 76%, 528672 KB, 43081 KB/s, 12 seconds passed -... 76%, 528704 KB, 43083 KB/s, 12 seconds passed -... 76%, 528736 KB, 43084 KB/s, 12 seconds passed -... 76%, 528768 KB, 43086 KB/s, 12 seconds passed -... 76%, 528800 KB, 43087 KB/s, 12 seconds passed -... 76%, 528832 KB, 43089 KB/s, 12 seconds passed -... 76%, 528864 KB, 43090 KB/s, 12 seconds passed -... 76%, 528896 KB, 43092 KB/s, 12 seconds passed -... 76%, 528928 KB, 43093 KB/s, 12 seconds passed -... 76%, 528960 KB, 43095 KB/s, 12 seconds passed -... 76%, 528992 KB, 43097 KB/s, 12 seconds passed -... 76%, 529024 KB, 43098 KB/s, 12 seconds passed -... 76%, 529056 KB, 43100 KB/s, 12 seconds passed -... 76%, 529088 KB, 43101 KB/s, 12 seconds passed -... 76%, 529120 KB, 43103 KB/s, 12 seconds passed -... 76%, 529152 KB, 43104 KB/s, 12 seconds passed -... 76%, 529184 KB, 43106 KB/s, 12 seconds passed -... 76%, 529216 KB, 43108 KB/s, 12 seconds passed -... 76%, 529248 KB, 43109 KB/s, 12 seconds passed -... 76%, 529280 KB, 43111 KB/s, 12 seconds passed -... 76%, 529312 KB, 43112 KB/s, 12 seconds passed -... 76%, 529344 KB, 43114 KB/s, 12 seconds passed -... 76%, 529376 KB, 43115 KB/s, 12 seconds passed -... 76%, 529408 KB, 43117 KB/s, 12 seconds passed -... 76%, 529440 KB, 43119 KB/s, 12 seconds passed -... 76%, 529472 KB, 43121 KB/s, 12 seconds passed -... 76%, 529504 KB, 43122 KB/s, 12 seconds passed -... 76%, 529536 KB, 43124 KB/s, 12 seconds passed -... 76%, 529568 KB, 43126 KB/s, 12 seconds passed -... 76%, 529600 KB, 43128 KB/s, 12 seconds passed -... 76%, 529632 KB, 43130 KB/s, 12 seconds passed -... 76%, 529664 KB, 43132 KB/s, 12 seconds passed -... 76%, 529696 KB, 43134 KB/s, 12 seconds passed -... 76%, 529728 KB, 43136 KB/s, 12 seconds passed -... 76%, 529760 KB, 43137 KB/s, 12 seconds passed -... 76%, 529792 KB, 43139 KB/s, 12 seconds passed -... 76%, 529824 KB, 43141 KB/s, 12 seconds passed -... 76%, 529856 KB, 43143 KB/s, 12 seconds passed -... 76%, 529888 KB, 43145 KB/s, 12 seconds passed -... 76%, 529920 KB, 43147 KB/s, 12 seconds passed -... 76%, 529952 KB, 43149 KB/s, 12 seconds passed -... 76%, 529984 KB, 43151 KB/s, 12 seconds passed -... 76%, 530016 KB, 43152 KB/s, 12 seconds passed -... 76%, 530048 KB, 43154 KB/s, 12 seconds passed -... 76%, 530080 KB, 43156 KB/s, 12 seconds passed -... 76%, 530112 KB, 43158 KB/s, 12 seconds passed -... 76%, 530144 KB, 43160 KB/s, 12 seconds passed -... 76%, 530176 KB, 43162 KB/s, 12 seconds passed -... 76%, 530208 KB, 43164 KB/s, 12 seconds passed -... 76%, 530240 KB, 43166 KB/s, 12 seconds passed -... 76%, 530272 KB, 43168 KB/s, 12 seconds passed -... 76%, 530304 KB, 43170 KB/s, 12 seconds passed -... 76%, 530336 KB, 43172 KB/s, 12 seconds passed -... 76%, 530368 KB, 43173 KB/s, 12 seconds passed -... 76%, 530400 KB, 43175 KB/s, 12 seconds passed -... 76%, 530432 KB, 43177 KB/s, 12 seconds passed -... 76%, 530464 KB, 43179 KB/s, 12 seconds passed -... 76%, 530496 KB, 43181 KB/s, 12 seconds passed -... 76%, 530528 KB, 43183 KB/s, 12 seconds passed -... 76%, 530560 KB, 43185 KB/s, 12 seconds passed -... 76%, 530592 KB, 43187 KB/s, 12 seconds passed -... 76%, 530624 KB, 43188 KB/s, 12 seconds passed -... 76%, 530656 KB, 43190 KB/s, 12 seconds passed -... 76%, 530688 KB, 43192 KB/s, 12 seconds passed -... 76%, 530720 KB, 43194 KB/s, 12 seconds passed -... 76%, 530752 KB, 43196 KB/s, 12 seconds passed -... 76%, 530784 KB, 43198 KB/s, 12 seconds passed -... 76%, 530816 KB, 43200 KB/s, 12 seconds passed -... 76%, 530848 KB, 43202 KB/s, 12 seconds passed -... 76%, 530880 KB, 43204 KB/s, 12 seconds passed -... 76%, 530912 KB, 43205 KB/s, 12 seconds passed -... 76%, 530944 KB, 43207 KB/s, 12 seconds passed -... 76%, 530976 KB, 43209 KB/s, 12 seconds passed -... 76%, 531008 KB, 43210 KB/s, 12 seconds passed -... 76%, 531040 KB, 43212 KB/s, 12 seconds passed -... 76%, 531072 KB, 43213 KB/s, 12 seconds passed -... 76%, 531104 KB, 43215 KB/s, 12 seconds passed -... 76%, 531136 KB, 43216 KB/s, 12 seconds passed -... 76%, 531168 KB, 43217 KB/s, 12 seconds passed -... 76%, 531200 KB, 43218 KB/s, 12 seconds passed -... 76%, 531232 KB, 43220 KB/s, 12 seconds passed -... 76%, 531264 KB, 43223 KB/s, 12 seconds passed -... 76%, 531296 KB, 43225 KB/s, 12 seconds passed -... 76%, 531328 KB, 43227 KB/s, 12 seconds passed -... 76%, 531360 KB, 43228 KB/s, 12 seconds passed -... 76%, 531392 KB, 43230 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 76%, 531424 KB, 43231 KB/s, 12 seconds passed -... 76%, 531456 KB, 43233 KB/s, 12 seconds passed -... 76%, 531488 KB, 43235 KB/s, 12 seconds passed -... 76%, 531520 KB, 43236 KB/s, 12 seconds passed -... 76%, 531552 KB, 43238 KB/s, 12 seconds passed -... 76%, 531584 KB, 43239 KB/s, 12 seconds passed -... 76%, 531616 KB, 43241 KB/s, 12 seconds passed -... 76%, 531648 KB, 43243 KB/s, 12 seconds passed -... 76%, 531680 KB, 43244 KB/s, 12 seconds passed -... 76%, 531712 KB, 43246 KB/s, 12 seconds passed -... 76%, 531744 KB, 43248 KB/s, 12 seconds passed -... 76%, 531776 KB, 43249 KB/s, 12 seconds passed -... 76%, 531808 KB, 43251 KB/s, 12 seconds passed -... 76%, 531840 KB, 43252 KB/s, 12 seconds passed -... 76%, 531872 KB, 43254 KB/s, 12 seconds passed -... 76%, 531904 KB, 43256 KB/s, 12 seconds passed -... 76%, 531936 KB, 43257 KB/s, 12 seconds passed -... 76%, 531968 KB, 43259 KB/s, 12 seconds passed -... 76%, 532000 KB, 43261 KB/s, 12 seconds passed -... 76%, 532032 KB, 43262 KB/s, 12 seconds passed -... 76%, 532064 KB, 43264 KB/s, 12 seconds passed -... 76%, 532096 KB, 43265 KB/s, 12 seconds passed -... 76%, 532128 KB, 43267 KB/s, 12 seconds passed -... 76%, 532160 KB, 43269 KB/s, 12 seconds passed -... 76%, 532192 KB, 43270 KB/s, 12 seconds passed -... 76%, 532224 KB, 43272 KB/s, 12 seconds passed -... 76%, 532256 KB, 43273 KB/s, 12 seconds passed -... 76%, 532288 KB, 43275 KB/s, 12 seconds passed -... 76%, 532320 KB, 43276 KB/s, 12 seconds passed -... 76%, 532352 KB, 43278 KB/s, 12 seconds passed -... 76%, 532384 KB, 43280 KB/s, 12 seconds passed -... 76%, 532416 KB, 43281 KB/s, 12 seconds passed -... 76%, 532448 KB, 43283 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 76%, 532480 KB, 43008 KB/s, 12 seconds passed -... 76%, 532512 KB, 43009 KB/s, 12 seconds passed -... 76%, 532544 KB, 43010 KB/s, 12 seconds passed -... 76%, 532576 KB, 43011 KB/s, 12 seconds passed -... 76%, 532608 KB, 43012 KB/s, 12 seconds passed -... 76%, 532640 KB, 43014 KB/s, 12 seconds passed -... 76%, 532672 KB, 43010 KB/s, 12 seconds passed -... 76%, 532704 KB, 43011 KB/s, 12 seconds passed -... 76%, 532736 KB, 43012 KB/s, 12 seconds passed -... 76%, 532768 KB, 43013 KB/s, 12 seconds passed -... 76%, 532800 KB, 43014 KB/s, 12 seconds passed -... 76%, 532832 KB, 43015 KB/s, 12 seconds passed -... 76%, 532864 KB, 43017 KB/s, 12 seconds passed -... 76%, 532896 KB, 43018 KB/s, 12 seconds passed -... 76%, 532928 KB, 43019 KB/s, 12 seconds passed -... 76%, 532960 KB, 43021 KB/s, 12 seconds passed -... 76%, 532992 KB, 43022 KB/s, 12 seconds passed -... 76%, 533024 KB, 43023 KB/s, 12 seconds passed -... 76%, 533056 KB, 43024 KB/s, 12 seconds passed -... 76%, 533088 KB, 43025 KB/s, 12 seconds passed -... 76%, 533120 KB, 43027 KB/s, 12 seconds passed -... 76%, 533152 KB, 43028 KB/s, 12 seconds passed -... 76%, 533184 KB, 43029 KB/s, 12 seconds passed -... 76%, 533216 KB, 43030 KB/s, 12 seconds passed -... 76%, 533248 KB, 43032 KB/s, 12 seconds passed -... 76%, 533280 KB, 43033 KB/s, 12 seconds passed -... 76%, 533312 KB, 43034 KB/s, 12 seconds passed -... 76%, 533344 KB, 43035 KB/s, 12 seconds passed -... 76%, 533376 KB, 43037 KB/s, 12 seconds passed -... 76%, 533408 KB, 43038 KB/s, 12 seconds passed -... 76%, 533440 KB, 43039 KB/s, 12 seconds passed -... 76%, 533472 KB, 43040 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 76%, 533504 KB, 43042 KB/s, 12 seconds passed -... 76%, 533536 KB, 43043 KB/s, 12 seconds passed -... 76%, 533568 KB, 43044 KB/s, 12 seconds passed -... 76%, 533600 KB, 43046 KB/s, 12 seconds passed -... 76%, 533632 KB, 43047 KB/s, 12 seconds passed -... 76%, 533664 KB, 43048 KB/s, 12 seconds passed -... 76%, 533696 KB, 43049 KB/s, 12 seconds passed -... 76%, 533728 KB, 43051 KB/s, 12 seconds passed -... 76%, 533760 KB, 43052 KB/s, 12 seconds passed -... 76%, 533792 KB, 43053 KB/s, 12 seconds passed -... 76%, 533824 KB, 43054 KB/s, 12 seconds passed -... 76%, 533856 KB, 43056 KB/s, 12 seconds passed -... 76%, 533888 KB, 43057 KB/s, 12 seconds passed -... 76%, 533920 KB, 43058 KB/s, 12 seconds passed -... 76%, 533952 KB, 43060 KB/s, 12 seconds passed -... 76%, 533984 KB, 43062 KB/s, 12 seconds passed -... 76%, 534016 KB, 43063 KB/s, 12 seconds passed -... 76%, 534048 KB, 43065 KB/s, 12 seconds passed -... 76%, 534080 KB, 43067 KB/s, 12 seconds passed -... 76%, 534112 KB, 43069 KB/s, 12 seconds passed -... 76%, 534144 KB, 43070 KB/s, 12 seconds passed -... 76%, 534176 KB, 43072 KB/s, 12 seconds passed -... 76%, 534208 KB, 43074 KB/s, 12 seconds passed -... 76%, 534240 KB, 43076 KB/s, 12 seconds passed -... 76%, 534272 KB, 43077 KB/s, 12 seconds passed -... 76%, 534304 KB, 43079 KB/s, 12 seconds passed -... 76%, 534336 KB, 43081 KB/s, 12 seconds passed -... 76%, 534368 KB, 43083 KB/s, 12 seconds passed -... 76%, 534400 KB, 43084 KB/s, 12 seconds passed -... 76%, 534432 KB, 43086 KB/s, 12 seconds passed -... 76%, 534464 KB, 43088 KB/s, 12 seconds passed -... 76%, 534496 KB, 43090 KB/s, 12 seconds passed -... 76%, 534528 KB, 43091 KB/s, 12 seconds passed -... 76%, 534560 KB, 43093 KB/s, 12 seconds passed -... 76%, 534592 KB, 43095 KB/s, 12 seconds passed -... 76%, 534624 KB, 43096 KB/s, 12 seconds passed -... 76%, 534656 KB, 43098 KB/s, 12 seconds passed -... 76%, 534688 KB, 43100 KB/s, 12 seconds passed -... 76%, 534720 KB, 43102 KB/s, 12 seconds passed -... 76%, 534752 KB, 43103 KB/s, 12 seconds passed -... 76%, 534784 KB, 43105 KB/s, 12 seconds passed -... 76%, 534816 KB, 43107 KB/s, 12 seconds passed -... 76%, 534848 KB, 43109 KB/s, 12 seconds passed -... 76%, 534880 KB, 43110 KB/s, 12 seconds passed -... 76%, 534912 KB, 43112 KB/s, 12 seconds passed -... 76%, 534944 KB, 43114 KB/s, 12 seconds passed -... 76%, 534976 KB, 43116 KB/s, 12 seconds passed -... 76%, 535008 KB, 43117 KB/s, 12 seconds passed -... 76%, 535040 KB, 43119 KB/s, 12 seconds passed -... 76%, 535072 KB, 43121 KB/s, 12 seconds passed -... 76%, 535104 KB, 43122 KB/s, 12 seconds passed -... 76%, 535136 KB, 43124 KB/s, 12 seconds passed -... 76%, 535168 KB, 43126 KB/s, 12 seconds passed -... 76%, 535200 KB, 43128 KB/s, 12 seconds passed -... 76%, 535232 KB, 43129 KB/s, 12 seconds passed -... 76%, 535264 KB, 43131 KB/s, 12 seconds passed -... 76%, 535296 KB, 43133 KB/s, 12 seconds passed -... 76%, 535328 KB, 43135 KB/s, 12 seconds passed -... 76%, 535360 KB, 43137 KB/s, 12 seconds passed -... 76%, 535392 KB, 43139 KB/s, 12 seconds passed -... 76%, 535424 KB, 43141 KB/s, 12 seconds passed -... 76%, 535456 KB, 43143 KB/s, 12 seconds passed -... 76%, 535488 KB, 43145 KB/s, 12 seconds passed -... 76%, 535520 KB, 43147 KB/s, 12 seconds passed -... 77%, 535552 KB, 43149 KB/s, 12 seconds passed -... 77%, 535584 KB, 43151 KB/s, 12 seconds passed -... 77%, 535616 KB, 43153 KB/s, 12 seconds passed -... 77%, 535648 KB, 43155 KB/s, 12 seconds passed -... 77%, 535680 KB, 43157 KB/s, 12 seconds passed -... 77%, 535712 KB, 43159 KB/s, 12 seconds passed -... 77%, 535744 KB, 43161 KB/s, 12 seconds passed -... 77%, 535776 KB, 43163 KB/s, 12 seconds passed -... 77%, 535808 KB, 43166 KB/s, 12 seconds passed -... 77%, 535840 KB, 43129 KB/s, 12 seconds passed -... 77%, 535872 KB, 43128 KB/s, 12 seconds passed -... 77%, 535904 KB, 43129 KB/s, 12 seconds passed -... 77%, 535936 KB, 43131 KB/s, 12 seconds passed -... 77%, 535968 KB, 43132 KB/s, 12 seconds passed -... 77%, 536000 KB, 43134 KB/s, 12 seconds passed -... 77%, 536032 KB, 43136 KB/s, 12 seconds passed -... 77%, 536064 KB, 43137 KB/s, 12 seconds passed -... 77%, 536096 KB, 43139 KB/s, 12 seconds passed -... 77%, 536128 KB, 43141 KB/s, 12 seconds passed -... 77%, 536160 KB, 43142 KB/s, 12 seconds passed -... 77%, 536192 KB, 43144 KB/s, 12 seconds passed -... 77%, 536224 KB, 43146 KB/s, 12 seconds passed -... 77%, 536256 KB, 43148 KB/s, 12 seconds passed -... 77%, 536288 KB, 43149 KB/s, 12 seconds passed -... 77%, 536320 KB, 43151 KB/s, 12 seconds passed -... 77%, 536352 KB, 43152 KB/s, 12 seconds passed -... 77%, 536384 KB, 43154 KB/s, 12 seconds passed -... 77%, 536416 KB, 43155 KB/s, 12 seconds passed -... 77%, 536448 KB, 43157 KB/s, 12 seconds passed -... 77%, 536480 KB, 43159 KB/s, 12 seconds passed -... 77%, 536512 KB, 43160 KB/s, 12 seconds passed -... 77%, 536544 KB, 43162 KB/s, 12 seconds passed -... 77%, 536576 KB, 43163 KB/s, 12 seconds passed -... 77%, 536608 KB, 43165 KB/s, 12 seconds passed -... 77%, 536640 KB, 43166 KB/s, 12 seconds passed -... 77%, 536672 KB, 43168 KB/s, 12 seconds passed -... 77%, 536704 KB, 43169 KB/s, 12 seconds passed -... 77%, 536736 KB, 43171 KB/s, 12 seconds passed -... 77%, 536768 KB, 43172 KB/s, 12 seconds passed -... 77%, 536800 KB, 43174 KB/s, 12 seconds passed -... 77%, 536832 KB, 43175 KB/s, 12 seconds passed -... 77%, 536864 KB, 43177 KB/s, 12 seconds passed -... 77%, 536896 KB, 43178 KB/s, 12 seconds passed -... 77%, 536928 KB, 43180 KB/s, 12 seconds passed -... 77%, 536960 KB, 43182 KB/s, 12 seconds passed -... 77%, 536992 KB, 43183 KB/s, 12 seconds passed -... 77%, 537024 KB, 43185 KB/s, 12 seconds passed -... 77%, 537056 KB, 43186 KB/s, 12 seconds passed -... 77%, 537088 KB, 43188 KB/s, 12 seconds passed -... 77%, 537120 KB, 43189 KB/s, 12 seconds passed -... 77%, 537152 KB, 43163 KB/s, 12 seconds passed -... 77%, 537184 KB, 43164 KB/s, 12 seconds passed -... 77%, 537216 KB, 43166 KB/s, 12 seconds passed -... 77%, 537248 KB, 43168 KB/s, 12 seconds passed -... 77%, 537280 KB, 43169 KB/s, 12 seconds passed -... 77%, 537312 KB, 43171 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 77%, 537344 KB, 43172 KB/s, 12 seconds passed -... 77%, 537376 KB, 43174 KB/s, 12 seconds passed -... 77%, 537408 KB, 43176 KB/s, 12 seconds passed -... 77%, 537440 KB, 43177 KB/s, 12 seconds passed -... 77%, 537472 KB, 43179 KB/s, 12 seconds passed -... 77%, 537504 KB, 43181 KB/s, 12 seconds passed -... 77%, 537536 KB, 43182 KB/s, 12 seconds passed -... 77%, 537568 KB, 43183 KB/s, 12 seconds passed -... 77%, 537600 KB, 43028 KB/s, 12 seconds passed -... 77%, 537632 KB, 43029 KB/s, 12 seconds passed -... 77%, 537664 KB, 43029 KB/s, 12 seconds passed -... 77%, 537696 KB, 43031 KB/s, 12 seconds passed -... 77%, 537728 KB, 43032 KB/s, 12 seconds passed -... 77%, 537760 KB, 43033 KB/s, 12 seconds passed -... 77%, 537792 KB, 43034 KB/s, 12 seconds passed -... 77%, 537824 KB, 43035 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 77%, 537856 KB, 43037 KB/s, 12 seconds passed -... 77%, 537888 KB, 43038 KB/s, 12 seconds passed -... 77%, 537920 KB, 43039 KB/s, 12 seconds passed -... 77%, 537952 KB, 43040 KB/s, 12 seconds passed -... 77%, 537984 KB, 43042 KB/s, 12 seconds passed -... 77%, 538016 KB, 43043 KB/s, 12 seconds passed -... 77%, 538048 KB, 43044 KB/s, 12 seconds passed -... 77%, 538080 KB, 43045 KB/s, 12 seconds passed -... 77%, 538112 KB, 43047 KB/s, 12 seconds passed -... 77%, 538144 KB, 43048 KB/s, 12 seconds passed -... 77%, 538176 KB, 43049 KB/s, 12 seconds passed -... 77%, 538208 KB, 43050 KB/s, 12 seconds passed -... 77%, 538240 KB, 43052 KB/s, 12 seconds passed -... 77%, 538272 KB, 43053 KB/s, 12 seconds passed -... 77%, 538304 KB, 43054 KB/s, 12 seconds passed -... 77%, 538336 KB, 43055 KB/s, 12 seconds passed -... 77%, 538368 KB, 43057 KB/s, 12 seconds passed -... 77%, 538400 KB, 43058 KB/s, 12 seconds passed -... 77%, 538432 KB, 43059 KB/s, 12 seconds passed -... 77%, 538464 KB, 43060 KB/s, 12 seconds passed -... 77%, 538496 KB, 43062 KB/s, 12 seconds passed -... 77%, 538528 KB, 43063 KB/s, 12 seconds passed -... 77%, 538560 KB, 43064 KB/s, 12 seconds passed -... 77%, 538592 KB, 43065 KB/s, 12 seconds passed -... 77%, 538624 KB, 43067 KB/s, 12 seconds passed -... 77%, 538656 KB, 43068 KB/s, 12 seconds passed -... 77%, 538688 KB, 43070 KB/s, 12 seconds passed -... 77%, 538720 KB, 43071 KB/s, 12 seconds passed -... 77%, 538752 KB, 43073 KB/s, 12 seconds passed -... 77%, 538784 KB, 43074 KB/s, 12 seconds passed -... 77%, 538816 KB, 43076 KB/s, 12 seconds passed -... 77%, 538848 KB, 43078 KB/s, 12 seconds passed -... 77%, 538880 KB, 43079 KB/s, 12 seconds passed -... 77%, 538912 KB, 43081 KB/s, 12 seconds passed -... 77%, 538944 KB, 43081 KB/s, 12 seconds passed -... 77%, 538976 KB, 43082 KB/s, 12 seconds passed -... 77%, 539008 KB, 43083 KB/s, 12 seconds passed -... 77%, 539040 KB, 43084 KB/s, 12 seconds passed -... 77%, 539072 KB, 43086 KB/s, 12 seconds passed -... 77%, 539104 KB, 43088 KB/s, 12 seconds passed -... 77%, 539136 KB, 43090 KB/s, 12 seconds passed -... 77%, 539168 KB, 43091 KB/s, 12 seconds passed -... 77%, 539200 KB, 43093 KB/s, 12 seconds passed -... 77%, 539232 KB, 43095 KB/s, 12 seconds passed -... 77%, 539264 KB, 43096 KB/s, 12 seconds passed -... 77%, 539296 KB, 43098 KB/s, 12 seconds passed -... 77%, 539328 KB, 43100 KB/s, 12 seconds passed -... 77%, 539360 KB, 43101 KB/s, 12 seconds passed -... 77%, 539392 KB, 43103 KB/s, 12 seconds passed -... 77%, 539424 KB, 43104 KB/s, 12 seconds passed -... 77%, 539456 KB, 43106 KB/s, 12 seconds passed -... 77%, 539488 KB, 43108 KB/s, 12 seconds passed -... 77%, 539520 KB, 43109 KB/s, 12 seconds passed -... 77%, 539552 KB, 43111 KB/s, 12 seconds passed -... 77%, 539584 KB, 43112 KB/s, 12 seconds passed -... 77%, 539616 KB, 43114 KB/s, 12 seconds passed -... 77%, 539648 KB, 43116 KB/s, 12 seconds passed -... 77%, 539680 KB, 43117 KB/s, 12 seconds passed -... 77%, 539712 KB, 43119 KB/s, 12 seconds passed -... 77%, 539744 KB, 43120 KB/s, 12 seconds passed -... 77%, 539776 KB, 43122 KB/s, 12 seconds passed -... 77%, 539808 KB, 43124 KB/s, 12 seconds passed -... 77%, 539840 KB, 43125 KB/s, 12 seconds passed -... 77%, 539872 KB, 43127 KB/s, 12 seconds passed -... 77%, 539904 KB, 43128 KB/s, 12 seconds passed -... 77%, 539936 KB, 43130 KB/s, 12 seconds passed -... 77%, 539968 KB, 43132 KB/s, 12 seconds passed -... 77%, 540000 KB, 43133 KB/s, 12 seconds passed -... 77%, 540032 KB, 43135 KB/s, 12 seconds passed -... 77%, 540064 KB, 43136 KB/s, 12 seconds passed -... 77%, 540096 KB, 43138 KB/s, 12 seconds passed -... 77%, 540128 KB, 43139 KB/s, 12 seconds passed -... 77%, 540160 KB, 43141 KB/s, 12 seconds passed -... 77%, 540192 KB, 43143 KB/s, 12 seconds passed -... 77%, 540224 KB, 43144 KB/s, 12 seconds passed -... 77%, 540256 KB, 43146 KB/s, 12 seconds passed -... 77%, 540288 KB, 43147 KB/s, 12 seconds passed -... 77%, 540320 KB, 43149 KB/s, 12 seconds passed -... 77%, 540352 KB, 43150 KB/s, 12 seconds passed -... 77%, 540384 KB, 43152 KB/s, 12 seconds passed -... 77%, 540416 KB, 43154 KB/s, 12 seconds passed -... 77%, 540448 KB, 43155 KB/s, 12 seconds passed -... 77%, 540480 KB, 43157 KB/s, 12 seconds passed -... 77%, 540512 KB, 43159 KB/s, 12 seconds passed -... 77%, 540544 KB, 43160 KB/s, 12 seconds passed -... 77%, 540576 KB, 43162 KB/s, 12 seconds passed -... 77%, 540608 KB, 43163 KB/s, 12 seconds passed -... 77%, 540640 KB, 43165 KB/s, 12 seconds passed -... 77%, 540672 KB, 43167 KB/s, 12 seconds passed -... 77%, 540704 KB, 43168 KB/s, 12 seconds passed -... 77%, 540736 KB, 43170 KB/s, 12 seconds passed -... 77%, 540768 KB, 43172 KB/s, 12 seconds passed -... 77%, 540800 KB, 43173 KB/s, 12 seconds passed -... 77%, 540832 KB, 43175 KB/s, 12 seconds passed -... 77%, 540864 KB, 43176 KB/s, 12 seconds passed -... 77%, 540896 KB, 43178 KB/s, 12 seconds passed -... 77%, 540928 KB, 43180 KB/s, 12 seconds passed -... 77%, 540960 KB, 43181 KB/s, 12 seconds passed -... 77%, 540992 KB, 43183 KB/s, 12 seconds passed -... 77%, 541024 KB, 43184 KB/s, 12 seconds passed -... 77%, 541056 KB, 43186 KB/s, 12 seconds passed -... 77%, 541088 KB, 43188 KB/s, 12 seconds passed -... 77%, 541120 KB, 43189 KB/s, 12 seconds passed -... 77%, 541152 KB, 43191 KB/s, 12 seconds passed -... 77%, 541184 KB, 43192 KB/s, 12 seconds passed -... 77%, 541216 KB, 43194 KB/s, 12 seconds passed -... 77%, 541248 KB, 43195 KB/s, 12 seconds passed -... 77%, 541280 KB, 43197 KB/s, 12 seconds passed -... 77%, 541312 KB, 43199 KB/s, 12 seconds passed -... 77%, 541344 KB, 43200 KB/s, 12 seconds passed -... 77%, 541376 KB, 43202 KB/s, 12 seconds passed -... 77%, 541408 KB, 43204 KB/s, 12 seconds passed -... 77%, 541440 KB, 43205 KB/s, 12 seconds passed -... 77%, 541472 KB, 43207 KB/s, 12 seconds passed -... 77%, 541504 KB, 43208 KB/s, 12 seconds passed -... 77%, 541536 KB, 43210 KB/s, 12 seconds passed -... 77%, 541568 KB, 43211 KB/s, 12 seconds passed -... 77%, 541600 KB, 43213 KB/s, 12 seconds passed -... 77%, 541632 KB, 43215 KB/s, 12 seconds passed -... 77%, 541664 KB, 43216 KB/s, 12 seconds passed -... 77%, 541696 KB, 43218 KB/s, 12 seconds passed -... 77%, 541728 KB, 43219 KB/s, 12 seconds passed -... 77%, 541760 KB, 43221 KB/s, 12 seconds passed -... 77%, 541792 KB, 43223 KB/s, 12 seconds passed -... 77%, 541824 KB, 43224 KB/s, 12 seconds passed -... 77%, 541856 KB, 43226 KB/s, 12 seconds passed -... 77%, 541888 KB, 43217 KB/s, 12 seconds passed -... 77%, 541920 KB, 43218 KB/s, 12 seconds passed -... 77%, 541952 KB, 43214 KB/s, 12 seconds passed -... 77%, 541984 KB, 43215 KB/s, 12 seconds passed -... 77%, 542016 KB, 43216 KB/s, 12 seconds passed -... 77%, 542048 KB, 43217 KB/s, 12 seconds passed -... 77%, 542080 KB, 43219 KB/s, 12 seconds passed -... 77%, 542112 KB, 43220 KB/s, 12 seconds passed -... 77%, 542144 KB, 43221 KB/s, 12 seconds passed -... 77%, 542176 KB, 43222 KB/s, 12 seconds passed -... 77%, 542208 KB, 43224 KB/s, 12 seconds passed -... 77%, 542240 KB, 43225 KB/s, 12 seconds passed -... 77%, 542272 KB, 43226 KB/s, 12 seconds passed -... 77%, 542304 KB, 43227 KB/s, 12 seconds passed -... 77%, 542336 KB, 43229 KB/s, 12 seconds passed -... 77%, 542368 KB, 43230 KB/s, 12 seconds passed -... 77%, 542400 KB, 43231 KB/s, 12 seconds passed -... 77%, 542432 KB, 43233 KB/s, 12 seconds passed -... 77%, 542464 KB, 43234 KB/s, 12 seconds passed -... 78%, 542496 KB, 43235 KB/s, 12 seconds passed -... 78%, 542528 KB, 43237 KB/s, 12 seconds passed -... 78%, 542560 KB, 43238 KB/s, 12 seconds passed -... 78%, 542592 KB, 43240 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 78%, 542624 KB, 43241 KB/s, 12 seconds passed -... 78%, 542656 KB, 43243 KB/s, 12 seconds passed -... 78%, 542688 KB, 43244 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 78%, 542720 KB, 42903 KB/s, 12 seconds passed -... 78%, 542752 KB, 42904 KB/s, 12 seconds passed -... 78%, 542784 KB, 42905 KB/s, 12 seconds passed -... 78%, 542816 KB, 42907 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 78%, 542848 KB, 42836 KB/s, 12 seconds passed -... 78%, 542880 KB, 42837 KB/s, 12 seconds passed -... 78%, 542912 KB, 42838 KB/s, 12 seconds passed -... 78%, 542944 KB, 42839 KB/s, 12 seconds passed -... 78%, 542976 KB, 42841 KB/s, 12 seconds passed -... 78%, 543008 KB, 42842 KB/s, 12 seconds passed -... 78%, 543040 KB, 42843 KB/s, 12 seconds passed -... 78%, 543072 KB, 42844 KB/s, 12 seconds passed -... 78%, 543104 KB, 42846 KB/s, 12 seconds passed -... 78%, 543136 KB, 42847 KB/s, 12 seconds passed -... 78%, 543168 KB, 42848 KB/s, 12 seconds passed -... 78%, 543200 KB, 42849 KB/s, 12 seconds passed -... 78%, 543232 KB, 42851 KB/s, 12 seconds passed -... 78%, 543264 KB, 42852 KB/s, 12 seconds passed -... 78%, 543296 KB, 42853 KB/s, 12 seconds passed -... 78%, 543328 KB, 42854 KB/s, 12 seconds passed -... 78%, 543360 KB, 42856 KB/s, 12 seconds passed -... 78%, 543392 KB, 42857 KB/s, 12 seconds passed -... 78%, 543424 KB, 42858 KB/s, 12 seconds passed -... 78%, 543456 KB, 42859 KB/s, 12 seconds passed -... 78%, 543488 KB, 42860 KB/s, 12 seconds passed -... 78%, 543520 KB, 42862 KB/s, 12 seconds passed -... 78%, 543552 KB, 42863 KB/s, 12 seconds passed -... 78%, 543584 KB, 42864 KB/s, 12 seconds passed -... 78%, 543616 KB, 42865 KB/s, 12 seconds passed -... 78%, 543648 KB, 42867 KB/s, 12 seconds passed -... 78%, 543680 KB, 42868 KB/s, 12 seconds passed -... 78%, 543712 KB, 42869 KB/s, 12 seconds passed -... 78%, 543744 KB, 42871 KB/s, 12 seconds passed -... 78%, 543776 KB, 42873 KB/s, 12 seconds passed -... 78%, 543808 KB, 42874 KB/s, 12 seconds passed -... 78%, 543840 KB, 42876 KB/s, 12 seconds passed -... 78%, 543872 KB, 42877 KB/s, 12 seconds passed -... 78%, 543904 KB, 42879 KB/s, 12 seconds passed -... 78%, 543936 KB, 42880 KB/s, 12 seconds passed -... 78%, 543968 KB, 42882 KB/s, 12 seconds passed -... 78%, 544000 KB, 42883 KB/s, 12 seconds passed -... 78%, 544032 KB, 42885 KB/s, 12 seconds passed -... 78%, 544064 KB, 42886 KB/s, 12 seconds passed -... 78%, 544096 KB, 42888 KB/s, 12 seconds passed -... 78%, 544128 KB, 42890 KB/s, 12 seconds passed -... 78%, 544160 KB, 42891 KB/s, 12 seconds passed -... 78%, 544192 KB, 42893 KB/s, 12 seconds passed -... 78%, 544224 KB, 42894 KB/s, 12 seconds passed -... 78%, 544256 KB, 42896 KB/s, 12 seconds passed -... 78%, 544288 KB, 42897 KB/s, 12 seconds passed -... 78%, 544320 KB, 42899 KB/s, 12 seconds passed -... 78%, 544352 KB, 42900 KB/s, 12 seconds passed -... 78%, 544384 KB, 42902 KB/s, 12 seconds passed -... 78%, 544416 KB, 42904 KB/s, 12 seconds passed -... 78%, 544448 KB, 42905 KB/s, 12 seconds passed -... 78%, 544480 KB, 42907 KB/s, 12 seconds passed -... 78%, 544512 KB, 42908 KB/s, 12 seconds passed -... 78%, 544544 KB, 42910 KB/s, 12 seconds passed -... 78%, 544576 KB, 42911 KB/s, 12 seconds passed -... 78%, 544608 KB, 42913 KB/s, 12 seconds passed -... 78%, 544640 KB, 42915 KB/s, 12 seconds passed -... 78%, 544672 KB, 42916 KB/s, 12 seconds passed -... 78%, 544704 KB, 42918 KB/s, 12 seconds passed -... 78%, 544736 KB, 42919 KB/s, 12 seconds passed -... 78%, 544768 KB, 42921 KB/s, 12 seconds passed -... 78%, 544800 KB, 42923 KB/s, 12 seconds passed -... 78%, 544832 KB, 42924 KB/s, 12 seconds passed -... 78%, 544864 KB, 42926 KB/s, 12 seconds passed -... 78%, 544896 KB, 42928 KB/s, 12 seconds passed -... 78%, 544928 KB, 42930 KB/s, 12 seconds passed -... 78%, 544960 KB, 42932 KB/s, 12 seconds passed -... 78%, 544992 KB, 42934 KB/s, 12 seconds passed -... 78%, 545024 KB, 42936 KB/s, 12 seconds passed -... 78%, 545056 KB, 42938 KB/s, 12 seconds passed -... 78%, 545088 KB, 42940 KB/s, 12 seconds passed -... 78%, 545120 KB, 42941 KB/s, 12 seconds passed -... 78%, 545152 KB, 42943 KB/s, 12 seconds passed -... 78%, 545184 KB, 42945 KB/s, 12 seconds passed -... 78%, 545216 KB, 42947 KB/s, 12 seconds passed -... 78%, 545248 KB, 42949 KB/s, 12 seconds passed -... 78%, 545280 KB, 42951 KB/s, 12 seconds passed -... 78%, 545312 KB, 42953 KB/s, 12 seconds passed -... 78%, 545344 KB, 42955 KB/s, 12 seconds passed -... 78%, 545376 KB, 42956 KB/s, 12 seconds passed -... 78%, 545408 KB, 42958 KB/s, 12 seconds passed -... 78%, 545440 KB, 42960 KB/s, 12 seconds passed -... 78%, 545472 KB, 42962 KB/s, 12 seconds passed -... 78%, 545504 KB, 42964 KB/s, 12 seconds passed -... 78%, 545536 KB, 42966 KB/s, 12 seconds passed -... 78%, 545568 KB, 42968 KB/s, 12 seconds passed -... 78%, 545600 KB, 42969 KB/s, 12 seconds passed -... 78%, 545632 KB, 42971 KB/s, 12 seconds passed -... 78%, 545664 KB, 42973 KB/s, 12 seconds passed -... 78%, 545696 KB, 42975 KB/s, 12 seconds passed -... 78%, 545728 KB, 42977 KB/s, 12 seconds passed -... 78%, 545760 KB, 42979 KB/s, 12 seconds passed -... 78%, 545792 KB, 42981 KB/s, 12 seconds passed -... 78%, 545824 KB, 42983 KB/s, 12 seconds passed -... 78%, 545856 KB, 42985 KB/s, 12 seconds passed -... 78%, 545888 KB, 42987 KB/s, 12 seconds passed -... 78%, 545920 KB, 42988 KB/s, 12 seconds passed -... 78%, 545952 KB, 42990 KB/s, 12 seconds passed -... 78%, 545984 KB, 42991 KB/s, 12 seconds passed -... 78%, 546016 KB, 42993 KB/s, 12 seconds passed -... 78%, 546048 KB, 42994 KB/s, 12 seconds passed -... 78%, 546080 KB, 42996 KB/s, 12 seconds passed -... 78%, 546112 KB, 42998 KB/s, 12 seconds passed -... 78%, 546144 KB, 42999 KB/s, 12 seconds passed -... 78%, 546176 KB, 43001 KB/s, 12 seconds passed -... 78%, 546208 KB, 43002 KB/s, 12 seconds passed -... 78%, 546240 KB, 43004 KB/s, 12 seconds passed -... 78%, 546272 KB, 43006 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 78%, 546304 KB, 43007 KB/s, 12 seconds passed -... 78%, 546336 KB, 43009 KB/s, 12 seconds passed -... 78%, 546368 KB, 43010 KB/s, 12 seconds passed -... 78%, 546400 KB, 43012 KB/s, 12 seconds passed -... 78%, 546432 KB, 43013 KB/s, 12 seconds passed -... 78%, 546464 KB, 43015 KB/s, 12 seconds passed -... 78%, 546496 KB, 43017 KB/s, 12 seconds passed -... 78%, 546528 KB, 43018 KB/s, 12 seconds passed -... 78%, 546560 KB, 43020 KB/s, 12 seconds passed -... 78%, 546592 KB, 43022 KB/s, 12 seconds passed -... 78%, 546624 KB, 43023 KB/s, 12 seconds passed -... 78%, 546656 KB, 43025 KB/s, 12 seconds passed -... 78%, 546688 KB, 43026 KB/s, 12 seconds passed -... 78%, 546720 KB, 43028 KB/s, 12 seconds passed -... 78%, 546752 KB, 43029 KB/s, 12 seconds passed -... 78%, 546784 KB, 43031 KB/s, 12 seconds passed -... 78%, 546816 KB, 43032 KB/s, 12 seconds passed -... 78%, 546848 KB, 43033 KB/s, 12 seconds passed -... 78%, 546880 KB, 43035 KB/s, 12 seconds passed -... 78%, 546912 KB, 43036 KB/s, 12 seconds passed -... 78%, 546944 KB, 43038 KB/s, 12 seconds passed -... 78%, 546976 KB, 43040 KB/s, 12 seconds passed -... 78%, 547008 KB, 43015 KB/s, 12 seconds passed -... 78%, 547040 KB, 43016 KB/s, 12 seconds passed -... 78%, 547072 KB, 43018 KB/s, 12 seconds passed -... 78%, 547104 KB, 43019 KB/s, 12 seconds passed -... 78%, 547136 KB, 43015 KB/s, 12 seconds passed -... 78%, 547168 KB, 43016 KB/s, 12 seconds passed -... 78%, 547200 KB, 43017 KB/s, 12 seconds passed -... 78%, 547232 KB, 43018 KB/s, 12 seconds passed -... 78%, 547264 KB, 43020 KB/s, 12 seconds passed -... 78%, 547296 KB, 43021 KB/s, 12 seconds passed -... 78%, 547328 KB, 43022 KB/s, 12 seconds passed -... 78%, 547360 KB, 43024 KB/s, 12 seconds passed -... 78%, 547392 KB, 43025 KB/s, 12 seconds passed -... 78%, 547424 KB, 43026 KB/s, 12 seconds passed -... 78%, 547456 KB, 43028 KB/s, 12 seconds passed -... 78%, 547488 KB, 43029 KB/s, 12 seconds passed -... 78%, 547520 KB, 43030 KB/s, 12 seconds passed -... 78%, 547552 KB, 43031 KB/s, 12 seconds passed -... 78%, 547584 KB, 43033 KB/s, 12 seconds passed -... 78%, 547616 KB, 43034 KB/s, 12 seconds passed -... 78%, 547648 KB, 43035 KB/s, 12 seconds passed -... 78%, 547680 KB, 43036 KB/s, 12 seconds passed -... 78%, 547712 KB, 43038 KB/s, 12 seconds passed -... 78%, 547744 KB, 43040 KB/s, 12 seconds passed -... 78%, 547776 KB, 43041 KB/s, 12 seconds passed -... 78%, 547808 KB, 43043 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 78%, 547840 KB, 42679 KB/s, 12 seconds passed -... 78%, 547872 KB, 42675 KB/s, 12 seconds passed -... 78%, 547904 KB, 42676 KB/s, 12 seconds passed -... 78%, 547936 KB, 42677 KB/s, 12 seconds passed -... 78%, 547968 KB, 42678 KB/s, 12 seconds passed -... 78%, 548000 KB, 42680 KB/s, 12 seconds passed -... 78%, 548032 KB, 42681 KB/s, 12 seconds passed -... 78%, 548064 KB, 42680 KB/s, 12 seconds passed -... 78%, 548096 KB, 42681 KB/s, 12 seconds passed -... 78%, 548128 KB, 42682 KB/s, 12 seconds passed -... 78%, 548160 KB, 42683 KB/s, 12 seconds passed -... 78%, 548192 KB, 42685 KB/s, 12 seconds passed -... 78%, 548224 KB, 42686 KB/s, 12 seconds passed -... 78%, 548256 KB, 42687 KB/s, 12 seconds passed -... 78%, 548288 KB, 42689 KB/s, 12 seconds passed -... 78%, 548320 KB, 42690 KB/s, 12 seconds passed -... 78%, 548352 KB, 42691 KB/s, 12 seconds passed -... 78%, 548384 KB, 42692 KB/s, 12 seconds passed -... 78%, 548416 KB, 42693 KB/s, 12 seconds passed -... 78%, 548448 KB, 42695 KB/s, 12 seconds passed -... 78%, 548480 KB, 42696 KB/s, 12 seconds passed -... 78%, 548512 KB, 42697 KB/s, 12 seconds passed -... 78%, 548544 KB, 42698 KB/s, 12 seconds passed -... 78%, 548576 KB, 42699 KB/s, 12 seconds passed -... 78%, 548608 KB, 42701 KB/s, 12 seconds passed -... 78%, 548640 KB, 42702 KB/s, 12 seconds passed -... 78%, 548672 KB, 42703 KB/s, 12 seconds passed -... 78%, 548704 KB, 42704 KB/s, 12 seconds passed -... 78%, 548736 KB, 42706 KB/s, 12 seconds passed -... 78%, 548768 KB, 42707 KB/s, 12 seconds passed -... 78%, 548800 KB, 42708 KB/s, 12 seconds passed -... 78%, 548832 KB, 42709 KB/s, 12 seconds passed -... 78%, 548864 KB, 42710 KB/s, 12 seconds passed -... 78%, 548896 KB, 42712 KB/s, 12 seconds passed -... 78%, 548928 KB, 42713 KB/s, 12 seconds passed -... 78%, 548960 KB, 42714 KB/s, 12 seconds passed -... 78%, 548992 KB, 42715 KB/s, 12 seconds passed -... 78%, 549024 KB, 42717 KB/s, 12 seconds passed -... 78%, 549056 KB, 42718 KB/s, 12 seconds passed -... 78%, 549088 KB, 42719 KB/s, 12 seconds passed -... 78%, 549120 KB, 42721 KB/s, 12 seconds passed -... 78%, 549152 KB, 42722 KB/s, 12 seconds passed -... 78%, 549184 KB, 42724 KB/s, 12 seconds passed -... 78%, 549216 KB, 42726 KB/s, 12 seconds passed -... 78%, 549248 KB, 42728 KB/s, 12 seconds passed -... 78%, 549280 KB, 42729 KB/s, 12 seconds passed -... 78%, 549312 KB, 42731 KB/s, 12 seconds passed -... 78%, 549344 KB, 42733 KB/s, 12 seconds passed -... 78%, 549376 KB, 42734 KB/s, 12 seconds passed -... 78%, 549408 KB, 42736 KB/s, 12 seconds passed -... 78%, 549440 KB, 42738 KB/s, 12 seconds passed -... 79%, 549472 KB, 42739 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 79%, 549504 KB, 42741 KB/s, 12 seconds passed -... 79%, 549536 KB, 42742 KB/s, 12 seconds passed -... 79%, 549568 KB, 42744 KB/s, 12 seconds passed -... 79%, 549600 KB, 42746 KB/s, 12 seconds passed -... 79%, 549632 KB, 42748 KB/s, 12 seconds passed -... 79%, 549664 KB, 42749 KB/s, 12 seconds passed -... 79%, 549696 KB, 42751 KB/s, 12 seconds passed -... 79%, 549728 KB, 42753 KB/s, 12 seconds passed -... 79%, 549760 KB, 42754 KB/s, 12 seconds passed -... 79%, 549792 KB, 42756 KB/s, 12 seconds passed -... 79%, 549824 KB, 42758 KB/s, 12 seconds passed -... 79%, 549856 KB, 42759 KB/s, 12 seconds passed -... 79%, 549888 KB, 42761 KB/s, 12 seconds passed -... 79%, 549920 KB, 42763 KB/s, 12 seconds passed -... 79%, 549952 KB, 42764 KB/s, 12 seconds passed -... 79%, 549984 KB, 42766 KB/s, 12 seconds passed -... 79%, 550016 KB, 42768 KB/s, 12 seconds passed -... 79%, 550048 KB, 42769 KB/s, 12 seconds passed -... 79%, 550080 KB, 42771 KB/s, 12 seconds passed -... 79%, 550112 KB, 42773 KB/s, 12 seconds passed -... 79%, 550144 KB, 42774 KB/s, 12 seconds passed -... 79%, 550176 KB, 42776 KB/s, 12 seconds passed -... 79%, 550208 KB, 42778 KB/s, 12 seconds passed -... 79%, 550240 KB, 42779 KB/s, 12 seconds passed -... 79%, 550272 KB, 42781 KB/s, 12 seconds passed -... 79%, 550304 KB, 42783 KB/s, 12 seconds passed -... 79%, 550336 KB, 42784 KB/s, 12 seconds passed -... 79%, 550368 KB, 42786 KB/s, 12 seconds passed -... 79%, 550400 KB, 42788 KB/s, 12 seconds passed -... 79%, 550432 KB, 42790 KB/s, 12 seconds passed -... 79%, 550464 KB, 42791 KB/s, 12 seconds passed -... 79%, 550496 KB, 42793 KB/s, 12 seconds passed -... 79%, 550528 KB, 42795 KB/s, 12 seconds passed -... 79%, 550560 KB, 42797 KB/s, 12 seconds passed -... 79%, 550592 KB, 42799 KB/s, 12 seconds passed -... 79%, 550624 KB, 42801 KB/s, 12 seconds passed -... 79%, 550656 KB, 42803 KB/s, 12 seconds passed -... 79%, 550688 KB, 42805 KB/s, 12 seconds passed -... 79%, 550720 KB, 42807 KB/s, 12 seconds passed -... 79%, 550752 KB, 42809 KB/s, 12 seconds passed -... 79%, 550784 KB, 42810 KB/s, 12 seconds passed -... 79%, 550816 KB, 42812 KB/s, 12 seconds passed -... 79%, 550848 KB, 42814 KB/s, 12 seconds passed -... 79%, 550880 KB, 42816 KB/s, 12 seconds passed -... 79%, 550912 KB, 42818 KB/s, 12 seconds passed -... 79%, 550944 KB, 42820 KB/s, 12 seconds passed -... 79%, 550976 KB, 42822 KB/s, 12 seconds passed -... 79%, 551008 KB, 42824 KB/s, 12 seconds passed -... 79%, 551040 KB, 42825 KB/s, 12 seconds passed -... 79%, 551072 KB, 42827 KB/s, 12 seconds passed -... 79%, 551104 KB, 42828 KB/s, 12 seconds passed -... 79%, 551136 KB, 42830 KB/s, 12 seconds passed -... 79%, 551168 KB, 42831 KB/s, 12 seconds passed -... 79%, 551200 KB, 42833 KB/s, 12 seconds passed -... 79%, 551232 KB, 42834 KB/s, 12 seconds passed -... 79%, 551264 KB, 42836 KB/s, 12 seconds passed -... 79%, 551296 KB, 42838 KB/s, 12 seconds passed -... 79%, 551328 KB, 42839 KB/s, 12 seconds passed -... 79%, 551360 KB, 42841 KB/s, 12 seconds passed -... 79%, 551392 KB, 42842 KB/s, 12 seconds passed -... 79%, 551424 KB, 42844 KB/s, 12 seconds passed -... 79%, 551456 KB, 42845 KB/s, 12 seconds passed -... 79%, 551488 KB, 42847 KB/s, 12 seconds passed -... 79%, 551520 KB, 42848 KB/s, 12 seconds passed -... 79%, 551552 KB, 42850 KB/s, 12 seconds passed -... 79%, 551584 KB, 42852 KB/s, 12 seconds passed -... 79%, 551616 KB, 42853 KB/s, 12 seconds passed -... 79%, 551648 KB, 42855 KB/s, 12 seconds passed -... 79%, 551680 KB, 42854 KB/s, 12 seconds passed -... 79%, 551712 KB, 42856 KB/s, 12 seconds passed -... 79%, 551744 KB, 42857 KB/s, 12 seconds passed -... 79%, 551776 KB, 42858 KB/s, 12 seconds passed -... 79%, 551808 KB, 42860 KB/s, 12 seconds passed -... 79%, 551840 KB, 42861 KB/s, 12 seconds passed -... 79%, 551872 KB, 42861 KB/s, 12 seconds passed -... 79%, 551904 KB, 42863 KB/s, 12 seconds passed -... 79%, 551936 KB, 42864 KB/s, 12 seconds passed -... 79%, 551968 KB, 42865 KB/s, 12 seconds passed -... 79%, 552000 KB, 42866 KB/s, 12 seconds passed -... 79%, 552032 KB, 42868 KB/s, 12 seconds passed -... 79%, 552064 KB, 42857 KB/s, 12 seconds passed -... 79%, 552096 KB, 42858 KB/s, 12 seconds passed -... 79%, 552128 KB, 42859 KB/s, 12 seconds passed -... 79%, 552160 KB, 42861 KB/s, 12 seconds passed -... 79%, 552192 KB, 42863 KB/s, 12 seconds passed -... 79%, 552224 KB, 42864 KB/s, 12 seconds passed -... 79%, 552256 KB, 42866 KB/s, 12 seconds passed -... 79%, 552288 KB, 42867 KB/s, 12 seconds passed -... 79%, 552320 KB, 42869 KB/s, 12 seconds passed -... 79%, 552352 KB, 42871 KB/s, 12 seconds passed -... 79%, 552384 KB, 42872 KB/s, 12 seconds passed -... 79%, 552416 KB, 42874 KB/s, 12 seconds passed -... 79%, 552448 KB, 42875 KB/s, 12 seconds passed -... 79%, 552480 KB, 42877 KB/s, 12 seconds passed -... 79%, 552512 KB, 42879 KB/s, 12 seconds passed -... 79%, 552544 KB, 42880 KB/s, 12 seconds passed -... 79%, 552576 KB, 42882 KB/s, 12 seconds passed -... 79%, 552608 KB, 42884 KB/s, 12 seconds passed -... 79%, 552640 KB, 42885 KB/s, 12 seconds passed -... 79%, 552672 KB, 42887 KB/s, 12 seconds passed -... 79%, 552704 KB, 42888 KB/s, 12 seconds passed -... 79%, 552736 KB, 42890 KB/s, 12 seconds passed -... 79%, 552768 KB, 42891 KB/s, 12 seconds passed -... 79%, 552800 KB, 42893 KB/s, 12 seconds passed -... 79%, 552832 KB, 42895 KB/s, 12 seconds passed -... 79%, 552864 KB, 42896 KB/s, 12 seconds passed -... 79%, 552896 KB, 42898 KB/s, 12 seconds passed -... 79%, 552928 KB, 42899 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 79%, 552960 KB, 42794 KB/s, 12 seconds passed -... 79%, 552992 KB, 42794 KB/s, 12 seconds passed -... 79%, 553024 KB, 42796 KB/s, 12 seconds passed -... 79%, 553056 KB, 42797 KB/s, 12 seconds passed -... 79%, 553088 KB, 42798 KB/s, 12 seconds passed -... 79%, 553120 KB, 42799 KB/s, 12 seconds passed -... 79%, 553152 KB, 42800 KB/s, 12 seconds passed -... 79%, 553184 KB, 42802 KB/s, 12 seconds passed -... 79%, 553216 KB, 42803 KB/s, 12 seconds passed -... 79%, 553248 KB, 42804 KB/s, 12 seconds passed -... 79%, 553280 KB, 42806 KB/s, 12 seconds passed -... 79%, 553312 KB, 42807 KB/s, 12 seconds passed -... 79%, 553344 KB, 42808 KB/s, 12 seconds passed -... 79%, 553376 KB, 42809 KB/s, 12 seconds passed -... 79%, 553408 KB, 42810 KB/s, 12 seconds passed -... 79%, 553440 KB, 42812 KB/s, 12 seconds passed -... 79%, 553472 KB, 42813 KB/s, 12 seconds passed -... 79%, 553504 KB, 42814 KB/s, 12 seconds passed -... 79%, 553536 KB, 42815 KB/s, 12 seconds passed -... 79%, 553568 KB, 42816 KB/s, 12 seconds passed -... 79%, 553600 KB, 42818 KB/s, 12 seconds passed -... 79%, 553632 KB, 42819 KB/s, 12 seconds passed -... 79%, 553664 KB, 42820 KB/s, 12 seconds passed -... 79%, 553696 KB, 42821 KB/s, 12 seconds passed -... 79%, 553728 KB, 42823 KB/s, 12 seconds passed -... 79%, 553760 KB, 42824 KB/s, 12 seconds passed -... 79%, 553792 KB, 42825 KB/s, 12 seconds passed -... 79%, 553824 KB, 42826 KB/s, 12 seconds passed -... 79%, 553856 KB, 42828 KB/s, 12 seconds passed -... 79%, 553888 KB, 42829 KB/s, 12 seconds passed -... 79%, 553920 KB, 42830 KB/s, 12 seconds passed -... 79%, 553952 KB, 42831 KB/s, 12 seconds passed -... 79%, 553984 KB, 42833 KB/s, 12 seconds passed -... 79%, 554016 KB, 42834 KB/s, 12 seconds passed -... 79%, 554048 KB, 42835 KB/s, 12 seconds passed -... 79%, 554080 KB, 42836 KB/s, 12 seconds passed -... 79%, 554112 KB, 42838 KB/s, 12 seconds passed -... 79%, 554144 KB, 42839 KB/s, 12 seconds passed -... 79%, 554176 KB, 42841 KB/s, 12 seconds passed -... 79%, 554208 KB, 42843 KB/s, 12 seconds passed -... 79%, 554240 KB, 42844 KB/s, 12 seconds passed -... 79%, 554272 KB, 42846 KB/s, 12 seconds passed -... 79%, 554304 KB, 42848 KB/s, 12 seconds passed -... 79%, 554336 KB, 42849 KB/s, 12 seconds passed -... 79%, 554368 KB, 42851 KB/s, 12 seconds passed -... 79%, 554400 KB, 42853 KB/s, 12 seconds passed -... 79%, 554432 KB, 42854 KB/s, 12 seconds passed -... 79%, 554464 KB, 42856 KB/s, 12 seconds passed -... 79%, 554496 KB, 42858 KB/s, 12 seconds passed -... 79%, 554528 KB, 42860 KB/s, 12 seconds passed -... 79%, 554560 KB, 42861 KB/s, 12 seconds passed -... 79%, 554592 KB, 42863 KB/s, 12 seconds passed -... 79%, 554624 KB, 42864 KB/s, 12 seconds passed -... 79%, 554656 KB, 42866 KB/s, 12 seconds passed -... 79%, 554688 KB, 42868 KB/s, 12 seconds passed -... 79%, 554720 KB, 42870 KB/s, 12 seconds passed -... 79%, 554752 KB, 42871 KB/s, 12 seconds passed -... 79%, 554784 KB, 42873 KB/s, 12 seconds passed -... 79%, 554816 KB, 42875 KB/s, 12 seconds passed -... 79%, 554848 KB, 42876 KB/s, 12 seconds passed -... 79%, 554880 KB, 42878 KB/s, 12 seconds passed -... 79%, 554912 KB, 42880 KB/s, 12 seconds passed -... 79%, 554944 KB, 42881 KB/s, 12 seconds passed -... 79%, 554976 KB, 42883 KB/s, 12 seconds passed -... 79%, 555008 KB, 42884 KB/s, 12 seconds passed -... 79%, 555040 KB, 42886 KB/s, 12 seconds passed -... 79%, 555072 KB, 42888 KB/s, 12 seconds passed -... 79%, 555104 KB, 42890 KB/s, 12 seconds passed -... 79%, 555136 KB, 42891 KB/s, 12 seconds passed -... 79%, 555168 KB, 42893 KB/s, 12 seconds passed -... 79%, 555200 KB, 42895 KB/s, 12 seconds passed -... 79%, 555232 KB, 42896 KB/s, 12 seconds passed -... 79%, 555264 KB, 42898 KB/s, 12 seconds passed -... 79%, 555296 KB, 42900 KB/s, 12 seconds passed -... 79%, 555328 KB, 42901 KB/s, 12 seconds passed -... 79%, 555360 KB, 42903 KB/s, 12 seconds passed -... 79%, 555392 KB, 42905 KB/s, 12 seconds passed -... 79%, 555424 KB, 42906 KB/s, 12 seconds passed -... 79%, 555456 KB, 42908 KB/s, 12 seconds passed -... 79%, 555488 KB, 42910 KB/s, 12 seconds passed -... 79%, 555520 KB, 42912 KB/s, 12 seconds passed -... 79%, 555552 KB, 42914 KB/s, 12 seconds passed -... 79%, 555584 KB, 42916 KB/s, 12 seconds passed -... 79%, 555616 KB, 42918 KB/s, 12 seconds passed -... 79%, 555648 KB, 42920 KB/s, 12 seconds passed -... 79%, 555680 KB, 42922 KB/s, 12 seconds passed -... 79%, 555712 KB, 42923 KB/s, 12 seconds passed -... 79%, 555744 KB, 42925 KB/s, 12 seconds passed -... 79%, 555776 KB, 42926 KB/s, 12 seconds passed -... 79%, 555808 KB, 42928 KB/s, 12 seconds passed -... 79%, 555840 KB, 42929 KB/s, 12 seconds passed -... 79%, 555872 KB, 42931 KB/s, 12 seconds passed -... 79%, 555904 KB, 42932 KB/s, 12 seconds passed -... 79%, 555936 KB, 42934 KB/s, 12 seconds passed -... 79%, 555968 KB, 42935 KB/s, 12 seconds passed -... 79%, 556000 KB, 42937 KB/s, 12 seconds passed -... 79%, 556032 KB, 42938 KB/s, 12 seconds passed -... 79%, 556064 KB, 42940 KB/s, 12 seconds passed -... 79%, 556096 KB, 42941 KB/s, 12 seconds passed -... 79%, 556128 KB, 42943 KB/s, 12 seconds passed -... 79%, 556160 KB, 42945 KB/s, 12 seconds passed -... 79%, 556192 KB, 42946 KB/s, 12 seconds passed -... 79%, 556224 KB, 42948 KB/s, 12 seconds passed -... 79%, 556256 KB, 42949 KB/s, 12 seconds passed -... 79%, 556288 KB, 42951 KB/s, 12 seconds passed -... 79%, 556320 KB, 42952 KB/s, 12 seconds passed -... 79%, 556352 KB, 42954 KB/s, 12 seconds passed -... 79%, 556384 KB, 42955 KB/s, 12 seconds passed -... 80%, 556416 KB, 42957 KB/s, 12 seconds passed -... 80%, 556448 KB, 42959 KB/s, 12 seconds passed -... 80%, 556480 KB, 42960 KB/s, 12 seconds passed -... 80%, 556512 KB, 42962 KB/s, 12 seconds passed -... 80%, 556544 KB, 42963 KB/s, 12 seconds passed -... 80%, 556576 KB, 42965 KB/s, 12 seconds passed -... 80%, 556608 KB, 42966 KB/s, 12 seconds passed -... 80%, 556640 KB, 42968 KB/s, 12 seconds passed -... 80%, 556672 KB, 42970 KB/s, 12 seconds passed -... 80%, 556704 KB, 42971 KB/s, 12 seconds passed -... 80%, 556736 KB, 42973 KB/s, 12 seconds passed -... 80%, 556768 KB, 42974 KB/s, 12 seconds passed -... 80%, 556800 KB, 42976 KB/s, 12 seconds passed -... 80%, 556832 KB, 42977 KB/s, 12 seconds passed -... 80%, 556864 KB, 42979 KB/s, 12 seconds passed -... 80%, 556896 KB, 42980 KB/s, 12 seconds passed -... 80%, 556928 KB, 42982 KB/s, 12 seconds passed -... 80%, 556960 KB, 42983 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 80%, 556992 KB, 42979 KB/s, 12 seconds passed -... 80%, 557024 KB, 42981 KB/s, 12 seconds passed -... 80%, 557056 KB, 42983 KB/s, 12 seconds passed -... 80%, 557088 KB, 42984 KB/s, 12 seconds passed -... 80%, 557120 KB, 42986 KB/s, 12 seconds passed -... 80%, 557152 KB, 42987 KB/s, 12 seconds passed -... 80%, 557184 KB, 42988 KB/s, 12 seconds passed -... 80%, 557216 KB, 42990 KB/s, 12 seconds passed -... 80%, 557248 KB, 42992 KB/s, 12 seconds passed -... 80%, 557280 KB, 42993 KB/s, 12 seconds passed -... 80%, 557312 KB, 42995 KB/s, 12 seconds passed -... 80%, 557344 KB, 42996 KB/s, 12 seconds passed -... 80%, 557376 KB, 42998 KB/s, 12 seconds passed -... 80%, 557408 KB, 42999 KB/s, 12 seconds passed -... 80%, 557440 KB, 43001 KB/s, 12 seconds passed -... 80%, 557472 KB, 43003 KB/s, 12 seconds passed -... 80%, 557504 KB, 43004 KB/s, 12 seconds passed -... 80%, 557536 KB, 43006 KB/s, 12 seconds passed -... 80%, 557568 KB, 43007 KB/s, 12 seconds passed -... 80%, 557600 KB, 43009 KB/s, 12 seconds passed -... 80%, 557632 KB, 43010 KB/s, 12 seconds passed -... 80%, 557664 KB, 43012 KB/s, 12 seconds passed -... 80%, 557696 KB, 43013 KB/s, 12 seconds passed -... 80%, 557728 KB, 43015 KB/s, 12 seconds passed -... 80%, 557760 KB, 43017 KB/s, 12 seconds passed -... 80%, 557792 KB, 43018 KB/s, 12 seconds passed -... 80%, 557824 KB, 43018 KB/s, 12 seconds passed -... 80%, 557856 KB, 43020 KB/s, 12 seconds passed -... 80%, 557888 KB, 43022 KB/s, 12 seconds passed -... 80%, 557920 KB, 43024 KB/s, 12 seconds passed -... 80%, 557952 KB, 43025 KB/s, 12 seconds passed -... 80%, 557984 KB, 43027 KB/s, 12 seconds passed -... 80%, 558016 KB, 43029 KB/s, 12 seconds passed -... 80%, 558048 KB, 43030 KB/s, 12 seconds passed - -.. parsed-literal:: - - ... 80%, 558080 KB, 42878 KB/s, 13 seconds passed -... 80%, 558112 KB, 42879 KB/s, 13 seconds passed -... 80%, 558144 KB, 42880 KB/s, 13 seconds passed -... 80%, 558176 KB, 42881 KB/s, 13 seconds passed -... 80%, 558208 KB, 42882 KB/s, 13 seconds passed -... 80%, 558240 KB, 42883 KB/s, 13 seconds passed -... 80%, 558272 KB, 42884 KB/s, 13 seconds passed -... 80%, 558304 KB, 42886 KB/s, 13 seconds passed -... 80%, 558336 KB, 42887 KB/s, 13 seconds passed -... 80%, 558368 KB, 42888 KB/s, 13 seconds passed -... 80%, 558400 KB, 42890 KB/s, 13 seconds passed -... 80%, 558432 KB, 42891 KB/s, 13 seconds passed -... 80%, 558464 KB, 42892 KB/s, 13 seconds passed -... 80%, 558496 KB, 42893 KB/s, 13 seconds passed -... 80%, 558528 KB, 42894 KB/s, 13 seconds passed -... 80%, 558560 KB, 42895 KB/s, 13 seconds passed -... 80%, 558592 KB, 42897 KB/s, 13 seconds passed -... 80%, 558624 KB, 42898 KB/s, 13 seconds passed -... 80%, 558656 KB, 42899 KB/s, 13 seconds passed -... 80%, 558688 KB, 42900 KB/s, 13 seconds passed -... 80%, 558720 KB, 42902 KB/s, 13 seconds passed -... 80%, 558752 KB, 42903 KB/s, 13 seconds passed -... 80%, 558784 KB, 42904 KB/s, 13 seconds passed -... 80%, 558816 KB, 42905 KB/s, 13 seconds passed -... 80%, 558848 KB, 42906 KB/s, 13 seconds passed -... 80%, 558880 KB, 42908 KB/s, 13 seconds passed -... 80%, 558912 KB, 42909 KB/s, 13 seconds passed -... 80%, 558944 KB, 42911 KB/s, 13 seconds passed -... 80%, 558976 KB, 42912 KB/s, 13 seconds passed -... 80%, 559008 KB, 42914 KB/s, 13 seconds passed -... 80%, 559040 KB, 42915 KB/s, 13 seconds passed -... 80%, 559072 KB, 42917 KB/s, 13 seconds passed -... 80%, 559104 KB, 42918 KB/s, 13 seconds passed -... 80%, 559136 KB, 42920 KB/s, 13 seconds passed -... 80%, 559168 KB, 42921 KB/s, 13 seconds passed -... 80%, 559200 KB, 42923 KB/s, 13 seconds passed -... 80%, 559232 KB, 42924 KB/s, 13 seconds passed -... 80%, 559264 KB, 42926 KB/s, 13 seconds passed -... 80%, 559296 KB, 42928 KB/s, 13 seconds passed -... 80%, 559328 KB, 42929 KB/s, 13 seconds passed -... 80%, 559360 KB, 42931 KB/s, 13 seconds passed -... 80%, 559392 KB, 42933 KB/s, 13 seconds passed -... 80%, 559424 KB, 42934 KB/s, 13 seconds passed -... 80%, 559456 KB, 42936 KB/s, 13 seconds passed -... 80%, 559488 KB, 42938 KB/s, 13 seconds passed -... 80%, 559520 KB, 42939 KB/s, 13 seconds passed -... 80%, 559552 KB, 42941 KB/s, 13 seconds passed -... 80%, 559584 KB, 42942 KB/s, 13 seconds passed -... 80%, 559616 KB, 42944 KB/s, 13 seconds passed -... 80%, 559648 KB, 42945 KB/s, 13 seconds passed -... 80%, 559680 KB, 42947 KB/s, 13 seconds passed -... 80%, 559712 KB, 42948 KB/s, 13 seconds passed -... 80%, 559744 KB, 42950 KB/s, 13 seconds passed -... 80%, 559776 KB, 42951 KB/s, 13 seconds passed -... 80%, 559808 KB, 42953 KB/s, 13 seconds passed -... 80%, 559840 KB, 42954 KB/s, 13 seconds passed -... 80%, 559872 KB, 42956 KB/s, 13 seconds passed -... 80%, 559904 KB, 42957 KB/s, 13 seconds passed -... 80%, 559936 KB, 42959 KB/s, 13 seconds passed -... 80%, 559968 KB, 42960 KB/s, 13 seconds passed -... 80%, 560000 KB, 42962 KB/s, 13 seconds passed -... 80%, 560032 KB, 42964 KB/s, 13 seconds passed -... 80%, 560064 KB, 42965 KB/s, 13 seconds passed -... 80%, 560096 KB, 42967 KB/s, 13 seconds passed -... 80%, 560128 KB, 42968 KB/s, 13 seconds passed -... 80%, 560160 KB, 42970 KB/s, 13 seconds passed -... 80%, 560192 KB, 42971 KB/s, 13 seconds passed -... 80%, 560224 KB, 42973 KB/s, 13 seconds passed -... 80%, 560256 KB, 42975 KB/s, 13 seconds passed -... 80%, 560288 KB, 42976 KB/s, 13 seconds passed -... 80%, 560320 KB, 42978 KB/s, 13 seconds passed -... 80%, 560352 KB, 42979 KB/s, 13 seconds passed -... 80%, 560384 KB, 42980 KB/s, 13 seconds passed -... 80%, 560416 KB, 42982 KB/s, 13 seconds passed -... 80%, 560448 KB, 42983 KB/s, 13 seconds passed -... 80%, 560480 KB, 42985 KB/s, 13 seconds passed -... 80%, 560512 KB, 42986 KB/s, 13 seconds passed -... 80%, 560544 KB, 42988 KB/s, 13 seconds passed -... 80%, 560576 KB, 42990 KB/s, 13 seconds passed -... 80%, 560608 KB, 42991 KB/s, 13 seconds passed -... 80%, 560640 KB, 42993 KB/s, 13 seconds passed -... 80%, 560672 KB, 42994 KB/s, 13 seconds passed -... 80%, 560704 KB, 42996 KB/s, 13 seconds passed -... 80%, 560736 KB, 42998 KB/s, 13 seconds passed -... 80%, 560768 KB, 42999 KB/s, 13 seconds passed -... 80%, 560800 KB, 43001 KB/s, 13 seconds passed -... 80%, 560832 KB, 43002 KB/s, 13 seconds passed -... 80%, 560864 KB, 43004 KB/s, 13 seconds passed -... 80%, 560896 KB, 43005 KB/s, 13 seconds passed -... 80%, 560928 KB, 43007 KB/s, 13 seconds passed -... 80%, 560960 KB, 43008 KB/s, 13 seconds passed -... 80%, 560992 KB, 43010 KB/s, 13 seconds passed -... 80%, 561024 KB, 43011 KB/s, 13 seconds passed -... 80%, 561056 KB, 43013 KB/s, 13 seconds passed -... 80%, 561088 KB, 43014 KB/s, 13 seconds passed -... 80%, 561120 KB, 43015 KB/s, 13 seconds passed -... 80%, 561152 KB, 43016 KB/s, 13 seconds passed -... 80%, 561184 KB, 43018 KB/s, 13 seconds passed -... 80%, 561216 KB, 43019 KB/s, 13 seconds passed -... 80%, 561248 KB, 43021 KB/s, 13 seconds passed -... 80%, 561280 KB, 43022 KB/s, 13 seconds passed -... 80%, 561312 KB, 43024 KB/s, 13 seconds passed -... 80%, 561344 KB, 43025 KB/s, 13 seconds passed -... 80%, 561376 KB, 43026 KB/s, 13 seconds passed -... 80%, 561408 KB, 43028 KB/s, 13 seconds passed -... 80%, 561440 KB, 43029 KB/s, 13 seconds passed -... 80%, 561472 KB, 43030 KB/s, 13 seconds passed -... 80%, 561504 KB, 43032 KB/s, 13 seconds passed -... 80%, 561536 KB, 43033 KB/s, 13 seconds passed -... 80%, 561568 KB, 43035 KB/s, 13 seconds passed -... 80%, 561600 KB, 43036 KB/s, 13 seconds passed -... 80%, 561632 KB, 43037 KB/s, 13 seconds passed -... 80%, 561664 KB, 43039 KB/s, 13 seconds passed -... 80%, 561696 KB, 43040 KB/s, 13 seconds passed -... 80%, 561728 KB, 43042 KB/s, 13 seconds passed -... 80%, 561760 KB, 43043 KB/s, 13 seconds passed -... 80%, 561792 KB, 43044 KB/s, 13 seconds passed -... 80%, 561824 KB, 43046 KB/s, 13 seconds passed -... 80%, 561856 KB, 43047 KB/s, 13 seconds passed -... 80%, 561888 KB, 43049 KB/s, 13 seconds passed -... 80%, 561920 KB, 43050 KB/s, 13 seconds passed -... 80%, 561952 KB, 43052 KB/s, 13 seconds passed -... 80%, 561984 KB, 43054 KB/s, 13 seconds passed -... 80%, 562016 KB, 43055 KB/s, 13 seconds passed -... 80%, 562048 KB, 43056 KB/s, 13 seconds passed -... 80%, 562080 KB, 43058 KB/s, 13 seconds passed -... 80%, 562112 KB, 43059 KB/s, 13 seconds passed -... 80%, 562144 KB, 43061 KB/s, 13 seconds passed -... 80%, 562176 KB, 43056 KB/s, 13 seconds passed -... 80%, 562208 KB, 43057 KB/s, 13 seconds passed -... 80%, 562240 KB, 43059 KB/s, 13 seconds passed -... 80%, 562272 KB, 43060 KB/s, 13 seconds passed -... 80%, 562304 KB, 43062 KB/s, 13 seconds passed -... 80%, 562336 KB, 43064 KB/s, 13 seconds passed -... 80%, 562368 KB, 43065 KB/s, 13 seconds passed -... 80%, 562400 KB, 43067 KB/s, 13 seconds passed -... 80%, 562432 KB, 43068 KB/s, 13 seconds passed -... 80%, 562464 KB, 43070 KB/s, 13 seconds passed -... 80%, 562496 KB, 43071 KB/s, 13 seconds passed -... 80%, 562528 KB, 43073 KB/s, 13 seconds passed -... 80%, 562560 KB, 43074 KB/s, 13 seconds passed -... 80%, 562592 KB, 43076 KB/s, 13 seconds passed -... 80%, 562624 KB, 43077 KB/s, 13 seconds passed -... 80%, 562656 KB, 43079 KB/s, 13 seconds passed -... 80%, 562688 KB, 43080 KB/s, 13 seconds passed -... 80%, 562720 KB, 43082 KB/s, 13 seconds passed -... 80%, 562752 KB, 43083 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 80%, 562784 KB, 43085 KB/s, 13 seconds passed -... 80%, 562816 KB, 43087 KB/s, 13 seconds passed -... 80%, 562848 KB, 43088 KB/s, 13 seconds passed -... 80%, 562880 KB, 43090 KB/s, 13 seconds passed -... 80%, 562912 KB, 43091 KB/s, 13 seconds passed -... 80%, 562944 KB, 43092 KB/s, 13 seconds passed -... 80%, 562976 KB, 43094 KB/s, 13 seconds passed -... 80%, 563008 KB, 43095 KB/s, 13 seconds passed -... 80%, 563040 KB, 43097 KB/s, 13 seconds passed -... 80%, 563072 KB, 43098 KB/s, 13 seconds passed -... 80%, 563104 KB, 43100 KB/s, 13 seconds passed -... 80%, 563136 KB, 43102 KB/s, 13 seconds passed -... 80%, 563168 KB, 43103 KB/s, 13 seconds passed -... 80%, 563200 KB, 43050 KB/s, 13 seconds passed -... 80%, 563232 KB, 43051 KB/s, 13 seconds passed -... 80%, 563264 KB, 43052 KB/s, 13 seconds passed -... 80%, 563296 KB, 43053 KB/s, 13 seconds passed -... 80%, 563328 KB, 43055 KB/s, 13 seconds passed -... 80%, 563360 KB, 43054 KB/s, 13 seconds passed -... 81%, 563392 KB, 43055 KB/s, 13 seconds passed -... 81%, 563424 KB, 43057 KB/s, 13 seconds passed -... 81%, 563456 KB, 43058 KB/s, 13 seconds passed -... 81%, 563488 KB, 43059 KB/s, 13 seconds passed -... 81%, 563520 KB, 43060 KB/s, 13 seconds passed -... 81%, 563552 KB, 43061 KB/s, 13 seconds passed -... 81%, 563584 KB, 43063 KB/s, 13 seconds passed -... 81%, 563616 KB, 43064 KB/s, 13 seconds passed -... 81%, 563648 KB, 43065 KB/s, 13 seconds passed -... 81%, 563680 KB, 43066 KB/s, 13 seconds passed -... 81%, 563712 KB, 43067 KB/s, 13 seconds passed -... 81%, 563744 KB, 43069 KB/s, 13 seconds passed -... 81%, 563776 KB, 43070 KB/s, 13 seconds passed -... 81%, 563808 KB, 43071 KB/s, 13 seconds passed -... 81%, 563840 KB, 43073 KB/s, 13 seconds passed -... 81%, 563872 KB, 43074 KB/s, 13 seconds passed -... 81%, 563904 KB, 43076 KB/s, 13 seconds passed -... 81%, 563936 KB, 43077 KB/s, 13 seconds passed -... 81%, 563968 KB, 43078 KB/s, 13 seconds passed -... 81%, 564000 KB, 43080 KB/s, 13 seconds passed -... 81%, 564032 KB, 43081 KB/s, 13 seconds passed -... 81%, 564064 KB, 43082 KB/s, 13 seconds passed -... 81%, 564096 KB, 43083 KB/s, 13 seconds passed -... 81%, 564128 KB, 43084 KB/s, 13 seconds passed -... 81%, 564160 KB, 43086 KB/s, 13 seconds passed -... 81%, 564192 KB, 43087 KB/s, 13 seconds passed -... 81%, 564224 KB, 43088 KB/s, 13 seconds passed -... 81%, 564256 KB, 43089 KB/s, 13 seconds passed -... 81%, 564288 KB, 43090 KB/s, 13 seconds passed -... 81%, 564320 KB, 43092 KB/s, 13 seconds passed -... 81%, 564352 KB, 43093 KB/s, 13 seconds passed -... 81%, 564384 KB, 43095 KB/s, 13 seconds passed -... 81%, 564416 KB, 43097 KB/s, 13 seconds passed -... 81%, 564448 KB, 43094 KB/s, 13 seconds passed -... 81%, 564480 KB, 43095 KB/s, 13 seconds passed -... 81%, 564512 KB, 43096 KB/s, 13 seconds passed -... 81%, 564544 KB, 43098 KB/s, 13 seconds passed -... 81%, 564576 KB, 43099 KB/s, 13 seconds passed -... 81%, 564608 KB, 43101 KB/s, 13 seconds passed -... 81%, 564640 KB, 43102 KB/s, 13 seconds passed -... 81%, 564672 KB, 43104 KB/s, 13 seconds passed -... 81%, 564704 KB, 43105 KB/s, 13 seconds passed -... 81%, 564736 KB, 43107 KB/s, 13 seconds passed -... 81%, 564768 KB, 43108 KB/s, 13 seconds passed -... 81%, 564800 KB, 43110 KB/s, 13 seconds passed -... 81%, 564832 KB, 43111 KB/s, 13 seconds passed -... 81%, 564864 KB, 43113 KB/s, 13 seconds passed -... 81%, 564896 KB, 43114 KB/s, 13 seconds passed -... 81%, 564928 KB, 43116 KB/s, 13 seconds passed -... 81%, 564960 KB, 43118 KB/s, 13 seconds passed -... 81%, 564992 KB, 43119 KB/s, 13 seconds passed -... 81%, 565024 KB, 43121 KB/s, 13 seconds passed -... 81%, 565056 KB, 43122 KB/s, 13 seconds passed -... 81%, 565088 KB, 43124 KB/s, 13 seconds passed -... 81%, 565120 KB, 43125 KB/s, 13 seconds passed -... 81%, 565152 KB, 43126 KB/s, 13 seconds passed -... 81%, 565184 KB, 43128 KB/s, 13 seconds passed -... 81%, 565216 KB, 43129 KB/s, 13 seconds passed -... 81%, 565248 KB, 43131 KB/s, 13 seconds passed -... 81%, 565280 KB, 43133 KB/s, 13 seconds passed -... 81%, 565312 KB, 43134 KB/s, 13 seconds passed -... 81%, 565344 KB, 43136 KB/s, 13 seconds passed -... 81%, 565376 KB, 43137 KB/s, 13 seconds passed -... 81%, 565408 KB, 43139 KB/s, 13 seconds passed -... 81%, 565440 KB, 43140 KB/s, 13 seconds passed -... 81%, 565472 KB, 43141 KB/s, 13 seconds passed -... 81%, 565504 KB, 43142 KB/s, 13 seconds passed -... 81%, 565536 KB, 43144 KB/s, 13 seconds passed -... 81%, 565568 KB, 43146 KB/s, 13 seconds passed -... 81%, 565600 KB, 43147 KB/s, 13 seconds passed -... 81%, 565632 KB, 43149 KB/s, 13 seconds passed -... 81%, 565664 KB, 43150 KB/s, 13 seconds passed -... 81%, 565696 KB, 43152 KB/s, 13 seconds passed -... 81%, 565728 KB, 43154 KB/s, 13 seconds passed -... 81%, 565760 KB, 43156 KB/s, 13 seconds passed -... 81%, 565792 KB, 43157 KB/s, 13 seconds passed -... 81%, 565824 KB, 43158 KB/s, 13 seconds passed -... 81%, 565856 KB, 43159 KB/s, 13 seconds passed -... 81%, 565888 KB, 43161 KB/s, 13 seconds passed -... 81%, 565920 KB, 43163 KB/s, 13 seconds passed -... 81%, 565952 KB, 43164 KB/s, 13 seconds passed -... 81%, 565984 KB, 43165 KB/s, 13 seconds passed -... 81%, 566016 KB, 43167 KB/s, 13 seconds passed -... 81%, 566048 KB, 43169 KB/s, 13 seconds passed -... 81%, 566080 KB, 43170 KB/s, 13 seconds passed -... 81%, 566112 KB, 43172 KB/s, 13 seconds passed -... 81%, 566144 KB, 43173 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 81%, 566176 KB, 43175 KB/s, 13 seconds passed -... 81%, 566208 KB, 43177 KB/s, 13 seconds passed -... 81%, 566240 KB, 43178 KB/s, 13 seconds passed -... 81%, 566272 KB, 43180 KB/s, 13 seconds passed -... 81%, 566304 KB, 43181 KB/s, 13 seconds passed -... 81%, 566336 KB, 43183 KB/s, 13 seconds passed -... 81%, 566368 KB, 43184 KB/s, 13 seconds passed -... 81%, 566400 KB, 43186 KB/s, 13 seconds passed -... 81%, 566432 KB, 43188 KB/s, 13 seconds passed -... 81%, 566464 KB, 43189 KB/s, 13 seconds passed -... 81%, 566496 KB, 43190 KB/s, 13 seconds passed -... 81%, 566528 KB, 43192 KB/s, 13 seconds passed -... 81%, 566560 KB, 43193 KB/s, 13 seconds passed -... 81%, 566592 KB, 43195 KB/s, 13 seconds passed -... 81%, 566624 KB, 43197 KB/s, 13 seconds passed -... 81%, 566656 KB, 43198 KB/s, 13 seconds passed -... 81%, 566688 KB, 43199 KB/s, 13 seconds passed -... 81%, 566720 KB, 43201 KB/s, 13 seconds passed -... 81%, 566752 KB, 43202 KB/s, 13 seconds passed -... 81%, 566784 KB, 43204 KB/s, 13 seconds passed -... 81%, 566816 KB, 43205 KB/s, 13 seconds passed -... 81%, 566848 KB, 43207 KB/s, 13 seconds passed -... 81%, 566880 KB, 43209 KB/s, 13 seconds passed -... 81%, 566912 KB, 43210 KB/s, 13 seconds passed -... 81%, 566944 KB, 43212 KB/s, 13 seconds passed -... 81%, 566976 KB, 43213 KB/s, 13 seconds passed -... 81%, 567008 KB, 43215 KB/s, 13 seconds passed -... 81%, 567040 KB, 43216 KB/s, 13 seconds passed -... 81%, 567072 KB, 43217 KB/s, 13 seconds passed -... 81%, 567104 KB, 43219 KB/s, 13 seconds passed -... 81%, 567136 KB, 43221 KB/s, 13 seconds passed -... 81%, 567168 KB, 43222 KB/s, 13 seconds passed -... 81%, 567200 KB, 43224 KB/s, 13 seconds passed -... 81%, 567232 KB, 43225 KB/s, 13 seconds passed -... 81%, 567264 KB, 43227 KB/s, 13 seconds passed -... 81%, 567296 KB, 43229 KB/s, 13 seconds passed -... 81%, 567328 KB, 43229 KB/s, 13 seconds passed -... 81%, 567360 KB, 43231 KB/s, 13 seconds passed -... 81%, 567392 KB, 43233 KB/s, 13 seconds passed -... 81%, 567424 KB, 43234 KB/s, 13 seconds passed -... 81%, 567456 KB, 43231 KB/s, 13 seconds passed -... 81%, 567488 KB, 43233 KB/s, 13 seconds passed -... 81%, 567520 KB, 43234 KB/s, 13 seconds passed -... 81%, 567552 KB, 43235 KB/s, 13 seconds passed -... 81%, 567584 KB, 43236 KB/s, 13 seconds passed -... 81%, 567616 KB, 43238 KB/s, 13 seconds passed -... 81%, 567648 KB, 43239 KB/s, 13 seconds passed -... 81%, 567680 KB, 43240 KB/s, 13 seconds passed -... 81%, 567712 KB, 43242 KB/s, 13 seconds passed -... 81%, 567744 KB, 43243 KB/s, 13 seconds passed -... 81%, 567776 KB, 43244 KB/s, 13 seconds passed -... 81%, 567808 KB, 43246 KB/s, 13 seconds passed -... 81%, 567840 KB, 43247 KB/s, 13 seconds passed -... 81%, 567872 KB, 43248 KB/s, 13 seconds passed -... 81%, 567904 KB, 43250 KB/s, 13 seconds passed -... 81%, 567936 KB, 43251 KB/s, 13 seconds passed -... 81%, 567968 KB, 43252 KB/s, 13 seconds passed -... 81%, 568000 KB, 43254 KB/s, 13 seconds passed -... 81%, 568032 KB, 43255 KB/s, 13 seconds passed -... 81%, 568064 KB, 43256 KB/s, 13 seconds passed -... 81%, 568096 KB, 43258 KB/s, 13 seconds passed -... 81%, 568128 KB, 43259 KB/s, 13 seconds passed -... 81%, 568160 KB, 43260 KB/s, 13 seconds passed -... 81%, 568192 KB, 43262 KB/s, 13 seconds passed -... 81%, 568224 KB, 43263 KB/s, 13 seconds passed -... 81%, 568256 KB, 43265 KB/s, 13 seconds passed -... 81%, 568288 KB, 43266 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 81%, 568320 KB, 43091 KB/s, 13 seconds passed -... 81%, 568352 KB, 43092 KB/s, 13 seconds passed -... 81%, 568384 KB, 43093 KB/s, 13 seconds passed -... 81%, 568416 KB, 43094 KB/s, 13 seconds passed -... 81%, 568448 KB, 43094 KB/s, 13 seconds passed -... 81%, 568480 KB, 43095 KB/s, 13 seconds passed -... 81%, 568512 KB, 43091 KB/s, 13 seconds passed -... 81%, 568544 KB, 43092 KB/s, 13 seconds passed -... 81%, 568576 KB, 43093 KB/s, 13 seconds passed -... 81%, 568608 KB, 43095 KB/s, 13 seconds passed -... 81%, 568640 KB, 43096 KB/s, 13 seconds passed -... 81%, 568672 KB, 43097 KB/s, 13 seconds passed -... 81%, 568704 KB, 43098 KB/s, 13 seconds passed -... 81%, 568736 KB, 43099 KB/s, 13 seconds passed -... 81%, 568768 KB, 43101 KB/s, 13 seconds passed -... 81%, 568800 KB, 43102 KB/s, 13 seconds passed -... 81%, 568832 KB, 43103 KB/s, 13 seconds passed -... 81%, 568864 KB, 43104 KB/s, 13 seconds passed -... 81%, 568896 KB, 43105 KB/s, 13 seconds passed -... 81%, 568928 KB, 43106 KB/s, 13 seconds passed -... 81%, 568960 KB, 43108 KB/s, 13 seconds passed -... 81%, 568992 KB, 43109 KB/s, 13 seconds passed -... 81%, 569024 KB, 43110 KB/s, 13 seconds passed -... 81%, 569056 KB, 43111 KB/s, 13 seconds passed -... 81%, 569088 KB, 43112 KB/s, 13 seconds passed -... 81%, 569120 KB, 43114 KB/s, 13 seconds passed -... 81%, 569152 KB, 43115 KB/s, 13 seconds passed -... 81%, 569184 KB, 43116 KB/s, 13 seconds passed -... 81%, 569216 KB, 43117 KB/s, 13 seconds passed -... 81%, 569248 KB, 43118 KB/s, 13 seconds passed -... 81%, 569280 KB, 43120 KB/s, 13 seconds passed -... 81%, 569312 KB, 43121 KB/s, 13 seconds passed -... 81%, 569344 KB, 43122 KB/s, 13 seconds passed -... 81%, 569376 KB, 43123 KB/s, 13 seconds passed -... 81%, 569408 KB, 43124 KB/s, 13 seconds passed -... 81%, 569440 KB, 43126 KB/s, 13 seconds passed -... 81%, 569472 KB, 43127 KB/s, 13 seconds passed -... 81%, 569504 KB, 43128 KB/s, 13 seconds passed -... 81%, 569536 KB, 43129 KB/s, 13 seconds passed -... 81%, 569568 KB, 43130 KB/s, 13 seconds passed -... 81%, 569600 KB, 43131 KB/s, 13 seconds passed -... 81%, 569632 KB, 43133 KB/s, 13 seconds passed -... 81%, 569664 KB, 43134 KB/s, 13 seconds passed -... 81%, 569696 KB, 43135 KB/s, 13 seconds passed -... 81%, 569728 KB, 43137 KB/s, 13 seconds passed -... 81%, 569760 KB, 43138 KB/s, 13 seconds passed -... 81%, 569792 KB, 43140 KB/s, 13 seconds passed -... 81%, 569824 KB, 43142 KB/s, 13 seconds passed -... 81%, 569856 KB, 43143 KB/s, 13 seconds passed -... 81%, 569888 KB, 43145 KB/s, 13 seconds passed -... 81%, 569920 KB, 43146 KB/s, 13 seconds passed -... 81%, 569952 KB, 43148 KB/s, 13 seconds passed -... 81%, 569984 KB, 43150 KB/s, 13 seconds passed -... 81%, 570016 KB, 43151 KB/s, 13 seconds passed -... 81%, 570048 KB, 43153 KB/s, 13 seconds passed -... 81%, 570080 KB, 43155 KB/s, 13 seconds passed -... 81%, 570112 KB, 43156 KB/s, 13 seconds passed -... 81%, 570144 KB, 43158 KB/s, 13 seconds passed -... 81%, 570176 KB, 43160 KB/s, 13 seconds passed -... 81%, 570208 KB, 43161 KB/s, 13 seconds passed -... 81%, 570240 KB, 43163 KB/s, 13 seconds passed -... 81%, 570272 KB, 43164 KB/s, 13 seconds passed -... 81%, 570304 KB, 43166 KB/s, 13 seconds passed -... 82%, 570336 KB, 43168 KB/s, 13 seconds passed -... 82%, 570368 KB, 43169 KB/s, 13 seconds passed -... 82%, 570400 KB, 43171 KB/s, 13 seconds passed -... 82%, 570432 KB, 43172 KB/s, 13 seconds passed -... 82%, 570464 KB, 43174 KB/s, 13 seconds passed -... 82%, 570496 KB, 43176 KB/s, 13 seconds passed -... 82%, 570528 KB, 43177 KB/s, 13 seconds passed -... 82%, 570560 KB, 43179 KB/s, 13 seconds passed -... 82%, 570592 KB, 43181 KB/s, 13 seconds passed -... 82%, 570624 KB, 43182 KB/s, 13 seconds passed -... 82%, 570656 KB, 43184 KB/s, 13 seconds passed -... 82%, 570688 KB, 43186 KB/s, 13 seconds passed -... 82%, 570720 KB, 43187 KB/s, 13 seconds passed -... 82%, 570752 KB, 43189 KB/s, 13 seconds passed -... 82%, 570784 KB, 43190 KB/s, 13 seconds passed -... 82%, 570816 KB, 43192 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 82%, 570848 KB, 43194 KB/s, 13 seconds passed -... 82%, 570880 KB, 43195 KB/s, 13 seconds passed -... 82%, 570912 KB, 43197 KB/s, 13 seconds passed -... 82%, 570944 KB, 43199 KB/s, 13 seconds passed -... 82%, 570976 KB, 43200 KB/s, 13 seconds passed -... 82%, 571008 KB, 43202 KB/s, 13 seconds passed -... 82%, 571040 KB, 43203 KB/s, 13 seconds passed -... 82%, 571072 KB, 43205 KB/s, 13 seconds passed -... 82%, 571104 KB, 43207 KB/s, 13 seconds passed -... 82%, 571136 KB, 43209 KB/s, 13 seconds passed -... 82%, 571168 KB, 43211 KB/s, 13 seconds passed -... 82%, 571200 KB, 43213 KB/s, 13 seconds passed -... 82%, 571232 KB, 43215 KB/s, 13 seconds passed -... 82%, 571264 KB, 43217 KB/s, 13 seconds passed -... 82%, 571296 KB, 43219 KB/s, 13 seconds passed -... 82%, 571328 KB, 43221 KB/s, 13 seconds passed -... 82%, 571360 KB, 43171 KB/s, 13 seconds passed -... 82%, 571392 KB, 43172 KB/s, 13 seconds passed -... 82%, 571424 KB, 43173 KB/s, 13 seconds passed -... 82%, 571456 KB, 43174 KB/s, 13 seconds passed -... 82%, 571488 KB, 43172 KB/s, 13 seconds passed -... 82%, 571520 KB, 43173 KB/s, 13 seconds passed -... 82%, 571552 KB, 43174 KB/s, 13 seconds passed -... 82%, 571584 KB, 43175 KB/s, 13 seconds passed -... 82%, 571616 KB, 43177 KB/s, 13 seconds passed -... 82%, 571648 KB, 43178 KB/s, 13 seconds passed -... 82%, 571680 KB, 43179 KB/s, 13 seconds passed -... 82%, 571712 KB, 43180 KB/s, 13 seconds passed -... 82%, 571744 KB, 43181 KB/s, 13 seconds passed -... 82%, 571776 KB, 43182 KB/s, 13 seconds passed -... 82%, 571808 KB, 43184 KB/s, 13 seconds passed -... 82%, 571840 KB, 43185 KB/s, 13 seconds passed -... 82%, 571872 KB, 43186 KB/s, 13 seconds passed -... 82%, 571904 KB, 43187 KB/s, 13 seconds passed -... 82%, 571936 KB, 43188 KB/s, 13 seconds passed -... 82%, 571968 KB, 43189 KB/s, 13 seconds passed -... 82%, 572000 KB, 43191 KB/s, 13 seconds passed -... 82%, 572032 KB, 43192 KB/s, 13 seconds passed -... 82%, 572064 KB, 43193 KB/s, 13 seconds passed -... 82%, 572096 KB, 43194 KB/s, 13 seconds passed -... 82%, 572128 KB, 43195 KB/s, 13 seconds passed -... 82%, 572160 KB, 43196 KB/s, 13 seconds passed -... 82%, 572192 KB, 43198 KB/s, 13 seconds passed -... 82%, 572224 KB, 43199 KB/s, 13 seconds passed -... 82%, 572256 KB, 43200 KB/s, 13 seconds passed -... 82%, 572288 KB, 43201 KB/s, 13 seconds passed -... 82%, 572320 KB, 43203 KB/s, 13 seconds passed -... 82%, 572352 KB, 43204 KB/s, 13 seconds passed -... 82%, 572384 KB, 43206 KB/s, 13 seconds passed -... 82%, 572416 KB, 43207 KB/s, 13 seconds passed -... 82%, 572448 KB, 43209 KB/s, 13 seconds passed -... 82%, 572480 KB, 43210 KB/s, 13 seconds passed -... 82%, 572512 KB, 43212 KB/s, 13 seconds passed -... 82%, 572544 KB, 43213 KB/s, 13 seconds passed -... 82%, 572576 KB, 43215 KB/s, 13 seconds passed -... 82%, 572608 KB, 43216 KB/s, 13 seconds passed -... 82%, 572640 KB, 43218 KB/s, 13 seconds passed -... 82%, 572672 KB, 43219 KB/s, 13 seconds passed -... 82%, 572704 KB, 43221 KB/s, 13 seconds passed -... 82%, 572736 KB, 43222 KB/s, 13 seconds passed -... 82%, 572768 KB, 43224 KB/s, 13 seconds passed -... 82%, 572800 KB, 43225 KB/s, 13 seconds passed -... 82%, 572832 KB, 43227 KB/s, 13 seconds passed -... 82%, 572864 KB, 43229 KB/s, 13 seconds passed -... 82%, 572896 KB, 43230 KB/s, 13 seconds passed -... 82%, 572928 KB, 43232 KB/s, 13 seconds passed -... 82%, 572960 KB, 43233 KB/s, 13 seconds passed -... 82%, 572992 KB, 43235 KB/s, 13 seconds passed -... 82%, 573024 KB, 43236 KB/s, 13 seconds passed -... 82%, 573056 KB, 43238 KB/s, 13 seconds passed -... 82%, 573088 KB, 43239 KB/s, 13 seconds passed -... 82%, 573120 KB, 43241 KB/s, 13 seconds passed -... 82%, 573152 KB, 43243 KB/s, 13 seconds passed -... 82%, 573184 KB, 43244 KB/s, 13 seconds passed -... 82%, 573216 KB, 43246 KB/s, 13 seconds passed -... 82%, 573248 KB, 43248 KB/s, 13 seconds passed -... 82%, 573280 KB, 43249 KB/s, 13 seconds passed -... 82%, 573312 KB, 43251 KB/s, 13 seconds passed -... 82%, 573344 KB, 43253 KB/s, 13 seconds passed -... 82%, 573376 KB, 43255 KB/s, 13 seconds passed -... 82%, 573408 KB, 43256 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 82%, 573440 KB, 43077 KB/s, 13 seconds passed -... 82%, 573472 KB, 43078 KB/s, 13 seconds passed -... 82%, 573504 KB, 43070 KB/s, 13 seconds passed -... 82%, 573536 KB, 43070 KB/s, 13 seconds passed -... 82%, 573568 KB, 43071 KB/s, 13 seconds passed -... 82%, 573600 KB, 43073 KB/s, 13 seconds passed -... 82%, 573632 KB, 43074 KB/s, 13 seconds passed -... 82%, 573664 KB, 43075 KB/s, 13 seconds passed -... 82%, 573696 KB, 43076 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 82%, 573728 KB, 43077 KB/s, 13 seconds passed -... 82%, 573760 KB, 43078 KB/s, 13 seconds passed -... 82%, 573792 KB, 43079 KB/s, 13 seconds passed -... 82%, 573824 KB, 43081 KB/s, 13 seconds passed -... 82%, 573856 KB, 43082 KB/s, 13 seconds passed -... 82%, 573888 KB, 43083 KB/s, 13 seconds passed -... 82%, 573920 KB, 43084 KB/s, 13 seconds passed -... 82%, 573952 KB, 43085 KB/s, 13 seconds passed -... 82%, 573984 KB, 43087 KB/s, 13 seconds passed -... 82%, 574016 KB, 43088 KB/s, 13 seconds passed -... 82%, 574048 KB, 43089 KB/s, 13 seconds passed -... 82%, 574080 KB, 43090 KB/s, 13 seconds passed -... 82%, 574112 KB, 43091 KB/s, 13 seconds passed -... 82%, 574144 KB, 43093 KB/s, 13 seconds passed -... 82%, 574176 KB, 43094 KB/s, 13 seconds passed -... 82%, 574208 KB, 43095 KB/s, 13 seconds passed -... 82%, 574240 KB, 43096 KB/s, 13 seconds passed -... 82%, 574272 KB, 43097 KB/s, 13 seconds passed -... 82%, 574304 KB, 43098 KB/s, 13 seconds passed -... 82%, 574336 KB, 43099 KB/s, 13 seconds passed -... 82%, 574368 KB, 43101 KB/s, 13 seconds passed -... 82%, 574400 KB, 43102 KB/s, 13 seconds passed -... 82%, 574432 KB, 43103 KB/s, 13 seconds passed -... 82%, 574464 KB, 43104 KB/s, 13 seconds passed -... 82%, 574496 KB, 43105 KB/s, 13 seconds passed -... 82%, 574528 KB, 43106 KB/s, 13 seconds passed -... 82%, 574560 KB, 43108 KB/s, 13 seconds passed -... 82%, 574592 KB, 43109 KB/s, 13 seconds passed -... 82%, 574624 KB, 43110 KB/s, 13 seconds passed -... 82%, 574656 KB, 43112 KB/s, 13 seconds passed -... 82%, 574688 KB, 43113 KB/s, 13 seconds passed -... 82%, 574720 KB, 43115 KB/s, 13 seconds passed -... 82%, 574752 KB, 43117 KB/s, 13 seconds passed -... 82%, 574784 KB, 43118 KB/s, 13 seconds passed -... 82%, 574816 KB, 43120 KB/s, 13 seconds passed -... 82%, 574848 KB, 43121 KB/s, 13 seconds passed -... 82%, 574880 KB, 43123 KB/s, 13 seconds passed -... 82%, 574912 KB, 43125 KB/s, 13 seconds passed -... 82%, 574944 KB, 43126 KB/s, 13 seconds passed -... 82%, 574976 KB, 43128 KB/s, 13 seconds passed -... 82%, 575008 KB, 43130 KB/s, 13 seconds passed -... 82%, 575040 KB, 43131 KB/s, 13 seconds passed -... 82%, 575072 KB, 43133 KB/s, 13 seconds passed -... 82%, 575104 KB, 43134 KB/s, 13 seconds passed -... 82%, 575136 KB, 43136 KB/s, 13 seconds passed -... 82%, 575168 KB, 43138 KB/s, 13 seconds passed -... 82%, 575200 KB, 43139 KB/s, 13 seconds passed -... 82%, 575232 KB, 43141 KB/s, 13 seconds passed -... 82%, 575264 KB, 43143 KB/s, 13 seconds passed -... 82%, 575296 KB, 43144 KB/s, 13 seconds passed -... 82%, 575328 KB, 43146 KB/s, 13 seconds passed -... 82%, 575360 KB, 43147 KB/s, 13 seconds passed -... 82%, 575392 KB, 43149 KB/s, 13 seconds passed -... 82%, 575424 KB, 43151 KB/s, 13 seconds passed -... 82%, 575456 KB, 43152 KB/s, 13 seconds passed -... 82%, 575488 KB, 43154 KB/s, 13 seconds passed -... 82%, 575520 KB, 43156 KB/s, 13 seconds passed -... 82%, 575552 KB, 43157 KB/s, 13 seconds passed -... 82%, 575584 KB, 43159 KB/s, 13 seconds passed -... 82%, 575616 KB, 43160 KB/s, 13 seconds passed -... 82%, 575648 KB, 43162 KB/s, 13 seconds passed -... 82%, 575680 KB, 43164 KB/s, 13 seconds passed -... 82%, 575712 KB, 43165 KB/s, 13 seconds passed -... 82%, 575744 KB, 43167 KB/s, 13 seconds passed -... 82%, 575776 KB, 43168 KB/s, 13 seconds passed -... 82%, 575808 KB, 43170 KB/s, 13 seconds passed -... 82%, 575840 KB, 43172 KB/s, 13 seconds passed -... 82%, 575872 KB, 43173 KB/s, 13 seconds passed -... 82%, 575904 KB, 43175 KB/s, 13 seconds passed -... 82%, 575936 KB, 43177 KB/s, 13 seconds passed -... 82%, 575968 KB, 43179 KB/s, 13 seconds passed -... 82%, 576000 KB, 43181 KB/s, 13 seconds passed -... 82%, 576032 KB, 43183 KB/s, 13 seconds passed -... 82%, 576064 KB, 43184 KB/s, 13 seconds passed -... 82%, 576096 KB, 43186 KB/s, 13 seconds passed -... 82%, 576128 KB, 43188 KB/s, 13 seconds passed -... 82%, 576160 KB, 43190 KB/s, 13 seconds passed -... 82%, 576192 KB, 43192 KB/s, 13 seconds passed -... 82%, 576224 KB, 43194 KB/s, 13 seconds passed -... 82%, 576256 KB, 43195 KB/s, 13 seconds passed -... 82%, 576288 KB, 43197 KB/s, 13 seconds passed -... 82%, 576320 KB, 43199 KB/s, 13 seconds passed -... 82%, 576352 KB, 43201 KB/s, 13 seconds passed -... 82%, 576384 KB, 43203 KB/s, 13 seconds passed -... 82%, 576416 KB, 43205 KB/s, 13 seconds passed -... 82%, 576448 KB, 43206 KB/s, 13 seconds passed -... 82%, 576480 KB, 43208 KB/s, 13 seconds passed -... 82%, 576512 KB, 43210 KB/s, 13 seconds passed -... 82%, 576544 KB, 43212 KB/s, 13 seconds passed -... 82%, 576576 KB, 43214 KB/s, 13 seconds passed -... 82%, 576608 KB, 43215 KB/s, 13 seconds passed -... 82%, 576640 KB, 43217 KB/s, 13 seconds passed -... 82%, 576672 KB, 43218 KB/s, 13 seconds passed -... 82%, 576704 KB, 43220 KB/s, 13 seconds passed -... 82%, 576736 KB, 43221 KB/s, 13 seconds passed -... 82%, 576768 KB, 43223 KB/s, 13 seconds passed -... 82%, 576800 KB, 43224 KB/s, 13 seconds passed -... 82%, 576832 KB, 43226 KB/s, 13 seconds passed -... 82%, 576864 KB, 43227 KB/s, 13 seconds passed -... 82%, 576896 KB, 43229 KB/s, 13 seconds passed -... 82%, 576928 KB, 43230 KB/s, 13 seconds passed -... 82%, 576960 KB, 43232 KB/s, 13 seconds passed -... 82%, 576992 KB, 43233 KB/s, 13 seconds passed -... 82%, 577024 KB, 43235 KB/s, 13 seconds passed -... 82%, 577056 KB, 43236 KB/s, 13 seconds passed -... 82%, 577088 KB, 43238 KB/s, 13 seconds passed -... 82%, 577120 KB, 43239 KB/s, 13 seconds passed -... 82%, 577152 KB, 43240 KB/s, 13 seconds passed -... 82%, 577184 KB, 43241 KB/s, 13 seconds passed -... 82%, 577216 KB, 43243 KB/s, 13 seconds passed -... 82%, 577248 KB, 43245 KB/s, 13 seconds passed -... 83%, 577280 KB, 43247 KB/s, 13 seconds passed -... 83%, 577312 KB, 43247 KB/s, 13 seconds passed -... 83%, 577344 KB, 43248 KB/s, 13 seconds passed -... 83%, 577376 KB, 43250 KB/s, 13 seconds passed -... 83%, 577408 KB, 43251 KB/s, 13 seconds passed -... 83%, 577440 KB, 43253 KB/s, 13 seconds passed -... 83%, 577472 KB, 43255 KB/s, 13 seconds passed -... 83%, 577504 KB, 43256 KB/s, 13 seconds passed -... 83%, 577536 KB, 43257 KB/s, 13 seconds passed -... 83%, 577568 KB, 43259 KB/s, 13 seconds passed -... 83%, 577600 KB, 43260 KB/s, 13 seconds passed -... 83%, 577632 KB, 43262 KB/s, 13 seconds passed -... 83%, 577664 KB, 43263 KB/s, 13 seconds passed -... 83%, 577696 KB, 43265 KB/s, 13 seconds passed -... 83%, 577728 KB, 43266 KB/s, 13 seconds passed -... 83%, 577760 KB, 43268 KB/s, 13 seconds passed -... 83%, 577792 KB, 43269 KB/s, 13 seconds passed -... 83%, 577824 KB, 43271 KB/s, 13 seconds passed -... 83%, 577856 KB, 43272 KB/s, 13 seconds passed -... 83%, 577888 KB, 43274 KB/s, 13 seconds passed -... 83%, 577920 KB, 43275 KB/s, 13 seconds passed -... 83%, 577952 KB, 43277 KB/s, 13 seconds passed -... 83%, 577984 KB, 43278 KB/s, 13 seconds passed -... 83%, 578016 KB, 43280 KB/s, 13 seconds passed -... 83%, 578048 KB, 43281 KB/s, 13 seconds passed -... 83%, 578080 KB, 43283 KB/s, 13 seconds passed -... 83%, 578112 KB, 43284 KB/s, 13 seconds passed -... 83%, 578144 KB, 43286 KB/s, 13 seconds passed -... 83%, 578176 KB, 43287 KB/s, 13 seconds passed -... 83%, 578208 KB, 43289 KB/s, 13 seconds passed -... 83%, 578240 KB, 43290 KB/s, 13 seconds passed -... 83%, 578272 KB, 43292 KB/s, 13 seconds passed -... 83%, 578304 KB, 43293 KB/s, 13 seconds passed -... 83%, 578336 KB, 43295 KB/s, 13 seconds passed -... 83%, 578368 KB, 43296 KB/s, 13 seconds passed -... 83%, 578400 KB, 43298 KB/s, 13 seconds passed -... 83%, 578432 KB, 43299 KB/s, 13 seconds passed -... 83%, 578464 KB, 43301 KB/s, 13 seconds passed -... 83%, 578496 KB, 43302 KB/s, 13 seconds passed -... 83%, 578528 KB, 43304 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 83%, 578560 KB, 43227 KB/s, 13 seconds passed -... 83%, 578592 KB, 43228 KB/s, 13 seconds passed -... 83%, 578624 KB, 43229 KB/s, 13 seconds passed -... 83%, 578656 KB, 43230 KB/s, 13 seconds passed -... 83%, 578688 KB, 43231 KB/s, 13 seconds passed -... 83%, 578720 KB, 43233 KB/s, 13 seconds passed -... 83%, 578752 KB, 43234 KB/s, 13 seconds passed -... 83%, 578784 KB, 43235 KB/s, 13 seconds passed -... 83%, 578816 KB, 43233 KB/s, 13 seconds passed -... 83%, 578848 KB, 43234 KB/s, 13 seconds passed -... 83%, 578880 KB, 43235 KB/s, 13 seconds passed -... 83%, 578912 KB, 43236 KB/s, 13 seconds passed -... 83%, 578944 KB, 43237 KB/s, 13 seconds passed -... 83%, 578976 KB, 43238 KB/s, 13 seconds passed -... 83%, 579008 KB, 43240 KB/s, 13 seconds passed -... 83%, 579040 KB, 43241 KB/s, 13 seconds passed -... 83%, 579072 KB, 43242 KB/s, 13 seconds passed -... 83%, 579104 KB, 43243 KB/s, 13 seconds passed -... 83%, 579136 KB, 43244 KB/s, 13 seconds passed -... 83%, 579168 KB, 43245 KB/s, 13 seconds passed -... 83%, 579200 KB, 43247 KB/s, 13 seconds passed -... 83%, 579232 KB, 43248 KB/s, 13 seconds passed -... 83%, 579264 KB, 43249 KB/s, 13 seconds passed -... 83%, 579296 KB, 43250 KB/s, 13 seconds passed -... 83%, 579328 KB, 43251 KB/s, 13 seconds passed -... 83%, 579360 KB, 43252 KB/s, 13 seconds passed -... 83%, 579392 KB, 43254 KB/s, 13 seconds passed -... 83%, 579424 KB, 43255 KB/s, 13 seconds passed -... 83%, 579456 KB, 43256 KB/s, 13 seconds passed -... 83%, 579488 KB, 43257 KB/s, 13 seconds passed -... 83%, 579520 KB, 43258 KB/s, 13 seconds passed -... 83%, 579552 KB, 43259 KB/s, 13 seconds passed -... 83%, 579584 KB, 43261 KB/s, 13 seconds passed -... 83%, 579616 KB, 43262 KB/s, 13 seconds passed -... 83%, 579648 KB, 43263 KB/s, 13 seconds passed -... 83%, 579680 KB, 43264 KB/s, 13 seconds passed -... 83%, 579712 KB, 43266 KB/s, 13 seconds passed -... 83%, 579744 KB, 43267 KB/s, 13 seconds passed -... 83%, 579776 KB, 43269 KB/s, 13 seconds passed -... 83%, 579808 KB, 43271 KB/s, 13 seconds passed -... 83%, 579840 KB, 43272 KB/s, 13 seconds passed -... 83%, 579872 KB, 43274 KB/s, 13 seconds passed -... 83%, 579904 KB, 43275 KB/s, 13 seconds passed -... 83%, 579936 KB, 43277 KB/s, 13 seconds passed -... 83%, 579968 KB, 43278 KB/s, 13 seconds passed -... 83%, 580000 KB, 43280 KB/s, 13 seconds passed -... 83%, 580032 KB, 43282 KB/s, 13 seconds passed -... 83%, 580064 KB, 43283 KB/s, 13 seconds passed -... 83%, 580096 KB, 43285 KB/s, 13 seconds passed -... 83%, 580128 KB, 43286 KB/s, 13 seconds passed -... 83%, 580160 KB, 43288 KB/s, 13 seconds passed -... 83%, 580192 KB, 43290 KB/s, 13 seconds passed -... 83%, 580224 KB, 43291 KB/s, 13 seconds passed -... 83%, 580256 KB, 43293 KB/s, 13 seconds passed -... 83%, 580288 KB, 43294 KB/s, 13 seconds passed -... 83%, 580320 KB, 43296 KB/s, 13 seconds passed -... 83%, 580352 KB, 43297 KB/s, 13 seconds passed -... 83%, 580384 KB, 43299 KB/s, 13 seconds passed -... 83%, 580416 KB, 43301 KB/s, 13 seconds passed -... 83%, 580448 KB, 43302 KB/s, 13 seconds passed -... 83%, 580480 KB, 43304 KB/s, 13 seconds passed -... 83%, 580512 KB, 43305 KB/s, 13 seconds passed -... 83%, 580544 KB, 43307 KB/s, 13 seconds passed -... 83%, 580576 KB, 43309 KB/s, 13 seconds passed -... 83%, 580608 KB, 43310 KB/s, 13 seconds passed -... 83%, 580640 KB, 43312 KB/s, 13 seconds passed -... 83%, 580672 KB, 43313 KB/s, 13 seconds passed -... 83%, 580704 KB, 43315 KB/s, 13 seconds passed -... 83%, 580736 KB, 43317 KB/s, 13 seconds passed -... 83%, 580768 KB, 43318 KB/s, 13 seconds passed -... 83%, 580800 KB, 43320 KB/s, 13 seconds passed -... 83%, 580832 KB, 43321 KB/s, 13 seconds passed -... 83%, 580864 KB, 43323 KB/s, 13 seconds passed -... 83%, 580896 KB, 43325 KB/s, 13 seconds passed -... 83%, 580928 KB, 43326 KB/s, 13 seconds passed -... 83%, 580960 KB, 43328 KB/s, 13 seconds passed -... 83%, 580992 KB, 43330 KB/s, 13 seconds passed -... 83%, 581024 KB, 43331 KB/s, 13 seconds passed -... 83%, 581056 KB, 43333 KB/s, 13 seconds passed -... 83%, 581088 KB, 43335 KB/s, 13 seconds passed -... 83%, 581120 KB, 43337 KB/s, 13 seconds passed -... 83%, 581152 KB, 43339 KB/s, 13 seconds passed -... 83%, 581184 KB, 43341 KB/s, 13 seconds passed -... 83%, 581216 KB, 43343 KB/s, 13 seconds passed -... 83%, 581248 KB, 43344 KB/s, 13 seconds passed -... 83%, 581280 KB, 43346 KB/s, 13 seconds passed -... 83%, 581312 KB, 43348 KB/s, 13 seconds passed -... 83%, 581344 KB, 43350 KB/s, 13 seconds passed -... 83%, 581376 KB, 43352 KB/s, 13 seconds passed -... 83%, 581408 KB, 43354 KB/s, 13 seconds passed -... 83%, 581440 KB, 43355 KB/s, 13 seconds passed -... 83%, 581472 KB, 43357 KB/s, 13 seconds passed -... 83%, 581504 KB, 43358 KB/s, 13 seconds passed -... 83%, 581536 KB, 43359 KB/s, 13 seconds passed -... 83%, 581568 KB, 43360 KB/s, 13 seconds passed -... 83%, 581600 KB, 43361 KB/s, 13 seconds passed -... 83%, 581632 KB, 43363 KB/s, 13 seconds passed -... 83%, 581664 KB, 43365 KB/s, 13 seconds passed -... 83%, 581696 KB, 43366 KB/s, 13 seconds passed -... 83%, 581728 KB, 43368 KB/s, 13 seconds passed -... 83%, 581760 KB, 43370 KB/s, 13 seconds passed -... 83%, 581792 KB, 43371 KB/s, 13 seconds passed -... 83%, 581824 KB, 43372 KB/s, 13 seconds passed -... 83%, 581856 KB, 43373 KB/s, 13 seconds passed -... 83%, 581888 KB, 43375 KB/s, 13 seconds passed -... 83%, 581920 KB, 43377 KB/s, 13 seconds passed -... 83%, 581952 KB, 43379 KB/s, 13 seconds passed -... 83%, 581984 KB, 43381 KB/s, 13 seconds passed -... 83%, 582016 KB, 43382 KB/s, 13 seconds passed -... 83%, 582048 KB, 43383 KB/s, 13 seconds passed -... 83%, 582080 KB, 43385 KB/s, 13 seconds passed -... 83%, 582112 KB, 43386 KB/s, 13 seconds passed -... 83%, 582144 KB, 43387 KB/s, 13 seconds passed -... 83%, 582176 KB, 43388 KB/s, 13 seconds passed -... 83%, 582208 KB, 43390 KB/s, 13 seconds passed -... 83%, 582240 KB, 43392 KB/s, 13 seconds passed -... 83%, 582272 KB, 43393 KB/s, 13 seconds passed -... 83%, 582304 KB, 43395 KB/s, 13 seconds passed -... 83%, 582336 KB, 43396 KB/s, 13 seconds passed -... 83%, 582368 KB, 43395 KB/s, 13 seconds passed -... 83%, 582400 KB, 43396 KB/s, 13 seconds passed -... 83%, 582432 KB, 43398 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 83%, 582464 KB, 43399 KB/s, 13 seconds passed -... 83%, 582496 KB, 43400 KB/s, 13 seconds passed -... 83%, 582528 KB, 43401 KB/s, 13 seconds passed -... 83%, 582560 KB, 43403 KB/s, 13 seconds passed -... 83%, 582592 KB, 43404 KB/s, 13 seconds passed -... 83%, 582624 KB, 43405 KB/s, 13 seconds passed -... 83%, 582656 KB, 43407 KB/s, 13 seconds passed -... 83%, 582688 KB, 43408 KB/s, 13 seconds passed -... 83%, 582720 KB, 43410 KB/s, 13 seconds passed -... 83%, 582752 KB, 43411 KB/s, 13 seconds passed -... 83%, 582784 KB, 43413 KB/s, 13 seconds passed -... 83%, 582816 KB, 43414 KB/s, 13 seconds passed -... 83%, 582848 KB, 43416 KB/s, 13 seconds passed -... 83%, 582880 KB, 43417 KB/s, 13 seconds passed -... 83%, 582912 KB, 43419 KB/s, 13 seconds passed -... 83%, 582944 KB, 43420 KB/s, 13 seconds passed -... 83%, 582976 KB, 43422 KB/s, 13 seconds passed -... 83%, 583008 KB, 43423 KB/s, 13 seconds passed -... 83%, 583040 KB, 43425 KB/s, 13 seconds passed -... 83%, 583072 KB, 43426 KB/s, 13 seconds passed -... 83%, 583104 KB, 43428 KB/s, 13 seconds passed -... 83%, 583136 KB, 43429 KB/s, 13 seconds passed -... 83%, 583168 KB, 43431 KB/s, 13 seconds passed -... 83%, 583200 KB, 43432 KB/s, 13 seconds passed -... 83%, 583232 KB, 43434 KB/s, 13 seconds passed -... 83%, 583264 KB, 43435 KB/s, 13 seconds passed -... 83%, 583296 KB, 43437 KB/s, 13 seconds passed -... 83%, 583328 KB, 43438 KB/s, 13 seconds passed -... 83%, 583360 KB, 43440 KB/s, 13 seconds passed -... 83%, 583392 KB, 43441 KB/s, 13 seconds passed -... 83%, 583424 KB, 43442 KB/s, 13 seconds passed -... 83%, 583456 KB, 43444 KB/s, 13 seconds passed -... 83%, 583488 KB, 43446 KB/s, 13 seconds passed -... 83%, 583520 KB, 43447 KB/s, 13 seconds passed -... 83%, 583552 KB, 43449 KB/s, 13 seconds passed -... 83%, 583584 KB, 43450 KB/s, 13 seconds passed -... 83%, 583616 KB, 43451 KB/s, 13 seconds passed -... 83%, 583648 KB, 43453 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 83%, 583680 KB, 43262 KB/s, 13 seconds passed -... 83%, 583712 KB, 43262 KB/s, 13 seconds passed -... 83%, 583744 KB, 43263 KB/s, 13 seconds passed -... 83%, 583776 KB, 43264 KB/s, 13 seconds passed -... 83%, 583808 KB, 43266 KB/s, 13 seconds passed -... 83%, 583840 KB, 43267 KB/s, 13 seconds passed -... 83%, 583872 KB, 43268 KB/s, 13 seconds passed -... 83%, 583904 KB, 43269 KB/s, 13 seconds passed -... 83%, 583936 KB, 43270 KB/s, 13 seconds passed -... 83%, 583968 KB, 43271 KB/s, 13 seconds passed -... 83%, 584000 KB, 43272 KB/s, 13 seconds passed -... 83%, 584032 KB, 43274 KB/s, 13 seconds passed -... 83%, 584064 KB, 43275 KB/s, 13 seconds passed -... 83%, 584096 KB, 43277 KB/s, 13 seconds passed -... 83%, 584128 KB, 43278 KB/s, 13 seconds passed -... 83%, 584160 KB, 43279 KB/s, 13 seconds passed -... 83%, 584192 KB, 43280 KB/s, 13 seconds passed -... 83%, 584224 KB, 43281 KB/s, 13 seconds passed -... 84%, 584256 KB, 43282 KB/s, 13 seconds passed -... 84%, 584288 KB, 43276 KB/s, 13 seconds passed -... 84%, 584320 KB, 43277 KB/s, 13 seconds passed -... 84%, 584352 KB, 43279 KB/s, 13 seconds passed -... 84%, 584384 KB, 43280 KB/s, 13 seconds passed -... 84%, 584416 KB, 43281 KB/s, 13 seconds passed -... 84%, 584448 KB, 43282 KB/s, 13 seconds passed -... 84%, 584480 KB, 43284 KB/s, 13 seconds passed -... 84%, 584512 KB, 43285 KB/s, 13 seconds passed -... 84%, 584544 KB, 43286 KB/s, 13 seconds passed -... 84%, 584576 KB, 43287 KB/s, 13 seconds passed -... 84%, 584608 KB, 43288 KB/s, 13 seconds passed -... 84%, 584640 KB, 43290 KB/s, 13 seconds passed -... 84%, 584672 KB, 43291 KB/s, 13 seconds passed -... 84%, 584704 KB, 43292 KB/s, 13 seconds passed -... 84%, 584736 KB, 43293 KB/s, 13 seconds passed -... 84%, 584768 KB, 43295 KB/s, 13 seconds passed -... 84%, 584800 KB, 43296 KB/s, 13 seconds passed -... 84%, 584832 KB, 43297 KB/s, 13 seconds passed -... 84%, 584864 KB, 43298 KB/s, 13 seconds passed -... 84%, 584896 KB, 43300 KB/s, 13 seconds passed -... 84%, 584928 KB, 43301 KB/s, 13 seconds passed -... 84%, 584960 KB, 43302 KB/s, 13 seconds passed -... 84%, 584992 KB, 43303 KB/s, 13 seconds passed -... 84%, 585024 KB, 43305 KB/s, 13 seconds passed -... 84%, 585056 KB, 43306 KB/s, 13 seconds passed -... 84%, 585088 KB, 43307 KB/s, 13 seconds passed -... 84%, 585120 KB, 43309 KB/s, 13 seconds passed -... 84%, 585152 KB, 43310 KB/s, 13 seconds passed -... 84%, 585184 KB, 43312 KB/s, 13 seconds passed -... 84%, 585216 KB, 43313 KB/s, 13 seconds passed -... 84%, 585248 KB, 43315 KB/s, 13 seconds passed -... 84%, 585280 KB, 43316 KB/s, 13 seconds passed -... 84%, 585312 KB, 43318 KB/s, 13 seconds passed -... 84%, 585344 KB, 43319 KB/s, 13 seconds passed -... 84%, 585376 KB, 43321 KB/s, 13 seconds passed -... 84%, 585408 KB, 43322 KB/s, 13 seconds passed -... 84%, 585440 KB, 43324 KB/s, 13 seconds passed -... 84%, 585472 KB, 43325 KB/s, 13 seconds passed -... 84%, 585504 KB, 43327 KB/s, 13 seconds passed -... 84%, 585536 KB, 43328 KB/s, 13 seconds passed -... 84%, 585568 KB, 43329 KB/s, 13 seconds passed -... 84%, 585600 KB, 43331 KB/s, 13 seconds passed -... 84%, 585632 KB, 43332 KB/s, 13 seconds passed -... 84%, 585664 KB, 43334 KB/s, 13 seconds passed -... 84%, 585696 KB, 43335 KB/s, 13 seconds passed -... 84%, 585728 KB, 43337 KB/s, 13 seconds passed -... 84%, 585760 KB, 43338 KB/s, 13 seconds passed -... 84%, 585792 KB, 43340 KB/s, 13 seconds passed -... 84%, 585824 KB, 43341 KB/s, 13 seconds passed -... 84%, 585856 KB, 43343 KB/s, 13 seconds passed -... 84%, 585888 KB, 43344 KB/s, 13 seconds passed -... 84%, 585920 KB, 43346 KB/s, 13 seconds passed -... 84%, 585952 KB, 43347 KB/s, 13 seconds passed -... 84%, 585984 KB, 43348 KB/s, 13 seconds passed -... 84%, 586016 KB, 43350 KB/s, 13 seconds passed -... 84%, 586048 KB, 43351 KB/s, 13 seconds passed -... 84%, 586080 KB, 43353 KB/s, 13 seconds passed -... 84%, 586112 KB, 43354 KB/s, 13 seconds passed -... 84%, 586144 KB, 43356 KB/s, 13 seconds passed -... 84%, 586176 KB, 43357 KB/s, 13 seconds passed -... 84%, 586208 KB, 43359 KB/s, 13 seconds passed -... 84%, 586240 KB, 43360 KB/s, 13 seconds passed -... 84%, 586272 KB, 43362 KB/s, 13 seconds passed -... 84%, 586304 KB, 43364 KB/s, 13 seconds passed -... 84%, 586336 KB, 43366 KB/s, 13 seconds passed -... 84%, 586368 KB, 43367 KB/s, 13 seconds passed -... 84%, 586400 KB, 43369 KB/s, 13 seconds passed -... 84%, 586432 KB, 43371 KB/s, 13 seconds passed -... 84%, 586464 KB, 43373 KB/s, 13 seconds passed -... 84%, 586496 KB, 43375 KB/s, 13 seconds passed -... 84%, 586528 KB, 43376 KB/s, 13 seconds passed -... 84%, 586560 KB, 43378 KB/s, 13 seconds passed -... 84%, 586592 KB, 43380 KB/s, 13 seconds passed -... 84%, 586624 KB, 43382 KB/s, 13 seconds passed -... 84%, 586656 KB, 43383 KB/s, 13 seconds passed -... 84%, 586688 KB, 43385 KB/s, 13 seconds passed -... 84%, 586720 KB, 43387 KB/s, 13 seconds passed -... 84%, 586752 KB, 43389 KB/s, 13 seconds passed -... 84%, 586784 KB, 43390 KB/s, 13 seconds passed -... 84%, 586816 KB, 43392 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 84%, 586848 KB, 43394 KB/s, 13 seconds passed -... 84%, 586880 KB, 43396 KB/s, 13 seconds passed -... 84%, 586912 KB, 43397 KB/s, 13 seconds passed -... 84%, 586944 KB, 43399 KB/s, 13 seconds passed -... 84%, 586976 KB, 43400 KB/s, 13 seconds passed -... 84%, 587008 KB, 43402 KB/s, 13 seconds passed -... 84%, 587040 KB, 43403 KB/s, 13 seconds passed -... 84%, 587072 KB, 43404 KB/s, 13 seconds passed -... 84%, 587104 KB, 43406 KB/s, 13 seconds passed -... 84%, 587136 KB, 43407 KB/s, 13 seconds passed -... 84%, 587168 KB, 43409 KB/s, 13 seconds passed -... 84%, 587200 KB, 43410 KB/s, 13 seconds passed -... 84%, 587232 KB, 43412 KB/s, 13 seconds passed -... 84%, 587264 KB, 43413 KB/s, 13 seconds passed -... 84%, 587296 KB, 43415 KB/s, 13 seconds passed -... 84%, 587328 KB, 43416 KB/s, 13 seconds passed -... 84%, 587360 KB, 43418 KB/s, 13 seconds passed -... 84%, 587392 KB, 43419 KB/s, 13 seconds passed -... 84%, 587424 KB, 43420 KB/s, 13 seconds passed -... 84%, 587456 KB, 43422 KB/s, 13 seconds passed -... 84%, 587488 KB, 43424 KB/s, 13 seconds passed -... 84%, 587520 KB, 43425 KB/s, 13 seconds passed -... 84%, 587552 KB, 43426 KB/s, 13 seconds passed -... 84%, 587584 KB, 43428 KB/s, 13 seconds passed -... 84%, 587616 KB, 43429 KB/s, 13 seconds passed -... 84%, 587648 KB, 43431 KB/s, 13 seconds passed -... 84%, 587680 KB, 43432 KB/s, 13 seconds passed -... 84%, 587712 KB, 43434 KB/s, 13 seconds passed -... 84%, 587744 KB, 43435 KB/s, 13 seconds passed -... 84%, 587776 KB, 43437 KB/s, 13 seconds passed -... 84%, 587808 KB, 43438 KB/s, 13 seconds passed -... 84%, 587840 KB, 43440 KB/s, 13 seconds passed -... 84%, 587872 KB, 43441 KB/s, 13 seconds passed -... 84%, 587904 KB, 43442 KB/s, 13 seconds passed -... 84%, 587936 KB, 43444 KB/s, 13 seconds passed -... 84%, 587968 KB, 43446 KB/s, 13 seconds passed -... 84%, 588000 KB, 43447 KB/s, 13 seconds passed -... 84%, 588032 KB, 43449 KB/s, 13 seconds passed -... 84%, 588064 KB, 43450 KB/s, 13 seconds passed -... 84%, 588096 KB, 43451 KB/s, 13 seconds passed -... 84%, 588128 KB, 43453 KB/s, 13 seconds passed -... 84%, 588160 KB, 43454 KB/s, 13 seconds passed -... 84%, 588192 KB, 43456 KB/s, 13 seconds passed -... 84%, 588224 KB, 43457 KB/s, 13 seconds passed -... 84%, 588256 KB, 43459 KB/s, 13 seconds passed -... 84%, 588288 KB, 43460 KB/s, 13 seconds passed -... 84%, 588320 KB, 43461 KB/s, 13 seconds passed -... 84%, 588352 KB, 43462 KB/s, 13 seconds passed -... 84%, 588384 KB, 43464 KB/s, 13 seconds passed -... 84%, 588416 KB, 43466 KB/s, 13 seconds passed -... 84%, 588448 KB, 43467 KB/s, 13 seconds passed -... 84%, 588480 KB, 43469 KB/s, 13 seconds passed -... 84%, 588512 KB, 43471 KB/s, 13 seconds passed -... 84%, 588544 KB, 43472 KB/s, 13 seconds passed -... 84%, 588576 KB, 43473 KB/s, 13 seconds passed -... 84%, 588608 KB, 43475 KB/s, 13 seconds passed -... 84%, 588640 KB, 43476 KB/s, 13 seconds passed -... 84%, 588672 KB, 43478 KB/s, 13 seconds passed -... 84%, 588704 KB, 43479 KB/s, 13 seconds passed -... 84%, 588736 KB, 43481 KB/s, 13 seconds passed -... 84%, 588768 KB, 43482 KB/s, 13 seconds passed -... 84%, 588800 KB, 43385 KB/s, 13 seconds passed -... 84%, 588832 KB, 43385 KB/s, 13 seconds passed -... 84%, 588864 KB, 43387 KB/s, 13 seconds passed -... 84%, 588896 KB, 43388 KB/s, 13 seconds passed -... 84%, 588928 KB, 43389 KB/s, 13 seconds passed -... 84%, 588960 KB, 43390 KB/s, 13 seconds passed -... 84%, 588992 KB, 43391 KB/s, 13 seconds passed -... 84%, 589024 KB, 43392 KB/s, 13 seconds passed -... 84%, 589056 KB, 43393 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 84%, 589088 KB, 43395 KB/s, 13 seconds passed -... 84%, 589120 KB, 43396 KB/s, 13 seconds passed -... 84%, 589152 KB, 43397 KB/s, 13 seconds passed -... 84%, 589184 KB, 43398 KB/s, 13 seconds passed -... 84%, 589216 KB, 43399 KB/s, 13 seconds passed -... 84%, 589248 KB, 43400 KB/s, 13 seconds passed -... 84%, 589280 KB, 43402 KB/s, 13 seconds passed -... 84%, 589312 KB, 43403 KB/s, 13 seconds passed -... 84%, 589344 KB, 43404 KB/s, 13 seconds passed -... 84%, 589376 KB, 43405 KB/s, 13 seconds passed -... 84%, 589408 KB, 43407 KB/s, 13 seconds passed -... 84%, 589440 KB, 43408 KB/s, 13 seconds passed -... 84%, 589472 KB, 43409 KB/s, 13 seconds passed -... 84%, 589504 KB, 43410 KB/s, 13 seconds passed -... 84%, 589536 KB, 43412 KB/s, 13 seconds passed -... 84%, 589568 KB, 43413 KB/s, 13 seconds passed -... 84%, 589600 KB, 43415 KB/s, 13 seconds passed -... 84%, 589632 KB, 43416 KB/s, 13 seconds passed -... 84%, 589664 KB, 43417 KB/s, 13 seconds passed -... 84%, 589696 KB, 43407 KB/s, 13 seconds passed -... 84%, 589728 KB, 43408 KB/s, 13 seconds passed -... 84%, 589760 KB, 43409 KB/s, 13 seconds passed -... 84%, 589792 KB, 43410 KB/s, 13 seconds passed -... 84%, 589824 KB, 43412 KB/s, 13 seconds passed -... 84%, 589856 KB, 43413 KB/s, 13 seconds passed -... 84%, 589888 KB, 43414 KB/s, 13 seconds passed -... 84%, 589920 KB, 43416 KB/s, 13 seconds passed -... 84%, 589952 KB, 43417 KB/s, 13 seconds passed -... 84%, 589984 KB, 43419 KB/s, 13 seconds passed -... 84%, 590016 KB, 43420 KB/s, 13 seconds passed -... 84%, 590048 KB, 43421 KB/s, 13 seconds passed -... 84%, 590080 KB, 43423 KB/s, 13 seconds passed -... 84%, 590112 KB, 43424 KB/s, 13 seconds passed -... 84%, 590144 KB, 43426 KB/s, 13 seconds passed -... 84%, 590176 KB, 43427 KB/s, 13 seconds passed -... 84%, 590208 KB, 43428 KB/s, 13 seconds passed -... 84%, 590240 KB, 43430 KB/s, 13 seconds passed -... 84%, 590272 KB, 43431 KB/s, 13 seconds passed -... 84%, 590304 KB, 43433 KB/s, 13 seconds passed -... 84%, 590336 KB, 43434 KB/s, 13 seconds passed -... 84%, 590368 KB, 43436 KB/s, 13 seconds passed -... 84%, 590400 KB, 43437 KB/s, 13 seconds passed -... 84%, 590432 KB, 43438 KB/s, 13 seconds passed -... 84%, 590464 KB, 43440 KB/s, 13 seconds passed -... 84%, 590496 KB, 43441 KB/s, 13 seconds passed -... 84%, 590528 KB, 43443 KB/s, 13 seconds passed -... 84%, 590560 KB, 43444 KB/s, 13 seconds passed -... 84%, 590592 KB, 43445 KB/s, 13 seconds passed -... 84%, 590624 KB, 43447 KB/s, 13 seconds passed -... 84%, 590656 KB, 43448 KB/s, 13 seconds passed -... 84%, 590688 KB, 43450 KB/s, 13 seconds passed -... 84%, 590720 KB, 43451 KB/s, 13 seconds passed -... 84%, 590752 KB, 43452 KB/s, 13 seconds passed -... 84%, 590784 KB, 43454 KB/s, 13 seconds passed -... 84%, 590816 KB, 43455 KB/s, 13 seconds passed -... 84%, 590848 KB, 43457 KB/s, 13 seconds passed -... 84%, 590880 KB, 43458 KB/s, 13 seconds passed -... 84%, 590912 KB, 43459 KB/s, 13 seconds passed -... 84%, 590944 KB, 43461 KB/s, 13 seconds passed -... 84%, 590976 KB, 43462 KB/s, 13 seconds passed -... 84%, 591008 KB, 43464 KB/s, 13 seconds passed -... 84%, 591040 KB, 43465 KB/s, 13 seconds passed -... 84%, 591072 KB, 43467 KB/s, 13 seconds passed -... 84%, 591104 KB, 43468 KB/s, 13 seconds passed -... 84%, 591136 KB, 43469 KB/s, 13 seconds passed -... 84%, 591168 KB, 43471 KB/s, 13 seconds passed -... 85%, 591200 KB, 43472 KB/s, 13 seconds passed -... 85%, 591232 KB, 43474 KB/s, 13 seconds passed -... 85%, 591264 KB, 43475 KB/s, 13 seconds passed -... 85%, 591296 KB, 43476 KB/s, 13 seconds passed -... 85%, 591328 KB, 43478 KB/s, 13 seconds passed -... 85%, 591360 KB, 43479 KB/s, 13 seconds passed -... 85%, 591392 KB, 43481 KB/s, 13 seconds passed -... 85%, 591424 KB, 43483 KB/s, 13 seconds passed -... 85%, 591456 KB, 43484 KB/s, 13 seconds passed -... 85%, 591488 KB, 43486 KB/s, 13 seconds passed -... 85%, 591520 KB, 43488 KB/s, 13 seconds passed -... 85%, 591552 KB, 43490 KB/s, 13 seconds passed -... 85%, 591584 KB, 43491 KB/s, 13 seconds passed -... 85%, 591616 KB, 43493 KB/s, 13 seconds passed -... 85%, 591648 KB, 43495 KB/s, 13 seconds passed -... 85%, 591680 KB, 43497 KB/s, 13 seconds passed -... 85%, 591712 KB, 43498 KB/s, 13 seconds passed -... 85%, 591744 KB, 43500 KB/s, 13 seconds passed -... 85%, 591776 KB, 43502 KB/s, 13 seconds passed -... 85%, 591808 KB, 43504 KB/s, 13 seconds passed -... 85%, 591840 KB, 43505 KB/s, 13 seconds passed -... 85%, 591872 KB, 43507 KB/s, 13 seconds passed -... 85%, 591904 KB, 43508 KB/s, 13 seconds passed -... 85%, 591936 KB, 43509 KB/s, 13 seconds passed -... 85%, 591968 KB, 43511 KB/s, 13 seconds passed -... 85%, 592000 KB, 43512 KB/s, 13 seconds passed -... 85%, 592032 KB, 43514 KB/s, 13 seconds passed -... 85%, 592064 KB, 43515 KB/s, 13 seconds passed -... 85%, 592096 KB, 43517 KB/s, 13 seconds passed -... 85%, 592128 KB, 43518 KB/s, 13 seconds passed -... 85%, 592160 KB, 43520 KB/s, 13 seconds passed -... 85%, 592192 KB, 43521 KB/s, 13 seconds passed -... 85%, 592224 KB, 43523 KB/s, 13 seconds passed -... 85%, 592256 KB, 43524 KB/s, 13 seconds passed -... 85%, 592288 KB, 43526 KB/s, 13 seconds passed -... 85%, 592320 KB, 43527 KB/s, 13 seconds passed -... 85%, 592352 KB, 43529 KB/s, 13 seconds passed -... 85%, 592384 KB, 43530 KB/s, 13 seconds passed -... 85%, 592416 KB, 43531 KB/s, 13 seconds passed -... 85%, 592448 KB, 43533 KB/s, 13 seconds passed -... 85%, 592480 KB, 43534 KB/s, 13 seconds passed -... 85%, 592512 KB, 43536 KB/s, 13 seconds passed -... 85%, 592544 KB, 43537 KB/s, 13 seconds passed -... 85%, 592576 KB, 43538 KB/s, 13 seconds passed -... 85%, 592608 KB, 43540 KB/s, 13 seconds passed -... 85%, 592640 KB, 43541 KB/s, 13 seconds passed -... 85%, 592672 KB, 43543 KB/s, 13 seconds passed -... 85%, 592704 KB, 43544 KB/s, 13 seconds passed -... 85%, 592736 KB, 43546 KB/s, 13 seconds passed -... 85%, 592768 KB, 43547 KB/s, 13 seconds passed -... 85%, 592800 KB, 43549 KB/s, 13 seconds passed -... 85%, 592832 KB, 43550 KB/s, 13 seconds passed -... 85%, 592864 KB, 43552 KB/s, 13 seconds passed -... 85%, 592896 KB, 43553 KB/s, 13 seconds passed -... 85%, 592928 KB, 43555 KB/s, 13 seconds passed -... 85%, 592960 KB, 43556 KB/s, 13 seconds passed -... 85%, 592992 KB, 43558 KB/s, 13 seconds passed -... 85%, 593024 KB, 43559 KB/s, 13 seconds passed -... 85%, 593056 KB, 43560 KB/s, 13 seconds passed -... 85%, 593088 KB, 43561 KB/s, 13 seconds passed -... 85%, 593120 KB, 43563 KB/s, 13 seconds passed -... 85%, 593152 KB, 43565 KB/s, 13 seconds passed -... 85%, 593184 KB, 43566 KB/s, 13 seconds passed -... 85%, 593216 KB, 43568 KB/s, 13 seconds passed -... 85%, 593248 KB, 43569 KB/s, 13 seconds passed -... 85%, 593280 KB, 43571 KB/s, 13 seconds passed -... 85%, 593312 KB, 43572 KB/s, 13 seconds passed -... 85%, 593344 KB, 43574 KB/s, 13 seconds passed -... 85%, 593376 KB, 43575 KB/s, 13 seconds passed -... 85%, 593408 KB, 43577 KB/s, 13 seconds passed -... 85%, 593440 KB, 43578 KB/s, 13 seconds passed -... 85%, 593472 KB, 43579 KB/s, 13 seconds passed -... 85%, 593504 KB, 43581 KB/s, 13 seconds passed -... 85%, 593536 KB, 43583 KB/s, 13 seconds passed -... 85%, 593568 KB, 43584 KB/s, 13 seconds passed -... 85%, 593600 KB, 43585 KB/s, 13 seconds passed -... 85%, 593632 KB, 43586 KB/s, 13 seconds passed -... 85%, 593664 KB, 43587 KB/s, 13 seconds passed -... 85%, 593696 KB, 43589 KB/s, 13 seconds passed -... 85%, 593728 KB, 43591 KB/s, 13 seconds passed -... 85%, 593760 KB, 43593 KB/s, 13 seconds passed -... 85%, 593792 KB, 43594 KB/s, 13 seconds passed -... 85%, 593824 KB, 43595 KB/s, 13 seconds passed -... 85%, 593856 KB, 43597 KB/s, 13 seconds passed -... 85%, 593888 KB, 43598 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 85%, 593920 KB, 43540 KB/s, 13 seconds passed -... 85%, 593952 KB, 43541 KB/s, 13 seconds passed -... 85%, 593984 KB, 43538 KB/s, 13 seconds passed -... 85%, 594016 KB, 43539 KB/s, 13 seconds passed -... 85%, 594048 KB, 43541 KB/s, 13 seconds passed -... 85%, 594080 KB, 43542 KB/s, 13 seconds passed -... 85%, 594112 KB, 43544 KB/s, 13 seconds passed -... 85%, 594144 KB, 43545 KB/s, 13 seconds passed -... 85%, 594176 KB, 43547 KB/s, 13 seconds passed -... 85%, 594208 KB, 43548 KB/s, 13 seconds passed -... 85%, 594240 KB, 43550 KB/s, 13 seconds passed -... 85%, 594272 KB, 43551 KB/s, 13 seconds passed -... 85%, 594304 KB, 43553 KB/s, 13 seconds passed -... 85%, 594336 KB, 43554 KB/s, 13 seconds passed -... 85%, 594368 KB, 43555 KB/s, 13 seconds passed -... 85%, 594400 KB, 43557 KB/s, 13 seconds passed -... 85%, 594432 KB, 43559 KB/s, 13 seconds passed -... 85%, 594464 KB, 43560 KB/s, 13 seconds passed -... 85%, 594496 KB, 43561 KB/s, 13 seconds passed -... 85%, 594528 KB, 43563 KB/s, 13 seconds passed -... 85%, 594560 KB, 43564 KB/s, 13 seconds passed -... 85%, 594592 KB, 43566 KB/s, 13 seconds passed -... 85%, 594624 KB, 43567 KB/s, 13 seconds passed -... 85%, 594656 KB, 43569 KB/s, 13 seconds passed -... 85%, 594688 KB, 43570 KB/s, 13 seconds passed -... 85%, 594720 KB, 43572 KB/s, 13 seconds passed -... 85%, 594752 KB, 43573 KB/s, 13 seconds passed -... 85%, 594784 KB, 43574 KB/s, 13 seconds passed -... 85%, 594816 KB, 43576 KB/s, 13 seconds passed -... 85%, 594848 KB, 43577 KB/s, 13 seconds passed -... 85%, 594880 KB, 43579 KB/s, 13 seconds passed -... 85%, 594912 KB, 43580 KB/s, 13 seconds passed -... 85%, 594944 KB, 43582 KB/s, 13 seconds passed -... 85%, 594976 KB, 43583 KB/s, 13 seconds passed -... 85%, 595008 KB, 43585 KB/s, 13 seconds passed -... 85%, 595040 KB, 43586 KB/s, 13 seconds passed -... 85%, 595072 KB, 43587 KB/s, 13 seconds passed -... 85%, 595104 KB, 43588 KB/s, 13 seconds passed -... 85%, 595136 KB, 43590 KB/s, 13 seconds passed -... 85%, 595168 KB, 43592 KB/s, 13 seconds passed -... 85%, 595200 KB, 43593 KB/s, 13 seconds passed -... 85%, 595232 KB, 43595 KB/s, 13 seconds passed -... 85%, 595264 KB, 43596 KB/s, 13 seconds passed -... 85%, 595296 KB, 43598 KB/s, 13 seconds passed -... 85%, 595328 KB, 43599 KB/s, 13 seconds passed -... 85%, 595360 KB, 43600 KB/s, 13 seconds passed -... 85%, 595392 KB, 43602 KB/s, 13 seconds passed -... 85%, 595424 KB, 43603 KB/s, 13 seconds passed -... 85%, 595456 KB, 43592 KB/s, 13 seconds passed -... 85%, 595488 KB, 43593 KB/s, 13 seconds passed -... 85%, 595520 KB, 43595 KB/s, 13 seconds passed -... 85%, 595552 KB, 43597 KB/s, 13 seconds passed -... 85%, 595584 KB, 43598 KB/s, 13 seconds passed -... 85%, 595616 KB, 43600 KB/s, 13 seconds passed -... 85%, 595648 KB, 43601 KB/s, 13 seconds passed -... 85%, 595680 KB, 43603 KB/s, 13 seconds passed -... 85%, 595712 KB, 43604 KB/s, 13 seconds passed -... 85%, 595744 KB, 43606 KB/s, 13 seconds passed -... 85%, 595776 KB, 43607 KB/s, 13 seconds passed -... 85%, 595808 KB, 43609 KB/s, 13 seconds passed -... 85%, 595840 KB, 43610 KB/s, 13 seconds passed -... 85%, 595872 KB, 43611 KB/s, 13 seconds passed -... 85%, 595904 KB, 43613 KB/s, 13 seconds passed -... 85%, 595936 KB, 43614 KB/s, 13 seconds passed -... 85%, 595968 KB, 43616 KB/s, 13 seconds passed -... 85%, 596000 KB, 43617 KB/s, 13 seconds passed -... 85%, 596032 KB, 43619 KB/s, 13 seconds passed -... 85%, 596064 KB, 43620 KB/s, 13 seconds passed -... 85%, 596096 KB, 43622 KB/s, 13 seconds passed -... 85%, 596128 KB, 43623 KB/s, 13 seconds passed -... 85%, 596160 KB, 43625 KB/s, 13 seconds passed -... 85%, 596192 KB, 43626 KB/s, 13 seconds passed -... 85%, 596224 KB, 43627 KB/s, 13 seconds passed -... 85%, 596256 KB, 43629 KB/s, 13 seconds passed -... 85%, 596288 KB, 43630 KB/s, 13 seconds passed -... 85%, 596320 KB, 43632 KB/s, 13 seconds passed -... 85%, 596352 KB, 43633 KB/s, 13 seconds passed -... 85%, 596384 KB, 43634 KB/s, 13 seconds passed -... 85%, 596416 KB, 43636 KB/s, 13 seconds passed -... 85%, 596448 KB, 43637 KB/s, 13 seconds passed -... 85%, 596480 KB, 43639 KB/s, 13 seconds passed -... 85%, 596512 KB, 43640 KB/s, 13 seconds passed -... 85%, 596544 KB, 43642 KB/s, 13 seconds passed -... 85%, 596576 KB, 43643 KB/s, 13 seconds passed -... 85%, 596608 KB, 43645 KB/s, 13 seconds passed -... 85%, 596640 KB, 43646 KB/s, 13 seconds passed -... 85%, 596672 KB, 43648 KB/s, 13 seconds passed -... 85%, 596704 KB, 43649 KB/s, 13 seconds passed -... 85%, 596736 KB, 43651 KB/s, 13 seconds passed -... 85%, 596768 KB, 43652 KB/s, 13 seconds passed -... 85%, 596800 KB, 43654 KB/s, 13 seconds passed -... 85%, 596832 KB, 43655 KB/s, 13 seconds passed -... 85%, 596864 KB, 43656 KB/s, 13 seconds passed -... 85%, 596896 KB, 43658 KB/s, 13 seconds passed -... 85%, 596928 KB, 43660 KB/s, 13 seconds passed -... 85%, 596960 KB, 43661 KB/s, 13 seconds passed -... 85%, 596992 KB, 43662 KB/s, 13 seconds passed -... 85%, 597024 KB, 43663 KB/s, 13 seconds passed -... 85%, 597056 KB, 43664 KB/s, 13 seconds passed -... 85%, 597088 KB, 43666 KB/s, 13 seconds passed -... 85%, 597120 KB, 43667 KB/s, 13 seconds passed -... 85%, 597152 KB, 43669 KB/s, 13 seconds passed -... 85%, 597184 KB, 43671 KB/s, 13 seconds passed -... 85%, 597216 KB, 43672 KB/s, 13 seconds passed -... 85%, 597248 KB, 43674 KB/s, 13 seconds passed -... 85%, 597280 KB, 43675 KB/s, 13 seconds passed -... 85%, 597312 KB, 43677 KB/s, 13 seconds passed -... 85%, 597344 KB, 43678 KB/s, 13 seconds passed -... 85%, 597376 KB, 43680 KB/s, 13 seconds passed -... 85%, 597408 KB, 43681 KB/s, 13 seconds passed -... 85%, 597440 KB, 43682 KB/s, 13 seconds passed -... 85%, 597472 KB, 43684 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 85%, 597504 KB, 43685 KB/s, 13 seconds passed -... 85%, 597536 KB, 43687 KB/s, 13 seconds passed -... 85%, 597568 KB, 43688 KB/s, 13 seconds passed -... 85%, 597600 KB, 43690 KB/s, 13 seconds passed -... 85%, 597632 KB, 43691 KB/s, 13 seconds passed -... 85%, 597664 KB, 43693 KB/s, 13 seconds passed -... 85%, 597696 KB, 43694 KB/s, 13 seconds passed -... 85%, 597728 KB, 43696 KB/s, 13 seconds passed -... 85%, 597760 KB, 43697 KB/s, 13 seconds passed -... 85%, 597792 KB, 43698 KB/s, 13 seconds passed -... 85%, 597824 KB, 43700 KB/s, 13 seconds passed -... 85%, 597856 KB, 43701 KB/s, 13 seconds passed -... 85%, 597888 KB, 43703 KB/s, 13 seconds passed -... 85%, 597920 KB, 43704 KB/s, 13 seconds passed -... 85%, 597952 KB, 43706 KB/s, 13 seconds passed -... 85%, 597984 KB, 43707 KB/s, 13 seconds passed -... 85%, 598016 KB, 43709 KB/s, 13 seconds passed -... 85%, 598048 KB, 43710 KB/s, 13 seconds passed -... 85%, 598080 KB, 43711 KB/s, 13 seconds passed -... 85%, 598112 KB, 43713 KB/s, 13 seconds passed -... 86%, 598144 KB, 43714 KB/s, 13 seconds passed -... 86%, 598176 KB, 43716 KB/s, 13 seconds passed -... 86%, 598208 KB, 43717 KB/s, 13 seconds passed -... 86%, 598240 KB, 43709 KB/s, 13 seconds passed -... 86%, 598272 KB, 43710 KB/s, 13 seconds passed -... 86%, 598304 KB, 43711 KB/s, 13 seconds passed -... 86%, 598336 KB, 43712 KB/s, 13 seconds passed -... 86%, 598368 KB, 43714 KB/s, 13 seconds passed -... 86%, 598400 KB, 43716 KB/s, 13 seconds passed -... 86%, 598432 KB, 43718 KB/s, 13 seconds passed -... 86%, 598464 KB, 43719 KB/s, 13 seconds passed -... 86%, 598496 KB, 43721 KB/s, 13 seconds passed -... 86%, 598528 KB, 43722 KB/s, 13 seconds passed -... 86%, 598560 KB, 43724 KB/s, 13 seconds passed -... 86%, 598592 KB, 43725 KB/s, 13 seconds passed -... 86%, 598624 KB, 43727 KB/s, 13 seconds passed -... 86%, 598656 KB, 43728 KB/s, 13 seconds passed -... 86%, 598688 KB, 43730 KB/s, 13 seconds passed -... 86%, 598720 KB, 43731 KB/s, 13 seconds passed -... 86%, 598752 KB, 43733 KB/s, 13 seconds passed -... 86%, 598784 KB, 43734 KB/s, 13 seconds passed -... 86%, 598816 KB, 43735 KB/s, 13 seconds passed -... 86%, 598848 KB, 43737 KB/s, 13 seconds passed -... 86%, 598880 KB, 43738 KB/s, 13 seconds passed -... 86%, 598912 KB, 43739 KB/s, 13 seconds passed -... 86%, 598944 KB, 43741 KB/s, 13 seconds passed -... 86%, 598976 KB, 43742 KB/s, 13 seconds passed -... 86%, 599008 KB, 43744 KB/s, 13 seconds passed -... 86%, 599040 KB, 43712 KB/s, 13 seconds passed -... 86%, 599072 KB, 43713 KB/s, 13 seconds passed -... 86%, 599104 KB, 43715 KB/s, 13 seconds passed -... 86%, 599136 KB, 43716 KB/s, 13 seconds passed -... 86%, 599168 KB, 43717 KB/s, 13 seconds passed -... 86%, 599200 KB, 43716 KB/s, 13 seconds passed -... 86%, 599232 KB, 43717 KB/s, 13 seconds passed -... 86%, 599264 KB, 43718 KB/s, 13 seconds passed -... 86%, 599296 KB, 43719 KB/s, 13 seconds passed -... 86%, 599328 KB, 43720 KB/s, 13 seconds passed -... 86%, 599360 KB, 43721 KB/s, 13 seconds passed -... 86%, 599392 KB, 43722 KB/s, 13 seconds passed -... 86%, 599424 KB, 43723 KB/s, 13 seconds passed -... 86%, 599456 KB, 43725 KB/s, 13 seconds passed -... 86%, 599488 KB, 43726 KB/s, 13 seconds passed -... 86%, 599520 KB, 43727 KB/s, 13 seconds passed -... 86%, 599552 KB, 43728 KB/s, 13 seconds passed -... 86%, 599584 KB, 43729 KB/s, 13 seconds passed -... 86%, 599616 KB, 43730 KB/s, 13 seconds passed -... 86%, 599648 KB, 43732 KB/s, 13 seconds passed -... 86%, 599680 KB, 43733 KB/s, 13 seconds passed -... 86%, 599712 KB, 43734 KB/s, 13 seconds passed -... 86%, 599744 KB, 43735 KB/s, 13 seconds passed -... 86%, 599776 KB, 43736 KB/s, 13 seconds passed -... 86%, 599808 KB, 43737 KB/s, 13 seconds passed -... 86%, 599840 KB, 43739 KB/s, 13 seconds passed -... 86%, 599872 KB, 43740 KB/s, 13 seconds passed -... 86%, 599904 KB, 43741 KB/s, 13 seconds passed -... 86%, 599936 KB, 43742 KB/s, 13 seconds passed -... 86%, 599968 KB, 43743 KB/s, 13 seconds passed -... 86%, 600000 KB, 43744 KB/s, 13 seconds passed -... 86%, 600032 KB, 43746 KB/s, 13 seconds passed -... 86%, 600064 KB, 43747 KB/s, 13 seconds passed -... 86%, 600096 KB, 43748 KB/s, 13 seconds passed -... 86%, 600128 KB, 43749 KB/s, 13 seconds passed -... 86%, 600160 KB, 43750 KB/s, 13 seconds passed -... 86%, 600192 KB, 43752 KB/s, 13 seconds passed -... 86%, 600224 KB, 43753 KB/s, 13 seconds passed -... 86%, 600256 KB, 43754 KB/s, 13 seconds passed -... 86%, 600288 KB, 43755 KB/s, 13 seconds passed -... 86%, 600320 KB, 43756 KB/s, 13 seconds passed -... 86%, 600352 KB, 43758 KB/s, 13 seconds passed -... 86%, 600384 KB, 43759 KB/s, 13 seconds passed -... 86%, 600416 KB, 43760 KB/s, 13 seconds passed -... 86%, 600448 KB, 43761 KB/s, 13 seconds passed -... 86%, 600480 KB, 43762 KB/s, 13 seconds passed -... 86%, 600512 KB, 43763 KB/s, 13 seconds passed -... 86%, 600544 KB, 43765 KB/s, 13 seconds passed -... 86%, 600576 KB, 43766 KB/s, 13 seconds passed -... 86%, 600608 KB, 43768 KB/s, 13 seconds passed -... 86%, 600640 KB, 43769 KB/s, 13 seconds passed -... 86%, 600672 KB, 43771 KB/s, 13 seconds passed -... 86%, 600704 KB, 43773 KB/s, 13 seconds passed -... 86%, 600736 KB, 43774 KB/s, 13 seconds passed -... 86%, 600768 KB, 43776 KB/s, 13 seconds passed -... 86%, 600800 KB, 43777 KB/s, 13 seconds passed -... 86%, 600832 KB, 43779 KB/s, 13 seconds passed -... 86%, 600864 KB, 43781 KB/s, 13 seconds passed -... 86%, 600896 KB, 43782 KB/s, 13 seconds passed -... 86%, 600928 KB, 43784 KB/s, 13 seconds passed -... 86%, 600960 KB, 43786 KB/s, 13 seconds passed -... 86%, 600992 KB, 43787 KB/s, 13 seconds passed -... 86%, 601024 KB, 43789 KB/s, 13 seconds passed -... 86%, 601056 KB, 43791 KB/s, 13 seconds passed -... 86%, 601088 KB, 43793 KB/s, 13 seconds passed -... 86%, 601120 KB, 43794 KB/s, 13 seconds passed -... 86%, 601152 KB, 43796 KB/s, 13 seconds passed -... 86%, 601184 KB, 43798 KB/s, 13 seconds passed -... 86%, 601216 KB, 43799 KB/s, 13 seconds passed -... 86%, 601248 KB, 43801 KB/s, 13 seconds passed -... 86%, 601280 KB, 43802 KB/s, 13 seconds passed -... 86%, 601312 KB, 43804 KB/s, 13 seconds passed -... 86%, 601344 KB, 43805 KB/s, 13 seconds passed -... 86%, 601376 KB, 43806 KB/s, 13 seconds passed -... 86%, 601408 KB, 43808 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 86%, 601440 KB, 43809 KB/s, 13 seconds passed -... 86%, 601472 KB, 43811 KB/s, 13 seconds passed -... 86%, 601504 KB, 43812 KB/s, 13 seconds passed -... 86%, 601536 KB, 43813 KB/s, 13 seconds passed -... 86%, 601568 KB, 43815 KB/s, 13 seconds passed -... 86%, 601600 KB, 43816 KB/s, 13 seconds passed -... 86%, 601632 KB, 43818 KB/s, 13 seconds passed -... 86%, 601664 KB, 43819 KB/s, 13 seconds passed -... 86%, 601696 KB, 43821 KB/s, 13 seconds passed -... 86%, 601728 KB, 43822 KB/s, 13 seconds passed -... 86%, 601760 KB, 43824 KB/s, 13 seconds passed -... 86%, 601792 KB, 43825 KB/s, 13 seconds passed -... 86%, 601824 KB, 43827 KB/s, 13 seconds passed -... 86%, 601856 KB, 43828 KB/s, 13 seconds passed -... 86%, 601888 KB, 43829 KB/s, 13 seconds passed -... 86%, 601920 KB, 43831 KB/s, 13 seconds passed -... 86%, 601952 KB, 43832 KB/s, 13 seconds passed -... 86%, 601984 KB, 43834 KB/s, 13 seconds passed -... 86%, 602016 KB, 43835 KB/s, 13 seconds passed -... 86%, 602048 KB, 43837 KB/s, 13 seconds passed -... 86%, 602080 KB, 43838 KB/s, 13 seconds passed -... 86%, 602112 KB, 43840 KB/s, 13 seconds passed -... 86%, 602144 KB, 43841 KB/s, 13 seconds passed -... 86%, 602176 KB, 43843 KB/s, 13 seconds passed -... 86%, 602208 KB, 43844 KB/s, 13 seconds passed -... 86%, 602240 KB, 43845 KB/s, 13 seconds passed -... 86%, 602272 KB, 43847 KB/s, 13 seconds passed -... 86%, 602304 KB, 43848 KB/s, 13 seconds passed -... 86%, 602336 KB, 43850 KB/s, 13 seconds passed -... 86%, 602368 KB, 43851 KB/s, 13 seconds passed -... 86%, 602400 KB, 43853 KB/s, 13 seconds passed -... 86%, 602432 KB, 43854 KB/s, 13 seconds passed -... 86%, 602464 KB, 43855 KB/s, 13 seconds passed -... 86%, 602496 KB, 43857 KB/s, 13 seconds passed -... 86%, 602528 KB, 43858 KB/s, 13 seconds passed -... 86%, 602560 KB, 43860 KB/s, 13 seconds passed -... 86%, 602592 KB, 43861 KB/s, 13 seconds passed -... 86%, 602624 KB, 43863 KB/s, 13 seconds passed -... 86%, 602656 KB, 43864 KB/s, 13 seconds passed -... 86%, 602688 KB, 43866 KB/s, 13 seconds passed -... 86%, 602720 KB, 43867 KB/s, 13 seconds passed -... 86%, 602752 KB, 43868 KB/s, 13 seconds passed -... 86%, 602784 KB, 43870 KB/s, 13 seconds passed -... 86%, 602816 KB, 43871 KB/s, 13 seconds passed -... 86%, 602848 KB, 43873 KB/s, 13 seconds passed -... 86%, 602880 KB, 43874 KB/s, 13 seconds passed -... 86%, 602912 KB, 43876 KB/s, 13 seconds passed -... 86%, 602944 KB, 43877 KB/s, 13 seconds passed -... 86%, 602976 KB, 43878 KB/s, 13 seconds passed -... 86%, 603008 KB, 43880 KB/s, 13 seconds passed -... 86%, 603040 KB, 43881 KB/s, 13 seconds passed -... 86%, 603072 KB, 43883 KB/s, 13 seconds passed -... 86%, 603104 KB, 43884 KB/s, 13 seconds passed -... 86%, 603136 KB, 43886 KB/s, 13 seconds passed -... 86%, 603168 KB, 43887 KB/s, 13 seconds passed -... 86%, 603200 KB, 43888 KB/s, 13 seconds passed -... 86%, 603232 KB, 43890 KB/s, 13 seconds passed -... 86%, 603264 KB, 43891 KB/s, 13 seconds passed -... 86%, 603296 KB, 43893 KB/s, 13 seconds passed -... 86%, 603328 KB, 43894 KB/s, 13 seconds passed -... 86%, 603360 KB, 43896 KB/s, 13 seconds passed -... 86%, 603392 KB, 43897 KB/s, 13 seconds passed -... 86%, 603424 KB, 43898 KB/s, 13 seconds passed -... 86%, 603456 KB, 43900 KB/s, 13 seconds passed -... 86%, 603488 KB, 43901 KB/s, 13 seconds passed -... 86%, 603520 KB, 43902 KB/s, 13 seconds passed -... 86%, 603552 KB, 43904 KB/s, 13 seconds passed -... 86%, 603584 KB, 43906 KB/s, 13 seconds passed -... 86%, 603616 KB, 43907 KB/s, 13 seconds passed -... 86%, 603648 KB, 43908 KB/s, 13 seconds passed -... 86%, 603680 KB, 43910 KB/s, 13 seconds passed -... 86%, 603712 KB, 43911 KB/s, 13 seconds passed -... 86%, 603744 KB, 43913 KB/s, 13 seconds passed -... 86%, 603776 KB, 43914 KB/s, 13 seconds passed -... 86%, 603808 KB, 43916 KB/s, 13 seconds passed -... 86%, 603840 KB, 43917 KB/s, 13 seconds passed -... 86%, 603872 KB, 43919 KB/s, 13 seconds passed -... 86%, 603904 KB, 43920 KB/s, 13 seconds passed -... 86%, 603936 KB, 43922 KB/s, 13 seconds passed -... 86%, 603968 KB, 43923 KB/s, 13 seconds passed -... 86%, 604000 KB, 43924 KB/s, 13 seconds passed -... 86%, 604032 KB, 43926 KB/s, 13 seconds passed -... 86%, 604064 KB, 43927 KB/s, 13 seconds passed -... 86%, 604096 KB, 43929 KB/s, 13 seconds passed -... 86%, 604128 KB, 43930 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 86%, 604160 KB, 43842 KB/s, 13 seconds passed -... 86%, 604192 KB, 43843 KB/s, 13 seconds passed -... 86%, 604224 KB, 43844 KB/s, 13 seconds passed -... 86%, 604256 KB, 43845 KB/s, 13 seconds passed -... 86%, 604288 KB, 43795 KB/s, 13 seconds passed -... 86%, 604320 KB, 43796 KB/s, 13 seconds passed -... 86%, 604352 KB, 43797 KB/s, 13 seconds passed -... 86%, 604384 KB, 43798 KB/s, 13 seconds passed -... 86%, 604416 KB, 43799 KB/s, 13 seconds passed -... 86%, 604448 KB, 43800 KB/s, 13 seconds passed -... 86%, 604480 KB, 43802 KB/s, 13 seconds passed -... 86%, 604512 KB, 43803 KB/s, 13 seconds passed -... 86%, 604544 KB, 43804 KB/s, 13 seconds passed -... 86%, 604576 KB, 43805 KB/s, 13 seconds passed -... 86%, 604608 KB, 43806 KB/s, 13 seconds passed -... 86%, 604640 KB, 43807 KB/s, 13 seconds passed -... 86%, 604672 KB, 43808 KB/s, 13 seconds passed -... 86%, 604704 KB, 43810 KB/s, 13 seconds passed -... 86%, 604736 KB, 43811 KB/s, 13 seconds passed -... 86%, 604768 KB, 43812 KB/s, 13 seconds passed -... 86%, 604800 KB, 43813 KB/s, 13 seconds passed -... 86%, 604832 KB, 43814 KB/s, 13 seconds passed -... 86%, 604864 KB, 43815 KB/s, 13 seconds passed -... 86%, 604896 KB, 43817 KB/s, 13 seconds passed -... 86%, 604928 KB, 43818 KB/s, 13 seconds passed -... 86%, 604960 KB, 43819 KB/s, 13 seconds passed -... 86%, 604992 KB, 43820 KB/s, 13 seconds passed -... 86%, 605024 KB, 43821 KB/s, 13 seconds passed -... 86%, 605056 KB, 43822 KB/s, 13 seconds passed -... 86%, 605088 KB, 43823 KB/s, 13 seconds passed -... 87%, 605120 KB, 43825 KB/s, 13 seconds passed -... 87%, 605152 KB, 43826 KB/s, 13 seconds passed -... 87%, 605184 KB, 43827 KB/s, 13 seconds passed -... 87%, 605216 KB, 43829 KB/s, 13 seconds passed -... 87%, 605248 KB, 43830 KB/s, 13 seconds passed -... 87%, 605280 KB, 43832 KB/s, 13 seconds passed -... 87%, 605312 KB, 43833 KB/s, 13 seconds passed -... 87%, 605344 KB, 43834 KB/s, 13 seconds passed -... 87%, 605376 KB, 43836 KB/s, 13 seconds passed -... 87%, 605408 KB, 43831 KB/s, 13 seconds passed -... 87%, 605440 KB, 43832 KB/s, 13 seconds passed -... 87%, 605472 KB, 43833 KB/s, 13 seconds passed -... 87%, 605504 KB, 43834 KB/s, 13 seconds passed -... 87%, 605536 KB, 43835 KB/s, 13 seconds passed -... 87%, 605568 KB, 43836 KB/s, 13 seconds passed -... 87%, 605600 KB, 43838 KB/s, 13 seconds passed -... 87%, 605632 KB, 43839 KB/s, 13 seconds passed -... 87%, 605664 KB, 43840 KB/s, 13 seconds passed -... 87%, 605696 KB, 43842 KB/s, 13 seconds passed -... 87%, 605728 KB, 43843 KB/s, 13 seconds passed -... 87%, 605760 KB, 43844 KB/s, 13 seconds passed -... 87%, 605792 KB, 43846 KB/s, 13 seconds passed -... 87%, 605824 KB, 43847 KB/s, 13 seconds passed -... 87%, 605856 KB, 43849 KB/s, 13 seconds passed -... 87%, 605888 KB, 43850 KB/s, 13 seconds passed -... 87%, 605920 KB, 43851 KB/s, 13 seconds passed -... 87%, 605952 KB, 43853 KB/s, 13 seconds passed -... 87%, 605984 KB, 43854 KB/s, 13 seconds passed -... 87%, 606016 KB, 43855 KB/s, 13 seconds passed -... 87%, 606048 KB, 43857 KB/s, 13 seconds passed -... 87%, 606080 KB, 43858 KB/s, 13 seconds passed -... 87%, 606112 KB, 43860 KB/s, 13 seconds passed -... 87%, 606144 KB, 43861 KB/s, 13 seconds passed -... 87%, 606176 KB, 43862 KB/s, 13 seconds passed -... 87%, 606208 KB, 43864 KB/s, 13 seconds passed -... 87%, 606240 KB, 43865 KB/s, 13 seconds passed -... 87%, 606272 KB, 43866 KB/s, 13 seconds passed -... 87%, 606304 KB, 43868 KB/s, 13 seconds passed -... 87%, 606336 KB, 43869 KB/s, 13 seconds passed -... 87%, 606368 KB, 43870 KB/s, 13 seconds passed -... 87%, 606400 KB, 43872 KB/s, 13 seconds passed -... 87%, 606432 KB, 43873 KB/s, 13 seconds passed -... 87%, 606464 KB, 43875 KB/s, 13 seconds passed -... 87%, 606496 KB, 43876 KB/s, 13 seconds passed -... 87%, 606528 KB, 43877 KB/s, 13 seconds passed -... 87%, 606560 KB, 43879 KB/s, 13 seconds passed -... 87%, 606592 KB, 43880 KB/s, 13 seconds passed -... 87%, 606624 KB, 43882 KB/s, 13 seconds passed -... 87%, 606656 KB, 43883 KB/s, 13 seconds passed -... 87%, 606688 KB, 43885 KB/s, 13 seconds passed -... 87%, 606720 KB, 43887 KB/s, 13 seconds passed -... 87%, 606752 KB, 43888 KB/s, 13 seconds passed -... 87%, 606784 KB, 43890 KB/s, 13 seconds passed -... 87%, 606816 KB, 43891 KB/s, 13 seconds passed -... 87%, 606848 KB, 43893 KB/s, 13 seconds passed -... 87%, 606880 KB, 43895 KB/s, 13 seconds passed -... 87%, 606912 KB, 43896 KB/s, 13 seconds passed -... 87%, 606944 KB, 43898 KB/s, 13 seconds passed -... 87%, 606976 KB, 43900 KB/s, 13 seconds passed -... 87%, 607008 KB, 43902 KB/s, 13 seconds passed -... 87%, 607040 KB, 43903 KB/s, 13 seconds passed -... 87%, 607072 KB, 43905 KB/s, 13 seconds passed -... 87%, 607104 KB, 43906 KB/s, 13 seconds passed -... 87%, 607136 KB, 43908 KB/s, 13 seconds passed -... 87%, 607168 KB, 43909 KB/s, 13 seconds passed -... 87%, 607200 KB, 43911 KB/s, 13 seconds passed -... 87%, 607232 KB, 43912 KB/s, 13 seconds passed -... 87%, 607264 KB, 43914 KB/s, 13 seconds passed -... 87%, 607296 KB, 43915 KB/s, 13 seconds passed -... 87%, 607328 KB, 43917 KB/s, 13 seconds passed -... 87%, 607360 KB, 43918 KB/s, 13 seconds passed -... 87%, 607392 KB, 43919 KB/s, 13 seconds passed -... 87%, 607424 KB, 43921 KB/s, 13 seconds passed -... 87%, 607456 KB, 43922 KB/s, 13 seconds passed -... 87%, 607488 KB, 43924 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 87%, 607520 KB, 43925 KB/s, 13 seconds passed -... 87%, 607552 KB, 43927 KB/s, 13 seconds passed -... 87%, 607584 KB, 43928 KB/s, 13 seconds passed -... 87%, 607616 KB, 43929 KB/s, 13 seconds passed -... 87%, 607648 KB, 43931 KB/s, 13 seconds passed -... 87%, 607680 KB, 43932 KB/s, 13 seconds passed -... 87%, 607712 KB, 43934 KB/s, 13 seconds passed -... 87%, 607744 KB, 43935 KB/s, 13 seconds passed -... 87%, 607776 KB, 43937 KB/s, 13 seconds passed -... 87%, 607808 KB, 43938 KB/s, 13 seconds passed -... 87%, 607840 KB, 43939 KB/s, 13 seconds passed -... 87%, 607872 KB, 43941 KB/s, 13 seconds passed -... 87%, 607904 KB, 43942 KB/s, 13 seconds passed -... 87%, 607936 KB, 43944 KB/s, 13 seconds passed -... 87%, 607968 KB, 43945 KB/s, 13 seconds passed -... 87%, 608000 KB, 43947 KB/s, 13 seconds passed -... 87%, 608032 KB, 43948 KB/s, 13 seconds passed -... 87%, 608064 KB, 43949 KB/s, 13 seconds passed -... 87%, 608096 KB, 43950 KB/s, 13 seconds passed -... 87%, 608128 KB, 43952 KB/s, 13 seconds passed -... 87%, 608160 KB, 43954 KB/s, 13 seconds passed -... 87%, 608192 KB, 43955 KB/s, 13 seconds passed -... 87%, 608224 KB, 43956 KB/s, 13 seconds passed -... 87%, 608256 KB, 43958 KB/s, 13 seconds passed -... 87%, 608288 KB, 43959 KB/s, 13 seconds passed -... 87%, 608320 KB, 43958 KB/s, 13 seconds passed -... 87%, 608352 KB, 43959 KB/s, 13 seconds passed -... 87%, 608384 KB, 43960 KB/s, 13 seconds passed -... 87%, 608416 KB, 43962 KB/s, 13 seconds passed -... 87%, 608448 KB, 43963 KB/s, 13 seconds passed -... 87%, 608480 KB, 43965 KB/s, 13 seconds passed -... 87%, 608512 KB, 43966 KB/s, 13 seconds passed -... 87%, 608544 KB, 43967 KB/s, 13 seconds passed -... 87%, 608576 KB, 43969 KB/s, 13 seconds passed -... 87%, 608608 KB, 43970 KB/s, 13 seconds passed -... 87%, 608640 KB, 43972 KB/s, 13 seconds passed -... 87%, 608672 KB, 43973 KB/s, 13 seconds passed -... 87%, 608704 KB, 43975 KB/s, 13 seconds passed -... 87%, 608736 KB, 43976 KB/s, 13 seconds passed -... 87%, 608768 KB, 43977 KB/s, 13 seconds passed -... 87%, 608800 KB, 43979 KB/s, 13 seconds passed -... 87%, 608832 KB, 43980 KB/s, 13 seconds passed -... 87%, 608864 KB, 43982 KB/s, 13 seconds passed -... 87%, 608896 KB, 43983 KB/s, 13 seconds passed -... 87%, 608928 KB, 43985 KB/s, 13 seconds passed -... 87%, 608960 KB, 43986 KB/s, 13 seconds passed -... 87%, 608992 KB, 43987 KB/s, 13 seconds passed -... 87%, 609024 KB, 43989 KB/s, 13 seconds passed -... 87%, 609056 KB, 43990 KB/s, 13 seconds passed -... 87%, 609088 KB, 43992 KB/s, 13 seconds passed -... 87%, 609120 KB, 43993 KB/s, 13 seconds passed -... 87%, 609152 KB, 43995 KB/s, 13 seconds passed -... 87%, 609184 KB, 43996 KB/s, 13 seconds passed -... 87%, 609216 KB, 43998 KB/s, 13 seconds passed -... 87%, 609248 KB, 43999 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 87%, 609280 KB, 43811 KB/s, 13 seconds passed -... 87%, 609312 KB, 43812 KB/s, 13 seconds passed -... 87%, 609344 KB, 43813 KB/s, 13 seconds passed -... 87%, 609376 KB, 43814 KB/s, 13 seconds passed -... 87%, 609408 KB, 43815 KB/s, 13 seconds passed -... 87%, 609440 KB, 43816 KB/s, 13 seconds passed -... 87%, 609472 KB, 43817 KB/s, 13 seconds passed -... 87%, 609504 KB, 43812 KB/s, 13 seconds passed -... 87%, 609536 KB, 43813 KB/s, 13 seconds passed -... 87%, 609568 KB, 43814 KB/s, 13 seconds passed -... 87%, 609600 KB, 43815 KB/s, 13 seconds passed -... 87%, 609632 KB, 43816 KB/s, 13 seconds passed -... 87%, 609664 KB, 43817 KB/s, 13 seconds passed -... 87%, 609696 KB, 43818 KB/s, 13 seconds passed -... 87%, 609728 KB, 43819 KB/s, 13 seconds passed -... 87%, 609760 KB, 43820 KB/s, 13 seconds passed -... 87%, 609792 KB, 43821 KB/s, 13 seconds passed -... 87%, 609824 KB, 43823 KB/s, 13 seconds passed -... 87%, 609856 KB, 43824 KB/s, 13 seconds passed -... 87%, 609888 KB, 43825 KB/s, 13 seconds passed -... 87%, 609920 KB, 43826 KB/s, 13 seconds passed -... 87%, 609952 KB, 43827 KB/s, 13 seconds passed -... 87%, 609984 KB, 43828 KB/s, 13 seconds passed -... 87%, 610016 KB, 43829 KB/s, 13 seconds passed -... 87%, 610048 KB, 43830 KB/s, 13 seconds passed -... 87%, 610080 KB, 43831 KB/s, 13 seconds passed -... 87%, 610112 KB, 43832 KB/s, 13 seconds passed -... 87%, 610144 KB, 43834 KB/s, 13 seconds passed -... 87%, 610176 KB, 43835 KB/s, 13 seconds passed -... 87%, 610208 KB, 43836 KB/s, 13 seconds passed -... 87%, 610240 KB, 43837 KB/s, 13 seconds passed -... 87%, 610272 KB, 43838 KB/s, 13 seconds passed -... 87%, 610304 KB, 43839 KB/s, 13 seconds passed -... 87%, 610336 KB, 43840 KB/s, 13 seconds passed -... 87%, 610368 KB, 43841 KB/s, 13 seconds passed -... 87%, 610400 KB, 43842 KB/s, 13 seconds passed -... 87%, 610432 KB, 43844 KB/s, 13 seconds passed -... 87%, 610464 KB, 43845 KB/s, 13 seconds passed -... 87%, 610496 KB, 43846 KB/s, 13 seconds passed -... 87%, 610528 KB, 43847 KB/s, 13 seconds passed -... 87%, 610560 KB, 43848 KB/s, 13 seconds passed -... 87%, 610592 KB, 43849 KB/s, 13 seconds passed -... 87%, 610624 KB, 43850 KB/s, 13 seconds passed -... 87%, 610656 KB, 43851 KB/s, 13 seconds passed -... 87%, 610688 KB, 43853 KB/s, 13 seconds passed -... 87%, 610720 KB, 43854 KB/s, 13 seconds passed -... 87%, 610752 KB, 43856 KB/s, 13 seconds passed -... 87%, 610784 KB, 43857 KB/s, 13 seconds passed -... 87%, 610816 KB, 43859 KB/s, 13 seconds passed -... 87%, 610848 KB, 43861 KB/s, 13 seconds passed -... 87%, 610880 KB, 43862 KB/s, 13 seconds passed -... 87%, 610912 KB, 43864 KB/s, 13 seconds passed -... 87%, 610944 KB, 43865 KB/s, 13 seconds passed -... 87%, 610976 KB, 43867 KB/s, 13 seconds passed -... 87%, 611008 KB, 43868 KB/s, 13 seconds passed -... 87%, 611040 KB, 43870 KB/s, 13 seconds passed -... 87%, 611072 KB, 43871 KB/s, 13 seconds passed -... 87%, 611104 KB, 43873 KB/s, 13 seconds passed -... 87%, 611136 KB, 43874 KB/s, 13 seconds passed -... 87%, 611168 KB, 43876 KB/s, 13 seconds passed -... 87%, 611200 KB, 43877 KB/s, 13 seconds passed -... 87%, 611232 KB, 43879 KB/s, 13 seconds passed -... 87%, 611264 KB, 43880 KB/s, 13 seconds passed -... 87%, 611296 KB, 43882 KB/s, 13 seconds passed -... 87%, 611328 KB, 43883 KB/s, 13 seconds passed -... 87%, 611360 KB, 43885 KB/s, 13 seconds passed -... 87%, 611392 KB, 43886 KB/s, 13 seconds passed -... 87%, 611424 KB, 43888 KB/s, 13 seconds passed -... 87%, 611456 KB, 43889 KB/s, 13 seconds passed -... 87%, 611488 KB, 43891 KB/s, 13 seconds passed -... 87%, 611520 KB, 43893 KB/s, 13 seconds passed -... 87%, 611552 KB, 43894 KB/s, 13 seconds passed -... 87%, 611584 KB, 43896 KB/s, 13 seconds passed -... 87%, 611616 KB, 43897 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 87%, 611648 KB, 43899 KB/s, 13 seconds passed -... 87%, 611680 KB, 43900 KB/s, 13 seconds passed -... 87%, 611712 KB, 43902 KB/s, 13 seconds passed -... 87%, 611744 KB, 43903 KB/s, 13 seconds passed -... 87%, 611776 KB, 43905 KB/s, 13 seconds passed -... 87%, 611808 KB, 43906 KB/s, 13 seconds passed -... 87%, 611840 KB, 43908 KB/s, 13 seconds passed -... 87%, 611872 KB, 43909 KB/s, 13 seconds passed -... 87%, 611904 KB, 43911 KB/s, 13 seconds passed -... 87%, 611936 KB, 43912 KB/s, 13 seconds passed -... 87%, 611968 KB, 43914 KB/s, 13 seconds passed -... 87%, 612000 KB, 43916 KB/s, 13 seconds passed -... 87%, 612032 KB, 43917 KB/s, 13 seconds passed -... 88%, 612064 KB, 43919 KB/s, 13 seconds passed -... 88%, 612096 KB, 43921 KB/s, 13 seconds passed -... 88%, 612128 KB, 43923 KB/s, 13 seconds passed -... 88%, 612160 KB, 43924 KB/s, 13 seconds passed -... 88%, 612192 KB, 43926 KB/s, 13 seconds passed -... 88%, 612224 KB, 43928 KB/s, 13 seconds passed -... 88%, 612256 KB, 43930 KB/s, 13 seconds passed -... 88%, 612288 KB, 43932 KB/s, 13 seconds passed -... 88%, 612320 KB, 43933 KB/s, 13 seconds passed -... 88%, 612352 KB, 43935 KB/s, 13 seconds passed -... 88%, 612384 KB, 43937 KB/s, 13 seconds passed -... 88%, 612416 KB, 43939 KB/s, 13 seconds passed -... 88%, 612448 KB, 43940 KB/s, 13 seconds passed -... 88%, 612480 KB, 43942 KB/s, 13 seconds passed -... 88%, 612512 KB, 43944 KB/s, 13 seconds passed -... 88%, 612544 KB, 43946 KB/s, 13 seconds passed -... 88%, 612576 KB, 43948 KB/s, 13 seconds passed -... 88%, 612608 KB, 43949 KB/s, 13 seconds passed -... 88%, 612640 KB, 43951 KB/s, 13 seconds passed -... 88%, 612672 KB, 43953 KB/s, 13 seconds passed -... 88%, 612704 KB, 43955 KB/s, 13 seconds passed -... 88%, 612736 KB, 43956 KB/s, 13 seconds passed -... 88%, 612768 KB, 43957 KB/s, 13 seconds passed -... 88%, 612800 KB, 43959 KB/s, 13 seconds passed -... 88%, 612832 KB, 43960 KB/s, 13 seconds passed -... 88%, 612864 KB, 43962 KB/s, 13 seconds passed -... 88%, 612896 KB, 43963 KB/s, 13 seconds passed -... 88%, 612928 KB, 43964 KB/s, 13 seconds passed -... 88%, 612960 KB, 43966 KB/s, 13 seconds passed -... 88%, 612992 KB, 43967 KB/s, 13 seconds passed -... 88%, 613024 KB, 43968 KB/s, 13 seconds passed -... 88%, 613056 KB, 43970 KB/s, 13 seconds passed -... 88%, 613088 KB, 43971 KB/s, 13 seconds passed -... 88%, 613120 KB, 43973 KB/s, 13 seconds passed -... 88%, 613152 KB, 43974 KB/s, 13 seconds passed -... 88%, 613184 KB, 43972 KB/s, 13 seconds passed -... 88%, 613216 KB, 43973 KB/s, 13 seconds passed -... 88%, 613248 KB, 43975 KB/s, 13 seconds passed -... 88%, 613280 KB, 43976 KB/s, 13 seconds passed -... 88%, 613312 KB, 43975 KB/s, 13 seconds passed -... 88%, 613344 KB, 43976 KB/s, 13 seconds passed -... 88%, 613376 KB, 43977 KB/s, 13 seconds passed -... 88%, 613408 KB, 43978 KB/s, 13 seconds passed -... 88%, 613440 KB, 43979 KB/s, 13 seconds passed -... 88%, 613472 KB, 43981 KB/s, 13 seconds passed -... 88%, 613504 KB, 43983 KB/s, 13 seconds passed -... 88%, 613536 KB, 43984 KB/s, 13 seconds passed -... 88%, 613568 KB, 43986 KB/s, 13 seconds passed -... 88%, 613600 KB, 43987 KB/s, 13 seconds passed -... 88%, 613632 KB, 43987 KB/s, 13 seconds passed -... 88%, 613664 KB, 43989 KB/s, 13 seconds passed -... 88%, 613696 KB, 43990 KB/s, 13 seconds passed -... 88%, 613728 KB, 43992 KB/s, 13 seconds passed -... 88%, 613760 KB, 43993 KB/s, 13 seconds passed -... 88%, 613792 KB, 43994 KB/s, 13 seconds passed -... 88%, 613824 KB, 43996 KB/s, 13 seconds passed -... 88%, 613856 KB, 43997 KB/s, 13 seconds passed -... 88%, 613888 KB, 43998 KB/s, 13 seconds passed -... 88%, 613920 KB, 43999 KB/s, 13 seconds passed -... 88%, 613952 KB, 44001 KB/s, 13 seconds passed -... 88%, 613984 KB, 44003 KB/s, 13 seconds passed -... 88%, 614016 KB, 44004 KB/s, 13 seconds passed -... 88%, 614048 KB, 44006 KB/s, 13 seconds passed -... 88%, 614080 KB, 44007 KB/s, 13 seconds passed -... 88%, 614112 KB, 44008 KB/s, 13 seconds passed -... 88%, 614144 KB, 44010 KB/s, 13 seconds passed -... 88%, 614176 KB, 44011 KB/s, 13 seconds passed -... 88%, 614208 KB, 44013 KB/s, 13 seconds passed -... 88%, 614240 KB, 44014 KB/s, 13 seconds passed -... 88%, 614272 KB, 44015 KB/s, 13 seconds passed -... 88%, 614304 KB, 44017 KB/s, 13 seconds passed -... 88%, 614336 KB, 44018 KB/s, 13 seconds passed -... 88%, 614368 KB, 44020 KB/s, 13 seconds passed - -.. parsed-literal:: - - ... 88%, 614400 KB, 43904 KB/s, 13 seconds passed -... 88%, 614432 KB, 43905 KB/s, 13 seconds passed -... 88%, 614464 KB, 43906 KB/s, 13 seconds passed -... 88%, 614496 KB, 43908 KB/s, 13 seconds passed -... 88%, 614528 KB, 43861 KB/s, 14 seconds passed -... 88%, 614560 KB, 43861 KB/s, 14 seconds passed -... 88%, 614592 KB, 43862 KB/s, 14 seconds passed -... 88%, 614624 KB, 43863 KB/s, 14 seconds passed -... 88%, 614656 KB, 43861 KB/s, 14 seconds passed -... 88%, 614688 KB, 43862 KB/s, 14 seconds passed -... 88%, 614720 KB, 43863 KB/s, 14 seconds passed -... 88%, 614752 KB, 43865 KB/s, 14 seconds passed -... 88%, 614784 KB, 43866 KB/s, 14 seconds passed -... 88%, 614816 KB, 43867 KB/s, 14 seconds passed -... 88%, 614848 KB, 43868 KB/s, 14 seconds passed -... 88%, 614880 KB, 43869 KB/s, 14 seconds passed -... 88%, 614912 KB, 43870 KB/s, 14 seconds passed -... 88%, 614944 KB, 43871 KB/s, 14 seconds passed -... 88%, 614976 KB, 43872 KB/s, 14 seconds passed -... 88%, 615008 KB, 43873 KB/s, 14 seconds passed -... 88%, 615040 KB, 43874 KB/s, 14 seconds passed -... 88%, 615072 KB, 43875 KB/s, 14 seconds passed -... 88%, 615104 KB, 43876 KB/s, 14 seconds passed -... 88%, 615136 KB, 43878 KB/s, 14 seconds passed -... 88%, 615168 KB, 43879 KB/s, 14 seconds passed -... 88%, 615200 KB, 43880 KB/s, 14 seconds passed -... 88%, 615232 KB, 43881 KB/s, 14 seconds passed -... 88%, 615264 KB, 43882 KB/s, 14 seconds passed -... 88%, 615296 KB, 43883 KB/s, 14 seconds passed -... 88%, 615328 KB, 43884 KB/s, 14 seconds passed -... 88%, 615360 KB, 43885 KB/s, 14 seconds passed -... 88%, 615392 KB, 43886 KB/s, 14 seconds passed -... 88%, 615424 KB, 43888 KB/s, 14 seconds passed -... 88%, 615456 KB, 43889 KB/s, 14 seconds passed -... 88%, 615488 KB, 43890 KB/s, 14 seconds passed -... 88%, 615520 KB, 43891 KB/s, 14 seconds passed -... 88%, 615552 KB, 43892 KB/s, 14 seconds passed -... 88%, 615584 KB, 43893 KB/s, 14 seconds passed -... 88%, 615616 KB, 43894 KB/s, 14 seconds passed -... 88%, 615648 KB, 43895 KB/s, 14 seconds passed -... 88%, 615680 KB, 43896 KB/s, 14 seconds passed -... 88%, 615712 KB, 43897 KB/s, 14 seconds passed -... 88%, 615744 KB, 43899 KB/s, 14 seconds passed -... 88%, 615776 KB, 43900 KB/s, 14 seconds passed -... 88%, 615808 KB, 43901 KB/s, 14 seconds passed -... 88%, 615840 KB, 43903 KB/s, 14 seconds passed -... 88%, 615872 KB, 43904 KB/s, 14 seconds passed -... 88%, 615904 KB, 43906 KB/s, 14 seconds passed -... 88%, 615936 KB, 43907 KB/s, 14 seconds passed -... 88%, 615968 KB, 43909 KB/s, 14 seconds passed -... 88%, 616000 KB, 43910 KB/s, 14 seconds passed -... 88%, 616032 KB, 43912 KB/s, 14 seconds passed -... 88%, 616064 KB, 43913 KB/s, 14 seconds passed -... 88%, 616096 KB, 43915 KB/s, 14 seconds passed -... 88%, 616128 KB, 43916 KB/s, 14 seconds passed -... 88%, 616160 KB, 43918 KB/s, 14 seconds passed -... 88%, 616192 KB, 43919 KB/s, 14 seconds passed -... 88%, 616224 KB, 43921 KB/s, 14 seconds passed -... 88%, 616256 KB, 43922 KB/s, 14 seconds passed -... 88%, 616288 KB, 43924 KB/s, 14 seconds passed -... 88%, 616320 KB, 43926 KB/s, 14 seconds passed -... 88%, 616352 KB, 43927 KB/s, 14 seconds passed -... 88%, 616384 KB, 43929 KB/s, 14 seconds passed -... 88%, 616416 KB, 43930 KB/s, 14 seconds passed -... 88%, 616448 KB, 43932 KB/s, 14 seconds passed -... 88%, 616480 KB, 43933 KB/s, 14 seconds passed -... 88%, 616512 KB, 43935 KB/s, 14 seconds passed -... 88%, 616544 KB, 43936 KB/s, 14 seconds passed -... 88%, 616576 KB, 43938 KB/s, 14 seconds passed -... 88%, 616608 KB, 43939 KB/s, 14 seconds passed -... 88%, 616640 KB, 43941 KB/s, 14 seconds passed -... 88%, 616672 KB, 43942 KB/s, 14 seconds passed -... 88%, 616704 KB, 43944 KB/s, 14 seconds passed -... 88%, 616736 KB, 43945 KB/s, 14 seconds passed -... 88%, 616768 KB, 43947 KB/s, 14 seconds passed -... 88%, 616800 KB, 43948 KB/s, 14 seconds passed -... 88%, 616832 KB, 43950 KB/s, 14 seconds passed -... 88%, 616864 KB, 43951 KB/s, 14 seconds passed -... 88%, 616896 KB, 43953 KB/s, 14 seconds passed -... 88%, 616928 KB, 43955 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 88%, 616960 KB, 43956 KB/s, 14 seconds passed -... 88%, 616992 KB, 43958 KB/s, 14 seconds passed -... 88%, 617024 KB, 43959 KB/s, 14 seconds passed -... 88%, 617056 KB, 43961 KB/s, 14 seconds passed -... 88%, 617088 KB, 43962 KB/s, 14 seconds passed -... 88%, 617120 KB, 43964 KB/s, 14 seconds passed -... 88%, 617152 KB, 43965 KB/s, 14 seconds passed -... 88%, 617184 KB, 43967 KB/s, 14 seconds passed -... 88%, 617216 KB, 43969 KB/s, 14 seconds passed -... 88%, 617248 KB, 43971 KB/s, 14 seconds passed -... 88%, 617280 KB, 43972 KB/s, 14 seconds passed -... 88%, 617312 KB, 43974 KB/s, 14 seconds passed -... 88%, 617344 KB, 43976 KB/s, 14 seconds passed -... 88%, 617376 KB, 43978 KB/s, 14 seconds passed -... 88%, 617408 KB, 43979 KB/s, 14 seconds passed -... 88%, 617440 KB, 43981 KB/s, 14 seconds passed -... 88%, 617472 KB, 43983 KB/s, 14 seconds passed -... 88%, 617504 KB, 43985 KB/s, 14 seconds passed -... 88%, 617536 KB, 43987 KB/s, 14 seconds passed -... 88%, 617568 KB, 43988 KB/s, 14 seconds passed -... 88%, 617600 KB, 43990 KB/s, 14 seconds passed -... 88%, 617632 KB, 43992 KB/s, 14 seconds passed -... 88%, 617664 KB, 43994 KB/s, 14 seconds passed -... 88%, 617696 KB, 43995 KB/s, 14 seconds passed -... 88%, 617728 KB, 43997 KB/s, 14 seconds passed -... 88%, 617760 KB, 43999 KB/s, 14 seconds passed -... 88%, 617792 KB, 44000 KB/s, 14 seconds passed -... 88%, 617824 KB, 44001 KB/s, 14 seconds passed -... 88%, 617856 KB, 44003 KB/s, 14 seconds passed -... 88%, 617888 KB, 44004 KB/s, 14 seconds passed -... 88%, 617920 KB, 44006 KB/s, 14 seconds passed -... 88%, 617952 KB, 44007 KB/s, 14 seconds passed -... 88%, 617984 KB, 44008 KB/s, 14 seconds passed -... 88%, 618016 KB, 44010 KB/s, 14 seconds passed -... 88%, 618048 KB, 44011 KB/s, 14 seconds passed -... 88%, 618080 KB, 44012 KB/s, 14 seconds passed -... 88%, 618112 KB, 44013 KB/s, 14 seconds passed -... 88%, 618144 KB, 44015 KB/s, 14 seconds passed -... 88%, 618176 KB, 44016 KB/s, 14 seconds passed -... 88%, 618208 KB, 44011 KB/s, 14 seconds passed -... 88%, 618240 KB, 44013 KB/s, 14 seconds passed -... 88%, 618272 KB, 44014 KB/s, 14 seconds passed -... 88%, 618304 KB, 44015 KB/s, 14 seconds passed -... 88%, 618336 KB, 44016 KB/s, 14 seconds passed -... 88%, 618368 KB, 44017 KB/s, 14 seconds passed -... 88%, 618400 KB, 44019 KB/s, 14 seconds passed -... 88%, 618432 KB, 44020 KB/s, 14 seconds passed -... 88%, 618464 KB, 44021 KB/s, 14 seconds passed -... 88%, 618496 KB, 44022 KB/s, 14 seconds passed -... 88%, 618528 KB, 44023 KB/s, 14 seconds passed -... 88%, 618560 KB, 44025 KB/s, 14 seconds passed -... 88%, 618592 KB, 44026 KB/s, 14 seconds passed -... 88%, 618624 KB, 44027 KB/s, 14 seconds passed -... 88%, 618656 KB, 44028 KB/s, 14 seconds passed -... 88%, 618688 KB, 44030 KB/s, 14 seconds passed -... 88%, 618720 KB, 44031 KB/s, 14 seconds passed -... 88%, 618752 KB, 44032 KB/s, 14 seconds passed -... 88%, 618784 KB, 44033 KB/s, 14 seconds passed -... 88%, 618816 KB, 44034 KB/s, 14 seconds passed -... 88%, 618848 KB, 44036 KB/s, 14 seconds passed -... 88%, 618880 KB, 44037 KB/s, 14 seconds passed -... 88%, 618912 KB, 44038 KB/s, 14 seconds passed -... 88%, 618944 KB, 44039 KB/s, 14 seconds passed -... 88%, 618976 KB, 44040 KB/s, 14 seconds passed -... 89%, 619008 KB, 44042 KB/s, 14 seconds passed -... 89%, 619040 KB, 44043 KB/s, 14 seconds passed -... 89%, 619072 KB, 44044 KB/s, 14 seconds passed -... 89%, 619104 KB, 44045 KB/s, 14 seconds passed -... 89%, 619136 KB, 44047 KB/s, 14 seconds passed -... 89%, 619168 KB, 44048 KB/s, 14 seconds passed -... 89%, 619200 KB, 44049 KB/s, 14 seconds passed -... 89%, 619232 KB, 44051 KB/s, 14 seconds passed -... 89%, 619264 KB, 44052 KB/s, 14 seconds passed -... 89%, 619296 KB, 44054 KB/s, 14 seconds passed -... 89%, 619328 KB, 44056 KB/s, 14 seconds passed -... 89%, 619360 KB, 44057 KB/s, 14 seconds passed -... 89%, 619392 KB, 44059 KB/s, 14 seconds passed -... 89%, 619424 KB, 44061 KB/s, 14 seconds passed -... 89%, 619456 KB, 44062 KB/s, 14 seconds passed -... 89%, 619488 KB, 44064 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 89%, 619520 KB, 43931 KB/s, 14 seconds passed -... 89%, 619552 KB, 43932 KB/s, 14 seconds passed -... 89%, 619584 KB, 43933 KB/s, 14 seconds passed -... 89%, 619616 KB, 43934 KB/s, 14 seconds passed -... 89%, 619648 KB, 43935 KB/s, 14 seconds passed -... 89%, 619680 KB, 43936 KB/s, 14 seconds passed -... 89%, 619712 KB, 43936 KB/s, 14 seconds passed -... 89%, 619744 KB, 43937 KB/s, 14 seconds passed -... 89%, 619776 KB, 43938 KB/s, 14 seconds passed -... 89%, 619808 KB, 43939 KB/s, 14 seconds passed -... 89%, 619840 KB, 43931 KB/s, 14 seconds passed -... 89%, 619872 KB, 43933 KB/s, 14 seconds passed -... 89%, 619904 KB, 43934 KB/s, 14 seconds passed -... 89%, 619936 KB, 43935 KB/s, 14 seconds passed -... 89%, 619968 KB, 43936 KB/s, 14 seconds passed -... 89%, 620000 KB, 43937 KB/s, 14 seconds passed -... 89%, 620032 KB, 43938 KB/s, 14 seconds passed -... 89%, 620064 KB, 43939 KB/s, 14 seconds passed -... 89%, 620096 KB, 43940 KB/s, 14 seconds passed -... 89%, 620128 KB, 43941 KB/s, 14 seconds passed -... 89%, 620160 KB, 43942 KB/s, 14 seconds passed -... 89%, 620192 KB, 43943 KB/s, 14 seconds passed -... 89%, 620224 KB, 43944 KB/s, 14 seconds passed -... 89%, 620256 KB, 43945 KB/s, 14 seconds passed -... 89%, 620288 KB, 43947 KB/s, 14 seconds passed -... 89%, 620320 KB, 43948 KB/s, 14 seconds passed -... 89%, 620352 KB, 43949 KB/s, 14 seconds passed -... 89%, 620384 KB, 43950 KB/s, 14 seconds passed -... 89%, 620416 KB, 43951 KB/s, 14 seconds passed -... 89%, 620448 KB, 43952 KB/s, 14 seconds passed -... 89%, 620480 KB, 43953 KB/s, 14 seconds passed -... 89%, 620512 KB, 43954 KB/s, 14 seconds passed -... 89%, 620544 KB, 43956 KB/s, 14 seconds passed -... 89%, 620576 KB, 43957 KB/s, 14 seconds passed -... 89%, 620608 KB, 43958 KB/s, 14 seconds passed -... 89%, 620640 KB, 43959 KB/s, 14 seconds passed -... 89%, 620672 KB, 43960 KB/s, 14 seconds passed -... 89%, 620704 KB, 43962 KB/s, 14 seconds passed -... 89%, 620736 KB, 43963 KB/s, 14 seconds passed -... 89%, 620768 KB, 43964 KB/s, 14 seconds passed -... 89%, 620800 KB, 43966 KB/s, 14 seconds passed -... 89%, 620832 KB, 43967 KB/s, 14 seconds passed -... 89%, 620864 KB, 43968 KB/s, 14 seconds passed -... 89%, 620896 KB, 43969 KB/s, 14 seconds passed -... 89%, 620928 KB, 43971 KB/s, 14 seconds passed -... 89%, 620960 KB, 43972 KB/s, 14 seconds passed -... 89%, 620992 KB, 43973 KB/s, 14 seconds passed -... 89%, 621024 KB, 43974 KB/s, 14 seconds passed -... 89%, 621056 KB, 43975 KB/s, 14 seconds passed -... 89%, 621088 KB, 43977 KB/s, 14 seconds passed -... 89%, 621120 KB, 43978 KB/s, 14 seconds passed -... 89%, 621152 KB, 43979 KB/s, 14 seconds passed -... 89%, 621184 KB, 43981 KB/s, 14 seconds passed -... 89%, 621216 KB, 43982 KB/s, 14 seconds passed -... 89%, 621248 KB, 43983 KB/s, 14 seconds passed -... 89%, 621280 KB, 43984 KB/s, 14 seconds passed -... 89%, 621312 KB, 43985 KB/s, 14 seconds passed -... 89%, 621344 KB, 43987 KB/s, 14 seconds passed -... 89%, 621376 KB, 43988 KB/s, 14 seconds passed -... 89%, 621408 KB, 43989 KB/s, 14 seconds passed -... 89%, 621440 KB, 43991 KB/s, 14 seconds passed -... 89%, 621472 KB, 43992 KB/s, 14 seconds passed -... 89%, 621504 KB, 43993 KB/s, 14 seconds passed -... 89%, 621536 KB, 43994 KB/s, 14 seconds passed -... 89%, 621568 KB, 43996 KB/s, 14 seconds passed -... 89%, 621600 KB, 43997 KB/s, 14 seconds passed -... 89%, 621632 KB, 43999 KB/s, 14 seconds passed -... 89%, 621664 KB, 44001 KB/s, 14 seconds passed -... 89%, 621696 KB, 44002 KB/s, 14 seconds passed -... 89%, 621728 KB, 44004 KB/s, 14 seconds passed -... 89%, 621760 KB, 44005 KB/s, 14 seconds passed -... 89%, 621792 KB, 44007 KB/s, 14 seconds passed -... 89%, 621824 KB, 44009 KB/s, 14 seconds passed -... 89%, 621856 KB, 44010 KB/s, 14 seconds passed -... 89%, 621888 KB, 44012 KB/s, 14 seconds passed -... 89%, 621920 KB, 44013 KB/s, 14 seconds passed -... 89%, 621952 KB, 44015 KB/s, 14 seconds passed -... 89%, 621984 KB, 44017 KB/s, 14 seconds passed -... 89%, 622016 KB, 44018 KB/s, 14 seconds passed -... 89%, 622048 KB, 44020 KB/s, 14 seconds passed -... 89%, 622080 KB, 44021 KB/s, 14 seconds passed -... 89%, 622112 KB, 44023 KB/s, 14 seconds passed -... 89%, 622144 KB, 44025 KB/s, 14 seconds passed -... 89%, 622176 KB, 44026 KB/s, 14 seconds passed -... 89%, 622208 KB, 44028 KB/s, 14 seconds passed -... 89%, 622240 KB, 44029 KB/s, 14 seconds passed -... 89%, 622272 KB, 44031 KB/s, 14 seconds passed -... 89%, 622304 KB, 44033 KB/s, 14 seconds passed -... 89%, 622336 KB, 44034 KB/s, 14 seconds passed -... 89%, 622368 KB, 44036 KB/s, 14 seconds passed -... 89%, 622400 KB, 44037 KB/s, 14 seconds passed -... 89%, 622432 KB, 44039 KB/s, 14 seconds passed -... 89%, 622464 KB, 44041 KB/s, 14 seconds passed -... 89%, 622496 KB, 44042 KB/s, 14 seconds passed -... 89%, 622528 KB, 44044 KB/s, 14 seconds passed -... 89%, 622560 KB, 44045 KB/s, 14 seconds passed -... 89%, 622592 KB, 44047 KB/s, 14 seconds passed -... 89%, 622624 KB, 44049 KB/s, 14 seconds passed -... 89%, 622656 KB, 44050 KB/s, 14 seconds passed -... 89%, 622688 KB, 44052 KB/s, 14 seconds passed -... 89%, 622720 KB, 44053 KB/s, 14 seconds passed -... 89%, 622752 KB, 44055 KB/s, 14 seconds passed -... 89%, 622784 KB, 44057 KB/s, 14 seconds passed -... 89%, 622816 KB, 44058 KB/s, 14 seconds passed -... 89%, 622848 KB, 44060 KB/s, 14 seconds passed -... 89%, 622880 KB, 44061 KB/s, 14 seconds passed -... 89%, 622912 KB, 44063 KB/s, 14 seconds passed -... 89%, 622944 KB, 44065 KB/s, 14 seconds passed -... 89%, 622976 KB, 44066 KB/s, 14 seconds passed -... 89%, 623008 KB, 44068 KB/s, 14 seconds passed -... 89%, 623040 KB, 44070 KB/s, 14 seconds passed -... 89%, 623072 KB, 44072 KB/s, 14 seconds passed -... 89%, 623104 KB, 44073 KB/s, 14 seconds passed -... 89%, 623136 KB, 44075 KB/s, 14 seconds passed -... 89%, 623168 KB, 44077 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 89%, 623200 KB, 44078 KB/s, 14 seconds passed -... 89%, 623232 KB, 44080 KB/s, 14 seconds passed -... 89%, 623264 KB, 44081 KB/s, 14 seconds passed -... 89%, 623296 KB, 44083 KB/s, 14 seconds passed -... 89%, 623328 KB, 44084 KB/s, 14 seconds passed -... 89%, 623360 KB, 44085 KB/s, 14 seconds passed -... 89%, 623392 KB, 44087 KB/s, 14 seconds passed -... 89%, 623424 KB, 44088 KB/s, 14 seconds passed -... 89%, 623456 KB, 44089 KB/s, 14 seconds passed -... 89%, 623488 KB, 44091 KB/s, 14 seconds passed -... 89%, 623520 KB, 44092 KB/s, 14 seconds passed -... 89%, 623552 KB, 44082 KB/s, 14 seconds passed -... 89%, 623584 KB, 44083 KB/s, 14 seconds passed -... 89%, 623616 KB, 44085 KB/s, 14 seconds passed -... 89%, 623648 KB, 44086 KB/s, 14 seconds passed -... 89%, 623680 KB, 44088 KB/s, 14 seconds passed -... 89%, 623712 KB, 44089 KB/s, 14 seconds passed -... 89%, 623744 KB, 44090 KB/s, 14 seconds passed -... 89%, 623776 KB, 44091 KB/s, 14 seconds passed -... 89%, 623808 KB, 44093 KB/s, 14 seconds passed -... 89%, 623840 KB, 44095 KB/s, 14 seconds passed -... 89%, 623872 KB, 44096 KB/s, 14 seconds passed -... 89%, 623904 KB, 44097 KB/s, 14 seconds passed -... 89%, 623936 KB, 44098 KB/s, 14 seconds passed -... 89%, 623968 KB, 44100 KB/s, 14 seconds passed -... 89%, 624000 KB, 44101 KB/s, 14 seconds passed -... 89%, 624032 KB, 44102 KB/s, 14 seconds passed -... 89%, 624064 KB, 44104 KB/s, 14 seconds passed -... 89%, 624096 KB, 44105 KB/s, 14 seconds passed -... 89%, 624128 KB, 44107 KB/s, 14 seconds passed -... 89%, 624160 KB, 44108 KB/s, 14 seconds passed -... 89%, 624192 KB, 44109 KB/s, 14 seconds passed -... 89%, 624224 KB, 44111 KB/s, 14 seconds passed -... 89%, 624256 KB, 44112 KB/s, 14 seconds passed -... 89%, 624288 KB, 44114 KB/s, 14 seconds passed -... 89%, 624320 KB, 44115 KB/s, 14 seconds passed -... 89%, 624352 KB, 44117 KB/s, 14 seconds passed -... 89%, 624384 KB, 44118 KB/s, 14 seconds passed -... 89%, 624416 KB, 44119 KB/s, 14 seconds passed -... 89%, 624448 KB, 44121 KB/s, 14 seconds passed -... 89%, 624480 KB, 44122 KB/s, 14 seconds passed -... 89%, 624512 KB, 44124 KB/s, 14 seconds passed -... 89%, 624544 KB, 44125 KB/s, 14 seconds passed -... 89%, 624576 KB, 44126 KB/s, 14 seconds passed -... 89%, 624608 KB, 44128 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 89%, 624640 KB, 43927 KB/s, 14 seconds passed -... 89%, 624672 KB, 43927 KB/s, 14 seconds passed -... 89%, 624704 KB, 43928 KB/s, 14 seconds passed -... 89%, 624736 KB, 43930 KB/s, 14 seconds passed -... 89%, 624768 KB, 43913 KB/s, 14 seconds passed -... 89%, 624800 KB, 43914 KB/s, 14 seconds passed -... 89%, 624832 KB, 43913 KB/s, 14 seconds passed -... 89%, 624864 KB, 43914 KB/s, 14 seconds passed -... 89%, 624896 KB, 43915 KB/s, 14 seconds passed -... 89%, 624928 KB, 43916 KB/s, 14 seconds passed -... 89%, 624960 KB, 43917 KB/s, 14 seconds passed -... 89%, 624992 KB, 43918 KB/s, 14 seconds passed -... 89%, 625024 KB, 43919 KB/s, 14 seconds passed -... 89%, 625056 KB, 43920 KB/s, 14 seconds passed -... 89%, 625088 KB, 43921 KB/s, 14 seconds passed -... 89%, 625120 KB, 43922 KB/s, 14 seconds passed -... 89%, 625152 KB, 43923 KB/s, 14 seconds passed -... 89%, 625184 KB, 43924 KB/s, 14 seconds passed -... 89%, 625216 KB, 43925 KB/s, 14 seconds passed -... 89%, 625248 KB, 43926 KB/s, 14 seconds passed -... 89%, 625280 KB, 43928 KB/s, 14 seconds passed -... 89%, 625312 KB, 43929 KB/s, 14 seconds passed -... 89%, 625344 KB, 43930 KB/s, 14 seconds passed -... 89%, 625376 KB, 43931 KB/s, 14 seconds passed -... 89%, 625408 KB, 43932 KB/s, 14 seconds passed -... 89%, 625440 KB, 43933 KB/s, 14 seconds passed -... 89%, 625472 KB, 43934 KB/s, 14 seconds passed -... 89%, 625504 KB, 43935 KB/s, 14 seconds passed -... 89%, 625536 KB, 43936 KB/s, 14 seconds passed -... 89%, 625568 KB, 43938 KB/s, 14 seconds passed -... 89%, 625600 KB, 43939 KB/s, 14 seconds passed -... 89%, 625632 KB, 43941 KB/s, 14 seconds passed -... 89%, 625664 KB, 43942 KB/s, 14 seconds passed -... 89%, 625696 KB, 43944 KB/s, 14 seconds passed -... 89%, 625728 KB, 43945 KB/s, 14 seconds passed -... 89%, 625760 KB, 43943 KB/s, 14 seconds passed -... 89%, 625792 KB, 43944 KB/s, 14 seconds passed -... 89%, 625824 KB, 43946 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 89%, 625856 KB, 43947 KB/s, 14 seconds passed -... 89%, 625888 KB, 43948 KB/s, 14 seconds passed -... 89%, 625920 KB, 43950 KB/s, 14 seconds passed -... 89%, 625952 KB, 43951 KB/s, 14 seconds passed -... 90%, 625984 KB, 43953 KB/s, 14 seconds passed -... 90%, 626016 KB, 43954 KB/s, 14 seconds passed -... 90%, 626048 KB, 43955 KB/s, 14 seconds passed -... 90%, 626080 KB, 43957 KB/s, 14 seconds passed -... 90%, 626112 KB, 43958 KB/s, 14 seconds passed -... 90%, 626144 KB, 43960 KB/s, 14 seconds passed -... 90%, 626176 KB, 43961 KB/s, 14 seconds passed -... 90%, 626208 KB, 43962 KB/s, 14 seconds passed -... 90%, 626240 KB, 43964 KB/s, 14 seconds passed -... 90%, 626272 KB, 43965 KB/s, 14 seconds passed -... 90%, 626304 KB, 43966 KB/s, 14 seconds passed -... 90%, 626336 KB, 43968 KB/s, 14 seconds passed -... 90%, 626368 KB, 43969 KB/s, 14 seconds passed -... 90%, 626400 KB, 43971 KB/s, 14 seconds passed -... 90%, 626432 KB, 43972 KB/s, 14 seconds passed -... 90%, 626464 KB, 43973 KB/s, 14 seconds passed -... 90%, 626496 KB, 43975 KB/s, 14 seconds passed -... 90%, 626528 KB, 43976 KB/s, 14 seconds passed -... 90%, 626560 KB, 43978 KB/s, 14 seconds passed -... 90%, 626592 KB, 43979 KB/s, 14 seconds passed -... 90%, 626624 KB, 43981 KB/s, 14 seconds passed -... 90%, 626656 KB, 43982 KB/s, 14 seconds passed -... 90%, 626688 KB, 43983 KB/s, 14 seconds passed -... 90%, 626720 KB, 43985 KB/s, 14 seconds passed -... 90%, 626752 KB, 43986 KB/s, 14 seconds passed -... 90%, 626784 KB, 43987 KB/s, 14 seconds passed -... 90%, 626816 KB, 43989 KB/s, 14 seconds passed -... 90%, 626848 KB, 43990 KB/s, 14 seconds passed -... 90%, 626880 KB, 43992 KB/s, 14 seconds passed -... 90%, 626912 KB, 43993 KB/s, 14 seconds passed -... 90%, 626944 KB, 43994 KB/s, 14 seconds passed -... 90%, 626976 KB, 43996 KB/s, 14 seconds passed -... 90%, 627008 KB, 43997 KB/s, 14 seconds passed -... 90%, 627040 KB, 43999 KB/s, 14 seconds passed -... 90%, 627072 KB, 44000 KB/s, 14 seconds passed -... 90%, 627104 KB, 44001 KB/s, 14 seconds passed -... 90%, 627136 KB, 44003 KB/s, 14 seconds passed -... 90%, 627168 KB, 44004 KB/s, 14 seconds passed -... 90%, 627200 KB, 44005 KB/s, 14 seconds passed -... 90%, 627232 KB, 44007 KB/s, 14 seconds passed -... 90%, 627264 KB, 44008 KB/s, 14 seconds passed -... 90%, 627296 KB, 44010 KB/s, 14 seconds passed -... 90%, 627328 KB, 44011 KB/s, 14 seconds passed -... 90%, 627360 KB, 44012 KB/s, 14 seconds passed -... 90%, 627392 KB, 44014 KB/s, 14 seconds passed -... 90%, 627424 KB, 44015 KB/s, 14 seconds passed -... 90%, 627456 KB, 44016 KB/s, 14 seconds passed -... 90%, 627488 KB, 44018 KB/s, 14 seconds passed -... 90%, 627520 KB, 44019 KB/s, 14 seconds passed -... 90%, 627552 KB, 44020 KB/s, 14 seconds passed -... 90%, 627584 KB, 44022 KB/s, 14 seconds passed -... 90%, 627616 KB, 44023 KB/s, 14 seconds passed -... 90%, 627648 KB, 44025 KB/s, 14 seconds passed -... 90%, 627680 KB, 44026 KB/s, 14 seconds passed -... 90%, 627712 KB, 44028 KB/s, 14 seconds passed -... 90%, 627744 KB, 44029 KB/s, 14 seconds passed -... 90%, 627776 KB, 44030 KB/s, 14 seconds passed -... 90%, 627808 KB, 44032 KB/s, 14 seconds passed -... 90%, 627840 KB, 44033 KB/s, 14 seconds passed -... 90%, 627872 KB, 44034 KB/s, 14 seconds passed -... 90%, 627904 KB, 44036 KB/s, 14 seconds passed -... 90%, 627936 KB, 44037 KB/s, 14 seconds passed -... 90%, 627968 KB, 44039 KB/s, 14 seconds passed -... 90%, 628000 KB, 44040 KB/s, 14 seconds passed -... 90%, 628032 KB, 44041 KB/s, 14 seconds passed -... 90%, 628064 KB, 44043 KB/s, 14 seconds passed -... 90%, 628096 KB, 44044 KB/s, 14 seconds passed -... 90%, 628128 KB, 44046 KB/s, 14 seconds passed -... 90%, 628160 KB, 44047 KB/s, 14 seconds passed -... 90%, 628192 KB, 44048 KB/s, 14 seconds passed -... 90%, 628224 KB, 44050 KB/s, 14 seconds passed -... 90%, 628256 KB, 44051 KB/s, 14 seconds passed -... 90%, 628288 KB, 44053 KB/s, 14 seconds passed -... 90%, 628320 KB, 44054 KB/s, 14 seconds passed -... 90%, 628352 KB, 44055 KB/s, 14 seconds passed -... 90%, 628384 KB, 44057 KB/s, 14 seconds passed -... 90%, 628416 KB, 44058 KB/s, 14 seconds passed -... 90%, 628448 KB, 44060 KB/s, 14 seconds passed -... 90%, 628480 KB, 44061 KB/s, 14 seconds passed -... 90%, 628512 KB, 44060 KB/s, 14 seconds passed -... 90%, 628544 KB, 44061 KB/s, 14 seconds passed -... 90%, 628576 KB, 44062 KB/s, 14 seconds passed -... 90%, 628608 KB, 44064 KB/s, 14 seconds passed -... 90%, 628640 KB, 44065 KB/s, 14 seconds passed -... 90%, 628672 KB, 44061 KB/s, 14 seconds passed -... 90%, 628704 KB, 44061 KB/s, 14 seconds passed -... 90%, 628736 KB, 44063 KB/s, 14 seconds passed -... 90%, 628768 KB, 44064 KB/s, 14 seconds passed -... 90%, 628800 KB, 44065 KB/s, 14 seconds passed -... 90%, 628832 KB, 44066 KB/s, 14 seconds passed -... 90%, 628864 KB, 44067 KB/s, 14 seconds passed -... 90%, 628896 KB, 44068 KB/s, 14 seconds passed -... 90%, 628928 KB, 44069 KB/s, 14 seconds passed -... 90%, 628960 KB, 44070 KB/s, 14 seconds passed -... 90%, 628992 KB, 44072 KB/s, 14 seconds passed -... 90%, 629024 KB, 44073 KB/s, 14 seconds passed -... 90%, 629056 KB, 44074 KB/s, 14 seconds passed -... 90%, 629088 KB, 44075 KB/s, 14 seconds passed -... 90%, 629120 KB, 44076 KB/s, 14 seconds passed -... 90%, 629152 KB, 44077 KB/s, 14 seconds passed -... 90%, 629184 KB, 44078 KB/s, 14 seconds passed -... 90%, 629216 KB, 44079 KB/s, 14 seconds passed -... 90%, 629248 KB, 44080 KB/s, 14 seconds passed -... 90%, 629280 KB, 44082 KB/s, 14 seconds passed -... 90%, 629312 KB, 44083 KB/s, 14 seconds passed -... 90%, 629344 KB, 44084 KB/s, 14 seconds passed -... 90%, 629376 KB, 44085 KB/s, 14 seconds passed -... 90%, 629408 KB, 44086 KB/s, 14 seconds passed -... 90%, 629440 KB, 44087 KB/s, 14 seconds passed -... 90%, 629472 KB, 44088 KB/s, 14 seconds passed -... 90%, 629504 KB, 44089 KB/s, 14 seconds passed -... 90%, 629536 KB, 44091 KB/s, 14 seconds passed -... 90%, 629568 KB, 44092 KB/s, 14 seconds passed -... 90%, 629600 KB, 44094 KB/s, 14 seconds passed -... 90%, 629632 KB, 44096 KB/s, 14 seconds passed -... 90%, 629664 KB, 44097 KB/s, 14 seconds passed -... 90%, 629696 KB, 44099 KB/s, 14 seconds passed -... 90%, 629728 KB, 44101 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 90%, 629760 KB, 43957 KB/s, 14 seconds passed -... 90%, 629792 KB, 43958 KB/s, 14 seconds passed -... 90%, 629824 KB, 43958 KB/s, 14 seconds passed -... 90%, 629856 KB, 43959 KB/s, 14 seconds passed -... 90%, 629888 KB, 43960 KB/s, 14 seconds passed -... 90%, 629920 KB, 43961 KB/s, 14 seconds passed -... 90%, 629952 KB, 43962 KB/s, 14 seconds passed -... 90%, 629984 KB, 43964 KB/s, 14 seconds passed -... 90%, 630016 KB, 43965 KB/s, 14 seconds passed -... 90%, 630048 KB, 43966 KB/s, 14 seconds passed -... 90%, 630080 KB, 43967 KB/s, 14 seconds passed -... 90%, 630112 KB, 43968 KB/s, 14 seconds passed -... 90%, 630144 KB, 43969 KB/s, 14 seconds passed -... 90%, 630176 KB, 43970 KB/s, 14 seconds passed -... 90%, 630208 KB, 43971 KB/s, 14 seconds passed -... 90%, 630240 KB, 43972 KB/s, 14 seconds passed -... 90%, 630272 KB, 43973 KB/s, 14 seconds passed -... 90%, 630304 KB, 43974 KB/s, 14 seconds passed -... 90%, 630336 KB, 43975 KB/s, 14 seconds passed -... 90%, 630368 KB, 43976 KB/s, 14 seconds passed -... 90%, 630400 KB, 43978 KB/s, 14 seconds passed -... 90%, 630432 KB, 43979 KB/s, 14 seconds passed -... 90%, 630464 KB, 43980 KB/s, 14 seconds passed -... 90%, 630496 KB, 43981 KB/s, 14 seconds passed -... 90%, 630528 KB, 43982 KB/s, 14 seconds passed -... 90%, 630560 KB, 43983 KB/s, 14 seconds passed -... 90%, 630592 KB, 43984 KB/s, 14 seconds passed -... 90%, 630624 KB, 43985 KB/s, 14 seconds passed -... 90%, 630656 KB, 43986 KB/s, 14 seconds passed -... 90%, 630688 KB, 43987 KB/s, 14 seconds passed -... 90%, 630720 KB, 43988 KB/s, 14 seconds passed -... 90%, 630752 KB, 43989 KB/s, 14 seconds passed -... 90%, 630784 KB, 43990 KB/s, 14 seconds passed -... 90%, 630816 KB, 43991 KB/s, 14 seconds passed -... 90%, 630848 KB, 43993 KB/s, 14 seconds passed -... 90%, 630880 KB, 43994 KB/s, 14 seconds passed -... 90%, 630912 KB, 43996 KB/s, 14 seconds passed -... 90%, 630944 KB, 43998 KB/s, 14 seconds passed -... 90%, 630976 KB, 43999 KB/s, 14 seconds passed -... 90%, 631008 KB, 44001 KB/s, 14 seconds passed -... 90%, 631040 KB, 44002 KB/s, 14 seconds passed -... 90%, 631072 KB, 44004 KB/s, 14 seconds passed -... 90%, 631104 KB, 44006 KB/s, 14 seconds passed -... 90%, 631136 KB, 44007 KB/s, 14 seconds passed -... 90%, 631168 KB, 44009 KB/s, 14 seconds passed -... 90%, 631200 KB, 44011 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 90%, 631232 KB, 44005 KB/s, 14 seconds passed -... 90%, 631264 KB, 44006 KB/s, 14 seconds passed -... 90%, 631296 KB, 44007 KB/s, 14 seconds passed -... 90%, 631328 KB, 44009 KB/s, 14 seconds passed -... 90%, 631360 KB, 44010 KB/s, 14 seconds passed -... 90%, 631392 KB, 44012 KB/s, 14 seconds passed -... 90%, 631424 KB, 44013 KB/s, 14 seconds passed -... 90%, 631456 KB, 44014 KB/s, 14 seconds passed -... 90%, 631488 KB, 44016 KB/s, 14 seconds passed -... 90%, 631520 KB, 44017 KB/s, 14 seconds passed -... 90%, 631552 KB, 44018 KB/s, 14 seconds passed -... 90%, 631584 KB, 44020 KB/s, 14 seconds passed -... 90%, 631616 KB, 44021 KB/s, 14 seconds passed -... 90%, 631648 KB, 44023 KB/s, 14 seconds passed -... 90%, 631680 KB, 44024 KB/s, 14 seconds passed -... 90%, 631712 KB, 44026 KB/s, 14 seconds passed -... 90%, 631744 KB, 44027 KB/s, 14 seconds passed -... 90%, 631776 KB, 44028 KB/s, 14 seconds passed -... 90%, 631808 KB, 44029 KB/s, 14 seconds passed -... 90%, 631840 KB, 44031 KB/s, 14 seconds passed -... 90%, 631872 KB, 44032 KB/s, 14 seconds passed -... 90%, 631904 KB, 44034 KB/s, 14 seconds passed -... 90%, 631936 KB, 44035 KB/s, 14 seconds passed -... 90%, 631968 KB, 44036 KB/s, 14 seconds passed -... 90%, 632000 KB, 44038 KB/s, 14 seconds passed -... 90%, 632032 KB, 44039 KB/s, 14 seconds passed -... 90%, 632064 KB, 44040 KB/s, 14 seconds passed -... 90%, 632096 KB, 44042 KB/s, 14 seconds passed -... 90%, 632128 KB, 44043 KB/s, 14 seconds passed -... 90%, 632160 KB, 44045 KB/s, 14 seconds passed -... 90%, 632192 KB, 44046 KB/s, 14 seconds passed -... 90%, 632224 KB, 44048 KB/s, 14 seconds passed -... 90%, 632256 KB, 44049 KB/s, 14 seconds passed -... 90%, 632288 KB, 44050 KB/s, 14 seconds passed -... 90%, 632320 KB, 44052 KB/s, 14 seconds passed -... 90%, 632352 KB, 44053 KB/s, 14 seconds passed -... 90%, 632384 KB, 44054 KB/s, 14 seconds passed -... 90%, 632416 KB, 44055 KB/s, 14 seconds passed -... 90%, 632448 KB, 44057 KB/s, 14 seconds passed -... 90%, 632480 KB, 44058 KB/s, 14 seconds passed -... 90%, 632512 KB, 44060 KB/s, 14 seconds passed -... 90%, 632544 KB, 44061 KB/s, 14 seconds passed -... 90%, 632576 KB, 44062 KB/s, 14 seconds passed -... 90%, 632608 KB, 44064 KB/s, 14 seconds passed -... 90%, 632640 KB, 44065 KB/s, 14 seconds passed -... 90%, 632672 KB, 44067 KB/s, 14 seconds passed -... 90%, 632704 KB, 44068 KB/s, 14 seconds passed -... 90%, 632736 KB, 44069 KB/s, 14 seconds passed -... 90%, 632768 KB, 44071 KB/s, 14 seconds passed -... 90%, 632800 KB, 44072 KB/s, 14 seconds passed -... 90%, 632832 KB, 44073 KB/s, 14 seconds passed -... 90%, 632864 KB, 44075 KB/s, 14 seconds passed -... 90%, 632896 KB, 44076 KB/s, 14 seconds passed -... 91%, 632928 KB, 44078 KB/s, 14 seconds passed -... 91%, 632960 KB, 44079 KB/s, 14 seconds passed -... 91%, 632992 KB, 44080 KB/s, 14 seconds passed -... 91%, 633024 KB, 44082 KB/s, 14 seconds passed -... 91%, 633056 KB, 44083 KB/s, 14 seconds passed -... 91%, 633088 KB, 44084 KB/s, 14 seconds passed -... 91%, 633120 KB, 44086 KB/s, 14 seconds passed -... 91%, 633152 KB, 44087 KB/s, 14 seconds passed -... 91%, 633184 KB, 44088 KB/s, 14 seconds passed -... 91%, 633216 KB, 44089 KB/s, 14 seconds passed -... 91%, 633248 KB, 44091 KB/s, 14 seconds passed -... 91%, 633280 KB, 44093 KB/s, 14 seconds passed -... 91%, 633312 KB, 44094 KB/s, 14 seconds passed -... 91%, 633344 KB, 44095 KB/s, 14 seconds passed -... 91%, 633376 KB, 44096 KB/s, 14 seconds passed -... 91%, 633408 KB, 44097 KB/s, 14 seconds passed -... 91%, 633440 KB, 44098 KB/s, 14 seconds passed -... 91%, 633472 KB, 44100 KB/s, 14 seconds passed -... 91%, 633504 KB, 44102 KB/s, 14 seconds passed -... 91%, 633536 KB, 44103 KB/s, 14 seconds passed -... 91%, 633568 KB, 44105 KB/s, 14 seconds passed -... 91%, 633600 KB, 44106 KB/s, 14 seconds passed -... 91%, 633632 KB, 44108 KB/s, 14 seconds passed -... 91%, 633664 KB, 44109 KB/s, 14 seconds passed -... 91%, 633696 KB, 44110 KB/s, 14 seconds passed -... 91%, 633728 KB, 44112 KB/s, 14 seconds passed -... 91%, 633760 KB, 44113 KB/s, 14 seconds passed -... 91%, 633792 KB, 44114 KB/s, 14 seconds passed -... 91%, 633824 KB, 44116 KB/s, 14 seconds passed -... 91%, 633856 KB, 44117 KB/s, 14 seconds passed -... 91%, 633888 KB, 44119 KB/s, 14 seconds passed -... 91%, 633920 KB, 44120 KB/s, 14 seconds passed -... 91%, 633952 KB, 44121 KB/s, 14 seconds passed -... 91%, 633984 KB, 44122 KB/s, 14 seconds passed -... 91%, 634016 KB, 44124 KB/s, 14 seconds passed -... 91%, 634048 KB, 44125 KB/s, 14 seconds passed -... 91%, 634080 KB, 44127 KB/s, 14 seconds passed -... 91%, 634112 KB, 44128 KB/s, 14 seconds passed -... 91%, 634144 KB, 44127 KB/s, 14 seconds passed -... 91%, 634176 KB, 44129 KB/s, 14 seconds passed -... 91%, 634208 KB, 44130 KB/s, 14 seconds passed -... 91%, 634240 KB, 44131 KB/s, 14 seconds passed -... 91%, 634272 KB, 44133 KB/s, 14 seconds passed -... 91%, 634304 KB, 44134 KB/s, 14 seconds passed -... 91%, 634336 KB, 44135 KB/s, 14 seconds passed -... 91%, 634368 KB, 44137 KB/s, 14 seconds passed -... 91%, 634400 KB, 44138 KB/s, 14 seconds passed -... 91%, 634432 KB, 44139 KB/s, 14 seconds passed -... 91%, 634464 KB, 44141 KB/s, 14 seconds passed -... 91%, 634496 KB, 44142 KB/s, 14 seconds passed -... 91%, 634528 KB, 44143 KB/s, 14 seconds passed -... 91%, 634560 KB, 44144 KB/s, 14 seconds passed -... 91%, 634592 KB, 44146 KB/s, 14 seconds passed -... 91%, 634624 KB, 44147 KB/s, 14 seconds passed -... 91%, 634656 KB, 44148 KB/s, 14 seconds passed -... 91%, 634688 KB, 44150 KB/s, 14 seconds passed -... 91%, 634720 KB, 44151 KB/s, 14 seconds passed -... 91%, 634752 KB, 44152 KB/s, 14 seconds passed -... 91%, 634784 KB, 44154 KB/s, 14 seconds passed -... 91%, 634816 KB, 44155 KB/s, 14 seconds passed -... 91%, 634848 KB, 44157 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 91%, 634880 KB, 44011 KB/s, 14 seconds passed -... 91%, 634912 KB, 44011 KB/s, 14 seconds passed -... 91%, 634944 KB, 44012 KB/s, 14 seconds passed -... 91%, 634976 KB, 44013 KB/s, 14 seconds passed -... 91%, 635008 KB, 44014 KB/s, 14 seconds passed -... 91%, 635040 KB, 44010 KB/s, 14 seconds passed -... 91%, 635072 KB, 44011 KB/s, 14 seconds passed -... 91%, 635104 KB, 44012 KB/s, 14 seconds passed -... 91%, 635136 KB, 44013 KB/s, 14 seconds passed -... 91%, 635168 KB, 44014 KB/s, 14 seconds passed -... 91%, 635200 KB, 44015 KB/s, 14 seconds passed -... 91%, 635232 KB, 44016 KB/s, 14 seconds passed -... 91%, 635264 KB, 44017 KB/s, 14 seconds passed -... 91%, 635296 KB, 44018 KB/s, 14 seconds passed -... 91%, 635328 KB, 44019 KB/s, 14 seconds passed -... 91%, 635360 KB, 44020 KB/s, 14 seconds passed -... 91%, 635392 KB, 44022 KB/s, 14 seconds passed -... 91%, 635424 KB, 44018 KB/s, 14 seconds passed -... 91%, 635456 KB, 44019 KB/s, 14 seconds passed -... 91%, 635488 KB, 44020 KB/s, 14 seconds passed -... 91%, 635520 KB, 44021 KB/s, 14 seconds passed -... 91%, 635552 KB, 44022 KB/s, 14 seconds passed -... 91%, 635584 KB, 44023 KB/s, 14 seconds passed -... 91%, 635616 KB, 44024 KB/s, 14 seconds passed -... 91%, 635648 KB, 44025 KB/s, 14 seconds passed -... 91%, 635680 KB, 44026 KB/s, 14 seconds passed -... 91%, 635712 KB, 44027 KB/s, 14 seconds passed -... 91%, 635744 KB, 44028 KB/s, 14 seconds passed -... 91%, 635776 KB, 44029 KB/s, 14 seconds passed -... 91%, 635808 KB, 44030 KB/s, 14 seconds passed -... 91%, 635840 KB, 44032 KB/s, 14 seconds passed -... 91%, 635872 KB, 44033 KB/s, 14 seconds passed -... 91%, 635904 KB, 44035 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 91%, 635936 KB, 44017 KB/s, 14 seconds passed -... 91%, 635968 KB, 44018 KB/s, 14 seconds passed -... 91%, 636000 KB, 44020 KB/s, 14 seconds passed -... 91%, 636032 KB, 44021 KB/s, 14 seconds passed -... 91%, 636064 KB, 44022 KB/s, 14 seconds passed -... 91%, 636096 KB, 44023 KB/s, 14 seconds passed -... 91%, 636128 KB, 44024 KB/s, 14 seconds passed -... 91%, 636160 KB, 44025 KB/s, 14 seconds passed -... 91%, 636192 KB, 44027 KB/s, 14 seconds passed -... 91%, 636224 KB, 44028 KB/s, 14 seconds passed -... 91%, 636256 KB, 44029 KB/s, 14 seconds passed -... 91%, 636288 KB, 44030 KB/s, 14 seconds passed -... 91%, 636320 KB, 44031 KB/s, 14 seconds passed -... 91%, 636352 KB, 44032 KB/s, 14 seconds passed -... 91%, 636384 KB, 44033 KB/s, 14 seconds passed -... 91%, 636416 KB, 44034 KB/s, 14 seconds passed -... 91%, 636448 KB, 44035 KB/s, 14 seconds passed -... 91%, 636480 KB, 44036 KB/s, 14 seconds passed -... 91%, 636512 KB, 44037 KB/s, 14 seconds passed -... 91%, 636544 KB, 44038 KB/s, 14 seconds passed -... 91%, 636576 KB, 44039 KB/s, 14 seconds passed -... 91%, 636608 KB, 44040 KB/s, 14 seconds passed -... 91%, 636640 KB, 44041 KB/s, 14 seconds passed -... 91%, 636672 KB, 44042 KB/s, 14 seconds passed -... 91%, 636704 KB, 44044 KB/s, 14 seconds passed -... 91%, 636736 KB, 44045 KB/s, 14 seconds passed -... 91%, 636768 KB, 44046 KB/s, 14 seconds passed -... 91%, 636800 KB, 44047 KB/s, 14 seconds passed -... 91%, 636832 KB, 44048 KB/s, 14 seconds passed -... 91%, 636864 KB, 44049 KB/s, 14 seconds passed -... 91%, 636896 KB, 44050 KB/s, 14 seconds passed -... 91%, 636928 KB, 44051 KB/s, 14 seconds passed -... 91%, 636960 KB, 44052 KB/s, 14 seconds passed -... 91%, 636992 KB, 44053 KB/s, 14 seconds passed -... 91%, 637024 KB, 44055 KB/s, 14 seconds passed -... 91%, 637056 KB, 44056 KB/s, 14 seconds passed -... 91%, 637088 KB, 44058 KB/s, 14 seconds passed -... 91%, 637120 KB, 44059 KB/s, 14 seconds passed -... 91%, 637152 KB, 44060 KB/s, 14 seconds passed -... 91%, 637184 KB, 44062 KB/s, 14 seconds passed -... 91%, 637216 KB, 44063 KB/s, 14 seconds passed -... 91%, 637248 KB, 44065 KB/s, 14 seconds passed -... 91%, 637280 KB, 44066 KB/s, 14 seconds passed -... 91%, 637312 KB, 44068 KB/s, 14 seconds passed -... 91%, 637344 KB, 44069 KB/s, 14 seconds passed -... 91%, 637376 KB, 44071 KB/s, 14 seconds passed -... 91%, 637408 KB, 44072 KB/s, 14 seconds passed -... 91%, 637440 KB, 44074 KB/s, 14 seconds passed -... 91%, 637472 KB, 44076 KB/s, 14 seconds passed -... 91%, 637504 KB, 44077 KB/s, 14 seconds passed -... 91%, 637536 KB, 44079 KB/s, 14 seconds passed -... 91%, 637568 KB, 44081 KB/s, 14 seconds passed -... 91%, 637600 KB, 44082 KB/s, 14 seconds passed -... 91%, 637632 KB, 44084 KB/s, 14 seconds passed -... 91%, 637664 KB, 44085 KB/s, 14 seconds passed -... 91%, 637696 KB, 44080 KB/s, 14 seconds passed -... 91%, 637728 KB, 44081 KB/s, 14 seconds passed -... 91%, 637760 KB, 44082 KB/s, 14 seconds passed -... 91%, 637792 KB, 44084 KB/s, 14 seconds passed -... 91%, 637824 KB, 44085 KB/s, 14 seconds passed -... 91%, 637856 KB, 44087 KB/s, 14 seconds passed -... 91%, 637888 KB, 44088 KB/s, 14 seconds passed -... 91%, 637920 KB, 44089 KB/s, 14 seconds passed -... 91%, 637952 KB, 44091 KB/s, 14 seconds passed -... 91%, 637984 KB, 44092 KB/s, 14 seconds passed -... 91%, 638016 KB, 44094 KB/s, 14 seconds passed -... 91%, 638048 KB, 44095 KB/s, 14 seconds passed -... 91%, 638080 KB, 44096 KB/s, 14 seconds passed -... 91%, 638112 KB, 44098 KB/s, 14 seconds passed -... 91%, 638144 KB, 44099 KB/s, 14 seconds passed -... 91%, 638176 KB, 44101 KB/s, 14 seconds passed -... 91%, 638208 KB, 44102 KB/s, 14 seconds passed -... 91%, 638240 KB, 44103 KB/s, 14 seconds passed -... 91%, 638272 KB, 44105 KB/s, 14 seconds passed -... 91%, 638304 KB, 44106 KB/s, 14 seconds passed -... 91%, 638336 KB, 44107 KB/s, 14 seconds passed -... 91%, 638368 KB, 44109 KB/s, 14 seconds passed -... 91%, 638400 KB, 44110 KB/s, 14 seconds passed -... 91%, 638432 KB, 44112 KB/s, 14 seconds passed -... 91%, 638464 KB, 44113 KB/s, 14 seconds passed -... 91%, 638496 KB, 44114 KB/s, 14 seconds passed -... 91%, 638528 KB, 44116 KB/s, 14 seconds passed -... 91%, 638560 KB, 44117 KB/s, 14 seconds passed -... 91%, 638592 KB, 44118 KB/s, 14 seconds passed -... 91%, 638624 KB, 44120 KB/s, 14 seconds passed -... 91%, 638656 KB, 44121 KB/s, 14 seconds passed -... 91%, 638688 KB, 44122 KB/s, 14 seconds passed -... 91%, 638720 KB, 44124 KB/s, 14 seconds passed -... 91%, 638752 KB, 44125 KB/s, 14 seconds passed -... 91%, 638784 KB, 44126 KB/s, 14 seconds passed -... 91%, 638816 KB, 44128 KB/s, 14 seconds passed -... 91%, 638848 KB, 44129 KB/s, 14 seconds passed -... 91%, 638880 KB, 44130 KB/s, 14 seconds passed -... 91%, 638912 KB, 44132 KB/s, 14 seconds passed -... 91%, 638944 KB, 44133 KB/s, 14 seconds passed -... 91%, 638976 KB, 44135 KB/s, 14 seconds passed -... 91%, 639008 KB, 44136 KB/s, 14 seconds passed -... 91%, 639040 KB, 44137 KB/s, 14 seconds passed -... 91%, 639072 KB, 44139 KB/s, 14 seconds passed -... 91%, 639104 KB, 44140 KB/s, 14 seconds passed -... 91%, 639136 KB, 44141 KB/s, 14 seconds passed -... 91%, 639168 KB, 44143 KB/s, 14 seconds passed -... 91%, 639200 KB, 44144 KB/s, 14 seconds passed -... 91%, 639232 KB, 44145 KB/s, 14 seconds passed -... 91%, 639264 KB, 44147 KB/s, 14 seconds passed -... 91%, 639296 KB, 44148 KB/s, 14 seconds passed -... 91%, 639328 KB, 44150 KB/s, 14 seconds passed -... 91%, 639360 KB, 44151 KB/s, 14 seconds passed -... 91%, 639392 KB, 44152 KB/s, 14 seconds passed -... 91%, 639424 KB, 44154 KB/s, 14 seconds passed -... 91%, 639456 KB, 44155 KB/s, 14 seconds passed -... 91%, 639488 KB, 44156 KB/s, 14 seconds passed -... 91%, 639520 KB, 44158 KB/s, 14 seconds passed -... 91%, 639552 KB, 44159 KB/s, 14 seconds passed -... 91%, 639584 KB, 44161 KB/s, 14 seconds passed -... 91%, 639616 KB, 44162 KB/s, 14 seconds passed -... 91%, 639648 KB, 44163 KB/s, 14 seconds passed -... 91%, 639680 KB, 44165 KB/s, 14 seconds passed -... 91%, 639712 KB, 44166 KB/s, 14 seconds passed -... 91%, 639744 KB, 44167 KB/s, 14 seconds passed -... 91%, 639776 KB, 44169 KB/s, 14 seconds passed -... 91%, 639808 KB, 44170 KB/s, 14 seconds passed -... 91%, 639840 KB, 44171 KB/s, 14 seconds passed -... 92%, 639872 KB, 44173 KB/s, 14 seconds passed -... 92%, 639904 KB, 44174 KB/s, 14 seconds passed -... 92%, 639936 KB, 44175 KB/s, 14 seconds passed -... 92%, 639968 KB, 44177 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 92%, 640000 KB, 44035 KB/s, 14 seconds passed -... 92%, 640032 KB, 44036 KB/s, 14 seconds passed -... 92%, 640064 KB, 44016 KB/s, 14 seconds passed -... 92%, 640096 KB, 44017 KB/s, 14 seconds passed -... 92%, 640128 KB, 44018 KB/s, 14 seconds passed -... 92%, 640160 KB, 44019 KB/s, 14 seconds passed -... 92%, 640192 KB, 44021 KB/s, 14 seconds passed -... 92%, 640224 KB, 44022 KB/s, 14 seconds passed -... 92%, 640256 KB, 44023 KB/s, 14 seconds passed -... 92%, 640288 KB, 44024 KB/s, 14 seconds passed -... 92%, 640320 KB, 44025 KB/s, 14 seconds passed -... 92%, 640352 KB, 44026 KB/s, 14 seconds passed -... 92%, 640384 KB, 44027 KB/s, 14 seconds passed -... 92%, 640416 KB, 44028 KB/s, 14 seconds passed -... 92%, 640448 KB, 44029 KB/s, 14 seconds passed -... 92%, 640480 KB, 44030 KB/s, 14 seconds passed -... 92%, 640512 KB, 44032 KB/s, 14 seconds passed -... 92%, 640544 KB, 44033 KB/s, 14 seconds passed -... 92%, 640576 KB, 44034 KB/s, 14 seconds passed -... 92%, 640608 KB, 44035 KB/s, 14 seconds passed -... 92%, 640640 KB, 44036 KB/s, 14 seconds passed -... 92%, 640672 KB, 44037 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 92%, 640704 KB, 44038 KB/s, 14 seconds passed -... 92%, 640736 KB, 44039 KB/s, 14 seconds passed -... 92%, 640768 KB, 44040 KB/s, 14 seconds passed -... 92%, 640800 KB, 44041 KB/s, 14 seconds passed -... 92%, 640832 KB, 44042 KB/s, 14 seconds passed -... 92%, 640864 KB, 44043 KB/s, 14 seconds passed -... 92%, 640896 KB, 44045 KB/s, 14 seconds passed -... 92%, 640928 KB, 44046 KB/s, 14 seconds passed -... 92%, 640960 KB, 44047 KB/s, 14 seconds passed -... 92%, 640992 KB, 44048 KB/s, 14 seconds passed -... 92%, 641024 KB, 44050 KB/s, 14 seconds passed -... 92%, 641056 KB, 44051 KB/s, 14 seconds passed -... 92%, 641088 KB, 44052 KB/s, 14 seconds passed -... 92%, 641120 KB, 44053 KB/s, 14 seconds passed -... 92%, 641152 KB, 44055 KB/s, 14 seconds passed -... 92%, 641184 KB, 44056 KB/s, 14 seconds passed -... 92%, 641216 KB, 44057 KB/s, 14 seconds passed -... 92%, 641248 KB, 44058 KB/s, 14 seconds passed -... 92%, 641280 KB, 44060 KB/s, 14 seconds passed -... 92%, 641312 KB, 44061 KB/s, 14 seconds passed -... 92%, 641344 KB, 44062 KB/s, 14 seconds passed -... 92%, 641376 KB, 44064 KB/s, 14 seconds passed -... 92%, 641408 KB, 44065 KB/s, 14 seconds passed -... 92%, 641440 KB, 44066 KB/s, 14 seconds passed -... 92%, 641472 KB, 44067 KB/s, 14 seconds passed -... 92%, 641504 KB, 44069 KB/s, 14 seconds passed -... 92%, 641536 KB, 44070 KB/s, 14 seconds passed -... 92%, 641568 KB, 44071 KB/s, 14 seconds passed -... 92%, 641600 KB, 44072 KB/s, 14 seconds passed -... 92%, 641632 KB, 44074 KB/s, 14 seconds passed -... 92%, 641664 KB, 44075 KB/s, 14 seconds passed -... 92%, 641696 KB, 44076 KB/s, 14 seconds passed -... 92%, 641728 KB, 44078 KB/s, 14 seconds passed -... 92%, 641760 KB, 44079 KB/s, 14 seconds passed -... 92%, 641792 KB, 44081 KB/s, 14 seconds passed -... 92%, 641824 KB, 44082 KB/s, 14 seconds passed -... 92%, 641856 KB, 44084 KB/s, 14 seconds passed -... 92%, 641888 KB, 44085 KB/s, 14 seconds passed -... 92%, 641920 KB, 44086 KB/s, 14 seconds passed -... 92%, 641952 KB, 44088 KB/s, 14 seconds passed -... 92%, 641984 KB, 44089 KB/s, 14 seconds passed -... 92%, 642016 KB, 44091 KB/s, 14 seconds passed -... 92%, 642048 KB, 44092 KB/s, 14 seconds passed -... 92%, 642080 KB, 44094 KB/s, 14 seconds passed -... 92%, 642112 KB, 44095 KB/s, 14 seconds passed -... 92%, 642144 KB, 44097 KB/s, 14 seconds passed -... 92%, 642176 KB, 44099 KB/s, 14 seconds passed -... 92%, 642208 KB, 44100 KB/s, 14 seconds passed -... 92%, 642240 KB, 44102 KB/s, 14 seconds passed -... 92%, 642272 KB, 44103 KB/s, 14 seconds passed -... 92%, 642304 KB, 44105 KB/s, 14 seconds passed -... 92%, 642336 KB, 44107 KB/s, 14 seconds passed -... 92%, 642368 KB, 44108 KB/s, 14 seconds passed -... 92%, 642400 KB, 44110 KB/s, 14 seconds passed -... 92%, 642432 KB, 44111 KB/s, 14 seconds passed -... 92%, 642464 KB, 44112 KB/s, 14 seconds passed -... 92%, 642496 KB, 44114 KB/s, 14 seconds passed -... 92%, 642528 KB, 44115 KB/s, 14 seconds passed -... 92%, 642560 KB, 44116 KB/s, 14 seconds passed -... 92%, 642592 KB, 44118 KB/s, 14 seconds passed -... 92%, 642624 KB, 44119 KB/s, 14 seconds passed -... 92%, 642656 KB, 44120 KB/s, 14 seconds passed -... 92%, 642688 KB, 44121 KB/s, 14 seconds passed -... 92%, 642720 KB, 44122 KB/s, 14 seconds passed -... 92%, 642752 KB, 44123 KB/s, 14 seconds passed -... 92%, 642784 KB, 44125 KB/s, 14 seconds passed -... 92%, 642816 KB, 44126 KB/s, 14 seconds passed -... 92%, 642848 KB, 44128 KB/s, 14 seconds passed -... 92%, 642880 KB, 44130 KB/s, 14 seconds passed -... 92%, 642912 KB, 44131 KB/s, 14 seconds passed -... 92%, 642944 KB, 44133 KB/s, 14 seconds passed -... 92%, 642976 KB, 44134 KB/s, 14 seconds passed -... 92%, 643008 KB, 44135 KB/s, 14 seconds passed -... 92%, 643040 KB, 44137 KB/s, 14 seconds passed -... 92%, 643072 KB, 44138 KB/s, 14 seconds passed -... 92%, 643104 KB, 44139 KB/s, 14 seconds passed -... 92%, 643136 KB, 44140 KB/s, 14 seconds passed -... 92%, 643168 KB, 44142 KB/s, 14 seconds passed -... 92%, 643200 KB, 44143 KB/s, 14 seconds passed -... 92%, 643232 KB, 44145 KB/s, 14 seconds passed -... 92%, 643264 KB, 44146 KB/s, 14 seconds passed -... 92%, 643296 KB, 44147 KB/s, 14 seconds passed -... 92%, 643328 KB, 44149 KB/s, 14 seconds passed -... 92%, 643360 KB, 44150 KB/s, 14 seconds passed -... 92%, 643392 KB, 44151 KB/s, 14 seconds passed -... 92%, 643424 KB, 44153 KB/s, 14 seconds passed -... 92%, 643456 KB, 44154 KB/s, 14 seconds passed -... 92%, 643488 KB, 44155 KB/s, 14 seconds passed -... 92%, 643520 KB, 44157 KB/s, 14 seconds passed -... 92%, 643552 KB, 44158 KB/s, 14 seconds passed -... 92%, 643584 KB, 44160 KB/s, 14 seconds passed -... 92%, 643616 KB, 44161 KB/s, 14 seconds passed -... 92%, 643648 KB, 44162 KB/s, 14 seconds passed -... 92%, 643680 KB, 44163 KB/s, 14 seconds passed -... 92%, 643712 KB, 44165 KB/s, 14 seconds passed -... 92%, 643744 KB, 44166 KB/s, 14 seconds passed -... 92%, 643776 KB, 44161 KB/s, 14 seconds passed -... 92%, 643808 KB, 44159 KB/s, 14 seconds passed -... 92%, 643840 KB, 44160 KB/s, 14 seconds passed -... 92%, 643872 KB, 44161 KB/s, 14 seconds passed -... 92%, 643904 KB, 44163 KB/s, 14 seconds passed -... 92%, 643936 KB, 44165 KB/s, 14 seconds passed -... 92%, 643968 KB, 44166 KB/s, 14 seconds passed -... 92%, 644000 KB, 44167 KB/s, 14 seconds passed -... 92%, 644032 KB, 44168 KB/s, 14 seconds passed -... 92%, 644064 KB, 44170 KB/s, 14 seconds passed -... 92%, 644096 KB, 44171 KB/s, 14 seconds passed -... 92%, 644128 KB, 44173 KB/s, 14 seconds passed -... 92%, 644160 KB, 44174 KB/s, 14 seconds passed -... 92%, 644192 KB, 44175 KB/s, 14 seconds passed -... 92%, 644224 KB, 44177 KB/s, 14 seconds passed -... 92%, 644256 KB, 44178 KB/s, 14 seconds passed -... 92%, 644288 KB, 44175 KB/s, 14 seconds passed -... 92%, 644320 KB, 44177 KB/s, 14 seconds passed -... 92%, 644352 KB, 44178 KB/s, 14 seconds passed -... 92%, 644384 KB, 44179 KB/s, 14 seconds passed -... 92%, 644416 KB, 44181 KB/s, 14 seconds passed -... 92%, 644448 KB, 44182 KB/s, 14 seconds passed -... 92%, 644480 KB, 44183 KB/s, 14 seconds passed -... 92%, 644512 KB, 44185 KB/s, 14 seconds passed -... 92%, 644544 KB, 44186 KB/s, 14 seconds passed -... 92%, 644576 KB, 44187 KB/s, 14 seconds passed -... 92%, 644608 KB, 44188 KB/s, 14 seconds passed -... 92%, 644640 KB, 44189 KB/s, 14 seconds passed -... 92%, 644672 KB, 44191 KB/s, 14 seconds passed -... 92%, 644704 KB, 44193 KB/s, 14 seconds passed -... 92%, 644736 KB, 44194 KB/s, 14 seconds passed -... 92%, 644768 KB, 44196 KB/s, 14 seconds passed -... 92%, 644800 KB, 44197 KB/s, 14 seconds passed -... 92%, 644832 KB, 44198 KB/s, 14 seconds passed -... 92%, 644864 KB, 44200 KB/s, 14 seconds passed -... 92%, 644896 KB, 44201 KB/s, 14 seconds passed -... 92%, 644928 KB, 44202 KB/s, 14 seconds passed -... 92%, 644960 KB, 44204 KB/s, 14 seconds passed -... 92%, 644992 KB, 44205 KB/s, 14 seconds passed -... 92%, 645024 KB, 44206 KB/s, 14 seconds passed -... 92%, 645056 KB, 44208 KB/s, 14 seconds passed -... 92%, 645088 KB, 44209 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 92%, 645120 KB, 44047 KB/s, 14 seconds passed -... 92%, 645152 KB, 44048 KB/s, 14 seconds passed -... 92%, 645184 KB, 44049 KB/s, 14 seconds passed -... 92%, 645216 KB, 44050 KB/s, 14 seconds passed - -.. parsed-literal:: - - ... 92%, 645248 KB, 42981 KB/s, 15 seconds passed -... 92%, 645280 KB, 42982 KB/s, 15 seconds passed -... 92%, 645312 KB, 42983 KB/s, 15 seconds passed -... 92%, 645344 KB, 42984 KB/s, 15 seconds passed -... 92%, 645376 KB, 42985 KB/s, 15 seconds passed -... 92%, 645408 KB, 42986 KB/s, 15 seconds passed -... 92%, 645440 KB, 42987 KB/s, 15 seconds passed -... 92%, 645472 KB, 42988 KB/s, 15 seconds passed -... 92%, 645504 KB, 42989 KB/s, 15 seconds passed -... 92%, 645536 KB, 42990 KB/s, 15 seconds passed -... 92%, 645568 KB, 42991 KB/s, 15 seconds passed -... 92%, 645600 KB, 42992 KB/s, 15 seconds passed -... 92%, 645632 KB, 42993 KB/s, 15 seconds passed -... 92%, 645664 KB, 42995 KB/s, 15 seconds passed -... 92%, 645696 KB, 42996 KB/s, 15 seconds passed -... 92%, 645728 KB, 42997 KB/s, 15 seconds passed -... 92%, 645760 KB, 42998 KB/s, 15 seconds passed -... 92%, 645792 KB, 42999 KB/s, 15 seconds passed -... 92%, 645824 KB, 43000 KB/s, 15 seconds passed -... 92%, 645856 KB, 43002 KB/s, 15 seconds passed -... 92%, 645888 KB, 43003 KB/s, 15 seconds passed -... 92%, 645920 KB, 43004 KB/s, 15 seconds passed -... 92%, 645952 KB, 43001 KB/s, 15 seconds passed -... 92%, 645984 KB, 43001 KB/s, 15 seconds passed -... 92%, 646016 KB, 43002 KB/s, 15 seconds passed -... 92%, 646048 KB, 43003 KB/s, 15 seconds passed -... 92%, 646080 KB, 43004 KB/s, 15 seconds passed -... 92%, 646112 KB, 43005 KB/s, 15 seconds passed -... 92%, 646144 KB, 43007 KB/s, 15 seconds passed -... 92%, 646176 KB, 43007 KB/s, 15 seconds passed -... 92%, 646208 KB, 43008 KB/s, 15 seconds passed -... 92%, 646240 KB, 43010 KB/s, 15 seconds passed -... 92%, 646272 KB, 43011 KB/s, 15 seconds passed -... 92%, 646304 KB, 43012 KB/s, 15 seconds passed -... 92%, 646336 KB, 43013 KB/s, 15 seconds passed -... 92%, 646368 KB, 43015 KB/s, 15 seconds passed -... 92%, 646400 KB, 43016 KB/s, 15 seconds passed -... 92%, 646432 KB, 43017 KB/s, 15 seconds passed -... 92%, 646464 KB, 43018 KB/s, 15 seconds passed -... 92%, 646496 KB, 43020 KB/s, 15 seconds passed -... 92%, 646528 KB, 43021 KB/s, 15 seconds passed -... 92%, 646560 KB, 43022 KB/s, 15 seconds passed -... 92%, 646592 KB, 43023 KB/s, 15 seconds passed -... 92%, 646624 KB, 43025 KB/s, 15 seconds passed -... 92%, 646656 KB, 43026 KB/s, 15 seconds passed -... 92%, 646688 KB, 43027 KB/s, 15 seconds passed -... 92%, 646720 KB, 43028 KB/s, 15 seconds passed -... 92%, 646752 KB, 43030 KB/s, 15 seconds passed -... 92%, 646784 KB, 43031 KB/s, 15 seconds passed -... 92%, 646816 KB, 43032 KB/s, 15 seconds passed -... 93%, 646848 KB, 43033 KB/s, 15 seconds passed -... 93%, 646880 KB, 43035 KB/s, 15 seconds passed -... 93%, 646912 KB, 43036 KB/s, 15 seconds passed -... 93%, 646944 KB, 43037 KB/s, 15 seconds passed -... 93%, 646976 KB, 43038 KB/s, 15 seconds passed -... 93%, 647008 KB, 43040 KB/s, 15 seconds passed -... 93%, 647040 KB, 43041 KB/s, 15 seconds passed -... 93%, 647072 KB, 43042 KB/s, 15 seconds passed -... 93%, 647104 KB, 43043 KB/s, 15 seconds passed -... 93%, 647136 KB, 43045 KB/s, 15 seconds passed -... 93%, 647168 KB, 43046 KB/s, 15 seconds passed -... 93%, 647200 KB, 43047 KB/s, 15 seconds passed -... 93%, 647232 KB, 43049 KB/s, 15 seconds passed -... 93%, 647264 KB, 43050 KB/s, 15 seconds passed -... 93%, 647296 KB, 43051 KB/s, 15 seconds passed -... 93%, 647328 KB, 43053 KB/s, 15 seconds passed -... 93%, 647360 KB, 43054 KB/s, 15 seconds passed -... 93%, 647392 KB, 43056 KB/s, 15 seconds passed -... 93%, 647424 KB, 43057 KB/s, 15 seconds passed -... 93%, 647456 KB, 43059 KB/s, 15 seconds passed -... 93%, 647488 KB, 43060 KB/s, 15 seconds passed -... 93%, 647520 KB, 43062 KB/s, 15 seconds passed -... 93%, 647552 KB, 43063 KB/s, 15 seconds passed -... 93%, 647584 KB, 43065 KB/s, 15 seconds passed -... 93%, 647616 KB, 43067 KB/s, 15 seconds passed -... 93%, 647648 KB, 43068 KB/s, 15 seconds passed -... 93%, 647680 KB, 43070 KB/s, 15 seconds passed -... 93%, 647712 KB, 43071 KB/s, 15 seconds passed -... 93%, 647744 KB, 43073 KB/s, 15 seconds passed -... 93%, 647776 KB, 43074 KB/s, 15 seconds passed -... 93%, 647808 KB, 43076 KB/s, 15 seconds passed -... 93%, 647840 KB, 43077 KB/s, 15 seconds passed -... 93%, 647872 KB, 43079 KB/s, 15 seconds passed -... 93%, 647904 KB, 43080 KB/s, 15 seconds passed -... 93%, 647936 KB, 43082 KB/s, 15 seconds passed -... 93%, 647968 KB, 43083 KB/s, 15 seconds passed -... 93%, 648000 KB, 43085 KB/s, 15 seconds passed -... 93%, 648032 KB, 43087 KB/s, 15 seconds passed -... 93%, 648064 KB, 43088 KB/s, 15 seconds passed -... 93%, 648096 KB, 43090 KB/s, 15 seconds passed -... 93%, 648128 KB, 43091 KB/s, 15 seconds passed -... 93%, 648160 KB, 43093 KB/s, 15 seconds passed -... 93%, 648192 KB, 43094 KB/s, 15 seconds passed -... 93%, 648224 KB, 43095 KB/s, 15 seconds passed -... 93%, 648256 KB, 43097 KB/s, 15 seconds passed -... 93%, 648288 KB, 43098 KB/s, 15 seconds passed -... 93%, 648320 KB, 43099 KB/s, 15 seconds passed -... 93%, 648352 KB, 43101 KB/s, 15 seconds passed -... 93%, 648384 KB, 43102 KB/s, 15 seconds passed -... 93%, 648416 KB, 43103 KB/s, 15 seconds passed -... 93%, 648448 KB, 43105 KB/s, 15 seconds passed -... 93%, 648480 KB, 43106 KB/s, 15 seconds passed -... 93%, 648512 KB, 43107 KB/s, 15 seconds passed -... 93%, 648544 KB, 43109 KB/s, 15 seconds passed -... 93%, 648576 KB, 43110 KB/s, 15 seconds passed -... 93%, 648608 KB, 43111 KB/s, 15 seconds passed -... 93%, 648640 KB, 43113 KB/s, 15 seconds passed -... 93%, 648672 KB, 43114 KB/s, 15 seconds passed -... 93%, 648704 KB, 43115 KB/s, 15 seconds passed -... 93%, 648736 KB, 43117 KB/s, 15 seconds passed -... 93%, 648768 KB, 43118 KB/s, 15 seconds passed -... 93%, 648800 KB, 43119 KB/s, 15 seconds passed -... 93%, 648832 KB, 43121 KB/s, 15 seconds passed -... 93%, 648864 KB, 43122 KB/s, 15 seconds passed -... 93%, 648896 KB, 43123 KB/s, 15 seconds passed -... 93%, 648928 KB, 43124 KB/s, 15 seconds passed -... 93%, 648960 KB, 43126 KB/s, 15 seconds passed -... 93%, 648992 KB, 43127 KB/s, 15 seconds passed -... 93%, 649024 KB, 43129 KB/s, 15 seconds passed -... 93%, 649056 KB, 43130 KB/s, 15 seconds passed -... 93%, 649088 KB, 43131 KB/s, 15 seconds passed -... 93%, 649120 KB, 43133 KB/s, 15 seconds passed -... 93%, 649152 KB, 43133 KB/s, 15 seconds passed -... 93%, 649184 KB, 43132 KB/s, 15 seconds passed -... 93%, 649216 KB, 43133 KB/s, 15 seconds passed -... 93%, 649248 KB, 43134 KB/s, 15 seconds passed -... 93%, 649280 KB, 43135 KB/s, 15 seconds passed -... 93%, 649312 KB, 43137 KB/s, 15 seconds passed -... 93%, 649344 KB, 43138 KB/s, 15 seconds passed -... 93%, 649376 KB, 43140 KB/s, 15 seconds passed -... 93%, 649408 KB, 43141 KB/s, 15 seconds passed -... 93%, 649440 KB, 43142 KB/s, 15 seconds passed -... 93%, 649472 KB, 43144 KB/s, 15 seconds passed -... 93%, 649504 KB, 43145 KB/s, 15 seconds passed -... 93%, 649536 KB, 43146 KB/s, 15 seconds passed -... 93%, 649568 KB, 43147 KB/s, 15 seconds passed -... 93%, 649600 KB, 43148 KB/s, 15 seconds passed -... 93%, 649632 KB, 43150 KB/s, 15 seconds passed -... 93%, 649664 KB, 43152 KB/s, 15 seconds passed -... 93%, 649696 KB, 43153 KB/s, 15 seconds passed -... 93%, 649728 KB, 43154 KB/s, 15 seconds passed -... 93%, 649760 KB, 43155 KB/s, 15 seconds passed -... 93%, 649792 KB, 43156 KB/s, 15 seconds passed -... 93%, 649824 KB, 43157 KB/s, 15 seconds passed -... 93%, 649856 KB, 43158 KB/s, 15 seconds passed -... 93%, 649888 KB, 43160 KB/s, 15 seconds passed -... 93%, 649920 KB, 43161 KB/s, 15 seconds passed -... 93%, 649952 KB, 43162 KB/s, 15 seconds passed -... 93%, 649984 KB, 43163 KB/s, 15 seconds passed -... 93%, 650016 KB, 43164 KB/s, 15 seconds passed -... 93%, 650048 KB, 43165 KB/s, 15 seconds passed -... 93%, 650080 KB, 43166 KB/s, 15 seconds passed -... 93%, 650112 KB, 43167 KB/s, 15 seconds passed -... 93%, 650144 KB, 43168 KB/s, 15 seconds passed -... 93%, 650176 KB, 43170 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 93%, 650208 KB, 43171 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 93%, 650240 KB, 42946 KB/s, 15 seconds passed -... 93%, 650272 KB, 42946 KB/s, 15 seconds passed -... 93%, 650304 KB, 42947 KB/s, 15 seconds passed -... 93%, 650336 KB, 42946 KB/s, 15 seconds passed -... 93%, 650368 KB, 42947 KB/s, 15 seconds passed -... 93%, 650400 KB, 42948 KB/s, 15 seconds passed -... 93%, 650432 KB, 42949 KB/s, 15 seconds passed -... 93%, 650464 KB, 42950 KB/s, 15 seconds passed -... 93%, 650496 KB, 42951 KB/s, 15 seconds passed -... 93%, 650528 KB, 42952 KB/s, 15 seconds passed -... 93%, 650560 KB, 42953 KB/s, 15 seconds passed -... 93%, 650592 KB, 42954 KB/s, 15 seconds passed -... 93%, 650624 KB, 42955 KB/s, 15 seconds passed -... 93%, 650656 KB, 42956 KB/s, 15 seconds passed -... 93%, 650688 KB, 42957 KB/s, 15 seconds passed -... 93%, 650720 KB, 42958 KB/s, 15 seconds passed -... 93%, 650752 KB, 42959 KB/s, 15 seconds passed -... 93%, 650784 KB, 42960 KB/s, 15 seconds passed -... 93%, 650816 KB, 42961 KB/s, 15 seconds passed -... 93%, 650848 KB, 42962 KB/s, 15 seconds passed -... 93%, 650880 KB, 42963 KB/s, 15 seconds passed -... 93%, 650912 KB, 42964 KB/s, 15 seconds passed -... 93%, 650944 KB, 42965 KB/s, 15 seconds passed -... 93%, 650976 KB, 42966 KB/s, 15 seconds passed -... 93%, 651008 KB, 42967 KB/s, 15 seconds passed -... 93%, 651040 KB, 42969 KB/s, 15 seconds passed -... 93%, 651072 KB, 42970 KB/s, 15 seconds passed -... 93%, 651104 KB, 42971 KB/s, 15 seconds passed -... 93%, 651136 KB, 42972 KB/s, 15 seconds passed -... 93%, 651168 KB, 42974 KB/s, 15 seconds passed -... 93%, 651200 KB, 42975 KB/s, 15 seconds passed -... 93%, 651232 KB, 42969 KB/s, 15 seconds passed -... 93%, 651264 KB, 42970 KB/s, 15 seconds passed -... 93%, 651296 KB, 42971 KB/s, 15 seconds passed -... 93%, 651328 KB, 42972 KB/s, 15 seconds passed -... 93%, 651360 KB, 42973 KB/s, 15 seconds passed -... 93%, 651392 KB, 42974 KB/s, 15 seconds passed -... 93%, 651424 KB, 42975 KB/s, 15 seconds passed -... 93%, 651456 KB, 42976 KB/s, 15 seconds passed -... 93%, 651488 KB, 42977 KB/s, 15 seconds passed -... 93%, 651520 KB, 42978 KB/s, 15 seconds passed -... 93%, 651552 KB, 42980 KB/s, 15 seconds passed -... 93%, 651584 KB, 42981 KB/s, 15 seconds passed -... 93%, 651616 KB, 42982 KB/s, 15 seconds passed -... 93%, 651648 KB, 42983 KB/s, 15 seconds passed -... 93%, 651680 KB, 42984 KB/s, 15 seconds passed -... 93%, 651712 KB, 42985 KB/s, 15 seconds passed -... 93%, 651744 KB, 42986 KB/s, 15 seconds passed -... 93%, 651776 KB, 42988 KB/s, 15 seconds passed -... 93%, 651808 KB, 42989 KB/s, 15 seconds passed -... 93%, 651840 KB, 42990 KB/s, 15 seconds passed -... 93%, 651872 KB, 42992 KB/s, 15 seconds passed -... 93%, 651904 KB, 42993 KB/s, 15 seconds passed -... 93%, 651936 KB, 42994 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 93%, 651968 KB, 42995 KB/s, 15 seconds passed -... 93%, 652000 KB, 42996 KB/s, 15 seconds passed -... 93%, 652032 KB, 42997 KB/s, 15 seconds passed -... 93%, 652064 KB, 42998 KB/s, 15 seconds passed -... 93%, 652096 KB, 42999 KB/s, 15 seconds passed -... 93%, 652128 KB, 43001 KB/s, 15 seconds passed -... 93%, 652160 KB, 43002 KB/s, 15 seconds passed -... 93%, 652192 KB, 43003 KB/s, 15 seconds passed -... 93%, 652224 KB, 43004 KB/s, 15 seconds passed -... 93%, 652256 KB, 43005 KB/s, 15 seconds passed -... 93%, 652288 KB, 43007 KB/s, 15 seconds passed -... 93%, 652320 KB, 43008 KB/s, 15 seconds passed -... 93%, 652352 KB, 43010 KB/s, 15 seconds passed -... 93%, 652384 KB, 43011 KB/s, 15 seconds passed -... 93%, 652416 KB, 43013 KB/s, 15 seconds passed -... 93%, 652448 KB, 43014 KB/s, 15 seconds passed -... 93%, 652480 KB, 43015 KB/s, 15 seconds passed -... 93%, 652512 KB, 43017 KB/s, 15 seconds passed -... 93%, 652544 KB, 43018 KB/s, 15 seconds passed -... 93%, 652576 KB, 43020 KB/s, 15 seconds passed -... 93%, 652608 KB, 43021 KB/s, 15 seconds passed -... 93%, 652640 KB, 43022 KB/s, 15 seconds passed -... 93%, 652672 KB, 43024 KB/s, 15 seconds passed -... 93%, 652704 KB, 43025 KB/s, 15 seconds passed -... 93%, 652736 KB, 43027 KB/s, 15 seconds passed -... 93%, 652768 KB, 43028 KB/s, 15 seconds passed -... 93%, 652800 KB, 43030 KB/s, 15 seconds passed -... 93%, 652832 KB, 43031 KB/s, 15 seconds passed -... 93%, 652864 KB, 43033 KB/s, 15 seconds passed -... 93%, 652896 KB, 43034 KB/s, 15 seconds passed -... 93%, 652928 KB, 43035 KB/s, 15 seconds passed -... 93%, 652960 KB, 43037 KB/s, 15 seconds passed -... 93%, 652992 KB, 43038 KB/s, 15 seconds passed -... 93%, 653024 KB, 43039 KB/s, 15 seconds passed -... 93%, 653056 KB, 43041 KB/s, 15 seconds passed -... 93%, 653088 KB, 43042 KB/s, 15 seconds passed -... 93%, 653120 KB, 43043 KB/s, 15 seconds passed -... 93%, 653152 KB, 43045 KB/s, 15 seconds passed -... 93%, 653184 KB, 43046 KB/s, 15 seconds passed -... 93%, 653216 KB, 43047 KB/s, 15 seconds passed -... 93%, 653248 KB, 43049 KB/s, 15 seconds passed -... 93%, 653280 KB, 43050 KB/s, 15 seconds passed -... 93%, 653312 KB, 43051 KB/s, 15 seconds passed -... 93%, 653344 KB, 43052 KB/s, 15 seconds passed -... 93%, 653376 KB, 43054 KB/s, 15 seconds passed -... 93%, 653408 KB, 43055 KB/s, 15 seconds passed -... 93%, 653440 KB, 43057 KB/s, 15 seconds passed -... 93%, 653472 KB, 43058 KB/s, 15 seconds passed -... 93%, 653504 KB, 43059 KB/s, 15 seconds passed -... 93%, 653536 KB, 43060 KB/s, 15 seconds passed -... 93%, 653568 KB, 43062 KB/s, 15 seconds passed -... 93%, 653600 KB, 43063 KB/s, 15 seconds passed -... 93%, 653632 KB, 43064 KB/s, 15 seconds passed -... 93%, 653664 KB, 43066 KB/s, 15 seconds passed -... 93%, 653696 KB, 43067 KB/s, 15 seconds passed -... 93%, 653728 KB, 43050 KB/s, 15 seconds passed -... 93%, 653760 KB, 43051 KB/s, 15 seconds passed -... 94%, 653792 KB, 43052 KB/s, 15 seconds passed -... 94%, 653824 KB, 43054 KB/s, 15 seconds passed -... 94%, 653856 KB, 43055 KB/s, 15 seconds passed -... 94%, 653888 KB, 43056 KB/s, 15 seconds passed -... 94%, 653920 KB, 43057 KB/s, 15 seconds passed -... 94%, 653952 KB, 43059 KB/s, 15 seconds passed -... 94%, 653984 KB, 43060 KB/s, 15 seconds passed -... 94%, 654016 KB, 43061 KB/s, 15 seconds passed -... 94%, 654048 KB, 43062 KB/s, 15 seconds passed -... 94%, 654080 KB, 43063 KB/s, 15 seconds passed -... 94%, 654112 KB, 43065 KB/s, 15 seconds passed -... 94%, 654144 KB, 43066 KB/s, 15 seconds passed -... 94%, 654176 KB, 43068 KB/s, 15 seconds passed -... 94%, 654208 KB, 43069 KB/s, 15 seconds passed -... 94%, 654240 KB, 43071 KB/s, 15 seconds passed -... 94%, 654272 KB, 43072 KB/s, 15 seconds passed -... 94%, 654304 KB, 43073 KB/s, 15 seconds passed -... 94%, 654336 KB, 43075 KB/s, 15 seconds passed -... 94%, 654368 KB, 43076 KB/s, 15 seconds passed -... 94%, 654400 KB, 43077 KB/s, 15 seconds passed -... 94%, 654432 KB, 43079 KB/s, 15 seconds passed -... 94%, 654464 KB, 43080 KB/s, 15 seconds passed -... 94%, 654496 KB, 43081 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 94%, 654528 KB, 42856 KB/s, 15 seconds passed -... 94%, 654560 KB, 42857 KB/s, 15 seconds passed -... 94%, 654592 KB, 42858 KB/s, 15 seconds passed -... 94%, 654624 KB, 42859 KB/s, 15 seconds passed -... 94%, 654656 KB, 42860 KB/s, 15 seconds passed -... 94%, 654688 KB, 42861 KB/s, 15 seconds passed -... 94%, 654720 KB, 42862 KB/s, 15 seconds passed -... 94%, 654752 KB, 42863 KB/s, 15 seconds passed -... 94%, 654784 KB, 42864 KB/s, 15 seconds passed -... 94%, 654816 KB, 42865 KB/s, 15 seconds passed -... 94%, 654848 KB, 42866 KB/s, 15 seconds passed -... 94%, 654880 KB, 42867 KB/s, 15 seconds passed -... 94%, 654912 KB, 42868 KB/s, 15 seconds passed -... 94%, 654944 KB, 42869 KB/s, 15 seconds passed -... 94%, 654976 KB, 42870 KB/s, 15 seconds passed -... 94%, 655008 KB, 42871 KB/s, 15 seconds passed -... 94%, 655040 KB, 42872 KB/s, 15 seconds passed -... 94%, 655072 KB, 42873 KB/s, 15 seconds passed -... 94%, 655104 KB, 42874 KB/s, 15 seconds passed -... 94%, 655136 KB, 42875 KB/s, 15 seconds passed -... 94%, 655168 KB, 42877 KB/s, 15 seconds passed -... 94%, 655200 KB, 42878 KB/s, 15 seconds passed -... 94%, 655232 KB, 42879 KB/s, 15 seconds passed -... 94%, 655264 KB, 42880 KB/s, 15 seconds passed -... 94%, 655296 KB, 42882 KB/s, 15 seconds passed -... 94%, 655328 KB, 42883 KB/s, 15 seconds passed -... 94%, 655360 KB, 42787 KB/s, 15 seconds passed -... 94%, 655392 KB, 42788 KB/s, 15 seconds passed -... 94%, 655424 KB, 42788 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 94%, 655456 KB, 42790 KB/s, 15 seconds passed -... 94%, 655488 KB, 42791 KB/s, 15 seconds passed -... 94%, 655520 KB, 42788 KB/s, 15 seconds passed -... 94%, 655552 KB, 42788 KB/s, 15 seconds passed -... 94%, 655584 KB, 42787 KB/s, 15 seconds passed -... 94%, 655616 KB, 42787 KB/s, 15 seconds passed -... 94%, 655648 KB, 42788 KB/s, 15 seconds passed -... 94%, 655680 KB, 42789 KB/s, 15 seconds passed -... 94%, 655712 KB, 42790 KB/s, 15 seconds passed -... 94%, 655744 KB, 42791 KB/s, 15 seconds passed -... 94%, 655776 KB, 42791 KB/s, 15 seconds passed -... 94%, 655808 KB, 42792 KB/s, 15 seconds passed -... 94%, 655840 KB, 42793 KB/s, 15 seconds passed -... 94%, 655872 KB, 42794 KB/s, 15 seconds passed -... 94%, 655904 KB, 42795 KB/s, 15 seconds passed -... 94%, 655936 KB, 42796 KB/s, 15 seconds passed -... 94%, 655968 KB, 42798 KB/s, 15 seconds passed -... 94%, 656000 KB, 42799 KB/s, 15 seconds passed -... 94%, 656032 KB, 42800 KB/s, 15 seconds passed -... 94%, 656064 KB, 42801 KB/s, 15 seconds passed -... 94%, 656096 KB, 42802 KB/s, 15 seconds passed -... 94%, 656128 KB, 42803 KB/s, 15 seconds passed -... 94%, 656160 KB, 42804 KB/s, 15 seconds passed -... 94%, 656192 KB, 42805 KB/s, 15 seconds passed -... 94%, 656224 KB, 42806 KB/s, 15 seconds passed -... 94%, 656256 KB, 42807 KB/s, 15 seconds passed -... 94%, 656288 KB, 42808 KB/s, 15 seconds passed -... 94%, 656320 KB, 42809 KB/s, 15 seconds passed -... 94%, 656352 KB, 42810 KB/s, 15 seconds passed -... 94%, 656384 KB, 42811 KB/s, 15 seconds passed -... 94%, 656416 KB, 42812 KB/s, 15 seconds passed -... 94%, 656448 KB, 42813 KB/s, 15 seconds passed -... 94%, 656480 KB, 42814 KB/s, 15 seconds passed -... 94%, 656512 KB, 42815 KB/s, 15 seconds passed -... 94%, 656544 KB, 42816 KB/s, 15 seconds passed -... 94%, 656576 KB, 42817 KB/s, 15 seconds passed -... 94%, 656608 KB, 42818 KB/s, 15 seconds passed -... 94%, 656640 KB, 42819 KB/s, 15 seconds passed -... 94%, 656672 KB, 42820 KB/s, 15 seconds passed -... 94%, 656704 KB, 42821 KB/s, 15 seconds passed -... 94%, 656736 KB, 42822 KB/s, 15 seconds passed -... 94%, 656768 KB, 42823 KB/s, 15 seconds passed -... 94%, 656800 KB, 42824 KB/s, 15 seconds passed -... 94%, 656832 KB, 42825 KB/s, 15 seconds passed -... 94%, 656864 KB, 42826 KB/s, 15 seconds passed -... 94%, 656896 KB, 42827 KB/s, 15 seconds passed -... 94%, 656928 KB, 42829 KB/s, 15 seconds passed -... 94%, 656960 KB, 42830 KB/s, 15 seconds passed -... 94%, 656992 KB, 42832 KB/s, 15 seconds passed -... 94%, 657024 KB, 42833 KB/s, 15 seconds passed -... 94%, 657056 KB, 42835 KB/s, 15 seconds passed -... 94%, 657088 KB, 42836 KB/s, 15 seconds passed -... 94%, 657120 KB, 42837 KB/s, 15 seconds passed -... 94%, 657152 KB, 42839 KB/s, 15 seconds passed -... 94%, 657184 KB, 42840 KB/s, 15 seconds passed -... 94%, 657216 KB, 42841 KB/s, 15 seconds passed -... 94%, 657248 KB, 42843 KB/s, 15 seconds passed -... 94%, 657280 KB, 42844 KB/s, 15 seconds passed -... 94%, 657312 KB, 42846 KB/s, 15 seconds passed -... 94%, 657344 KB, 42847 KB/s, 15 seconds passed -... 94%, 657376 KB, 42848 KB/s, 15 seconds passed -... 94%, 657408 KB, 42850 KB/s, 15 seconds passed -... 94%, 657440 KB, 42851 KB/s, 15 seconds passed -... 94%, 657472 KB, 42853 KB/s, 15 seconds passed -... 94%, 657504 KB, 42854 KB/s, 15 seconds passed -... 94%, 657536 KB, 42855 KB/s, 15 seconds passed -... 94%, 657568 KB, 42857 KB/s, 15 seconds passed -... 94%, 657600 KB, 42858 KB/s, 15 seconds passed -... 94%, 657632 KB, 42860 KB/s, 15 seconds passed -... 94%, 657664 KB, 42861 KB/s, 15 seconds passed -... 94%, 657696 KB, 42862 KB/s, 15 seconds passed -... 94%, 657728 KB, 42864 KB/s, 15 seconds passed -... 94%, 657760 KB, 42865 KB/s, 15 seconds passed -... 94%, 657792 KB, 42867 KB/s, 15 seconds passed -... 94%, 657824 KB, 42868 KB/s, 15 seconds passed -... 94%, 657856 KB, 42869 KB/s, 15 seconds passed -... 94%, 657888 KB, 42871 KB/s, 15 seconds passed -... 94%, 657920 KB, 42872 KB/s, 15 seconds passed -... 94%, 657952 KB, 42874 KB/s, 15 seconds passed -... 94%, 657984 KB, 42875 KB/s, 15 seconds passed -... 94%, 658016 KB, 42876 KB/s, 15 seconds passed -... 94%, 658048 KB, 42878 KB/s, 15 seconds passed -... 94%, 658080 KB, 42879 KB/s, 15 seconds passed -... 94%, 658112 KB, 42881 KB/s, 15 seconds passed -... 94%, 658144 KB, 42882 KB/s, 15 seconds passed -... 94%, 658176 KB, 42884 KB/s, 15 seconds passed -... 94%, 658208 KB, 42885 KB/s, 15 seconds passed -... 94%, 658240 KB, 42887 KB/s, 15 seconds passed -... 94%, 658272 KB, 42889 KB/s, 15 seconds passed -... 94%, 658304 KB, 42890 KB/s, 15 seconds passed -... 94%, 658336 KB, 42892 KB/s, 15 seconds passed -... 94%, 658368 KB, 42893 KB/s, 15 seconds passed -... 94%, 658400 KB, 42895 KB/s, 15 seconds passed -... 94%, 658432 KB, 42897 KB/s, 15 seconds passed -... 94%, 658464 KB, 42898 KB/s, 15 seconds passed -... 94%, 658496 KB, 42900 KB/s, 15 seconds passed -... 94%, 658528 KB, 42901 KB/s, 15 seconds passed -... 94%, 658560 KB, 42903 KB/s, 15 seconds passed -... 94%, 658592 KB, 42905 KB/s, 15 seconds passed -... 94%, 658624 KB, 42906 KB/s, 15 seconds passed -... 94%, 658656 KB, 42908 KB/s, 15 seconds passed -... 94%, 658688 KB, 42910 KB/s, 15 seconds passed -... 94%, 658720 KB, 42911 KB/s, 15 seconds passed -... 94%, 658752 KB, 42913 KB/s, 15 seconds passed -... 94%, 658784 KB, 42914 KB/s, 15 seconds passed -... 94%, 658816 KB, 42916 KB/s, 15 seconds passed -... 94%, 658848 KB, 42918 KB/s, 15 seconds passed -... 94%, 658880 KB, 42919 KB/s, 15 seconds passed -... 94%, 658912 KB, 42921 KB/s, 15 seconds passed -... 94%, 658944 KB, 42923 KB/s, 15 seconds passed -... 94%, 658976 KB, 42924 KB/s, 15 seconds passed -... 94%, 659008 KB, 42926 KB/s, 15 seconds passed -... 94%, 659040 KB, 42927 KB/s, 15 seconds passed -... 94%, 659072 KB, 42929 KB/s, 15 seconds passed -... 94%, 659104 KB, 42931 KB/s, 15 seconds passed -... 94%, 659136 KB, 42932 KB/s, 15 seconds passed -... 94%, 659168 KB, 42934 KB/s, 15 seconds passed -... 94%, 659200 KB, 42936 KB/s, 15 seconds passed -... 94%, 659232 KB, 42938 KB/s, 15 seconds passed -... 94%, 659264 KB, 42939 KB/s, 15 seconds passed -... 94%, 659296 KB, 42936 KB/s, 15 seconds passed -... 94%, 659328 KB, 42937 KB/s, 15 seconds passed -... 94%, 659360 KB, 42938 KB/s, 15 seconds passed -... 94%, 659392 KB, 42940 KB/s, 15 seconds passed -... 94%, 659424 KB, 42941 KB/s, 15 seconds passed -... 94%, 659456 KB, 42943 KB/s, 15 seconds passed -... 94%, 659488 KB, 42944 KB/s, 15 seconds passed -... 94%, 659520 KB, 42945 KB/s, 15 seconds passed -... 94%, 659552 KB, 42947 KB/s, 15 seconds passed -... 94%, 659584 KB, 42948 KB/s, 15 seconds passed -... 94%, 659616 KB, 42949 KB/s, 15 seconds passed -... 94%, 659648 KB, 42931 KB/s, 15 seconds passed -... 94%, 659680 KB, 42932 KB/s, 15 seconds passed -... 94%, 659712 KB, 42934 KB/s, 15 seconds passed -... 94%, 659744 KB, 42935 KB/s, 15 seconds passed -... 94%, 659776 KB, 42936 KB/s, 15 seconds passed -... 94%, 659808 KB, 42938 KB/s, 15 seconds passed -... 94%, 659840 KB, 42939 KB/s, 15 seconds passed -... 94%, 659872 KB, 42940 KB/s, 15 seconds passed -... 94%, 659904 KB, 42942 KB/s, 15 seconds passed -... 94%, 659936 KB, 42943 KB/s, 15 seconds passed -... 94%, 659968 KB, 42944 KB/s, 15 seconds passed -... 94%, 660000 KB, 42944 KB/s, 15 seconds passed -... 94%, 660032 KB, 42946 KB/s, 15 seconds passed -... 94%, 660064 KB, 42947 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 94%, 660096 KB, 42948 KB/s, 15 seconds passed -... 94%, 660128 KB, 42950 KB/s, 15 seconds passed -... 94%, 660160 KB, 42951 KB/s, 15 seconds passed -... 94%, 660192 KB, 42952 KB/s, 15 seconds passed -... 94%, 660224 KB, 42954 KB/s, 15 seconds passed -... 94%, 660256 KB, 42955 KB/s, 15 seconds passed -... 94%, 660288 KB, 42956 KB/s, 15 seconds passed -... 94%, 660320 KB, 42958 KB/s, 15 seconds passed -... 94%, 660352 KB, 42959 KB/s, 15 seconds passed -... 94%, 660384 KB, 42960 KB/s, 15 seconds passed -... 94%, 660416 KB, 42961 KB/s, 15 seconds passed -... 94%, 660448 KB, 42963 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 94%, 660480 KB, 42811 KB/s, 15 seconds passed -... 94%, 660512 KB, 42812 KB/s, 15 seconds passed -... 94%, 660544 KB, 42812 KB/s, 15 seconds passed -... 94%, 660576 KB, 42813 KB/s, 15 seconds passed -... 94%, 660608 KB, 42814 KB/s, 15 seconds passed -... 94%, 660640 KB, 42815 KB/s, 15 seconds passed -... 94%, 660672 KB, 42816 KB/s, 15 seconds passed -... 94%, 660704 KB, 42817 KB/s, 15 seconds passed -... 95%, 660736 KB, 42818 KB/s, 15 seconds passed -... 95%, 660768 KB, 42819 KB/s, 15 seconds passed -... 95%, 660800 KB, 42821 KB/s, 15 seconds passed -... 95%, 660832 KB, 42822 KB/s, 15 seconds passed -... 95%, 660864 KB, 42823 KB/s, 15 seconds passed -... 95%, 660896 KB, 42824 KB/s, 15 seconds passed -... 95%, 660928 KB, 42825 KB/s, 15 seconds passed -... 95%, 660960 KB, 42826 KB/s, 15 seconds passed -... 95%, 660992 KB, 42827 KB/s, 15 seconds passed -... 95%, 661024 KB, 42828 KB/s, 15 seconds passed -... 95%, 661056 KB, 42829 KB/s, 15 seconds passed -... 95%, 661088 KB, 42830 KB/s, 15 seconds passed -... 95%, 661120 KB, 42831 KB/s, 15 seconds passed -... 95%, 661152 KB, 42832 KB/s, 15 seconds passed -... 95%, 661184 KB, 42833 KB/s, 15 seconds passed -... 95%, 661216 KB, 42834 KB/s, 15 seconds passed -... 95%, 661248 KB, 42835 KB/s, 15 seconds passed -... 95%, 661280 KB, 42836 KB/s, 15 seconds passed -... 95%, 661312 KB, 42837 KB/s, 15 seconds passed -... 95%, 661344 KB, 42838 KB/s, 15 seconds passed -... 95%, 661376 KB, 42840 KB/s, 15 seconds passed -... 95%, 661408 KB, 42841 KB/s, 15 seconds passed -... 95%, 661440 KB, 42842 KB/s, 15 seconds passed -... 95%, 661472 KB, 42844 KB/s, 15 seconds passed -... 95%, 661504 KB, 42845 KB/s, 15 seconds passed -... 95%, 661536 KB, 42847 KB/s, 15 seconds passed -... 95%, 661568 KB, 42848 KB/s, 15 seconds passed -... 95%, 661600 KB, 42849 KB/s, 15 seconds passed -... 95%, 661632 KB, 42851 KB/s, 15 seconds passed -... 95%, 661664 KB, 42852 KB/s, 15 seconds passed -... 95%, 661696 KB, 42853 KB/s, 15 seconds passed -... 95%, 661728 KB, 42855 KB/s, 15 seconds passed -... 95%, 661760 KB, 42856 KB/s, 15 seconds passed -... 95%, 661792 KB, 42858 KB/s, 15 seconds passed -... 95%, 661824 KB, 42859 KB/s, 15 seconds passed -... 95%, 661856 KB, 42861 KB/s, 15 seconds passed -... 95%, 661888 KB, 42862 KB/s, 15 seconds passed -... 95%, 661920 KB, 42864 KB/s, 15 seconds passed -... 95%, 661952 KB, 42865 KB/s, 15 seconds passed -... 95%, 661984 KB, 42867 KB/s, 15 seconds passed -... 95%, 662016 KB, 42868 KB/s, 15 seconds passed -... 95%, 662048 KB, 42870 KB/s, 15 seconds passed -... 95%, 662080 KB, 42871 KB/s, 15 seconds passed -... 95%, 662112 KB, 42873 KB/s, 15 seconds passed -... 95%, 662144 KB, 42870 KB/s, 15 seconds passed -... 95%, 662176 KB, 42871 KB/s, 15 seconds passed -... 95%, 662208 KB, 42872 KB/s, 15 seconds passed -... 95%, 662240 KB, 42873 KB/s, 15 seconds passed -... 95%, 662272 KB, 42875 KB/s, 15 seconds passed -... 95%, 662304 KB, 42876 KB/s, 15 seconds passed -... 95%, 662336 KB, 42878 KB/s, 15 seconds passed -... 95%, 662368 KB, 42879 KB/s, 15 seconds passed -... 95%, 662400 KB, 42880 KB/s, 15 seconds passed -... 95%, 662432 KB, 42882 KB/s, 15 seconds passed -... 95%, 662464 KB, 42883 KB/s, 15 seconds passed -... 95%, 662496 KB, 42884 KB/s, 15 seconds passed -... 95%, 662528 KB, 42886 KB/s, 15 seconds passed -... 95%, 662560 KB, 42887 KB/s, 15 seconds passed -... 95%, 662592 KB, 42888 KB/s, 15 seconds passed -... 95%, 662624 KB, 42890 KB/s, 15 seconds passed -... 95%, 662656 KB, 42891 KB/s, 15 seconds passed -... 95%, 662688 KB, 42892 KB/s, 15 seconds passed -... 95%, 662720 KB, 42894 KB/s, 15 seconds passed -... 95%, 662752 KB, 42895 KB/s, 15 seconds passed -... 95%, 662784 KB, 42896 KB/s, 15 seconds passed -... 95%, 662816 KB, 42898 KB/s, 15 seconds passed -... 95%, 662848 KB, 42899 KB/s, 15 seconds passed -... 95%, 662880 KB, 42900 KB/s, 15 seconds passed -... 95%, 662912 KB, 42901 KB/s, 15 seconds passed -... 95%, 662944 KB, 42903 KB/s, 15 seconds passed -... 95%, 662976 KB, 42904 KB/s, 15 seconds passed -... 95%, 663008 KB, 42905 KB/s, 15 seconds passed -... 95%, 663040 KB, 42906 KB/s, 15 seconds passed -... 95%, 663072 KB, 42908 KB/s, 15 seconds passed -... 95%, 663104 KB, 42909 KB/s, 15 seconds passed -... 95%, 663136 KB, 42910 KB/s, 15 seconds passed -... 95%, 663168 KB, 42912 KB/s, 15 seconds passed -... 95%, 663200 KB, 42913 KB/s, 15 seconds passed -... 95%, 663232 KB, 42914 KB/s, 15 seconds passed -... 95%, 663264 KB, 42916 KB/s, 15 seconds passed -... 95%, 663296 KB, 42917 KB/s, 15 seconds passed -... 95%, 663328 KB, 42918 KB/s, 15 seconds passed -... 95%, 663360 KB, 42920 KB/s, 15 seconds passed -... 95%, 663392 KB, 42921 KB/s, 15 seconds passed -... 95%, 663424 KB, 42922 KB/s, 15 seconds passed -... 95%, 663456 KB, 42923 KB/s, 15 seconds passed -... 95%, 663488 KB, 42925 KB/s, 15 seconds passed -... 95%, 663520 KB, 42926 KB/s, 15 seconds passed -... 95%, 663552 KB, 42927 KB/s, 15 seconds passed -... 95%, 663584 KB, 42928 KB/s, 15 seconds passed -... 95%, 663616 KB, 42930 KB/s, 15 seconds passed -... 95%, 663648 KB, 42931 KB/s, 15 seconds passed -... 95%, 663680 KB, 42933 KB/s, 15 seconds passed -... 95%, 663712 KB, 42934 KB/s, 15 seconds passed -... 95%, 663744 KB, 42935 KB/s, 15 seconds passed -... 95%, 663776 KB, 42936 KB/s, 15 seconds passed -... 95%, 663808 KB, 42938 KB/s, 15 seconds passed -... 95%, 663840 KB, 42939 KB/s, 15 seconds passed -... 95%, 663872 KB, 42940 KB/s, 15 seconds passed -... 95%, 663904 KB, 42942 KB/s, 15 seconds passed -... 95%, 663936 KB, 42943 KB/s, 15 seconds passed -... 95%, 663968 KB, 42944 KB/s, 15 seconds passed -... 95%, 664000 KB, 42945 KB/s, 15 seconds passed -... 95%, 664032 KB, 42947 KB/s, 15 seconds passed -... 95%, 664064 KB, 42948 KB/s, 15 seconds passed -... 95%, 664096 KB, 42949 KB/s, 15 seconds passed -... 95%, 664128 KB, 42951 KB/s, 15 seconds passed -... 95%, 664160 KB, 42952 KB/s, 15 seconds passed -... 95%, 664192 KB, 42953 KB/s, 15 seconds passed -... 95%, 664224 KB, 42954 KB/s, 15 seconds passed -... 95%, 664256 KB, 42956 KB/s, 15 seconds passed -... 95%, 664288 KB, 42957 KB/s, 15 seconds passed -... 95%, 664320 KB, 42958 KB/s, 15 seconds passed -... 95%, 664352 KB, 42959 KB/s, 15 seconds passed -... 95%, 664384 KB, 42961 KB/s, 15 seconds passed -... 95%, 664416 KB, 42962 KB/s, 15 seconds passed -... 95%, 664448 KB, 42964 KB/s, 15 seconds passed -... 95%, 664480 KB, 42965 KB/s, 15 seconds passed -... 95%, 664512 KB, 42966 KB/s, 15 seconds passed -... 95%, 664544 KB, 42967 KB/s, 15 seconds passed -... 95%, 664576 KB, 42968 KB/s, 15 seconds passed -... 95%, 664608 KB, 42970 KB/s, 15 seconds passed -... 95%, 664640 KB, 42971 KB/s, 15 seconds passed -... 95%, 664672 KB, 42972 KB/s, 15 seconds passed -... 95%, 664704 KB, 42973 KB/s, 15 seconds passed -... 95%, 664736 KB, 42974 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 95%, 664768 KB, 42868 KB/s, 15 seconds passed -... 95%, 664800 KB, 42869 KB/s, 15 seconds passed -... 95%, 664832 KB, 42870 KB/s, 15 seconds passed -... 95%, 664864 KB, 42870 KB/s, 15 seconds passed -... 95%, 664896 KB, 42871 KB/s, 15 seconds passed -... 95%, 664928 KB, 42872 KB/s, 15 seconds passed -... 95%, 664960 KB, 42873 KB/s, 15 seconds passed -... 95%, 664992 KB, 42874 KB/s, 15 seconds passed -... 95%, 665024 KB, 42875 KB/s, 15 seconds passed -... 95%, 665056 KB, 42876 KB/s, 15 seconds passed -... 95%, 665088 KB, 42877 KB/s, 15 seconds passed -... 95%, 665120 KB, 42878 KB/s, 15 seconds passed -... 95%, 665152 KB, 42879 KB/s, 15 seconds passed -... 95%, 665184 KB, 42880 KB/s, 15 seconds passed -... 95%, 665216 KB, 42881 KB/s, 15 seconds passed -... 95%, 665248 KB, 42882 KB/s, 15 seconds passed -... 95%, 665280 KB, 42883 KB/s, 15 seconds passed -... 95%, 665312 KB, 42884 KB/s, 15 seconds passed -... 95%, 665344 KB, 42885 KB/s, 15 seconds passed -... 95%, 665376 KB, 42887 KB/s, 15 seconds passed -... 95%, 665408 KB, 42888 KB/s, 15 seconds passed -... 95%, 665440 KB, 42889 KB/s, 15 seconds passed -... 95%, 665472 KB, 42891 KB/s, 15 seconds passed -... 95%, 665504 KB, 42892 KB/s, 15 seconds passed -... 95%, 665536 KB, 42893 KB/s, 15 seconds passed -... 95%, 665568 KB, 42894 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 95%, 665600 KB, 42756 KB/s, 15 seconds passed -... 95%, 665632 KB, 42757 KB/s, 15 seconds passed -... 95%, 665664 KB, 42758 KB/s, 15 seconds passed -... 95%, 665696 KB, 42759 KB/s, 15 seconds passed -... 95%, 665728 KB, 42760 KB/s, 15 seconds passed -... 95%, 665760 KB, 42761 KB/s, 15 seconds passed -... 95%, 665792 KB, 42762 KB/s, 15 seconds passed -... 95%, 665824 KB, 42763 KB/s, 15 seconds passed -... 95%, 665856 KB, 42756 KB/s, 15 seconds passed -... 95%, 665888 KB, 42757 KB/s, 15 seconds passed -... 95%, 665920 KB, 42758 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 95%, 665952 KB, 42759 KB/s, 15 seconds passed -... 95%, 665984 KB, 42760 KB/s, 15 seconds passed -... 95%, 666016 KB, 42761 KB/s, 15 seconds passed -... 95%, 666048 KB, 42762 KB/s, 15 seconds passed -... 95%, 666080 KB, 42763 KB/s, 15 seconds passed -... 95%, 666112 KB, 42764 KB/s, 15 seconds passed -... 95%, 666144 KB, 42765 KB/s, 15 seconds passed -... 95%, 666176 KB, 42766 KB/s, 15 seconds passed -... 95%, 666208 KB, 42767 KB/s, 15 seconds passed -... 95%, 666240 KB, 42768 KB/s, 15 seconds passed -... 95%, 666272 KB, 42769 KB/s, 15 seconds passed -... 95%, 666304 KB, 42770 KB/s, 15 seconds passed -... 95%, 666336 KB, 42771 KB/s, 15 seconds passed -... 95%, 666368 KB, 42772 KB/s, 15 seconds passed -... 95%, 666400 KB, 42773 KB/s, 15 seconds passed -... 95%, 666432 KB, 42774 KB/s, 15 seconds passed -... 95%, 666464 KB, 42775 KB/s, 15 seconds passed -... 95%, 666496 KB, 42777 KB/s, 15 seconds passed -... 95%, 666528 KB, 42778 KB/s, 15 seconds passed -... 95%, 666560 KB, 42779 KB/s, 15 seconds passed -... 95%, 666592 KB, 42780 KB/s, 15 seconds passed -... 95%, 666624 KB, 42782 KB/s, 15 seconds passed -... 95%, 666656 KB, 42783 KB/s, 15 seconds passed -... 95%, 666688 KB, 42784 KB/s, 15 seconds passed -... 95%, 666720 KB, 42776 KB/s, 15 seconds passed -... 95%, 666752 KB, 42776 KB/s, 15 seconds passed -... 95%, 666784 KB, 42777 KB/s, 15 seconds passed -... 95%, 666816 KB, 42778 KB/s, 15 seconds passed -... 95%, 666848 KB, 42779 KB/s, 15 seconds passed -... 95%, 666880 KB, 42780 KB/s, 15 seconds passed -... 95%, 666912 KB, 42781 KB/s, 15 seconds passed -... 95%, 666944 KB, 42782 KB/s, 15 seconds passed -... 95%, 666976 KB, 42784 KB/s, 15 seconds passed -... 95%, 667008 KB, 42785 KB/s, 15 seconds passed -... 95%, 667040 KB, 42786 KB/s, 15 seconds passed -... 95%, 667072 KB, 42787 KB/s, 15 seconds passed -... 95%, 667104 KB, 42788 KB/s, 15 seconds passed -... 95%, 667136 KB, 42789 KB/s, 15 seconds passed -... 95%, 667168 KB, 42790 KB/s, 15 seconds passed -... 95%, 667200 KB, 42792 KB/s, 15 seconds passed -... 95%, 667232 KB, 42793 KB/s, 15 seconds passed -... 95%, 667264 KB, 42794 KB/s, 15 seconds passed -... 95%, 667296 KB, 42795 KB/s, 15 seconds passed -... 95%, 667328 KB, 42796 KB/s, 15 seconds passed -... 95%, 667360 KB, 42797 KB/s, 15 seconds passed -... 95%, 667392 KB, 42799 KB/s, 15 seconds passed -... 95%, 667424 KB, 42800 KB/s, 15 seconds passed -... 95%, 667456 KB, 42801 KB/s, 15 seconds passed -... 95%, 667488 KB, 42802 KB/s, 15 seconds passed -... 95%, 667520 KB, 42803 KB/s, 15 seconds passed -... 95%, 667552 KB, 42804 KB/s, 15 seconds passed -... 95%, 667584 KB, 42806 KB/s, 15 seconds passed -... 95%, 667616 KB, 42807 KB/s, 15 seconds passed -... 95%, 667648 KB, 42808 KB/s, 15 seconds passed -... 95%, 667680 KB, 42809 KB/s, 15 seconds passed -... 96%, 667712 KB, 42810 KB/s, 15 seconds passed -... 96%, 667744 KB, 42811 KB/s, 15 seconds passed -... 96%, 667776 KB, 42812 KB/s, 15 seconds passed -... 96%, 667808 KB, 42813 KB/s, 15 seconds passed -... 96%, 667840 KB, 42815 KB/s, 15 seconds passed -... 96%, 667872 KB, 42816 KB/s, 15 seconds passed -... 96%, 667904 KB, 42817 KB/s, 15 seconds passed -... 96%, 667936 KB, 42818 KB/s, 15 seconds passed -... 96%, 667968 KB, 42820 KB/s, 15 seconds passed -... 96%, 668000 KB, 42821 KB/s, 15 seconds passed -... 96%, 668032 KB, 42822 KB/s, 15 seconds passed -... 96%, 668064 KB, 42824 KB/s, 15 seconds passed -... 96%, 668096 KB, 42825 KB/s, 15 seconds passed -... 96%, 668128 KB, 42827 KB/s, 15 seconds passed -... 96%, 668160 KB, 42828 KB/s, 15 seconds passed -... 96%, 668192 KB, 42830 KB/s, 15 seconds passed -... 96%, 668224 KB, 42831 KB/s, 15 seconds passed -... 96%, 668256 KB, 42833 KB/s, 15 seconds passed -... 96%, 668288 KB, 42834 KB/s, 15 seconds passed -... 96%, 668320 KB, 42836 KB/s, 15 seconds passed -... 96%, 668352 KB, 42837 KB/s, 15 seconds passed -... 96%, 668384 KB, 42839 KB/s, 15 seconds passed -... 96%, 668416 KB, 42840 KB/s, 15 seconds passed -... 96%, 668448 KB, 42842 KB/s, 15 seconds passed -... 96%, 668480 KB, 42843 KB/s, 15 seconds passed -... 96%, 668512 KB, 42844 KB/s, 15 seconds passed -... 96%, 668544 KB, 42846 KB/s, 15 seconds passed -... 96%, 668576 KB, 42847 KB/s, 15 seconds passed -... 96%, 668608 KB, 42849 KB/s, 15 seconds passed -... 96%, 668640 KB, 42850 KB/s, 15 seconds passed -... 96%, 668672 KB, 42852 KB/s, 15 seconds passed -... 96%, 668704 KB, 42853 KB/s, 15 seconds passed -... 96%, 668736 KB, 42855 KB/s, 15 seconds passed -... 96%, 668768 KB, 42856 KB/s, 15 seconds passed -... 96%, 668800 KB, 42858 KB/s, 15 seconds passed -... 96%, 668832 KB, 42859 KB/s, 15 seconds passed -... 96%, 668864 KB, 42861 KB/s, 15 seconds passed -... 96%, 668896 KB, 42862 KB/s, 15 seconds passed -... 96%, 668928 KB, 42863 KB/s, 15 seconds passed -... 96%, 668960 KB, 42865 KB/s, 15 seconds passed -... 96%, 668992 KB, 42866 KB/s, 15 seconds passed -... 96%, 669024 KB, 42868 KB/s, 15 seconds passed -... 96%, 669056 KB, 42869 KB/s, 15 seconds passed -... 96%, 669088 KB, 42871 KB/s, 15 seconds passed -... 96%, 669120 KB, 42872 KB/s, 15 seconds passed -... 96%, 669152 KB, 42874 KB/s, 15 seconds passed -... 96%, 669184 KB, 42875 KB/s, 15 seconds passed -... 96%, 669216 KB, 42876 KB/s, 15 seconds passed -... 96%, 669248 KB, 42878 KB/s, 15 seconds passed -... 96%, 669280 KB, 42879 KB/s, 15 seconds passed -... 96%, 669312 KB, 42880 KB/s, 15 seconds passed -... 96%, 669344 KB, 42868 KB/s, 15 seconds passed -... 96%, 669376 KB, 42868 KB/s, 15 seconds passed -... 96%, 669408 KB, 42869 KB/s, 15 seconds passed -... 96%, 669440 KB, 42870 KB/s, 15 seconds passed -... 96%, 669472 KB, 42871 KB/s, 15 seconds passed -... 96%, 669504 KB, 42873 KB/s, 15 seconds passed -... 96%, 669536 KB, 42874 KB/s, 15 seconds passed -... 96%, 669568 KB, 42876 KB/s, 15 seconds passed -... 96%, 669600 KB, 42877 KB/s, 15 seconds passed -... 96%, 669632 KB, 42879 KB/s, 15 seconds passed -... 96%, 669664 KB, 42880 KB/s, 15 seconds passed -... 96%, 669696 KB, 42881 KB/s, 15 seconds passed -... 96%, 669728 KB, 42882 KB/s, 15 seconds passed -... 96%, 669760 KB, 42884 KB/s, 15 seconds passed -... 96%, 669792 KB, 42885 KB/s, 15 seconds passed -... 96%, 669824 KB, 42886 KB/s, 15 seconds passed -... 96%, 669856 KB, 42887 KB/s, 15 seconds passed -... 96%, 669888 KB, 42889 KB/s, 15 seconds passed -... 96%, 669920 KB, 42890 KB/s, 15 seconds passed -... 96%, 669952 KB, 42891 KB/s, 15 seconds passed -... 96%, 669984 KB, 42893 KB/s, 15 seconds passed -... 96%, 670016 KB, 42894 KB/s, 15 seconds passed -... 96%, 670048 KB, 42895 KB/s, 15 seconds passed -... 96%, 670080 KB, 42896 KB/s, 15 seconds passed -... 96%, 670112 KB, 42898 KB/s, 15 seconds passed -... 96%, 670144 KB, 42899 KB/s, 15 seconds passed -... 96%, 670176 KB, 42900 KB/s, 15 seconds passed -... 96%, 670208 KB, 42902 KB/s, 15 seconds passed -... 96%, 670240 KB, 42903 KB/s, 15 seconds passed -... 96%, 670272 KB, 42904 KB/s, 15 seconds passed -... 96%, 670304 KB, 42905 KB/s, 15 seconds passed -... 96%, 670336 KB, 42906 KB/s, 15 seconds passed -... 96%, 670368 KB, 42907 KB/s, 15 seconds passed -... 96%, 670400 KB, 42908 KB/s, 15 seconds passed -... 96%, 670432 KB, 42910 KB/s, 15 seconds passed -... 96%, 670464 KB, 42911 KB/s, 15 seconds passed -... 96%, 670496 KB, 42913 KB/s, 15 seconds passed -... 96%, 670528 KB, 42914 KB/s, 15 seconds passed -... 96%, 670560 KB, 42916 KB/s, 15 seconds passed -... 96%, 670592 KB, 42917 KB/s, 15 seconds passed -... 96%, 670624 KB, 42918 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 96%, 670656 KB, 42920 KB/s, 15 seconds passed -... 96%, 670688 KB, 42921 KB/s, 15 seconds passed -... 96%, 670720 KB, 42918 KB/s, 15 seconds passed -... 96%, 670752 KB, 42919 KB/s, 15 seconds passed -... 96%, 670784 KB, 42920 KB/s, 15 seconds passed -... 96%, 670816 KB, 42922 KB/s, 15 seconds passed -... 96%, 670848 KB, 42923 KB/s, 15 seconds passed -... 96%, 670880 KB, 42924 KB/s, 15 seconds passed -... 96%, 670912 KB, 42925 KB/s, 15 seconds passed -... 96%, 670944 KB, 42927 KB/s, 15 seconds passed -... 96%, 670976 KB, 42928 KB/s, 15 seconds passed -... 96%, 671008 KB, 42929 KB/s, 15 seconds passed -... 96%, 671040 KB, 42931 KB/s, 15 seconds passed -... 96%, 671072 KB, 42932 KB/s, 15 seconds passed -... 96%, 671104 KB, 42933 KB/s, 15 seconds passed -... 96%, 671136 KB, 42934 KB/s, 15 seconds passed -... 96%, 671168 KB, 42935 KB/s, 15 seconds passed -... 96%, 671200 KB, 42936 KB/s, 15 seconds passed -... 96%, 671232 KB, 42937 KB/s, 15 seconds passed -... 96%, 671264 KB, 42939 KB/s, 15 seconds passed -... 96%, 671296 KB, 42940 KB/s, 15 seconds passed -... 96%, 671328 KB, 42942 KB/s, 15 seconds passed -... 96%, 671360 KB, 42930 KB/s, 15 seconds passed -... 96%, 671392 KB, 42931 KB/s, 15 seconds passed -... 96%, 671424 KB, 42932 KB/s, 15 seconds passed -... 96%, 671456 KB, 42934 KB/s, 15 seconds passed -... 96%, 671488 KB, 42935 KB/s, 15 seconds passed -... 96%, 671520 KB, 42936 KB/s, 15 seconds passed -... 96%, 671552 KB, 42938 KB/s, 15 seconds passed -... 96%, 671584 KB, 42939 KB/s, 15 seconds passed -... 96%, 671616 KB, 42940 KB/s, 15 seconds passed -... 96%, 671648 KB, 42941 KB/s, 15 seconds passed -... 96%, 671680 KB, 42943 KB/s, 15 seconds passed -... 96%, 671712 KB, 42944 KB/s, 15 seconds passed -... 96%, 671744 KB, 42945 KB/s, 15 seconds passed -... 96%, 671776 KB, 42947 KB/s, 15 seconds passed -... 96%, 671808 KB, 42948 KB/s, 15 seconds passed -... 96%, 671840 KB, 42949 KB/s, 15 seconds passed -... 96%, 671872 KB, 42951 KB/s, 15 seconds passed -... 96%, 671904 KB, 42952 KB/s, 15 seconds passed -... 96%, 671936 KB, 42953 KB/s, 15 seconds passed -... 96%, 671968 KB, 42954 KB/s, 15 seconds passed -... 96%, 672000 KB, 42955 KB/s, 15 seconds passed -... 96%, 672032 KB, 42957 KB/s, 15 seconds passed -... 96%, 672064 KB, 42958 KB/s, 15 seconds passed -... 96%, 672096 KB, 42959 KB/s, 15 seconds passed -... 96%, 672128 KB, 42961 KB/s, 15 seconds passed -... 96%, 672160 KB, 42962 KB/s, 15 seconds passed -... 96%, 672192 KB, 42963 KB/s, 15 seconds passed -... 96%, 672224 KB, 42964 KB/s, 15 seconds passed -... 96%, 672256 KB, 42966 KB/s, 15 seconds passed -... 96%, 672288 KB, 42967 KB/s, 15 seconds passed -... 96%, 672320 KB, 42968 KB/s, 15 seconds passed -... 96%, 672352 KB, 42970 KB/s, 15 seconds passed -... 96%, 672384 KB, 42971 KB/s, 15 seconds passed -... 96%, 672416 KB, 42972 KB/s, 15 seconds passed -... 96%, 672448 KB, 42974 KB/s, 15 seconds passed -... 96%, 672480 KB, 42975 KB/s, 15 seconds passed -... 96%, 672512 KB, 42976 KB/s, 15 seconds passed -... 96%, 672544 KB, 42977 KB/s, 15 seconds passed -... 96%, 672576 KB, 42978 KB/s, 15 seconds passed -... 96%, 672608 KB, 42980 KB/s, 15 seconds passed -... 96%, 672640 KB, 42981 KB/s, 15 seconds passed -... 96%, 672672 KB, 42982 KB/s, 15 seconds passed -... 96%, 672704 KB, 42984 KB/s, 15 seconds passed -... 96%, 672736 KB, 42985 KB/s, 15 seconds passed -... 96%, 672768 KB, 42986 KB/s, 15 seconds passed -... 96%, 672800 KB, 42988 KB/s, 15 seconds passed -... 96%, 672832 KB, 42989 KB/s, 15 seconds passed -... 96%, 672864 KB, 42990 KB/s, 15 seconds passed -... 96%, 672896 KB, 42991 KB/s, 15 seconds passed -... 96%, 672928 KB, 42993 KB/s, 15 seconds passed -... 96%, 672960 KB, 42994 KB/s, 15 seconds passed -... 96%, 672992 KB, 42995 KB/s, 15 seconds passed -... 96%, 673024 KB, 42997 KB/s, 15 seconds passed -... 96%, 673056 KB, 42998 KB/s, 15 seconds passed -... 96%, 673088 KB, 42999 KB/s, 15 seconds passed -... 96%, 673120 KB, 43000 KB/s, 15 seconds passed -... 96%, 673152 KB, 43001 KB/s, 15 seconds passed -... 96%, 673184 KB, 43003 KB/s, 15 seconds passed -... 96%, 673216 KB, 43004 KB/s, 15 seconds passed -... 96%, 673248 KB, 43005 KB/s, 15 seconds passed -... 96%, 673280 KB, 43007 KB/s, 15 seconds passed -... 96%, 673312 KB, 43008 KB/s, 15 seconds passed -... 96%, 673344 KB, 43009 KB/s, 15 seconds passed -... 96%, 673376 KB, 43011 KB/s, 15 seconds passed -... 96%, 673408 KB, 43000 KB/s, 15 seconds passed -... 96%, 673440 KB, 43001 KB/s, 15 seconds passed -... 96%, 673472 KB, 43002 KB/s, 15 seconds passed -... 96%, 673504 KB, 43003 KB/s, 15 seconds passed -... 96%, 673536 KB, 43004 KB/s, 15 seconds passed -... 96%, 673568 KB, 43005 KB/s, 15 seconds passed -... 96%, 673600 KB, 43006 KB/s, 15 seconds passed -... 96%, 673632 KB, 43007 KB/s, 15 seconds passed -... 96%, 673664 KB, 43009 KB/s, 15 seconds passed -... 96%, 673696 KB, 43010 KB/s, 15 seconds passed -... 96%, 673728 KB, 43011 KB/s, 15 seconds passed -... 96%, 673760 KB, 43012 KB/s, 15 seconds passed -... 96%, 673792 KB, 43013 KB/s, 15 seconds passed -... 96%, 673824 KB, 43014 KB/s, 15 seconds passed -... 96%, 673856 KB, 43015 KB/s, 15 seconds passed -... 96%, 673888 KB, 43016 KB/s, 15 seconds passed -... 96%, 673920 KB, 43017 KB/s, 15 seconds passed -... 96%, 673952 KB, 43018 KB/s, 15 seconds passed -... 96%, 673984 KB, 43019 KB/s, 15 seconds passed -... 96%, 674016 KB, 43020 KB/s, 15 seconds passed -... 96%, 674048 KB, 43021 KB/s, 15 seconds passed -... 96%, 674080 KB, 43022 KB/s, 15 seconds passed -... 96%, 674112 KB, 43024 KB/s, 15 seconds passed -... 96%, 674144 KB, 43025 KB/s, 15 seconds passed -... 96%, 674176 KB, 43026 KB/s, 15 seconds passed -... 96%, 674208 KB, 43024 KB/s, 15 seconds passed -... 96%, 674240 KB, 43025 KB/s, 15 seconds passed -... 96%, 674272 KB, 43026 KB/s, 15 seconds passed -... 96%, 674304 KB, 43028 KB/s, 15 seconds passed -... 96%, 674336 KB, 43029 KB/s, 15 seconds passed -... 96%, 674368 KB, 43030 KB/s, 15 seconds passed -... 96%, 674400 KB, 43031 KB/s, 15 seconds passed -... 96%, 674432 KB, 43033 KB/s, 15 seconds passed -... 96%, 674464 KB, 43034 KB/s, 15 seconds passed -... 96%, 674496 KB, 43035 KB/s, 15 seconds passed -... 96%, 674528 KB, 43036 KB/s, 15 seconds passed -... 96%, 674560 KB, 43037 KB/s, 15 seconds passed -... 96%, 674592 KB, 43039 KB/s, 15 seconds passed -... 96%, 674624 KB, 43040 KB/s, 15 seconds passed -... 97%, 674656 KB, 43041 KB/s, 15 seconds passed -... 97%, 674688 KB, 43042 KB/s, 15 seconds passed -... 97%, 674720 KB, 43044 KB/s, 15 seconds passed -... 97%, 674752 KB, 43045 KB/s, 15 seconds passed -... 97%, 674784 KB, 43046 KB/s, 15 seconds passed -... 97%, 674816 KB, 43047 KB/s, 15 seconds passed -... 97%, 674848 KB, 43049 KB/s, 15 seconds passed -... 97%, 674880 KB, 43050 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 97%, 674912 KB, 43051 KB/s, 15 seconds passed -... 97%, 674944 KB, 43052 KB/s, 15 seconds passed -... 97%, 674976 KB, 43053 KB/s, 15 seconds passed -... 97%, 675008 KB, 43055 KB/s, 15 seconds passed -... 97%, 675040 KB, 43056 KB/s, 15 seconds passed -... 97%, 675072 KB, 43057 KB/s, 15 seconds passed -... 97%, 675104 KB, 43058 KB/s, 15 seconds passed -... 97%, 675136 KB, 43060 KB/s, 15 seconds passed -... 97%, 675168 KB, 43061 KB/s, 15 seconds passed -... 97%, 675200 KB, 43062 KB/s, 15 seconds passed -... 97%, 675232 KB, 43063 KB/s, 15 seconds passed -... 97%, 675264 KB, 43065 KB/s, 15 seconds passed -... 97%, 675296 KB, 43066 KB/s, 15 seconds passed -... 97%, 675328 KB, 43067 KB/s, 15 seconds passed -... 97%, 675360 KB, 43069 KB/s, 15 seconds passed -... 97%, 675392 KB, 43070 KB/s, 15 seconds passed -... 97%, 675424 KB, 43072 KB/s, 15 seconds passed -... 97%, 675456 KB, 43073 KB/s, 15 seconds passed -... 97%, 675488 KB, 43075 KB/s, 15 seconds passed -... 97%, 675520 KB, 43076 KB/s, 15 seconds passed -... 97%, 675552 KB, 43078 KB/s, 15 seconds passed -... 97%, 675584 KB, 43079 KB/s, 15 seconds passed -... 97%, 675616 KB, 43081 KB/s, 15 seconds passed -... 97%, 675648 KB, 43082 KB/s, 15 seconds passed -... 97%, 675680 KB, 43083 KB/s, 15 seconds passed -... 97%, 675712 KB, 43084 KB/s, 15 seconds passed -... 97%, 675744 KB, 43086 KB/s, 15 seconds passed -... 97%, 675776 KB, 43087 KB/s, 15 seconds passed -... 97%, 675808 KB, 43088 KB/s, 15 seconds passed -... 97%, 675840 KB, 43056 KB/s, 15 seconds passed -... 97%, 675872 KB, 43057 KB/s, 15 seconds passed -... 97%, 675904 KB, 43058 KB/s, 15 seconds passed -... 97%, 675936 KB, 43053 KB/s, 15 seconds passed -... 97%, 675968 KB, 43055 KB/s, 15 seconds passed -... 97%, 676000 KB, 43056 KB/s, 15 seconds passed -... 97%, 676032 KB, 43057 KB/s, 15 seconds passed -... 97%, 676064 KB, 43058 KB/s, 15 seconds passed -... 97%, 676096 KB, 43059 KB/s, 15 seconds passed -... 97%, 676128 KB, 43060 KB/s, 15 seconds passed -... 97%, 676160 KB, 43061 KB/s, 15 seconds passed -... 97%, 676192 KB, 43062 KB/s, 15 seconds passed -... 97%, 676224 KB, 43063 KB/s, 15 seconds passed -... 97%, 676256 KB, 43064 KB/s, 15 seconds passed -... 97%, 676288 KB, 43065 KB/s, 15 seconds passed -... 97%, 676320 KB, 43066 KB/s, 15 seconds passed -... 97%, 676352 KB, 43067 KB/s, 15 seconds passed -... 97%, 676384 KB, 43068 KB/s, 15 seconds passed -... 97%, 676416 KB, 43069 KB/s, 15 seconds passed -... 97%, 676448 KB, 43070 KB/s, 15 seconds passed -... 97%, 676480 KB, 43071 KB/s, 15 seconds passed -... 97%, 676512 KB, 43072 KB/s, 15 seconds passed -... 97%, 676544 KB, 43073 KB/s, 15 seconds passed -... 97%, 676576 KB, 43074 KB/s, 15 seconds passed -... 97%, 676608 KB, 43075 KB/s, 15 seconds passed -... 97%, 676640 KB, 43076 KB/s, 15 seconds passed -... 97%, 676672 KB, 43077 KB/s, 15 seconds passed -... 97%, 676704 KB, 43078 KB/s, 15 seconds passed -... 97%, 676736 KB, 43079 KB/s, 15 seconds passed -... 97%, 676768 KB, 43080 KB/s, 15 seconds passed -... 97%, 676800 KB, 43081 KB/s, 15 seconds passed -... 97%, 676832 KB, 43082 KB/s, 15 seconds passed -... 97%, 676864 KB, 43083 KB/s, 15 seconds passed -... 97%, 676896 KB, 43084 KB/s, 15 seconds passed -... 97%, 676928 KB, 43086 KB/s, 15 seconds passed -... 97%, 676960 KB, 43087 KB/s, 15 seconds passed -... 97%, 676992 KB, 43089 KB/s, 15 seconds passed -... 97%, 677024 KB, 43090 KB/s, 15 seconds passed -... 97%, 677056 KB, 43091 KB/s, 15 seconds passed -... 97%, 677088 KB, 43093 KB/s, 15 seconds passed -... 97%, 677120 KB, 43094 KB/s, 15 seconds passed -... 97%, 677152 KB, 43095 KB/s, 15 seconds passed -... 97%, 677184 KB, 43097 KB/s, 15 seconds passed -... 97%, 677216 KB, 43098 KB/s, 15 seconds passed -... 97%, 677248 KB, 43100 KB/s, 15 seconds passed -... 97%, 677280 KB, 43101 KB/s, 15 seconds passed -... 97%, 677312 KB, 43102 KB/s, 15 seconds passed -... 97%, 677344 KB, 43104 KB/s, 15 seconds passed -... 97%, 677376 KB, 43105 KB/s, 15 seconds passed -... 97%, 677408 KB, 43106 KB/s, 15 seconds passed -... 97%, 677440 KB, 43108 KB/s, 15 seconds passed -... 97%, 677472 KB, 43109 KB/s, 15 seconds passed -... 97%, 677504 KB, 43110 KB/s, 15 seconds passed -... 97%, 677536 KB, 43112 KB/s, 15 seconds passed -... 97%, 677568 KB, 43113 KB/s, 15 seconds passed -... 97%, 677600 KB, 43115 KB/s, 15 seconds passed -... 97%, 677632 KB, 43116 KB/s, 15 seconds passed -... 97%, 677664 KB, 43117 KB/s, 15 seconds passed -... 97%, 677696 KB, 43119 KB/s, 15 seconds passed -... 97%, 677728 KB, 43120 KB/s, 15 seconds passed -... 97%, 677760 KB, 43121 KB/s, 15 seconds passed -... 97%, 677792 KB, 43123 KB/s, 15 seconds passed -... 97%, 677824 KB, 43124 KB/s, 15 seconds passed -... 97%, 677856 KB, 43126 KB/s, 15 seconds passed -... 97%, 677888 KB, 43127 KB/s, 15 seconds passed -... 97%, 677920 KB, 43128 KB/s, 15 seconds passed -... 97%, 677952 KB, 43130 KB/s, 15 seconds passed -... 97%, 677984 KB, 43131 KB/s, 15 seconds passed -... 97%, 678016 KB, 43132 KB/s, 15 seconds passed -... 97%, 678048 KB, 43134 KB/s, 15 seconds passed -... 97%, 678080 KB, 43135 KB/s, 15 seconds passed -... 97%, 678112 KB, 43137 KB/s, 15 seconds passed -... 97%, 678144 KB, 43138 KB/s, 15 seconds passed -... 97%, 678176 KB, 43139 KB/s, 15 seconds passed -... 97%, 678208 KB, 43141 KB/s, 15 seconds passed -... 97%, 678240 KB, 43142 KB/s, 15 seconds passed -... 97%, 678272 KB, 43144 KB/s, 15 seconds passed -... 97%, 678304 KB, 43146 KB/s, 15 seconds passed -... 97%, 678336 KB, 43147 KB/s, 15 seconds passed -... 97%, 678368 KB, 43149 KB/s, 15 seconds passed -... 97%, 678400 KB, 43150 KB/s, 15 seconds passed -... 97%, 678432 KB, 43152 KB/s, 15 seconds passed -... 97%, 678464 KB, 43154 KB/s, 15 seconds passed -... 97%, 678496 KB, 43155 KB/s, 15 seconds passed -... 97%, 678528 KB, 43157 KB/s, 15 seconds passed -... 97%, 678560 KB, 43158 KB/s, 15 seconds passed -... 97%, 678592 KB, 43159 KB/s, 15 seconds passed -... 97%, 678624 KB, 43160 KB/s, 15 seconds passed -... 97%, 678656 KB, 43161 KB/s, 15 seconds passed -... 97%, 678688 KB, 43163 KB/s, 15 seconds passed -... 97%, 678720 KB, 43164 KB/s, 15 seconds passed -... 97%, 678752 KB, 43165 KB/s, 15 seconds passed -... 97%, 678784 KB, 43167 KB/s, 15 seconds passed -... 97%, 678816 KB, 43168 KB/s, 15 seconds passed -... 97%, 678848 KB, 43169 KB/s, 15 seconds passed -... 97%, 678880 KB, 43170 KB/s, 15 seconds passed -... 97%, 678912 KB, 43171 KB/s, 15 seconds passed -... 97%, 678944 KB, 43173 KB/s, 15 seconds passed -... 97%, 678976 KB, 43174 KB/s, 15 seconds passed -... 97%, 679008 KB, 43175 KB/s, 15 seconds passed -... 97%, 679040 KB, 43177 KB/s, 15 seconds passed -... 97%, 679072 KB, 43178 KB/s, 15 seconds passed -... 97%, 679104 KB, 43178 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 97%, 679136 KB, 43180 KB/s, 15 seconds passed -... 97%, 679168 KB, 43181 KB/s, 15 seconds passed -... 97%, 679200 KB, 43183 KB/s, 15 seconds passed -... 97%, 679232 KB, 43184 KB/s, 15 seconds passed -... 97%, 679264 KB, 43186 KB/s, 15 seconds passed -... 97%, 679296 KB, 43187 KB/s, 15 seconds passed -... 97%, 679328 KB, 43188 KB/s, 15 seconds passed -... 97%, 679360 KB, 43190 KB/s, 15 seconds passed -... 97%, 679392 KB, 43191 KB/s, 15 seconds passed -... 97%, 679424 KB, 43192 KB/s, 15 seconds passed -... 97%, 679456 KB, 43193 KB/s, 15 seconds passed -... 97%, 679488 KB, 43195 KB/s, 15 seconds passed -... 97%, 679520 KB, 43196 KB/s, 15 seconds passed -... 97%, 679552 KB, 43197 KB/s, 15 seconds passed -... 97%, 679584 KB, 43199 KB/s, 15 seconds passed -... 97%, 679616 KB, 43200 KB/s, 15 seconds passed -... 97%, 679648 KB, 43191 KB/s, 15 seconds passed -... 97%, 679680 KB, 43193 KB/s, 15 seconds passed -... 97%, 679712 KB, 43194 KB/s, 15 seconds passed -... 97%, 679744 KB, 43195 KB/s, 15 seconds passed -... 97%, 679776 KB, 43197 KB/s, 15 seconds passed -... 97%, 679808 KB, 43198 KB/s, 15 seconds passed -... 97%, 679840 KB, 43199 KB/s, 15 seconds passed -... 97%, 679872 KB, 43201 KB/s, 15 seconds passed -... 97%, 679904 KB, 43202 KB/s, 15 seconds passed -... 97%, 679936 KB, 43203 KB/s, 15 seconds passed -... 97%, 679968 KB, 43204 KB/s, 15 seconds passed -... 97%, 680000 KB, 43206 KB/s, 15 seconds passed -... 97%, 680032 KB, 43207 KB/s, 15 seconds passed -... 97%, 680064 KB, 43208 KB/s, 15 seconds passed -... 97%, 680096 KB, 43209 KB/s, 15 seconds passed -... 97%, 680128 KB, 43210 KB/s, 15 seconds passed -... 97%, 680160 KB, 43212 KB/s, 15 seconds passed -... 97%, 680192 KB, 43213 KB/s, 15 seconds passed -... 97%, 680224 KB, 43214 KB/s, 15 seconds passed -... 97%, 680256 KB, 43216 KB/s, 15 seconds passed -... 97%, 680288 KB, 43217 KB/s, 15 seconds passed -... 97%, 680320 KB, 43218 KB/s, 15 seconds passed -... 97%, 680352 KB, 43220 KB/s, 15 seconds passed -... 97%, 680384 KB, 43221 KB/s, 15 seconds passed -... 97%, 680416 KB, 43222 KB/s, 15 seconds passed -... 97%, 680448 KB, 43223 KB/s, 15 seconds passed -... 97%, 680480 KB, 43225 KB/s, 15 seconds passed -... 97%, 680512 KB, 43226 KB/s, 15 seconds passed -... 97%, 680544 KB, 43227 KB/s, 15 seconds passed -... 97%, 680576 KB, 43228 KB/s, 15 seconds passed -... 97%, 680608 KB, 43230 KB/s, 15 seconds passed -... 97%, 680640 KB, 43231 KB/s, 15 seconds passed -... 97%, 680672 KB, 43232 KB/s, 15 seconds passed -... 97%, 680704 KB, 43233 KB/s, 15 seconds passed -... 97%, 680736 KB, 43235 KB/s, 15 seconds passed -... 97%, 680768 KB, 43236 KB/s, 15 seconds passed -... 97%, 680800 KB, 43237 KB/s, 15 seconds passed -... 97%, 680832 KB, 43239 KB/s, 15 seconds passed -... 97%, 680864 KB, 43240 KB/s, 15 seconds passed -... 97%, 680896 KB, 43241 KB/s, 15 seconds passed -... 97%, 680928 KB, 43242 KB/s, 15 seconds passed -... 97%, 680960 KB, 43202 KB/s, 15 seconds passed -... 97%, 680992 KB, 43203 KB/s, 15 seconds passed -... 97%, 681024 KB, 43204 KB/s, 15 seconds passed -... 97%, 681056 KB, 43205 KB/s, 15 seconds passed -... 97%, 681088 KB, 43206 KB/s, 15 seconds passed -... 97%, 681120 KB, 43207 KB/s, 15 seconds passed -... 97%, 681152 KB, 43208 KB/s, 15 seconds passed -... 97%, 681184 KB, 43209 KB/s, 15 seconds passed -... 97%, 681216 KB, 43209 KB/s, 15 seconds passed -... 97%, 681248 KB, 43210 KB/s, 15 seconds passed -... 97%, 681280 KB, 43211 KB/s, 15 seconds passed -... 97%, 681312 KB, 43212 KB/s, 15 seconds passed -... 97%, 681344 KB, 43213 KB/s, 15 seconds passed -... 97%, 681376 KB, 43214 KB/s, 15 seconds passed -... 97%, 681408 KB, 43215 KB/s, 15 seconds passed -... 97%, 681440 KB, 43216 KB/s, 15 seconds passed -... 97%, 681472 KB, 43217 KB/s, 15 seconds passed -... 97%, 681504 KB, 43218 KB/s, 15 seconds passed -... 97%, 681536 KB, 43219 KB/s, 15 seconds passed -... 97%, 681568 KB, 43220 KB/s, 15 seconds passed -... 98%, 681600 KB, 43221 KB/s, 15 seconds passed -... 98%, 681632 KB, 43222 KB/s, 15 seconds passed -... 98%, 681664 KB, 43223 KB/s, 15 seconds passed -... 98%, 681696 KB, 43224 KB/s, 15 seconds passed -... 98%, 681728 KB, 43225 KB/s, 15 seconds passed -... 98%, 681760 KB, 43226 KB/s, 15 seconds passed -... 98%, 681792 KB, 43227 KB/s, 15 seconds passed -... 98%, 681824 KB, 43229 KB/s, 15 seconds passed -... 98%, 681856 KB, 43230 KB/s, 15 seconds passed -... 98%, 681888 KB, 43231 KB/s, 15 seconds passed -... 98%, 681920 KB, 43232 KB/s, 15 seconds passed -... 98%, 681952 KB, 43233 KB/s, 15 seconds passed -... 98%, 681984 KB, 43235 KB/s, 15 seconds passed -... 98%, 682016 KB, 43236 KB/s, 15 seconds passed -... 98%, 682048 KB, 43237 KB/s, 15 seconds passed -... 98%, 682080 KB, 43238 KB/s, 15 seconds passed -... 98%, 682112 KB, 43240 KB/s, 15 seconds passed -... 98%, 682144 KB, 43241 KB/s, 15 seconds passed -... 98%, 682176 KB, 43242 KB/s, 15 seconds passed -... 98%, 682208 KB, 43243 KB/s, 15 seconds passed -... 98%, 682240 KB, 43244 KB/s, 15 seconds passed -... 98%, 682272 KB, 43246 KB/s, 15 seconds passed -... 98%, 682304 KB, 43247 KB/s, 15 seconds passed -... 98%, 682336 KB, 43248 KB/s, 15 seconds passed -... 98%, 682368 KB, 43249 KB/s, 15 seconds passed -... 98%, 682400 KB, 43251 KB/s, 15 seconds passed -... 98%, 682432 KB, 43252 KB/s, 15 seconds passed -... 98%, 682464 KB, 43253 KB/s, 15 seconds passed -... 98%, 682496 KB, 43254 KB/s, 15 seconds passed -... 98%, 682528 KB, 43255 KB/s, 15 seconds passed -... 98%, 682560 KB, 43257 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 98%, 682592 KB, 43258 KB/s, 15 seconds passed -... 98%, 682624 KB, 43259 KB/s, 15 seconds passed -... 98%, 682656 KB, 43260 KB/s, 15 seconds passed -... 98%, 682688 KB, 43262 KB/s, 15 seconds passed -... 98%, 682720 KB, 43263 KB/s, 15 seconds passed -... 98%, 682752 KB, 43265 KB/s, 15 seconds passed -... 98%, 682784 KB, 43266 KB/s, 15 seconds passed -... 98%, 682816 KB, 43267 KB/s, 15 seconds passed -... 98%, 682848 KB, 43260 KB/s, 15 seconds passed -... 98%, 682880 KB, 43260 KB/s, 15 seconds passed -... 98%, 682912 KB, 43261 KB/s, 15 seconds passed -... 98%, 682944 KB, 43263 KB/s, 15 seconds passed -... 98%, 682976 KB, 43263 KB/s, 15 seconds passed -... 98%, 683008 KB, 43264 KB/s, 15 seconds passed -... 98%, 683040 KB, 43265 KB/s, 15 seconds passed -... 98%, 683072 KB, 43266 KB/s, 15 seconds passed -... 98%, 683104 KB, 43267 KB/s, 15 seconds passed -... 98%, 683136 KB, 43268 KB/s, 15 seconds passed -... 98%, 683168 KB, 43269 KB/s, 15 seconds passed -... 98%, 683200 KB, 43270 KB/s, 15 seconds passed -... 98%, 683232 KB, 43272 KB/s, 15 seconds passed -... 98%, 683264 KB, 43273 KB/s, 15 seconds passed -... 98%, 683296 KB, 43274 KB/s, 15 seconds passed -... 98%, 683328 KB, 43275 KB/s, 15 seconds passed -... 98%, 683360 KB, 43276 KB/s, 15 seconds passed -... 98%, 683392 KB, 43278 KB/s, 15 seconds passed -... 98%, 683424 KB, 43279 KB/s, 15 seconds passed -... 98%, 683456 KB, 43281 KB/s, 15 seconds passed -... 98%, 683488 KB, 43282 KB/s, 15 seconds passed -... 98%, 683520 KB, 43284 KB/s, 15 seconds passed -... 98%, 683552 KB, 43285 KB/s, 15 seconds passed -... 98%, 683584 KB, 43287 KB/s, 15 seconds passed -... 98%, 683616 KB, 43288 KB/s, 15 seconds passed -... 98%, 683648 KB, 43290 KB/s, 15 seconds passed -... 98%, 683680 KB, 43291 KB/s, 15 seconds passed -... 98%, 683712 KB, 43292 KB/s, 15 seconds passed -... 98%, 683744 KB, 43294 KB/s, 15 seconds passed -... 98%, 683776 KB, 43296 KB/s, 15 seconds passed -... 98%, 683808 KB, 43297 KB/s, 15 seconds passed -... 98%, 683840 KB, 43299 KB/s, 15 seconds passed -... 98%, 683872 KB, 43300 KB/s, 15 seconds passed -... 98%, 683904 KB, 43302 KB/s, 15 seconds passed -... 98%, 683936 KB, 43270 KB/s, 15 seconds passed -... 98%, 683968 KB, 43271 KB/s, 15 seconds passed -... 98%, 684000 KB, 43272 KB/s, 15 seconds passed -... 98%, 684032 KB, 43273 KB/s, 15 seconds passed -... 98%, 684064 KB, 43274 KB/s, 15 seconds passed -... 98%, 684096 KB, 43275 KB/s, 15 seconds passed -... 98%, 684128 KB, 43276 KB/s, 15 seconds passed -... 98%, 684160 KB, 43277 KB/s, 15 seconds passed -... 98%, 684192 KB, 43278 KB/s, 15 seconds passed -... 98%, 684224 KB, 43279 KB/s, 15 seconds passed -... 98%, 684256 KB, 43280 KB/s, 15 seconds passed -... 98%, 684288 KB, 43281 KB/s, 15 seconds passed -... 98%, 684320 KB, 43282 KB/s, 15 seconds passed -... 98%, 684352 KB, 43283 KB/s, 15 seconds passed -... 98%, 684384 KB, 43284 KB/s, 15 seconds passed -... 98%, 684416 KB, 43285 KB/s, 15 seconds passed -... 98%, 684448 KB, 43286 KB/s, 15 seconds passed -... 98%, 684480 KB, 43287 KB/s, 15 seconds passed -... 98%, 684512 KB, 43288 KB/s, 15 seconds passed -... 98%, 684544 KB, 43289 KB/s, 15 seconds passed -... 98%, 684576 KB, 43290 KB/s, 15 seconds passed -... 98%, 684608 KB, 43291 KB/s, 15 seconds passed -... 98%, 684640 KB, 43292 KB/s, 15 seconds passed -... 98%, 684672 KB, 43293 KB/s, 15 seconds passed -... 98%, 684704 KB, 43294 KB/s, 15 seconds passed -... 98%, 684736 KB, 43295 KB/s, 15 seconds passed -... 98%, 684768 KB, 43296 KB/s, 15 seconds passed -... 98%, 684800 KB, 43297 KB/s, 15 seconds passed -... 98%, 684832 KB, 43298 KB/s, 15 seconds passed -... 98%, 684864 KB, 43299 KB/s, 15 seconds passed -... 98%, 684896 KB, 43300 KB/s, 15 seconds passed -... 98%, 684928 KB, 43301 KB/s, 15 seconds passed -... 98%, 684960 KB, 43302 KB/s, 15 seconds passed -... 98%, 684992 KB, 43303 KB/s, 15 seconds passed -... 98%, 685024 KB, 43304 KB/s, 15 seconds passed -... 98%, 685056 KB, 43305 KB/s, 15 seconds passed -... 98%, 685088 KB, 43306 KB/s, 15 seconds passed -... 98%, 685120 KB, 43307 KB/s, 15 seconds passed -... 98%, 685152 KB, 43308 KB/s, 15 seconds passed -... 98%, 685184 KB, 43309 KB/s, 15 seconds passed -... 98%, 685216 KB, 43310 KB/s, 15 seconds passed -... 98%, 685248 KB, 43311 KB/s, 15 seconds passed -... 98%, 685280 KB, 43313 KB/s, 15 seconds passed -... 98%, 685312 KB, 43314 KB/s, 15 seconds passed -... 98%, 685344 KB, 43315 KB/s, 15 seconds passed -... 98%, 685376 KB, 43316 KB/s, 15 seconds passed -... 98%, 685408 KB, 43318 KB/s, 15 seconds passed -... 98%, 685440 KB, 43319 KB/s, 15 seconds passed -... 98%, 685472 KB, 43321 KB/s, 15 seconds passed -... 98%, 685504 KB, 43322 KB/s, 15 seconds passed -... 98%, 685536 KB, 43324 KB/s, 15 seconds passed -... 98%, 685568 KB, 43325 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 98%, 685600 KB, 43301 KB/s, 15 seconds passed -... 98%, 685632 KB, 43301 KB/s, 15 seconds passed -... 98%, 685664 KB, 43302 KB/s, 15 seconds passed -... 98%, 685696 KB, 43303 KB/s, 15 seconds passed -... 98%, 685728 KB, 43304 KB/s, 15 seconds passed -... 98%, 685760 KB, 43305 KB/s, 15 seconds passed -... 98%, 685792 KB, 43306 KB/s, 15 seconds passed -... 98%, 685824 KB, 43307 KB/s, 15 seconds passed -... 98%, 685856 KB, 43308 KB/s, 15 seconds passed -... 98%, 685888 KB, 43309 KB/s, 15 seconds passed -... 98%, 685920 KB, 43310 KB/s, 15 seconds passed -... 98%, 685952 KB, 43311 KB/s, 15 seconds passed -... 98%, 685984 KB, 43312 KB/s, 15 seconds passed -... 98%, 686016 KB, 43314 KB/s, 15 seconds passed -... 98%, 686048 KB, 43315 KB/s, 15 seconds passed -... 98%, 686080 KB, 43295 KB/s, 15 seconds passed -... 98%, 686112 KB, 43295 KB/s, 15 seconds passed -... 98%, 686144 KB, 43296 KB/s, 15 seconds passed -... 98%, 686176 KB, 43297 KB/s, 15 seconds passed -... 98%, 686208 KB, 43298 KB/s, 15 seconds passed -... 98%, 686240 KB, 43299 KB/s, 15 seconds passed -... 98%, 686272 KB, 43300 KB/s, 15 seconds passed -... 98%, 686304 KB, 43301 KB/s, 15 seconds passed -... 98%, 686336 KB, 43302 KB/s, 15 seconds passed -... 98%, 686368 KB, 43303 KB/s, 15 seconds passed -... 98%, 686400 KB, 43304 KB/s, 15 seconds passed -... 98%, 686432 KB, 43305 KB/s, 15 seconds passed -... 98%, 686464 KB, 43306 KB/s, 15 seconds passed -... 98%, 686496 KB, 43307 KB/s, 15 seconds passed -... 98%, 686528 KB, 43308 KB/s, 15 seconds passed -... 98%, 686560 KB, 43309 KB/s, 15 seconds passed -... 98%, 686592 KB, 43310 KB/s, 15 seconds passed -... 98%, 686624 KB, 43311 KB/s, 15 seconds passed -... 98%, 686656 KB, 43312 KB/s, 15 seconds passed -... 98%, 686688 KB, 43313 KB/s, 15 seconds passed -... 98%, 686720 KB, 43314 KB/s, 15 seconds passed -... 98%, 686752 KB, 43315 KB/s, 15 seconds passed -... 98%, 686784 KB, 43316 KB/s, 15 seconds passed -... 98%, 686816 KB, 43317 KB/s, 15 seconds passed -... 98%, 686848 KB, 43318 KB/s, 15 seconds passed -... 98%, 686880 KB, 43319 KB/s, 15 seconds passed -... 98%, 686912 KB, 43320 KB/s, 15 seconds passed -... 98%, 686944 KB, 43321 KB/s, 15 seconds passed -... 98%, 686976 KB, 43322 KB/s, 15 seconds passed -... 98%, 687008 KB, 43323 KB/s, 15 seconds passed -... 98%, 687040 KB, 43324 KB/s, 15 seconds passed -... 98%, 687072 KB, 43325 KB/s, 15 seconds passed -... 98%, 687104 KB, 43326 KB/s, 15 seconds passed -... 98%, 687136 KB, 43327 KB/s, 15 seconds passed -... 98%, 687168 KB, 43328 KB/s, 15 seconds passed -... 98%, 687200 KB, 43329 KB/s, 15 seconds passed -... 98%, 687232 KB, 43330 KB/s, 15 seconds passed -... 98%, 687264 KB, 43331 KB/s, 15 seconds passed -... 98%, 687296 KB, 43332 KB/s, 15 seconds passed -... 98%, 687328 KB, 43333 KB/s, 15 seconds passed -... 98%, 687360 KB, 43334 KB/s, 15 seconds passed -... 98%, 687392 KB, 43335 KB/s, 15 seconds passed -... 98%, 687424 KB, 43336 KB/s, 15 seconds passed -... 98%, 687456 KB, 43337 KB/s, 15 seconds passed -... 98%, 687488 KB, 43338 KB/s, 15 seconds passed -... 98%, 687520 KB, 43340 KB/s, 15 seconds passed -... 98%, 687552 KB, 43341 KB/s, 15 seconds passed -... 98%, 687584 KB, 43342 KB/s, 15 seconds passed -... 98%, 687616 KB, 43344 KB/s, 15 seconds passed -... 98%, 687648 KB, 43345 KB/s, 15 seconds passed -... 98%, 687680 KB, 43346 KB/s, 15 seconds passed -... 98%, 687712 KB, 43348 KB/s, 15 seconds passed -... 98%, 687744 KB, 43349 KB/s, 15 seconds passed -... 98%, 687776 KB, 43351 KB/s, 15 seconds passed -... 98%, 687808 KB, 43352 KB/s, 15 seconds passed -... 98%, 687840 KB, 43353 KB/s, 15 seconds passed -... 98%, 687872 KB, 43355 KB/s, 15 seconds passed -... 98%, 687904 KB, 43356 KB/s, 15 seconds passed -... 98%, 687936 KB, 43357 KB/s, 15 seconds passed -... 98%, 687968 KB, 43359 KB/s, 15 seconds passed -... 98%, 688000 KB, 43360 KB/s, 15 seconds passed -... 98%, 688032 KB, 43361 KB/s, 15 seconds passed -... 98%, 688064 KB, 43363 KB/s, 15 seconds passed -... 98%, 688096 KB, 43364 KB/s, 15 seconds passed -... 98%, 688128 KB, 43365 KB/s, 15 seconds passed -... 98%, 688160 KB, 43367 KB/s, 15 seconds passed -... 98%, 688192 KB, 43368 KB/s, 15 seconds passed -... 98%, 688224 KB, 43369 KB/s, 15 seconds passed -... 98%, 688256 KB, 43371 KB/s, 15 seconds passed -... 98%, 688288 KB, 43372 KB/s, 15 seconds passed -... 98%, 688320 KB, 43374 KB/s, 15 seconds passed -... 98%, 688352 KB, 43375 KB/s, 15 seconds passed -... 98%, 688384 KB, 43376 KB/s, 15 seconds passed -... 98%, 688416 KB, 43378 KB/s, 15 seconds passed -... 98%, 688448 KB, 43379 KB/s, 15 seconds passed -... 98%, 688480 KB, 43380 KB/s, 15 seconds passed -... 98%, 688512 KB, 43382 KB/s, 15 seconds passed -... 98%, 688544 KB, 43383 KB/s, 15 seconds passed -... 99%, 688576 KB, 43384 KB/s, 15 seconds passed -... 99%, 688608 KB, 43386 KB/s, 15 seconds passed -... 99%, 688640 KB, 43387 KB/s, 15 seconds passed -... 99%, 688672 KB, 43388 KB/s, 15 seconds passed -... 99%, 688704 KB, 43390 KB/s, 15 seconds passed -... 99%, 688736 KB, 43391 KB/s, 15 seconds passed -... 99%, 688768 KB, 43393 KB/s, 15 seconds passed -... 99%, 688800 KB, 43394 KB/s, 15 seconds passed -... 99%, 688832 KB, 43396 KB/s, 15 seconds passed -... 99%, 688864 KB, 43397 KB/s, 15 seconds passed -... 99%, 688896 KB, 43399 KB/s, 15 seconds passed -... 99%, 688928 KB, 43400 KB/s, 15 seconds passed -... 99%, 688960 KB, 43402 KB/s, 15 seconds passed -... 99%, 688992 KB, 43404 KB/s, 15 seconds passed -... 99%, 689024 KB, 43405 KB/s, 15 seconds passed -... 99%, 689056 KB, 43407 KB/s, 15 seconds passed -... 99%, 689088 KB, 43408 KB/s, 15 seconds passed -... 99%, 689120 KB, 43410 KB/s, 15 seconds passed -... 99%, 689152 KB, 43411 KB/s, 15 seconds passed -... 99%, 689184 KB, 43413 KB/s, 15 seconds passed -... 99%, 689216 KB, 43415 KB/s, 15 seconds passed -... 99%, 689248 KB, 43416 KB/s, 15 seconds passed -... 99%, 689280 KB, 43418 KB/s, 15 seconds passed -... 99%, 689312 KB, 43419 KB/s, 15 seconds passed -... 99%, 689344 KB, 43421 KB/s, 15 seconds passed -... 99%, 689376 KB, 43422 KB/s, 15 seconds passed -... 99%, 689408 KB, 43423 KB/s, 15 seconds passed -... 99%, 689440 KB, 43425 KB/s, 15 seconds passed -... 99%, 689472 KB, 43426 KB/s, 15 seconds passed -... 99%, 689504 KB, 43427 KB/s, 15 seconds passed -... 99%, 689536 KB, 43428 KB/s, 15 seconds passed -... 99%, 689568 KB, 43430 KB/s, 15 seconds passed -... 99%, 689600 KB, 43431 KB/s, 15 seconds passed -... 99%, 689632 KB, 43432 KB/s, 15 seconds passed -... 99%, 689664 KB, 43433 KB/s, 15 seconds passed -... 99%, 689696 KB, 43435 KB/s, 15 seconds passed -... 99%, 689728 KB, 43436 KB/s, 15 seconds passed -... 99%, 689760 KB, 43437 KB/s, 15 seconds passed -... 99%, 689792 KB, 43438 KB/s, 15 seconds passed -... 99%, 689824 KB, 43439 KB/s, 15 seconds passed -... 99%, 689856 KB, 43440 KB/s, 15 seconds passed -... 99%, 689888 KB, 43439 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 99%, 689920 KB, 43440 KB/s, 15 seconds passed -... 99%, 689952 KB, 43442 KB/s, 15 seconds passed -... 99%, 689984 KB, 43441 KB/s, 15 seconds passed -... 99%, 690016 KB, 43443 KB/s, 15 seconds passed -... 99%, 690048 KB, 43444 KB/s, 15 seconds passed -... 99%, 690080 KB, 43445 KB/s, 15 seconds passed -... 99%, 690112 KB, 43446 KB/s, 15 seconds passed -... 99%, 690144 KB, 43448 KB/s, 15 seconds passed -... 99%, 690176 KB, 43449 KB/s, 15 seconds passed -... 99%, 690208 KB, 43450 KB/s, 15 seconds passed -... 99%, 690240 KB, 43451 KB/s, 15 seconds passed -... 99%, 690272 KB, 43453 KB/s, 15 seconds passed -... 99%, 690304 KB, 43454 KB/s, 15 seconds passed -... 99%, 690336 KB, 43455 KB/s, 15 seconds passed -... 99%, 690368 KB, 43457 KB/s, 15 seconds passed -... 99%, 690400 KB, 43458 KB/s, 15 seconds passed -... 99%, 690432 KB, 43459 KB/s, 15 seconds passed -... 99%, 690464 KB, 43460 KB/s, 15 seconds passed -... 99%, 690496 KB, 43461 KB/s, 15 seconds passed -... 99%, 690528 KB, 43463 KB/s, 15 seconds passed -... 99%, 690560 KB, 43464 KB/s, 15 seconds passed -... 99%, 690592 KB, 43465 KB/s, 15 seconds passed -... 99%, 690624 KB, 43466 KB/s, 15 seconds passed -... 99%, 690656 KB, 43467 KB/s, 15 seconds passed -... 99%, 690688 KB, 43469 KB/s, 15 seconds passed -... 99%, 690720 KB, 43470 KB/s, 15 seconds passed -... 99%, 690752 KB, 43471 KB/s, 15 seconds passed -... 99%, 690784 KB, 43473 KB/s, 15 seconds passed -... 99%, 690816 KB, 43474 KB/s, 15 seconds passed -... 99%, 690848 KB, 43475 KB/s, 15 seconds passed -... 99%, 690880 KB, 43476 KB/s, 15 seconds passed -... 99%, 690912 KB, 43477 KB/s, 15 seconds passed -... 99%, 690944 KB, 43478 KB/s, 15 seconds passed -... 99%, 690976 KB, 43479 KB/s, 15 seconds passed -... 99%, 691008 KB, 43481 KB/s, 15 seconds passed -... 99%, 691040 KB, 43483 KB/s, 15 seconds passed -... 99%, 691072 KB, 43484 KB/s, 15 seconds passed -... 99%, 691104 KB, 43485 KB/s, 15 seconds passed -... 99%, 691136 KB, 43486 KB/s, 15 seconds passed -... 99%, 691168 KB, 43488 KB/s, 15 seconds passed -... 99%, 691200 KB, 43383 KB/s, 15 seconds passed -... 99%, 691232 KB, 43384 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 99%, 691264 KB, 43383 KB/s, 15 seconds passed -... 99%, 691296 KB, 43384 KB/s, 15 seconds passed -... 99%, 691328 KB, 43305 KB/s, 15 seconds passed -... 99%, 691360 KB, 43306 KB/s, 15 seconds passed -... 99%, 691392 KB, 43298 KB/s, 15 seconds passed -... 99%, 691424 KB, 43299 KB/s, 15 seconds passed -... 99%, 691456 KB, 43299 KB/s, 15 seconds passed -... 99%, 691488 KB, 43300 KB/s, 15 seconds passed -... 99%, 691520 KB, 43301 KB/s, 15 seconds passed -... 99%, 691552 KB, 43302 KB/s, 15 seconds passed -... 99%, 691584 KB, 43303 KB/s, 15 seconds passed -... 99%, 691616 KB, 43304 KB/s, 15 seconds passed -... 99%, 691648 KB, 43305 KB/s, 15 seconds passed -... 99%, 691680 KB, 43306 KB/s, 15 seconds passed -... 99%, 691712 KB, 43307 KB/s, 15 seconds passed -... 99%, 691744 KB, 43308 KB/s, 15 seconds passed -... 99%, 691776 KB, 43309 KB/s, 15 seconds passed -... 99%, 691808 KB, 43310 KB/s, 15 seconds passed -... 99%, 691840 KB, 43311 KB/s, 15 seconds passed -... 99%, 691872 KB, 43312 KB/s, 15 seconds passed -... 99%, 691904 KB, 43313 KB/s, 15 seconds passed -... 99%, 691936 KB, 43314 KB/s, 15 seconds passed -... 99%, 691968 KB, 43315 KB/s, 15 seconds passed -... 99%, 692000 KB, 43316 KB/s, 15 seconds passed -... 99%, 692032 KB, 43317 KB/s, 15 seconds passed -... 99%, 692064 KB, 43318 KB/s, 15 seconds passed -... 99%, 692096 KB, 43319 KB/s, 15 seconds passed -... 99%, 692128 KB, 43320 KB/s, 15 seconds passed -... 99%, 692160 KB, 43321 KB/s, 15 seconds passed -... 99%, 692192 KB, 43322 KB/s, 15 seconds passed -... 99%, 692224 KB, 43323 KB/s, 15 seconds passed -... 99%, 692256 KB, 43324 KB/s, 15 seconds passed -... 99%, 692288 KB, 43325 KB/s, 15 seconds passed -... 99%, 692320 KB, 43326 KB/s, 15 seconds passed -... 99%, 692352 KB, 43327 KB/s, 15 seconds passed -... 99%, 692384 KB, 43328 KB/s, 15 seconds passed -... 99%, 692416 KB, 43329 KB/s, 15 seconds passed -... 99%, 692448 KB, 43330 KB/s, 15 seconds passed -... 99%, 692480 KB, 43331 KB/s, 15 seconds passed -... 99%, 692512 KB, 43332 KB/s, 15 seconds passed -... 99%, 692544 KB, 43333 KB/s, 15 seconds passed -... 99%, 692576 KB, 43334 KB/s, 15 seconds passed -... 99%, 692608 KB, 43335 KB/s, 15 seconds passed -... 99%, 692640 KB, 43336 KB/s, 15 seconds passed -... 99%, 692672 KB, 43337 KB/s, 15 seconds passed -... 99%, 692704 KB, 43338 KB/s, 15 seconds passed -... 99%, 692736 KB, 43339 KB/s, 15 seconds passed -... 99%, 692768 KB, 43340 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 99%, 692800 KB, 43342 KB/s, 15 seconds passed -... 99%, 692832 KB, 43343 KB/s, 15 seconds passed -... 99%, 692864 KB, 43344 KB/s, 15 seconds passed -... 99%, 692896 KB, 43346 KB/s, 15 seconds passed -... 99%, 692928 KB, 43347 KB/s, 15 seconds passed -... 99%, 692960 KB, 43348 KB/s, 15 seconds passed -... 99%, 692992 KB, 43350 KB/s, 15 seconds passed -... 99%, 693024 KB, 43351 KB/s, 15 seconds passed -... 99%, 693056 KB, 43352 KB/s, 15 seconds passed -... 99%, 693088 KB, 43354 KB/s, 15 seconds passed -... 99%, 693120 KB, 43355 KB/s, 15 seconds passed -... 99%, 693152 KB, 43357 KB/s, 15 seconds passed -... 99%, 693184 KB, 43358 KB/s, 15 seconds passed -... 99%, 693216 KB, 43360 KB/s, 15 seconds passed -... 99%, 693248 KB, 43361 KB/s, 15 seconds passed -... 99%, 693280 KB, 43363 KB/s, 15 seconds passed - -.. parsed-literal:: - - ... 99%, 693312 KB, 43208 KB/s, 16 seconds passed -... 99%, 693344 KB, 43209 KB/s, 16 seconds passed -... 99%, 693376 KB, 43210 KB/s, 16 seconds passed -... 99%, 693408 KB, 43211 KB/s, 16 seconds passed -... 99%, 693440 KB, 43211 KB/s, 16 seconds passed -... 99%, 693472 KB, 43212 KB/s, 16 seconds passed -... 99%, 693504 KB, 43213 KB/s, 16 seconds passed -... 99%, 693536 KB, 43214 KB/s, 16 seconds passed -... 99%, 693568 KB, 43215 KB/s, 16 seconds passed -... 99%, 693600 KB, 43216 KB/s, 16 seconds passed -... 99%, 693632 KB, 43217 KB/s, 16 seconds passed -... 99%, 693664 KB, 43218 KB/s, 16 seconds passed -... 99%, 693696 KB, 43219 KB/s, 16 seconds passed -... 99%, 693728 KB, 43220 KB/s, 16 seconds passed -... 99%, 693760 KB, 43221 KB/s, 16 seconds passed -... 99%, 693792 KB, 43222 KB/s, 16 seconds passed -... 99%, 693824 KB, 43223 KB/s, 16 seconds passed -... 99%, 693856 KB, 43224 KB/s, 16 seconds passed -... 99%, 693888 KB, 43225 KB/s, 16 seconds passed -... 99%, 693920 KB, 43226 KB/s, 16 seconds passed -... 99%, 693952 KB, 43227 KB/s, 16 seconds passed -... 99%, 693984 KB, 43228 KB/s, 16 seconds passed -... 99%, 694016 KB, 43229 KB/s, 16 seconds passed -... 99%, 694048 KB, 43230 KB/s, 16 seconds passed -... 99%, 694080 KB, 43232 KB/s, 16 seconds passed -... 99%, 694112 KB, 43233 KB/s, 16 seconds passed -... 99%, 694144 KB, 43234 KB/s, 16 seconds passed -... 99%, 694176 KB, 43235 KB/s, 16 seconds passed -... 99%, 694208 KB, 43237 KB/s, 16 seconds passed -... 99%, 694240 KB, 43238 KB/s, 16 seconds passed -... 99%, 694272 KB, 43239 KB/s, 16 seconds passed -... 99%, 694304 KB, 43240 KB/s, 16 seconds passed -... 99%, 694336 KB, 43242 KB/s, 16 seconds passed -... 99%, 694368 KB, 43243 KB/s, 16 seconds passed -... 99%, 694400 KB, 43244 KB/s, 16 seconds passed -... 99%, 694432 KB, 43245 KB/s, 16 seconds passed -... 99%, 694464 KB, 43246 KB/s, 16 seconds passed -... 99%, 694496 KB, 43247 KB/s, 16 seconds passed -... 99%, 694528 KB, 43248 KB/s, 16 seconds passed -... 99%, 694560 KB, 43249 KB/s, 16 seconds passed -... 99%, 694592 KB, 43251 KB/s, 16 seconds passed -... 99%, 694624 KB, 43252 KB/s, 16 seconds passed -... 99%, 694656 KB, 43253 KB/s, 16 seconds passed -... 99%, 694688 KB, 43254 KB/s, 16 seconds passed -... 99%, 694720 KB, 43255 KB/s, 16 seconds passed -... 99%, 694752 KB, 43256 KB/s, 16 seconds passed -... 99%, 694784 KB, 43257 KB/s, 16 seconds passed -... 99%, 694816 KB, 43258 KB/s, 16 seconds passed -... 99%, 694848 KB, 43259 KB/s, 16 seconds passed -... 99%, 694880 KB, 43261 KB/s, 16 seconds passed -... 99%, 694912 KB, 43262 KB/s, 16 seconds passed -... 99%, 694944 KB, 43263 KB/s, 16 seconds passed -... 99%, 694976 KB, 43264 KB/s, 16 seconds passed -... 99%, 695008 KB, 43265 KB/s, 16 seconds passed -... 99%, 695040 KB, 43266 KB/s, 16 seconds passed -... 99%, 695072 KB, 43268 KB/s, 16 seconds passed -... 99%, 695104 KB, 43269 KB/s, 16 seconds passed -... 99%, 695136 KB, 43271 KB/s, 16 seconds passed -... 99%, 695168 KB, 43272 KB/s, 16 seconds passed -... 99%, 695200 KB, 43273 KB/s, 16 seconds passed -... 99%, 695232 KB, 43275 KB/s, 16 seconds passed -... 99%, 695264 KB, 43276 KB/s, 16 seconds passed -... 99%, 695296 KB, 43278 KB/s, 16 seconds passed -... 99%, 695328 KB, 43279 KB/s, 16 seconds passed -... 99%, 695360 KB, 43281 KB/s, 16 seconds passed -... 99%, 695392 KB, 43282 KB/s, 16 seconds passed -... 99%, 695424 KB, 43283 KB/s, 16 seconds passed -... 99%, 695456 KB, 43285 KB/s, 16 seconds passed -... 99%, 695488 KB, 43286 KB/s, 16 seconds passed -... 100%, 695506 KB, 43287 KB/s, 16 seconds passed - - - -.. parsed-literal:: - - - ========== Downloading model/public/text-recognition-resnet-fc/vedastr/addict-2.4.0-py3-none-any.whl - - -.. parsed-literal:: - - ... 100%, 3 KB, 15680 KB/s, 0 seconds passed - - - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/heads/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/component.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/utils/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/__init__.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/resnet.py - ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/resnet.py - ========== Unpacking model/public/text-recognition-resnet-fc/vedastr/addict-2.4.0-py3-none-any.whl - - - - -Finished downloading horizontal-text-detection-0001, -text-recognition-resnet-fc. - - -.. code:: ipython3 - - ### The text-recognition-resnet-fc model consists of many files. All filenames are printed in - ### the output of Model Downloader. Uncomment the next two lines to show this output. - - # for line in download_result: - # print(line) - -Convert Models --------------- - - - -The downloaded detection model is an Intel model, which is already in -OpenVINO Intermediate Representation (OpenVINO IR) format. The text -recognition model is a public model which needs to be converted to -OpenVINO IR. Since this model was downloaded from Open Model Zoo, use -Model Converter to convert the model to OpenVINO IR format. - -The output of Model Converter will be displayed. When the conversion is -successful, the last lines of output will include -``[ SUCCESS ] Generated IR version 11 model.`` - -.. code:: ipython3 - - convert_command = f"omz_converter --name {recognition_model} --precisions {precision} --download_dir {model_dir} --output_dir {model_dir}" - display(Markdown(f"Convert command: `{convert_command}`")) - display(Markdown(f"Converting {recognition_model}...")) - ! $convert_command - - - -Convert command: -``omz_converter --name text-recognition-resnet-fc --precisions FP16 --download_dir model --output_dir model`` - - - -Converting text-recognition-resnet-fc… - - -.. parsed-literal:: - - ========== Converting text-recognition-resnet-fc to ONNX - Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-path=/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/models/public/text-recognition-resnet-fc --model-path=model/public/text-recognition-resnet-fc --model-name=get_model --import-module=model '--model-param=file_config=r"model/public/text-recognition-resnet-fc/vedastr/configs/resnet_fc.py"' '--model-param=weights=r"model/public/text-recognition-resnet-fc/vedastr/ckpt/resnet_fc.pth"' --input-shape=1,1,32,100 --input-names=input --output-names=output --output-file=model/public/text-recognition-resnet-fc/resnet_fc.onnx - - - -.. parsed-literal:: - - ONNX check passed successfully. - - -.. parsed-literal:: - - - ========== Converting text-recognition-resnet-fc to IR (FP16) - Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=model/public/text-recognition-resnet-fc/FP16 --model_name=text-recognition-resnet-fc --input=input '--mean_values=input[127.5]' '--scale_values=input[127.5]' --output=output --input_model=model/public/text-recognition-resnet-fc/resnet_fc.onnx '--layout=input(NCHW)' '--input_shape=[1, 1, 32, 100]' --compress_to_fp16=True - - - -.. parsed-literal:: - - [ INFO ] Generated IR will be compressed to FP16. If you get lower accuracy, please consider disabling compression explicitly by adding argument --compress_to_fp16=False. - Find more information about compression to FP16 at https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_FP16_Compression.html - [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. - Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html - - -.. parsed-literal:: - - [ SUCCESS ] Generated IR version 11 model. - [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/208-optical-character-recognition/model/public/text-recognition-resnet-fc/FP16/text-recognition-resnet-fc.xml - [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/208-optical-character-recognition/model/public/text-recognition-resnet-fc/FP16/text-recognition-resnet-fc.bin - - - -Select inference device ------------------------ - - - -Select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - import ipywidgets as widgets - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -Object Detection ----------------- - - - -Load a detection model, load an image, do inference and get the -detection inference result. - -Load a Detection Model -~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - detection_model = core.read_model( - model=detection_model_path, weights=detection_model_path.with_suffix(".bin") - ) - detection_compiled_model = core.compile_model(model=detection_model, device_name=device.value) - - detection_input_layer = detection_compiled_model.input(0) - -Load an Image -~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - # The `image_file` variable can point to a URL or a local image. - image_file = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/intel_rnb.jpg" - - image = load_image(image_file) - - # N,C,H,W = batch size, number of channels, height, width. - N, C, H, W = detection_input_layer.shape - - # Resize the image to meet network expected input sizes. - resized_image = cv2.resize(image, (W, H)) - - # Reshape to the network input shape. - input_image = np.expand_dims(resized_image.transpose(2, 0, 1), 0) - - plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)); - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_16_0.png - - -Do Inference -~~~~~~~~~~~~ - - - -Text boxes are detected in the images and returned as blobs of data in -the shape of ``[100, 5]``. Each description of detection has the -``[x_min, y_min, x_max, y_max, conf]`` format. - -.. code:: ipython3 - - output_key = detection_compiled_model.output("boxes") - boxes = detection_compiled_model([input_image])[output_key] - - # Remove zero only boxes. - boxes = boxes[~np.all(boxes == 0, axis=1)] - -Get Detection Results -~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - def multiply_by_ratio(ratio_x, ratio_y, box): - return [ - max(shape * ratio_y, 10) if idx % 2 else shape * ratio_x - for idx, shape in enumerate(box[:-1]) - ] - - - def run_preprocesing_on_crop(crop, net_shape): - temp_img = cv2.resize(crop, net_shape) - temp_img = temp_img.reshape((1,) * 2 + temp_img.shape) - return temp_img - - - def convert_result_to_image(bgr_image, resized_image, boxes, threshold=0.3, conf_labels=True): - # Define colors for boxes and descriptions. - colors = {"red": (255, 0, 0), "green": (0, 255, 0), "white": (255, 255, 255)} - - # Fetch image shapes to calculate a ratio. - (real_y, real_x), (resized_y, resized_x) = image.shape[:2], resized_image.shape[:2] - ratio_x, ratio_y = real_x / resized_x, real_y / resized_y - - # Convert the base image from BGR to RGB format. - rgb_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2RGB) - - # Iterate through non-zero boxes. - for box, annotation in boxes: - # Pick a confidence factor from the last place in an array. - conf = box[-1] - if conf > threshold: - # Convert float to int and multiply position of each box by x and y ratio. - (x_min, y_min, x_max, y_max) = map(int, multiply_by_ratio(ratio_x, ratio_y, box)) - - # Draw a box based on the position. Parameters in the `rectangle` function are: image, start_point, end_point, color, thickness. - cv2.rectangle(rgb_image, (x_min, y_min), (x_max, y_max), colors["green"], 3) - - # Add a text to an image based on the position and confidence. Parameters in the `putText` function are: image, text, bottomleft_corner_textfield, font, font_scale, color, thickness, line_type - if conf_labels: - # Create a background box based on annotation length. - (text_w, text_h), _ = cv2.getTextSize( - f"{annotation}", cv2.FONT_HERSHEY_TRIPLEX, 0.8, 1 - ) - image_copy = rgb_image.copy() - cv2.rectangle( - image_copy, - (x_min, y_min - text_h - 10), - (x_min + text_w, y_min - 10), - colors["white"], - -1, - ) - # Add weighted image copy with white boxes under a text. - cv2.addWeighted(image_copy, 0.4, rgb_image, 0.6, 0, rgb_image) - cv2.putText( - rgb_image, - f"{annotation}", - (x_min, y_min - 10), - cv2.FONT_HERSHEY_SIMPLEX, - 0.8, - colors["red"], - 1, - cv2.LINE_AA, - ) - - return rgb_image - -Text Recognition ----------------- - - - -Load the text recognition model and do inference on the detected boxes -from the detection model. - -Load Text Recognition Model -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - recognition_model = core.read_model( - model=recognition_model_path, weights=recognition_model_path.with_suffix(".bin") - ) - - recognition_compiled_model = core.compile_model(model=recognition_model, device_name=device.value) - - recognition_output_layer = recognition_compiled_model.output(0) - recognition_input_layer = recognition_compiled_model.input(0) - - # Get the height and width of the input layer. - _, _, H, W = recognition_input_layer.shape - -Do Inference -~~~~~~~~~~~~ - - - -.. code:: ipython3 - - # Calculate scale for image resizing. - (real_y, real_x), (resized_y, resized_x) = image.shape[:2], resized_image.shape[:2] - ratio_x, ratio_y = real_x / resized_x, real_y / resized_y - - # Convert the image to grayscale for the text recognition model. - grayscale_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) - - # Get a dictionary to encode output, based on the model documentation. - letters = "~0123456789abcdefghijklmnopqrstuvwxyz" - - # Prepare an empty list for annotations. - annotations = list() - cropped_images = list() - # fig, ax = plt.subplots(len(boxes), 1, figsize=(5,15), sharex=True, sharey=True) - # Get annotations for each crop, based on boxes given by the detection model. - for i, crop in enumerate(boxes): - # Get coordinates on corners of a crop. - (x_min, y_min, x_max, y_max) = map(int, multiply_by_ratio(ratio_x, ratio_y, crop)) - image_crop = run_preprocesing_on_crop(grayscale_image[y_min:y_max, x_min:x_max], (W, H)) - - # Run inference with the recognition model. - result = recognition_compiled_model([image_crop])[recognition_output_layer] - - # Squeeze the output to remove unnecessary dimension. - recognition_results_test = np.squeeze(result) - - # Read an annotation based on probabilities from the output layer. - annotation = list() - for letter in recognition_results_test: - parsed_letter = letters[letter.argmax()] - - # Returning 0 index from `argmax` signalizes an end of a string. - if parsed_letter == letters[0]: - break - annotation.append(parsed_letter) - annotations.append("".join(annotation)) - cropped_image = Image.fromarray(image[y_min:y_max, x_min:x_max]) - cropped_images.append(cropped_image) - - boxes_with_annotations = list(zip(boxes, annotations)) - -Show Results ------------- - - - -Show Detected Text Boxes and OCR Results for the Image -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Visualize the result by drawing boxes around recognized text and showing -the OCR result from the text recognition model. - -.. code:: ipython3 - - plt.figure(figsize=(12, 12)) - plt.imshow(convert_result_to_image(image, resized_image, boxes_with_annotations, conf_labels=True)); - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_26_0.png - - -Show the OCR Result per Bounding Box -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Depending on the image, the OCR result may not be readable in the image -with boxes, as displayed in the cell above. Use the code below to -display the extracted boxes and the OCR result per box. - -.. code:: ipython3 - - for cropped_image, annotation in zip(cropped_images, annotations): - display(cropped_image, Markdown("".join(annotation))) - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_0.png - - - -building - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_2.png - - - -noyce - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_4.png - - - -2200 - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_6.png - - - -n - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_8.png - - - -center - - - -.. image:: 208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_10.png - - - -robert - - -Print Annotations in Plain Text Format -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Print annotations for detected text based on their position in the input -image, starting from the upper left corner. - -.. code:: ipython3 - - [ - annotation - for _, annotation in sorted(zip(boxes, annotations), key=lambda x: x[0][0] ** 2 + x[0][1] ** 2) - ] - - - - -.. parsed-literal:: - - ['robert', 'n', 'noyce', 'building', '2200', 'center'] - - diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_16_0.png b/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_16_0.png deleted file mode 100644 index b696d287ded..00000000000 --- a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_16_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7a830fedc5653fd506c656144decc048cad5a7651c8e498024f0eb0ab8c8e96 -size 305482 diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_26_0.png b/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_26_0.png deleted file mode 100644 index 6a132350491..00000000000 --- a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_26_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:22ee79964a8f86115b19c6abe0969a93ef5df9882bc35485f3b1f25d7199a622 -size 923631 diff --git a/docs/notebooks/209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_22_0.png b/docs/notebooks/209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_22_0.png deleted file mode 100644 index 7e0c09a703a..00000000000 --- a/docs/notebooks/209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ce052db324821165a2b1bc5dea9d05588886c1794c0f217aaa47b8442c76aad -size 53571 diff --git a/docs/notebooks/209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_32_1.png b/docs/notebooks/209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_32_1.png deleted file mode 100644 index 7e0c09a703a..00000000000 --- a/docs/notebooks/209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_32_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ce052db324821165a2b1bc5dea9d05588886c1794c0f217aaa47b8442c76aad -size 53571 diff --git a/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_14_0.png b/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_14_0.png deleted file mode 100644 index 117e2a7dcd9..00000000000 --- a/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_14_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85a88d984f2c72176c252c6777e74f0bf780da5cfe217d8c19f7fef84cdbd467 -size 7969 diff --git a/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_27_0.png b/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_27_0.png deleted file mode 100644 index 117e2a7dcd9..00000000000 --- a/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_27_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85a88d984f2c72176c252c6777e74f0bf780da5cfe217d8c19f7fef84cdbd467 -size 7969 diff --git a/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_9_1.png b/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_9_1.png deleted file mode 100644 index ce3a2e04e2e..00000000000 --- a/docs/notebooks/212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_9_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:985a899cbc892c4758ca25c58bbaa86bc0c2a27e75abae8a177ab93aa0a12e47 -size 43095 diff --git a/docs/notebooks/216-attention-center-with-output.rst b/docs/notebooks/216-attention-center-with-output.rst deleted file mode 100644 index aa354375920..00000000000 --- a/docs/notebooks/216-attention-center-with-output.rst +++ /dev/null @@ -1,750 +0,0 @@ -The attention center model with OpenVINO™ -========================================= - -This notebook demonstrates how to use the `attention center -model `__ with -OpenVINO. This model is in the `TensorFlow Lite -format `__, which is supported in -OpenVINO now by TFLite frontend. - -Eye tracking is commonly used in visual neuroscience and cognitive -science to answer related questions such as visual attention and -decision making. Computational models that predict where to look have -direct applications to a variety of computer vision tasks. The attention -center model takes an RGB image as input and return a 2D point as -output. This 2D point is the predicted center of human attention on the -image i.e. the most salient part of images, on which people pay -attention fist to. This allows find the most visually salient regions -and handle it as early as possible. For example, it could be used for -the latest generation image format (such as `JPEG -XL `__), which supports encoding the -parts that you pay attention to fist. It can help to improve user -experience, image will appear to load faster. - -Attention center model architecture is: > The attention center model is -a deep neural net, which takes an image as input, and uses a pre-trained -classification network, e.g, ResNet, MobileNet, etc., as the backbone. -Several intermediate layers that output from the backbone network are -used as input for the attention center prediction module. These -different intermediate layers contain different information e.g., -shallow layers often contain low level information like -intensity/color/texture, while deeper layers usually contain higher and -more semantic information like shape/object. All are useful for the -attention prediction. The attention center prediction applies -convolution, deconvolution and/or resizing operator together with -aggregation and sigmoid function to generate a weighting map for the -attention center. And then an operator (the Einstein summation operator -in our case) can be applied to compute the (gravity) center from the -weighting map. An L2 norm between the predicted attention center and the -ground-truth attention center can be computed as the training loss. -Source: `Google AI blog -post `__. - -.. figure:: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxLCDJHzJNjB_von-vFlq8TJJFA41aB85T-QE3ZNxW8kshAf3HOEyIEJ4uggXjbJmZhsdj7j6i6mvvmXtyaxXJPm3JHuKILNRTPfX9KvICbFBRD8KNuDVmLABzYuhQci3BT2BqV-wM54IxaoAV1YDBbnpJC92UZfEBGvakLusiqND2AaPpWPr2gJV1/s1600/image4.png - :alt: drawing - - drawing - -The attention center model has been trained with images from the `COCO -dataset `__ annotated with saliency from -the `SALICON dataset `__. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Imports <#imports>`__ -- `Download the attention-center - model <#download-the-attention-center-model>`__ - - - `Convert Tensorflow Lite model to OpenVINO IR - format <#convert-tensorflow-lite-model-to-openvino-ir-format>`__ - -- `Select inference device <#select-inference-device>`__ -- `Prepare image to use with attention-center - model <#prepare-image-to-use-with-attention-center-model>`__ -- `Load input image <#load-input-image>`__ -- `Get result with OpenVINO IR - model <#get-result-with-openvino-ir-model>`__ - -.. code:: ipython3 - - import platform - - %pip install "openvino>=2023.2.0" - - if platform.system() != "Windows": - %pip install -q "matplotlib>=3.4" - else: - %pip install -q "matplotlib>=3.4,<3.7" - - -.. parsed-literal:: - - Requirement already satisfied: openvino>=2023.2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2024.0.0) - Requirement already satisfied: numpy>=1.16.6 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.2.0) (1.23.5) - Requirement already satisfied: openvino-telemetry>=2023.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.2.0) (2023.2.1) - Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.2.0) (24.0) - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Imports -------- - - - -.. code:: ipython3 - - import cv2 - - import numpy as np - import tensorflow as tf - from pathlib import Path - import matplotlib.pyplot as plt - - import openvino as ov - - -.. parsed-literal:: - - 2024-03-12 23:28:02.634827: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 23:28:02.669284: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-12 23:28:03.239575: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -Download the attention-center model ------------------------------------ - - - -Download the model as part of `attention-center -repo `__. The repo -include model in folder ``./model``. - -.. code:: ipython3 - - if not Path('./attention-center').exists(): - ! git clone https://github.com/google/attention-center - - -.. parsed-literal:: - - Cloning into 'attention-center'... - - -.. parsed-literal:: - - remote: Enumerating objects: 168, done. - remote: Counting objects: 0% (1/168) -remote: Counting objects: 1% (2/168) -remote: Counting objects: 2% (4/168) -remote: Counting objects: 3% (6/168) -remote: Counting objects: 4% (7/168) -remote: Counting objects: 5% (9/168) -remote: Counting objects: 6% (11/168) -remote: Counting objects: 7% (12/168) -remote: Counting objects: 8% (14/168) -remote: Counting objects: 9% (16/168) -remote: Counting objects: 10% (17/168) -remote: Counting objects: 11% (19/168) -remote: Counting objects: 12% (21/168) -remote: Counting objects: 13% (22/168) -remote: Counting objects: 14% (24/168) -remote: Counting objects: 15% (26/168) -remote: Counting objects: 16% (27/168) -remote: Counting objects: 17% (29/168) -remote: Counting objects: 18% (31/168) -remote: Counting objects: 19% (32/168) -remote: Counting objects: 20% (34/168) -remote: Counting objects: 21% (36/168) -remote: Counting objects: 22% (37/168) -remote: Counting objects: 23% (39/168) -remote: Counting objects: 24% (41/168) -remote: Counting objects: 25% (42/168) -remote: Counting objects: 26% (44/168) -remote: Counting objects: 27% (46/168) -remote: Counting objects: 28% (48/168) -remote: Counting objects: 29% (49/168) -remote: Counting objects: 30% (51/168) -remote: Counting objects: 31% (53/168) -remote: Counting objects: 32% (54/168) -remote: Counting objects: 33% (56/168) -remote: Counting objects: 34% (58/168) -remote: Counting objects: 35% (59/168) -remote: Counting objects: 36% (61/168) -remote: Counting objects: 37% (63/168) -remote: Counting objects: 38% (64/168) -remote: Counting objects: 39% (66/168) -remote: Counting objects: 40% (68/168) -remote: Counting objects: 41% (69/168) -remote: Counting objects: 42% (71/168) -remote: Counting objects: 43% (73/168) -remote: Counting objects: 44% (74/168) -remote: Counting objects: 45% (76/168) -remote: Counting objects: 46% (78/168) -remote: Counting objects: 47% (79/168) -remote: Counting objects: 48% (81/168) -remote: Counting objects: 49% (83/168) -remote: Counting objects: 50% (84/168) -remote: Counting objects: 51% (86/168) -remote: Counting objects: 52% (88/168) -remote: Counting objects: 53% (90/168) -remote: Counting objects: 54% (91/168) -remote: Counting objects: 55% (93/168) -remote: Counting objects: 56% (95/168) -remote: Counting objects: 57% (96/168) -remote: Counting objects: 58% (98/168) -remote: Counting objects: 59% (100/168) -remote: Counting objects: 60% (101/168) -remote: Counting objects: 61% (103/168) -remote: Counting objects: 62% (105/168) -remote: Counting objects: 63% (106/168) -remote: Counting objects: 64% (108/168) -remote: Counting objects: 65% (110/168) -remote: Counting objects: 66% (111/168) -remote: Counting objects: 67% (113/168) -remote: Counting objects: 68% (115/168) -remote: Counting objects: 69% (116/168) -remote: Counting objects: 70% (118/168) -remote: Counting objects: 71% (120/168) -remote: Counting objects: 72% (121/168) -remote: Counting objects: 73% (123/168) -remote: Counting objects: 74% (125/168) -remote: Counting objects: 75% (126/168) -remote: Counting objects: 76% (128/168) -remote: Counting objects: 77% (130/168) -remote: Counting objects: 78% (132/168) -remote: Counting objects: 79% (133/168) -remote: Counting objects: 80% (135/168) -remote: Counting objects: 81% (137/168) -remote: Counting objects: 82% (138/168) - -.. parsed-literal:: - - remote: Counting objects: 83% (140/168) -remote: Counting objects: 84% (142/168) -remote: Counting objects: 85% (143/168) -remote: Counting objects: 86% (145/168) -remote: Counting objects: 87% (147/168) -remote: Counting objects: 88% (148/168) -remote: Counting objects: 89% (150/168) -remote: Counting objects: 90% (152/168) -remote: Counting objects: 91% (153/168) -remote: Counting objects: 92% (155/168) -remote: Counting objects: 93% (157/168) -remote: Counting objects: 94% (158/168) -remote: Counting objects: 95% (160/168) -remote: Counting objects: 96% (162/168) -remote: Counting objects: 97% (163/168) -remote: Counting objects: 98% (165/168) -remote: Counting objects: 99% (167/168) -remote: Counting objects: 100% (168/168) -remote: Counting objects: 100% (168/168), done. - remote: Compressing objects: 0% (1/132) -remote: Compressing objects: 1% (2/132) -remote: Compressing objects: 2% (3/132) -remote: Compressing objects: 3% (4/132) -remote: Compressing objects: 4% (6/132) -remote: Compressing objects: 5% (7/132) -remote: Compressing objects: 6% (8/132) -remote: Compressing objects: 7% (10/132) -remote: Compressing objects: 8% (11/132) -remote: Compressing objects: 9% (12/132) -remote: Compressing objects: 10% (14/132) - -.. parsed-literal:: - - remote: Compressing objects: 11% (15/132) -remote: Compressing objects: 12% (16/132) -remote: Compressing objects: 13% (18/132) -remote: Compressing objects: 14% (19/132) - -.. parsed-literal:: - - remote: Compressing objects: 15% (20/132) -remote: Compressing objects: 16% (22/132) - -.. parsed-literal:: - - remote: Compressing objects: 17% (23/132) -remote: Compressing objects: 18% (24/132) - -.. parsed-literal:: - - remote: Compressing objects: 19% (26/132) -remote: Compressing objects: 20% (27/132) -remote: Compressing objects: 21% (28/132) - -.. parsed-literal:: - - remote: Compressing objects: 22% (30/132) -remote: Compressing objects: 23% (31/132) -remote: Compressing objects: 24% (32/132) - -.. parsed-literal:: - - remote: Compressing objects: 25% (33/132) -remote: Compressing objects: 26% (35/132) -remote: Compressing objects: 27% (36/132) -remote: Compressing objects: 28% (37/132) -remote: Compressing objects: 29% (39/132) -remote: Compressing objects: 30% (40/132) -remote: Compressing objects: 31% (41/132) -remote: Compressing objects: 32% (43/132) -remote: Compressing objects: 33% (44/132) -remote: Compressing objects: 34% (45/132) -remote: Compressing objects: 35% (47/132) -remote: Compressing objects: 36% (48/132) -remote: Compressing objects: 37% (49/132) -remote: Compressing objects: 38% (51/132) -remote: Compressing objects: 39% (52/132) -remote: Compressing objects: 40% (53/132) -remote: Compressing objects: 41% (55/132) -remote: Compressing objects: 42% (56/132) -remote: Compressing objects: 43% (57/132) -remote: Compressing objects: 44% (59/132) -remote: Compressing objects: 45% (60/132) -remote: Compressing objects: 46% (61/132) -remote: Compressing objects: 47% (63/132) -remote: Compressing objects: 48% (64/132) -remote: Compressing objects: 49% (65/132) -remote: Compressing objects: 50% (66/132) -remote: Compressing objects: 51% (68/132) -remote: Compressing objects: 52% (69/132) -remote: Compressing objects: 53% (70/132) -remote: Compressing objects: 54% (72/132) -remote: Compressing objects: 55% (73/132) -remote: Compressing objects: 56% (74/132) -remote: Compressing objects: 57% (76/132) -remote: Compressing objects: 58% (77/132) -remote: Compressing objects: 59% (78/132) -remote: Compressing objects: 60% (80/132) -remote: Compressing objects: 61% (81/132) -remote: Compressing objects: 62% (82/132) -remote: Compressing objects: 63% (84/132) -remote: Compressing objects: 64% (85/132) -remote: Compressing objects: 65% (86/132) -remote: Compressing objects: 66% (88/132) -remote: Compressing objects: 67% (89/132) -remote: Compressing objects: 68% (90/132) -remote: Compressing objects: 69% (92/132) -remote: Compressing objects: 70% (93/132) -remote: Compressing objects: 71% (94/132) -remote: Compressing objects: 72% (96/132) -remote: Compressing objects: 73% (97/132) -remote: Compressing objects: 74% (98/132) -remote: Compressing objects: 75% (99/132) -remote: Compressing objects: 76% (101/132) -remote: Compressing objects: 77% (102/132) -remote: Compressing objects: 78% (103/132) -remote: Compressing objects: 79% (105/132) -remote: Compressing objects: 80% (106/132) -remote: Compressing objects: 81% (107/132) - -.. parsed-literal:: - - remote: Compressing objects: 82% (109/132) -remote: Compressing objects: 83% (110/132) -remote: Compressing objects: 84% (111/132) -remote: Compressing objects: 85% (113/132) -remote: Compressing objects: 86% (114/132) -remote: Compressing objects: 87% (115/132) -remote: Compressing objects: 88% (117/132) -remote: Compressing objects: 89% (118/132) -remote: Compressing objects: 90% (119/132) -remote: Compressing objects: 91% (121/132) -remote: Compressing objects: 92% (122/132) -remote: Compressing objects: 93% (123/132) -remote: Compressing objects: 94% (125/132) -remote: Compressing objects: 95% (126/132) -remote: Compressing objects: 96% (127/132) -remote: Compressing objects: 97% (129/132) -remote: Compressing objects: 98% (130/132) -remote: Compressing objects: 99% (131/132) -remote: Compressing objects: 100% (132/132) -remote: Compressing objects: 100% (132/132), done. - Receiving objects: 0% (1/168) -Receiving objects: 1% (2/168) -Receiving objects: 2% (4/168) -Receiving objects: 3% (6/168) -Receiving objects: 4% (7/168) -Receiving objects: 5% (9/168) -Receiving objects: 6% (11/168) -Receiving objects: 7% (12/168) -Receiving objects: 8% (14/168) -Receiving objects: 9% (16/168) -Receiving objects: 10% (17/168) -Receiving objects: 11% (19/168) -Receiving objects: 12% (21/168) -Receiving objects: 13% (22/168) -Receiving objects: 14% (24/168) -Receiving objects: 15% (26/168) -Receiving objects: 16% (27/168) -Receiving objects: 17% (29/168) -Receiving objects: 18% (31/168) -Receiving objects: 19% (32/168) -Receiving objects: 20% (34/168) -Receiving objects: 21% (36/168) -Receiving objects: 22% (37/168) -Receiving objects: 23% (39/168) - -.. parsed-literal:: - - Receiving objects: 24% (41/168) -Receiving objects: 25% (42/168) -Receiving objects: 26% (44/168) -Receiving objects: 27% (46/168) -Receiving objects: 28% (48/168) -Receiving objects: 29% (49/168) -Receiving objects: 30% (51/168) -Receiving objects: 31% (53/168) -Receiving objects: 32% (54/168) - -.. parsed-literal:: - - Receiving objects: 33% (56/168), 1.60 MiB | 3.19 MiB/s -Receiving objects: 34% (58/168), 1.60 MiB | 3.19 MiB/s -Receiving objects: 35% (59/168), 1.60 MiB | 3.19 MiB/s - -.. parsed-literal:: - - Receiving objects: 36% (61/168), 1.60 MiB | 3.19 MiB/s - -.. parsed-literal:: - - Receiving objects: 37% (63/168), 1.60 MiB | 3.19 MiB/s -Receiving objects: 38% (64/168), 1.60 MiB | 3.19 MiB/s -Receiving objects: 39% (66/168), 1.60 MiB | 3.19 MiB/s -Receiving objects: 39% (66/168), 12.00 MiB | 11.99 MiB/s - -.. parsed-literal:: - - Receiving objects: 40% (68/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 41% (69/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 42% (71/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 43% (73/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 44% (74/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 45% (76/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 46% (78/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 47% (79/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 48% (81/168), 12.00 MiB | 11.99 MiB/s - -.. parsed-literal:: - - Receiving objects: 49% (83/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 50% (84/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 51% (86/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 52% (88/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 53% (90/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 54% (91/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 55% (93/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 56% (95/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 57% (96/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 58% (98/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 59% (100/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 60% (101/168), 12.00 MiB | 11.99 MiB/s -Receiving objects: 61% (103/168), 12.00 MiB | 11.99 MiB/s - -.. parsed-literal:: - - Receiving objects: 62% (105/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 63% (106/168), 22.22 MiB | 14.29 MiB/s - -.. parsed-literal:: - - remote: Total 168 (delta 73), reused 114 (delta 28), pack-reused 0 - Receiving objects: 64% (108/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 65% (110/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 66% (111/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 67% (113/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 68% (115/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 69% (116/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 70% (118/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 71% (120/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 72% (121/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 73% (123/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 74% (125/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 75% (126/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 76% (128/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 77% (130/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 78% (132/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 79% (133/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 80% (135/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 81% (137/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 82% (138/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 83% (140/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 84% (142/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 85% (143/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 86% (145/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 87% (147/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 88% (148/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 89% (150/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 90% (152/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 91% (153/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 92% (155/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 93% (157/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 94% (158/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 95% (160/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 96% (162/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 97% (163/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 98% (165/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 99% (167/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 100% (168/168), 22.22 MiB | 14.29 MiB/s -Receiving objects: 100% (168/168), 26.22 MiB | 15.49 MiB/s, done. - Resolving deltas: 0% (0/73) -Resolving deltas: 1% (1/73) -Resolving deltas: 13% (10/73) -Resolving deltas: 21% (16/73) -Resolving deltas: 31% (23/73) -Resolving deltas: 45% (33/73) -Resolving deltas: 60% (44/73) -Resolving deltas: 61% (45/73) -Resolving deltas: 63% (46/73) -Resolving deltas: 68% (50/73) -Resolving deltas: 71% (52/73) -Resolving deltas: 72% (53/73) -Resolving deltas: 73% (54/73) -Resolving deltas: 79% (58/73) -Resolving deltas: 84% (62/73) -Resolving deltas: 98% (72/73) -Resolving deltas: 100% (73/73) -Resolving deltas: 100% (73/73), done. - - -Convert Tensorflow Lite model to OpenVINO IR format -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -The attention-center model is pre-trained model in TensorFlow Lite -format. In this Notebook the model will be converted to OpenVINO IR -format with model conversion API. For more information about model -conversion, see this -`page `__. -This step is also skipped if the model is already converted. - -Also TFLite models format is supported in OpenVINO by TFLite frontend, -so the model can be passed directly to ``core.read_model()``. You can -find example in -`002-openvino-api `__. - -.. code:: ipython3 - - tflite_model_path = Path("./attention-center/model/center.tflite") - - ir_model_path = Path("./model/ir_center_model.xml") - - core = ov.Core() - - if not ir_model_path.exists(): - model = ov.convert_model(tflite_model_path, input=[('image:0', [1,480,640,3], ov.Type.f32)]) - ov.save_model(model, ir_model_path) - print("IR model saved to {}".format(ir_model_path)) - else: - print("Read IR model from {}".format(ir_model_path)) - model = core.read_model(ir_model_path) - - -.. parsed-literal:: - - IR model saved to model/ir_center_model.xml - - -Select inference device ------------------------ - - - -select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - import ipywidgets as widgets - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -.. code:: ipython3 - - if "GPU" in device.value: - core.set_property(device_name=device.value, properties={'INFERENCE_PRECISION_HINT': ov.Type.f32}) - compiled_model = core.compile_model(model=model, device_name=device.value) - -Prepare image to use with attention-center model ------------------------------------------------- - - - -The attention-center model takes an RGB image with shape (480, 640) as -input. - -.. code:: ipython3 - - class Image(): - def __init__(self, model_input_image_shape, image_path=None, image=None): - self.model_input_image_shape = model_input_image_shape - self.image = None - self.real_input_image_shape = None - - if image_path is not None: - self.image = cv2.imread(str(image_path)) - self.real_input_image_shape = self.image.shape - elif image is not None: - self.image = image - self.real_input_image_shape = self.image.shape - else: - raise Exception("Sorry, image can't be found, please, specify image_path or image") - - def prepare_image_tensor(self): - rgb_image = cv2.cvtColor(self.image, cv2.COLOR_BGR2RGB) - resized_image = cv2.resize(rgb_image, (self.model_input_image_shape[1], self.model_input_image_shape[0])) - - image_tensor = tf.constant(np.expand_dims(resized_image, axis=0), - dtype=tf.float32) - return image_tensor - - def scalt_center_to_real_image_shape(self, predicted_center): - new_center_y = round(predicted_center[0] * self.real_input_image_shape[1] / self.model_input_image_shape[1]) - new_center_x = round(predicted_center[1] * self.real_input_image_shape[0] / self.model_input_image_shape[0]) - return (int(new_center_y), int(new_center_x)) - - def draw_attention_center_point(self, predicted_center): - image_with_circle = cv2.circle(self.image, - predicted_center, - radius=10, - color=(3, 3, 255), - thickness=-1) - return image_with_circle - - def print_image(self, predicted_center=None): - image_to_print = self.image - if predicted_center is not None: - image_to_print = self.draw_attention_center_point(predicted_center) - - plt.imshow(cv2.cvtColor(image_to_print, cv2.COLOR_BGR2RGB)) - -Load input image ----------------- - - - -Upload input image using file loading button - -.. code:: ipython3 - - import ipywidgets as widgets - - load_file_widget = widgets.FileUpload( - accept="image/*", multiple=False, description="Image file", - ) - - load_file_widget - - - - -.. parsed-literal:: - - FileUpload(value=(), accept='image/*', description='Image file') - - - -.. code:: ipython3 - - import io - import PIL - from urllib.request import urlretrieve - - img_path = Path("data/coco.jpg") - img_path.parent.mkdir(parents=True, exist_ok=True) - urlretrieve( - "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - img_path, - ) - - # read uploaded image - image = PIL.Image.open(io.BytesIO(list(load_file_widget.value.values())[-1]['content'])) if load_file_widget.value else PIL.Image.open(img_path) - image.convert("RGB") - - input_image = Image((480, 640), image=(np.ascontiguousarray(image)[:, :, ::-1]).astype(np.uint8)) - image_tensor = input_image.prepare_image_tensor() - input_image.print_image() - - -.. parsed-literal:: - - 2024-03-12 23:28:11.205498: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-12 23:28:11.205530: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-12 23:28:11.205534: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-12 23:28:11.205690: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-12 23:28:11.205706: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-12 23:28:11.205709: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration - - - -.. image:: 216-attention-center-with-output_files/216-attention-center-with-output_15_1.png - - -Get result with OpenVINO IR model ---------------------------------- - - - -.. code:: ipython3 - - output_layer = compiled_model.output(0) - - # make inference, get result in input image resolution - res = compiled_model([image_tensor])[output_layer] - # scale point to original image resulution - predicted_center = input_image.scalt_center_to_real_image_shape(res[0]) - print(f'Prediction attention center point {predicted_center}') - input_image.print_image(predicted_center) - - -.. parsed-literal:: - - Prediction attention center point (292, 277) - - - -.. image:: 216-attention-center-with-output_files/216-attention-center-with-output_17_1.png - diff --git a/docs/notebooks/216-attention-center-with-output_files/216-attention-center-with-output_15_1.png b/docs/notebooks/216-attention-center-with-output_files/216-attention-center-with-output_15_1.png deleted file mode 100644 index a142093f6e6..00000000000 --- a/docs/notebooks/216-attention-center-with-output_files/216-attention-center-with-output_15_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5712bd24e962ae0e0267607554ebe1f2869c223b108876ce10e5d20fe6285126 -size 387941 diff --git a/docs/notebooks/216-attention-center-with-output_files/216-attention-center-with-output_17_1.png b/docs/notebooks/216-attention-center-with-output_files/216-attention-center-with-output_17_1.png deleted file mode 100644 index a78d400bf8a..00000000000 --- a/docs/notebooks/216-attention-center-with-output_files/216-attention-center-with-output_17_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd48ceba3733fc5b2050e969f2fb278e9f9d826604f23be5405c05358888beb0 -size 387905 diff --git a/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_14_0.png b/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_14_0.png deleted file mode 100644 index 3d6e2653007..00000000000 --- a/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_14_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d7694af95a9b442cc193ef929e580051c778d45a318b2258a060f0c0ac1d35b -size 172680 diff --git a/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_21_0.png b/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_21_0.png deleted file mode 100644 index b71eae77d8b..00000000000 --- a/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_21_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:59b84bcb1a2004cfb5a192c6801e818fe1a15a881c97dd2d310266e8e654e941 -size 19599 diff --git a/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_27_0.png b/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_27_0.png deleted file mode 100644 index 3e6bc588d96..00000000000 --- a/docs/notebooks/218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_27_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7175d7bc58325a7c169a5c632a71bb01aa27685020ade9b53bcd8fb6d55c013f -size 175941 diff --git a/docs/notebooks/222-vision-image-colorization-with-output.rst b/docs/notebooks/222-vision-image-colorization-with-output.rst deleted file mode 100644 index 3db9084c47a..00000000000 --- a/docs/notebooks/222-vision-image-colorization-with-output.rst +++ /dev/null @@ -1,4560 +0,0 @@ -Image Colorization with OpenVINO -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This notebook demonstrates how to colorize images with OpenVINO using -the Colorization model -`colorization-v2 `__ -or -`colorization-siggraph `__ -from `Open Model -Zoo `__ -based on the paper `Colorful Image -Colorization `__ models from Open -Model Zoo. - -.. figure:: https://user-images.githubusercontent.com/18904157/180923280-9caefaf1-742b-4d2f-8943-5d4a6126e2fc.png - :alt: Let there be color - - Let there be color - -Given a grayscale image as input, the model generates colorized version -of the image as the output. - -About Colorization-v2 -^^^^^^^^^^^^^^^^^^^^^ - -- The colorization-v2 model is one of the colorization group of models - designed to perform image colorization. -- Model trained on the ImageNet dataset. -- Model consumes L-channel of LAB-image as input and produces predict - A- and B-channels of LAB-image as output. - -About Colorization-siggraph -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -- The colorization-siggraph model is one of the colorization group of - models designed to real-time user-guided image colorization. -- Model trained on the ImageNet dataset with synthetically generated - user interaction. -- Model consumes L-channel of LAB-image as input and produces predict - A- and B-channels of LAB-image as output. - -See the `colorization `__ -repository for more details. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Imports <#imports>`__ -- `Configurations <#configurations>`__ - - - `Select inference device <#select-inference-device>`__ - -- `Download the model <#download-the-model>`__ -- `Convert the model to OpenVINO - IR <#convert-the-model-to-openvino-ir>`__ -- `Loading the Model <#loading-the-model>`__ -- `Utility Functions <#utility-functions>`__ -- `Load the Image <#load-the-image>`__ -- `Display Colorized Image <#display-colorized-image>`__ - -.. code:: ipython3 - - %pip install "openvino-dev>=2024.0.0" - - -.. parsed-literal:: - - Requirement already satisfied: openvino-dev>=2024.0.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2024.0.0) - Requirement already satisfied: defusedxml>=0.7.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (0.7.1) - Requirement already satisfied: networkx<=3.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2.8.8) - Requirement already satisfied: numpy>=1.16.6 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (1.23.5) - Requirement already satisfied: openvino-telemetry>=2023.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2023.2.1) - Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (24.0) - Requirement already satisfied: pyyaml>=5.4.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (6.0.1) - Requirement already satisfied: requests>=2.25.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2.31.0) - Requirement already satisfied: openvino==2024.0.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2024.0.0) - - -.. parsed-literal:: - - Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.3.2) - Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.6) - Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2.2.1) - Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2024.2.2) - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Imports -------- - - - -.. code:: ipython3 - - import os - import sys - from pathlib import Path - - import cv2 - import matplotlib.pyplot as plt - import numpy as np - import openvino as ov - - sys.path.append("../utils") - import notebook_utils as utils - -Configurations --------------- - - - -- ``PRECISION`` - {FP16, FP32}, default: FP16. -- ``MODEL_DIR`` - directory where the model is to be stored, default: - public. -- ``MODEL_NAME`` - name of the model used for inference, default: - colorization-v2. -- ``DATA_DIR`` - directory where test images are stored, default: data. - -.. code:: ipython3 - - PRECISION = "FP16" - MODEL_DIR = "models" - MODEL_NAME = "colorization-v2" - # MODEL_NAME="colorization-siggraph" - MODEL_PATH = f"{MODEL_DIR}/public/{MODEL_NAME}/{PRECISION}/{MODEL_NAME}.xml" - DATA_DIR = "data" - -Select inference device -~~~~~~~~~~~~~~~~~~~~~~~ - - - -select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - import ipywidgets as widgets - - core = ov.Core() - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -Download the model ------------------- - - - -``omz_downloader`` downloads model files from online sources and, if -necessary, patches them to make them more usable with Model Converter. - -In this case, ``omz_downloader`` downloads the checkpoint and pytorch -model of -`colorization-v2 `__ -or -`colorization-siggraph `__ -from `Open Model -Zoo `__ -and saves it under ``MODEL_DIR``, as specified in the configuration -above. - -.. code:: ipython3 - - download_command = ( - f"omz_downloader " - f"--name {MODEL_NAME} " - f"--output_dir {MODEL_DIR} " - f"--cache_dir {MODEL_DIR}" - ) - ! $download_command - - -.. parsed-literal:: - - ################|| Downloading colorization-v2 ||################ - - ========== Downloading models/public/colorization-v2/ckpt/colorization-v2-eccv16.pth - - -.. parsed-literal:: - - ... 0%, 32 KB, 932 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 64 KB, 932 KB/s, 0 seconds passed -... 0%, 96 KB, 1338 KB/s, 0 seconds passed -... 0%, 128 KB, 1717 KB/s, 0 seconds passed -... 0%, 160 KB, 1557 KB/s, 0 seconds passed -... 0%, 192 KB, 1827 KB/s, 0 seconds passed -... 0%, 224 KB, 2106 KB/s, 0 seconds passed -... 0%, 256 KB, 2370 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 288 KB, 2615 KB/s, 0 seconds passed -... 0%, 320 KB, 2345 KB/s, 0 seconds passed -... 0%, 352 KB, 2560 KB/s, 0 seconds passed -... 0%, 384 KB, 2784 KB/s, 0 seconds passed -... 0%, 416 KB, 3009 KB/s, 0 seconds passed -... 0%, 448 KB, 3229 KB/s, 0 seconds passed -... 0%, 480 KB, 3443 KB/s, 0 seconds passed -... 0%, 512 KB, 3654 KB/s, 0 seconds passed -... 0%, 544 KB, 3873 KB/s, 0 seconds passed -... 0%, 576 KB, 4086 KB/s, 0 seconds passed -... 0%, 608 KB, 4216 KB/s, 0 seconds passed -... 0%, 640 KB, 4428 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 672 KB, 3916 KB/s, 0 seconds passed -... 0%, 704 KB, 4051 KB/s, 0 seconds passed -... 0%, 736 KB, 4227 KB/s, 0 seconds passed -... 0%, 768 KB, 4402 KB/s, 0 seconds passed -... 0%, 800 KB, 4578 KB/s, 0 seconds passed -... 0%, 832 KB, 4753 KB/s, 0 seconds passed -... 0%, 864 KB, 4927 KB/s, 0 seconds passed -... 0%, 896 KB, 5100 KB/s, 0 seconds passed -... 0%, 928 KB, 5273 KB/s, 0 seconds passed -... 0%, 960 KB, 5446 KB/s, 0 seconds passed -... 0%, 992 KB, 5617 KB/s, 0 seconds passed -... 0%, 1024 KB, 5788 KB/s, 0 seconds passed -... 0%, 1056 KB, 5958 KB/s, 0 seconds passed -... 0%, 1088 KB, 6128 KB/s, 0 seconds passed -... 0%, 1120 KB, 6297 KB/s, 0 seconds passed -... 0%, 1152 KB, 6466 KB/s, 0 seconds passed -... 0%, 1184 KB, 6634 KB/s, 0 seconds passed -... 0%, 1216 KB, 6802 KB/s, 0 seconds passed -... 0%, 1248 KB, 6969 KB/s, 0 seconds passed -... 1%, 1280 KB, 7137 KB/s, 0 seconds passed -... 1%, 1312 KB, 6344 KB/s, 0 seconds passed -... 1%, 1344 KB, 6485 KB/s, 0 seconds passed -... 1%, 1376 KB, 6628 KB/s, 0 seconds passed -... 1%, 1408 KB, 6772 KB/s, 0 seconds passed -... 1%, 1440 KB, 6915 KB/s, 0 seconds passed -... 1%, 1472 KB, 7058 KB/s, 0 seconds passed -... 1%, 1504 KB, 7200 KB/s, 0 seconds passed -... 1%, 1536 KB, 7343 KB/s, 0 seconds passed -... 1%, 1568 KB, 7486 KB/s, 0 seconds passed -... 1%, 1600 KB, 7627 KB/s, 0 seconds passed -... 1%, 1632 KB, 7767 KB/s, 0 seconds passed -... 1%, 1664 KB, 7907 KB/s, 0 seconds passed -... 1%, 1696 KB, 8044 KB/s, 0 seconds passed -... 1%, 1728 KB, 8184 KB/s, 0 seconds passed -... 1%, 1760 KB, 8321 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 1%, 1792 KB, 8457 KB/s, 0 seconds passed -... 1%, 1824 KB, 8595 KB/s, 0 seconds passed -... 1%, 1856 KB, 8733 KB/s, 0 seconds passed -... 1%, 1888 KB, 8870 KB/s, 0 seconds passed -... 1%, 1920 KB, 9007 KB/s, 0 seconds passed -... 1%, 1952 KB, 9145 KB/s, 0 seconds passed -... 1%, 1984 KB, 9281 KB/s, 0 seconds passed -... 1%, 2016 KB, 9417 KB/s, 0 seconds passed -... 1%, 2048 KB, 9553 KB/s, 0 seconds passed -... 1%, 2080 KB, 9688 KB/s, 0 seconds passed -... 1%, 2112 KB, 9823 KB/s, 0 seconds passed -... 1%, 2144 KB, 9958 KB/s, 0 seconds passed -... 1%, 2176 KB, 10092 KB/s, 0 seconds passed -... 1%, 2208 KB, 10226 KB/s, 0 seconds passed -... 1%, 2240 KB, 10359 KB/s, 0 seconds passed -... 1%, 2272 KB, 10492 KB/s, 0 seconds passed -... 1%, 2304 KB, 10625 KB/s, 0 seconds passed -... 1%, 2336 KB, 10757 KB/s, 0 seconds passed -... 1%, 2368 KB, 10889 KB/s, 0 seconds passed -... 1%, 2400 KB, 11020 KB/s, 0 seconds passed -... 1%, 2432 KB, 11151 KB/s, 0 seconds passed -... 1%, 2464 KB, 11282 KB/s, 0 seconds passed -... 1%, 2496 KB, 11413 KB/s, 0 seconds passed -... 2%, 2528 KB, 11543 KB/s, 0 seconds passed -... 2%, 2560 KB, 11672 KB/s, 0 seconds passed -... 2%, 2592 KB, 11801 KB/s, 0 seconds passed -... 2%, 2624 KB, 11931 KB/s, 0 seconds passed -... 2%, 2656 KB, 11098 KB/s, 0 seconds passed -... 2%, 2688 KB, 11204 KB/s, 0 seconds passed -... 2%, 2720 KB, 11249 KB/s, 0 seconds passed -... 2%, 2752 KB, 11365 KB/s, 0 seconds passed -... 2%, 2784 KB, 11483 KB/s, 0 seconds passed -... 2%, 2816 KB, 11600 KB/s, 0 seconds passed -... 2%, 2848 KB, 11717 KB/s, 0 seconds passed -... 2%, 2880 KB, 11833 KB/s, 0 seconds passed -... 2%, 2912 KB, 11948 KB/s, 0 seconds passed -... 2%, 2944 KB, 12064 KB/s, 0 seconds passed -... 2%, 2976 KB, 12181 KB/s, 0 seconds passed -... 2%, 3008 KB, 12296 KB/s, 0 seconds passed -... 2%, 3040 KB, 12411 KB/s, 0 seconds passed -... 2%, 3072 KB, 12525 KB/s, 0 seconds passed -... 2%, 3104 KB, 12640 KB/s, 0 seconds passed -... 2%, 3136 KB, 12755 KB/s, 0 seconds passed -... 2%, 3168 KB, 12867 KB/s, 0 seconds passed -... 2%, 3200 KB, 12981 KB/s, 0 seconds passed -... 2%, 3232 KB, 13095 KB/s, 0 seconds passed -... 2%, 3264 KB, 13209 KB/s, 0 seconds passed -... 2%, 3296 KB, 13322 KB/s, 0 seconds passed -... 2%, 3328 KB, 13435 KB/s, 0 seconds passed -... 2%, 3360 KB, 13547 KB/s, 0 seconds passed -... 2%, 3392 KB, 13659 KB/s, 0 seconds passed -... 2%, 3424 KB, 13771 KB/s, 0 seconds passed -... 2%, 3456 KB, 13883 KB/s, 0 seconds passed -... 2%, 3488 KB, 13994 KB/s, 0 seconds passed -... 2%, 3520 KB, 14105 KB/s, 0 seconds passed -... 2%, 3552 KB, 14216 KB/s, 0 seconds passed -... 2%, 3584 KB, 14326 KB/s, 0 seconds passed -... 2%, 3616 KB, 14438 KB/s, 0 seconds passed -... 2%, 3648 KB, 14550 KB/s, 0 seconds passed -... 2%, 3680 KB, 14663 KB/s, 0 seconds passed -... 2%, 3712 KB, 14776 KB/s, 0 seconds passed -... 2%, 3744 KB, 14888 KB/s, 0 seconds passed -... 2%, 3776 KB, 15000 KB/s, 0 seconds passed -... 3%, 3808 KB, 15113 KB/s, 0 seconds passed -... 3%, 3840 KB, 15225 KB/s, 0 seconds passed -... 3%, 3872 KB, 15336 KB/s, 0 seconds passed -... 3%, 3904 KB, 15446 KB/s, 0 seconds passed -... 3%, 3936 KB, 15558 KB/s, 0 seconds passed -... 3%, 3968 KB, 15669 KB/s, 0 seconds passed -... 3%, 4000 KB, 15777 KB/s, 0 seconds passed -... 3%, 4032 KB, 15887 KB/s, 0 seconds passed -... 3%, 4064 KB, 15998 KB/s, 0 seconds passed -... 3%, 4096 KB, 16107 KB/s, 0 seconds passed -... 3%, 4128 KB, 16217 KB/s, 0 seconds passed -... 3%, 4160 KB, 16327 KB/s, 0 seconds passed -... 3%, 4192 KB, 16437 KB/s, 0 seconds passed -... 3%, 4224 KB, 16546 KB/s, 0 seconds passed -... 3%, 4256 KB, 16655 KB/s, 0 seconds passed -... 3%, 4288 KB, 16764 KB/s, 0 seconds passed -... 3%, 4320 KB, 16873 KB/s, 0 seconds passed -... 3%, 4352 KB, 16982 KB/s, 0 seconds passed -... 3%, 4384 KB, 16715 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 3%, 4416 KB, 16533 KB/s, 0 seconds passed -... 3%, 4448 KB, 16627 KB/s, 0 seconds passed -... 3%, 4480 KB, 16725 KB/s, 0 seconds passed -... 3%, 4512 KB, 16824 KB/s, 0 seconds passed -... 3%, 4544 KB, 16924 KB/s, 0 seconds passed -... 3%, 4576 KB, 17023 KB/s, 0 seconds passed -... 3%, 4608 KB, 17122 KB/s, 0 seconds passed -... 3%, 4640 KB, 17222 KB/s, 0 seconds passed -... 3%, 4672 KB, 17321 KB/s, 0 seconds passed -... 3%, 4704 KB, 17421 KB/s, 0 seconds passed -... 3%, 4736 KB, 17519 KB/s, 0 seconds passed -... 3%, 4768 KB, 17616 KB/s, 0 seconds passed -... 3%, 4800 KB, 17715 KB/s, 0 seconds passed -... 3%, 4832 KB, 17813 KB/s, 0 seconds passed -... 3%, 4864 KB, 17911 KB/s, 0 seconds passed -... 3%, 4896 KB, 18009 KB/s, 0 seconds passed -... 3%, 4928 KB, 18106 KB/s, 0 seconds passed -... 3%, 4960 KB, 18203 KB/s, 0 seconds passed -... 3%, 4992 KB, 18299 KB/s, 0 seconds passed -... 3%, 5024 KB, 18395 KB/s, 0 seconds passed -... 4%, 5056 KB, 18492 KB/s, 0 seconds passed -... 4%, 5088 KB, 18588 KB/s, 0 seconds passed -... 4%, 5120 KB, 18684 KB/s, 0 seconds passed -... 4%, 5152 KB, 18780 KB/s, 0 seconds passed -... 4%, 5184 KB, 18876 KB/s, 0 seconds passed -... 4%, 5216 KB, 18969 KB/s, 0 seconds passed -... 4%, 5248 KB, 19064 KB/s, 0 seconds passed -... 4%, 5280 KB, 19159 KB/s, 0 seconds passed -... 4%, 5312 KB, 19255 KB/s, 0 seconds passed -... 4%, 5344 KB, 19350 KB/s, 0 seconds passed -... 4%, 5376 KB, 19445 KB/s, 0 seconds passed -... 4%, 5408 KB, 19538 KB/s, 0 seconds passed -... 4%, 5440 KB, 19632 KB/s, 0 seconds passed -... 4%, 5472 KB, 19725 KB/s, 0 seconds passed -... 4%, 5504 KB, 19819 KB/s, 0 seconds passed -... 4%, 5536 KB, 19912 KB/s, 0 seconds passed -... 4%, 5568 KB, 20005 KB/s, 0 seconds passed -... 4%, 5600 KB, 20097 KB/s, 0 seconds passed -... 4%, 5632 KB, 20190 KB/s, 0 seconds passed -... 4%, 5664 KB, 20282 KB/s, 0 seconds passed -... 4%, 5696 KB, 20375 KB/s, 0 seconds passed -... 4%, 5728 KB, 20468 KB/s, 0 seconds passed -... 4%, 5760 KB, 20558 KB/s, 0 seconds passed -... 4%, 5792 KB, 20650 KB/s, 0 seconds passed -... 4%, 5824 KB, 20744 KB/s, 0 seconds passed -... 4%, 5856 KB, 20843 KB/s, 0 seconds passed -... 4%, 5888 KB, 20941 KB/s, 0 seconds passed -... 4%, 5920 KB, 21039 KB/s, 0 seconds passed -... 4%, 5952 KB, 21138 KB/s, 0 seconds passed -... 4%, 5984 KB, 21236 KB/s, 0 seconds passed -... 4%, 6016 KB, 21332 KB/s, 0 seconds passed -... 4%, 6048 KB, 21430 KB/s, 0 seconds passed -... 4%, 6080 KB, 21527 KB/s, 0 seconds passed -... 4%, 6112 KB, 21625 KB/s, 0 seconds passed -... 4%, 6144 KB, 21723 KB/s, 0 seconds passed -... 4%, 6176 KB, 21820 KB/s, 0 seconds passed -... 4%, 6208 KB, 21918 KB/s, 0 seconds passed -... 4%, 6240 KB, 22015 KB/s, 0 seconds passed -... 4%, 6272 KB, 22113 KB/s, 0 seconds passed -... 5%, 6304 KB, 22209 KB/s, 0 seconds passed -... 5%, 6336 KB, 22306 KB/s, 0 seconds passed -... 5%, 6368 KB, 22403 KB/s, 0 seconds passed -... 5%, 6400 KB, 22498 KB/s, 0 seconds passed -... 5%, 6432 KB, 22593 KB/s, 0 seconds passed -... 5%, 6464 KB, 22679 KB/s, 0 seconds passed -... 5%, 6496 KB, 22771 KB/s, 0 seconds passed -... 5%, 6528 KB, 22861 KB/s, 0 seconds passed -... 5%, 6560 KB, 22952 KB/s, 0 seconds passed -... 5%, 6592 KB, 23042 KB/s, 0 seconds passed -... 5%, 6624 KB, 22746 KB/s, 0 seconds passed -... 5%, 6656 KB, 22836 KB/s, 0 seconds passed -... 5%, 6688 KB, 22924 KB/s, 0 seconds passed -... 5%, 6720 KB, 23014 KB/s, 0 seconds passed -... 5%, 6752 KB, 23102 KB/s, 0 seconds passed -... 5%, 6784 KB, 23189 KB/s, 0 seconds passed -... 5%, 6816 KB, 23278 KB/s, 0 seconds passed -... 5%, 6848 KB, 23366 KB/s, 0 seconds passed -... 5%, 6880 KB, 23450 KB/s, 0 seconds passed -... 5%, 6912 KB, 23537 KB/s, 0 seconds passed -... 5%, 6944 KB, 23625 KB/s, 0 seconds passed -... 5%, 6976 KB, 23711 KB/s, 0 seconds passed -... 5%, 7008 KB, 23799 KB/s, 0 seconds passed -... 5%, 7040 KB, 23877 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 5%, 7072 KB, 13840 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 5%, 7104 KB, 13662 KB/s, 0 seconds passed -... 5%, 7136 KB, 13577 KB/s, 0 seconds passed -... 5%, 7168 KB, 13627 KB/s, 0 seconds passed -... 5%, 7200 KB, 13545 KB/s, 0 seconds passed -... 5%, 7232 KB, 13594 KB/s, 0 seconds passed -... 5%, 7264 KB, 13644 KB/s, 0 seconds passed -... 5%, 7296 KB, 13695 KB/s, 0 seconds passed -... 5%, 7328 KB, 13748 KB/s, 0 seconds passed -... 5%, 7360 KB, 13670 KB/s, 0 seconds passed -... 5%, 7392 KB, 13717 KB/s, 0 seconds passed -... 5%, 7424 KB, 13766 KB/s, 0 seconds passed -... 5%, 7456 KB, 13818 KB/s, 0 seconds passed -... 5%, 7488 KB, 13869 KB/s, 0 seconds passed -... 5%, 7520 KB, 13920 KB/s, 0 seconds passed -... 5%, 7552 KB, 13972 KB/s, 0 seconds passed -... 6%, 7584 KB, 14023 KB/s, 0 seconds passed -... 6%, 7616 KB, 14074 KB/s, 0 seconds passed -... 6%, 7648 KB, 14125 KB/s, 0 seconds passed -... 6%, 7680 KB, 14176 KB/s, 0 seconds passed -... 6%, 7712 KB, 14227 KB/s, 0 seconds passed -... 6%, 7744 KB, 14277 KB/s, 0 seconds passed -... 6%, 7776 KB, 14328 KB/s, 0 seconds passed -... 6%, 7808 KB, 14379 KB/s, 0 seconds passed -... 6%, 7840 KB, 14430 KB/s, 0 seconds passed -... 6%, 7872 KB, 14481 KB/s, 0 seconds passed -... 6%, 7904 KB, 14532 KB/s, 0 seconds passed -... 6%, 7936 KB, 14582 KB/s, 0 seconds passed -... 6%, 7968 KB, 14633 KB/s, 0 seconds passed -... 6%, 8000 KB, 14683 KB/s, 0 seconds passed -... 6%, 8032 KB, 14734 KB/s, 0 seconds passed -... 6%, 8064 KB, 14784 KB/s, 0 seconds passed -... 6%, 8096 KB, 14835 KB/s, 0 seconds passed -... 6%, 8128 KB, 14885 KB/s, 0 seconds passed -... 6%, 8160 KB, 14935 KB/s, 0 seconds passed -... 6%, 8192 KB, 14985 KB/s, 0 seconds passed -... 6%, 8224 KB, 15035 KB/s, 0 seconds passed -... 6%, 8256 KB, 15085 KB/s, 0 seconds passed -... 6%, 8288 KB, 15135 KB/s, 0 seconds passed -... 6%, 8320 KB, 15185 KB/s, 0 seconds passed -... 6%, 8352 KB, 15235 KB/s, 0 seconds passed -... 6%, 8384 KB, 15285 KB/s, 0 seconds passed -... 6%, 8416 KB, 15335 KB/s, 0 seconds passed -... 6%, 8448 KB, 15384 KB/s, 0 seconds passed -... 6%, 8480 KB, 15434 KB/s, 0 seconds passed -... 6%, 8512 KB, 15483 KB/s, 0 seconds passed -... 6%, 8544 KB, 15532 KB/s, 0 seconds passed -... 6%, 8576 KB, 15582 KB/s, 0 seconds passed -... 6%, 8608 KB, 15631 KB/s, 0 seconds passed -... 6%, 8640 KB, 15681 KB/s, 0 seconds passed -... 6%, 8672 KB, 15731 KB/s, 0 seconds passed -... 6%, 8704 KB, 15780 KB/s, 0 seconds passed -... 6%, 8736 KB, 15829 KB/s, 0 seconds passed -... 6%, 8768 KB, 15879 KB/s, 0 seconds passed -... 6%, 8800 KB, 15928 KB/s, 0 seconds passed -... 7%, 8832 KB, 15977 KB/s, 0 seconds passed -... 7%, 8864 KB, 16026 KB/s, 0 seconds passed -... 7%, 8896 KB, 16075 KB/s, 0 seconds passed -... 7%, 8928 KB, 16127 KB/s, 0 seconds passed -... 7%, 8960 KB, 16178 KB/s, 0 seconds passed -... 7%, 8992 KB, 16230 KB/s, 0 seconds passed -... 7%, 9024 KB, 16282 KB/s, 0 seconds passed -... 7%, 9056 KB, 16334 KB/s, 0 seconds passed -... 7%, 9088 KB, 16386 KB/s, 0 seconds passed -... 7%, 9120 KB, 16437 KB/s, 0 seconds passed -... 7%, 9152 KB, 16489 KB/s, 0 seconds passed -... 7%, 9184 KB, 16540 KB/s, 0 seconds passed -... 7%, 9216 KB, 16592 KB/s, 0 seconds passed -... 7%, 9248 KB, 16643 KB/s, 0 seconds passed -... 7%, 9280 KB, 16694 KB/s, 0 seconds passed -... 7%, 9312 KB, 16746 KB/s, 0 seconds passed -... 7%, 9344 KB, 16797 KB/s, 0 seconds passed -... 7%, 9376 KB, 16849 KB/s, 0 seconds passed -... 7%, 9408 KB, 16900 KB/s, 0 seconds passed -... 7%, 9440 KB, 16950 KB/s, 0 seconds passed -... 7%, 9472 KB, 17002 KB/s, 0 seconds passed -... 7%, 9504 KB, 17053 KB/s, 0 seconds passed -... 7%, 9536 KB, 17104 KB/s, 0 seconds passed -... 7%, 9568 KB, 17155 KB/s, 0 seconds passed -... 7%, 9600 KB, 17204 KB/s, 0 seconds passed -... 7%, 9632 KB, 17253 KB/s, 0 seconds passed -... 7%, 9664 KB, 17302 KB/s, 0 seconds passed -... 7%, 9696 KB, 17349 KB/s, 0 seconds passed -... 7%, 9728 KB, 17398 KB/s, 0 seconds passed -... 7%, 9760 KB, 17447 KB/s, 0 seconds passed -... 7%, 9792 KB, 17496 KB/s, 0 seconds passed -... 7%, 9824 KB, 17545 KB/s, 0 seconds passed -... 7%, 9856 KB, 17592 KB/s, 0 seconds passed -... 7%, 9888 KB, 17641 KB/s, 0 seconds passed -... 7%, 9920 KB, 17689 KB/s, 0 seconds passed -... 7%, 9952 KB, 17738 KB/s, 0 seconds passed -... 7%, 9984 KB, 17785 KB/s, 0 seconds passed -... 7%, 10016 KB, 17834 KB/s, 0 seconds passed -... 7%, 10048 KB, 17882 KB/s, 0 seconds passed -... 8%, 10080 KB, 17930 KB/s, 0 seconds passed -... 8%, 10112 KB, 17979 KB/s, 0 seconds passed -... 8%, 10144 KB, 18026 KB/s, 0 seconds passed -... 8%, 10176 KB, 18074 KB/s, 0 seconds passed -... 8%, 10208 KB, 18122 KB/s, 0 seconds passed -... 8%, 10240 KB, 18166 KB/s, 0 seconds passed -... 8%, 10272 KB, 18215 KB/s, 0 seconds passed -... 8%, 10304 KB, 18263 KB/s, 0 seconds passed -... 8%, 10336 KB, 18311 KB/s, 0 seconds passed -... 8%, 10368 KB, 18359 KB/s, 0 seconds passed -... 8%, 10400 KB, 18405 KB/s, 0 seconds passed -... 8%, 10432 KB, 18453 KB/s, 0 seconds passed -... 8%, 10464 KB, 18501 KB/s, 0 seconds passed -... 8%, 10496 KB, 18549 KB/s, 0 seconds passed -... 8%, 10528 KB, 18597 KB/s, 0 seconds passed -... 8%, 10560 KB, 18644 KB/s, 0 seconds passed -... 8%, 10592 KB, 18692 KB/s, 0 seconds passed -... 8%, 10624 KB, 18738 KB/s, 0 seconds passed -... 8%, 10656 KB, 18786 KB/s, 0 seconds passed -... 8%, 10688 KB, 18833 KB/s, 0 seconds passed -... 8%, 10720 KB, 18881 KB/s, 0 seconds passed -... 8%, 10752 KB, 18928 KB/s, 0 seconds passed -... 8%, 10784 KB, 18976 KB/s, 0 seconds passed -... 8%, 10816 KB, 19017 KB/s, 0 seconds passed -... 8%, 10848 KB, 19053 KB/s, 0 seconds passed -... 8%, 10880 KB, 19093 KB/s, 0 seconds passed -... 8%, 10912 KB, 19135 KB/s, 0 seconds passed -... 8%, 10944 KB, 19178 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 8%, 10976 KB, 19219 KB/s, 0 seconds passed -... 8%, 11008 KB, 19262 KB/s, 0 seconds passed -... 8%, 11040 KB, 19304 KB/s, 0 seconds passed -... 8%, 11072 KB, 19346 KB/s, 0 seconds passed -... 8%, 11104 KB, 19376 KB/s, 0 seconds passed -... 8%, 11136 KB, 19401 KB/s, 0 seconds passed -... 8%, 11168 KB, 19427 KB/s, 0 seconds passed -... 8%, 11200 KB, 19454 KB/s, 0 seconds passed -... 8%, 11232 KB, 19494 KB/s, 0 seconds passed -... 8%, 11264 KB, 19533 KB/s, 0 seconds passed -... 8%, 11296 KB, 19574 KB/s, 0 seconds passed -... 8%, 11328 KB, 19616 KB/s, 0 seconds passed -... 9%, 11360 KB, 19658 KB/s, 0 seconds passed -... 9%, 11392 KB, 19700 KB/s, 0 seconds passed -... 9%, 11424 KB, 19743 KB/s, 0 seconds passed -... 9%, 11456 KB, 19785 KB/s, 0 seconds passed -... 9%, 11488 KB, 19827 KB/s, 0 seconds passed -... 9%, 11520 KB, 19870 KB/s, 0 seconds passed -... 9%, 11552 KB, 19912 KB/s, 0 seconds passed -... 9%, 11584 KB, 19953 KB/s, 0 seconds passed -... 9%, 11616 KB, 19994 KB/s, 0 seconds passed -... 9%, 11648 KB, 20036 KB/s, 0 seconds passed -... 9%, 11680 KB, 20078 KB/s, 0 seconds passed -... 9%, 11712 KB, 20119 KB/s, 0 seconds passed -... 9%, 11744 KB, 20161 KB/s, 0 seconds passed -... 9%, 11776 KB, 20203 KB/s, 0 seconds passed -... 9%, 11808 KB, 20244 KB/s, 0 seconds passed -... 9%, 11840 KB, 20286 KB/s, 0 seconds passed -... 9%, 11872 KB, 20329 KB/s, 0 seconds passed -... 9%, 11904 KB, 20376 KB/s, 0 seconds passed -... 9%, 11936 KB, 20422 KB/s, 0 seconds passed -... 9%, 11968 KB, 20467 KB/s, 0 seconds passed -... 9%, 12000 KB, 20513 KB/s, 0 seconds passed -... 9%, 12032 KB, 20558 KB/s, 0 seconds passed -... 9%, 12064 KB, 20605 KB/s, 0 seconds passed -... 9%, 12096 KB, 20651 KB/s, 0 seconds passed -... 9%, 12128 KB, 20697 KB/s, 0 seconds passed -... 9%, 12160 KB, 20743 KB/s, 0 seconds passed -... 9%, 12192 KB, 20789 KB/s, 0 seconds passed -... 9%, 12224 KB, 20835 KB/s, 0 seconds passed -... 9%, 12256 KB, 20881 KB/s, 0 seconds passed -... 9%, 12288 KB, 20927 KB/s, 0 seconds passed -... 9%, 12320 KB, 20972 KB/s, 0 seconds passed -... 9%, 12352 KB, 21017 KB/s, 0 seconds passed -... 9%, 12384 KB, 21063 KB/s, 0 seconds passed -... 9%, 12416 KB, 21108 KB/s, 0 seconds passed -... 9%, 12448 KB, 21154 KB/s, 0 seconds passed -... 9%, 12480 KB, 21199 KB/s, 0 seconds passed -... 9%, 12512 KB, 21245 KB/s, 0 seconds passed -... 9%, 12544 KB, 21290 KB/s, 0 seconds passed -... 9%, 12576 KB, 21336 KB/s, 0 seconds passed -... 10%, 12608 KB, 21381 KB/s, 0 seconds passed -... 10%, 12640 KB, 21426 KB/s, 0 seconds passed -... 10%, 12672 KB, 21471 KB/s, 0 seconds passed -... 10%, 12704 KB, 21517 KB/s, 0 seconds passed -... 10%, 12736 KB, 21562 KB/s, 0 seconds passed -... 10%, 12768 KB, 21607 KB/s, 0 seconds passed -... 10%, 12800 KB, 21652 KB/s, 0 seconds passed -... 10%, 12832 KB, 21697 KB/s, 0 seconds passed -... 10%, 12864 KB, 21742 KB/s, 0 seconds passed -... 10%, 12896 KB, 21787 KB/s, 0 seconds passed -... 10%, 12928 KB, 21832 KB/s, 0 seconds passed -... 10%, 12960 KB, 21877 KB/s, 0 seconds passed -... 10%, 12992 KB, 21922 KB/s, 0 seconds passed -... 10%, 13024 KB, 21966 KB/s, 0 seconds passed -... 10%, 13056 KB, 22011 KB/s, 0 seconds passed -... 10%, 13088 KB, 22056 KB/s, 0 seconds passed -... 10%, 13120 KB, 22101 KB/s, 0 seconds passed -... 10%, 13152 KB, 22146 KB/s, 0 seconds passed -... 10%, 13184 KB, 22193 KB/s, 0 seconds passed -... 10%, 13216 KB, 22240 KB/s, 0 seconds passed -... 10%, 13248 KB, 22288 KB/s, 0 seconds passed -... 10%, 13280 KB, 22336 KB/s, 0 seconds passed -... 10%, 13312 KB, 22383 KB/s, 0 seconds passed -... 10%, 13344 KB, 22431 KB/s, 0 seconds passed -... 10%, 13376 KB, 22478 KB/s, 0 seconds passed -... 10%, 13408 KB, 22525 KB/s, 0 seconds passed -... 10%, 13440 KB, 22573 KB/s, 0 seconds passed -... 10%, 13472 KB, 22620 KB/s, 0 seconds passed -... 10%, 13504 KB, 22667 KB/s, 0 seconds passed -... 10%, 13536 KB, 22714 KB/s, 0 seconds passed -... 10%, 13568 KB, 22762 KB/s, 0 seconds passed -... 10%, 13600 KB, 22809 KB/s, 0 seconds passed -... 10%, 13632 KB, 22856 KB/s, 0 seconds passed -... 10%, 13664 KB, 22903 KB/s, 0 seconds passed -... 10%, 13696 KB, 22950 KB/s, 0 seconds passed -... 10%, 13728 KB, 22997 KB/s, 0 seconds passed -... 10%, 13760 KB, 23043 KB/s, 0 seconds passed -... 10%, 13792 KB, 23091 KB/s, 0 seconds passed -... 10%, 13824 KB, 23138 KB/s, 0 seconds passed -... 11%, 13856 KB, 23185 KB/s, 0 seconds passed -... 11%, 13888 KB, 23232 KB/s, 0 seconds passed -... 11%, 13920 KB, 23279 KB/s, 0 seconds passed -... 11%, 13952 KB, 23326 KB/s, 0 seconds passed -... 11%, 13984 KB, 23373 KB/s, 0 seconds passed -... 11%, 14016 KB, 23420 KB/s, 0 seconds passed -... 11%, 14048 KB, 23467 KB/s, 0 seconds passed -... 11%, 14080 KB, 23514 KB/s, 0 seconds passed -... 11%, 14112 KB, 23561 KB/s, 0 seconds passed -... 11%, 14144 KB, 23607 KB/s, 0 seconds passed -... 11%, 14176 KB, 23654 KB/s, 0 seconds passed -... 11%, 14208 KB, 23701 KB/s, 0 seconds passed -... 11%, 14240 KB, 23748 KB/s, 0 seconds passed -... 11%, 14272 KB, 23795 KB/s, 0 seconds passed -... 11%, 14304 KB, 23841 KB/s, 0 seconds passed -... 11%, 14336 KB, 23888 KB/s, 0 seconds passed -... 11%, 14368 KB, 23935 KB/s, 0 seconds passed -... 11%, 14400 KB, 23982 KB/s, 0 seconds passed -... 11%, 14432 KB, 24028 KB/s, 0 seconds passed -... 11%, 14464 KB, 24075 KB/s, 0 seconds passed -... 11%, 14496 KB, 24122 KB/s, 0 seconds passed -... 11%, 14528 KB, 24169 KB/s, 0 seconds passed -... 11%, 14560 KB, 24215 KB/s, 0 seconds passed -... 11%, 14592 KB, 24257 KB/s, 0 seconds passed -... 11%, 14624 KB, 24299 KB/s, 0 seconds passed -... 11%, 14656 KB, 24342 KB/s, 0 seconds passed -... 11%, 14688 KB, 24382 KB/s, 0 seconds passed -... 11%, 14720 KB, 24425 KB/s, 0 seconds passed -... 11%, 14752 KB, 24463 KB/s, 0 seconds passed -... 11%, 14784 KB, 24505 KB/s, 0 seconds passed -... 11%, 14816 KB, 24548 KB/s, 0 seconds passed -... 11%, 14848 KB, 24590 KB/s, 0 seconds passed -... 11%, 14880 KB, 24630 KB/s, 0 seconds passed -... 11%, 14912 KB, 24675 KB/s, 0 seconds passed -... 11%, 14944 KB, 24715 KB/s, 0 seconds passed -... 11%, 14976 KB, 24757 KB/s, 0 seconds passed -... 11%, 15008 KB, 24799 KB/s, 0 seconds passed -... 11%, 15040 KB, 24839 KB/s, 0 seconds passed -... 11%, 15072 KB, 24881 KB/s, 0 seconds passed -... 11%, 15104 KB, 24921 KB/s, 0 seconds passed -... 12%, 15136 KB, 24963 KB/s, 0 seconds passed -... 12%, 15168 KB, 25005 KB/s, 0 seconds passed -... 12%, 15200 KB, 25045 KB/s, 0 seconds passed -... 12%, 15232 KB, 25086 KB/s, 0 seconds passed -... 12%, 15264 KB, 25128 KB/s, 0 seconds passed -... 12%, 15296 KB, 25168 KB/s, 0 seconds passed -... 12%, 15328 KB, 25210 KB/s, 0 seconds passed -... 12%, 15360 KB, 25256 KB/s, 0 seconds passed -... 12%, 15392 KB, 25298 KB/s, 0 seconds passed -... 12%, 15424 KB, 25337 KB/s, 0 seconds passed -... 12%, 15456 KB, 25379 KB/s, 0 seconds passed -... 12%, 15488 KB, 25420 KB/s, 0 seconds passed -... 12%, 15520 KB, 25460 KB/s, 0 seconds passed -... 12%, 15552 KB, 25501 KB/s, 0 seconds passed -... 12%, 15584 KB, 25543 KB/s, 0 seconds passed -... 12%, 15616 KB, 25582 KB/s, 0 seconds passed -... 12%, 15648 KB, 25623 KB/s, 0 seconds passed -... 12%, 15680 KB, 25665 KB/s, 0 seconds passed -... 12%, 15712 KB, 25704 KB/s, 0 seconds passed -... 12%, 15744 KB, 25745 KB/s, 0 seconds passed -... 12%, 15776 KB, 25787 KB/s, 0 seconds passed -... 12%, 15808 KB, 25826 KB/s, 0 seconds passed -... 12%, 15840 KB, 25867 KB/s, 0 seconds passed -... 12%, 15872 KB, 25908 KB/s, 0 seconds passed -... 12%, 15904 KB, 25947 KB/s, 0 seconds passed -... 12%, 15936 KB, 25988 KB/s, 0 seconds passed -... 12%, 15968 KB, 26029 KB/s, 0 seconds passed -... 12%, 16000 KB, 26068 KB/s, 0 seconds passed -... 12%, 16032 KB, 26109 KB/s, 0 seconds passed -... 12%, 16064 KB, 26150 KB/s, 0 seconds passed -... 12%, 16096 KB, 26188 KB/s, 0 seconds passed -... 12%, 16128 KB, 26223 KB/s, 0 seconds passed -... 12%, 16160 KB, 26257 KB/s, 0 seconds passed -... 12%, 16192 KB, 26292 KB/s, 0 seconds passed -... 12%, 16224 KB, 26327 KB/s, 0 seconds passed -... 12%, 16256 KB, 26373 KB/s, 0 seconds passed -... 12%, 16288 KB, 26419 KB/s, 0 seconds passed -... 12%, 16320 KB, 26464 KB/s, 0 seconds passed -... 12%, 16352 KB, 26502 KB/s, 0 seconds passed -... 13%, 16384 KB, 26536 KB/s, 0 seconds passed -... 13%, 16416 KB, 26583 KB/s, 0 seconds passed -... 13%, 16448 KB, 26629 KB/s, 0 seconds passed -... 13%, 16480 KB, 26670 KB/s, 0 seconds passed -... 13%, 16512 KB, 26704 KB/s, 0 seconds passed -... 13%, 16544 KB, 26741 KB/s, 0 seconds passed -... 13%, 16576 KB, 26776 KB/s, 0 seconds passed -... 13%, 16608 KB, 26814 KB/s, 0 seconds passed -... 13%, 16640 KB, 26861 KB/s, 0 seconds passed -... 13%, 16672 KB, 26904 KB/s, 0 seconds passed -... 13%, 16704 KB, 26942 KB/s, 0 seconds passed -... 13%, 16736 KB, 26976 KB/s, 0 seconds passed -... 13%, 16768 KB, 27009 KB/s, 0 seconds passed -... 13%, 16800 KB, 27043 KB/s, 0 seconds passed -... 13%, 16832 KB, 27085 KB/s, 0 seconds passed -... 13%, 16864 KB, 27131 KB/s, 0 seconds passed -... 13%, 16896 KB, 27177 KB/s, 0 seconds passed -... 13%, 16928 KB, 27221 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 13%, 16960 KB, 27261 KB/s, 0 seconds passed -... 13%, 16992 KB, 27301 KB/s, 0 seconds passed -... 13%, 17024 KB, 27338 KB/s, 0 seconds passed -... 13%, 17056 KB, 27378 KB/s, 0 seconds passed -... 13%, 17088 KB, 27418 KB/s, 0 seconds passed -... 13%, 17120 KB, 27458 KB/s, 0 seconds passed -... 13%, 17152 KB, 27494 KB/s, 0 seconds passed -... 13%, 17184 KB, 27533 KB/s, 0 seconds passed -... 13%, 17216 KB, 27572 KB/s, 0 seconds passed -... 13%, 17248 KB, 27611 KB/s, 0 seconds passed -... 13%, 17280 KB, 27646 KB/s, 0 seconds passed -... 13%, 17312 KB, 27687 KB/s, 0 seconds passed -... 13%, 17344 KB, 27727 KB/s, 0 seconds passed -... 13%, 17376 KB, 27767 KB/s, 0 seconds passed -... 13%, 17408 KB, 27806 KB/s, 0 seconds passed -... 13%, 17440 KB, 27846 KB/s, 0 seconds passed -... 13%, 17472 KB, 27885 KB/s, 0 seconds passed -... 13%, 17504 KB, 27923 KB/s, 0 seconds passed -... 13%, 17536 KB, 27962 KB/s, 0 seconds passed -... 13%, 17568 KB, 28001 KB/s, 0 seconds passed -... 13%, 17600 KB, 28038 KB/s, 0 seconds passed -... 13%, 17632 KB, 28073 KB/s, 0 seconds passed -... 14%, 17664 KB, 28110 KB/s, 0 seconds passed -... 14%, 17696 KB, 28146 KB/s, 0 seconds passed -... 14%, 17728 KB, 28176 KB/s, 0 seconds passed -... 14%, 17760 KB, 28219 KB/s, 0 seconds passed -... 14%, 17792 KB, 28263 KB/s, 0 seconds passed -... 14%, 17824 KB, 28305 KB/s, 0 seconds passed -... 14%, 17856 KB, 28342 KB/s, 0 seconds passed -... 14%, 17888 KB, 28381 KB/s, 0 seconds passed -... 14%, 17920 KB, 28418 KB/s, 0 seconds passed -... 14%, 17952 KB, 28454 KB/s, 0 seconds passed -... 14%, 17984 KB, 28493 KB/s, 0 seconds passed -... 14%, 18016 KB, 28529 KB/s, 0 seconds passed -... 14%, 18048 KB, 28560 KB/s, 0 seconds passed -... 14%, 18080 KB, 28592 KB/s, 0 seconds passed -... 14%, 18112 KB, 28637 KB/s, 0 seconds passed -... 14%, 18144 KB, 28681 KB/s, 0 seconds passed -... 14%, 18176 KB, 28721 KB/s, 0 seconds passed -... 14%, 18208 KB, 28762 KB/s, 0 seconds passed -... 14%, 18240 KB, 28801 KB/s, 0 seconds passed -... 14%, 18272 KB, 28837 KB/s, 0 seconds passed -... 14%, 18304 KB, 28869 KB/s, 0 seconds passed -... 14%, 18336 KB, 28902 KB/s, 0 seconds passed -... 14%, 18368 KB, 28934 KB/s, 0 seconds passed -... 14%, 18400 KB, 28968 KB/s, 0 seconds passed -... 14%, 18432 KB, 29002 KB/s, 0 seconds passed -... 14%, 18464 KB, 29035 KB/s, 0 seconds passed -... 14%, 18496 KB, 29069 KB/s, 0 seconds passed -... 14%, 18528 KB, 29100 KB/s, 0 seconds passed -... 14%, 18560 KB, 29133 KB/s, 0 seconds passed -... 14%, 18592 KB, 29166 KB/s, 0 seconds passed -... 14%, 18624 KB, 29200 KB/s, 0 seconds passed -... 14%, 18656 KB, 29234 KB/s, 0 seconds passed -... 14%, 18688 KB, 29266 KB/s, 0 seconds passed -... 14%, 18720 KB, 29299 KB/s, 0 seconds passed -... 14%, 18752 KB, 29333 KB/s, 0 seconds passed -... 14%, 18784 KB, 29367 KB/s, 0 seconds passed -... 14%, 18816 KB, 29401 KB/s, 0 seconds passed -... 14%, 18848 KB, 29434 KB/s, 0 seconds passed -... 14%, 18880 KB, 29466 KB/s, 0 seconds passed -... 15%, 18912 KB, 29500 KB/s, 0 seconds passed -... 15%, 18944 KB, 29532 KB/s, 0 seconds passed -... 15%, 18976 KB, 29566 KB/s, 0 seconds passed -... 15%, 19008 KB, 29599 KB/s, 0 seconds passed -... 15%, 19040 KB, 29631 KB/s, 0 seconds passed -... 15%, 19072 KB, 29664 KB/s, 0 seconds passed -... 15%, 19104 KB, 29697 KB/s, 0 seconds passed -... 15%, 19136 KB, 29730 KB/s, 0 seconds passed -... 15%, 19168 KB, 29763 KB/s, 0 seconds passed -... 15%, 19200 KB, 29796 KB/s, 0 seconds passed -... 15%, 19232 KB, 29835 KB/s, 0 seconds passed -... 15%, 19264 KB, 29872 KB/s, 0 seconds passed -... 15%, 19296 KB, 29911 KB/s, 0 seconds passed -... 15%, 19328 KB, 29950 KB/s, 0 seconds passed -... 15%, 19360 KB, 29989 KB/s, 0 seconds passed -... 15%, 19392 KB, 30028 KB/s, 0 seconds passed -... 15%, 19424 KB, 30067 KB/s, 0 seconds passed -... 15%, 19456 KB, 30105 KB/s, 0 seconds passed -... 15%, 19488 KB, 30144 KB/s, 0 seconds passed -... 15%, 19520 KB, 30182 KB/s, 0 seconds passed -... 15%, 19552 KB, 30221 KB/s, 0 seconds passed -... 15%, 19584 KB, 30260 KB/s, 0 seconds passed -... 15%, 19616 KB, 30297 KB/s, 0 seconds passed -... 15%, 19648 KB, 30335 KB/s, 0 seconds passed -... 15%, 19680 KB, 30373 KB/s, 0 seconds passed -... 15%, 19712 KB, 30412 KB/s, 0 seconds passed -... 15%, 19744 KB, 30451 KB/s, 0 seconds passed -... 15%, 19776 KB, 30488 KB/s, 0 seconds passed -... 15%, 19808 KB, 30526 KB/s, 0 seconds passed -... 15%, 19840 KB, 30565 KB/s, 0 seconds passed -... 15%, 19872 KB, 30603 KB/s, 0 seconds passed -... 15%, 19904 KB, 30641 KB/s, 0 seconds passed -... 15%, 19936 KB, 30680 KB/s, 0 seconds passed -... 15%, 19968 KB, 30718 KB/s, 0 seconds passed -... 15%, 20000 KB, 30756 KB/s, 0 seconds passed -... 15%, 20032 KB, 30794 KB/s, 0 seconds passed -... 15%, 20064 KB, 30832 KB/s, 0 seconds passed -... 15%, 20096 KB, 30870 KB/s, 0 seconds passed -... 15%, 20128 KB, 30908 KB/s, 0 seconds passed -... 16%, 20160 KB, 30946 KB/s, 0 seconds passed -... 16%, 20192 KB, 30985 KB/s, 0 seconds passed -... 16%, 20224 KB, 31023 KB/s, 0 seconds passed -... 16%, 20256 KB, 31061 KB/s, 0 seconds passed -... 16%, 20288 KB, 31098 KB/s, 0 seconds passed -... 16%, 20320 KB, 31136 KB/s, 0 seconds passed -... 16%, 20352 KB, 31173 KB/s, 0 seconds passed -... 16%, 20384 KB, 31212 KB/s, 0 seconds passed -... 16%, 20416 KB, 31250 KB/s, 0 seconds passed -... 16%, 20448 KB, 31288 KB/s, 0 seconds passed -... 16%, 20480 KB, 31325 KB/s, 0 seconds passed -... 16%, 20512 KB, 31362 KB/s, 0 seconds passed -... 16%, 20544 KB, 31400 KB/s, 0 seconds passed -... 16%, 20576 KB, 31437 KB/s, 0 seconds passed -... 16%, 20608 KB, 31476 KB/s, 0 seconds passed -... 16%, 20640 KB, 31515 KB/s, 0 seconds passed -... 16%, 20672 KB, 31556 KB/s, 0 seconds passed -... 16%, 20704 KB, 31597 KB/s, 0 seconds passed -... 16%, 20736 KB, 31639 KB/s, 0 seconds passed -... 16%, 20768 KB, 31679 KB/s, 0 seconds passed -... 16%, 20800 KB, 31719 KB/s, 0 seconds passed -... 16%, 20832 KB, 31755 KB/s, 0 seconds passed -... 16%, 20864 KB, 31792 KB/s, 0 seconds passed -... 16%, 20896 KB, 31827 KB/s, 0 seconds passed -... 16%, 20928 KB, 31864 KB/s, 0 seconds passed -... 16%, 20960 KB, 31899 KB/s, 0 seconds passed -... 16%, 20992 KB, 31933 KB/s, 0 seconds passed -... 16%, 21024 KB, 31966 KB/s, 0 seconds passed -... 16%, 21056 KB, 32002 KB/s, 0 seconds passed -... 16%, 21088 KB, 32038 KB/s, 0 seconds passed -... 16%, 21120 KB, 32074 KB/s, 0 seconds passed -... 16%, 21152 KB, 32110 KB/s, 0 seconds passed -... 16%, 21184 KB, 32145 KB/s, 0 seconds passed -... 16%, 21216 KB, 32176 KB/s, 0 seconds passed -... 16%, 21248 KB, 32212 KB/s, 0 seconds passed -... 16%, 21280 KB, 32247 KB/s, 0 seconds passed -... 16%, 21312 KB, 32283 KB/s, 0 seconds passed -... 16%, 21344 KB, 32319 KB/s, 0 seconds passed -... 16%, 21376 KB, 32354 KB/s, 0 seconds passed -... 16%, 21408 KB, 32387 KB/s, 0 seconds passed -... 17%, 21440 KB, 32423 KB/s, 0 seconds passed -... 17%, 21472 KB, 32458 KB/s, 0 seconds passed -... 17%, 21504 KB, 32494 KB/s, 0 seconds passed -... 17%, 21536 KB, 32529 KB/s, 0 seconds passed -... 17%, 21568 KB, 32562 KB/s, 0 seconds passed -... 17%, 21600 KB, 32595 KB/s, 0 seconds passed -... 17%, 21632 KB, 32631 KB/s, 0 seconds passed -... 17%, 21664 KB, 32666 KB/s, 0 seconds passed -... 17%, 21696 KB, 32701 KB/s, 0 seconds passed -... 17%, 21728 KB, 32737 KB/s, 0 seconds passed -... 17%, 21760 KB, 32772 KB/s, 0 seconds passed -... 17%, 21792 KB, 32804 KB/s, 0 seconds passed -... 17%, 21824 KB, 32835 KB/s, 0 seconds passed -... 17%, 21856 KB, 32870 KB/s, 0 seconds passed -... 17%, 21888 KB, 32902 KB/s, 0 seconds passed -... 17%, 21920 KB, 32938 KB/s, 0 seconds passed -... 17%, 21952 KB, 32973 KB/s, 0 seconds passed -... 17%, 21984 KB, 33008 KB/s, 0 seconds passed -... 17%, 22016 KB, 33043 KB/s, 0 seconds passed -... 17%, 22048 KB, 33075 KB/s, 0 seconds passed -... 17%, 22080 KB, 33108 KB/s, 0 seconds passed -... 17%, 22112 KB, 33143 KB/s, 0 seconds passed -... 17%, 22144 KB, 33178 KB/s, 0 seconds passed -... 17%, 22176 KB, 33210 KB/s, 0 seconds passed -... 17%, 22208 KB, 33242 KB/s, 0 seconds passed -... 17%, 22240 KB, 33270 KB/s, 0 seconds passed -... 17%, 22272 KB, 33296 KB/s, 0 seconds passed -... 17%, 22304 KB, 33324 KB/s, 0 seconds passed -... 17%, 22336 KB, 33365 KB/s, 0 seconds passed -... 17%, 22368 KB, 33406 KB/s, 0 seconds passed -... 17%, 22400 KB, 33448 KB/s, 0 seconds passed -... 17%, 22432 KB, 33484 KB/s, 0 seconds passed -... 17%, 22464 KB, 33516 KB/s, 0 seconds passed -... 17%, 22496 KB, 33556 KB/s, 0 seconds passed -... 17%, 22528 KB, 33591 KB/s, 0 seconds passed -... 17%, 22560 KB, 33620 KB/s, 0 seconds passed -... 17%, 22592 KB, 33655 KB/s, 0 seconds passed -... 17%, 22624 KB, 33687 KB/s, 0 seconds passed -... 17%, 22656 KB, 33721 KB/s, 0 seconds passed -... 18%, 22688 KB, 33748 KB/s, 0 seconds passed -... 18%, 22720 KB, 33786 KB/s, 0 seconds passed -... 18%, 22752 KB, 33824 KB/s, 0 seconds passed -... 18%, 22784 KB, 33853 KB/s, 0 seconds passed -... 18%, 22816 KB, 33880 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 18%, 22848 KB, 33920 KB/s, 0 seconds passed -... 18%, 22880 KB, 33958 KB/s, 0 seconds passed -... 18%, 22912 KB, 33992 KB/s, 0 seconds passed -... 18%, 22944 KB, 34022 KB/s, 0 seconds passed -... 18%, 22976 KB, 34056 KB/s, 0 seconds passed -... 18%, 23008 KB, 34090 KB/s, 0 seconds passed -... 18%, 23040 KB, 34080 KB/s, 0 seconds passed -... 18%, 23072 KB, 34119 KB/s, 0 seconds passed -... 18%, 23104 KB, 34159 KB/s, 0 seconds passed -... 18%, 23136 KB, 34200 KB/s, 0 seconds passed -... 18%, 23168 KB, 34240 KB/s, 0 seconds passed -... 18%, 23200 KB, 34281 KB/s, 0 seconds passed -... 18%, 23232 KB, 34321 KB/s, 0 seconds passed -... 18%, 23264 KB, 34355 KB/s, 0 seconds passed -... 18%, 23296 KB, 34392 KB/s, 0 seconds passed -... 18%, 23328 KB, 34420 KB/s, 0 seconds passed -... 18%, 23360 KB, 34454 KB/s, 0 seconds passed -... 18%, 23392 KB, 34485 KB/s, 0 seconds passed -... 18%, 23424 KB, 34519 KB/s, 0 seconds passed -... 18%, 23456 KB, 34551 KB/s, 0 seconds passed -... 18%, 23488 KB, 34584 KB/s, 0 seconds passed -... 18%, 23520 KB, 34621 KB/s, 0 seconds passed -... 18%, 23552 KB, 34652 KB/s, 0 seconds passed -... 18%, 23584 KB, 34686 KB/s, 0 seconds passed -... 18%, 23616 KB, 34720 KB/s, 0 seconds passed -... 18%, 23648 KB, 34753 KB/s, 0 seconds passed -... 18%, 23680 KB, 34778 KB/s, 0 seconds passed -... 18%, 23712 KB, 34804 KB/s, 0 seconds passed -... 18%, 23744 KB, 34841 KB/s, 0 seconds passed -... 18%, 23776 KB, 34879 KB/s, 0 seconds passed -... 18%, 23808 KB, 34910 KB/s, 0 seconds passed -... 18%, 23840 KB, 34948 KB/s, 0 seconds passed -... 18%, 23872 KB, 34979 KB/s, 0 seconds passed -... 18%, 23904 KB, 35005 KB/s, 0 seconds passed -... 19%, 23936 KB, 35030 KB/s, 0 seconds passed -... 19%, 23968 KB, 35070 KB/s, 0 seconds passed -... 19%, 24000 KB, 35106 KB/s, 0 seconds passed -... 19%, 24032 KB, 35140 KB/s, 0 seconds passed -... 19%, 24064 KB, 35173 KB/s, 0 seconds passed -... 19%, 24096 KB, 35206 KB/s, 0 seconds passed -... 19%, 24128 KB, 35240 KB/s, 0 seconds passed -... 19%, 24160 KB, 35273 KB/s, 0 seconds passed -... 19%, 24192 KB, 35304 KB/s, 0 seconds passed -... 19%, 24224 KB, 35337 KB/s, 0 seconds passed -... 19%, 24256 KB, 35370 KB/s, 0 seconds passed -... 19%, 24288 KB, 35403 KB/s, 0 seconds passed -... 19%, 24320 KB, 35428 KB/s, 0 seconds passed -... 19%, 24352 KB, 35461 KB/s, 0 seconds passed -... 19%, 24384 KB, 35495 KB/s, 0 seconds passed -... 19%, 24416 KB, 35527 KB/s, 0 seconds passed -... 19%, 24448 KB, 35557 KB/s, 0 seconds passed -... 19%, 24480 KB, 35590 KB/s, 0 seconds passed -... 19%, 24512 KB, 35623 KB/s, 0 seconds passed -... 19%, 24544 KB, 35653 KB/s, 0 seconds passed -... 19%, 24576 KB, 35676 KB/s, 0 seconds passed -... 19%, 24608 KB, 35701 KB/s, 0 seconds passed -... 19%, 24640 KB, 35740 KB/s, 0 seconds passed -... 19%, 24672 KB, 35781 KB/s, 0 seconds passed -... 19%, 24704 KB, 35815 KB/s, 0 seconds passed -... 19%, 24736 KB, 35848 KB/s, 0 seconds passed -... 19%, 24768 KB, 35878 KB/s, 0 seconds passed -... 19%, 24800 KB, 35913 KB/s, 0 seconds passed -... 19%, 24832 KB, 35943 KB/s, 0 seconds passed -... 19%, 24864 KB, 35973 KB/s, 0 seconds passed -... 19%, 24896 KB, 36006 KB/s, 0 seconds passed -... 19%, 24928 KB, 36036 KB/s, 0 seconds passed -... 19%, 24960 KB, 36069 KB/s, 0 seconds passed -... 19%, 24992 KB, 36102 KB/s, 0 seconds passed -... 19%, 25024 KB, 36131 KB/s, 0 seconds passed -... 19%, 25056 KB, 36167 KB/s, 0 seconds passed -... 19%, 25088 KB, 36197 KB/s, 0 seconds passed -... 19%, 25120 KB, 36230 KB/s, 0 seconds passed -... 19%, 25152 KB, 36262 KB/s, 0 seconds passed -... 19%, 25184 KB, 36292 KB/s, 0 seconds passed -... 20%, 25216 KB, 36324 KB/s, 0 seconds passed -... 20%, 25248 KB, 36354 KB/s, 0 seconds passed -... 20%, 25280 KB, 36384 KB/s, 0 seconds passed -... 20%, 25312 KB, 36416 KB/s, 0 seconds passed -... 20%, 25344 KB, 36446 KB/s, 0 seconds passed -... 20%, 25376 KB, 36481 KB/s, 0 seconds passed -... 20%, 25408 KB, 36510 KB/s, 0 seconds passed -... 20%, 25440 KB, 36543 KB/s, 0 seconds passed -... 20%, 25472 KB, 36575 KB/s, 0 seconds passed -... 20%, 25504 KB, 36607 KB/s, 0 seconds passed -... 20%, 25536 KB, 36637 KB/s, 0 seconds passed -... 20%, 25568 KB, 36668 KB/s, 0 seconds passed -... 20%, 25600 KB, 36703 KB/s, 0 seconds passed -... 20%, 25632 KB, 36733 KB/s, 0 seconds passed -... 20%, 25664 KB, 36765 KB/s, 0 seconds passed -... 20%, 25696 KB, 36797 KB/s, 0 seconds passed -... 20%, 25728 KB, 36821 KB/s, 0 seconds passed -... 20%, 25760 KB, 36853 KB/s, 0 seconds passed -... 20%, 25792 KB, 36879 KB/s, 0 seconds passed -... 20%, 25824 KB, 36903 KB/s, 0 seconds passed -... 20%, 25856 KB, 36926 KB/s, 0 seconds passed -... 20%, 25888 KB, 36956 KB/s, 0 seconds passed -... 20%, 25920 KB, 36994 KB/s, 0 seconds passed -... 20%, 25952 KB, 37033 KB/s, 0 seconds passed -... 20%, 25984 KB, 37069 KB/s, 0 seconds passed -... 20%, 26016 KB, 37102 KB/s, 0 seconds passed -... 20%, 26048 KB, 37133 KB/s, 0 seconds passed -... 20%, 26080 KB, 37162 KB/s, 0 seconds passed -... 20%, 26112 KB, 37194 KB/s, 0 seconds passed -... 20%, 26144 KB, 37223 KB/s, 0 seconds passed -... 20%, 26176 KB, 37255 KB/s, 0 seconds passed -... 20%, 26208 KB, 37287 KB/s, 0 seconds passed -... 20%, 26240 KB, 37318 KB/s, 0 seconds passed -... 20%, 26272 KB, 37347 KB/s, 0 seconds passed -... 20%, 26304 KB, 37379 KB/s, 0 seconds passed -... 20%, 26336 KB, 37411 KB/s, 0 seconds passed -... 20%, 26368 KB, 37439 KB/s, 0 seconds passed -... 20%, 26400 KB, 37468 KB/s, 0 seconds passed -... 20%, 26432 KB, 37500 KB/s, 0 seconds passed -... 21%, 26464 KB, 37528 KB/s, 0 seconds passed -... 21%, 26496 KB, 37560 KB/s, 0 seconds passed -... 21%, 26528 KB, 37589 KB/s, 0 seconds passed -... 21%, 26560 KB, 37620 KB/s, 0 seconds passed -... 21%, 26592 KB, 37652 KB/s, 0 seconds passed -... 21%, 26624 KB, 37683 KB/s, 0 seconds passed -... 21%, 26656 KB, 37712 KB/s, 0 seconds passed -... 21%, 26688 KB, 37742 KB/s, 0 seconds passed -... 21%, 26720 KB, 37774 KB/s, 0 seconds passed -... 21%, 26752 KB, 37802 KB/s, 0 seconds passed -... 21%, 26784 KB, 37833 KB/s, 0 seconds passed -... 21%, 26816 KB, 37862 KB/s, 0 seconds passed -... 21%, 26848 KB, 37893 KB/s, 0 seconds passed -... 21%, 26880 KB, 37925 KB/s, 0 seconds passed -... 21%, 26912 KB, 37956 KB/s, 0 seconds passed -... 21%, 26944 KB, 37984 KB/s, 0 seconds passed -... 21%, 26976 KB, 38015 KB/s, 0 seconds passed -... 21%, 27008 KB, 38046 KB/s, 0 seconds passed -... 21%, 27040 KB, 38075 KB/s, 0 seconds passed -... 21%, 27072 KB, 38106 KB/s, 0 seconds passed -... 21%, 27104 KB, 38134 KB/s, 0 seconds passed -... 21%, 27136 KB, 38165 KB/s, 0 seconds passed -... 21%, 27168 KB, 38196 KB/s, 0 seconds passed -... 21%, 27200 KB, 38225 KB/s, 0 seconds passed -... 21%, 27232 KB, 38256 KB/s, 0 seconds passed -... 21%, 27264 KB, 38284 KB/s, 0 seconds passed -... 21%, 27296 KB, 38312 KB/s, 0 seconds passed -... 21%, 27328 KB, 38343 KB/s, 0 seconds passed -... 21%, 27360 KB, 38374 KB/s, 0 seconds passed -... 21%, 27392 KB, 38402 KB/s, 0 seconds passed -... 21%, 27424 KB, 38433 KB/s, 0 seconds passed -... 21%, 27456 KB, 38463 KB/s, 0 seconds passed -... 21%, 27488 KB, 38494 KB/s, 0 seconds passed -... 21%, 27520 KB, 38522 KB/s, 0 seconds passed -... 21%, 27552 KB, 38553 KB/s, 0 seconds passed -... 21%, 27584 KB, 38584 KB/s, 0 seconds passed -... 21%, 27616 KB, 38615 KB/s, 0 seconds passed -... 21%, 27648 KB, 38642 KB/s, 0 seconds passed -... 21%, 27680 KB, 38673 KB/s, 0 seconds passed -... 22%, 27712 KB, 38703 KB/s, 0 seconds passed -... 22%, 27744 KB, 38722 KB/s, 0 seconds passed -... 22%, 27776 KB, 38743 KB/s, 0 seconds passed -... 22%, 27808 KB, 38767 KB/s, 0 seconds passed -... 22%, 27840 KB, 38802 KB/s, 0 seconds passed -... 22%, 27872 KB, 38839 KB/s, 0 seconds passed -... 22%, 27904 KB, 38876 KB/s, 0 seconds passed -... 22%, 27936 KB, 38907 KB/s, 0 seconds passed -... 22%, 27968 KB, 38938 KB/s, 0 seconds passed -... 22%, 28000 KB, 38968 KB/s, 0 seconds passed -... 22%, 28032 KB, 38996 KB/s, 0 seconds passed -... 22%, 28064 KB, 39026 KB/s, 0 seconds passed -... 22%, 28096 KB, 39056 KB/s, 0 seconds passed -... 22%, 28128 KB, 39084 KB/s, 0 seconds passed -... 22%, 28160 KB, 39114 KB/s, 0 seconds passed -... 22%, 28192 KB, 39141 KB/s, 0 seconds passed -... 22%, 28224 KB, 39171 KB/s, 0 seconds passed -... 22%, 28256 KB, 39202 KB/s, 0 seconds passed -... 22%, 28288 KB, 39232 KB/s, 0 seconds passed -... 22%, 28320 KB, 39262 KB/s, 0 seconds passed -... 22%, 28352 KB, 39290 KB/s, 0 seconds passed -... 22%, 28384 KB, 39320 KB/s, 0 seconds passed -... 22%, 28416 KB, 39350 KB/s, 0 seconds passed -... 22%, 28448 KB, 39377 KB/s, 0 seconds passed -... 22%, 28480 KB, 39402 KB/s, 0 seconds passed -... 22%, 28512 KB, 39434 KB/s, 0 seconds passed -... 22%, 28544 KB, 39464 KB/s, 0 seconds passed -... 22%, 28576 KB, 39494 KB/s, 0 seconds passed -... 22%, 28608 KB, 39524 KB/s, 0 seconds passed -... 22%, 28640 KB, 39551 KB/s, 0 seconds passed -... 22%, 28672 KB, 39581 KB/s, 0 seconds passed -... 22%, 28704 KB, 39611 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 22%, 28736 KB, 39638 KB/s, 0 seconds passed -... 22%, 28768 KB, 39668 KB/s, 0 seconds passed -... 22%, 28800 KB, 39695 KB/s, 0 seconds passed -... 22%, 28832 KB, 39725 KB/s, 0 seconds passed -... 22%, 28864 KB, 39754 KB/s, 0 seconds passed -... 22%, 28896 KB, 39783 KB/s, 0 seconds passed -... 22%, 28928 KB, 39813 KB/s, 0 seconds passed -... 22%, 28960 KB, 39837 KB/s, 0 seconds passed -... 23%, 28992 KB, 39867 KB/s, 0 seconds passed -... 23%, 29024 KB, 39897 KB/s, 0 seconds passed -... 23%, 29056 KB, 39926 KB/s, 0 seconds passed -... 23%, 29088 KB, 39953 KB/s, 0 seconds passed -... 23%, 29120 KB, 39981 KB/s, 0 seconds passed -... 23%, 29152 KB, 40010 KB/s, 0 seconds passed -... 23%, 29184 KB, 40040 KB/s, 0 seconds passed -... 23%, 29216 KB, 40070 KB/s, 0 seconds passed -... 23%, 29248 KB, 40096 KB/s, 0 seconds passed -... 23%, 29280 KB, 40126 KB/s, 0 seconds passed -... 23%, 29312 KB, 40155 KB/s, 0 seconds passed -... 23%, 29344 KB, 40185 KB/s, 0 seconds passed -... 23%, 29376 KB, 40205 KB/s, 0 seconds passed -... 23%, 29408 KB, 40235 KB/s, 0 seconds passed -... 23%, 29440 KB, 40264 KB/s, 0 seconds passed -... 23%, 29472 KB, 40291 KB/s, 0 seconds passed -... 23%, 29504 KB, 40320 KB/s, 0 seconds passed -... 23%, 29536 KB, 40346 KB/s, 0 seconds passed -... 23%, 29568 KB, 40376 KB/s, 0 seconds passed -... 23%, 29600 KB, 40402 KB/s, 0 seconds passed -... 23%, 29632 KB, 40432 KB/s, 0 seconds passed -... 23%, 29664 KB, 40461 KB/s, 0 seconds passed -... 23%, 29696 KB, 40490 KB/s, 0 seconds passed -... 23%, 29728 KB, 40516 KB/s, 0 seconds passed -... 23%, 29760 KB, 40545 KB/s, 0 seconds passed -... 23%, 29792 KB, 40572 KB/s, 0 seconds passed -... 23%, 29824 KB, 40601 KB/s, 0 seconds passed -... 23%, 29856 KB, 40630 KB/s, 0 seconds passed -... 23%, 29888 KB, 40659 KB/s, 0 seconds passed -... 23%, 29920 KB, 40685 KB/s, 0 seconds passed -... 23%, 29952 KB, 40714 KB/s, 0 seconds passed -... 23%, 29984 KB, 40741 KB/s, 0 seconds passed -... 23%, 30016 KB, 40770 KB/s, 0 seconds passed -... 23%, 30048 KB, 40799 KB/s, 0 seconds passed -... 23%, 30080 KB, 40828 KB/s, 0 seconds passed -... 23%, 30112 KB, 40857 KB/s, 0 seconds passed -... 23%, 30144 KB, 40883 KB/s, 0 seconds passed -... 23%, 30176 KB, 40911 KB/s, 0 seconds passed -... 23%, 30208 KB, 40937 KB/s, 0 seconds passed -... 24%, 30240 KB, 40966 KB/s, 0 seconds passed -... 24%, 30272 KB, 40995 KB/s, 0 seconds passed -... 24%, 30304 KB, 41021 KB/s, 0 seconds passed -... 24%, 30336 KB, 41050 KB/s, 0 seconds passed -... 24%, 30368 KB, 41078 KB/s, 0 seconds passed -... 24%, 30400 KB, 41104 KB/s, 0 seconds passed -... 24%, 30432 KB, 41133 KB/s, 0 seconds passed -... 24%, 30464 KB, 41159 KB/s, 0 seconds passed -... 24%, 30496 KB, 41188 KB/s, 0 seconds passed -... 24%, 30528 KB, 41217 KB/s, 0 seconds passed -... 24%, 30560 KB, 41245 KB/s, 0 seconds passed -... 24%, 30592 KB, 41271 KB/s, 0 seconds passed -... 24%, 30624 KB, 41300 KB/s, 0 seconds passed -... 24%, 30656 KB, 41328 KB/s, 0 seconds passed -... 24%, 30688 KB, 41357 KB/s, 0 seconds passed -... 24%, 30720 KB, 40991 KB/s, 0 seconds passed -... 24%, 30752 KB, 41015 KB/s, 0 seconds passed -... 24%, 30784 KB, 41004 KB/s, 0 seconds passed -... 24%, 30816 KB, 41026 KB/s, 0 seconds passed -... 24%, 30848 KB, 41049 KB/s, 0 seconds passed -... 24%, 30880 KB, 41072 KB/s, 0 seconds passed -... 24%, 30912 KB, 41095 KB/s, 0 seconds passed -... 24%, 30944 KB, 41117 KB/s, 0 seconds passed -... 24%, 30976 KB, 41139 KB/s, 0 seconds passed -... 24%, 31008 KB, 41160 KB/s, 0 seconds passed -... 24%, 31040 KB, 41183 KB/s, 0 seconds passed -... 24%, 31072 KB, 41205 KB/s, 0 seconds passed -... 24%, 31104 KB, 41227 KB/s, 0 seconds passed -... 24%, 31136 KB, 41249 KB/s, 0 seconds passed -... 24%, 31168 KB, 41272 KB/s, 0 seconds passed -... 24%, 31200 KB, 41294 KB/s, 0 seconds passed -... 24%, 31232 KB, 41317 KB/s, 0 seconds passed -... 24%, 31264 KB, 41339 KB/s, 0 seconds passed -... 24%, 31296 KB, 41360 KB/s, 0 seconds passed -... 24%, 31328 KB, 41382 KB/s, 0 seconds passed -... 24%, 31360 KB, 41404 KB/s, 0 seconds passed -... 24%, 31392 KB, 41426 KB/s, 0 seconds passed -... 24%, 31424 KB, 41448 KB/s, 0 seconds passed -... 24%, 31456 KB, 41470 KB/s, 0 seconds passed -... 24%, 31488 KB, 41493 KB/s, 0 seconds passed -... 25%, 31520 KB, 41514 KB/s, 0 seconds passed -... 25%, 31552 KB, 41536 KB/s, 0 seconds passed -... 25%, 31584 KB, 41559 KB/s, 0 seconds passed -... 25%, 31616 KB, 41581 KB/s, 0 seconds passed -... 25%, 31648 KB, 41604 KB/s, 0 seconds passed -... 25%, 31680 KB, 41630 KB/s, 0 seconds passed -... 25%, 31712 KB, 41653 KB/s, 0 seconds passed -... 25%, 31744 KB, 41676 KB/s, 0 seconds passed -... 25%, 31776 KB, 41699 KB/s, 0 seconds passed -... 25%, 31808 KB, 41721 KB/s, 0 seconds passed -... 25%, 31840 KB, 41743 KB/s, 0 seconds passed -... 25%, 31872 KB, 41765 KB/s, 0 seconds passed -... 25%, 31904 KB, 41786 KB/s, 0 seconds passed -... 25%, 31936 KB, 41809 KB/s, 0 seconds passed -... 25%, 31968 KB, 41830 KB/s, 0 seconds passed -... 25%, 32000 KB, 41851 KB/s, 0 seconds passed -... 25%, 32032 KB, 41872 KB/s, 0 seconds passed -... 25%, 32064 KB, 41894 KB/s, 0 seconds passed -... 25%, 32096 KB, 41916 KB/s, 0 seconds passed -... 25%, 32128 KB, 41938 KB/s, 0 seconds passed -... 25%, 32160 KB, 41962 KB/s, 0 seconds passed -... 25%, 32192 KB, 41992 KB/s, 0 seconds passed -... 25%, 32224 KB, 42022 KB/s, 0 seconds passed -... 25%, 32256 KB, 42051 KB/s, 0 seconds passed -... 25%, 32288 KB, 42080 KB/s, 0 seconds passed -... 25%, 32320 KB, 42110 KB/s, 0 seconds passed -... 25%, 32352 KB, 42141 KB/s, 0 seconds passed -... 25%, 32384 KB, 42173 KB/s, 0 seconds passed -... 25%, 32416 KB, 42203 KB/s, 0 seconds passed -... 25%, 32448 KB, 42233 KB/s, 0 seconds passed -... 25%, 32480 KB, 42265 KB/s, 0 seconds passed -... 25%, 32512 KB, 42294 KB/s, 0 seconds passed -... 25%, 32544 KB, 42326 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 25%, 32576 KB, 41265 KB/s, 0 seconds passed -... 25%, 32608 KB, 41278 KB/s, 0 seconds passed -... 25%, 32640 KB, 41290 KB/s, 0 seconds passed -... 25%, 32672 KB, 41293 KB/s, 0 seconds passed -... 25%, 32704 KB, 41297 KB/s, 0 seconds passed -... 25%, 32736 KB, 41315 KB/s, 0 seconds passed -... 26%, 32768 KB, 40984 KB/s, 0 seconds passed -... 26%, 32800 KB, 41003 KB/s, 0 seconds passed -... 26%, 32832 KB, 41020 KB/s, 0 seconds passed -... 26%, 32864 KB, 41038 KB/s, 0 seconds passed -... 26%, 32896 KB, 41059 KB/s, 0 seconds passed -... 26%, 32928 KB, 41080 KB/s, 0 seconds passed -... 26%, 32960 KB, 41102 KB/s, 0 seconds passed -... 26%, 32992 KB, 41124 KB/s, 0 seconds passed -... 26%, 33024 KB, 41144 KB/s, 0 seconds passed -... 26%, 33056 KB, 41167 KB/s, 0 seconds passed -... 26%, 33088 KB, 41185 KB/s, 0 seconds passed -... 26%, 33120 KB, 41206 KB/s, 0 seconds passed -... 26%, 33152 KB, 41228 KB/s, 0 seconds passed -... 26%, 33184 KB, 41249 KB/s, 0 seconds passed -... 26%, 33216 KB, 41268 KB/s, 0 seconds passed -... 26%, 33248 KB, 41290 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 26%, 33280 KB, 40133 KB/s, 0 seconds passed -... 26%, 33312 KB, 40139 KB/s, 0 seconds passed -... 26%, 33344 KB, 40147 KB/s, 0 seconds passed -... 26%, 33376 KB, 40157 KB/s, 0 seconds passed -... 26%, 33408 KB, 40167 KB/s, 0 seconds passed -... 26%, 33440 KB, 40176 KB/s, 0 seconds passed -... 26%, 33472 KB, 40184 KB/s, 0 seconds passed -... 26%, 33504 KB, 40196 KB/s, 0 seconds passed -... 26%, 33536 KB, 40214 KB/s, 0 seconds passed -... 26%, 33568 KB, 40234 KB/s, 0 seconds passed -... 26%, 33600 KB, 40253 KB/s, 0 seconds passed -... 26%, 33632 KB, 40272 KB/s, 0 seconds passed -... 26%, 33664 KB, 40292 KB/s, 0 seconds passed -... 26%, 33696 KB, 40312 KB/s, 0 seconds passed -... 26%, 33728 KB, 40332 KB/s, 0 seconds passed -... 26%, 33760 KB, 40350 KB/s, 0 seconds passed -... 26%, 33792 KB, 40370 KB/s, 0 seconds passed -... 26%, 33824 KB, 40390 KB/s, 0 seconds passed -... 26%, 33856 KB, 40409 KB/s, 0 seconds passed -... 26%, 33888 KB, 40429 KB/s, 0 seconds passed -... 26%, 33920 KB, 40449 KB/s, 0 seconds passed -... 26%, 33952 KB, 40469 KB/s, 0 seconds passed -... 26%, 33984 KB, 40488 KB/s, 0 seconds passed -... 27%, 34016 KB, 40508 KB/s, 0 seconds passed -... 27%, 34048 KB, 40528 KB/s, 0 seconds passed -... 27%, 34080 KB, 40548 KB/s, 0 seconds passed -... 27%, 34112 KB, 40567 KB/s, 0 seconds passed -... 27%, 34144 KB, 40586 KB/s, 0 seconds passed -... 27%, 34176 KB, 40606 KB/s, 0 seconds passed -... 27%, 34208 KB, 40625 KB/s, 0 seconds passed -... 27%, 34240 KB, 40645 KB/s, 0 seconds passed -... 27%, 34272 KB, 40665 KB/s, 0 seconds passed -... 27%, 34304 KB, 40684 KB/s, 0 seconds passed -... 27%, 34336 KB, 40704 KB/s, 0 seconds passed -... 27%, 34368 KB, 40724 KB/s, 0 seconds passed -... 27%, 34400 KB, 40743 KB/s, 0 seconds passed -... 27%, 34432 KB, 40762 KB/s, 0 seconds passed -... 27%, 34464 KB, 40781 KB/s, 0 seconds passed -... 27%, 34496 KB, 40801 KB/s, 0 seconds passed -... 27%, 34528 KB, 40820 KB/s, 0 seconds passed -... 27%, 34560 KB, 40840 KB/s, 0 seconds passed -... 27%, 34592 KB, 40860 KB/s, 0 seconds passed -... 27%, 34624 KB, 40885 KB/s, 0 seconds passed -... 27%, 34656 KB, 40911 KB/s, 0 seconds passed -... 27%, 34688 KB, 40938 KB/s, 0 seconds passed -... 27%, 34720 KB, 40964 KB/s, 0 seconds passed -... 27%, 34752 KB, 40990 KB/s, 0 seconds passed -... 27%, 34784 KB, 41016 KB/s, 0 seconds passed -... 27%, 34816 KB, 41042 KB/s, 0 seconds passed -... 27%, 34848 KB, 41068 KB/s, 0 seconds passed -... 27%, 34880 KB, 41095 KB/s, 0 seconds passed -... 27%, 34912 KB, 41123 KB/s, 0 seconds passed -... 27%, 34944 KB, 41151 KB/s, 0 seconds passed -... 27%, 34976 KB, 41180 KB/s, 0 seconds passed -... 27%, 35008 KB, 41208 KB/s, 0 seconds passed -... 27%, 35040 KB, 41237 KB/s, 0 seconds passed -... 27%, 35072 KB, 41265 KB/s, 0 seconds passed -... 27%, 35104 KB, 41294 KB/s, 0 seconds passed -... 27%, 35136 KB, 41322 KB/s, 0 seconds passed -... 27%, 35168 KB, 41350 KB/s, 0 seconds passed -... 27%, 35200 KB, 41378 KB/s, 0 seconds passed -... 27%, 35232 KB, 41407 KB/s, 0 seconds passed -... 27%, 35264 KB, 41435 KB/s, 0 seconds passed -... 28%, 35296 KB, 41463 KB/s, 0 seconds passed -... 28%, 35328 KB, 41491 KB/s, 0 seconds passed -... 28%, 35360 KB, 41519 KB/s, 0 seconds passed -... 28%, 35392 KB, 41547 KB/s, 0 seconds passed -... 28%, 35424 KB, 41576 KB/s, 0 seconds passed -... 28%, 35456 KB, 41051 KB/s, 0 seconds passed -... 28%, 35488 KB, 41072 KB/s, 0 seconds passed -... 28%, 35520 KB, 41094 KB/s, 0 seconds passed -... 28%, 35552 KB, 41115 KB/s, 0 seconds passed -... 28%, 35584 KB, 41137 KB/s, 0 seconds passed -... 28%, 35616 KB, 41159 KB/s, 0 seconds passed -... 28%, 35648 KB, 41131 KB/s, 0 seconds passed -... 28%, 35680 KB, 41148 KB/s, 0 seconds passed -... 28%, 35712 KB, 41165 KB/s, 0 seconds passed -... 28%, 35744 KB, 41185 KB/s, 0 seconds passed -... 28%, 35776 KB, 41206 KB/s, 0 seconds passed -... 28%, 35808 KB, 41010 KB/s, 0 seconds passed -... 28%, 35840 KB, 41025 KB/s, 0 seconds passed -... 28%, 35872 KB, 41044 KB/s, 0 seconds passed -... 28%, 35904 KB, 41063 KB/s, 0 seconds passed -... 28%, 35936 KB, 41082 KB/s, 0 seconds passed -... 28%, 35968 KB, 41102 KB/s, 0 seconds passed -... 28%, 36000 KB, 41120 KB/s, 0 seconds passed -... 28%, 36032 KB, 41140 KB/s, 0 seconds passed -... 28%, 36064 KB, 41158 KB/s, 0 seconds passed -... 28%, 36096 KB, 41177 KB/s, 0 seconds passed -... 28%, 36128 KB, 41195 KB/s, 0 seconds passed -... 28%, 36160 KB, 41214 KB/s, 0 seconds passed -... 28%, 36192 KB, 41232 KB/s, 0 seconds passed -... 28%, 36224 KB, 41251 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 28%, 36256 KB, 41269 KB/s, 0 seconds passed -... 28%, 36288 KB, 41288 KB/s, 0 seconds passed -... 28%, 36320 KB, 41306 KB/s, 0 seconds passed -... 28%, 36352 KB, 41324 KB/s, 0 seconds passed -... 28%, 36384 KB, 41343 KB/s, 0 seconds passed -... 28%, 36416 KB, 41360 KB/s, 0 seconds passed -... 28%, 36448 KB, 41372 KB/s, 0 seconds passed -... 28%, 36480 KB, 41390 KB/s, 0 seconds passed -... 28%, 36512 KB, 41408 KB/s, 0 seconds passed -... 29%, 36544 KB, 41426 KB/s, 0 seconds passed -... 29%, 36576 KB, 41445 KB/s, 0 seconds passed -... 29%, 36608 KB, 41464 KB/s, 0 seconds passed -... 29%, 36640 KB, 41482 KB/s, 0 seconds passed -... 29%, 36672 KB, 41500 KB/s, 0 seconds passed -... 29%, 36704 KB, 41519 KB/s, 0 seconds passed -... 29%, 36736 KB, 41537 KB/s, 0 seconds passed -... 29%, 36768 KB, 41554 KB/s, 0 seconds passed -... 29%, 36800 KB, 41572 KB/s, 0 seconds passed -... 29%, 36832 KB, 41590 KB/s, 0 seconds passed -... 29%, 36864 KB, 41609 KB/s, 0 seconds passed -... 29%, 36896 KB, 41627 KB/s, 0 seconds passed -... 29%, 36928 KB, 41645 KB/s, 0 seconds passed -... 29%, 36960 KB, 41664 KB/s, 0 seconds passed -... 29%, 36992 KB, 41686 KB/s, 0 seconds passed -... 29%, 37024 KB, 41713 KB/s, 0 seconds passed -... 29%, 37056 KB, 41740 KB/s, 0 seconds passed -... 29%, 37088 KB, 41767 KB/s, 0 seconds passed -... 29%, 37120 KB, 41794 KB/s, 0 seconds passed -... 29%, 37152 KB, 41820 KB/s, 0 seconds passed -... 29%, 37184 KB, 41847 KB/s, 0 seconds passed -... 29%, 37216 KB, 41874 KB/s, 0 seconds passed -... 29%, 37248 KB, 41900 KB/s, 0 seconds passed -... 29%, 37280 KB, 41926 KB/s, 0 seconds passed -... 29%, 37312 KB, 41951 KB/s, 0 seconds passed -... 29%, 37344 KB, 41976 KB/s, 0 seconds passed -... 29%, 37376 KB, 42000 KB/s, 0 seconds passed -... 29%, 37408 KB, 42025 KB/s, 0 seconds passed -... 29%, 37440 KB, 42049 KB/s, 0 seconds passed -... 29%, 37472 KB, 42074 KB/s, 0 seconds passed -... 29%, 37504 KB, 42098 KB/s, 0 seconds passed -... 29%, 37536 KB, 42123 KB/s, 0 seconds passed -... 29%, 37568 KB, 42147 KB/s, 0 seconds passed -... 29%, 37600 KB, 42172 KB/s, 0 seconds passed -... 29%, 37632 KB, 42196 KB/s, 0 seconds passed -... 29%, 37664 KB, 42221 KB/s, 0 seconds passed -... 29%, 37696 KB, 42245 KB/s, 0 seconds passed -... 29%, 37728 KB, 42269 KB/s, 0 seconds passed -... 29%, 37760 KB, 42293 KB/s, 0 seconds passed -... 30%, 37792 KB, 42317 KB/s, 0 seconds passed -... 30%, 37824 KB, 42342 KB/s, 0 seconds passed -... 30%, 37856 KB, 42366 KB/s, 0 seconds passed -... 30%, 37888 KB, 42391 KB/s, 0 seconds passed -... 30%, 37920 KB, 42415 KB/s, 0 seconds passed -... 30%, 37952 KB, 42439 KB/s, 0 seconds passed -... 30%, 37984 KB, 42464 KB/s, 0 seconds passed -... 30%, 38016 KB, 42488 KB/s, 0 seconds passed -... 30%, 38048 KB, 42512 KB/s, 0 seconds passed -... 30%, 38080 KB, 42536 KB/s, 0 seconds passed -... 30%, 38112 KB, 42561 KB/s, 0 seconds passed -... 30%, 38144 KB, 42581 KB/s, 0 seconds passed -... 30%, 38176 KB, 42604 KB/s, 0 seconds passed -... 30%, 38208 KB, 42627 KB/s, 0 seconds passed -... 30%, 38240 KB, 42647 KB/s, 0 seconds passed -... 30%, 38272 KB, 42671 KB/s, 0 seconds passed -... 30%, 38304 KB, 42695 KB/s, 0 seconds passed -... 30%, 38336 KB, 42719 KB/s, 0 seconds passed -... 30%, 38368 KB, 42744 KB/s, 0 seconds passed -... 30%, 38400 KB, 42766 KB/s, 0 seconds passed -... 30%, 38432 KB, 42789 KB/s, 0 seconds passed -... 30%, 38464 KB, 42812 KB/s, 0 seconds passed -... 30%, 38496 KB, 42825 KB/s, 0 seconds passed -... 30%, 38528 KB, 42841 KB/s, 0 seconds passed -... 30%, 38560 KB, 42867 KB/s, 0 seconds passed -... 30%, 38592 KB, 42896 KB/s, 0 seconds passed -... 30%, 38624 KB, 42924 KB/s, 0 seconds passed -... 30%, 38656 KB, 42944 KB/s, 0 seconds passed -... 30%, 38688 KB, 42959 KB/s, 0 seconds passed -... 30%, 38720 KB, 42984 KB/s, 0 seconds passed -... 30%, 38752 KB, 43007 KB/s, 0 seconds passed -... 30%, 38784 KB, 43028 KB/s, 0 seconds passed -... 30%, 38816 KB, 43044 KB/s, 0 seconds passed -... 30%, 38848 KB, 43060 KB/s, 0 seconds passed -... 30%, 38880 KB, 43079 KB/s, 0 seconds passed -... 30%, 38912 KB, 43106 KB/s, 0 seconds passed -... 30%, 38944 KB, 43134 KB/s, 0 seconds passed -... 30%, 38976 KB, 43162 KB/s, 0 seconds passed -... 30%, 39008 KB, 43188 KB/s, 0 seconds passed -... 30%, 39040 KB, 43202 KB/s, 0 seconds passed -... 31%, 39072 KB, 43217 KB/s, 0 seconds passed -... 31%, 39104 KB, 43240 KB/s, 0 seconds passed -... 31%, 39136 KB, 43267 KB/s, 0 seconds passed -... 31%, 39168 KB, 43293 KB/s, 0 seconds passed -... 31%, 39200 KB, 43321 KB/s, 0 seconds passed -... 31%, 39232 KB, 43344 KB/s, 0 seconds passed -... 31%, 39264 KB, 43363 KB/s, 0 seconds passed -... 31%, 39296 KB, 43377 KB/s, 0 seconds passed -... 31%, 39328 KB, 43392 KB/s, 0 seconds passed -... 31%, 39360 KB, 43420 KB/s, 0 seconds passed -... 31%, 39392 KB, 43448 KB/s, 0 seconds passed -... 31%, 39424 KB, 43474 KB/s, 0 seconds passed -... 31%, 39456 KB, 43497 KB/s, 0 seconds passed -... 31%, 39488 KB, 43520 KB/s, 0 seconds passed -... 31%, 39520 KB, 43540 KB/s, 0 seconds passed -... 31%, 39552 KB, 43563 KB/s, 0 seconds passed -... 31%, 39584 KB, 43585 KB/s, 0 seconds passed -... 31%, 39616 KB, 43606 KB/s, 0 seconds passed -... 31%, 39648 KB, 43628 KB/s, 0 seconds passed -... 31%, 39680 KB, 43651 KB/s, 0 seconds passed -... 31%, 39712 KB, 43673 KB/s, 0 seconds passed -... 31%, 39744 KB, 43693 KB/s, 0 seconds passed -... 31%, 39776 KB, 43716 KB/s, 0 seconds passed -... 31%, 39808 KB, 43739 KB/s, 0 seconds passed -... 31%, 39840 KB, 43759 KB/s, 0 seconds passed -... 31%, 39872 KB, 43776 KB/s, 0 seconds passed -... 31%, 39904 KB, 43791 KB/s, 0 seconds passed -... 31%, 39936 KB, 43816 KB/s, 0 seconds passed -... 31%, 39968 KB, 43845 KB/s, 0 seconds passed -... 31%, 40000 KB, 43860 KB/s, 0 seconds passed -... 31%, 40032 KB, 43875 KB/s, 0 seconds passed -... 31%, 40064 KB, 43901 KB/s, 0 seconds passed -... 31%, 40096 KB, 43927 KB/s, 0 seconds passed -... 31%, 40128 KB, 43954 KB/s, 0 seconds passed -... 31%, 40160 KB, 43974 KB/s, 0 seconds passed -... 31%, 40192 KB, 43997 KB/s, 0 seconds passed -... 31%, 40224 KB, 44016 KB/s, 0 seconds passed -... 31%, 40256 KB, 44031 KB/s, 0 seconds passed -... 31%, 40288 KB, 44056 KB/s, 0 seconds passed -... 32%, 40320 KB, 44078 KB/s, 0 seconds passed -... 32%, 40352 KB, 44100 KB/s, 0 seconds passed -... 32%, 40384 KB, 44125 KB/s, 0 seconds passed -... 32%, 40416 KB, 44147 KB/s, 0 seconds passed -... 32%, 40448 KB, 44170 KB/s, 0 seconds passed -... 32%, 40480 KB, 44192 KB/s, 0 seconds passed -... 32%, 40512 KB, 44204 KB/s, 0 seconds passed -... 32%, 40544 KB, 44217 KB/s, 0 seconds passed -... 32%, 40576 KB, 44232 KB/s, 0 seconds passed -... 32%, 40608 KB, 44250 KB/s, 0 seconds passed -... 32%, 40640 KB, 44268 KB/s, 0 seconds passed -... 32%, 40672 KB, 44286 KB/s, 0 seconds passed -... 32%, 40704 KB, 44305 KB/s, 0 seconds passed -... 32%, 40736 KB, 44324 KB/s, 0 seconds passed -... 32%, 40768 KB, 44342 KB/s, 0 seconds passed -... 32%, 40800 KB, 44360 KB/s, 0 seconds passed -... 32%, 40832 KB, 44379 KB/s, 0 seconds passed -... 32%, 40864 KB, 44400 KB/s, 0 seconds passed -... 32%, 40896 KB, 44421 KB/s, 0 seconds passed -... 32%, 40928 KB, 44443 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 32%, 40960 KB, 43955 KB/s, 0 seconds passed -... 32%, 40992 KB, 43971 KB/s, 0 seconds passed -... 32%, 41024 KB, 43987 KB/s, 0 seconds passed -... 32%, 41056 KB, 44004 KB/s, 0 seconds passed -... 32%, 41088 KB, 44021 KB/s, 0 seconds passed -... 32%, 41120 KB, 44038 KB/s, 0 seconds passed -... 32%, 41152 KB, 44053 KB/s, 0 seconds passed -... 32%, 41184 KB, 44069 KB/s, 0 seconds passed -... 32%, 41216 KB, 44086 KB/s, 0 seconds passed -... 32%, 41248 KB, 44103 KB/s, 0 seconds passed -... 32%, 41280 KB, 44120 KB/s, 0 seconds passed -... 32%, 41312 KB, 44137 KB/s, 0 seconds passed -... 32%, 41344 KB, 44154 KB/s, 0 seconds passed -... 32%, 41376 KB, 44170 KB/s, 0 seconds passed -... 32%, 41408 KB, 44186 KB/s, 0 seconds passed -... 32%, 41440 KB, 44203 KB/s, 0 seconds passed -... 32%, 41472 KB, 44218 KB/s, 0 seconds passed -... 32%, 41504 KB, 44235 KB/s, 0 seconds passed -... 32%, 41536 KB, 44252 KB/s, 0 seconds passed -... 33%, 41568 KB, 44269 KB/s, 0 seconds passed -... 33%, 41600 KB, 44284 KB/s, 0 seconds passed -... 33%, 41632 KB, 44301 KB/s, 0 seconds passed -... 33%, 41664 KB, 44317 KB/s, 0 seconds passed -... 33%, 41696 KB, 44337 KB/s, 0 seconds passed -... 33%, 41728 KB, 44357 KB/s, 0 seconds passed -... 33%, 41760 KB, 44377 KB/s, 0 seconds passed -... 33%, 41792 KB, 44397 KB/s, 0 seconds passed -... 33%, 41824 KB, 44418 KB/s, 0 seconds passed -... 33%, 41856 KB, 44438 KB/s, 0 seconds passed -... 33%, 41888 KB, 44459 KB/s, 0 seconds passed -... 33%, 41920 KB, 44449 KB/s, 0 seconds passed -... 33%, 41952 KB, 44464 KB/s, 0 seconds passed -... 33%, 41984 KB, 44480 KB/s, 0 seconds passed -... 33%, 42016 KB, 44496 KB/s, 0 seconds passed -... 33%, 42048 KB, 44512 KB/s, 0 seconds passed -... 33%, 42080 KB, 44528 KB/s, 0 seconds passed -... 33%, 42112 KB, 44545 KB/s, 0 seconds passed -... 33%, 42144 KB, 44561 KB/s, 0 seconds passed -... 33%, 42176 KB, 44576 KB/s, 0 seconds passed -... 33%, 42208 KB, 44592 KB/s, 0 seconds passed -... 33%, 42240 KB, 44608 KB/s, 0 seconds passed -... 33%, 42272 KB, 44625 KB/s, 0 seconds passed -... 33%, 42304 KB, 44646 KB/s, 0 seconds passed -... 33%, 42336 KB, 44667 KB/s, 0 seconds passed -... 33%, 42368 KB, 44690 KB/s, 0 seconds passed -... 33%, 42400 KB, 44711 KB/s, 0 seconds passed -... 33%, 42432 KB, 44732 KB/s, 0 seconds passed -... 33%, 42464 KB, 44754 KB/s, 0 seconds passed -... 33%, 42496 KB, 44775 KB/s, 0 seconds passed -... 33%, 42528 KB, 44797 KB/s, 0 seconds passed -... 33%, 42560 KB, 44818 KB/s, 0 seconds passed -... 33%, 42592 KB, 44840 KB/s, 0 seconds passed -... 33%, 42624 KB, 44862 KB/s, 0 seconds passed -... 33%, 42656 KB, 44884 KB/s, 0 seconds passed -... 33%, 42688 KB, 44905 KB/s, 0 seconds passed -... 33%, 42720 KB, 44927 KB/s, 0 seconds passed -... 33%, 42752 KB, 44948 KB/s, 0 seconds passed -... 33%, 42784 KB, 44969 KB/s, 0 seconds passed -... 33%, 42816 KB, 44991 KB/s, 0 seconds passed -... 34%, 42848 KB, 45012 KB/s, 0 seconds passed -... 34%, 42880 KB, 45034 KB/s, 0 seconds passed -... 34%, 42912 KB, 45056 KB/s, 0 seconds passed -... 34%, 42944 KB, 45076 KB/s, 0 seconds passed -... 34%, 42976 KB, 45098 KB/s, 0 seconds passed -... 34%, 43008 KB, 45119 KB/s, 0 seconds passed -... 34%, 43040 KB, 45140 KB/s, 0 seconds passed -... 34%, 43072 KB, 45162 KB/s, 0 seconds passed -... 34%, 43104 KB, 45183 KB/s, 0 seconds passed -... 34%, 43136 KB, 45205 KB/s, 0 seconds passed -... 34%, 43168 KB, 45227 KB/s, 0 seconds passed -... 34%, 43200 KB, 45248 KB/s, 0 seconds passed -... 34%, 43232 KB, 45270 KB/s, 0 seconds passed -... 34%, 43264 KB, 45291 KB/s, 0 seconds passed -... 34%, 43296 KB, 45312 KB/s, 0 seconds passed -... 34%, 43328 KB, 45334 KB/s, 0 seconds passed -... 34%, 43360 KB, 45355 KB/s, 0 seconds passed -... 34%, 43392 KB, 45376 KB/s, 0 seconds passed -... 34%, 43424 KB, 45397 KB/s, 0 seconds passed -... 34%, 43456 KB, 45418 KB/s, 0 seconds passed -... 34%, 43488 KB, 45440 KB/s, 0 seconds passed -... 34%, 43520 KB, 45461 KB/s, 0 seconds passed -... 34%, 43552 KB, 45482 KB/s, 0 seconds passed -... 34%, 43584 KB, 45504 KB/s, 0 seconds passed -... 34%, 43616 KB, 45525 KB/s, 0 seconds passed -... 34%, 43648 KB, 45546 KB/s, 0 seconds passed -... 34%, 43680 KB, 45569 KB/s, 0 seconds passed -... 34%, 43712 KB, 45592 KB/s, 0 seconds passed -... 34%, 43744 KB, 45611 KB/s, 0 seconds passed -... 34%, 43776 KB, 45636 KB/s, 0 seconds passed -... 34%, 43808 KB, 45658 KB/s, 0 seconds passed -... 34%, 43840 KB, 45673 KB/s, 0 seconds passed -... 34%, 43872 KB, 45687 KB/s, 0 seconds passed -... 34%, 43904 KB, 45704 KB/s, 0 seconds passed -... 34%, 43936 KB, 45730 KB/s, 0 seconds passed -... 34%, 43968 KB, 45755 KB/s, 0 seconds passed -... 34%, 44000 KB, 45778 KB/s, 0 seconds passed -... 34%, 44032 KB, 45797 KB/s, 0 seconds passed -... 34%, 44064 KB, 45815 KB/s, 0 seconds passed -... 35%, 44096 KB, 45829 KB/s, 0 seconds passed -... 35%, 44128 KB, 45851 KB/s, 0 seconds passed -... 35%, 44160 KB, 45876 KB/s, 0 seconds passed -... 35%, 44192 KB, 45897 KB/s, 0 seconds passed -... 35%, 44224 KB, 45918 KB/s, 0 seconds passed -... 35%, 44256 KB, 45938 KB/s, 0 seconds passed -... 35%, 44288 KB, 45956 KB/s, 0 seconds passed -... 35%, 44320 KB, 45977 KB/s, 0 seconds passed -... 35%, 44352 KB, 45998 KB/s, 0 seconds passed -... 35%, 44384 KB, 46016 KB/s, 0 seconds passed -... 35%, 44416 KB, 46039 KB/s, 0 seconds passed -... 35%, 44448 KB, 46057 KB/s, 0 seconds passed -... 35%, 44480 KB, 46078 KB/s, 0 seconds passed -... 35%, 44512 KB, 46098 KB/s, 0 seconds passed -... 35%, 44544 KB, 46116 KB/s, 0 seconds passed -... 35%, 44576 KB, 46134 KB/s, 0 seconds passed -... 35%, 44608 KB, 46157 KB/s, 0 seconds passed -... 35%, 44640 KB, 46175 KB/s, 0 seconds passed -... 35%, 44672 KB, 46196 KB/s, 0 seconds passed -... 35%, 44704 KB, 46216 KB/s, 0 seconds passed -... 35%, 44736 KB, 46227 KB/s, 0 seconds passed -... 35%, 44768 KB, 46240 KB/s, 0 seconds passed -... 35%, 44800 KB, 46264 KB/s, 0 seconds passed -... 35%, 44832 KB, 46290 KB/s, 0 seconds passed -... 35%, 44864 KB, 46305 KB/s, 0 seconds passed -... 35%, 44896 KB, 46318 KB/s, 0 seconds passed -... 35%, 44928 KB, 46342 KB/s, 0 seconds passed -... 35%, 44960 KB, 46368 KB/s, 0 seconds passed -... 35%, 44992 KB, 46391 KB/s, 0 seconds passed -... 35%, 45024 KB, 46406 KB/s, 0 seconds passed -... 35%, 45056 KB, 46427 KB/s, 0 seconds passed -... 35%, 45088 KB, 46447 KB/s, 0 seconds passed -... 35%, 45120 KB, 46465 KB/s, 0 seconds passed -... 35%, 45152 KB, 46485 KB/s, 0 seconds passed -... 35%, 45184 KB, 46414 KB/s, 0 seconds passed -... 35%, 45216 KB, 46432 KB/s, 0 seconds passed -... 35%, 45248 KB, 46453 KB/s, 0 seconds passed -... 35%, 45280 KB, 46469 KB/s, 0 seconds passed -... 35%, 45312 KB, 46482 KB/s, 0 seconds passed -... 36%, 45344 KB, 46505 KB/s, 0 seconds passed -... 36%, 45376 KB, 46530 KB/s, 0 seconds passed -... 36%, 45408 KB, 46551 KB/s, 0 seconds passed -... 36%, 45440 KB, 46569 KB/s, 0 seconds passed -... 36%, 45472 KB, 46589 KB/s, 0 seconds passed -... 36%, 45504 KB, 46609 KB/s, 0 seconds passed -... 36%, 45536 KB, 46627 KB/s, 0 seconds passed -... 36%, 45568 KB, 46647 KB/s, 0 seconds passed -... 36%, 45600 KB, 46665 KB/s, 0 seconds passed -... 36%, 45632 KB, 46685 KB/s, 0 seconds passed -... 36%, 45664 KB, 46705 KB/s, 0 seconds passed -... 36%, 45696 KB, 46726 KB/s, 0 seconds passed -... 36%, 45728 KB, 46746 KB/s, 0 seconds passed -... 36%, 45760 KB, 46763 KB/s, 0 seconds passed -... 36%, 45792 KB, 46781 KB/s, 0 seconds passed -... 36%, 45824 KB, 46801 KB/s, 0 seconds passed -... 36%, 45856 KB, 46821 KB/s, 0 seconds passed -... 36%, 45888 KB, 46841 KB/s, 0 seconds passed -... 36%, 45920 KB, 46859 KB/s, 0 seconds passed -... 36%, 45952 KB, 46882 KB/s, 0 seconds passed -... 36%, 45984 KB, 46899 KB/s, 0 seconds passed -... 36%, 46016 KB, 46919 KB/s, 0 seconds passed -... 36%, 46048 KB, 46939 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 36%, 46080 KB, 43839 KB/s, 1 seconds passed -... 36%, 46112 KB, 43848 KB/s, 1 seconds passed -... 36%, 46144 KB, 43861 KB/s, 1 seconds passed -... 36%, 46176 KB, 43875 KB/s, 1 seconds passed -... 36%, 46208 KB, 43887 KB/s, 1 seconds passed -... 36%, 46240 KB, 43902 KB/s, 1 seconds passed -... 36%, 46272 KB, 43916 KB/s, 1 seconds passed -... 36%, 46304 KB, 43931 KB/s, 1 seconds passed -... 36%, 46336 KB, 43945 KB/s, 1 seconds passed -... 36%, 46368 KB, 43959 KB/s, 1 seconds passed -... 36%, 46400 KB, 43974 KB/s, 1 seconds passed -... 36%, 46432 KB, 43988 KB/s, 1 seconds passed -... 36%, 46464 KB, 44002 KB/s, 1 seconds passed -... 36%, 46496 KB, 44017 KB/s, 1 seconds passed -... 36%, 46528 KB, 44031 KB/s, 1 seconds passed -... 36%, 46560 KB, 44044 KB/s, 1 seconds passed -... 36%, 46592 KB, 44059 KB/s, 1 seconds passed -... 37%, 46624 KB, 44073 KB/s, 1 seconds passed -... 37%, 46656 KB, 44088 KB/s, 1 seconds passed -... 37%, 46688 KB, 44102 KB/s, 1 seconds passed -... 37%, 46720 KB, 44116 KB/s, 1 seconds passed -... 37%, 46752 KB, 44132 KB/s, 1 seconds passed -... 37%, 46784 KB, 44147 KB/s, 1 seconds passed -... 37%, 46816 KB, 44162 KB/s, 1 seconds passed -... 37%, 46848 KB, 44178 KB/s, 1 seconds passed -... 37%, 46880 KB, 44192 KB/s, 1 seconds passed -... 37%, 46912 KB, 44208 KB/s, 1 seconds passed -... 37%, 46944 KB, 44223 KB/s, 1 seconds passed -... 37%, 46976 KB, 44237 KB/s, 1 seconds passed -... 37%, 47008 KB, 44252 KB/s, 1 seconds passed -... 37%, 47040 KB, 44268 KB/s, 1 seconds passed -... 37%, 47072 KB, 44283 KB/s, 1 seconds passed -... 37%, 47104 KB, 44299 KB/s, 1 seconds passed -... 37%, 47136 KB, 44314 KB/s, 1 seconds passed -... 37%, 47168 KB, 44330 KB/s, 1 seconds passed -... 37%, 47200 KB, 44345 KB/s, 1 seconds passed -... 37%, 47232 KB, 44358 KB/s, 1 seconds passed -... 37%, 47264 KB, 44374 KB/s, 1 seconds passed -... 37%, 47296 KB, 44389 KB/s, 1 seconds passed -... 37%, 47328 KB, 44405 KB/s, 1 seconds passed -... 37%, 47360 KB, 44421 KB/s, 1 seconds passed -... 37%, 47392 KB, 44436 KB/s, 1 seconds passed -... 37%, 47424 KB, 44452 KB/s, 1 seconds passed -... 37%, 47456 KB, 44467 KB/s, 1 seconds passed -... 37%, 47488 KB, 44483 KB/s, 1 seconds passed -... 37%, 47520 KB, 44498 KB/s, 1 seconds passed -... 37%, 47552 KB, 44513 KB/s, 1 seconds passed -... 37%, 47584 KB, 44528 KB/s, 1 seconds passed -... 37%, 47616 KB, 44543 KB/s, 1 seconds passed -... 37%, 47648 KB, 44559 KB/s, 1 seconds passed -... 37%, 47680 KB, 44577 KB/s, 1 seconds passed -... 37%, 47712 KB, 44597 KB/s, 1 seconds passed -... 37%, 47744 KB, 44617 KB/s, 1 seconds passed -... 37%, 47776 KB, 44637 KB/s, 1 seconds passed -... 37%, 47808 KB, 44658 KB/s, 1 seconds passed -... 37%, 47840 KB, 44678 KB/s, 1 seconds passed -... 38%, 47872 KB, 44697 KB/s, 1 seconds passed -... 38%, 47904 KB, 44718 KB/s, 1 seconds passed -... 38%, 47936 KB, 44738 KB/s, 1 seconds passed -... 38%, 47968 KB, 44758 KB/s, 1 seconds passed -... 38%, 48000 KB, 44778 KB/s, 1 seconds passed -... 38%, 48032 KB, 44799 KB/s, 1 seconds passed -... 38%, 48064 KB, 44819 KB/s, 1 seconds passed -... 38%, 48096 KB, 44838 KB/s, 1 seconds passed -... 38%, 48128 KB, 44858 KB/s, 1 seconds passed -... 38%, 48160 KB, 44878 KB/s, 1 seconds passed -... 38%, 48192 KB, 44898 KB/s, 1 seconds passed -... 38%, 48224 KB, 44918 KB/s, 1 seconds passed -... 38%, 48256 KB, 44938 KB/s, 1 seconds passed -... 38%, 48288 KB, 44958 KB/s, 1 seconds passed -... 38%, 48320 KB, 44978 KB/s, 1 seconds passed -... 38%, 48352 KB, 44998 KB/s, 1 seconds passed -... 38%, 48384 KB, 45018 KB/s, 1 seconds passed -... 38%, 48416 KB, 45038 KB/s, 1 seconds passed -... 38%, 48448 KB, 45058 KB/s, 1 seconds passed -... 38%, 48480 KB, 45077 KB/s, 1 seconds passed -... 38%, 48512 KB, 45097 KB/s, 1 seconds passed -... 38%, 48544 KB, 45118 KB/s, 1 seconds passed -... 38%, 48576 KB, 45138 KB/s, 1 seconds passed -... 38%, 48608 KB, 45158 KB/s, 1 seconds passed -... 38%, 48640 KB, 45176 KB/s, 1 seconds passed -... 38%, 48672 KB, 45196 KB/s, 1 seconds passed -... 38%, 48704 KB, 45215 KB/s, 1 seconds passed -... 38%, 48736 KB, 45235 KB/s, 1 seconds passed -... 38%, 48768 KB, 45255 KB/s, 1 seconds passed -... 38%, 48800 KB, 45275 KB/s, 1 seconds passed -... 38%, 48832 KB, 45295 KB/s, 1 seconds passed -... 38%, 48864 KB, 45315 KB/s, 1 seconds passed -... 38%, 48896 KB, 45335 KB/s, 1 seconds passed -... 38%, 48928 KB, 45355 KB/s, 1 seconds passed -... 38%, 48960 KB, 45374 KB/s, 1 seconds passed -... 38%, 48992 KB, 45394 KB/s, 1 seconds passed -... 38%, 49024 KB, 45414 KB/s, 1 seconds passed -... 38%, 49056 KB, 45437 KB/s, 1 seconds passed -... 38%, 49088 KB, 45460 KB/s, 1 seconds passed -... 38%, 49120 KB, 45482 KB/s, 1 seconds passed -... 39%, 49152 KB, 45505 KB/s, 1 seconds passed -... 39%, 49184 KB, 45528 KB/s, 1 seconds passed -... 39%, 49216 KB, 45551 KB/s, 1 seconds passed -... 39%, 49248 KB, 45572 KB/s, 1 seconds passed -... 39%, 49280 KB, 45595 KB/s, 1 seconds passed -... 39%, 49312 KB, 45618 KB/s, 1 seconds passed -... 39%, 49344 KB, 45641 KB/s, 1 seconds passed -... 39%, 49376 KB, 45663 KB/s, 1 seconds passed -... 39%, 49408 KB, 45686 KB/s, 1 seconds passed -... 39%, 49440 KB, 45709 KB/s, 1 seconds passed -... 39%, 49472 KB, 45732 KB/s, 1 seconds passed -... 39%, 49504 KB, 45754 KB/s, 1 seconds passed -... 39%, 49536 KB, 45777 KB/s, 1 seconds passed -... 39%, 49568 KB, 45800 KB/s, 1 seconds passed -... 39%, 49600 KB, 45823 KB/s, 1 seconds passed -... 39%, 49632 KB, 45846 KB/s, 1 seconds passed -... 39%, 49664 KB, 45868 KB/s, 1 seconds passed -... 39%, 49696 KB, 45891 KB/s, 1 seconds passed -... 39%, 49728 KB, 45914 KB/s, 1 seconds passed -... 39%, 49760 KB, 45937 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 39%, 49792 KB, 45958 KB/s, 1 seconds passed -... 39%, 49824 KB, 45977 KB/s, 1 seconds passed -... 39%, 49856 KB, 45865 KB/s, 1 seconds passed -... 39%, 49888 KB, 45855 KB/s, 1 seconds passed -... 39%, 49920 KB, 45874 KB/s, 1 seconds passed -... 39%, 49952 KB, 45893 KB/s, 1 seconds passed -... 39%, 49984 KB, 45912 KB/s, 1 seconds passed -... 39%, 50016 KB, 45930 KB/s, 1 seconds passed -... 39%, 50048 KB, 45946 KB/s, 1 seconds passed -... 39%, 50080 KB, 45964 KB/s, 1 seconds passed -... 39%, 50112 KB, 45983 KB/s, 1 seconds passed -... 39%, 50144 KB, 46001 KB/s, 1 seconds passed -... 39%, 50176 KB, 46017 KB/s, 1 seconds passed -... 39%, 50208 KB, 46035 KB/s, 1 seconds passed -... 39%, 50240 KB, 46051 KB/s, 1 seconds passed -... 39%, 50272 KB, 46070 KB/s, 1 seconds passed -... 39%, 50304 KB, 46088 KB/s, 1 seconds passed -... 39%, 50336 KB, 46104 KB/s, 1 seconds passed -... 39%, 50368 KB, 46120 KB/s, 1 seconds passed -... 40%, 50400 KB, 46131 KB/s, 1 seconds passed -... 40%, 50432 KB, 46143 KB/s, 1 seconds passed -... 40%, 50464 KB, 46155 KB/s, 1 seconds passed -... 40%, 50496 KB, 46178 KB/s, 1 seconds passed -... 40%, 50528 KB, 46200 KB/s, 1 seconds passed -... 40%, 50560 KB, 46223 KB/s, 1 seconds passed -... 40%, 50592 KB, 46246 KB/s, 1 seconds passed -... 40%, 50624 KB, 46238 KB/s, 1 seconds passed -... 40%, 50656 KB, 46256 KB/s, 1 seconds passed -... 40%, 50688 KB, 46278 KB/s, 1 seconds passed -... 40%, 50720 KB, 46296 KB/s, 1 seconds passed -... 40%, 50752 KB, 46312 KB/s, 1 seconds passed -... 40%, 50784 KB, 46328 KB/s, 1 seconds passed -... 40%, 50816 KB, 46338 KB/s, 1 seconds passed -... 40%, 50848 KB, 46350 KB/s, 1 seconds passed -... 40%, 50880 KB, 46366 KB/s, 1 seconds passed -... 40%, 50912 KB, 46389 KB/s, 1 seconds passed -... 40%, 50944 KB, 46411 KB/s, 1 seconds passed -... 40%, 50976 KB, 46430 KB/s, 1 seconds passed -... 40%, 51008 KB, 46448 KB/s, 1 seconds passed -... 40%, 51040 KB, 46466 KB/s, 1 seconds passed -... 40%, 51072 KB, 46482 KB/s, 1 seconds passed -... 40%, 51104 KB, 46500 KB/s, 1 seconds passed -... 40%, 51136 KB, 46518 KB/s, 1 seconds passed -... 40%, 51168 KB, 46536 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 40%, 51200 KB, 45035 KB/s, 1 seconds passed -... 40%, 51232 KB, 45042 KB/s, 1 seconds passed -... 40%, 51264 KB, 45052 KB/s, 1 seconds passed -... 40%, 51296 KB, 45068 KB/s, 1 seconds passed -... 40%, 51328 KB, 45016 KB/s, 1 seconds passed -... 40%, 51360 KB, 45019 KB/s, 1 seconds passed -... 40%, 51392 KB, 45030 KB/s, 1 seconds passed -... 40%, 51424 KB, 45042 KB/s, 1 seconds passed -... 40%, 51456 KB, 45055 KB/s, 1 seconds passed -... 40%, 51488 KB, 45066 KB/s, 1 seconds passed -... 40%, 51520 KB, 45079 KB/s, 1 seconds passed -... 40%, 51552 KB, 45092 KB/s, 1 seconds passed -... 40%, 51584 KB, 45105 KB/s, 1 seconds passed -... 40%, 51616 KB, 45119 KB/s, 1 seconds passed -... 41%, 51648 KB, 45132 KB/s, 1 seconds passed -... 41%, 51680 KB, 45143 KB/s, 1 seconds passed -... 41%, 51712 KB, 45156 KB/s, 1 seconds passed -... 41%, 51744 KB, 45169 KB/s, 1 seconds passed -... 41%, 51776 KB, 45181 KB/s, 1 seconds passed -... 41%, 51808 KB, 45194 KB/s, 1 seconds passed -... 41%, 51840 KB, 45208 KB/s, 1 seconds passed -... 41%, 51872 KB, 45221 KB/s, 1 seconds passed -... 41%, 51904 KB, 45234 KB/s, 1 seconds passed -... 41%, 51936 KB, 45246 KB/s, 1 seconds passed -... 41%, 51968 KB, 45259 KB/s, 1 seconds passed -... 41%, 52000 KB, 45271 KB/s, 1 seconds passed -... 41%, 52032 KB, 45284 KB/s, 1 seconds passed -... 41%, 52064 KB, 45297 KB/s, 1 seconds passed -... 41%, 52096 KB, 45310 KB/s, 1 seconds passed -... 41%, 52128 KB, 45326 KB/s, 1 seconds passed -... 41%, 52160 KB, 45342 KB/s, 1 seconds passed -... 41%, 52192 KB, 45357 KB/s, 1 seconds passed -... 41%, 52224 KB, 45372 KB/s, 1 seconds passed -... 41%, 52256 KB, 45388 KB/s, 1 seconds passed -... 41%, 52288 KB, 45404 KB/s, 1 seconds passed -... 41%, 52320 KB, 45420 KB/s, 1 seconds passed -... 41%, 52352 KB, 45436 KB/s, 1 seconds passed -... 41%, 52384 KB, 45452 KB/s, 1 seconds passed -... 41%, 52416 KB, 45466 KB/s, 1 seconds passed -... 41%, 52448 KB, 45482 KB/s, 1 seconds passed -... 41%, 52480 KB, 45498 KB/s, 1 seconds passed -... 41%, 52512 KB, 45513 KB/s, 1 seconds passed -... 41%, 52544 KB, 45529 KB/s, 1 seconds passed -... 41%, 52576 KB, 45545 KB/s, 1 seconds passed -... 41%, 52608 KB, 45560 KB/s, 1 seconds passed -... 41%, 52640 KB, 45576 KB/s, 1 seconds passed -... 41%, 52672 KB, 45592 KB/s, 1 seconds passed -... 41%, 52704 KB, 45608 KB/s, 1 seconds passed -... 41%, 52736 KB, 45624 KB/s, 1 seconds passed -... 41%, 52768 KB, 45640 KB/s, 1 seconds passed -... 41%, 52800 KB, 45655 KB/s, 1 seconds passed -... 41%, 52832 KB, 45670 KB/s, 1 seconds passed -... 41%, 52864 KB, 45686 KB/s, 1 seconds passed -... 41%, 52896 KB, 45702 KB/s, 1 seconds passed -... 42%, 52928 KB, 45718 KB/s, 1 seconds passed -... 42%, 52960 KB, 45733 KB/s, 1 seconds passed -... 42%, 52992 KB, 45749 KB/s, 1 seconds passed -... 42%, 53024 KB, 45765 KB/s, 1 seconds passed -... 42%, 53056 KB, 45780 KB/s, 1 seconds passed -... 42%, 53088 KB, 45796 KB/s, 1 seconds passed -... 42%, 53120 KB, 45812 KB/s, 1 seconds passed -... 42%, 53152 KB, 45827 KB/s, 1 seconds passed -... 42%, 53184 KB, 45846 KB/s, 1 seconds passed -... 42%, 53216 KB, 45865 KB/s, 1 seconds passed -... 42%, 53248 KB, 45885 KB/s, 1 seconds passed -... 42%, 53280 KB, 45903 KB/s, 1 seconds passed -... 42%, 53312 KB, 45922 KB/s, 1 seconds passed -... 42%, 53344 KB, 45941 KB/s, 1 seconds passed -... 42%, 53376 KB, 45961 KB/s, 1 seconds passed -... 42%, 53408 KB, 45980 KB/s, 1 seconds passed -... 42%, 53440 KB, 46000 KB/s, 1 seconds passed -... 42%, 53472 KB, 46019 KB/s, 1 seconds passed -... 42%, 53504 KB, 46038 KB/s, 1 seconds passed -... 42%, 53536 KB, 46057 KB/s, 1 seconds passed -... 42%, 53568 KB, 46077 KB/s, 1 seconds passed -... 42%, 53600 KB, 46097 KB/s, 1 seconds passed -... 42%, 53632 KB, 46116 KB/s, 1 seconds passed -... 42%, 53664 KB, 46136 KB/s, 1 seconds passed -... 42%, 53696 KB, 46155 KB/s, 1 seconds passed -... 42%, 53728 KB, 46174 KB/s, 1 seconds passed -... 42%, 53760 KB, 46194 KB/s, 1 seconds passed -... 42%, 53792 KB, 46214 KB/s, 1 seconds passed -... 42%, 53824 KB, 46233 KB/s, 1 seconds passed -... 42%, 53856 KB, 46253 KB/s, 1 seconds passed -... 42%, 53888 KB, 46272 KB/s, 1 seconds passed -... 42%, 53920 KB, 46290 KB/s, 1 seconds passed -... 42%, 53952 KB, 46309 KB/s, 1 seconds passed -... 42%, 53984 KB, 46328 KB/s, 1 seconds passed -... 42%, 54016 KB, 46348 KB/s, 1 seconds passed -... 42%, 54048 KB, 46367 KB/s, 1 seconds passed -... 42%, 54080 KB, 46386 KB/s, 1 seconds passed -... 42%, 54112 KB, 46405 KB/s, 1 seconds passed -... 42%, 54144 KB, 46424 KB/s, 1 seconds passed -... 43%, 54176 KB, 46443 KB/s, 1 seconds passed -... 43%, 54208 KB, 46463 KB/s, 1 seconds passed -... 43%, 54240 KB, 46483 KB/s, 1 seconds passed -... 43%, 54272 KB, 46502 KB/s, 1 seconds passed -... 43%, 54304 KB, 46521 KB/s, 1 seconds passed -... 43%, 54336 KB, 46540 KB/s, 1 seconds passed -... 43%, 54368 KB, 46559 KB/s, 1 seconds passed -... 43%, 54400 KB, 46579 KB/s, 1 seconds passed -... 43%, 54432 KB, 46598 KB/s, 1 seconds passed -... 43%, 54464 KB, 46617 KB/s, 1 seconds passed -... 43%, 54496 KB, 46636 KB/s, 1 seconds passed -... 43%, 54528 KB, 46655 KB/s, 1 seconds passed -... 43%, 54560 KB, 46674 KB/s, 1 seconds passed -... 43%, 54592 KB, 46693 KB/s, 1 seconds passed -... 43%, 54624 KB, 46712 KB/s, 1 seconds passed -... 43%, 54656 KB, 46734 KB/s, 1 seconds passed -... 43%, 54688 KB, 46755 KB/s, 1 seconds passed -... 43%, 54720 KB, 46776 KB/s, 1 seconds passed -... 43%, 54752 KB, 46793 KB/s, 1 seconds passed -... 43%, 54784 KB, 46809 KB/s, 1 seconds passed -... 43%, 54816 KB, 46824 KB/s, 1 seconds passed -... 43%, 54848 KB, 46841 KB/s, 1 seconds passed -... 43%, 54880 KB, 46856 KB/s, 1 seconds passed -... 43%, 54912 KB, 46872 KB/s, 1 seconds passed -... 43%, 54944 KB, 46889 KB/s, 1 seconds passed -... 43%, 54976 KB, 46904 KB/s, 1 seconds passed -... 43%, 55008 KB, 46887 KB/s, 1 seconds passed -... 43%, 55040 KB, 46904 KB/s, 1 seconds passed -... 43%, 55072 KB, 46920 KB/s, 1 seconds passed -... 43%, 55104 KB, 46692 KB/s, 1 seconds passed -... 43%, 55136 KB, 46709 KB/s, 1 seconds passed -... 43%, 55168 KB, 46724 KB/s, 1 seconds passed -... 43%, 55200 KB, 46740 KB/s, 1 seconds passed -... 43%, 55232 KB, 46757 KB/s, 1 seconds passed -... 43%, 55264 KB, 46774 KB/s, 1 seconds passed -... 43%, 55296 KB, 46790 KB/s, 1 seconds passed -... 43%, 55328 KB, 46807 KB/s, 1 seconds passed -... 43%, 55360 KB, 46824 KB/s, 1 seconds passed -... 43%, 55392 KB, 46838 KB/s, 1 seconds passed -... 44%, 55424 KB, 46854 KB/s, 1 seconds passed -... 44%, 55456 KB, 46867 KB/s, 1 seconds passed -... 44%, 55488 KB, 46884 KB/s, 1 seconds passed -... 44%, 55520 KB, 46900 KB/s, 1 seconds passed -... 44%, 55552 KB, 46915 KB/s, 1 seconds passed -... 44%, 55584 KB, 46929 KB/s, 1 seconds passed -... 44%, 55616 KB, 46943 KB/s, 1 seconds passed -... 44%, 55648 KB, 46956 KB/s, 1 seconds passed -... 44%, 55680 KB, 46971 KB/s, 1 seconds passed -... 44%, 55712 KB, 46985 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 44%, 55744 KB, 47000 KB/s, 1 seconds passed -... 44%, 55776 KB, 47015 KB/s, 1 seconds passed -... 44%, 55808 KB, 47030 KB/s, 1 seconds passed -... 44%, 55840 KB, 47044 KB/s, 1 seconds passed -... 44%, 55872 KB, 47058 KB/s, 1 seconds passed -... 44%, 55904 KB, 47073 KB/s, 1 seconds passed -... 44%, 55936 KB, 47087 KB/s, 1 seconds passed -... 44%, 55968 KB, 47102 KB/s, 1 seconds passed -... 44%, 56000 KB, 47115 KB/s, 1 seconds passed -... 44%, 56032 KB, 47129 KB/s, 1 seconds passed -... 44%, 56064 KB, 47144 KB/s, 1 seconds passed -... 44%, 56096 KB, 47158 KB/s, 1 seconds passed -... 44%, 56128 KB, 47172 KB/s, 1 seconds passed -... 44%, 56160 KB, 47189 KB/s, 1 seconds passed -... 44%, 56192 KB, 47206 KB/s, 1 seconds passed -... 44%, 56224 KB, 47225 KB/s, 1 seconds passed -... 44%, 56256 KB, 47247 KB/s, 1 seconds passed -... 44%, 56288 KB, 47269 KB/s, 1 seconds passed -... 44%, 56320 KB, 46698 KB/s, 1 seconds passed -... 44%, 56352 KB, 46691 KB/s, 1 seconds passed -... 44%, 56384 KB, 46701 KB/s, 1 seconds passed -... 44%, 56416 KB, 46712 KB/s, 1 seconds passed -... 44%, 56448 KB, 46724 KB/s, 1 seconds passed -... 44%, 56480 KB, 46678 KB/s, 1 seconds passed -... 44%, 56512 KB, 46686 KB/s, 1 seconds passed -... 44%, 56544 KB, 46697 KB/s, 1 seconds passed -... 44%, 56576 KB, 46708 KB/s, 1 seconds passed -... 44%, 56608 KB, 46719 KB/s, 1 seconds passed -... 44%, 56640 KB, 46730 KB/s, 1 seconds passed -... 44%, 56672 KB, 46742 KB/s, 1 seconds passed -... 45%, 56704 KB, 46750 KB/s, 1 seconds passed -... 45%, 56736 KB, 46761 KB/s, 1 seconds passed -... 45%, 56768 KB, 46772 KB/s, 1 seconds passed -... 45%, 56800 KB, 46783 KB/s, 1 seconds passed -... 45%, 56832 KB, 46796 KB/s, 1 seconds passed -... 45%, 56864 KB, 46808 KB/s, 1 seconds passed -... 45%, 56896 KB, 46820 KB/s, 1 seconds passed -... 45%, 56928 KB, 46832 KB/s, 1 seconds passed -... 45%, 56960 KB, 46843 KB/s, 1 seconds passed -... 45%, 56992 KB, 46856 KB/s, 1 seconds passed -... 45%, 57024 KB, 46865 KB/s, 1 seconds passed -... 45%, 57056 KB, 46876 KB/s, 1 seconds passed -... 45%, 57088 KB, 46888 KB/s, 1 seconds passed -... 45%, 57120 KB, 46900 KB/s, 1 seconds passed -... 45%, 57152 KB, 46913 KB/s, 1 seconds passed -... 45%, 57184 KB, 46924 KB/s, 1 seconds passed -... 45%, 57216 KB, 46936 KB/s, 1 seconds passed -... 45%, 57248 KB, 46948 KB/s, 1 seconds passed -... 45%, 57280 KB, 46961 KB/s, 1 seconds passed -... 45%, 57312 KB, 46973 KB/s, 1 seconds passed -... 45%, 57344 KB, 46985 KB/s, 1 seconds passed -... 45%, 57376 KB, 46996 KB/s, 1 seconds passed -... 45%, 57408 KB, 47013 KB/s, 1 seconds passed -... 45%, 57440 KB, 47030 KB/s, 1 seconds passed -... 45%, 57472 KB, 47047 KB/s, 1 seconds passed -... 45%, 57504 KB, 47065 KB/s, 1 seconds passed -... 45%, 57536 KB, 47082 KB/s, 1 seconds passed -... 45%, 57568 KB, 47099 KB/s, 1 seconds passed -... 45%, 57600 KB, 47116 KB/s, 1 seconds passed -... 45%, 57632 KB, 47133 KB/s, 1 seconds passed -... 45%, 57664 KB, 47150 KB/s, 1 seconds passed -... 45%, 57696 KB, 47166 KB/s, 1 seconds passed -... 45%, 57728 KB, 47183 KB/s, 1 seconds passed -... 45%, 57760 KB, 47200 KB/s, 1 seconds passed -... 45%, 57792 KB, 47217 KB/s, 1 seconds passed -... 45%, 57824 KB, 47234 KB/s, 1 seconds passed -... 45%, 57856 KB, 47251 KB/s, 1 seconds passed -... 45%, 57888 KB, 47267 KB/s, 1 seconds passed -... 45%, 57920 KB, 47284 KB/s, 1 seconds passed -... 46%, 57952 KB, 47300 KB/s, 1 seconds passed -... 46%, 57984 KB, 47317 KB/s, 1 seconds passed -... 46%, 58016 KB, 47334 KB/s, 1 seconds passed -... 46%, 58048 KB, 47351 KB/s, 1 seconds passed -... 46%, 58080 KB, 47368 KB/s, 1 seconds passed -... 46%, 58112 KB, 47385 KB/s, 1 seconds passed -... 46%, 58144 KB, 47402 KB/s, 1 seconds passed -... 46%, 58176 KB, 47419 KB/s, 1 seconds passed -... 46%, 58208 KB, 47436 KB/s, 1 seconds passed -... 46%, 58240 KB, 47452 KB/s, 1 seconds passed -... 46%, 58272 KB, 47469 KB/s, 1 seconds passed -... 46%, 58304 KB, 47486 KB/s, 1 seconds passed -... 46%, 58336 KB, 47503 KB/s, 1 seconds passed -... 46%, 58368 KB, 47520 KB/s, 1 seconds passed -... 46%, 58400 KB, 47536 KB/s, 1 seconds passed -... 46%, 58432 KB, 47552 KB/s, 1 seconds passed -... 46%, 58464 KB, 47569 KB/s, 1 seconds passed -... 46%, 58496 KB, 47586 KB/s, 1 seconds passed -... 46%, 58528 KB, 47603 KB/s, 1 seconds passed -... 46%, 58560 KB, 47620 KB/s, 1 seconds passed -... 46%, 58592 KB, 47637 KB/s, 1 seconds passed -... 46%, 58624 KB, 47653 KB/s, 1 seconds passed -... 46%, 58656 KB, 47669 KB/s, 1 seconds passed -... 46%, 58688 KB, 47686 KB/s, 1 seconds passed -... 46%, 58720 KB, 47704 KB/s, 1 seconds passed -... 46%, 58752 KB, 47724 KB/s, 1 seconds passed -... 46%, 58784 KB, 47744 KB/s, 1 seconds passed -... 46%, 58816 KB, 47764 KB/s, 1 seconds passed -... 46%, 58848 KB, 47783 KB/s, 1 seconds passed -... 46%, 58880 KB, 47803 KB/s, 1 seconds passed -... 46%, 58912 KB, 47822 KB/s, 1 seconds passed -... 46%, 58944 KB, 47842 KB/s, 1 seconds passed -... 46%, 58976 KB, 47861 KB/s, 1 seconds passed -... 46%, 59008 KB, 47881 KB/s, 1 seconds passed -... 46%, 59040 KB, 47900 KB/s, 1 seconds passed -... 46%, 59072 KB, 47920 KB/s, 1 seconds passed -... 46%, 59104 KB, 47939 KB/s, 1 seconds passed -... 46%, 59136 KB, 47959 KB/s, 1 seconds passed -... 46%, 59168 KB, 47973 KB/s, 1 seconds passed -... 47%, 59200 KB, 47989 KB/s, 1 seconds passed -... 47%, 59232 KB, 48005 KB/s, 1 seconds passed -... 47%, 59264 KB, 48018 KB/s, 1 seconds passed -... 47%, 59296 KB, 48034 KB/s, 1 seconds passed -... 47%, 59328 KB, 48050 KB/s, 1 seconds passed -... 47%, 59360 KB, 48059 KB/s, 1 seconds passed -... 47%, 59392 KB, 48073 KB/s, 1 seconds passed -... 47%, 59424 KB, 48082 KB/s, 1 seconds passed -... 47%, 59456 KB, 48101 KB/s, 1 seconds passed -... 47%, 59488 KB, 48121 KB/s, 1 seconds passed -... 47%, 59520 KB, 48139 KB/s, 1 seconds passed -... 47%, 59552 KB, 48153 KB/s, 1 seconds passed -... 47%, 59584 KB, 48168 KB/s, 1 seconds passed -... 47%, 59616 KB, 48184 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 47%, 59648 KB, 48197 KB/s, 1 seconds passed -... 47%, 59680 KB, 48211 KB/s, 1 seconds passed -... 47%, 59712 KB, 48226 KB/s, 1 seconds passed -... 47%, 59744 KB, 48244 KB/s, 1 seconds passed -... 47%, 59776 KB, 48258 KB/s, 1 seconds passed -... 47%, 59808 KB, 48273 KB/s, 1 seconds passed -... 47%, 59840 KB, 48289 KB/s, 1 seconds passed -... 47%, 59872 KB, 48298 KB/s, 1 seconds passed -... 47%, 59904 KB, 48314 KB/s, 1 seconds passed -... 47%, 59936 KB, 48330 KB/s, 1 seconds passed -... 47%, 59968 KB, 48343 KB/s, 1 seconds passed -... 47%, 60000 KB, 48362 KB/s, 1 seconds passed -... 47%, 60032 KB, 48378 KB/s, 1 seconds passed -... 47%, 60064 KB, 48394 KB/s, 1 seconds passed -... 47%, 60096 KB, 48405 KB/s, 1 seconds passed -... 47%, 60128 KB, 48415 KB/s, 1 seconds passed -... 47%, 60160 KB, 48425 KB/s, 1 seconds passed -... 47%, 60192 KB, 48171 KB/s, 1 seconds passed -... 47%, 60224 KB, 48161 KB/s, 1 seconds passed -... 47%, 60256 KB, 48180 KB/s, 1 seconds passed -... 47%, 60288 KB, 48194 KB/s, 1 seconds passed -... 47%, 60320 KB, 48206 KB/s, 1 seconds passed -... 47%, 60352 KB, 48216 KB/s, 1 seconds passed -... 47%, 60384 KB, 48228 KB/s, 1 seconds passed -... 47%, 60416 KB, 48239 KB/s, 1 seconds passed -... 47%, 60448 KB, 48249 KB/s, 1 seconds passed -... 48%, 60480 KB, 48261 KB/s, 1 seconds passed -... 48%, 60512 KB, 48273 KB/s, 1 seconds passed -... 48%, 60544 KB, 48283 KB/s, 1 seconds passed -... 48%, 60576 KB, 48295 KB/s, 1 seconds passed -... 48%, 60608 KB, 48306 KB/s, 1 seconds passed -... 48%, 60640 KB, 48318 KB/s, 1 seconds passed -... 48%, 60672 KB, 48329 KB/s, 1 seconds passed -... 48%, 60704 KB, 48341 KB/s, 1 seconds passed -... 48%, 60736 KB, 48352 KB/s, 1 seconds passed -... 48%, 60768 KB, 48363 KB/s, 1 seconds passed -... 48%, 60800 KB, 48374 KB/s, 1 seconds passed -... 48%, 60832 KB, 48387 KB/s, 1 seconds passed -... 48%, 60864 KB, 48401 KB/s, 1 seconds passed -... 48%, 60896 KB, 48415 KB/s, 1 seconds passed -... 48%, 60928 KB, 48430 KB/s, 1 seconds passed -... 48%, 60960 KB, 48444 KB/s, 1 seconds passed -... 48%, 60992 KB, 47888 KB/s, 1 seconds passed -... 48%, 61024 KB, 47895 KB/s, 1 seconds passed -... 48%, 61056 KB, 47904 KB/s, 1 seconds passed -... 48%, 61088 KB, 47914 KB/s, 1 seconds passed -... 48%, 61120 KB, 47924 KB/s, 1 seconds passed -... 48%, 61152 KB, 47935 KB/s, 1 seconds passed -... 48%, 61184 KB, 47947 KB/s, 1 seconds passed -... 48%, 61216 KB, 47958 KB/s, 1 seconds passed -... 48%, 61248 KB, 47967 KB/s, 1 seconds passed -... 48%, 61280 KB, 47978 KB/s, 1 seconds passed -... 48%, 61312 KB, 47991 KB/s, 1 seconds passed -... 48%, 61344 KB, 48006 KB/s, 1 seconds passed -... 48%, 61376 KB, 48020 KB/s, 1 seconds passed -... 48%, 61408 KB, 48035 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 48%, 61440 KB, 47180 KB/s, 1 seconds passed -... 48%, 61472 KB, 47187 KB/s, 1 seconds passed -... 48%, 61504 KB, 47196 KB/s, 1 seconds passed -... 48%, 61536 KB, 47209 KB/s, 1 seconds passed -... 48%, 61568 KB, 46974 KB/s, 1 seconds passed -... 48%, 61600 KB, 46980 KB/s, 1 seconds passed -... 48%, 61632 KB, 46989 KB/s, 1 seconds passed -... 48%, 61664 KB, 46999 KB/s, 1 seconds passed -... 48%, 61696 KB, 47012 KB/s, 1 seconds passed -... 49%, 61728 KB, 47016 KB/s, 1 seconds passed -... 49%, 61760 KB, 47026 KB/s, 1 seconds passed -... 49%, 61792 KB, 47037 KB/s, 1 seconds passed -... 49%, 61824 KB, 47047 KB/s, 1 seconds passed -... 49%, 61856 KB, 47057 KB/s, 1 seconds passed -... 49%, 61888 KB, 47069 KB/s, 1 seconds passed -... 49%, 61920 KB, 47079 KB/s, 1 seconds passed -... 49%, 61952 KB, 47089 KB/s, 1 seconds passed -... 49%, 61984 KB, 47100 KB/s, 1 seconds passed -... 49%, 62016 KB, 47110 KB/s, 1 seconds passed -... 49%, 62048 KB, 47119 KB/s, 1 seconds passed -... 49%, 62080 KB, 47129 KB/s, 1 seconds passed -... 49%, 62112 KB, 47139 KB/s, 1 seconds passed -... 49%, 62144 KB, 47150 KB/s, 1 seconds passed -... 49%, 62176 KB, 47160 KB/s, 1 seconds passed -... 49%, 62208 KB, 47170 KB/s, 1 seconds passed -... 49%, 62240 KB, 47181 KB/s, 1 seconds passed -... 49%, 62272 KB, 47191 KB/s, 1 seconds passed -... 49%, 62304 KB, 47202 KB/s, 1 seconds passed -... 49%, 62336 KB, 47212 KB/s, 1 seconds passed -... 49%, 62368 KB, 47222 KB/s, 1 seconds passed -... 49%, 62400 KB, 47232 KB/s, 1 seconds passed -... 49%, 62432 KB, 47242 KB/s, 1 seconds passed -... 49%, 62464 KB, 47254 KB/s, 1 seconds passed -... 49%, 62496 KB, 47269 KB/s, 1 seconds passed -... 49%, 62528 KB, 47284 KB/s, 1 seconds passed -... 49%, 62560 KB, 47299 KB/s, 1 seconds passed -... 49%, 62592 KB, 47314 KB/s, 1 seconds passed -... 49%, 62624 KB, 47329 KB/s, 1 seconds passed -... 49%, 62656 KB, 47345 KB/s, 1 seconds passed -... 49%, 62688 KB, 47360 KB/s, 1 seconds passed -... 49%, 62720 KB, 47375 KB/s, 1 seconds passed -... 49%, 62752 KB, 47390 KB/s, 1 seconds passed -... 49%, 62784 KB, 47405 KB/s, 1 seconds passed -... 49%, 62816 KB, 47420 KB/s, 1 seconds passed -... 49%, 62848 KB, 47434 KB/s, 1 seconds passed -... 49%, 62880 KB, 47450 KB/s, 1 seconds passed -... 49%, 62912 KB, 47465 KB/s, 1 seconds passed -... 49%, 62944 KB, 47481 KB/s, 1 seconds passed -... 49%, 62976 KB, 47496 KB/s, 1 seconds passed -... 50%, 63008 KB, 47511 KB/s, 1 seconds passed -... 50%, 63040 KB, 47526 KB/s, 1 seconds passed -... 50%, 63072 KB, 47541 KB/s, 1 seconds passed -... 50%, 63104 KB, 47556 KB/s, 1 seconds passed -... 50%, 63136 KB, 47572 KB/s, 1 seconds passed -... 50%, 63168 KB, 47587 KB/s, 1 seconds passed -... 50%, 63200 KB, 47602 KB/s, 1 seconds passed -... 50%, 63232 KB, 47618 KB/s, 1 seconds passed -... 50%, 63264 KB, 47633 KB/s, 1 seconds passed -... 50%, 63296 KB, 47647 KB/s, 1 seconds passed -... 50%, 63328 KB, 47662 KB/s, 1 seconds passed -... 50%, 63360 KB, 47677 KB/s, 1 seconds passed -... 50%, 63392 KB, 47693 KB/s, 1 seconds passed -... 50%, 63424 KB, 47708 KB/s, 1 seconds passed -... 50%, 63456 KB, 47722 KB/s, 1 seconds passed -... 50%, 63488 KB, 47738 KB/s, 1 seconds passed -... 50%, 63520 KB, 47753 KB/s, 1 seconds passed -... 50%, 63552 KB, 47768 KB/s, 1 seconds passed -... 50%, 63584 KB, 47784 KB/s, 1 seconds passed -... 50%, 63616 KB, 47799 KB/s, 1 seconds passed -... 50%, 63648 KB, 47814 KB/s, 1 seconds passed -... 50%, 63680 KB, 47829 KB/s, 1 seconds passed -... 50%, 63712 KB, 47845 KB/s, 1 seconds passed -... 50%, 63744 KB, 47860 KB/s, 1 seconds passed -... 50%, 63776 KB, 47879 KB/s, 1 seconds passed -... 50%, 63808 KB, 47897 KB/s, 1 seconds passed -... 50%, 63840 KB, 47915 KB/s, 1 seconds passed -... 50%, 63872 KB, 47933 KB/s, 1 seconds passed -... 50%, 63904 KB, 47951 KB/s, 1 seconds passed -... 50%, 63936 KB, 47968 KB/s, 1 seconds passed -... 50%, 63968 KB, 47986 KB/s, 1 seconds passed -... 50%, 64000 KB, 48004 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 50%, 64032 KB, 47575 KB/s, 1 seconds passed -... 50%, 64064 KB, 47581 KB/s, 1 seconds passed -... 50%, 64096 KB, 47595 KB/s, 1 seconds passed -... 50%, 64128 KB, 47611 KB/s, 1 seconds passed -... 50%, 64160 KB, 47627 KB/s, 1 seconds passed -... 50%, 64192 KB, 47532 KB/s, 1 seconds passed -... 50%, 64224 KB, 47545 KB/s, 1 seconds passed -... 51%, 64256 KB, 47560 KB/s, 1 seconds passed -... 51%, 64288 KB, 47576 KB/s, 1 seconds passed -... 51%, 64320 KB, 47590 KB/s, 1 seconds passed -... 51%, 64352 KB, 47574 KB/s, 1 seconds passed -... 51%, 64384 KB, 47586 KB/s, 1 seconds passed -... 51%, 64416 KB, 47598 KB/s, 1 seconds passed -... 51%, 64448 KB, 47612 KB/s, 1 seconds passed -... 51%, 64480 KB, 47625 KB/s, 1 seconds passed -... 51%, 64512 KB, 47637 KB/s, 1 seconds passed -... 51%, 64544 KB, 47650 KB/s, 1 seconds passed -... 51%, 64576 KB, 47663 KB/s, 1 seconds passed -... 51%, 64608 KB, 47677 KB/s, 1 seconds passed -... 51%, 64640 KB, 47690 KB/s, 1 seconds passed -... 51%, 64672 KB, 47703 KB/s, 1 seconds passed -... 51%, 64704 KB, 47716 KB/s, 1 seconds passed -... 51%, 64736 KB, 47730 KB/s, 1 seconds passed -... 51%, 64768 KB, 47694 KB/s, 1 seconds passed -... 51%, 64800 KB, 47703 KB/s, 1 seconds passed -... 51%, 64832 KB, 47716 KB/s, 1 seconds passed -... 51%, 64864 KB, 47728 KB/s, 1 seconds passed -... 51%, 64896 KB, 47741 KB/s, 1 seconds passed -... 51%, 64928 KB, 47754 KB/s, 1 seconds passed -... 51%, 64960 KB, 47767 KB/s, 1 seconds passed -... 51%, 64992 KB, 47780 KB/s, 1 seconds passed -... 51%, 65024 KB, 47791 KB/s, 1 seconds passed -... 51%, 65056 KB, 47804 KB/s, 1 seconds passed -... 51%, 65088 KB, 47817 KB/s, 1 seconds passed -... 51%, 65120 KB, 47830 KB/s, 1 seconds passed -... 51%, 65152 KB, 47843 KB/s, 1 seconds passed -... 51%, 65184 KB, 47857 KB/s, 1 seconds passed -... 51%, 65216 KB, 47872 KB/s, 1 seconds passed -... 51%, 65248 KB, 47886 KB/s, 1 seconds passed -... 51%, 65280 KB, 47901 KB/s, 1 seconds passed -... 51%, 65312 KB, 47915 KB/s, 1 seconds passed -... 51%, 65344 KB, 47930 KB/s, 1 seconds passed -... 51%, 65376 KB, 47944 KB/s, 1 seconds passed -... 51%, 65408 KB, 47958 KB/s, 1 seconds passed -... 51%, 65440 KB, 47972 KB/s, 1 seconds passed -... 51%, 65472 KB, 47986 KB/s, 1 seconds passed -... 52%, 65504 KB, 48000 KB/s, 1 seconds passed -... 52%, 65536 KB, 48014 KB/s, 1 seconds passed -... 52%, 65568 KB, 48029 KB/s, 1 seconds passed -... 52%, 65600 KB, 48043 KB/s, 1 seconds passed -... 52%, 65632 KB, 48058 KB/s, 1 seconds passed -... 52%, 65664 KB, 48072 KB/s, 1 seconds passed -... 52%, 65696 KB, 48087 KB/s, 1 seconds passed -... 52%, 65728 KB, 48101 KB/s, 1 seconds passed -... 52%, 65760 KB, 48116 KB/s, 1 seconds passed -... 52%, 65792 KB, 48130 KB/s, 1 seconds passed -... 52%, 65824 KB, 48145 KB/s, 1 seconds passed -... 52%, 65856 KB, 48159 KB/s, 1 seconds passed -... 52%, 65888 KB, 48173 KB/s, 1 seconds passed -... 52%, 65920 KB, 48188 KB/s, 1 seconds passed -... 52%, 65952 KB, 48199 KB/s, 1 seconds passed -... 52%, 65984 KB, 48213 KB/s, 1 seconds passed -... 52%, 66016 KB, 48227 KB/s, 1 seconds passed -... 52%, 66048 KB, 48240 KB/s, 1 seconds passed -... 52%, 66080 KB, 48254 KB/s, 1 seconds passed -... 52%, 66112 KB, 48268 KB/s, 1 seconds passed -... 52%, 66144 KB, 48282 KB/s, 1 seconds passed -... 52%, 66176 KB, 48296 KB/s, 1 seconds passed -... 52%, 66208 KB, 48310 KB/s, 1 seconds passed -... 52%, 66240 KB, 48322 KB/s, 1 seconds passed -... 52%, 66272 KB, 48336 KB/s, 1 seconds passed -... 52%, 66304 KB, 48348 KB/s, 1 seconds passed -... 52%, 66336 KB, 48362 KB/s, 1 seconds passed -... 52%, 66368 KB, 48376 KB/s, 1 seconds passed -... 52%, 66400 KB, 48390 KB/s, 1 seconds passed -... 52%, 66432 KB, 48404 KB/s, 1 seconds passed -... 52%, 66464 KB, 48416 KB/s, 1 seconds passed -... 52%, 66496 KB, 48432 KB/s, 1 seconds passed -... 52%, 66528 KB, 48444 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 52%, 66560 KB, 46842 KB/s, 1 seconds passed -... 52%, 66592 KB, 46809 KB/s, 1 seconds passed -... 52%, 66624 KB, 46816 KB/s, 1 seconds passed -... 52%, 66656 KB, 46827 KB/s, 1 seconds passed -... 52%, 66688 KB, 46527 KB/s, 1 seconds passed -... 52%, 66720 KB, 46534 KB/s, 1 seconds passed -... 52%, 66752 KB, 46542 KB/s, 1 seconds passed -... 53%, 66784 KB, 46551 KB/s, 1 seconds passed -... 53%, 66816 KB, 46560 KB/s, 1 seconds passed -... 53%, 66848 KB, 46570 KB/s, 1 seconds passed -... 53%, 66880 KB, 46580 KB/s, 1 seconds passed -... 53%, 66912 KB, 46589 KB/s, 1 seconds passed -... 53%, 66944 KB, 46598 KB/s, 1 seconds passed -... 53%, 66976 KB, 46607 KB/s, 1 seconds passed -... 53%, 67008 KB, 46617 KB/s, 1 seconds passed -... 53%, 67040 KB, 46626 KB/s, 1 seconds passed -... 53%, 67072 KB, 46636 KB/s, 1 seconds passed -... 53%, 67104 KB, 46646 KB/s, 1 seconds passed -... 53%, 67136 KB, 46656 KB/s, 1 seconds passed -... 53%, 67168 KB, 46666 KB/s, 1 seconds passed -... 53%, 67200 KB, 46676 KB/s, 1 seconds passed -... 53%, 67232 KB, 46686 KB/s, 1 seconds passed -... 53%, 67264 KB, 46696 KB/s, 1 seconds passed -... 53%, 67296 KB, 46704 KB/s, 1 seconds passed -... 53%, 67328 KB, 46714 KB/s, 1 seconds passed -... 53%, 67360 KB, 46724 KB/s, 1 seconds passed -... 53%, 67392 KB, 46734 KB/s, 1 seconds passed -... 53%, 67424 KB, 46744 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 53%, 67456 KB, 46754 KB/s, 1 seconds passed -... 53%, 67488 KB, 46764 KB/s, 1 seconds passed -... 53%, 67520 KB, 46776 KB/s, 1 seconds passed -... 53%, 67552 KB, 46788 KB/s, 1 seconds passed -... 53%, 67584 KB, 46801 KB/s, 1 seconds passed -... 53%, 67616 KB, 46814 KB/s, 1 seconds passed -... 53%, 67648 KB, 46825 KB/s, 1 seconds passed -... 53%, 67680 KB, 46838 KB/s, 1 seconds passed -... 53%, 67712 KB, 46850 KB/s, 1 seconds passed -... 53%, 67744 KB, 46863 KB/s, 1 seconds passed -... 53%, 67776 KB, 46876 KB/s, 1 seconds passed -... 53%, 67808 KB, 46888 KB/s, 1 seconds passed -... 53%, 67840 KB, 46900 KB/s, 1 seconds passed -... 53%, 67872 KB, 46913 KB/s, 1 seconds passed -... 53%, 67904 KB, 46926 KB/s, 1 seconds passed -... 53%, 67936 KB, 46939 KB/s, 1 seconds passed -... 53%, 67968 KB, 46952 KB/s, 1 seconds passed -... 53%, 68000 KB, 46964 KB/s, 1 seconds passed -... 54%, 68032 KB, 46977 KB/s, 1 seconds passed -... 54%, 68064 KB, 46990 KB/s, 1 seconds passed -... 54%, 68096 KB, 47002 KB/s, 1 seconds passed -... 54%, 68128 KB, 47015 KB/s, 1 seconds passed -... 54%, 68160 KB, 47028 KB/s, 1 seconds passed -... 54%, 68192 KB, 47040 KB/s, 1 seconds passed -... 54%, 68224 KB, 47053 KB/s, 1 seconds passed -... 54%, 68256 KB, 47065 KB/s, 1 seconds passed -... 54%, 68288 KB, 47078 KB/s, 1 seconds passed -... 54%, 68320 KB, 47091 KB/s, 1 seconds passed -... 54%, 68352 KB, 47103 KB/s, 1 seconds passed -... 54%, 68384 KB, 47116 KB/s, 1 seconds passed -... 54%, 68416 KB, 47129 KB/s, 1 seconds passed -... 54%, 68448 KB, 47142 KB/s, 1 seconds passed -... 54%, 68480 KB, 47155 KB/s, 1 seconds passed -... 54%, 68512 KB, 47167 KB/s, 1 seconds passed -... 54%, 68544 KB, 47179 KB/s, 1 seconds passed -... 54%, 68576 KB, 47192 KB/s, 1 seconds passed -... 54%, 68608 KB, 47205 KB/s, 1 seconds passed -... 54%, 68640 KB, 47221 KB/s, 1 seconds passed -... 54%, 68672 KB, 47237 KB/s, 1 seconds passed -... 54%, 68704 KB, 47252 KB/s, 1 seconds passed -... 54%, 68736 KB, 47267 KB/s, 1 seconds passed -... 54%, 68768 KB, 47283 KB/s, 1 seconds passed -... 54%, 68800 KB, 47299 KB/s, 1 seconds passed -... 54%, 68832 KB, 47314 KB/s, 1 seconds passed -... 54%, 68864 KB, 47329 KB/s, 1 seconds passed -... 54%, 68896 KB, 47345 KB/s, 1 seconds passed -... 54%, 68928 KB, 47361 KB/s, 1 seconds passed -... 54%, 68960 KB, 47376 KB/s, 1 seconds passed -... 54%, 68992 KB, 47392 KB/s, 1 seconds passed -... 54%, 69024 KB, 47407 KB/s, 1 seconds passed -... 54%, 69056 KB, 47423 KB/s, 1 seconds passed -... 54%, 69088 KB, 47438 KB/s, 1 seconds passed -... 54%, 69120 KB, 47453 KB/s, 1 seconds passed -... 54%, 69152 KB, 47468 KB/s, 1 seconds passed -... 54%, 69184 KB, 47484 KB/s, 1 seconds passed -... 54%, 69216 KB, 47499 KB/s, 1 seconds passed -... 54%, 69248 KB, 47513 KB/s, 1 seconds passed -... 55%, 69280 KB, 47528 KB/s, 1 seconds passed -... 55%, 69312 KB, 47541 KB/s, 1 seconds passed -... 55%, 69344 KB, 47547 KB/s, 1 seconds passed -... 55%, 69376 KB, 47057 KB/s, 1 seconds passed -... 55%, 69408 KB, 47063 KB/s, 1 seconds passed -... 55%, 69440 KB, 47072 KB/s, 1 seconds passed -... 55%, 69472 KB, 47081 KB/s, 1 seconds passed -... 55%, 69504 KB, 47091 KB/s, 1 seconds passed -... 55%, 69536 KB, 47101 KB/s, 1 seconds passed -... 55%, 69568 KB, 47109 KB/s, 1 seconds passed -... 55%, 69600 KB, 47118 KB/s, 1 seconds passed -... 55%, 69632 KB, 47128 KB/s, 1 seconds passed -... 55%, 69664 KB, 47140 KB/s, 1 seconds passed -... 55%, 69696 KB, 47152 KB/s, 1 seconds passed -... 55%, 69728 KB, 47164 KB/s, 1 seconds passed -... 55%, 69760 KB, 47175 KB/s, 1 seconds passed -... 55%, 69792 KB, 47185 KB/s, 1 seconds passed -... 55%, 69824 KB, 47194 KB/s, 1 seconds passed -... 55%, 69856 KB, 47204 KB/s, 1 seconds passed -... 55%, 69888 KB, 47214 KB/s, 1 seconds passed -... 55%, 69920 KB, 47222 KB/s, 1 seconds passed -... 55%, 69952 KB, 47232 KB/s, 1 seconds passed -... 55%, 69984 KB, 47241 KB/s, 1 seconds passed -... 55%, 70016 KB, 47251 KB/s, 1 seconds passed -... 55%, 70048 KB, 47260 KB/s, 1 seconds passed -... 55%, 70080 KB, 47269 KB/s, 1 seconds passed -... 55%, 70112 KB, 47279 KB/s, 1 seconds passed -... 55%, 70144 KB, 47288 KB/s, 1 seconds passed -... 55%, 70176 KB, 47299 KB/s, 1 seconds passed -... 55%, 70208 KB, 47311 KB/s, 1 seconds passed -... 55%, 70240 KB, 47322 KB/s, 1 seconds passed -... 55%, 70272 KB, 47332 KB/s, 1 seconds passed -... 55%, 70304 KB, 47343 KB/s, 1 seconds passed -... 55%, 70336 KB, 47354 KB/s, 1 seconds passed -... 55%, 70368 KB, 47366 KB/s, 1 seconds passed -... 55%, 70400 KB, 47377 KB/s, 1 seconds passed -... 55%, 70432 KB, 47388 KB/s, 1 seconds passed -... 55%, 70464 KB, 47399 KB/s, 1 seconds passed -... 55%, 70496 KB, 47410 KB/s, 1 seconds passed -... 55%, 70528 KB, 47421 KB/s, 1 seconds passed -... 56%, 70560 KB, 47432 KB/s, 1 seconds passed -... 56%, 70592 KB, 47443 KB/s, 1 seconds passed -... 56%, 70624 KB, 47455 KB/s, 1 seconds passed -... 56%, 70656 KB, 47465 KB/s, 1 seconds passed -... 56%, 70688 KB, 47476 KB/s, 1 seconds passed -... 56%, 70720 KB, 47487 KB/s, 1 seconds passed -... 56%, 70752 KB, 47499 KB/s, 1 seconds passed -... 56%, 70784 KB, 47510 KB/s, 1 seconds passed -... 56%, 70816 KB, 47520 KB/s, 1 seconds passed -... 56%, 70848 KB, 47531 KB/s, 1 seconds passed -... 56%, 70880 KB, 47543 KB/s, 1 seconds passed -... 56%, 70912 KB, 47554 KB/s, 1 seconds passed -... 56%, 70944 KB, 47565 KB/s, 1 seconds passed -... 56%, 70976 KB, 47576 KB/s, 1 seconds passed -... 56%, 71008 KB, 47587 KB/s, 1 seconds passed -... 56%, 71040 KB, 47598 KB/s, 1 seconds passed -... 56%, 71072 KB, 47608 KB/s, 1 seconds passed -... 56%, 71104 KB, 47620 KB/s, 1 seconds passed -... 56%, 71136 KB, 47632 KB/s, 1 seconds passed -... 56%, 71168 KB, 47646 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 56%, 71200 KB, 47661 KB/s, 1 seconds passed -... 56%, 71232 KB, 47675 KB/s, 1 seconds passed -... 56%, 71264 KB, 47690 KB/s, 1 seconds passed -... 56%, 71296 KB, 47705 KB/s, 1 seconds passed -... 56%, 71328 KB, 47719 KB/s, 1 seconds passed -... 56%, 71360 KB, 47734 KB/s, 1 seconds passed -... 56%, 71392 KB, 47749 KB/s, 1 seconds passed -... 56%, 71424 KB, 47763 KB/s, 1 seconds passed -... 56%, 71456 KB, 47778 KB/s, 1 seconds passed -... 56%, 71488 KB, 47793 KB/s, 1 seconds passed -... 56%, 71520 KB, 47807 KB/s, 1 seconds passed -... 56%, 71552 KB, 47822 KB/s, 1 seconds passed -... 56%, 71584 KB, 47836 KB/s, 1 seconds passed -... 56%, 71616 KB, 47850 KB/s, 1 seconds passed -... 56%, 71648 KB, 47865 KB/s, 1 seconds passed -... 56%, 71680 KB, 47880 KB/s, 1 seconds passed -... 56%, 71712 KB, 47895 KB/s, 1 seconds passed -... 56%, 71744 KB, 47909 KB/s, 1 seconds passed -... 56%, 71776 KB, 47923 KB/s, 1 seconds passed -... 57%, 71808 KB, 47938 KB/s, 1 seconds passed -... 57%, 71840 KB, 47952 KB/s, 1 seconds passed -... 57%, 71872 KB, 47966 KB/s, 1 seconds passed -... 57%, 71904 KB, 47981 KB/s, 1 seconds passed -... 57%, 71936 KB, 47995 KB/s, 1 seconds passed -... 57%, 71968 KB, 48010 KB/s, 1 seconds passed -... 57%, 72000 KB, 48024 KB/s, 1 seconds passed -... 57%, 72032 KB, 48038 KB/s, 1 seconds passed -... 57%, 72064 KB, 48053 KB/s, 1 seconds passed -... 57%, 72096 KB, 48068 KB/s, 1 seconds passed -... 57%, 72128 KB, 48082 KB/s, 1 seconds passed -... 57%, 72160 KB, 48097 KB/s, 1 seconds passed -... 57%, 72192 KB, 48112 KB/s, 1 seconds passed -... 57%, 72224 KB, 48127 KB/s, 1 seconds passed -... 57%, 72256 KB, 48136 KB/s, 1 seconds passed -... 57%, 72288 KB, 48149 KB/s, 1 seconds passed -... 57%, 72320 KB, 48055 KB/s, 1 seconds passed -... 57%, 72352 KB, 48063 KB/s, 1 seconds passed -... 57%, 72384 KB, 48070 KB/s, 1 seconds passed -... 57%, 72416 KB, 48081 KB/s, 1 seconds passed -... 57%, 72448 KB, 48093 KB/s, 1 seconds passed -... 57%, 72480 KB, 48105 KB/s, 1 seconds passed -... 57%, 72512 KB, 48117 KB/s, 1 seconds passed -... 57%, 72544 KB, 48129 KB/s, 1 seconds passed -... 57%, 72576 KB, 48140 KB/s, 1 seconds passed -... 57%, 72608 KB, 48152 KB/s, 1 seconds passed -... 57%, 72640 KB, 48164 KB/s, 1 seconds passed -... 57%, 72672 KB, 48174 KB/s, 1 seconds passed -... 57%, 72704 KB, 48185 KB/s, 1 seconds passed -... 57%, 72736 KB, 48197 KB/s, 1 seconds passed -... 57%, 72768 KB, 48209 KB/s, 1 seconds passed -... 57%, 72800 KB, 48221 KB/s, 1 seconds passed -... 57%, 72832 KB, 48233 KB/s, 1 seconds passed -... 57%, 72864 KB, 48245 KB/s, 1 seconds passed -... 57%, 72896 KB, 48256 KB/s, 1 seconds passed -... 57%, 72928 KB, 48267 KB/s, 1 seconds passed -... 57%, 72960 KB, 48279 KB/s, 1 seconds passed -... 57%, 72992 KB, 48291 KB/s, 1 seconds passed -... 57%, 73024 KB, 48302 KB/s, 1 seconds passed -... 58%, 73056 KB, 48314 KB/s, 1 seconds passed -... 58%, 73088 KB, 48325 KB/s, 1 seconds passed -... 58%, 73120 KB, 48336 KB/s, 1 seconds passed -... 58%, 73152 KB, 48348 KB/s, 1 seconds passed -... 58%, 73184 KB, 48359 KB/s, 1 seconds passed -... 58%, 73216 KB, 48372 KB/s, 1 seconds passed -... 58%, 73248 KB, 48386 KB/s, 1 seconds passed -... 58%, 73280 KB, 48399 KB/s, 1 seconds passed -... 58%, 73312 KB, 48412 KB/s, 1 seconds passed -... 58%, 73344 KB, 48426 KB/s, 1 seconds passed -... 58%, 73376 KB, 48439 KB/s, 1 seconds passed -... 58%, 73408 KB, 48453 KB/s, 1 seconds passed -... 58%, 73440 KB, 48466 KB/s, 1 seconds passed -... 58%, 73472 KB, 48480 KB/s, 1 seconds passed -... 58%, 73504 KB, 48494 KB/s, 1 seconds passed -... 58%, 73536 KB, 48507 KB/s, 1 seconds passed -... 58%, 73568 KB, 48520 KB/s, 1 seconds passed -... 58%, 73600 KB, 48533 KB/s, 1 seconds passed -... 58%, 73632 KB, 48545 KB/s, 1 seconds passed -... 58%, 73664 KB, 48558 KB/s, 1 seconds passed -... 58%, 73696 KB, 48569 KB/s, 1 seconds passed -... 58%, 73728 KB, 48583 KB/s, 1 seconds passed -... 58%, 73760 KB, 48596 KB/s, 1 seconds passed -... 58%, 73792 KB, 48605 KB/s, 1 seconds passed -... 58%, 73824 KB, 48618 KB/s, 1 seconds passed -... 58%, 73856 KB, 48632 KB/s, 1 seconds passed -... 58%, 73888 KB, 48643 KB/s, 1 seconds passed -... 58%, 73920 KB, 48655 KB/s, 1 seconds passed -... 58%, 73952 KB, 48668 KB/s, 1 seconds passed -... 58%, 73984 KB, 48680 KB/s, 1 seconds passed -... 58%, 74016 KB, 48693 KB/s, 1 seconds passed -... 58%, 74048 KB, 48705 KB/s, 1 seconds passed -... 58%, 74080 KB, 48716 KB/s, 1 seconds passed -... 58%, 74112 KB, 48729 KB/s, 1 seconds passed -... 58%, 74144 KB, 48740 KB/s, 1 seconds passed -... 58%, 74176 KB, 48752 KB/s, 1 seconds passed -... 58%, 74208 KB, 48765 KB/s, 1 seconds passed -... 58%, 74240 KB, 48777 KB/s, 1 seconds passed -... 58%, 74272 KB, 48788 KB/s, 1 seconds passed -... 58%, 74304 KB, 48801 KB/s, 1 seconds passed -... 59%, 74336 KB, 48813 KB/s, 1 seconds passed -... 59%, 74368 KB, 48826 KB/s, 1 seconds passed -... 59%, 74400 KB, 48836 KB/s, 1 seconds passed -... 59%, 74432 KB, 48850 KB/s, 1 seconds passed -... 59%, 74464 KB, 48862 KB/s, 1 seconds passed -... 59%, 74496 KB, 48873 KB/s, 1 seconds passed -... 59%, 74528 KB, 48885 KB/s, 1 seconds passed -... 59%, 74560 KB, 48898 KB/s, 1 seconds passed -... 59%, 74592 KB, 48909 KB/s, 1 seconds passed -... 59%, 74624 KB, 48922 KB/s, 1 seconds passed -... 59%, 74656 KB, 48934 KB/s, 1 seconds passed -... 59%, 74688 KB, 48945 KB/s, 1 seconds passed -... 59%, 74720 KB, 48958 KB/s, 1 seconds passed -... 59%, 74752 KB, 48970 KB/s, 1 seconds passed -... 59%, 74784 KB, 48983 KB/s, 1 seconds passed -... 59%, 74816 KB, 48993 KB/s, 1 seconds passed -... 59%, 74848 KB, 49006 KB/s, 1 seconds passed -... 59%, 74880 KB, 49018 KB/s, 1 seconds passed -... 59%, 74912 KB, 49031 KB/s, 1 seconds passed -... 59%, 74944 KB, 49042 KB/s, 1 seconds passed -... 59%, 74976 KB, 49054 KB/s, 1 seconds passed -... 59%, 75008 KB, 49068 KB/s, 1 seconds passed -... 59%, 75040 KB, 49079 KB/s, 1 seconds passed -... 59%, 75072 KB, 49092 KB/s, 1 seconds passed -... 59%, 75104 KB, 49104 KB/s, 1 seconds passed -... 59%, 75136 KB, 49115 KB/s, 1 seconds passed -... 59%, 75168 KB, 49128 KB/s, 1 seconds passed -... 59%, 75200 KB, 49140 KB/s, 1 seconds passed -... 59%, 75232 KB, 49151 KB/s, 1 seconds passed -... 59%, 75264 KB, 49162 KB/s, 1 seconds passed -... 59%, 75296 KB, 49173 KB/s, 1 seconds passed -... 59%, 75328 KB, 49181 KB/s, 1 seconds passed -... 59%, 75360 KB, 49188 KB/s, 1 seconds passed -... 59%, 75392 KB, 49200 KB/s, 1 seconds passed -... 59%, 75424 KB, 49215 KB/s, 1 seconds passed -... 59%, 75456 KB, 49231 KB/s, 1 seconds passed -... 59%, 75488 KB, 49246 KB/s, 1 seconds passed -... 59%, 75520 KB, 49259 KB/s, 1 seconds passed -... 59%, 75552 KB, 49268 KB/s, 1 seconds passed -... 60%, 75584 KB, 49276 KB/s, 1 seconds passed -... 60%, 75616 KB, 49283 KB/s, 1 seconds passed -... 60%, 75648 KB, 49300 KB/s, 1 seconds passed -... 60%, 75680 KB, 49316 KB/s, 1 seconds passed -... 60%, 75712 KB, 49328 KB/s, 1 seconds passed -... 60%, 75744 KB, 49340 KB/s, 1 seconds passed -... 60%, 75776 KB, 49353 KB/s, 1 seconds passed -... 60%, 75808 KB, 49365 KB/s, 1 seconds passed -... 60%, 75840 KB, 49376 KB/s, 1 seconds passed -... 60%, 75872 KB, 49387 KB/s, 1 seconds passed -... 60%, 75904 KB, 49395 KB/s, 1 seconds passed -... 60%, 75936 KB, 49407 KB/s, 1 seconds passed -... 60%, 75968 KB, 49423 KB/s, 1 seconds passed -... 60%, 76000 KB, 49436 KB/s, 1 seconds passed -... 60%, 76032 KB, 49446 KB/s, 1 seconds passed -... 60%, 76064 KB, 49459 KB/s, 1 seconds passed -... 60%, 76096 KB, 49471 KB/s, 1 seconds passed -... 60%, 76128 KB, 49484 KB/s, 1 seconds passed -... 60%, 76160 KB, 49494 KB/s, 1 seconds passed -... 60%, 76192 KB, 49507 KB/s, 1 seconds passed -... 60%, 76224 KB, 49519 KB/s, 1 seconds passed -... 60%, 76256 KB, 49530 KB/s, 1 seconds passed -... 60%, 76288 KB, 49542 KB/s, 1 seconds passed -... 60%, 76320 KB, 49521 KB/s, 1 seconds passed -... 60%, 76352 KB, 49533 KB/s, 1 seconds passed -... 60%, 76384 KB, 49544 KB/s, 1 seconds passed -... 60%, 76416 KB, 49556 KB/s, 1 seconds passed -... 60%, 76448 KB, 49569 KB/s, 1 seconds passed -... 60%, 76480 KB, 49581 KB/s, 1 seconds passed -... 60%, 76512 KB, 49591 KB/s, 1 seconds passed -... 60%, 76544 KB, 49604 KB/s, 1 seconds passed -... 60%, 76576 KB, 49616 KB/s, 1 seconds passed -... 60%, 76608 KB, 49628 KB/s, 1 seconds passed -... 60%, 76640 KB, 49641 KB/s, 1 seconds passed -... 60%, 76672 KB, 49651 KB/s, 1 seconds passed -... 60%, 76704 KB, 49662 KB/s, 1 seconds passed -... 60%, 76736 KB, 49673 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 60%, 76768 KB, 49680 KB/s, 1 seconds passed -... 60%, 76800 KB, 48329 KB/s, 1 seconds passed -... 61%, 76832 KB, 48334 KB/s, 1 seconds passed -... 61%, 76864 KB, 48342 KB/s, 1 seconds passed -... 61%, 76896 KB, 48352 KB/s, 1 seconds passed -... 61%, 76928 KB, 48361 KB/s, 1 seconds passed -... 61%, 76960 KB, 48370 KB/s, 1 seconds passed -... 61%, 76992 KB, 48378 KB/s, 1 seconds passed -... 61%, 77024 KB, 48387 KB/s, 1 seconds passed -... 61%, 77056 KB, 48396 KB/s, 1 seconds passed -... 61%, 77088 KB, 48407 KB/s, 1 seconds passed -... 61%, 77120 KB, 48415 KB/s, 1 seconds passed -... 61%, 77152 KB, 48424 KB/s, 1 seconds passed -... 61%, 77184 KB, 48433 KB/s, 1 seconds passed -... 61%, 77216 KB, 48442 KB/s, 1 seconds passed -... 61%, 77248 KB, 48450 KB/s, 1 seconds passed -... 61%, 77280 KB, 48459 KB/s, 1 seconds passed -... 61%, 77312 KB, 48468 KB/s, 1 seconds passed -... 61%, 77344 KB, 48477 KB/s, 1 seconds passed -... 61%, 77376 KB, 48487 KB/s, 1 seconds passed -... 61%, 77408 KB, 48499 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 61%, 77440 KB, 48498 KB/s, 1 seconds passed -... 61%, 77472 KB, 48506 KB/s, 1 seconds passed -... 61%, 77504 KB, 48480 KB/s, 1 seconds passed -... 61%, 77536 KB, 48489 KB/s, 1 seconds passed -... 61%, 77568 KB, 48498 KB/s, 1 seconds passed -... 61%, 77600 KB, 48506 KB/s, 1 seconds passed -... 61%, 77632 KB, 48515 KB/s, 1 seconds passed -... 61%, 77664 KB, 48523 KB/s, 1 seconds passed -... 61%, 77696 KB, 48532 KB/s, 1 seconds passed -... 61%, 77728 KB, 48540 KB/s, 1 seconds passed -... 61%, 77760 KB, 48549 KB/s, 1 seconds passed -... 61%, 77792 KB, 48559 KB/s, 1 seconds passed -... 61%, 77824 KB, 48567 KB/s, 1 seconds passed -... 61%, 77856 KB, 48576 KB/s, 1 seconds passed -... 61%, 77888 KB, 48585 KB/s, 1 seconds passed -... 61%, 77920 KB, 48595 KB/s, 1 seconds passed -... 61%, 77952 KB, 48606 KB/s, 1 seconds passed -... 61%, 77984 KB, 48617 KB/s, 1 seconds passed -... 61%, 78016 KB, 48629 KB/s, 1 seconds passed -... 61%, 78048 KB, 48640 KB/s, 1 seconds passed -... 61%, 78080 KB, 48651 KB/s, 1 seconds passed -... 62%, 78112 KB, 48662 KB/s, 1 seconds passed -... 62%, 78144 KB, 48673 KB/s, 1 seconds passed -... 62%, 78176 KB, 48685 KB/s, 1 seconds passed -... 62%, 78208 KB, 48696 KB/s, 1 seconds passed -... 62%, 78240 KB, 48708 KB/s, 1 seconds passed -... 62%, 78272 KB, 48719 KB/s, 1 seconds passed -... 62%, 78304 KB, 48730 KB/s, 1 seconds passed -... 62%, 78336 KB, 48741 KB/s, 1 seconds passed -... 62%, 78368 KB, 48753 KB/s, 1 seconds passed -... 62%, 78400 KB, 48764 KB/s, 1 seconds passed -... 62%, 78432 KB, 48775 KB/s, 1 seconds passed -... 62%, 78464 KB, 48787 KB/s, 1 seconds passed -... 62%, 78496 KB, 48798 KB/s, 1 seconds passed -... 62%, 78528 KB, 48809 KB/s, 1 seconds passed -... 62%, 78560 KB, 48821 KB/s, 1 seconds passed -... 62%, 78592 KB, 48832 KB/s, 1 seconds passed -... 62%, 78624 KB, 48843 KB/s, 1 seconds passed -... 62%, 78656 KB, 48855 KB/s, 1 seconds passed -... 62%, 78688 KB, 48866 KB/s, 1 seconds passed -... 62%, 78720 KB, 48878 KB/s, 1 seconds passed -... 62%, 78752 KB, 48889 KB/s, 1 seconds passed -... 62%, 78784 KB, 48900 KB/s, 1 seconds passed -... 62%, 78816 KB, 48912 KB/s, 1 seconds passed -... 62%, 78848 KB, 48923 KB/s, 1 seconds passed -... 62%, 78880 KB, 48935 KB/s, 1 seconds passed -... 62%, 78912 KB, 48946 KB/s, 1 seconds passed -... 62%, 78944 KB, 48957 KB/s, 1 seconds passed -... 62%, 78976 KB, 48968 KB/s, 1 seconds passed -... 62%, 79008 KB, 48980 KB/s, 1 seconds passed -... 62%, 79040 KB, 48990 KB/s, 1 seconds passed -... 62%, 79072 KB, 49001 KB/s, 1 seconds passed -... 62%, 79104 KB, 49014 KB/s, 1 seconds passed -... 62%, 79136 KB, 49028 KB/s, 1 seconds passed -... 62%, 79168 KB, 49042 KB/s, 1 seconds passed -... 62%, 79200 KB, 49056 KB/s, 1 seconds passed -... 62%, 79232 KB, 49070 KB/s, 1 seconds passed -... 62%, 79264 KB, 49084 KB/s, 1 seconds passed -... 62%, 79296 KB, 49098 KB/s, 1 seconds passed -... 62%, 79328 KB, 49113 KB/s, 1 seconds passed -... 63%, 79360 KB, 49126 KB/s, 1 seconds passed -... 63%, 79392 KB, 49141 KB/s, 1 seconds passed -... 63%, 79424 KB, 49155 KB/s, 1 seconds passed -... 63%, 79456 KB, 49169 KB/s, 1 seconds passed -... 63%, 79488 KB, 49183 KB/s, 1 seconds passed -... 63%, 79520 KB, 49197 KB/s, 1 seconds passed -... 63%, 79552 KB, 49211 KB/s, 1 seconds passed -... 63%, 79584 KB, 49221 KB/s, 1 seconds passed -... 63%, 79616 KB, 49233 KB/s, 1 seconds passed -... 63%, 79648 KB, 49245 KB/s, 1 seconds passed -... 63%, 79680 KB, 49255 KB/s, 1 seconds passed -... 63%, 79712 KB, 49267 KB/s, 1 seconds passed -... 63%, 79744 KB, 49279 KB/s, 1 seconds passed -... 63%, 79776 KB, 49290 KB/s, 1 seconds passed -... 63%, 79808 KB, 49302 KB/s, 1 seconds passed -... 63%, 79840 KB, 49312 KB/s, 1 seconds passed -... 63%, 79872 KB, 49324 KB/s, 1 seconds passed -... 63%, 79904 KB, 49336 KB/s, 1 seconds passed -... 63%, 79936 KB, 49347 KB/s, 1 seconds passed -... 63%, 79968 KB, 49357 KB/s, 1 seconds passed -... 63%, 80000 KB, 49369 KB/s, 1 seconds passed -... 63%, 80032 KB, 49379 KB/s, 1 seconds passed -... 63%, 80064 KB, 49391 KB/s, 1 seconds passed -... 63%, 80096 KB, 49403 KB/s, 1 seconds passed -... 63%, 80128 KB, 49413 KB/s, 1 seconds passed -... 63%, 80160 KB, 49426 KB/s, 1 seconds passed -... 63%, 80192 KB, 49438 KB/s, 1 seconds passed -... 63%, 80224 KB, 49448 KB/s, 1 seconds passed -... 63%, 80256 KB, 49458 KB/s, 1 seconds passed -... 63%, 80288 KB, 49470 KB/s, 1 seconds passed -... 63%, 80320 KB, 49481 KB/s, 1 seconds passed -... 63%, 80352 KB, 49493 KB/s, 1 seconds passed -... 63%, 80384 KB, 49503 KB/s, 1 seconds passed -... 63%, 80416 KB, 49515 KB/s, 1 seconds passed -... 63%, 80448 KB, 49527 KB/s, 1 seconds passed -... 63%, 80480 KB, 49537 KB/s, 1 seconds passed -... 63%, 80512 KB, 49548 KB/s, 1 seconds passed -... 63%, 80544 KB, 49558 KB/s, 1 seconds passed -... 63%, 80576 KB, 49570 KB/s, 1 seconds passed -... 63%, 80608 KB, 49582 KB/s, 1 seconds passed -... 64%, 80640 KB, 49594 KB/s, 1 seconds passed -... 64%, 80672 KB, 49605 KB/s, 1 seconds passed -... 64%, 80704 KB, 49615 KB/s, 1 seconds passed -... 64%, 80736 KB, 49619 KB/s, 1 seconds passed -... 64%, 80768 KB, 49622 KB/s, 1 seconds passed -... 64%, 80800 KB, 49629 KB/s, 1 seconds passed -... 64%, 80832 KB, 49641 KB/s, 1 seconds passed -... 64%, 80864 KB, 49656 KB/s, 1 seconds passed -... 64%, 80896 KB, 49668 KB/s, 1 seconds passed -... 64%, 80928 KB, 49678 KB/s, 1 seconds passed -... 64%, 80960 KB, 49688 KB/s, 1 seconds passed -... 64%, 80992 KB, 49700 KB/s, 1 seconds passed -... 64%, 81024 KB, 49712 KB/s, 1 seconds passed -... 64%, 81056 KB, 49722 KB/s, 1 seconds passed -... 64%, 81088 KB, 49538 KB/s, 1 seconds passed -... 64%, 81120 KB, 49545 KB/s, 1 seconds passed -... 64%, 81152 KB, 49554 KB/s, 1 seconds passed -... 64%, 81184 KB, 49563 KB/s, 1 seconds passed -... 64%, 81216 KB, 49571 KB/s, 1 seconds passed -... 64%, 81248 KB, 49580 KB/s, 1 seconds passed -... 64%, 81280 KB, 49588 KB/s, 1 seconds passed -... 64%, 81312 KB, 49597 KB/s, 1 seconds passed -... 64%, 81344 KB, 49606 KB/s, 1 seconds passed -... 64%, 81376 KB, 49616 KB/s, 1 seconds passed -... 64%, 81408 KB, 49626 KB/s, 1 seconds passed -... 64%, 81440 KB, 49613 KB/s, 1 seconds passed -... 64%, 81472 KB, 49620 KB/s, 1 seconds passed -... 64%, 81504 KB, 49627 KB/s, 1 seconds passed -... 64%, 81536 KB, 49635 KB/s, 1 seconds passed -... 64%, 81568 KB, 49644 KB/s, 1 seconds passed -... 64%, 81600 KB, 49652 KB/s, 1 seconds passed -... 64%, 81632 KB, 49661 KB/s, 1 seconds passed -... 64%, 81664 KB, 49669 KB/s, 1 seconds passed -... 64%, 81696 KB, 49678 KB/s, 1 seconds passed -... 64%, 81728 KB, 49686 KB/s, 1 seconds passed -... 64%, 81760 KB, 49694 KB/s, 1 seconds passed -... 64%, 81792 KB, 49703 KB/s, 1 seconds passed -... 64%, 81824 KB, 49713 KB/s, 1 seconds passed -... 64%, 81856 KB, 49724 KB/s, 1 seconds passed -... 65%, 81888 KB, 49734 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 65%, 81920 KB, 48373 KB/s, 1 seconds passed -... 65%, 81952 KB, 48377 KB/s, 1 seconds passed -... 65%, 81984 KB, 48384 KB/s, 1 seconds passed -... 65%, 82016 KB, 48392 KB/s, 1 seconds passed -... 65%, 82048 KB, 48399 KB/s, 1 seconds passed -... 65%, 82080 KB, 48409 KB/s, 1 seconds passed -... 65%, 82112 KB, 48419 KB/s, 1 seconds passed -... 65%, 82144 KB, 48427 KB/s, 1 seconds passed -... 65%, 82176 KB, 48435 KB/s, 1 seconds passed -... 65%, 82208 KB, 48442 KB/s, 1 seconds passed -... 65%, 82240 KB, 48450 KB/s, 1 seconds passed -... 65%, 82272 KB, 48458 KB/s, 1 seconds passed -... 65%, 82304 KB, 48466 KB/s, 1 seconds passed -... 65%, 82336 KB, 48474 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 65%, 82368 KB, 48482 KB/s, 1 seconds passed -... 65%, 82400 KB, 48490 KB/s, 1 seconds passed -... 65%, 82432 KB, 48497 KB/s, 1 seconds passed -... 65%, 82464 KB, 48505 KB/s, 1 seconds passed -... 65%, 82496 KB, 48511 KB/s, 1 seconds passed -... 65%, 82528 KB, 48513 KB/s, 1 seconds passed -... 65%, 82560 KB, 48515 KB/s, 1 seconds passed -... 65%, 82592 KB, 48517 KB/s, 1 seconds passed -... 65%, 82624 KB, 48520 KB/s, 1 seconds passed -... 65%, 82656 KB, 48521 KB/s, 1 seconds passed -... 65%, 82688 KB, 48523 KB/s, 1 seconds passed -... 65%, 82720 KB, 48524 KB/s, 1 seconds passed -... 65%, 82752 KB, 48531 KB/s, 1 seconds passed -... 65%, 82784 KB, 48542 KB/s, 1 seconds passed -... 65%, 82816 KB, 48553 KB/s, 1 seconds passed -... 65%, 82848 KB, 48564 KB/s, 1 seconds passed -... 65%, 82880 KB, 48576 KB/s, 1 seconds passed -... 65%, 82912 KB, 48587 KB/s, 1 seconds passed -... 65%, 82944 KB, 48599 KB/s, 1 seconds passed -... 65%, 82976 KB, 48611 KB/s, 1 seconds passed -... 65%, 83008 KB, 48622 KB/s, 1 seconds passed -... 65%, 83040 KB, 48633 KB/s, 1 seconds passed -... 65%, 83072 KB, 48645 KB/s, 1 seconds passed -... 65%, 83104 KB, 48657 KB/s, 1 seconds passed -... 66%, 83136 KB, 48669 KB/s, 1 seconds passed -... 66%, 83168 KB, 48680 KB/s, 1 seconds passed -... 66%, 83200 KB, 48691 KB/s, 1 seconds passed -... 66%, 83232 KB, 48703 KB/s, 1 seconds passed -... 66%, 83264 KB, 48715 KB/s, 1 seconds passed -... 66%, 83296 KB, 48727 KB/s, 1 seconds passed -... 66%, 83328 KB, 48738 KB/s, 1 seconds passed -... 66%, 83360 KB, 48750 KB/s, 1 seconds passed -... 66%, 83392 KB, 48762 KB/s, 1 seconds passed -... 66%, 83424 KB, 48774 KB/s, 1 seconds passed -... 66%, 83456 KB, 48785 KB/s, 1 seconds passed -... 66%, 83488 KB, 48797 KB/s, 1 seconds passed -... 66%, 83520 KB, 48809 KB/s, 1 seconds passed -... 66%, 83552 KB, 48820 KB/s, 1 seconds passed -... 66%, 83584 KB, 48832 KB/s, 1 seconds passed -... 66%, 83616 KB, 48844 KB/s, 1 seconds passed -... 66%, 83648 KB, 48855 KB/s, 1 seconds passed -... 66%, 83680 KB, 48867 KB/s, 1 seconds passed -... 66%, 83712 KB, 48878 KB/s, 1 seconds passed -... 66%, 83744 KB, 48889 KB/s, 1 seconds passed -... 66%, 83776 KB, 48901 KB/s, 1 seconds passed -... 66%, 83808 KB, 48912 KB/s, 1 seconds passed -... 66%, 83840 KB, 48924 KB/s, 1 seconds passed -... 66%, 83872 KB, 48936 KB/s, 1 seconds passed -... 66%, 83904 KB, 48948 KB/s, 1 seconds passed -... 66%, 83936 KB, 48959 KB/s, 1 seconds passed -... 66%, 83968 KB, 48971 KB/s, 1 seconds passed -... 66%, 84000 KB, 48983 KB/s, 1 seconds passed -... 66%, 84032 KB, 48997 KB/s, 1 seconds passed -... 66%, 84064 KB, 49010 KB/s, 1 seconds passed -... 66%, 84096 KB, 49024 KB/s, 1 seconds passed -... 66%, 84128 KB, 49038 KB/s, 1 seconds passed -... 66%, 84160 KB, 49052 KB/s, 1 seconds passed -... 66%, 84192 KB, 49066 KB/s, 1 seconds passed -... 66%, 84224 KB, 49080 KB/s, 1 seconds passed -... 66%, 84256 KB, 49094 KB/s, 1 seconds passed -... 66%, 84288 KB, 49108 KB/s, 1 seconds passed -... 66%, 84320 KB, 49121 KB/s, 1 seconds passed -... 66%, 84352 KB, 49134 KB/s, 1 seconds passed -... 66%, 84384 KB, 49148 KB/s, 1 seconds passed -... 67%, 84416 KB, 49161 KB/s, 1 seconds passed -... 67%, 84448 KB, 49175 KB/s, 1 seconds passed -... 67%, 84480 KB, 49189 KB/s, 1 seconds passed -... 67%, 84512 KB, 49203 KB/s, 1 seconds passed -... 67%, 84544 KB, 49217 KB/s, 1 seconds passed -... 67%, 84576 KB, 49231 KB/s, 1 seconds passed -... 67%, 84608 KB, 49245 KB/s, 1 seconds passed -... 67%, 84640 KB, 49259 KB/s, 1 seconds passed -... 67%, 84672 KB, 49272 KB/s, 1 seconds passed -... 67%, 84704 KB, 49286 KB/s, 1 seconds passed -... 67%, 84736 KB, 49299 KB/s, 1 seconds passed -... 67%, 84768 KB, 49310 KB/s, 1 seconds passed -... 67%, 84800 KB, 49321 KB/s, 1 seconds passed -... 67%, 84832 KB, 49332 KB/s, 1 seconds passed -... 67%, 84864 KB, 49343 KB/s, 1 seconds passed -... 67%, 84896 KB, 49354 KB/s, 1 seconds passed -... 67%, 84928 KB, 49364 KB/s, 1 seconds passed -... 67%, 84960 KB, 49375 KB/s, 1 seconds passed -... 67%, 84992 KB, 49381 KB/s, 1 seconds passed -... 67%, 85024 KB, 49391 KB/s, 1 seconds passed -... 67%, 85056 KB, 49398 KB/s, 1 seconds passed -... 67%, 85088 KB, 49405 KB/s, 1 seconds passed -... 67%, 85120 KB, 49418 KB/s, 1 seconds passed -... 67%, 85152 KB, 49432 KB/s, 1 seconds passed -... 67%, 85184 KB, 49446 KB/s, 1 seconds passed -... 67%, 85216 KB, 49455 KB/s, 1 seconds passed -... 67%, 85248 KB, 49466 KB/s, 1 seconds passed -... 67%, 85280 KB, 49477 KB/s, 1 seconds passed -... 67%, 85312 KB, 49488 KB/s, 1 seconds passed -... 67%, 85344 KB, 49499 KB/s, 1 seconds passed -... 67%, 85376 KB, 49510 KB/s, 1 seconds passed -... 67%, 85408 KB, 49519 KB/s, 1 seconds passed -... 67%, 85440 KB, 49530 KB/s, 1 seconds passed -... 67%, 85472 KB, 49542 KB/s, 1 seconds passed -... 67%, 85504 KB, 49551 KB/s, 1 seconds passed -... 67%, 85536 KB, 49557 KB/s, 1 seconds passed -... 67%, 85568 KB, 49566 KB/s, 1 seconds passed -... 67%, 85600 KB, 49581 KB/s, 1 seconds passed -... 67%, 85632 KB, 49593 KB/s, 1 seconds passed -... 68%, 85664 KB, 49602 KB/s, 1 seconds passed -... 68%, 85696 KB, 49609 KB/s, 1 seconds passed -... 68%, 85728 KB, 49624 KB/s, 1 seconds passed -... 68%, 85760 KB, 49635 KB/s, 1 seconds passed -... 68%, 85792 KB, 49645 KB/s, 1 seconds passed -... 68%, 85824 KB, 49657 KB/s, 1 seconds passed -... 68%, 85856 KB, 49597 KB/s, 1 seconds passed -... 68%, 85888 KB, 49607 KB/s, 1 seconds passed -... 68%, 85920 KB, 49620 KB/s, 1 seconds passed -... 68%, 85952 KB, 49625 KB/s, 1 seconds passed -... 68%, 85984 KB, 49633 KB/s, 1 seconds passed -... 68%, 86016 KB, 49648 KB/s, 1 seconds passed -... 68%, 86048 KB, 49662 KB/s, 1 seconds passed -... 68%, 86080 KB, 49667 KB/s, 1 seconds passed -... 68%, 86112 KB, 49673 KB/s, 1 seconds passed -... 68%, 86144 KB, 49680 KB/s, 1 seconds passed -... 68%, 86176 KB, 49687 KB/s, 1 seconds passed -... 68%, 86208 KB, 49702 KB/s, 1 seconds passed -... 68%, 86240 KB, 49717 KB/s, 1 seconds passed -... 68%, 86272 KB, 49732 KB/s, 1 seconds passed -... 68%, 86304 KB, 49745 KB/s, 1 seconds passed -... 68%, 86336 KB, 49756 KB/s, 1 seconds passed -... 68%, 86368 KB, 49761 KB/s, 1 seconds passed -... 68%, 86400 KB, 49768 KB/s, 1 seconds passed -... 68%, 86432 KB, 49777 KB/s, 1 seconds passed -... 68%, 86464 KB, 49792 KB/s, 1 seconds passed -... 68%, 86496 KB, 49804 KB/s, 1 seconds passed -... 68%, 86528 KB, 49817 KB/s, 1 seconds passed -... 68%, 86560 KB, 49829 KB/s, 1 seconds passed -... 68%, 86592 KB, 49840 KB/s, 1 seconds passed -... 68%, 86624 KB, 49849 KB/s, 1 seconds passed -... 68%, 86656 KB, 49860 KB/s, 1 seconds passed -... 68%, 86688 KB, 49866 KB/s, 1 seconds passed -... 68%, 86720 KB, 49872 KB/s, 1 seconds passed -... 68%, 86752 KB, 49879 KB/s, 1 seconds passed -... 68%, 86784 KB, 49894 KB/s, 1 seconds passed -... 68%, 86816 KB, 49909 KB/s, 1 seconds passed -... 68%, 86848 KB, 49920 KB/s, 1 seconds passed -... 68%, 86880 KB, 49931 KB/s, 1 seconds passed -... 69%, 86912 KB, 49942 KB/s, 1 seconds passed -... 69%, 86944 KB, 49953 KB/s, 1 seconds passed -... 69%, 86976 KB, 49962 KB/s, 1 seconds passed -... 69%, 87008 KB, 49973 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 69%, 87040 KB, 48980 KB/s, 1 seconds passed -... 69%, 87072 KB, 48984 KB/s, 1 seconds passed -... 69%, 87104 KB, 48990 KB/s, 1 seconds passed -... 69%, 87136 KB, 48998 KB/s, 1 seconds passed -... 69%, 87168 KB, 49006 KB/s, 1 seconds passed -... 69%, 87200 KB, 49015 KB/s, 1 seconds passed -... 69%, 87232 KB, 49023 KB/s, 1 seconds passed -... 69%, 87264 KB, 49030 KB/s, 1 seconds passed -... 69%, 87296 KB, 49038 KB/s, 1 seconds passed -... 69%, 87328 KB, 49045 KB/s, 1 seconds passed -... 69%, 87360 KB, 49052 KB/s, 1 seconds passed -... 69%, 87392 KB, 49060 KB/s, 1 seconds passed -... 69%, 87424 KB, 49067 KB/s, 1 seconds passed -... 69%, 87456 KB, 49075 KB/s, 1 seconds passed -... 69%, 87488 KB, 49082 KB/s, 1 seconds passed -... 69%, 87520 KB, 49090 KB/s, 1 seconds passed -... 69%, 87552 KB, 49098 KB/s, 1 seconds passed -... 69%, 87584 KB, 49106 KB/s, 1 seconds passed -... 69%, 87616 KB, 49113 KB/s, 1 seconds passed -... 69%, 87648 KB, 49121 KB/s, 1 seconds passed -... 69%, 87680 KB, 49128 KB/s, 1 seconds passed -... 69%, 87712 KB, 49135 KB/s, 1 seconds passed -... 69%, 87744 KB, 49143 KB/s, 1 seconds passed -... 69%, 87776 KB, 49150 KB/s, 1 seconds passed -... 69%, 87808 KB, 49159 KB/s, 1 seconds passed -... 69%, 87840 KB, 49168 KB/s, 1 seconds passed -... 69%, 87872 KB, 49177 KB/s, 1 seconds passed -... 69%, 87904 KB, 49186 KB/s, 1 seconds passed -... 69%, 87936 KB, 49195 KB/s, 1 seconds passed -... 69%, 87968 KB, 49204 KB/s, 1 seconds passed -... 69%, 88000 KB, 49214 KB/s, 1 seconds passed -... 69%, 88032 KB, 49223 KB/s, 1 seconds passed -... 69%, 88064 KB, 49231 KB/s, 1 seconds passed -... 69%, 88096 KB, 49240 KB/s, 1 seconds passed -... 69%, 88128 KB, 49248 KB/s, 1 seconds passed -... 69%, 88160 KB, 49257 KB/s, 1 seconds passed -... 70%, 88192 KB, 49266 KB/s, 1 seconds passed -... 70%, 88224 KB, 49275 KB/s, 1 seconds passed -... 70%, 88256 KB, 49284 KB/s, 1 seconds passed -... 70%, 88288 KB, 49293 KB/s, 1 seconds passed -... 70%, 88320 KB, 49302 KB/s, 1 seconds passed -... 70%, 88352 KB, 49311 KB/s, 1 seconds passed -... 70%, 88384 KB, 49320 KB/s, 1 seconds passed -... 70%, 88416 KB, 49329 KB/s, 1 seconds passed -... 70%, 88448 KB, 49337 KB/s, 1 seconds passed -... 70%, 88480 KB, 49346 KB/s, 1 seconds passed -... 70%, 88512 KB, 49355 KB/s, 1 seconds passed -... 70%, 88544 KB, 49364 KB/s, 1 seconds passed -... 70%, 88576 KB, 49373 KB/s, 1 seconds passed -... 70%, 88608 KB, 49382 KB/s, 1 seconds passed -... 70%, 88640 KB, 49391 KB/s, 1 seconds passed -... 70%, 88672 KB, 49400 KB/s, 1 seconds passed -... 70%, 88704 KB, 49409 KB/s, 1 seconds passed -... 70%, 88736 KB, 49417 KB/s, 1 seconds passed -... 70%, 88768 KB, 49428 KB/s, 1 seconds passed -... 70%, 88800 KB, 49440 KB/s, 1 seconds passed -... 70%, 88832 KB, 49452 KB/s, 1 seconds passed -... 70%, 88864 KB, 49464 KB/s, 1 seconds passed -... 70%, 88896 KB, 49476 KB/s, 1 seconds passed -... 70%, 88928 KB, 49488 KB/s, 1 seconds passed -... 70%, 88960 KB, 49500 KB/s, 1 seconds passed -... 70%, 88992 KB, 49512 KB/s, 1 seconds passed -... 70%, 89024 KB, 49524 KB/s, 1 seconds passed -... 70%, 89056 KB, 49536 KB/s, 1 seconds passed -... 70%, 89088 KB, 49548 KB/s, 1 seconds passed -... 70%, 89120 KB, 49560 KB/s, 1 seconds passed -... 70%, 89152 KB, 49572 KB/s, 1 seconds passed -... 70%, 89184 KB, 49584 KB/s, 1 seconds passed -... 70%, 89216 KB, 49596 KB/s, 1 seconds passed -... 70%, 89248 KB, 49607 KB/s, 1 seconds passed -... 70%, 89280 KB, 49619 KB/s, 1 seconds passed -... 70%, 89312 KB, 49631 KB/s, 1 seconds passed -... 70%, 89344 KB, 49643 KB/s, 1 seconds passed -... 70%, 89376 KB, 49654 KB/s, 1 seconds passed -... 70%, 89408 KB, 49666 KB/s, 1 seconds passed -... 71%, 89440 KB, 49678 KB/s, 1 seconds passed -... 71%, 89472 KB, 49690 KB/s, 1 seconds passed -... 71%, 89504 KB, 49702 KB/s, 1 seconds passed -... 71%, 89536 KB, 49714 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 71%, 89568 KB, 49726 KB/s, 1 seconds passed -... 71%, 89600 KB, 49738 KB/s, 1 seconds passed -... 71%, 89632 KB, 49750 KB/s, 1 seconds passed -... 71%, 89664 KB, 49761 KB/s, 1 seconds passed -... 71%, 89696 KB, 49773 KB/s, 1 seconds passed -... 71%, 89728 KB, 49785 KB/s, 1 seconds passed -... 71%, 89760 KB, 49797 KB/s, 1 seconds passed -... 71%, 89792 KB, 49809 KB/s, 1 seconds passed -... 71%, 89824 KB, 49818 KB/s, 1 seconds passed -... 71%, 89856 KB, 49827 KB/s, 1 seconds passed -... 71%, 89888 KB, 49835 KB/s, 1 seconds passed -... 71%, 89920 KB, 49843 KB/s, 1 seconds passed -... 71%, 89952 KB, 49851 KB/s, 1 seconds passed -... 71%, 89984 KB, 49858 KB/s, 1 seconds passed -... 71%, 90016 KB, 49866 KB/s, 1 seconds passed -... 71%, 90048 KB, 49875 KB/s, 1 seconds passed -... 71%, 90080 KB, 49886 KB/s, 1 seconds passed -... 71%, 90112 KB, 49898 KB/s, 1 seconds passed -... 71%, 90144 KB, 49912 KB/s, 1 seconds passed -... 71%, 90176 KB, 49925 KB/s, 1 seconds passed -... 71%, 90208 KB, 49939 KB/s, 1 seconds passed -... 71%, 90240 KB, 49952 KB/s, 1 seconds passed -... 71%, 90272 KB, 49966 KB/s, 1 seconds passed -... 71%, 90304 KB, 49980 KB/s, 1 seconds passed -... 71%, 90336 KB, 49993 KB/s, 1 seconds passed -... 71%, 90368 KB, 50007 KB/s, 1 seconds passed -... 71%, 90400 KB, 50021 KB/s, 1 seconds passed -... 71%, 90432 KB, 50034 KB/s, 1 seconds passed -... 71%, 90464 KB, 50048 KB/s, 1 seconds passed -... 71%, 90496 KB, 50060 KB/s, 1 seconds passed -... 71%, 90528 KB, 50071 KB/s, 1 seconds passed -... 71%, 90560 KB, 50081 KB/s, 1 seconds passed -... 71%, 90592 KB, 50089 KB/s, 1 seconds passed -... 71%, 90624 KB, 50096 KB/s, 1 seconds passed -... 71%, 90656 KB, 50102 KB/s, 1 seconds passed -... 72%, 90688 KB, 50116 KB/s, 1 seconds passed -... 72%, 90720 KB, 50130 KB/s, 1 seconds passed -... 72%, 90752 KB, 50141 KB/s, 1 seconds passed -... 72%, 90784 KB, 50151 KB/s, 1 seconds passed -... 72%, 90816 KB, 50161 KB/s, 1 seconds passed -... 72%, 90848 KB, 50169 KB/s, 1 seconds passed -... 72%, 90880 KB, 50179 KB/s, 1 seconds passed -... 72%, 90912 KB, 50190 KB/s, 1 seconds passed -... 72%, 90944 KB, 50200 KB/s, 1 seconds passed -... 72%, 90976 KB, 49974 KB/s, 1 seconds passed -... 72%, 91008 KB, 49980 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 72%, 91040 KB, 49009 KB/s, 1 seconds passed -... 72%, 91072 KB, 49014 KB/s, 1 seconds passed -... 72%, 91104 KB, 49020 KB/s, 1 seconds passed -... 72%, 91136 KB, 49027 KB/s, 1 seconds passed -... 72%, 91168 KB, 49034 KB/s, 1 seconds passed -... 72%, 91200 KB, 49042 KB/s, 1 seconds passed -... 72%, 91232 KB, 49049 KB/s, 1 seconds passed -... 72%, 91264 KB, 49055 KB/s, 1 seconds passed -... 72%, 91296 KB, 49062 KB/s, 1 seconds passed -... 72%, 91328 KB, 49069 KB/s, 1 seconds passed -... 72%, 91360 KB, 49076 KB/s, 1 seconds passed -... 72%, 91392 KB, 49082 KB/s, 1 seconds passed -... 72%, 91424 KB, 49090 KB/s, 1 seconds passed -... 72%, 91456 KB, 49097 KB/s, 1 seconds passed -... 72%, 91488 KB, 49104 KB/s, 1 seconds passed -... 72%, 91520 KB, 49112 KB/s, 1 seconds passed -... 72%, 91552 KB, 49119 KB/s, 1 seconds passed -... 72%, 91584 KB, 49126 KB/s, 1 seconds passed -... 72%, 91616 KB, 49133 KB/s, 1 seconds passed -... 72%, 91648 KB, 49139 KB/s, 1 seconds passed -... 72%, 91680 KB, 49147 KB/s, 1 seconds passed -... 72%, 91712 KB, 49153 KB/s, 1 seconds passed -... 72%, 91744 KB, 49162 KB/s, 1 seconds passed -... 72%, 91776 KB, 49170 KB/s, 1 seconds passed -... 72%, 91808 KB, 49179 KB/s, 1 seconds passed -... 72%, 91840 KB, 49188 KB/s, 1 seconds passed -... 72%, 91872 KB, 49197 KB/s, 1 seconds passed -... 72%, 91904 KB, 49208 KB/s, 1 seconds passed -... 72%, 91936 KB, 49218 KB/s, 1 seconds passed -... 73%, 91968 KB, 49229 KB/s, 1 seconds passed -... 73%, 92000 KB, 49239 KB/s, 1 seconds passed -... 73%, 92032 KB, 49249 KB/s, 1 seconds passed -... 73%, 92064 KB, 49260 KB/s, 1 seconds passed -... 73%, 92096 KB, 49270 KB/s, 1 seconds passed -... 73%, 92128 KB, 49281 KB/s, 1 seconds passed -... 73%, 92160 KB, 48826 KB/s, 1 seconds passed -... 73%, 92192 KB, 48830 KB/s, 1 seconds passed -... 73%, 92224 KB, 48836 KB/s, 1 seconds passed -... 73%, 92256 KB, 48842 KB/s, 1 seconds passed -... 73%, 92288 KB, 48849 KB/s, 1 seconds passed -... 73%, 92320 KB, 48856 KB/s, 1 seconds passed -... 73%, 92352 KB, 48863 KB/s, 1 seconds passed -... 73%, 92384 KB, 48870 KB/s, 1 seconds passed -... 73%, 92416 KB, 48876 KB/s, 1 seconds passed -... 73%, 92448 KB, 48883 KB/s, 1 seconds passed -... 73%, 92480 KB, 48890 KB/s, 1 seconds passed -... 73%, 92512 KB, 48897 KB/s, 1 seconds passed -... 73%, 92544 KB, 48904 KB/s, 1 seconds passed -... 73%, 92576 KB, 48911 KB/s, 1 seconds passed -... 73%, 92608 KB, 48920 KB/s, 1 seconds passed -... 73%, 92640 KB, 48929 KB/s, 1 seconds passed -... 73%, 92672 KB, 48938 KB/s, 1 seconds passed -... 73%, 92704 KB, 48947 KB/s, 1 seconds passed -... 73%, 92736 KB, 48956 KB/s, 1 seconds passed -... 73%, 92768 KB, 48957 KB/s, 1 seconds passed -... 73%, 92800 KB, 48964 KB/s, 1 seconds passed -... 73%, 92832 KB, 48971 KB/s, 1 seconds passed -... 73%, 92864 KB, 48978 KB/s, 1 seconds passed -... 73%, 92896 KB, 48985 KB/s, 1 seconds passed -... 73%, 92928 KB, 48991 KB/s, 1 seconds passed -... 73%, 92960 KB, 48998 KB/s, 1 seconds passed -... 73%, 92992 KB, 49006 KB/s, 1 seconds passed -... 73%, 93024 KB, 49015 KB/s, 1 seconds passed -... 73%, 93056 KB, 49024 KB/s, 1 seconds passed -... 73%, 93088 KB, 49033 KB/s, 1 seconds passed -... 73%, 93120 KB, 49042 KB/s, 1 seconds passed -... 73%, 93152 KB, 49051 KB/s, 1 seconds passed -... 73%, 93184 KB, 49060 KB/s, 1 seconds passed -... 74%, 93216 KB, 49069 KB/s, 1 seconds passed -... 74%, 93248 KB, 49078 KB/s, 1 seconds passed -... 74%, 93280 KB, 49087 KB/s, 1 seconds passed -... 74%, 93312 KB, 49095 KB/s, 1 seconds passed -... 74%, 93344 KB, 49104 KB/s, 1 seconds passed -... 74%, 93376 KB, 49113 KB/s, 1 seconds passed -... 74%, 93408 KB, 49121 KB/s, 1 seconds passed -... 74%, 93440 KB, 49130 KB/s, 1 seconds passed -... 74%, 93472 KB, 49139 KB/s, 1 seconds passed -... 74%, 93504 KB, 49148 KB/s, 1 seconds passed -... 74%, 93536 KB, 49157 KB/s, 1 seconds passed -... 74%, 93568 KB, 49166 KB/s, 1 seconds passed -... 74%, 93600 KB, 49175 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 74%, 93632 KB, 49184 KB/s, 1 seconds passed -... 74%, 93664 KB, 49193 KB/s, 1 seconds passed -... 74%, 93696 KB, 49202 KB/s, 1 seconds passed -... 74%, 93728 KB, 49210 KB/s, 1 seconds passed -... 74%, 93760 KB, 49219 KB/s, 1 seconds passed -... 74%, 93792 KB, 49227 KB/s, 1 seconds passed -... 74%, 93824 KB, 49232 KB/s, 1 seconds passed -... 74%, 93856 KB, 49237 KB/s, 1 seconds passed -... 74%, 93888 KB, 49241 KB/s, 1 seconds passed -... 74%, 93920 KB, 49245 KB/s, 1 seconds passed -... 74%, 93952 KB, 49252 KB/s, 1 seconds passed -... 74%, 93984 KB, 49260 KB/s, 1 seconds passed -... 74%, 94016 KB, 49267 KB/s, 1 seconds passed -... 74%, 94048 KB, 49277 KB/s, 1 seconds passed -... 74%, 94080 KB, 49288 KB/s, 1 seconds passed -... 74%, 94112 KB, 49299 KB/s, 1 seconds passed -... 74%, 94144 KB, 49310 KB/s, 1 seconds passed -... 74%, 94176 KB, 49321 KB/s, 1 seconds passed -... 74%, 94208 KB, 49332 KB/s, 1 seconds passed -... 74%, 94240 KB, 49344 KB/s, 1 seconds passed -... 74%, 94272 KB, 49355 KB/s, 1 seconds passed -... 74%, 94304 KB, 49367 KB/s, 1 seconds passed -... 74%, 94336 KB, 49378 KB/s, 1 seconds passed -... 74%, 94368 KB, 49389 KB/s, 1 seconds passed -... 74%, 94400 KB, 49400 KB/s, 1 seconds passed -... 74%, 94432 KB, 49411 KB/s, 1 seconds passed -... 74%, 94464 KB, 49422 KB/s, 1 seconds passed -... 75%, 94496 KB, 49434 KB/s, 1 seconds passed -... 75%, 94528 KB, 49445 KB/s, 1 seconds passed -... 75%, 94560 KB, 49457 KB/s, 1 seconds passed -... 75%, 94592 KB, 49468 KB/s, 1 seconds passed -... 75%, 94624 KB, 49480 KB/s, 1 seconds passed -... 75%, 94656 KB, 49491 KB/s, 1 seconds passed -... 75%, 94688 KB, 49502 KB/s, 1 seconds passed -... 75%, 94720 KB, 49514 KB/s, 1 seconds passed -... 75%, 94752 KB, 49526 KB/s, 1 seconds passed -... 75%, 94784 KB, 49537 KB/s, 1 seconds passed -... 75%, 94816 KB, 49548 KB/s, 1 seconds passed -... 75%, 94848 KB, 49560 KB/s, 1 seconds passed -... 75%, 94880 KB, 49571 KB/s, 1 seconds passed -... 75%, 94912 KB, 49583 KB/s, 1 seconds passed -... 75%, 94944 KB, 49594 KB/s, 1 seconds passed -... 75%, 94976 KB, 49606 KB/s, 1 seconds passed -... 75%, 95008 KB, 49617 KB/s, 1 seconds passed -... 75%, 95040 KB, 49628 KB/s, 1 seconds passed -... 75%, 95072 KB, 49639 KB/s, 1 seconds passed -... 75%, 95104 KB, 49651 KB/s, 1 seconds passed -... 75%, 95136 KB, 49662 KB/s, 1 seconds passed -... 75%, 95168 KB, 49674 KB/s, 1 seconds passed -... 75%, 95200 KB, 49685 KB/s, 1 seconds passed -... 75%, 95232 KB, 49697 KB/s, 1 seconds passed -... 75%, 95264 KB, 49708 KB/s, 1 seconds passed -... 75%, 95296 KB, 49717 KB/s, 1 seconds passed -... 75%, 95328 KB, 49726 KB/s, 1 seconds passed -... 75%, 95360 KB, 49736 KB/s, 1 seconds passed -... 75%, 95392 KB, 49746 KB/s, 1 seconds passed -... 75%, 95424 KB, 49756 KB/s, 1 seconds passed -... 75%, 95456 KB, 49764 KB/s, 1 seconds passed -... 75%, 95488 KB, 49774 KB/s, 1 seconds passed -... 75%, 95520 KB, 49783 KB/s, 1 seconds passed -... 75%, 95552 KB, 49793 KB/s, 1 seconds passed -... 75%, 95584 KB, 49800 KB/s, 1 seconds passed -... 75%, 95616 KB, 49808 KB/s, 1 seconds passed -... 75%, 95648 KB, 49817 KB/s, 1 seconds passed -... 75%, 95680 KB, 49823 KB/s, 1 seconds passed -... 75%, 95712 KB, 49828 KB/s, 1 seconds passed -... 76%, 95744 KB, 49835 KB/s, 1 seconds passed -... 76%, 95776 KB, 49846 KB/s, 1 seconds passed -... 76%, 95808 KB, 49859 KB/s, 1 seconds passed -... 76%, 95840 KB, 49872 KB/s, 1 seconds passed -... 76%, 95872 KB, 49885 KB/s, 1 seconds passed -... 76%, 95904 KB, 49893 KB/s, 1 seconds passed -... 76%, 95936 KB, 49903 KB/s, 1 seconds passed -... 76%, 95968 KB, 49913 KB/s, 1 seconds passed -... 76%, 96000 KB, 49923 KB/s, 1 seconds passed -... 76%, 96032 KB, 49931 KB/s, 1 seconds passed -... 76%, 96064 KB, 49941 KB/s, 1 seconds passed -... 76%, 96096 KB, 49952 KB/s, 1 seconds passed -... 76%, 96128 KB, 49939 KB/s, 1 seconds passed -... 76%, 96160 KB, 49950 KB/s, 1 seconds passed -... 76%, 96192 KB, 49960 KB/s, 1 seconds passed -... 76%, 96224 KB, 49970 KB/s, 1 seconds passed -... 76%, 96256 KB, 49980 KB/s, 1 seconds passed -... 76%, 96288 KB, 49988 KB/s, 1 seconds passed -... 76%, 96320 KB, 49996 KB/s, 1 seconds passed -... 76%, 96352 KB, 50006 KB/s, 1 seconds passed -... 76%, 96384 KB, 50015 KB/s, 1 seconds passed -... 76%, 96416 KB, 50025 KB/s, 1 seconds passed -... 76%, 96448 KB, 50034 KB/s, 1 seconds passed -... 76%, 96480 KB, 50043 KB/s, 1 seconds passed -... 76%, 96512 KB, 50053 KB/s, 1 seconds passed -... 76%, 96544 KB, 50062 KB/s, 1 seconds passed -... 76%, 96576 KB, 50072 KB/s, 1 seconds passed -... 76%, 96608 KB, 50080 KB/s, 1 seconds passed -... 76%, 96640 KB, 50090 KB/s, 1 seconds passed -... 76%, 96672 KB, 50100 KB/s, 1 seconds passed -... 76%, 96704 KB, 50108 KB/s, 1 seconds passed -... 76%, 96736 KB, 50118 KB/s, 1 seconds passed -... 76%, 96768 KB, 50128 KB/s, 1 seconds passed -... 76%, 96800 KB, 50136 KB/s, 1 seconds passed -... 76%, 96832 KB, 50072 KB/s, 1 seconds passed -... 76%, 96864 KB, 50080 KB/s, 1 seconds passed -... 76%, 96896 KB, 50090 KB/s, 1 seconds passed -... 76%, 96928 KB, 50100 KB/s, 1 seconds passed -... 76%, 96960 KB, 50108 KB/s, 1 seconds passed -... 77%, 96992 KB, 50116 KB/s, 1 seconds passed -... 77%, 97024 KB, 50121 KB/s, 1 seconds passed -... 77%, 97056 KB, 50132 KB/s, 1 seconds passed -... 77%, 97088 KB, 50145 KB/s, 1 seconds passed -... 77%, 97120 KB, 50155 KB/s, 1 seconds passed -... 77%, 97152 KB, 50163 KB/s, 1 seconds passed -... 77%, 97184 KB, 50173 KB/s, 1 seconds passed -... 77%, 97216 KB, 50183 KB/s, 1 seconds passed -... 77%, 97248 KB, 50192 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 77%, 97280 KB, 49764 KB/s, 1 seconds passed -... 77%, 97312 KB, 49769 KB/s, 1 seconds passed -... 77%, 97344 KB, 49776 KB/s, 1 seconds passed -... 77%, 97376 KB, 49783 KB/s, 1 seconds passed -... 77%, 97408 KB, 49790 KB/s, 1 seconds passed -... 77%, 97440 KB, 49794 KB/s, 1 seconds passed -... 77%, 97472 KB, 49800 KB/s, 1 seconds passed -... 77%, 97504 KB, 49807 KB/s, 1 seconds passed -... 77%, 97536 KB, 49814 KB/s, 1 seconds passed -... 77%, 97568 KB, 49821 KB/s, 1 seconds passed -... 77%, 97600 KB, 49829 KB/s, 1 seconds passed -... 77%, 97632 KB, 49836 KB/s, 1 seconds passed -... 77%, 97664 KB, 49842 KB/s, 1 seconds passed -... 77%, 97696 KB, 49849 KB/s, 1 seconds passed -... 77%, 97728 KB, 49856 KB/s, 1 seconds passed -... 77%, 97760 KB, 49863 KB/s, 1 seconds passed -... 77%, 97792 KB, 49870 KB/s, 1 seconds passed -... 77%, 97824 KB, 49876 KB/s, 1 seconds passed -... 77%, 97856 KB, 49883 KB/s, 1 seconds passed -... 77%, 97888 KB, 49889 KB/s, 1 seconds passed -... 77%, 97920 KB, 49896 KB/s, 1 seconds passed -... 77%, 97952 KB, 49903 KB/s, 1 seconds passed -... 77%, 97984 KB, 49910 KB/s, 1 seconds passed -... 77%, 98016 KB, 49917 KB/s, 1 seconds passed -... 77%, 98048 KB, 49924 KB/s, 1 seconds passed -... 77%, 98080 KB, 49931 KB/s, 1 seconds passed -... 77%, 98112 KB, 49937 KB/s, 1 seconds passed -... 77%, 98144 KB, 49944 KB/s, 1 seconds passed -... 77%, 98176 KB, 49951 KB/s, 1 seconds passed -... 77%, 98208 KB, 49958 KB/s, 1 seconds passed -... 77%, 98240 KB, 49965 KB/s, 1 seconds passed -... 78%, 98272 KB, 49972 KB/s, 1 seconds passed -... 78%, 98304 KB, 49979 KB/s, 1 seconds passed -... 78%, 98336 KB, 49986 KB/s, 1 seconds passed -... 78%, 98368 KB, 49995 KB/s, 1 seconds passed -... 78%, 98400 KB, 50005 KB/s, 1 seconds passed -... 78%, 98432 KB, 50015 KB/s, 1 seconds passed -... 78%, 98464 KB, 50025 KB/s, 1 seconds passed -... 78%, 98496 KB, 50035 KB/s, 1 seconds passed -... 78%, 98528 KB, 50045 KB/s, 1 seconds passed -... 78%, 98560 KB, 50055 KB/s, 1 seconds passed -... 78%, 98592 KB, 50065 KB/s, 1 seconds passed -... 78%, 98624 KB, 50075 KB/s, 1 seconds passed -... 78%, 98656 KB, 50085 KB/s, 1 seconds passed -... 78%, 98688 KB, 50095 KB/s, 1 seconds passed -... 78%, 98720 KB, 50105 KB/s, 1 seconds passed -... 78%, 98752 KB, 50116 KB/s, 1 seconds passed -... 78%, 98784 KB, 50126 KB/s, 1 seconds passed -... 78%, 98816 KB, 50136 KB/s, 1 seconds passed -... 78%, 98848 KB, 50146 KB/s, 1 seconds passed -... 78%, 98880 KB, 50156 KB/s, 1 seconds passed -... 78%, 98912 KB, 50166 KB/s, 1 seconds passed -... 78%, 98944 KB, 50176 KB/s, 1 seconds passed -... 78%, 98976 KB, 50186 KB/s, 1 seconds passed -... 78%, 99008 KB, 50196 KB/s, 1 seconds passed -... 78%, 99040 KB, 50206 KB/s, 1 seconds passed -... 78%, 99072 KB, 50216 KB/s, 1 seconds passed -... 78%, 99104 KB, 50226 KB/s, 1 seconds passed -... 78%, 99136 KB, 50236 KB/s, 1 seconds passed -... 78%, 99168 KB, 50246 KB/s, 1 seconds passed -... 78%, 99200 KB, 50256 KB/s, 1 seconds passed -... 78%, 99232 KB, 50266 KB/s, 1 seconds passed -... 78%, 99264 KB, 50276 KB/s, 1 seconds passed -... 78%, 99296 KB, 50287 KB/s, 1 seconds passed -... 78%, 99328 KB, 50297 KB/s, 1 seconds passed -... 78%, 99360 KB, 50307 KB/s, 1 seconds passed -... 78%, 99392 KB, 50317 KB/s, 1 seconds passed -... 78%, 99424 KB, 50327 KB/s, 1 seconds passed -... 78%, 99456 KB, 50337 KB/s, 1 seconds passed -... 78%, 99488 KB, 50347 KB/s, 1 seconds passed -... 79%, 99520 KB, 50357 KB/s, 1 seconds passed -... 79%, 99552 KB, 50367 KB/s, 1 seconds passed -... 79%, 99584 KB, 50377 KB/s, 1 seconds passed -... 79%, 99616 KB, 50387 KB/s, 1 seconds passed -... 79%, 99648 KB, 50397 KB/s, 1 seconds passed -... 79%, 99680 KB, 50407 KB/s, 1 seconds passed -... 79%, 99712 KB, 50419 KB/s, 1 seconds passed -... 79%, 99744 KB, 50431 KB/s, 1 seconds passed -... 79%, 99776 KB, 50443 KB/s, 1 seconds passed -... 79%, 99808 KB, 50455 KB/s, 1 seconds passed -... 79%, 99840 KB, 50467 KB/s, 1 seconds passed -... 79%, 99872 KB, 50479 KB/s, 1 seconds passed -... 79%, 99904 KB, 50491 KB/s, 1 seconds passed -... 79%, 99936 KB, 50503 KB/s, 1 seconds passed -... 79%, 99968 KB, 50515 KB/s, 1 seconds passed -... 79%, 100000 KB, 50527 KB/s, 1 seconds passed -... 79%, 100032 KB, 50539 KB/s, 1 seconds passed -... 79%, 100064 KB, 50551 KB/s, 1 seconds passed -... 79%, 100096 KB, 50563 KB/s, 1 seconds passed -... 79%, 100128 KB, 50575 KB/s, 1 seconds passed -... 79%, 100160 KB, 50587 KB/s, 1 seconds passed -... 79%, 100192 KB, 50595 KB/s, 1 seconds passed -... 79%, 100224 KB, 50600 KB/s, 1 seconds passed -... 79%, 100256 KB, 50605 KB/s, 1 seconds passed -... 79%, 100288 KB, 50614 KB/s, 1 seconds passed -... 79%, 100320 KB, 50626 KB/s, 1 seconds passed -... 79%, 100352 KB, 50638 KB/s, 1 seconds passed -... 79%, 100384 KB, 50650 KB/s, 1 seconds passed -... 79%, 100416 KB, 50659 KB/s, 1 seconds passed -... 79%, 100448 KB, 50667 KB/s, 1 seconds passed -... 79%, 100480 KB, 50673 KB/s, 1 seconds passed -... 79%, 100512 KB, 50679 KB/s, 1 seconds passed -... 79%, 100544 KB, 50691 KB/s, 1 seconds passed -... 79%, 100576 KB, 50703 KB/s, 1 seconds passed -... 79%, 100608 KB, 50715 KB/s, 1 seconds passed -... 79%, 100640 KB, 50723 KB/s, 1 seconds passed -... 79%, 100672 KB, 50732 KB/s, 1 seconds passed -... 79%, 100704 KB, 50742 KB/s, 1 seconds passed -... 79%, 100736 KB, 50750 KB/s, 1 seconds passed -... 80%, 100768 KB, 50759 KB/s, 1 seconds passed -... 80%, 100800 KB, 50769 KB/s, 1 seconds passed -... 80%, 100832 KB, 50778 KB/s, 1 seconds passed -... 80%, 100864 KB, 50786 KB/s, 1 seconds passed -... 80%, 100896 KB, 50796 KB/s, 1 seconds passed -... 80%, 100928 KB, 50802 KB/s, 1 seconds passed -... 80%, 100960 KB, 50812 KB/s, 1 seconds passed -... 80%, 100992 KB, 50820 KB/s, 1 seconds passed -... 80%, 101024 KB, 50829 KB/s, 1 seconds passed -... 80%, 101056 KB, 50839 KB/s, 1 seconds passed -... 80%, 101088 KB, 50848 KB/s, 1 seconds passed -... 80%, 101120 KB, 50856 KB/s, 1 seconds passed -... 80%, 101152 KB, 50867 KB/s, 1 seconds passed -... 80%, 101184 KB, 50812 KB/s, 1 seconds passed -... 80%, 101216 KB, 50810 KB/s, 1 seconds passed -... 80%, 101248 KB, 50808 KB/s, 1 seconds passed -... 80%, 101280 KB, 50813 KB/s, 1 seconds passed -... 80%, 101312 KB, 50822 KB/s, 1 seconds passed -... 80%, 101344 KB, 50833 KB/s, 1 seconds passed -... 80%, 101376 KB, 50841 KB/s, 1 seconds passed -... 80%, 101408 KB, 50847 KB/s, 1 seconds passed -... 80%, 101440 KB, 50852 KB/s, 1 seconds passed -... 80%, 101472 KB, 50857 KB/s, 1 seconds passed -... 80%, 101504 KB, 50870 KB/s, 1 seconds passed -... 80%, 101536 KB, 50883 KB/s, 1 seconds passed - -.. parsed-literal:: - - ... 80%, 101568 KB, 50526 KB/s, 2 seconds passed -... 80%, 101600 KB, 50532 KB/s, 2 seconds passed -... 80%, 101632 KB, 50539 KB/s, 2 seconds passed -... 80%, 101664 KB, 50545 KB/s, 2 seconds passed -... 80%, 101696 KB, 50552 KB/s, 2 seconds passed -... 80%, 101728 KB, 50558 KB/s, 2 seconds passed -... 80%, 101760 KB, 50565 KB/s, 2 seconds passed -... 80%, 101792 KB, 50570 KB/s, 2 seconds passed -... 80%, 101824 KB, 50577 KB/s, 2 seconds passed -... 80%, 101856 KB, 50584 KB/s, 2 seconds passed -... 80%, 101888 KB, 50590 KB/s, 2 seconds passed -... 80%, 101920 KB, 50597 KB/s, 2 seconds passed -... 80%, 101952 KB, 50604 KB/s, 2 seconds passed -... 80%, 101984 KB, 50610 KB/s, 2 seconds passed -... 80%, 102016 KB, 50616 KB/s, 2 seconds passed -... 81%, 102048 KB, 50622 KB/s, 2 seconds passed -... 81%, 102080 KB, 50629 KB/s, 2 seconds passed -... 81%, 102112 KB, 50635 KB/s, 2 seconds passed -... 81%, 102144 KB, 50641 KB/s, 2 seconds passed -... 81%, 102176 KB, 50649 KB/s, 2 seconds passed -... 81%, 102208 KB, 50657 KB/s, 2 seconds passed -... 81%, 102240 KB, 50666 KB/s, 2 seconds passed -... 81%, 102272 KB, 50675 KB/s, 2 seconds passed -... 81%, 102304 KB, 50683 KB/s, 2 seconds passed -... 81%, 102336 KB, 50692 KB/s, 2 seconds passed -... 81%, 102368 KB, 50701 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 81%, 102400 KB, 49338 KB/s, 2 seconds passed -... 81%, 102432 KB, 49342 KB/s, 2 seconds passed -... 81%, 102464 KB, 49348 KB/s, 2 seconds passed -... 81%, 102496 KB, 49355 KB/s, 2 seconds passed -... 81%, 102528 KB, 49038 KB/s, 2 seconds passed -... 81%, 102560 KB, 49040 KB/s, 2 seconds passed -... 81%, 102592 KB, 49046 KB/s, 2 seconds passed -... 81%, 102624 KB, 49052 KB/s, 2 seconds passed -... 81%, 102656 KB, 49058 KB/s, 2 seconds passed -... 81%, 102688 KB, 49064 KB/s, 2 seconds passed -... 81%, 102720 KB, 49070 KB/s, 2 seconds passed -... 81%, 102752 KB, 49077 KB/s, 2 seconds passed -... 81%, 102784 KB, 49083 KB/s, 2 seconds passed -... 81%, 102816 KB, 49089 KB/s, 2 seconds passed -... 81%, 102848 KB, 49096 KB/s, 2 seconds passed -... 81%, 102880 KB, 49102 KB/s, 2 seconds passed -... 81%, 102912 KB, 49109 KB/s, 2 seconds passed -... 81%, 102944 KB, 49115 KB/s, 2 seconds passed -... 81%, 102976 KB, 49122 KB/s, 2 seconds passed -... 81%, 103008 KB, 49128 KB/s, 2 seconds passed -... 81%, 103040 KB, 49134 KB/s, 2 seconds passed -... 81%, 103072 KB, 49141 KB/s, 2 seconds passed -... 81%, 103104 KB, 49147 KB/s, 2 seconds passed -... 81%, 103136 KB, 49153 KB/s, 2 seconds passed -... 81%, 103168 KB, 49158 KB/s, 2 seconds passed -... 81%, 103200 KB, 49164 KB/s, 2 seconds passed -... 81%, 103232 KB, 49171 KB/s, 2 seconds passed -... 81%, 103264 KB, 49178 KB/s, 2 seconds passed -... 82%, 103296 KB, 49185 KB/s, 2 seconds passed -... 82%, 103328 KB, 49190 KB/s, 2 seconds passed -... 82%, 103360 KB, 49197 KB/s, 2 seconds passed -... 82%, 103392 KB, 49203 KB/s, 2 seconds passed -... 82%, 103424 KB, 49210 KB/s, 2 seconds passed -... 82%, 103456 KB, 49216 KB/s, 2 seconds passed -... 82%, 103488 KB, 49221 KB/s, 2 seconds passed -... 82%, 103520 KB, 49228 KB/s, 2 seconds passed -... 82%, 103552 KB, 49235 KB/s, 2 seconds passed -... 82%, 103584 KB, 49242 KB/s, 2 seconds passed -... 82%, 103616 KB, 49247 KB/s, 2 seconds passed -... 82%, 103648 KB, 49253 KB/s, 2 seconds passed -... 82%, 103680 KB, 49257 KB/s, 2 seconds passed -... 82%, 103712 KB, 49264 KB/s, 2 seconds passed -... 82%, 103744 KB, 49271 KB/s, 2 seconds passed -... 82%, 103776 KB, 49277 KB/s, 2 seconds passed -... 82%, 103808 KB, 49284 KB/s, 2 seconds passed -... 82%, 103840 KB, 49290 KB/s, 2 seconds passed -... 82%, 103872 KB, 49297 KB/s, 2 seconds passed -... 82%, 103904 KB, 49303 KB/s, 2 seconds passed -... 82%, 103936 KB, 49308 KB/s, 2 seconds passed -... 82%, 103968 KB, 49314 KB/s, 2 seconds passed -... 82%, 104000 KB, 49322 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 82%, 104032 KB, 49326 KB/s, 2 seconds passed -... 82%, 104064 KB, 49333 KB/s, 2 seconds passed -... 82%, 104096 KB, 48665 KB/s, 2 seconds passed -... 82%, 104128 KB, 48669 KB/s, 2 seconds passed -... 82%, 104160 KB, 48675 KB/s, 2 seconds passed -... 82%, 104192 KB, 48680 KB/s, 2 seconds passed -... 82%, 104224 KB, 48686 KB/s, 2 seconds passed -... 82%, 104256 KB, 48692 KB/s, 2 seconds passed -... 82%, 104288 KB, 48698 KB/s, 2 seconds passed -... 82%, 104320 KB, 48705 KB/s, 2 seconds passed -... 82%, 104352 KB, 48711 KB/s, 2 seconds passed -... 82%, 104384 KB, 48717 KB/s, 2 seconds passed -... 82%, 104416 KB, 48723 KB/s, 2 seconds passed -... 82%, 104448 KB, 48730 KB/s, 2 seconds passed -... 82%, 104480 KB, 48736 KB/s, 2 seconds passed -... 82%, 104512 KB, 48742 KB/s, 2 seconds passed -... 83%, 104544 KB, 48748 KB/s, 2 seconds passed -... 83%, 104576 KB, 48754 KB/s, 2 seconds passed -... 83%, 104608 KB, 48760 KB/s, 2 seconds passed -... 83%, 104640 KB, 48766 KB/s, 2 seconds passed -... 83%, 104672 KB, 48773 KB/s, 2 seconds passed -... 83%, 104704 KB, 48779 KB/s, 2 seconds passed -... 83%, 104736 KB, 48785 KB/s, 2 seconds passed -... 83%, 104768 KB, 48791 KB/s, 2 seconds passed -... 83%, 104800 KB, 48799 KB/s, 2 seconds passed -... 83%, 104832 KB, 48807 KB/s, 2 seconds passed -... 83%, 104864 KB, 48815 KB/s, 2 seconds passed -... 83%, 104896 KB, 48823 KB/s, 2 seconds passed -... 83%, 104928 KB, 48831 KB/s, 2 seconds passed -... 83%, 104960 KB, 48838 KB/s, 2 seconds passed -... 83%, 104992 KB, 48847 KB/s, 2 seconds passed -... 83%, 105024 KB, 48857 KB/s, 2 seconds passed -... 83%, 105056 KB, 48868 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 83%, 105088 KB, 47850 KB/s, 2 seconds passed -... 83%, 105120 KB, 47842 KB/s, 2 seconds passed -... 83%, 105152 KB, 47837 KB/s, 2 seconds passed -... 83%, 105184 KB, 47836 KB/s, 2 seconds passed -... 83%, 105216 KB, 47833 KB/s, 2 seconds passed -... 83%, 105248 KB, 47833 KB/s, 2 seconds passed -... 83%, 105280 KB, 47832 KB/s, 2 seconds passed -... 83%, 105312 KB, 47839 KB/s, 2 seconds passed -... 83%, 105344 KB, 47846 KB/s, 2 seconds passed -... 83%, 105376 KB, 47854 KB/s, 2 seconds passed -... 83%, 105408 KB, 47862 KB/s, 2 seconds passed -... 83%, 105440 KB, 47870 KB/s, 2 seconds passed -... 83%, 105472 KB, 47877 KB/s, 2 seconds passed -... 83%, 105504 KB, 47885 KB/s, 2 seconds passed -... 83%, 105536 KB, 47893 KB/s, 2 seconds passed -... 83%, 105568 KB, 47901 KB/s, 2 seconds passed -... 83%, 105600 KB, 47909 KB/s, 2 seconds passed -... 83%, 105632 KB, 47917 KB/s, 2 seconds passed -... 83%, 105664 KB, 47924 KB/s, 2 seconds passed -... 83%, 105696 KB, 47932 KB/s, 2 seconds passed -... 83%, 105728 KB, 47940 KB/s, 2 seconds passed -... 83%, 105760 KB, 47947 KB/s, 2 seconds passed -... 83%, 105792 KB, 47955 KB/s, 2 seconds passed -... 84%, 105824 KB, 47963 KB/s, 2 seconds passed -... 84%, 105856 KB, 47971 KB/s, 2 seconds passed -... 84%, 105888 KB, 47979 KB/s, 2 seconds passed -... 84%, 105920 KB, 47987 KB/s, 2 seconds passed -... 84%, 105952 KB, 47995 KB/s, 2 seconds passed -... 84%, 105984 KB, 48003 KB/s, 2 seconds passed -... 84%, 106016 KB, 48011 KB/s, 2 seconds passed -... 84%, 106048 KB, 48019 KB/s, 2 seconds passed -... 84%, 106080 KB, 48026 KB/s, 2 seconds passed -... 84%, 106112 KB, 48034 KB/s, 2 seconds passed -... 84%, 106144 KB, 48042 KB/s, 2 seconds passed -... 84%, 106176 KB, 48050 KB/s, 2 seconds passed -... 84%, 106208 KB, 48059 KB/s, 2 seconds passed -... 84%, 106240 KB, 48068 KB/s, 2 seconds passed -... 84%, 106272 KB, 48077 KB/s, 2 seconds passed -... 84%, 106304 KB, 48086 KB/s, 2 seconds passed -... 84%, 106336 KB, 48095 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 84%, 106368 KB, 48104 KB/s, 2 seconds passed -... 84%, 106400 KB, 48113 KB/s, 2 seconds passed -... 84%, 106432 KB, 48122 KB/s, 2 seconds passed -... 84%, 106464 KB, 48131 KB/s, 2 seconds passed -... 84%, 106496 KB, 48140 KB/s, 2 seconds passed -... 84%, 106528 KB, 48149 KB/s, 2 seconds passed -... 84%, 106560 KB, 48158 KB/s, 2 seconds passed -... 84%, 106592 KB, 48167 KB/s, 2 seconds passed -... 84%, 106624 KB, 48176 KB/s, 2 seconds passed -... 84%, 106656 KB, 48185 KB/s, 2 seconds passed -... 84%, 106688 KB, 48194 KB/s, 2 seconds passed -... 84%, 106720 KB, 48203 KB/s, 2 seconds passed -... 84%, 106752 KB, 48212 KB/s, 2 seconds passed -... 84%, 106784 KB, 48221 KB/s, 2 seconds passed -... 84%, 106816 KB, 48230 KB/s, 2 seconds passed -... 84%, 106848 KB, 48239 KB/s, 2 seconds passed -... 84%, 106880 KB, 48248 KB/s, 2 seconds passed -... 84%, 106912 KB, 48257 KB/s, 2 seconds passed -... 84%, 106944 KB, 48266 KB/s, 2 seconds passed -... 84%, 106976 KB, 48275 KB/s, 2 seconds passed -... 84%, 107008 KB, 48284 KB/s, 2 seconds passed -... 84%, 107040 KB, 48293 KB/s, 2 seconds passed -... 85%, 107072 KB, 48302 KB/s, 2 seconds passed -... 85%, 107104 KB, 48311 KB/s, 2 seconds passed -... 85%, 107136 KB, 48319 KB/s, 2 seconds passed -... 85%, 107168 KB, 48328 KB/s, 2 seconds passed -... 85%, 107200 KB, 48337 KB/s, 2 seconds passed -... 85%, 107232 KB, 48346 KB/s, 2 seconds passed -... 85%, 107264 KB, 48355 KB/s, 2 seconds passed -... 85%, 107296 KB, 48365 KB/s, 2 seconds passed -... 85%, 107328 KB, 48374 KB/s, 2 seconds passed -... 85%, 107360 KB, 48383 KB/s, 2 seconds passed -... 85%, 107392 KB, 48393 KB/s, 2 seconds passed -... 85%, 107424 KB, 48402 KB/s, 2 seconds passed -... 85%, 107456 KB, 48411 KB/s, 2 seconds passed -... 85%, 107488 KB, 48421 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 85%, 107520 KB, 47103 KB/s, 2 seconds passed -... 85%, 107552 KB, 47107 KB/s, 2 seconds passed -... 85%, 107584 KB, 47114 KB/s, 2 seconds passed -... 85%, 107616 KB, 47121 KB/s, 2 seconds passed -... 85%, 107648 KB, 46996 KB/s, 2 seconds passed -... 85%, 107680 KB, 47001 KB/s, 2 seconds passed -... 85%, 107712 KB, 47008 KB/s, 2 seconds passed -... 85%, 107744 KB, 47016 KB/s, 2 seconds passed -... 85%, 107776 KB, 47023 KB/s, 2 seconds passed -... 85%, 107808 KB, 47031 KB/s, 2 seconds passed -... 85%, 107840 KB, 47038 KB/s, 2 seconds passed -... 85%, 107872 KB, 47045 KB/s, 2 seconds passed -... 85%, 107904 KB, 47053 KB/s, 2 seconds passed -... 85%, 107936 KB, 47060 KB/s, 2 seconds passed -... 85%, 107968 KB, 47068 KB/s, 2 seconds passed -... 85%, 108000 KB, 47075 KB/s, 2 seconds passed -... 85%, 108032 KB, 47083 KB/s, 2 seconds passed -... 85%, 108064 KB, 47091 KB/s, 2 seconds passed -... 85%, 108096 KB, 47098 KB/s, 2 seconds passed -... 85%, 108128 KB, 47106 KB/s, 2 seconds passed -... 85%, 108160 KB, 47113 KB/s, 2 seconds passed -... 85%, 108192 KB, 47121 KB/s, 2 seconds passed -... 85%, 108224 KB, 47129 KB/s, 2 seconds passed -... 85%, 108256 KB, 47136 KB/s, 2 seconds passed -... 85%, 108288 KB, 47143 KB/s, 2 seconds passed -... 86%, 108320 KB, 47151 KB/s, 2 seconds passed -... 86%, 108352 KB, 47159 KB/s, 2 seconds passed -... 86%, 108384 KB, 47166 KB/s, 2 seconds passed -... 86%, 108416 KB, 47173 KB/s, 2 seconds passed -... 86%, 108448 KB, 47181 KB/s, 2 seconds passed -... 86%, 108480 KB, 47189 KB/s, 2 seconds passed -... 86%, 108512 KB, 47196 KB/s, 2 seconds passed -... 86%, 108544 KB, 47204 KB/s, 2 seconds passed -... 86%, 108576 KB, 47212 KB/s, 2 seconds passed -... 86%, 108608 KB, 47219 KB/s, 2 seconds passed -... 86%, 108640 KB, 47227 KB/s, 2 seconds passed -... 86%, 108672 KB, 47234 KB/s, 2 seconds passed -... 86%, 108704 KB, 47243 KB/s, 2 seconds passed -... 86%, 108736 KB, 47253 KB/s, 2 seconds passed -... 86%, 108768 KB, 47262 KB/s, 2 seconds passed -... 86%, 108800 KB, 47272 KB/s, 2 seconds passed -... 86%, 108832 KB, 47282 KB/s, 2 seconds passed -... 86%, 108864 KB, 47291 KB/s, 2 seconds passed -... 86%, 108896 KB, 47301 KB/s, 2 seconds passed -... 86%, 108928 KB, 47310 KB/s, 2 seconds passed -... 86%, 108960 KB, 47320 KB/s, 2 seconds passed -... 86%, 108992 KB, 47329 KB/s, 2 seconds passed -... 86%, 109024 KB, 47339 KB/s, 2 seconds passed -... 86%, 109056 KB, 47349 KB/s, 2 seconds passed -... 86%, 109088 KB, 47358 KB/s, 2 seconds passed -... 86%, 109120 KB, 47368 KB/s, 2 seconds passed -... 86%, 109152 KB, 47378 KB/s, 2 seconds passed -... 86%, 109184 KB, 47387 KB/s, 2 seconds passed -... 86%, 109216 KB, 47397 KB/s, 2 seconds passed -... 86%, 109248 KB, 47406 KB/s, 2 seconds passed -... 86%, 109280 KB, 47416 KB/s, 2 seconds passed -... 86%, 109312 KB, 47425 KB/s, 2 seconds passed -... 86%, 109344 KB, 47433 KB/s, 2 seconds passed -... 86%, 109376 KB, 47440 KB/s, 2 seconds passed -... 86%, 109408 KB, 47450 KB/s, 2 seconds passed -... 86%, 109440 KB, 47457 KB/s, 2 seconds passed -... 86%, 109472 KB, 47465 KB/s, 2 seconds passed -... 86%, 109504 KB, 47473 KB/s, 2 seconds passed -... 86%, 109536 KB, 47481 KB/s, 2 seconds passed -... 86%, 109568 KB, 47489 KB/s, 2 seconds passed -... 87%, 109600 KB, 47498 KB/s, 2 seconds passed -... 87%, 109632 KB, 47506 KB/s, 2 seconds passed -... 87%, 109664 KB, 47514 KB/s, 2 seconds passed -... 87%, 109696 KB, 47523 KB/s, 2 seconds passed -... 87%, 109728 KB, 47527 KB/s, 2 seconds passed -... 87%, 109760 KB, 47528 KB/s, 2 seconds passed -... 87%, 109792 KB, 47533 KB/s, 2 seconds passed -... 87%, 109824 KB, 47537 KB/s, 2 seconds passed -... 87%, 109856 KB, 47540 KB/s, 2 seconds passed -... 87%, 109888 KB, 47545 KB/s, 2 seconds passed -... 87%, 109920 KB, 47550 KB/s, 2 seconds passed -... 87%, 109952 KB, 47556 KB/s, 2 seconds passed -... 87%, 109984 KB, 47561 KB/s, 2 seconds passed -... 87%, 110016 KB, 47565 KB/s, 2 seconds passed -... 87%, 110048 KB, 47572 KB/s, 2 seconds passed -... 87%, 110080 KB, 47580 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 87%, 110112 KB, 47588 KB/s, 2 seconds passed -... 87%, 110144 KB, 47595 KB/s, 2 seconds passed -... 87%, 110176 KB, 47603 KB/s, 2 seconds passed -... 87%, 110208 KB, 47611 KB/s, 2 seconds passed -... 87%, 110240 KB, 47403 KB/s, 2 seconds passed -... 87%, 110272 KB, 47406 KB/s, 2 seconds passed -... 87%, 110304 KB, 47411 KB/s, 2 seconds passed -... 87%, 110336 KB, 47416 KB/s, 2 seconds passed -... 87%, 110368 KB, 47424 KB/s, 2 seconds passed -... 87%, 110400 KB, 47338 KB/s, 2 seconds passed -... 87%, 110432 KB, 47343 KB/s, 2 seconds passed -... 87%, 110464 KB, 47349 KB/s, 2 seconds passed -... 87%, 110496 KB, 47354 KB/s, 2 seconds passed -... 87%, 110528 KB, 47321 KB/s, 2 seconds passed -... 87%, 110560 KB, 47327 KB/s, 2 seconds passed -... 87%, 110592 KB, 47332 KB/s, 2 seconds passed -... 87%, 110624 KB, 47338 KB/s, 2 seconds passed -... 87%, 110656 KB, 47343 KB/s, 2 seconds passed -... 87%, 110688 KB, 47349 KB/s, 2 seconds passed -... 87%, 110720 KB, 47355 KB/s, 2 seconds passed -... 87%, 110752 KB, 47361 KB/s, 2 seconds passed -... 87%, 110784 KB, 47367 KB/s, 2 seconds passed -... 87%, 110816 KB, 47373 KB/s, 2 seconds passed -... 88%, 110848 KB, 47379 KB/s, 2 seconds passed -... 88%, 110880 KB, 47386 KB/s, 2 seconds passed -... 88%, 110912 KB, 47393 KB/s, 2 seconds passed -... 88%, 110944 KB, 47399 KB/s, 2 seconds passed -... 88%, 110976 KB, 47405 KB/s, 2 seconds passed -... 88%, 111008 KB, 47410 KB/s, 2 seconds passed -... 88%, 111040 KB, 47416 KB/s, 2 seconds passed -... 88%, 111072 KB, 47422 KB/s, 2 seconds passed -... 88%, 111104 KB, 47428 KB/s, 2 seconds passed -... 88%, 111136 KB, 47434 KB/s, 2 seconds passed -... 88%, 111168 KB, 47440 KB/s, 2 seconds passed -... 88%, 111200 KB, 47446 KB/s, 2 seconds passed -... 88%, 111232 KB, 47452 KB/s, 2 seconds passed -... 88%, 111264 KB, 47458 KB/s, 2 seconds passed -... 88%, 111296 KB, 47464 KB/s, 2 seconds passed -... 88%, 111328 KB, 47470 KB/s, 2 seconds passed -... 88%, 111360 KB, 47475 KB/s, 2 seconds passed -... 88%, 111392 KB, 47481 KB/s, 2 seconds passed -... 88%, 111424 KB, 47486 KB/s, 2 seconds passed -... 88%, 111456 KB, 47492 KB/s, 2 seconds passed -... 88%, 111488 KB, 47498 KB/s, 2 seconds passed -... 88%, 111520 KB, 47504 KB/s, 2 seconds passed -... 88%, 111552 KB, 47511 KB/s, 2 seconds passed -... 88%, 111584 KB, 47518 KB/s, 2 seconds passed -... 88%, 111616 KB, 47524 KB/s, 2 seconds passed -... 88%, 111648 KB, 47531 KB/s, 2 seconds passed -... 88%, 111680 KB, 47539 KB/s, 2 seconds passed -... 88%, 111712 KB, 47547 KB/s, 2 seconds passed -... 88%, 111744 KB, 47554 KB/s, 2 seconds passed -... 88%, 111776 KB, 47562 KB/s, 2 seconds passed -... 88%, 111808 KB, 47565 KB/s, 2 seconds passed -... 88%, 111840 KB, 47572 KB/s, 2 seconds passed -... 88%, 111872 KB, 47581 KB/s, 2 seconds passed -... 88%, 111904 KB, 47590 KB/s, 2 seconds passed -... 88%, 111936 KB, 47598 KB/s, 2 seconds passed -... 88%, 111968 KB, 47607 KB/s, 2 seconds passed -... 88%, 112000 KB, 47615 KB/s, 2 seconds passed -... 88%, 112032 KB, 47623 KB/s, 2 seconds passed -... 88%, 112064 KB, 47629 KB/s, 2 seconds passed -... 88%, 112096 KB, 47634 KB/s, 2 seconds passed -... 89%, 112128 KB, 47642 KB/s, 2 seconds passed -... 89%, 112160 KB, 47650 KB/s, 2 seconds passed -... 89%, 112192 KB, 47659 KB/s, 2 seconds passed -... 89%, 112224 KB, 47668 KB/s, 2 seconds passed -... 89%, 112256 KB, 47676 KB/s, 2 seconds passed -... 89%, 112288 KB, 47685 KB/s, 2 seconds passed -... 89%, 112320 KB, 47694 KB/s, 2 seconds passed -... 89%, 112352 KB, 47702 KB/s, 2 seconds passed -... 89%, 112384 KB, 47711 KB/s, 2 seconds passed -... 89%, 112416 KB, 47718 KB/s, 2 seconds passed -... 89%, 112448 KB, 47725 KB/s, 2 seconds passed -... 89%, 112480 KB, 47732 KB/s, 2 seconds passed -... 89%, 112512 KB, 47741 KB/s, 2 seconds passed -... 89%, 112544 KB, 47749 KB/s, 2 seconds passed -... 89%, 112576 KB, 47757 KB/s, 2 seconds passed -... 89%, 112608 KB, 47764 KB/s, 2 seconds passed -... 89%, 112640 KB, 47675 KB/s, 2 seconds passed -... 89%, 112672 KB, 47680 KB/s, 2 seconds passed -... 89%, 112704 KB, 47687 KB/s, 2 seconds passed -... 89%, 112736 KB, 47695 KB/s, 2 seconds passed -... 89%, 112768 KB, 47705 KB/s, 2 seconds passed -... 89%, 112800 KB, 47714 KB/s, 2 seconds passed -... 89%, 112832 KB, 47723 KB/s, 2 seconds passed -... 89%, 112864 KB, 47731 KB/s, 2 seconds passed -... 89%, 112896 KB, 47740 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 89%, 112928 KB, 47748 KB/s, 2 seconds passed -... 89%, 112960 KB, 47755 KB/s, 2 seconds passed -... 89%, 112992 KB, 47762 KB/s, 2 seconds passed -... 89%, 113024 KB, 47770 KB/s, 2 seconds passed -... 89%, 113056 KB, 47779 KB/s, 2 seconds passed -... 89%, 113088 KB, 47785 KB/s, 2 seconds passed -... 89%, 113120 KB, 47791 KB/s, 2 seconds passed -... 89%, 113152 KB, 47798 KB/s, 2 seconds passed -... 89%, 113184 KB, 47803 KB/s, 2 seconds passed -... 89%, 113216 KB, 47809 KB/s, 2 seconds passed -... 89%, 113248 KB, 47815 KB/s, 2 seconds passed -... 89%, 113280 KB, 47820 KB/s, 2 seconds passed -... 89%, 113312 KB, 47826 KB/s, 2 seconds passed -... 89%, 113344 KB, 47807 KB/s, 2 seconds passed -... 90%, 113376 KB, 47813 KB/s, 2 seconds passed -... 90%, 113408 KB, 47820 KB/s, 2 seconds passed -... 90%, 113440 KB, 47829 KB/s, 2 seconds passed -... 90%, 113472 KB, 47834 KB/s, 2 seconds passed -... 90%, 113504 KB, 47839 KB/s, 2 seconds passed -... 90%, 113536 KB, 47845 KB/s, 2 seconds passed -... 90%, 113568 KB, 47851 KB/s, 2 seconds passed -... 90%, 113600 KB, 47856 KB/s, 2 seconds passed -... 90%, 113632 KB, 47862 KB/s, 2 seconds passed -... 90%, 113664 KB, 47868 KB/s, 2 seconds passed -... 90%, 113696 KB, 47873 KB/s, 2 seconds passed -... 90%, 113728 KB, 47880 KB/s, 2 seconds passed -... 90%, 113760 KB, 47885 KB/s, 2 seconds passed -... 90%, 113792 KB, 47891 KB/s, 2 seconds passed -... 90%, 113824 KB, 47897 KB/s, 2 seconds passed -... 90%, 113856 KB, 47903 KB/s, 2 seconds passed -... 90%, 113888 KB, 47909 KB/s, 2 seconds passed -... 90%, 113920 KB, 47915 KB/s, 2 seconds passed -... 90%, 113952 KB, 47921 KB/s, 2 seconds passed -... 90%, 113984 KB, 47927 KB/s, 2 seconds passed -... 90%, 114016 KB, 47933 KB/s, 2 seconds passed -... 90%, 114048 KB, 47939 KB/s, 2 seconds passed -... 90%, 114080 KB, 47945 KB/s, 2 seconds passed -... 90%, 114112 KB, 47951 KB/s, 2 seconds passed -... 90%, 114144 KB, 47957 KB/s, 2 seconds passed -... 90%, 114176 KB, 47962 KB/s, 2 seconds passed -... 90%, 114208 KB, 47968 KB/s, 2 seconds passed -... 90%, 114240 KB, 47974 KB/s, 2 seconds passed -... 90%, 114272 KB, 47980 KB/s, 2 seconds passed -... 90%, 114304 KB, 47987 KB/s, 2 seconds passed -... 90%, 114336 KB, 47996 KB/s, 2 seconds passed -... 90%, 114368 KB, 48005 KB/s, 2 seconds passed -... 90%, 114400 KB, 48013 KB/s, 2 seconds passed -... 90%, 114432 KB, 48022 KB/s, 2 seconds passed -... 90%, 114464 KB, 48029 KB/s, 2 seconds passed -... 90%, 114496 KB, 48034 KB/s, 2 seconds passed -... 90%, 114528 KB, 48039 KB/s, 2 seconds passed -... 90%, 114560 KB, 48046 KB/s, 2 seconds passed -... 90%, 114592 KB, 48052 KB/s, 2 seconds passed -... 91%, 114624 KB, 48058 KB/s, 2 seconds passed -... 91%, 114656 KB, 48065 KB/s, 2 seconds passed -... 91%, 114688 KB, 48071 KB/s, 2 seconds passed -... 91%, 114720 KB, 48076 KB/s, 2 seconds passed -... 91%, 114752 KB, 48082 KB/s, 2 seconds passed -... 91%, 114784 KB, 48088 KB/s, 2 seconds passed -... 91%, 114816 KB, 48095 KB/s, 2 seconds passed -... 91%, 114848 KB, 48100 KB/s, 2 seconds passed -... 91%, 114880 KB, 48108 KB/s, 2 seconds passed -... 91%, 114912 KB, 48113 KB/s, 2 seconds passed -... 91%, 114944 KB, 48121 KB/s, 2 seconds passed -... 91%, 114976 KB, 48019 KB/s, 2 seconds passed -... 91%, 115008 KB, 48006 KB/s, 2 seconds passed -... 91%, 115040 KB, 48009 KB/s, 2 seconds passed -... 91%, 115072 KB, 48015 KB/s, 2 seconds passed -... 91%, 115104 KB, 48020 KB/s, 2 seconds passed -... 91%, 115136 KB, 48026 KB/s, 2 seconds passed -... 91%, 115168 KB, 48031 KB/s, 2 seconds passed -... 91%, 115200 KB, 48036 KB/s, 2 seconds passed -... 91%, 115232 KB, 48042 KB/s, 2 seconds passed -... 91%, 115264 KB, 48048 KB/s, 2 seconds passed -... 91%, 115296 KB, 48054 KB/s, 2 seconds passed -... 91%, 115328 KB, 48059 KB/s, 2 seconds passed -... 91%, 115360 KB, 48065 KB/s, 2 seconds passed -... 91%, 115392 KB, 48071 KB/s, 2 seconds passed -... 91%, 115424 KB, 48077 KB/s, 2 seconds passed -... 91%, 115456 KB, 48083 KB/s, 2 seconds passed -... 91%, 115488 KB, 48088 KB/s, 2 seconds passed -... 91%, 115520 KB, 48094 KB/s, 2 seconds passed -... 91%, 115552 KB, 48099 KB/s, 2 seconds passed -... 91%, 115584 KB, 48105 KB/s, 2 seconds passed -... 91%, 115616 KB, 48110 KB/s, 2 seconds passed -... 91%, 115648 KB, 48116 KB/s, 2 seconds passed -... 91%, 115680 KB, 48122 KB/s, 2 seconds passed -... 91%, 115712 KB, 48127 KB/s, 2 seconds passed -... 91%, 115744 KB, 48132 KB/s, 2 seconds passed -... 91%, 115776 KB, 48137 KB/s, 2 seconds passed -... 91%, 115808 KB, 48143 KB/s, 2 seconds passed -... 91%, 115840 KB, 48148 KB/s, 2 seconds passed -... 91%, 115872 KB, 48154 KB/s, 2 seconds passed -... 92%, 115904 KB, 48162 KB/s, 2 seconds passed -... 92%, 115936 KB, 48169 KB/s, 2 seconds passed -... 92%, 115968 KB, 48177 KB/s, 2 seconds passed -... 92%, 116000 KB, 48184 KB/s, 2 seconds passed -... 92%, 116032 KB, 48192 KB/s, 2 seconds passed -... 92%, 116064 KB, 48199 KB/s, 2 seconds passed -... 92%, 116096 KB, 48207 KB/s, 2 seconds passed -... 92%, 116128 KB, 48214 KB/s, 2 seconds passed -... 92%, 116160 KB, 48221 KB/s, 2 seconds passed -... 92%, 116192 KB, 48229 KB/s, 2 seconds passed -... 92%, 116224 KB, 48113 KB/s, 2 seconds passed -... 92%, 116256 KB, 48118 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 92%, 116288 KB, 48124 KB/s, 2 seconds passed -... 92%, 116320 KB, 48130 KB/s, 2 seconds passed -... 92%, 116352 KB, 48138 KB/s, 2 seconds passed -... 92%, 116384 KB, 48145 KB/s, 2 seconds passed -... 92%, 116416 KB, 48152 KB/s, 2 seconds passed -... 92%, 116448 KB, 48158 KB/s, 2 seconds passed -... 92%, 116480 KB, 48166 KB/s, 2 seconds passed -... 92%, 116512 KB, 48172 KB/s, 2 seconds passed -... 92%, 116544 KB, 48179 KB/s, 2 seconds passed -... 92%, 116576 KB, 48186 KB/s, 2 seconds passed -... 92%, 116608 KB, 48194 KB/s, 2 seconds passed -... 92%, 116640 KB, 48201 KB/s, 2 seconds passed -... 92%, 116672 KB, 48208 KB/s, 2 seconds passed -... 92%, 116704 KB, 48215 KB/s, 2 seconds passed -... 92%, 116736 KB, 48221 KB/s, 2 seconds passed -... 92%, 116768 KB, 48228 KB/s, 2 seconds passed -... 92%, 116800 KB, 48235 KB/s, 2 seconds passed -... 92%, 116832 KB, 48242 KB/s, 2 seconds passed -... 92%, 116864 KB, 48249 KB/s, 2 seconds passed -... 92%, 116896 KB, 48255 KB/s, 2 seconds passed -... 92%, 116928 KB, 48262 KB/s, 2 seconds passed -... 92%, 116960 KB, 48268 KB/s, 2 seconds passed -... 92%, 116992 KB, 48275 KB/s, 2 seconds passed -... 92%, 117024 KB, 48282 KB/s, 2 seconds passed -... 92%, 117056 KB, 48288 KB/s, 2 seconds passed -... 92%, 117088 KB, 48295 KB/s, 2 seconds passed -... 92%, 117120 KB, 48301 KB/s, 2 seconds passed -... 93%, 117152 KB, 48308 KB/s, 2 seconds passed -... 93%, 117184 KB, 48314 KB/s, 2 seconds passed -... 93%, 117216 KB, 48321 KB/s, 2 seconds passed -... 93%, 117248 KB, 48328 KB/s, 2 seconds passed -... 93%, 117280 KB, 48334 KB/s, 2 seconds passed -... 93%, 117312 KB, 48341 KB/s, 2 seconds passed -... 93%, 117344 KB, 48347 KB/s, 2 seconds passed -... 93%, 117376 KB, 48354 KB/s, 2 seconds passed -... 93%, 117408 KB, 48361 KB/s, 2 seconds passed -... 93%, 117440 KB, 48367 KB/s, 2 seconds passed -... 93%, 117472 KB, 48374 KB/s, 2 seconds passed -... 93%, 117504 KB, 48380 KB/s, 2 seconds passed -... 93%, 117536 KB, 48387 KB/s, 2 seconds passed -... 93%, 117568 KB, 48395 KB/s, 2 seconds passed -... 93%, 117600 KB, 48403 KB/s, 2 seconds passed -... 93%, 117632 KB, 48411 KB/s, 2 seconds passed -... 93%, 117664 KB, 48419 KB/s, 2 seconds passed -... 93%, 117696 KB, 48428 KB/s, 2 seconds passed -... 93%, 117728 KB, 48436 KB/s, 2 seconds passed -... 93%, 117760 KB, 47758 KB/s, 2 seconds passed -... 93%, 117792 KB, 47759 KB/s, 2 seconds passed -... 93%, 117824 KB, 47764 KB/s, 2 seconds passed -... 93%, 117856 KB, 47769 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 93%, 117888 KB, 47775 KB/s, 2 seconds passed -... 93%, 117920 KB, 47780 KB/s, 2 seconds passed -... 93%, 117952 KB, 47786 KB/s, 2 seconds passed -... 93%, 117984 KB, 47791 KB/s, 2 seconds passed -... 93%, 118016 KB, 47796 KB/s, 2 seconds passed -... 93%, 118048 KB, 47802 KB/s, 2 seconds passed -... 93%, 118080 KB, 47807 KB/s, 2 seconds passed -... 93%, 118112 KB, 47812 KB/s, 2 seconds passed -... 93%, 118144 KB, 47818 KB/s, 2 seconds passed -... 93%, 118176 KB, 47823 KB/s, 2 seconds passed -... 93%, 118208 KB, 47828 KB/s, 2 seconds passed -... 93%, 118240 KB, 47834 KB/s, 2 seconds passed -... 93%, 118272 KB, 47839 KB/s, 2 seconds passed -... 93%, 118304 KB, 47844 KB/s, 2 seconds passed -... 93%, 118336 KB, 47849 KB/s, 2 seconds passed -... 93%, 118368 KB, 47854 KB/s, 2 seconds passed -... 94%, 118400 KB, 47860 KB/s, 2 seconds passed -... 94%, 118432 KB, 47865 KB/s, 2 seconds passed -... 94%, 118464 KB, 47871 KB/s, 2 seconds passed -... 94%, 118496 KB, 47876 KB/s, 2 seconds passed -... 94%, 118528 KB, 47882 KB/s, 2 seconds passed -... 94%, 118560 KB, 47887 KB/s, 2 seconds passed -... 94%, 118592 KB, 47892 KB/s, 2 seconds passed -... 94%, 118624 KB, 47897 KB/s, 2 seconds passed -... 94%, 118656 KB, 47903 KB/s, 2 seconds passed -... 94%, 118688 KB, 47908 KB/s, 2 seconds passed -... 94%, 118720 KB, 47914 KB/s, 2 seconds passed -... 94%, 118752 KB, 47919 KB/s, 2 seconds passed -... 94%, 118784 KB, 47924 KB/s, 2 seconds passed -... 94%, 118816 KB, 47930 KB/s, 2 seconds passed -... 94%, 118848 KB, 47935 KB/s, 2 seconds passed -... 94%, 118880 KB, 47940 KB/s, 2 seconds passed -... 94%, 118912 KB, 47945 KB/s, 2 seconds passed -... 94%, 118944 KB, 47951 KB/s, 2 seconds passed -... 94%, 118976 KB, 47956 KB/s, 2 seconds passed -... 94%, 119008 KB, 47962 KB/s, 2 seconds passed -... 94%, 119040 KB, 47968 KB/s, 2 seconds passed -... 94%, 119072 KB, 47973 KB/s, 2 seconds passed -... 94%, 119104 KB, 47979 KB/s, 2 seconds passed -... 94%, 119136 KB, 47984 KB/s, 2 seconds passed -... 94%, 119168 KB, 47990 KB/s, 2 seconds passed -... 94%, 119200 KB, 47997 KB/s, 2 seconds passed -... 94%, 119232 KB, 48005 KB/s, 2 seconds passed -... 94%, 119264 KB, 48014 KB/s, 2 seconds passed -... 94%, 119296 KB, 48022 KB/s, 2 seconds passed -... 94%, 119328 KB, 48029 KB/s, 2 seconds passed -... 94%, 119360 KB, 48037 KB/s, 2 seconds passed -... 94%, 119392 KB, 48045 KB/s, 2 seconds passed -... 94%, 119424 KB, 48054 KB/s, 2 seconds passed -... 94%, 119456 KB, 48062 KB/s, 2 seconds passed -... 94%, 119488 KB, 48070 KB/s, 2 seconds passed -... 94%, 119520 KB, 48078 KB/s, 2 seconds passed -... 94%, 119552 KB, 48086 KB/s, 2 seconds passed -... 94%, 119584 KB, 48094 KB/s, 2 seconds passed -... 94%, 119616 KB, 48102 KB/s, 2 seconds passed -... 94%, 119648 KB, 48110 KB/s, 2 seconds passed -... 95%, 119680 KB, 48118 KB/s, 2 seconds passed -... 95%, 119712 KB, 48127 KB/s, 2 seconds passed -... 95%, 119744 KB, 48135 KB/s, 2 seconds passed -... 95%, 119776 KB, 48143 KB/s, 2 seconds passed -... 95%, 119808 KB, 48151 KB/s, 2 seconds passed -... 95%, 119840 KB, 48159 KB/s, 2 seconds passed -... 95%, 119872 KB, 48167 KB/s, 2 seconds passed -... 95%, 119904 KB, 48175 KB/s, 2 seconds passed -... 95%, 119936 KB, 48183 KB/s, 2 seconds passed -... 95%, 119968 KB, 48191 KB/s, 2 seconds passed -... 95%, 120000 KB, 48199 KB/s, 2 seconds passed -... 95%, 120032 KB, 48208 KB/s, 2 seconds passed -... 95%, 120064 KB, 48216 KB/s, 2 seconds passed -... 95%, 120096 KB, 48224 KB/s, 2 seconds passed -... 95%, 120128 KB, 48232 KB/s, 2 seconds passed -... 95%, 120160 KB, 48240 KB/s, 2 seconds passed -... 95%, 120192 KB, 48248 KB/s, 2 seconds passed -... 95%, 120224 KB, 48256 KB/s, 2 seconds passed -... 95%, 120256 KB, 48264 KB/s, 2 seconds passed -... 95%, 120288 KB, 48272 KB/s, 2 seconds passed -... 95%, 120320 KB, 48280 KB/s, 2 seconds passed -... 95%, 120352 KB, 48288 KB/s, 2 seconds passed -... 95%, 120384 KB, 48296 KB/s, 2 seconds passed -... 95%, 120416 KB, 48304 KB/s, 2 seconds passed -... 95%, 120448 KB, 48312 KB/s, 2 seconds passed -... 95%, 120480 KB, 48320 KB/s, 2 seconds passed -... 95%, 120512 KB, 48330 KB/s, 2 seconds passed -... 95%, 120544 KB, 48340 KB/s, 2 seconds passed -... 95%, 120576 KB, 48349 KB/s, 2 seconds passed -... 95%, 120608 KB, 48359 KB/s, 2 seconds passed -... 95%, 120640 KB, 48368 KB/s, 2 seconds passed -... 95%, 120672 KB, 48378 KB/s, 2 seconds passed -... 95%, 120704 KB, 48387 KB/s, 2 seconds passed -... 95%, 120736 KB, 48397 KB/s, 2 seconds passed -... 95%, 120768 KB, 48406 KB/s, 2 seconds passed -... 95%, 120800 KB, 48416 KB/s, 2 seconds passed -... 95%, 120832 KB, 48425 KB/s, 2 seconds passed -... 95%, 120864 KB, 48435 KB/s, 2 seconds passed -... 95%, 120896 KB, 48444 KB/s, 2 seconds passed -... 96%, 120928 KB, 48454 KB/s, 2 seconds passed -... 96%, 120960 KB, 48463 KB/s, 2 seconds passed -... 96%, 120992 KB, 48473 KB/s, 2 seconds passed -... 96%, 121024 KB, 48482 KB/s, 2 seconds passed -... 96%, 121056 KB, 48492 KB/s, 2 seconds passed -... 96%, 121088 KB, 48500 KB/s, 2 seconds passed -... 96%, 121120 KB, 48510 KB/s, 2 seconds passed -... 96%, 121152 KB, 48519 KB/s, 2 seconds passed -... 96%, 121184 KB, 48529 KB/s, 2 seconds passed -... 96%, 121216 KB, 48539 KB/s, 2 seconds passed -... 96%, 121248 KB, 48548 KB/s, 2 seconds passed -... 96%, 121280 KB, 48558 KB/s, 2 seconds passed -... 96%, 121312 KB, 48568 KB/s, 2 seconds passed -... 96%, 121344 KB, 48577 KB/s, 2 seconds passed -... 96%, 121376 KB, 48587 KB/s, 2 seconds passed -... 96%, 121408 KB, 48596 KB/s, 2 seconds passed -... 96%, 121440 KB, 48606 KB/s, 2 seconds passed -... 96%, 121472 KB, 48615 KB/s, 2 seconds passed -... 96%, 121504 KB, 48625 KB/s, 2 seconds passed -... 96%, 121536 KB, 48635 KB/s, 2 seconds passed -... 96%, 121568 KB, 48644 KB/s, 2 seconds passed -... 96%, 121600 KB, 48654 KB/s, 2 seconds passed -... 96%, 121632 KB, 48571 KB/s, 2 seconds passed -... 96%, 121664 KB, 48579 KB/s, 2 seconds passed -... 96%, 121696 KB, 48587 KB/s, 2 seconds passed -... 96%, 121728 KB, 48594 KB/s, 2 seconds passed -... 96%, 121760 KB, 48587 KB/s, 2 seconds passed -... 96%, 121792 KB, 48594 KB/s, 2 seconds passed -... 96%, 121824 KB, 48603 KB/s, 2 seconds passed -... 96%, 121856 KB, 48610 KB/s, 2 seconds passed -... 96%, 121888 KB, 48618 KB/s, 2 seconds passed -... 96%, 121920 KB, 48625 KB/s, 2 seconds passed -... 96%, 121952 KB, 48632 KB/s, 2 seconds passed -... 96%, 121984 KB, 48640 KB/s, 2 seconds passed -... 96%, 122016 KB, 48648 KB/s, 2 seconds passed -... 96%, 122048 KB, 48654 KB/s, 2 seconds passed -... 96%, 122080 KB, 48662 KB/s, 2 seconds passed -... 96%, 122112 KB, 48670 KB/s, 2 seconds passed -... 96%, 122144 KB, 48676 KB/s, 2 seconds passed -... 97%, 122176 KB, 48682 KB/s, 2 seconds passed -... 97%, 122208 KB, 48690 KB/s, 2 seconds passed -... 97%, 122240 KB, 48697 KB/s, 2 seconds passed -... 97%, 122272 KB, 48704 KB/s, 2 seconds passed -... 97%, 122304 KB, 48713 KB/s, 2 seconds passed -... 97%, 122336 KB, 48720 KB/s, 2 seconds passed -... 97%, 122368 KB, 48728 KB/s, 2 seconds passed -... 97%, 122400 KB, 48735 KB/s, 2 seconds passed -... 97%, 122432 KB, 48742 KB/s, 2 seconds passed -... 97%, 122464 KB, 48747 KB/s, 2 seconds passed -... 97%, 122496 KB, 48756 KB/s, 2 seconds passed -... 97%, 122528 KB, 48764 KB/s, 2 seconds passed -... 97%, 122560 KB, 48772 KB/s, 2 seconds passed -... 97%, 122592 KB, 48780 KB/s, 2 seconds passed -... 97%, 122624 KB, 48787 KB/s, 2 seconds passed -... 97%, 122656 KB, 48794 KB/s, 2 seconds passed -... 97%, 122688 KB, 48801 KB/s, 2 seconds passed -... 97%, 122720 KB, 48808 KB/s, 2 seconds passed -... 97%, 122752 KB, 48816 KB/s, 2 seconds passed -... 97%, 122784 KB, 48823 KB/s, 2 seconds passed -... 97%, 122816 KB, 48827 KB/s, 2 seconds passed -... 97%, 122848 KB, 48835 KB/s, 2 seconds passed - -.. parsed-literal:: - - ... 97%, 122880 KB, 48610 KB/s, 2 seconds passed -... 97%, 122912 KB, 48613 KB/s, 2 seconds passed -... 97%, 122944 KB, 48622 KB/s, 2 seconds passed -... 97%, 122976 KB, 48626 KB/s, 2 seconds passed -... 97%, 123008 KB, 48612 KB/s, 2 seconds passed -... 97%, 123040 KB, 48619 KB/s, 2 seconds passed -... 97%, 123072 KB, 48627 KB/s, 2 seconds passed -... 97%, 123104 KB, 48636 KB/s, 2 seconds passed -... 97%, 123136 KB, 48644 KB/s, 2 seconds passed -... 97%, 123168 KB, 48651 KB/s, 2 seconds passed -... 97%, 123200 KB, 48659 KB/s, 2 seconds passed -... 97%, 123232 KB, 48663 KB/s, 2 seconds passed -... 97%, 123264 KB, 48671 KB/s, 2 seconds passed -... 97%, 123296 KB, 48678 KB/s, 2 seconds passed -... 97%, 123328 KB, 48686 KB/s, 2 seconds passed -... 97%, 123360 KB, 48693 KB/s, 2 seconds passed -... 97%, 123392 KB, 48700 KB/s, 2 seconds passed -... 97%, 123424 KB, 48707 KB/s, 2 seconds passed -... 98%, 123456 KB, 48713 KB/s, 2 seconds passed -... 98%, 123488 KB, 48720 KB/s, 2 seconds passed -... 98%, 123520 KB, 48727 KB/s, 2 seconds passed -... 98%, 123552 KB, 48734 KB/s, 2 seconds passed -... 98%, 123584 KB, 48740 KB/s, 2 seconds passed -... 98%, 123616 KB, 48747 KB/s, 2 seconds passed -... 98%, 123648 KB, 48754 KB/s, 2 seconds passed -... 98%, 123680 KB, 48761 KB/s, 2 seconds passed -... 98%, 123712 KB, 48768 KB/s, 2 seconds passed -... 98%, 123744 KB, 48774 KB/s, 2 seconds passed -... 98%, 123776 KB, 48781 KB/s, 2 seconds passed -... 98%, 123808 KB, 48788 KB/s, 2 seconds passed -... 98%, 123840 KB, 48795 KB/s, 2 seconds passed -... 98%, 123872 KB, 48801 KB/s, 2 seconds passed -... 98%, 123904 KB, 48808 KB/s, 2 seconds passed -... 98%, 123936 KB, 48815 KB/s, 2 seconds passed -... 98%, 123968 KB, 48822 KB/s, 2 seconds passed -... 98%, 124000 KB, 48829 KB/s, 2 seconds passed -... 98%, 124032 KB, 48836 KB/s, 2 seconds passed -... 98%, 124064 KB, 48843 KB/s, 2 seconds passed -... 98%, 124096 KB, 48849 KB/s, 2 seconds passed -... 98%, 124128 KB, 48856 KB/s, 2 seconds passed -... 98%, 124160 KB, 48863 KB/s, 2 seconds passed -... 98%, 124192 KB, 48870 KB/s, 2 seconds passed -... 98%, 124224 KB, 48876 KB/s, 2 seconds passed -... 98%, 124256 KB, 48883 KB/s, 2 seconds passed -... 98%, 124288 KB, 48890 KB/s, 2 seconds passed -... 98%, 124320 KB, 48896 KB/s, 2 seconds passed -... 98%, 124352 KB, 48903 KB/s, 2 seconds passed -... 98%, 124384 KB, 48910 KB/s, 2 seconds passed -... 98%, 124416 KB, 48917 KB/s, 2 seconds passed -... 98%, 124448 KB, 48924 KB/s, 2 seconds passed -... 98%, 124480 KB, 48931 KB/s, 2 seconds passed -... 98%, 124512 KB, 48938 KB/s, 2 seconds passed -... 98%, 124544 KB, 48946 KB/s, 2 seconds passed -... 98%, 124576 KB, 48955 KB/s, 2 seconds passed -... 98%, 124608 KB, 48964 KB/s, 2 seconds passed -... 98%, 124640 KB, 48973 KB/s, 2 seconds passed -... 98%, 124672 KB, 48981 KB/s, 2 seconds passed -... 99%, 124704 KB, 48990 KB/s, 2 seconds passed -... 99%, 124736 KB, 48999 KB/s, 2 seconds passed -... 99%, 124768 KB, 49008 KB/s, 2 seconds passed -... 99%, 124800 KB, 49017 KB/s, 2 seconds passed -... 99%, 124832 KB, 49026 KB/s, 2 seconds passed -... 99%, 124864 KB, 49034 KB/s, 2 seconds passed -... 99%, 124896 KB, 49042 KB/s, 2 seconds passed -... 99%, 124928 KB, 49047 KB/s, 2 seconds passed -... 99%, 124960 KB, 49054 KB/s, 2 seconds passed -... 99%, 124992 KB, 49062 KB/s, 2 seconds passed -... 99%, 125024 KB, 49071 KB/s, 2 seconds passed -... 99%, 125056 KB, 49076 KB/s, 2 seconds passed -... 99%, 125088 KB, 49083 KB/s, 2 seconds passed -... 99%, 125120 KB, 49091 KB/s, 2 seconds passed -... 99%, 125152 KB, 49098 KB/s, 2 seconds passed -... 99%, 125184 KB, 49106 KB/s, 2 seconds passed -... 99%, 125216 KB, 49111 KB/s, 2 seconds passed -... 99%, 125248 KB, 49119 KB/s, 2 seconds passed -... 99%, 125280 KB, 49126 KB/s, 2 seconds passed -... 99%, 125312 KB, 49135 KB/s, 2 seconds passed -... 99%, 125344 KB, 49143 KB/s, 2 seconds passed -... 99%, 125376 KB, 49150 KB/s, 2 seconds passed -... 99%, 125408 KB, 49155 KB/s, 2 seconds passed -... 99%, 125440 KB, 49162 KB/s, 2 seconds passed -... 99%, 125472 KB, 49170 KB/s, 2 seconds passed -... 99%, 125504 KB, 49176 KB/s, 2 seconds passed -... 99%, 125536 KB, 49184 KB/s, 2 seconds passed -... 99%, 125568 KB, 49191 KB/s, 2 seconds passed -... 99%, 125600 KB, 49199 KB/s, 2 seconds passed -... 99%, 125632 KB, 49206 KB/s, 2 seconds passed -... 99%, 125664 KB, 49214 KB/s, 2 seconds passed -... 99%, 125696 KB, 49221 KB/s, 2 seconds passed -... 99%, 125728 KB, 49228 KB/s, 2 seconds passed -... 99%, 125760 KB, 49235 KB/s, 2 seconds passed -... 99%, 125792 KB, 49242 KB/s, 2 seconds passed -... 99%, 125824 KB, 49249 KB/s, 2 seconds passed -... 99%, 125856 KB, 49257 KB/s, 2 seconds passed -... 99%, 125888 KB, 49263 KB/s, 2 seconds passed -... 99%, 125920 KB, 49269 KB/s, 2 seconds passed -... 99%, 125952 KB, 49279 KB/s, 2 seconds passed -... 100%, 125953 KB, 49276 KB/s, 2 seconds passed - - - -.. parsed-literal:: - - - ========== Downloading models/public/colorization-v2/model/__init__.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 305 KB/s, 0 seconds passed - - - ========== Downloading models/public/colorization-v2/model/base_color.py - - -.. parsed-literal:: - - ... 100%, 0 KB, 1751 KB/s, 0 seconds passed - - - ========== Downloading models/public/colorization-v2/model/eccv16.py - - -.. parsed-literal:: - - ... 100%, 4 KB, 17511 KB/s, 0 seconds passed - - - ========== Replacing text in models/public/colorization-v2/model/__init__.py - ========== Replacing text in models/public/colorization-v2/model/__init__.py - ========== Replacing text in models/public/colorization-v2/model/eccv16.py - - - -Convert the model to OpenVINO IR --------------------------------- - - - -``omz_converter`` converts the models that are not in the OpenVINO™ IR -format into that format using model conversion API. - -The downloaded pytorch model is not in OpenVINO IR format which is -required for inference with OpenVINO runtime. ``omz_converter`` is used -to convert the downloaded pytorch model into ONNX and OpenVINO IR format -respectively - -.. code:: ipython3 - - if not os.path.exists(MODEL_PATH): - convert_command = ( - f"omz_converter " - f"--name {MODEL_NAME} " - f"--download_dir {MODEL_DIR} " - f"--precisions {PRECISION}" - ) - ! $convert_command - - -.. parsed-literal:: - - ========== Converting colorization-v2 to ONNX - Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-path=models/public/colorization-v2 --model-name=ECCVGenerator --weights=models/public/colorization-v2/ckpt/colorization-v2-eccv16.pth --import-module=model --input-shape=1,1,256,256 --output-file=models/public/colorization-v2/colorization-v2-eccv16.onnx --input-names=data_l --output-names=color_ab - - - -.. parsed-literal:: - - ONNX check passed successfully. - - -.. parsed-literal:: - - - ========== Converting colorization-v2 to IR (FP16) - Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=models/public/colorization-v2/FP16 --model_name=colorization-v2 --input=data_l --output=color_ab --input_model=models/public/colorization-v2/colorization-v2-eccv16.onnx '--layout=data_l(NCHW)' '--input_shape=[1, 1, 256, 256]' --compress_to_fp16=True - - - -.. parsed-literal:: - - [ INFO ] Generated IR will be compressed to FP16. If you get lower accuracy, please consider disabling compression explicitly by adding argument --compress_to_fp16=False. - Find more information about compression to FP16 at https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_FP16_Compression.html - [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. - Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html - - -.. parsed-literal:: - - [ SUCCESS ] Generated IR version 11 model. - [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/222-vision-image-colorization/models/public/colorization-v2/FP16/colorization-v2.xml - [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/222-vision-image-colorization/models/public/colorization-v2/FP16/colorization-v2.bin - - - -Loading the Model ------------------ - - - -Load the model in OpenVINO Runtime with ``ie.read_model`` and compile it -for the specified device with ``ie.compile_model``. - -.. code:: ipython3 - - core = ov.Core() - model = core.read_model(model=MODEL_PATH) - compiled_model = core.compile_model(model=model, device_name=device.value) - input_layer = compiled_model.input(0) - output_layer = compiled_model.output(0) - N, C, H, W = list(input_layer.shape) - -Utility Functions ------------------ - - - -.. code:: ipython3 - - def read_image(impath: str) -> np.ndarray: - """ - Returns an image as ndarra, given path to an image reads the - (BGR) image using opencv's imread() API. - - Parameter: - impath (string): Path of the image to be read and returned. - - Returns: - image (ndarray): Numpy array representing the read image. - """ - - raw_image = cv2.imread(impath) - if raw_image.shape[2] > 1: - image = cv2.cvtColor( - cv2.cvtColor(raw_image, cv2.COLOR_BGR2GRAY), cv2.COLOR_GRAY2RGB - ) - else: - image = cv2.cvtColor(image, cv2.COLOR_GRAY2RGB) - - return image - - - def plot_image(image: np.ndarray, title: str = "") -> None: - """ - Given a image as ndarray and title as string, display it using - matplotlib. - - Parameters: - image (ndarray): Numpy array representing the image to be - displayed. - title (string): String representing the title of the plot. - - Returns: - None - - """ - - plt.imshow(image) - plt.title(title) - plt.axis("off") - plt.show() - - - def plot_output(gray_img: np.ndarray, color_img: np.ndarray) -> None: - """ - Plots the original (bw or grayscale) image and colorized image - on different column axes for comparing side by side. - - Parameters: - gray_image (ndarray): Numpy array representing the original image. - color_image (ndarray): Numpy array representing the model output. - - Returns: - None - """ - - fig = plt.figure(figsize=(12, 12)) - - ax1 = fig.add_subplot(1, 2, 1) - plt.title("Input", fontsize=20) - ax1.axis("off") - - ax2 = fig.add_subplot(1, 2, 2) - plt.title("Colorized", fontsize=20) - ax2.axis("off") - - ax1.imshow(gray_img) - ax2.imshow(color_img) - - plt.show() - -Load the Image --------------- - - - -.. code:: ipython3 - - img_url_0 = "https://user-images.githubusercontent.com/18904157/180923287-20339d01-b1bf-493f-9a0d-55eff997aff1.jpg" - img_url_1 = "https://user-images.githubusercontent.com/18904157/180923289-0bb71e09-25e1-46a6-aaf1-e8f666b62d26.jpg" - - image_file_0 = utils.download_file( - img_url_0, filename="test_0.jpg", directory="data", show_progress=False, silent=True, timeout=30 - ) - assert Path(image_file_0).exists() - - image_file_1 = utils.download_file( - img_url_1, filename="test_1.jpg", directory="data", show_progress=False, silent=True, timeout=30 - ) - assert Path(image_file_1).exists() - - test_img_0 = read_image("data/test_0.jpg") - test_img_1 = read_image("data/test_1.jpg") - -.. code:: ipython3 - - def colorize(gray_img: np.ndarray) -> np.ndarray: - - """ - Given an image as ndarray for inference convert the image into LAB image, - the model consumes as input L-Channel of LAB image and provides output - A & B - Channels of LAB image. i.e returns a colorized image - - Parameters: - gray_img (ndarray): Numpy array representing the original - image. - - Returns: - colorize_image (ndarray): Numpy arrray depicting the - colorized version of the original - image. - """ - - # Preprocess - h_in, w_in, _ = gray_img.shape - img_rgb = gray_img.astype(np.float32) / 255 - img_lab = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2Lab) - img_l_rs = cv2.resize(img_lab.copy(), (W, H))[:, :, 0] - - # Inference - inputs = np.expand_dims(img_l_rs, axis=[0, 1]) - res = compiled_model([inputs])[output_layer] - update_res = np.squeeze(res) - - # Post-process - out = update_res.transpose((1, 2, 0)) - out = cv2.resize(out, (w_in, h_in)) - img_lab_out = np.concatenate((img_lab[:, :, 0][:, :, np.newaxis], - out), axis=2) - img_bgr_out = np.clip(cv2.cvtColor(img_lab_out, cv2.COLOR_Lab2RGB), 0, 1) - colorized_image = (cv2.resize(img_bgr_out, (w_in, h_in)) - * 255).astype(np.uint8) - return colorized_image - -.. code:: ipython3 - - color_img_0 = colorize(test_img_0) - color_img_1 = colorize(test_img_1) - -Display Colorized Image ------------------------ - - - -.. code:: ipython3 - - plot_output(test_img_0, color_img_0) - - - -.. image:: 222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_21_0.png - - -.. code:: ipython3 - - plot_output(test_img_1, color_img_1) - - - -.. image:: 222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_22_0.png - diff --git a/docs/notebooks/222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_21_0.png b/docs/notebooks/222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_21_0.png deleted file mode 100644 index d6c6893d0c1..00000000000 --- a/docs/notebooks/222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_21_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9aa9eeb946249859a5cfcbd1fe51e653540df65edf0aa7fc6df5ce2b6ec24873 -size 415784 diff --git a/docs/notebooks/222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_22_0.png b/docs/notebooks/222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_22_0.png deleted file mode 100644 index 7f5fbec13af..00000000000 --- a/docs/notebooks/222-vision-image-colorization-with-output_files/222-vision-image-colorization-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c1cdd9c25b0b4a2fb4d93dcea24e9de9796e95d97c50c69fceee25f713cc7a50 -size 284968 diff --git a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_10_0.jpg b/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_10_0.jpg deleted file mode 100644 index 18b04d6fb0e..00000000000 --- a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_10_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b222b97c1acc37d19b21ac6e8d0d4b234cb9701428683054cd4aea230d974dcb -size 64438 diff --git a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_10_0.png b/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_10_0.png deleted file mode 100644 index 1677e0a8af8..00000000000 --- a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_10_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e0fab55322d09f8862ac70abfeb925177be0ffa6621b46d3803e44a6bbe8f92 -size 566882 diff --git a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_27_0.jpg b/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_27_0.jpg deleted file mode 100644 index b9b33b58239..00000000000 --- a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_27_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e56f878a1bac66ee2b415ee5a99c934d391780cc7e3233f225a65bab65a7eb59 -size 63349 diff --git a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_27_0.png b/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_27_0.png deleted file mode 100644 index db6166072b4..00000000000 --- a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_27_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bf12caffa24f9d0454d80d200e9428cf7d15ca4331345141e7d6d0b018679f72 -size 572283 diff --git a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_44_0.jpg b/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_44_0.jpg deleted file mode 100644 index 48272089385..00000000000 --- a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_44_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8e0864d313aab7f8ae6af7dff01c4e8cdd07e201a4a4bf7271883e32afdbce3 -size 63448 diff --git a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_44_0.png b/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_44_0.png deleted file mode 100644 index 76f13825e08..00000000000 --- a/docs/notebooks/226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_44_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5b835cdb94aa77319ba68e76d462cef01ec81c71c846d26b44837be7071485f6 -size 572078 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_11_1.jpg b/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_11_1.jpg deleted file mode 100644 index 312a15b77bc..00000000000 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_11_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0dc96d6ea30eb847e9bb4d21746a7023fb9c65bec9e541a9ee6a3285e29e303f -size 81079 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_11_1.png b/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_11_1.png deleted file mode 100644 index 5cc6729e1d8..00000000000 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_11_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:860af64994d31c78cca5b135d123b43fa6ce242e7c9a9d405af71f6378ca8371 -size 790288 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_22_0.jpg b/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_22_0.jpg deleted file mode 100644 index f058efb47f6..00000000000 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_22_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8d24361c768d325a0e2312d6017b2a6009acd74016c474210321b4b4b9abcec -size 104433 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_22_0.png b/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_22_0.png deleted file mode 100644 index 55b1207a49c..00000000000 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ff90581c563622844bf83f58a2009a7f4912386a4715b6bed9ba1dfb723e784 -size 919053 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_44_0.jpg b/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_44_0.jpg deleted file mode 100644 index 7a388b32651..00000000000 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_44_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:08f48335ee8e7d5d68e2362ab739dadc1296bc249448bebdf7ea4a1cd6c4cad3 -size 103935 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_44_0.png b/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_44_0.png deleted file mode 100644 index a773f9f1906..00000000000 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_44_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c8ae669f9481f2cda26667a0585a49e7a106b042f589c7f0c2254358a98062bc -size 918316 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_60_0.png b/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_60_0.png deleted file mode 100644 index 7e0cf8c227a..00000000000 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_60_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75690d9066aa42dec4d0c3615900d455b30b3e38b42e78f432fe3d0aa1e6be42 -size 495438 diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_22_0.jpg b/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_22_0.jpg deleted file mode 100644 index 84e6299859f..00000000000 --- a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_22_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5b1a72d1576ff64ad3a39ce2cd2a6ba3ec52064658f0b95a959d7d400c7b0f24 -size 58280 diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_22_0.png b/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_22_0.png deleted file mode 100644 index 1ef752a814c..00000000000 --- a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9aad0af4692c4f8bca8f3f9743d13e1d47458ab2021b055d2a2a9cee6e5ee95b -size 584143 diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_46_0.jpg b/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_46_0.jpg deleted file mode 100644 index ed7fc33c8f7..00000000000 --- a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_46_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e372bab673bb6fc868de2090d47aa8168704c96505e5b3088f7456ad857736d -size 58058 diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_46_0.png b/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_46_0.png deleted file mode 100644 index 3ea38c71af7..00000000000 --- a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_46_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cac27f8c1d426e82197bb9ef05813969879300612ecefd669bafd83312b1fda2 -size 584051 diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_62_0.png b/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_62_0.png deleted file mode 100644 index 34cbe321146..00000000000 --- a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_62_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d91473c690b959bd3c1d99007c05511389f82e3c449eb61e4ef4988aa3bc5f31 -size 490879 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_11_1.jpg b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_11_1.jpg deleted file mode 100644 index 4e94755f08d..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_11_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75b98a5fef7380a09eda6ceeb961edca0e13fbcad4c3bed0e7de10c2c999f959 -size 110998 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_11_1.png b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_11_1.png deleted file mode 100644 index d90aada7f55..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_11_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89b5ed3953a58c552aa19fb89e3748ae1b71ac2a7d6a4fad4d6b625316d92da1 -size 910454 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_22_0.jpg b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_22_0.jpg deleted file mode 100644 index 54446c32461..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_22_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a33a9db3664a7c515e8fe0b4cbb3d76ffd5caa1aae461c9a2f59de83337a4b69 -size 110022 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_22_0.png b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_22_0.png deleted file mode 100644 index 450c7756c1b..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:002a762c093757329b1c7053bd3947253b012b23039c8dfdbd39a9652883ce5c -size 929067 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_45_0.jpg b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_45_0.jpg deleted file mode 100644 index 90588b4a194..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_45_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:932e582498ae12492125875a331a07b8cca4f381bc305ca6865c40b7040c0e64 -size 110900 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_45_0.png b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_45_0.png deleted file mode 100644 index 5c788d5c390..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_45_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fae72a171d89c60b002cf544eb585b041e5b1e6bc0973287e85ffef16c63e3f -size 929911 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_68_0.jpg b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_68_0.jpg deleted file mode 100644 index 90588b4a194..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_68_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:932e582498ae12492125875a331a07b8cca4f381bc305ca6865c40b7040c0e64 -size 110900 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_68_0.png b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_68_0.png deleted file mode 100644 index 5c788d5c390..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_68_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fae72a171d89c60b002cf544eb585b041e5b1e6bc0973287e85ffef16c63e3f -size 929911 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_74_0.png b/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_74_0.png deleted file mode 100644 index 7d15baa9717..00000000000 --- a/docs/notebooks/230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_74_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:34aba75212ffc8c00f004c94b5fb1579f4cd3090e977b25749333a0b22af2edc -size 491904 diff --git a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_25_0.png b/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_25_0.png deleted file mode 100644 index 674cc5bb221..00000000000 --- a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_25_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:88c1dacbf8b311a9fa2d6b946db4321098bfc9cbb86bcc1301db647edac0e040 -size 206675 diff --git a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_27_0.png b/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_27_0.png deleted file mode 100644 index 6a4498b8c5f..00000000000 --- a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_27_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9d5665cfb53c9c38d8c2b0e4a1c257f9527e9b184b4c883d0dde93b70032cc2 -size 210267 diff --git a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_47_0.png b/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_47_0.png deleted file mode 100644 index 4dc70577d21..00000000000 --- a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_47_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d8fa15d4f0b6ebad30b5b91b74cdb16caa97861b3c25e87f9fe506234dca5c3 -size 205951 diff --git a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_49_0.png b/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_49_0.png deleted file mode 100644 index 6a4498b8c5f..00000000000 --- a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_49_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9d5665cfb53c9c38d8c2b0e4a1c257f9527e9b184b4c883d0dde93b70032cc2 -size 210267 diff --git a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_7_0.png b/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_7_0.png deleted file mode 100644 index 6a4498b8c5f..00000000000 --- a/docs/notebooks/233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_7_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9d5665cfb53c9c38d8c2b0e4a1c257f9527e9b184b4c883d0dde93b70032cc2 -size 210267 diff --git a/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_19_1.png b/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_19_1.png deleted file mode 100644 index 452535466b1..00000000000 --- a/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_19_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb4056b4724cf2e750784b213e268642c4d271ee7040191dfa6f43fc2e5b7a0d -size 44362 diff --git a/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_38_1.png b/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_38_1.png deleted file mode 100644 index 94d15a75c88..00000000000 --- a/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_38_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6b2a5f55a19fc2ba0311b96186da53b3f136e0205e79dacf622c63056cc234c -size 44353 diff --git a/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_6_2.png b/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_6_2.png deleted file mode 100644 index 6764dc32c6e..00000000000 --- a/docs/notebooks/234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_6_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39d61577e20a8f12f1d6f1dab568162c6736be94037e61007ac36d5b5f31579a -size 45005 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_20_0.png b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_20_0.png deleted file mode 100644 index df016b4362f..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_20_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:548de0a5d78bfff78d1e2bf1928ad661e1710adbc67a6c5c06217b58da7254c9 -size 15474 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_22_0.png b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_22_0.png deleted file mode 100644 index d5c4c11fe3f..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f1515a23118e88f3ebd077d54a5a4f9aa2646ed900ccf359bd26fedcfd5280ef -size 13795 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_24_0.png b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_24_0.png deleted file mode 100644 index c3e978ac9a1..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_24_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8d6f6ea71a02f96c438341ffb8cf967653068350a1fb70fe5775f775a9d4f38 -size 18151 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_26_1.jpg b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_26_1.jpg deleted file mode 100644 index 57b27fdf471..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_26_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0afb9c967000fda34e9bc86710e52806c4534a4adebcf7ee4da278c51d42b5e7 -size 36700 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_26_1.png b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_26_1.png deleted file mode 100644 index dab9cdf3fbf..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_26_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7d41a1f38efda8f946697a868f8bf5a5e839b6826b0d0ed55617adfc18bad923 -size 341289 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_27_1.jpg b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_27_1.jpg deleted file mode 100644 index 74de64eec53..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_27_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec7c92e7c0df9f866fb55f2bad06ce27e6f0caec4b1d1ebe8582381db7bf2b2a -size 71448 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_27_1.png b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_27_1.png deleted file mode 100644 index ddf371f75b3..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_27_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0056fb57206d58454fe7b19f74ad0f93cb8b91b00cc19c537809e38e9cdaa8fd -size 839471 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_28_1.jpg b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_28_1.jpg deleted file mode 100644 index 917fa58d82a..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_28_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:13bcb163019054d5667867f976db4c158b18ee3bc0d9c385794ff8461e55888f -size 54208 diff --git a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_28_1.png b/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_28_1.png deleted file mode 100644 index a149b46c668..00000000000 --- a/docs/notebooks/239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_28_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:93a8fe24712027cf386d66d8aac8bb0fc3d208f45b9e27f33d762bfb5d62693a -size 658748 diff --git a/docs/notebooks/239-image-bind-quantize-with-output.rst b/docs/notebooks/239-image-bind-quantize-with-output.rst deleted file mode 100644 index 422077123a5..00000000000 --- a/docs/notebooks/239-image-bind-quantize-with-output.rst +++ /dev/null @@ -1,676 +0,0 @@ -Post-Training Quantization of ImageBind model with NNCF -======================================================= - -The goal of this tutorial is to demonstrate how to speed up the model by -applying 8-bit post-training quantization from -`NNCF `__ (Neural Network -Compression Framework) and infer quantized model via OpenVINO™ Toolkit. - -The optimization process contains the following steps: 1. Quantize -converted OpenVINO model from -`notebook <239-image-bind-convert-with-output.html>`__ with NNCF. 2. Compare -probability matrices between converted and quantized models on input -data examples. 3. Compare model size of converted and quantized models. -4. Compare performance of converted and quantized models. - - **NOTE**: you should run - `239-image-bind-convert <239-image-bind-convert-with-output.html>`__ notebook - first to generate OpenVINO IR models that are used for quantization. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Prerequisites <#prerequisites>`__ -- `Create and initialize - quantization <#create-and-initialize-quantization>`__ - - - `Prepare datasets <#prepare-datasets>`__ - -- `Compare results for the OpenVINO FP16 model and the quantized - model <#compare-results-for-the-openvino-fp16-model-and-the-quantized-model>`__ - - - `Select inference device <#select-inference-device>`__ - - - `Compare File Size <#compare-file-size>`__ - - `Compare inference time of the FP16 IR and quantized - models <#compare-inference-time-of-the-fp16-ir-and-quantized-models>`__ - -Prerequisites -------------- - - - -.. code:: ipython3 - - %pip install -q datasets librosa soundfile "openvino>=2023.1.0" "nncf" - - -.. parsed-literal:: - - DEPRECATION: omegaconf 2.0.6 has a non-standard dependency specifier PyYAML>=5.1.*. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of omegaconf or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - [notice] A new release of pip is available: 23.2.1 -> 23.3.1 - [notice] To update, run: pip install --upgrade pip - Note: you may need to restart the kernel to use updated packages. - - -.. code:: ipython3 - - from pathlib import Path - - repo_dir = Path("ImageBind") - - if not repo_dir.exists(): - raise RuntimeError('This notebook should be run after 239-image-bind-convert notebook') - - %cd {repo_dir} - - -.. parsed-literal:: - - /home/ea/work/openvino_notebooks/notebooks/239-image-bind/ImageBind - - -Create and initialize quantization ----------------------------------- - - - -`NNCF `__ enables -post-training quantization by adding the quantization layers into the -model graph and then using a subset of the training dataset to -initialize the parameters of these additional quantization layers. The -framework is designed so that modifications to your original training -code are minor. Quantization is the simplest scenario and requires a few -modifications. - -The optimization process contains the following steps: 1. Create a -Dataset for quantization. 2. Run ``nncf.quantize`` for getting a -quantized model. 3. Serialize the ``INT8`` model using -``openvino.save_model`` function. - -.. code:: ipython3 - - from pathlib import Path - from imagebind.models.imagebind_model import ModalityType - - modalities = [ModalityType.TEXT, ModalityType.VISION, ModalityType.AUDIO] - fp_model_paths = {modality: Path(f"image-bind-{modality}") / f"image-bind-{modality}.xml" for modality in modalities} - int8_model_paths = {modality: Path(f"image-bind-{modality}") / f"image-bind-{modality}_int8.xml" for modality in modalities} - - -.. parsed-literal:: - - /home/ea/work/ov_venv/lib/python3.8/site-packages/torchvision/transforms/functional_tensor.py:5: UserWarning: The torchvision.transforms.functional_tensor module is deprecated in 0.15 and will be **removed in 0.17**. Please don't rely on it. You probably just need to use APIs in torchvision.transforms.functional or in torchvision.transforms.v2.functional. - warnings.warn( - /home/ea/work/ov_venv/lib/python3.8/site-packages/torchvision/transforms/_functional_video.py:6: UserWarning: The 'torchvision.transforms._functional_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms.functional' module instead. - warnings.warn( - /home/ea/work/ov_venv/lib/python3.8/site-packages/torchvision/transforms/_transforms_video.py:22: UserWarning: The 'torchvision.transforms._transforms_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms' module instead. - warnings.warn( - - -Prepare datasets -~~~~~~~~~~~~~~~~ - - - -The `Conceptual -Captions `__ dataset -consisting of ~3.3M images annotated with captions. Dataset is used to -quantize image and text models. - -.. code:: ipython3 - - import imagebind.data as data - import os - import requests - import tempfile - - from requests.packages.urllib3.exceptions import InsecureRequestWarning - requests.packages.urllib3.disable_warnings(InsecureRequestWarning) - - def check_text_data(data): - """ - Check if the given data is text-based. - """ - if isinstance(data, str): - return True - if isinstance(data, list): - return all(isinstance(x, str) for x in data) - return False - - def collate_fn(examples, image_column="image_url", text_column="caption"): - """ - Collates examples into a batch for processing. - Preprocesses each example by loading and transforming image and text data. - Checks if the text data in the example is valid by calling the `check_text_data` function. - Downloads the image specified by the URL in the image_column of the example dictionary. - Constructs and returns a dictionary representing the collated batch with the following keys: - - "pixel_values": The pixel values of the preprocessed example. - - "input_ids": The transformed text data of the preprocessed example. - """ - assert len(examples) == 1 - example = examples[0] - if not check_text_data(example[text_column]): - raise ValueError("Text data is not valid") - - url = example[image_column] - with tempfile.TemporaryDirectory() as tempdir: - f_name = os.path.join(tempdir, 'image.jpg') - try: - response = requests.get(url, verify=False, timeout=20) - with open(f_name, "wb") as file: - file.write(response.content) - pixel_values = data.load_and_transform_vision_data([f_name], "cpu") - except Exception: - print(f"Can't load image from url: {url}") - return None - - text = data.load_and_transform_text([example[text_column]], "cpu") - - return { - "pixel_values": pixel_values, - "input_ids": text - } - -.. code:: ipython3 - - from datasets import load_dataset - import itertools - import torch - from tqdm.notebook import tqdm - - def collect_vision_text_data(dataloader, init_steps): - """ - This function collects vision and text data from a dataloader for a specified number of initialization steps. - It iterates over the dataloader, fetching batches and storing the relevant vision and text data. - Returns a tuple containing the collected vision_data and text_data lists. - """ - text_data = [] - vision_data = [] - print(f"Fetching {init_steps} for the initialization...") - counter = 0 - for batch in tqdm(dataloader): - if counter == init_steps: - break - with torch.no_grad(): - if batch: - counter += 1 - text_data.append(batch["input_ids"].to("cpu")) - vision_data.append(batch["pixel_values"].to("cpu")) - return vision_data, text_data - - def prepare_vision_text_dataset(opt_init_steps=300): - """ - Prepares a vision-text dataset for quantization by collecting vision and text data. - """ - dataset = load_dataset("conceptual_captions", streaming=True) - train_dataset = dataset["train"].shuffle(seed=0) - dataloader = torch.utils.data.DataLoader(train_dataset, collate_fn=collate_fn, batch_size=1) - vision_data, text_data = collect_vision_text_data(dataloader, opt_init_steps) - return vision_data, text_data - -The `ESC-50 `__ dataset is -used to quantize the audio modality of the ImageBind model. Dataset is a -labeled collection of 2000 environmental audio recordings suitable for -benchmarking methods of environmental sound classification. The dataset -consists of 5-second-long recordings organized into 50 semantic classes. - -.. code:: ipython3 - - import numpy as np - import torchaudio - - def collect_audio_data(dataloader, init_steps=300): - """ - This function collects audio data from a dataloader for a specified number of initialization steps. - It iterates over the dataloader, fetching batches and storing them in a list. - """ - audio_data = [] - for _, batch in tqdm(zip(range(init_steps), itertools.islice(dataloader, 0, init_steps))): - with torch.no_grad(): - audio_data.append(batch) - return audio_data - - def prepare_audio_dataset(): - """ - Prepares an "ashraq/esc50" audio dataset for quantization by collecting audio data. - Collects audio data from the dataloader by calling the `collect_audio_data` function. - Returns a list containing the collected calibration audio data batches. - """ - audio_dataset = load_dataset("ashraq/esc50", streaming=True) - train_dataset = audio_dataset["train"].shuffle(seed=42, buffer_size=1000) - - def collate_fn(examples): - assert len(examples) == 1 - with tempfile.TemporaryDirectory() as tempdir: - f_name = os.path.join(tempdir, 'audio.wav') - audio_data = examples[0]['audio']['array'] - sample_rate = examples[0]['audio']["sampling_rate"] - audio_data = torch.from_numpy(audio_data).to(torch.float32).unsqueeze(0) - torchaudio.save(f_name, audio_data, sample_rate) - return data.load_and_transform_audio_data([f_name], "cpu") - - dataloader = torch.utils.data.DataLoader(train_dataset, collate_fn=collate_fn, batch_size=1) - calibration_data = collect_audio_data(dataloader) - return calibration_data - -Create a quantized model from the pre-trained ``FP16`` model. - -.. code:: ipython3 - - vision_data, text_data = prepare_vision_text_dataset() - - -.. parsed-literal:: - - Fetching 300 for the initialization... - - - -.. parsed-literal:: - - 0it [00:00, ?it/s] - - -.. parsed-literal:: - - Can't load image from url: http://homeklondike.org/wp-content/uploads/2015/06/2-Bright-living-room-in-the-attic1.jpg - Can't load image from url: http://www.lovemeinitaly.com/wp-content/uploads/cache/images/2018/01/4A-e1491723576743/4A-e1491723576743-1964759082.jpg - Can't load image from url: https://i0.wp.com/childphotocompetition.com/wp-content/uploads/2016/02/Agnieszka_He%E2%80%8E_childphotocompetition.jpg - Can't load image from url: https://magankonoski.com/wp-content/uploads/2016/05/MaganKonoskiFineArtWeddingandLifestylePhotographer-25-683x1024.jpg - Can't load image from url: http://www.huahin-home-property.com/wp-content/uploads/2016/11/2immobilier-real-eatate-huahin-maison-a-vendre-condo-for-salerent-The-Autumm-Khao-takibe.jpg - Can't load image from url: http://www.americanclassichomes.com/blog/wp-content/uploads/2015/04/Alki_SB_Kitchen_internet.jpg - Can't load image from url: http://assets.nydailynews.com/polopoly_fs/1.110031.1313943805!/img/httpImage/image.jpg_gen/derivatives/article_750/alg-fencer-sara-harvey-browne-2-jpg.jpg - Can't load image from url: http://static.panoramio.com/photos/large/34107183.jpg - Can't load image from url: https://odis.homeaway.com/odis/listing/2f9f1d46-0559-4811-95ed-c97cc8608793.c10.jpg - Can't load image from url: https://odis.homeaway.com/odis/listing/75953842-3278-42a1-91ef-2bb2be2ecb05.c10.jpg - Can't load image from url: https://ak6.picdn.net/shutterstock/videos/2504486/thumb/1.jpg - Can't load image from url: http://www.buro247.my/thumb/625x960_0/galleries/2017/10/lady-dior-art-2-19.jpg - Can't load image from url: http://oneindiaonepeople.com/wp-content/uploads/2014/02/13.jpg - Can't load image from url: http://www.johnsoncitypress.com/image/2016/10/27/640x_cCM_q30/XC-Region-A-AA-JPG.jpg - Can't load image from url: http://fromthedeckchair.com/wp-content/uploads/2013/06/ftdc_norwegianpearl-0737.jpg - Can't load image from url: http://thedailyquotes.com/wp-content/uploads/2015/04/could-be-another-broken-heart-love-daily-quotes-sayings-pictures.jpg - Can't load image from url: https://www.popsci.com/sites/popsci.com/files/styles/1000_1x_/public/vizdata_map_key.jpg?itok=7myhqx2P - Can't load image from url: https://www.interlatesystems.com/img/1166/183.jpg - Can't load image from url: https://i1.wp.com/dailynexus.com/wp-content/uploads/2016/10/HalloweenWeekend_KennethSong-4-1024x671.jpg?resize=1024%2C671 - Can't load image from url: https://odis.homeaway.com/odis/listing/d81ed29b-f448-444a-9048-ed9cc9fe666a.c10.jpg - Can't load image from url: http://exploresrilanka.lk/wp-content/uploads/2016/04/BTI37666.jpg - Can't load image from url: http://www.tampabay.com/storyimage/HI/20170528/ARTICLE/305289727/AR/0/AR-305289727.jpg - Can't load image from url: http://wewegombel.me/photo/558689/IMG_7994.jpg - Can't load image from url: http://www.thedonkeysanctuary.ie/sites/ireland/files/styles/large/public/press/259-1445414098.jpg?itok=dwa9kRh_ - Can't load image from url: https://thumb1.shutterstock.com/display_pic_with_logo/3816881/478955293/stock-vector-abstract-pattern-in-the-memphis-style-of-large-white-spots-and-little-green-with-black-dots-on-a-478955293.jpg - Can't load image from url: http://media.santabanta.com/images/picsms/2016/sms-16401.jpg - Can't load image from url: https://lookaside.fbsbx.com/lookaside/crawler/media/?media_id=657209177718359 - Can't load image from url: http://www.blogbeen.com/wp-content/uploads/2017/09/-mesmerizing-bathroom-tiles-11-jpg-bathroom-full-version-helulis-.jpg - Can't load image from url: https://6e58e2e225bb143c019e-e234a4d870c026b5f56b4446f6e62d64.ssl.cf1.rackcdn.com/a9ad7fa8-cf6c-4d2b-bbc6-591e0fd0cb2f.jpg - Can't load image from url: http://wewegombel.me/photo/487654/img_8173.jpg - Can't load image from url: http://s1.ibtimes.com/sites/www.ibtimes.com/files/styles/lg/public/2011/06/04/109074-an-african-giant-pouch-rat-is-watched-by-his-handler-at-a-laboratory-i.jpg - Can't load image from url: http://nnimgt-a.akamaihd.net/transform/v1/crop/frm/w9qsSAVumVxqyCiyw3G2iR/d9d78dda-7d5d-4420-9f3d-a1d44813c251.jpg/r0_64_960_604_w1200_h678_fmax.jpg - Can't load image from url: https://www.thenational.ae/image/policy:1.197226:1499310330/image/jpeg.jpg?f=16x9&w=1024&$p$f$w=2589da4 - Can't load image from url: https://ak4.picdn.net/shutterstock/videos/14101994/thumb/1.jpg?i10c=img.resize(height:160) - Can't load image from url: http://sanpancholife.com/photos/home/2386/super/5005683111355530342.jpeg - Can't load image from url: https://media.gettyimages.com/photos/two-bottles-of-pills-one-knocked-over-with-contents-spilling-out-and-picture-id73740799?s=612x612 - Can't load image from url: https://www.thestar.com/content/dam/thestar/entertainment/music/2017/04/17/prince-was-prescribed-oxycodone-under-another-name-court-document/prince-07.jpg.size.custom.crop.891x650.jpg - Can't load image from url: http://photos.mycapture.com/TWCM/1473481/41921058E.jpg - Can't load image from url: http://xboxhut.com/wp-content/uploads/2016/05/simple-bathroom-designs-grey-modern-double-sink-bathroom-vanities60-37.jpg - Can't load image from url: http://seanverret.com/wp-content/uploads/2012/07/20120710_104349.jpg - Can't load image from url: http://neveradulldayinpoland.com/wp-content/uploads/2014/04/DSC_3434-1024x682.jpg - Can't load image from url: http://wewegombel.me/photo/687156/watercolor-christmas-tree-isolated-white-background-texture-paper-new-year-christmas-card-template-62641882.jpg - Can't load image from url: http://expatedna.com/wp-content/uploads/2015/06/City-in-the-sky-by-Expat-Edna.jpg - Can't load image from url: https://lookaside.fbsbx.com/lookaside/crawler/media/?media_id=1291121264312721 - Can't load image from url: https://i0.wp.com/cindi-keller.com/wp-content/uploads/2014/09/cindi-keller_2014-08-15_15.07.29_ronda-spain.jpg?w=400&h=533&crop&ssl=1 - Can't load image from url: http://www.robinhoodshow.com/clients/17668/8642054_org.jpg - Can't load image from url: https://www.101india.com/sites/default/files/image-upload/blogs/TravelandFood/29NovSecretDevkundWaterfalls/Inline%204%20%3C%20Sunrise%20at%20the%20river%20behind%20the%20farmhouse%20%3E.jpg - Can't load image from url: http://www.nextavenue.org/wp-content/uploads/2017/05/image-3-w1024-750x485.jpg - Can't load image from url: http://nnimgt-a.akamaihd.net/transform/v1/crop/frm/342N54ExNnUCDyWzghgYbSC/cd538c73-466c-4e05-8202-0892dceb8a44.jpg/r401_321_5388_3369_w1200_h678_fmax.jpg - Can't load image from url: https://www.universetoday.com/wp-content/uploads/2016/05/Earth-magnetosphere-ESA-Medialab.jpg - Can't load image from url: https://c5eeb468edc90bcfda59-8477d1500ace5389b08f6bb1cc2fee82.ssl.cf5.rackcdn.com/837712-residential-x722qn-o.jpg - Can't load image from url: https://ak3.picdn.net/shutterstock/videos/7414963/thumb/1.jpg - - -.. code:: ipython3 - - import logging - import nncf - import openvino as ov - - nncf.set_log_level(logging.ERROR) - - core = ov.Core() - - def quantize_openvino_model(modality, calibration_data): - model_path = fp_model_paths[modality] - if not os.path.exists(model_path): - raise RuntimeError(f"Model: {model_path} not found. \ - First run 239-image-bind-convert notebook to convert model to OpenVINO IR.") - - model = core.read_model(model_path) - quantized_model = nncf.quantize( - model=model, - calibration_dataset=calibration_data, - model_type=nncf.ModelType.TRANSFORMER, - # remove ignored_scope for nncf>=2.6.0 (PR with fix https://github.com/openvinotoolkit/nncf/pull/1953) - ignored_scope=nncf.IgnoredScope(types=["ReduceL2"]) - ) - ov.save_model(quantized_model, int8_model_paths[modality]) - return quantized_model - - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -Quantize ImageBind model for vision modality. - - **NOTE**: Quantization is time and memory consuming operation. - Running quantization code below may take a long time. - -.. code:: ipython3 - - if len(vision_data) == 0: - raise RuntimeError( - 'Calibration dataset is empty. Please check internet connection and try to download images manually from the URLs above.' - ) - - vision_dataset = nncf.Dataset(vision_data) - vision_quantized_model = quantize_openvino_model(modality=ModalityType.VISION, calibration_data=vision_dataset) - - -.. parsed-literal:: - - 2023-10-26 13:34:25.166422: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2023-10-26 13:34:25.203294: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2023-10-26 13:34:26.097309: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - Statistics collection: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 300/300 [01:18<00:00, 3.81it/s] - Applying Smooth Quant: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 129/129 [00:13<00:00, 9.69it/s] - Statistics collection: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 300/300 [03:03<00:00, 1.64it/s] - Applying Fast Bias correction: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 128/128 [00:23<00:00, 5.54it/s] - - -Quantize ImageBind model for text modality - -.. code:: ipython3 - - text_dataset = nncf.Dataset(text_data) - text_quantized_model = quantize_openvino_model(modality=ModalityType.TEXT, calibration_data=text_dataset) - - -.. parsed-literal:: - - Statistics collection: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 300/300 [00:17<00:00, 16.82it/s] - Applying Smooth Quant: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 97/97 [00:06<00:00, 15.41it/s] - Statistics collection: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 300/300 [00:50<00:00, 5.97it/s] - Applying Fast Bias correction: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 120/120 [00:10<00:00, 11.06it/s] - - -Quantize ImageBind model for audio modality - -.. code:: ipython3 - - audio_calibration_data = prepare_audio_dataset() - audio_dataset = nncf.Dataset(audio_calibration_data) - audio_quantized_model = quantize_openvino_model(modality=ModalityType.AUDIO, calibration_data=audio_dataset) - - -.. parsed-literal:: - - Repo card metadata block was not found. Setting CardData to empty. - - - -.. parsed-literal:: - - 0it [00:00, ?it/s] - - -.. parsed-literal:: - - Statistics collection: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 300/300 [01:10<00:00, 4.26it/s] - Applying Smooth Quant: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 49/49 [00:01<00:00, 27.79it/s] - Statistics collection: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 300/300 [01:21<00:00, 3.69it/s] - Applying Fast Bias correction: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 48/48 [00:03<00:00, 12.18it/s] - - -NNCF also supports quantization-aware training, and other algorithms -than quantization. See the `NNCF -documentation `__ -in the NNCF repository for more information. - -Compare results for the OpenVINO FP16 model and the quantized model -------------------------------------------------------------------- - - - -Compare the probability matrices for ``FP16`` and ``INT8`` models. More -details about probability matrix can be found in -`notebook <239-image-bind-convert-with-output.html>`__. - -.. code:: ipython3 - - # Prepare inputs - from imagebind.models.imagebind_model import ModalityType - - text_list = ["A car", "A bird", "A dog"] - image_paths = [".assets/dog_image.jpg", ".assets/car_image.jpg", ".assets/bird_image.jpg"] - audio_paths = [".assets/dog_audio.wav", ".assets/bird_audio.wav", ".assets/car_audio.wav"] - - inputs = { - ModalityType.TEXT: data.load_and_transform_text(text_list, "cpu"), - ModalityType.VISION: data.load_and_transform_vision_data(image_paths, "cpu"), - ModalityType.AUDIO: data.load_and_transform_audio_data(audio_paths, "cpu"), - } - -Select inference device -~~~~~~~~~~~~~~~~~~~~~~~ - - - -select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - import ipywidgets as widgets - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') - - - -Get embeddings of original models - -.. code:: ipython3 - - embeddings = {} - for modality in modalities: - ov_model = core.compile_model(fp_model_paths[modality], device.value) - embeddings[modality] = ov_model(inputs[modality])[ov_model.output(0)] - -Get embeddings of quantized models - -.. code:: ipython3 - - quantized_embeddings = {} - for modality in modalities: - model = core.compile_model(int8_model_paths[modality], device.value) - quantized_embeddings[modality] = model(inputs[modality])[model.output(0)] - -.. code:: ipython3 - - import matplotlib.pyplot as plt - from scipy.special import softmax - - def visualize_prob_matrices(fp_matrix, int_matrix, x_label, y_label): - fig, ax = plt.subplots(1, 2) - for i, matrix in enumerate([fp_matrix, int_matrix]): - ax[i].matshow(matrix, cmap='winter') - - for (k, j), z in np.ndenumerate(matrix): - ax[i].title.set_text('FP16 probs' if i == 0 else 'INT8 probs') - ax[i].text(j, k, '{:0.3f}'.format(z), ha='center', va='center') - ax[i].set_xticks(range(len(x_label)), x_label) - ax[i].set_yticks(range(len(y_label)), y_label) - fig.tight_layout() - - image_list = [img.split('/')[-1] for img in image_paths] - audio_list = [audio.split('/')[-1] for audio in audio_paths] - -.. code:: ipython3 - - fp_text_vision_scores = softmax(embeddings[ModalityType.VISION] @ embeddings[ModalityType.TEXT].T, axis=-1) - int_text_vision_scores = softmax(quantized_embeddings[ModalityType.VISION] @ quantized_embeddings[ModalityType.TEXT].T, axis=-1) - - visualize_prob_matrices(fp_text_vision_scores, int_text_vision_scores, text_list, image_list) - - - -.. image:: 239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_32_0.png - - -.. code:: ipython3 - - fp_text_audio_scores = softmax(embeddings[ModalityType.AUDIO] @ embeddings[ModalityType.TEXT].T, axis=-1) - int_text_audio_scores = softmax(quantized_embeddings[ModalityType.AUDIO] @ quantized_embeddings[ModalityType.TEXT].T, axis=-1) - - visualize_prob_matrices(fp_text_audio_scores, int_text_audio_scores, text_list, image_list) - - - -.. image:: 239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_33_0.png - - -.. code:: ipython3 - - fp_audio_vision_scores = softmax(embeddings[ModalityType.VISION] @ embeddings[ModalityType.AUDIO].T, axis=-1) - int_audio_vision_scores = softmax(quantized_embeddings[ModalityType.VISION] @ quantized_embeddings[ModalityType.AUDIO].T, axis=-1) - - visualize_prob_matrices(fp_audio_vision_scores, int_audio_vision_scores, text_list, image_list) - - - -.. image:: 239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_34_0.png - - -Compare File Size -^^^^^^^^^^^^^^^^^ - - - -.. code:: ipython3 - - def calculate_compression_rate(modality): - fp16_ir_model_size = Path(fp_model_paths[modality]).with_suffix(".bin").stat().st_size / 1024 - quantized_model_size = Path(int8_model_paths[modality]).with_suffix(".bin").stat().st_size / 1024 - print(f'Modality: {modality}') - print(f" * FP16 IR model size: {fp16_ir_model_size:.2f} KB") - print(f" * INT8 model size: {quantized_model_size:.2f} KB") - print(f" * Model compression rate: {fp16_ir_model_size / quantized_model_size:.3f}") - -.. code:: ipython3 - - for modality in modalities: - calculate_compression_rate(modality) - - -.. parsed-literal:: - - Modality: text - * FP16 IR model size: 691481.77 KB - * INT8 model size: 347007.35 KB - * Model compression rate: 1.993 - Modality: vision - * FP16 IR model size: 1235995.26 KB - * INT8 model size: 620133.72 KB - * Model compression rate: 1.993 - Modality: audio - * FP16 IR model size: 168429.22 KB - * INT8 model size: 84818.78 KB - * Model compression rate: 1.986 - - -Compare inference time of the FP16 IR and quantized models -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - -To measure the inference performance of the ``FP16`` and ``INT8`` -models, we use median inference time on calibration dataset. So we can -approximately estimate the speed up of the dynamic quantized models. - - **NOTE**: For the most accurate performance estimation, it is - recommended to run ``benchmark_app`` in a terminal/command prompt - after closing other applications with static shapes. - -.. code:: ipython3 - - import time - - def calculate_inference_time(model_path, calibration_data): - model = core.compile_model(model_path) - output_layer = model.output(0) - inference_time = [] - for batch in calibration_data: - start = time.perf_counter() - _ = model(batch)[output_layer] - end = time.perf_counter() - delta = end - start - inference_time.append(delta) - return np.median(inference_time) - -Vision model - -.. code:: ipython3 - - fp16_latency = calculate_inference_time(fp_model_paths[ModalityType.VISION], vision_data) - int8_latency = calculate_inference_time(int8_model_paths[ModalityType.VISION], vision_data) - print(f"Performance speed up: {fp16_latency / int8_latency:.3f}") - - -.. parsed-literal:: - - Performance speed up: 2.040 - - -Text model - -.. code:: ipython3 - - fp16_latency = calculate_inference_time(fp_model_paths[ModalityType.TEXT], text_data) - int8_latency = calculate_inference_time(int8_model_paths[ModalityType.TEXT], text_data) - print(f"Performance speed up: {fp16_latency / int8_latency:.3f}") - - -.. parsed-literal:: - - Performance speed up: 1.404 - - -Audio model - -.. code:: ipython3 - - fp16_latency = calculate_inference_time(fp_model_paths[ModalityType.AUDIO], audio_calibration_data) - int8_latency = calculate_inference_time(int8_model_paths[ModalityType.AUDIO], audio_calibration_data) - print(f"Performance speed up: {fp16_latency / int8_latency:.3f}") - - -.. parsed-literal:: - - Performance speed up: 5.713 - diff --git a/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_32_0.png b/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_32_0.png deleted file mode 100644 index 4a55143912f..00000000000 --- a/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_32_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:79af3425e7bf220d041d23f94154386a8c9e02afa7627097adddef43fb0a0fb6 -size 20221 diff --git a/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_33_0.png b/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_33_0.png deleted file mode 100644 index 835dd3464d3..00000000000 --- a/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_33_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6aa3e45f85b6b3cbfec7da946e24c9c460a65c91327068ba7d0a80b4ae37687f -size 17315 diff --git a/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_34_0.png b/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_34_0.png deleted file mode 100644 index 64ef51427f1..00000000000 --- a/docs/notebooks/239-image-bind-quantize-with-output_files/239-image-bind-quantize-with-output_34_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e114ba63b4ccdd25f21bade9bad5ed30322e28d6fa670b3608972435f95f37d -size 21912 diff --git a/docs/notebooks/242-freevc-voice-conversion-with-output.rst b/docs/notebooks/242-freevc-voice-conversion-with-output.rst deleted file mode 100644 index e1e85a3170c..00000000000 --- a/docs/notebooks/242-freevc-voice-conversion-with-output.rst +++ /dev/null @@ -1,1052 +0,0 @@ -High-Quality Text-Free One-Shot Voice Conversion with FreeVC and OpenVINO™ -========================================================================== - -`FreeVC `__ allows alter the voice of -a source speaker to a target style, while keeping the linguistic content -unchanged, without text annotation. - -Figure bellow illustrates model architecture of FreeVC for inference. In -this notebook we concentrate only on inference part. There are three -main parts: Prior Encoder, Speaker Encoder and Decoder. The prior -encoder contains a WavLM model, a bottleneck extractor and a normalizing -flow. Detailed information is available in this -`paper `__. - -.. figure:: https://github.com/OlaWod/FreeVC/blob/main/resources/infer.png?raw=true - :alt: Inference - - Inference - -`\**image_source\* `__ - -FreeVC suggests only command line interface to use and only with CUDA. -In this notebook it shows how to use FreeVC in Python and without CUDA -devices. It consists of the following steps: - -- Download and prepare models. -- Inference. -- Convert models to OpenVINO Intermediate Representation. -- Inference using only OpenVINO’s IR models. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Pre-requisites <#pre-requisites>`__ -- `Imports and settings <#imports-and-settings>`__ -- `Convert Modes to OpenVINO Intermediate - Representation <#convert-modes-to-openvino-intermediate-representation>`__ - - - `Convert Prior Encoder. <#convert-prior-encoder->`__ - - `Convert SpeakerEncoder <#convert-speakerencoder>`__ - - `Convert Decoder <#convert-decoder>`__ - -Pre-requisites --------------- - - - -This steps can be done manually or will be performed automatically -during the execution of the notebook, but in minimum necessary scope. 1. -Clone this repo: git clone https://github.com/OlaWod/FreeVC.git. 2. -Download -`WavLM-Large `__ -and put it under directory ``FreeVC/wavlm/``. 3. You can download the -`VCTK `__ dataset. For -this example we download only two of them from `Hugging Face FreeVC -example `__. 4. -Download `pretrained -models `__ -and put it under directory ‘checkpoints’ (for current example only -``freevc.pth`` are required). - -Install extra requirements - -.. code:: ipython3 - - %pip install -q "openvino>=2023.3.0" "librosa>=0.8.1" "webrtcvad==2.0.10" gradio "torch>=2.1" torchvision --extra-index-url https://download.pytorch.org/whl/cpu - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Check if FreeVC is installed and append its path to ``sys.path`` - -.. code:: ipython3 - - from pathlib import Path - import sys - - - free_vc_repo = 'FreeVC' - if not Path(free_vc_repo).exists(): - !git clone https://github.com/OlaWod/FreeVC.git - - sys.path.append(free_vc_repo) - - -.. parsed-literal:: - - Cloning into 'FreeVC'... - - -.. parsed-literal:: - - remote: Enumerating objects: 131, done. - remote: Counting objects: 1% (1/65) -remote: Counting objects: 3% (2/65) -remote: Counting objects: 4% (3/65) -remote: Counting objects: 6% (4/65) -remote: Counting objects: 7% (5/65) -remote: Counting objects: 9% (6/65) -remote: Counting objects: 10% (7/65) -remote: Counting objects: 12% (8/65) -remote: Counting objects: 13% (9/65) -remote: Counting objects: 15% (10/65) -remote: Counting objects: 16% (11/65) -remote: Counting objects: 18% (12/65) -remote: Counting objects: 20% (13/65) -remote: Counting objects: 21% (14/65) -remote: Counting objects: 23% (15/65) -remote: Counting objects: 24% (16/65) -remote: Counting objects: 26% (17/65) -remote: Counting objects: 27% (18/65) -remote: Counting objects: 29% (19/65) -remote: Counting objects: 30% (20/65) -remote: Counting objects: 32% (21/65) -remote: Counting objects: 33% (22/65) -remote: Counting objects: 35% (23/65) -remote: Counting objects: 36% (24/65) -remote: Counting objects: 38% (25/65) -remote: Counting objects: 40% (26/65) -remote: Counting objects: 41% (27/65) -remote: Counting objects: 43% (28/65) -remote: Counting objects: 44% (29/65) -remote: Counting objects: 46% (30/65) -remote: Counting objects: 47% (31/65) -remote: Counting objects: 49% (32/65) -remote: Counting objects: 50% (33/65) -remote: Counting objects: 52% (34/65) -remote: Counting objects: 53% (35/65) -remote: Counting objects: 55% (36/65) -remote: Counting objects: 56% (37/65) -remote: Counting objects: 58% (38/65) -remote: Counting objects: 60% (39/65) -remote: Counting objects: 61% (40/65) -remote: Counting objects: 63% (41/65) -remote: Counting objects: 64% (42/65) -remote: Counting objects: 66% (43/65) -remote: Counting objects: 67% (44/65) -remote: Counting objects: 69% (45/65) -remote: Counting objects: 70% (46/65) -remote: Counting objects: 72% (47/65) -remote: Counting objects: 73% (48/65) -remote: Counting objects: 75% (49/65) -remote: Counting objects: 76% (50/65) -remote: Counting objects: 78% (51/65) -remote: Counting objects: 80% (52/65) -remote: Counting objects: 81% (53/65) -remote: Counting objects: 83% (54/65) -remote: Counting objects: 84% (55/65) -remote: Counting objects: 86% (56/65) -remote: Counting objects: 87% (57/65) -remote: Counting objects: 89% (58/65) -remote: Counting objects: 90% (59/65) -remote: Counting objects: 92% (60/65) -remote: Counting objects: 93% (61/65) -remote: Counting objects: 95% (62/65) -remote: Counting objects: 96% (63/65) -remote: Counting objects: 98% (64/65) -remote: Counting objects: 100% (65/65) -remote: Counting objects: 100% (65/65), done. - remote: Compressing objects: 2% (1/41) -remote: Compressing objects: 4% (2/41) -remote: Compressing objects: 7% (3/41) -remote: Compressing objects: 9% (4/41) -remote: Compressing objects: 12% (5/41) -remote: Compressing objects: 14% (6/41) -remote: Compressing objects: 17% (7/41) -remote: Compressing objects: 19% (8/41) -remote: Compressing objects: 21% (9/41) -remote: Compressing objects: 24% (10/41) -remote: Compressing objects: 26% (11/41) -remote: Compressing objects: 29% (12/41) -remote: Compressing objects: 31% (13/41) -remote: Compressing objects: 34% (14/41) -remote: Compressing objects: 36% (15/41) -remote: Compressing objects: 39% (16/41) -remote: Compressing objects: 41% (17/41) -remote: Compressing objects: 43% (18/41) -remote: Compressing objects: 46% (19/41) -remote: Compressing objects: 48% (20/41) -remote: Compressing objects: 51% (21/41) -remote: Compressing objects: 53% (22/41) -remote: Compressing objects: 56% (23/41) -remote: Compressing objects: 58% (24/41) -remote: Compressing objects: 60% (25/41) -remote: Compressing objects: 63% (26/41) -remote: Compressing objects: 65% (27/41) -remote: Compressing objects: 68% (28/41) -remote: Compressing objects: 70% (29/41) -remote: Compressing objects: 73% (30/41) -remote: Compressing objects: 75% (31/41) -remote: Compressing objects: 78% (32/41) -remote: Compressing objects: 80% (33/41) -remote: Compressing objects: 82% (34/41) -remote: Compressing objects: 85% (35/41) -remote: Compressing objects: 87% (36/41) -remote: Compressing objects: 90% (37/41) -remote: Compressing objects: 92% (38/41) -remote: Compressing objects: 95% (39/41) -remote: Compressing objects: 97% (40/41) -remote: Compressing objects: 100% (41/41) -remote: Compressing objects: 100% (41/41), done. - - -.. parsed-literal:: - - Receiving objects: 0% (1/131) -Receiving objects: 1% (2/131) -Receiving objects: 2% (3/131) -Receiving objects: 3% (4/131) -Receiving objects: 4% (6/131) -Receiving objects: 5% (7/131) -Receiving objects: 6% (8/131) -Receiving objects: 7% (10/131) -Receiving objects: 8% (11/131) -Receiving objects: 9% (12/131) -Receiving objects: 10% (14/131) -Receiving objects: 11% (15/131) -Receiving objects: 12% (16/131) -Receiving objects: 13% (18/131) -Receiving objects: 14% (19/131) -Receiving objects: 15% (20/131) -Receiving objects: 16% (21/131) -Receiving objects: 17% (23/131) -Receiving objects: 18% (24/131) -Receiving objects: 19% (25/131) -Receiving objects: 20% (27/131) -Receiving objects: 21% (28/131) -Receiving objects: 22% (29/131) -Receiving objects: 23% (31/131) -Receiving objects: 24% (32/131) -Receiving objects: 25% (33/131) -Receiving objects: 26% (35/131) -Receiving objects: 27% (36/131) -Receiving objects: 28% (37/131) -Receiving objects: 29% (38/131) -Receiving objects: 30% (40/131) -Receiving objects: 31% (41/131) -Receiving objects: 32% (42/131) - -.. parsed-literal:: - - Receiving objects: 33% (44/131) -Receiving objects: 34% (45/131) - -.. parsed-literal:: - - Receiving objects: 34% (45/131), 3.01 MiB | 2.89 MiB/s - -.. parsed-literal:: - - Receiving objects: 34% (45/131), 8.46 MiB | 4.04 MiB/s - -.. parsed-literal:: - - Receiving objects: 35% (46/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 36% (48/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 37% (49/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 38% (50/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 39% (52/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 40% (53/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 41% (54/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 42% (56/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 43% (57/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 44% (58/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 45% (59/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 46% (61/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 47% (62/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 48% (63/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 49% (65/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 50% (66/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 51% (67/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 52% (69/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 53% (70/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 54% (71/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 55% (73/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 56% (74/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 57% (75/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 58% (76/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 59% (78/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 60% (79/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 61% (80/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 62% (82/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 63% (83/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 64% (84/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 65% (86/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 66% (87/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 67% (88/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 68% (90/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 69% (91/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 70% (92/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 71% (94/131), 12.64 MiB | 4.81 MiB/s - -.. parsed-literal:: - - remote: Total 131 (delta 39), reused 24 (delta 24), pack-reused 66 - Receiving objects: 72% (95/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 73% (96/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 74% (97/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 75% (99/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 76% (100/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 77% (101/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 78% (103/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 79% (104/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 80% (105/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 81% (107/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 82% (108/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 83% (109/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 84% (111/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 85% (112/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 86% (113/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 87% (114/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 88% (116/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 89% (117/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 90% (118/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 91% (120/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 92% (121/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 93% (122/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 94% (124/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 95% (125/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 96% (126/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 97% (128/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 98% (129/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 99% (130/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 100% (131/131), 12.64 MiB | 4.81 MiB/s -Receiving objects: 100% (131/131), 15.28 MiB | 5.25 MiB/s, done. - Resolving deltas: 0% (0/43) -Resolving deltas: 16% (7/43) -Resolving deltas: 25% (11/43) - -.. parsed-literal:: - - Resolving deltas: 51% (22/43) -Resolving deltas: 65% (28/43) -Resolving deltas: 67% (29/43) -Resolving deltas: 74% (32/43) -Resolving deltas: 81% (35/43) -Resolving deltas: 83% (36/43) -Resolving deltas: 90% (39/43) -Resolving deltas: 95% (41/43) -Resolving deltas: 100% (43/43) -Resolving deltas: 100% (43/43), done. - - -.. code:: ipython3 - - sys.path.append("../utils") - from notebook_utils import download_file - - wavlm_large_dir_path = Path('FreeVC/wavlm') - wavlm_large_path = wavlm_large_dir_path / 'WavLM-Large.pt' - - if not wavlm_large_path.exists(): - download_file( - 'https://valle.blob.core.windows.net/share/wavlm/WavLM-Large.pt?sv=2020-08-04&st=2023-03-01T07%3A51%3A05Z&se=2033-03-02T07%3A51%3A00Z&sr=c&sp=rl&sig=QJXmSJG9DbMKf48UDIU1MfzIro8HQOf3sqlNXiflY1I%3D', - directory=wavlm_large_dir_path - ) - - - -.. parsed-literal:: - - FreeVC/wavlm/WavLM-Large.pt: 0%| | 0.00/1.18G [00:00`__. - -Convert Prior Encoder. -~~~~~~~~~~~~~~~~~~~~~~ - - - -First we convert WavLM model, as a part of Convert Prior Encoder to -OpenVINO’s IR format. We keep the original name of the model in code: -``cmodel``. - -.. code:: ipython3 - - # define forward as extract_features for compatibility - cmodel.forward = cmodel.extract_features - -.. code:: ipython3 - - OUTPUT_DIR = Path("output") - BASE_MODEL_NAME = "cmodel" - - OUTPUT_DIR.mkdir(exist_ok=True) - - ir_cmodel_path = Path(OUTPUT_DIR / (BASE_MODEL_NAME + "_ir")).with_suffix(".xml") - - length = 32000 - - dummy_input = torch.randn(1, length) - -Converting to OpenVINO’s IR format. - -.. code:: ipython3 - - core = ov.Core() - - class ModelWrapper(torch.nn.Module): - def __init__(self, model): - super().__init__() - self.model = model - - def forward(self, input): - return self.model(input)[0] - - if not ir_cmodel_path.exists(): - ir_cmodel = ov.convert_model(ModelWrapper(cmodel), example_input=dummy_input) - ov.save_model(ir_cmodel, ir_cmodel_path) - else: - ir_cmodel = core.read_model(ir_cmodel_path) - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/242-freevc-voice-conversion/FreeVC/wavlm/modules.py:495: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert embed_dim == self.embed_dim - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/242-freevc-voice-conversion/FreeVC/wavlm/modules.py:496: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert list(query.size()) == [tgt_len, bsz, embed_dim] - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/242-freevc-voice-conversion/FreeVC/wavlm/modules.py:500: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert key_bsz == bsz - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/242-freevc-voice-conversion/FreeVC/wavlm/modules.py:502: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert src_len, bsz == value.shape[:2] - - -Select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - import ipywidgets as widgets - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -.. code:: ipython3 - - - compiled_cmodel = core.compile_model(ir_cmodel, device.value) - -Convert ``SpeakerEncoder`` -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - OUTPUT_DIR = Path("output") - BASE_MODEL_NAME = "smodel" - - OUTPUT_DIR.mkdir(exist_ok=True) - - ir_smodel_path = Path(OUTPUT_DIR / (BASE_MODEL_NAME + "ir")).with_suffix(".xml") - - - length = 32000 - - dummy_input = torch.randn(1, length, 40) - - if not ir_smodel_path.exists(): - ir_smodel = ov.convert_model(smodel, example_input=dummy_input) - ov.save_model(ir_smodel, ir_smodel_path) - else: - ir_smodel = core.read_model(ir_smodel_path) - -For preparing input for inference, we should define helper functions -based on ``speaker_encoder.voice_encoder.SpeakerEncoder`` class methods - -.. code:: ipython3 - - from speaker_encoder.hparams import sampling_rate, mel_window_step, partials_n_frames - from speaker_encoder import audio - - - def compute_partial_slices(n_samples: int, rate, min_coverage): - """ - Computes where to split an utterance waveform and its corresponding mel spectrogram to - obtain partial utterances of each. Both the waveform and the - mel spectrogram slices are returned, so as to make each partial utterance waveform - correspond to its spectrogram. - - The returned ranges may be indexing further than the length of the waveform. It is - recommended that you pad the waveform with zeros up to wav_slices[-1].stop. - - :param n_samples: the number of samples in the waveform - :param rate: how many partial utterances should occur per second. Partial utterances must - cover the span of the entire utterance, thus the rate should not be lower than the inverse - of the duration of a partial utterance. By default, partial utterances are 1.6s long and - the minimum rate is thus 0.625. - :param min_coverage: when reaching the last partial utterance, it may or may not have - enough frames. If at least of are present, - then the last partial utterance will be considered by zero-padding the audio. Otherwise, - it will be discarded. If there aren't enough frames for one partial utterance, - this parameter is ignored so that the function always returns at least one slice. - :return: the waveform slices and mel spectrogram slices as lists of array slices. Index - respectively the waveform and the mel spectrogram with these slices to obtain the partial - utterances. - """ - assert 0 < min_coverage <= 1 - - # Compute how many frames separate two partial utterances - samples_per_frame = int((sampling_rate * mel_window_step / 1000)) - n_frames = int(np.ceil((n_samples + 1) / samples_per_frame)) - frame_step = int(np.round((sampling_rate / rate) / samples_per_frame)) - assert 0 < frame_step, "The rate is too high" - assert frame_step <= partials_n_frames, "The rate is too low, it should be %f at least" % \ - (sampling_rate / (samples_per_frame * partials_n_frames)) - - # Compute the slices - wav_slices, mel_slices = [], [] - steps = max(1, n_frames - partials_n_frames + frame_step + 1) - for i in range(0, steps, frame_step): - mel_range = np.array([i, i + partials_n_frames]) - wav_range = mel_range * samples_per_frame - mel_slices.append(slice(*mel_range)) - wav_slices.append(slice(*wav_range)) - - # Evaluate whether extra padding is warranted or not - last_wav_range = wav_slices[-1] - coverage = (n_samples - last_wav_range.start) / (last_wav_range.stop - last_wav_range.start) - if coverage < min_coverage and len(mel_slices) > 1: - mel_slices = mel_slices[:-1] - wav_slices = wav_slices[:-1] - - return wav_slices, mel_slices - - - def embed_utterance(wav: np.ndarray, smodel: ov.CompiledModel, return_partials=False, rate=1.3, min_coverage=0.75): - """ - Computes an embedding for a single utterance. The utterance is divided in partial - utterances and an embedding is computed for each. The complete utterance embedding is the - L2-normed average embedding of the partial utterances. - - :param wav: a preprocessed utterance waveform as a numpy array of float32 - :param smodel: compiled speaker encoder model. - :param return_partials: if True, the partial embeddings will also be returned along with - the wav slices corresponding to each partial utterance. - :param rate: how many partial utterances should occur per second. Partial utterances must - cover the span of the entire utterance, thus the rate should not be lower than the inverse - of the duration of a partial utterance. By default, partial utterances are 1.6s long and - the minimum rate is thus 0.625. - :param min_coverage: when reaching the last partial utterance, it may or may not have - enough frames. If at least of are present, - then the last partial utterance will be considered by zero-padding the audio. Otherwise, - it will be discarded. If there aren't enough frames for one partial utterance, - this parameter is ignored so that the function always returns at least one slice. - :return: the embedding as a numpy array of float32 of shape (model_embedding_size,). If - is True, the partial utterances as a numpy array of float32 of shape - (n_partials, model_embedding_size) and the wav partials as a list of slices will also be - returned. - """ - # Compute where to split the utterance into partials and pad the waveform with zeros if - # the partial utterances cover a larger range. - wav_slices, mel_slices = compute_partial_slices(len(wav), rate, min_coverage) - max_wave_length = wav_slices[-1].stop - if max_wave_length >= len(wav): - wav = np.pad(wav, (0, max_wave_length - len(wav)), "constant") - - # Split the utterance into partials and forward them through the model - mel = audio.wav_to_mel_spectrogram(wav) - mels = np.array([mel[s] for s in mel_slices]) - with torch.no_grad(): - mels = torch.from_numpy(mels).to(torch.device('cpu')) - output_layer = smodel.output(0) - partial_embeds = smodel(mels)[output_layer] - - # Compute the utterance embedding from the partial embeddings - raw_embed = np.mean(partial_embeds, axis=0) - embed = raw_embed / np.linalg.norm(raw_embed, 2) - - if return_partials: - return embed, partial_embeds, wav_slices - return embed - -Select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -Then compile model. - -.. code:: ipython3 - - compiled_smodel = core.compile_model(ir_smodel, device.value) - -Convert Decoder -~~~~~~~~~~~~~~~ - - - -In the same way export ``SynthesizerTrn`` model, that implements decoder -function to OpenVINO IR format. - -.. code:: ipython3 - - OUTPUT_DIR = Path("output") - BASE_MODEL_NAME = "net_g" - onnx_net_g_path = Path(OUTPUT_DIR / (BASE_MODEL_NAME + "_fp32")).with_suffix(".onnx") - ir_net_g_path = Path(OUTPUT_DIR / (BASE_MODEL_NAME + "ir")).with_suffix(".xml") - - dummy_input_1 = torch.randn(1, 1024, 81) - dummy_input_2 = torch.randn(1, 256) - - # define forward as infer - net_g.forward = net_g.infer - - - if not ir_net_g_path.exists(): - ir_net_g_model = ov.convert_model(net_g, example_input=(dummy_input_1, dummy_input_2)) - ov.save_model(ir_net_g_model, ir_net_g_path) - else: - ir_net_g_model = core.read_model(ir_net_g_path) - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: - Tensor-likes are not close! - - Mismatched elements: 25900 / 25920 (99.9%) - Greatest absolute difference: 0.2173359915614128 at index (0, 0, 13783) (up to 1e-05 allowed) - Greatest relative difference: 96072.65179063361 at index (0, 0, 1833) (up to 1e-05 allowed) - _check_trace( - - -Select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - compiled_ir_net_g_model = core.compile_model(ir_net_g_model, device.value) - -Define function for synthesizing. - -.. code:: ipython3 - - def synthesize_audio(src, tgt): - wav_tgt, _ = librosa.load(tgt, sr=hps.data.sampling_rate) - wav_tgt, _ = librosa.effects.trim(wav_tgt, top_db=20) - - g_tgt = embed_utterance(wav_tgt, compiled_smodel) - g_tgt = torch.from_numpy(g_tgt).unsqueeze(0) - - # src - wav_src, _ = librosa.load(src, sr=hps.data.sampling_rate) - wav_src = np.expand_dims(wav_src, axis=0) - - output_layer = compiled_cmodel.output(0) - c = compiled_cmodel(wav_src)[output_layer] - c = c.transpose((0, 2, 1)) - - output_layer = compiled_ir_net_g_model.output(0) - tgt_audio = compiled_ir_net_g_model((c, g_tgt))[output_layer] - tgt_audio = tgt_audio[0][0] - - return tgt_audio - -And now we can check inference using only IR models. - -.. code:: ipython3 - - result_wav_names = [] - - with torch.no_grad(): - for line in tqdm(zip(srcs, tgts)): - src, tgt = line - - output_audio = synthesize_audio(src, tgt) - - timestamp = time.strftime("%m-%d_%H-%M", time.localtime()) - result_name = f'{timestamp}.wav' - result_wav_names.append(result_name) - write( - os.path.join('outputs/freevc', result_name), - hps.data.sampling_rate, - output_audio - ) - - -.. parsed-literal:: - - - 0it [00:00, ?it/s] - -.. parsed-literal:: - - - 1it [00:00, 1.68it/s] - -.. parsed-literal:: - - - 2it [00:01, 1.19it/s] - -.. parsed-literal:: - - - 2it [00:01, 1.25it/s] - - -Result audio files should be available in ‘outputs/freevc’ and you can -check them and compare with generated earlier. Below one of the results -presents. - -Source audio (source of text): - -.. code:: ipython3 - - import IPython.display as ipd - ipd.Audio(srcs[0]) - - - - -.. raw:: html - - - - - - - -Target audio (source of voice): - -.. code:: ipython3 - - ipd.Audio(tgts[0]) - - - - -.. raw:: html - - - - - - - -Result audio: - -.. code:: ipython3 - - ipd.Audio(f'outputs/freevc/{result_wav_names[0]}') - - - - -.. raw:: html - - - - - - - -Also, you can use your own audio file. Just upload them and use for -inference. Use rate corresponding to the value of -``hps.data.sampling_rate``. - -.. code:: ipython3 - - import gradio as gr - - - audio1 = gr.Audio(label="Source Audio", type='filepath') - audio2 = gr.Audio(label="Reference Audio", type='filepath') - outputs = gr.Audio(label="Output Audio", type='filepath') - examples = [[audio1_name, audio2_name]] - - title = 'FreeVC with Gradio' - description = 'Gradio Demo for FreeVC and OpenVINO™. Upload a source audio and a reference audio, then click the "Submit" button to inference.' - - - def infer(src, tgt): - output_audio = synthesize_audio(src, tgt) - - timestamp = time.strftime("%m-%d_%H-%M", time.localtime()) - result_name = f'{timestamp}.wav' - write(result_name, hps.data.sampling_rate, output_audio) - - return result_name - - - iface = gr.Interface(infer, [audio1, audio2], outputs, title=title, description=description, examples=examples) - iface.launch() - # if you are launching remotely, specify server_name and server_port - # iface.launch(server_name='your server name', server_port='server port in int') - # if you have any issue to launch on your platform, you can pass share=True to launch method: - # iface.launch(share=True) - # it creates a publicly shareable link for the interface. Read more in the docs: https://gradio.app/docs/ - - -.. parsed-literal:: - - Running on local URL: http://127.0.0.1:7860 - - To create a public link, set `share=True` in `launch()`. - - - - - - - - - - - - - - - - -.. code:: ipython3 - - iface.close() - - -.. parsed-literal:: - - Closing server running on port: 7860 - diff --git a/docs/notebooks/243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_25_0.png b/docs/notebooks/243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_25_0.png deleted file mode 100644 index e0ea422509f..00000000000 --- a/docs/notebooks/243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_25_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:648e163ffa433b1ab6f0f1bf86695712fc9f6e55062a466cb2e2eb5dd409b42b -size 516065 diff --git a/docs/notebooks/243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_33_0.png b/docs/notebooks/243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_33_0.png deleted file mode 100644 index db790481b19..00000000000 --- a/docs/notebooks/243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_33_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fe040cb9b5b7224f9932398896f3a07b0f58c526d0256b4945cf89a47c0e1f6 -size 14348 diff --git a/docs/notebooks/244-named-entity-recognition-with-output.rst b/docs/notebooks/244-named-entity-recognition-with-output.rst deleted file mode 100644 index d2f570dcd11..00000000000 --- a/docs/notebooks/244-named-entity-recognition-with-output.rst +++ /dev/null @@ -1,514 +0,0 @@ -Named entity recognition with OpenVINO™ -======================================= - -The Named Entity Recognition(NER) is a natural language processing -method that involves the detecting of key information in the -unstructured text and categorizing it into pre-defined categories. These -categories or named entities refer to the key subjects of text, such as -names, locations, companies and etc. - -NER is a good method for the situations when a high-level overview of a -large amount of text is needed. NER can be helpful with such task as -analyzing key information in unstructured text or automates the -information extraction of large amounts of data. - -This tutorial shows how to perform named entity recognition using -OpenVINO. We will use the pre-trained model -`elastic/distilbert-base-cased-finetuned-conll03-english `__. -It is DistilBERT based model, trained on -`conll03 english dataset `__. -The model can recognize four named entities in text: persons, locations, -organizations and names of miscellaneous entities that do not belong to -the previous three groups. The model is sensitive to capital letters. - -To simplify the user experience, the `Hugging Face -Optimum `__ library is used to -convert the model to OpenVINO™ IR format and quantize it. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Prerequisites <#prerequisites>`__ -- `Download the NER model <#download-the-ner-model>`__ -- `Quantize the model, using Hugging Face Optimum - API <#quantize-the-model-using-hugging-face-optimum-api>`__ -- `Compare the Original and Quantized - Models <#compare-the-original-and-quantized-models>`__ - - - `Compare performance <#compare-performance>`__ - - `Compare size of the models <#compare-size-of-the-models>`__ - -- `Prepare demo for Named Entity Recognition OpenVINO - Runtime <#prepare-demo-for-named-entity-recognition-openvino-runtime>`__ - -Prerequisites -------------- - - - -.. code:: ipython3 - - %pip install -q "diffusers>=0.17.1" "openvino>=2023.1.0" "nncf>=2.5.0" "gradio" "onnx>=1.11.0" "transformers>=4.33.0" --extra-index-url https://download.pytorch.org/whl/cpu - %pip install -q "git+https://github.com/huggingface/optimum-intel.git" - - -.. parsed-literal:: - - - [notice] A new release of pip is available: 23.3.2 -> 24.0 - [notice] To update, run: pip install --upgrade pip - Note: you may need to restart the kernel to use updated packages. - - [notice] A new release of pip is available: 23.3.2 -> 24.0 - [notice] To update, run: pip install --upgrade pip - Note: you may need to restart the kernel to use updated packages. - - -Download the NER model ----------------------- - - - -We load the -`distilbert-base-cased-finetuned-conll03-english `__ -model from the `Hugging Face Hub `__ with -`Hugging Face Transformers -library `__. - -Model class initialization starts with calling ``from_pretrained`` -method. To easily save the model, you can use the ``save_pretrained()`` -method. - -.. code:: ipython3 - - from transformers import AutoTokenizer, AutoModelForTokenClassification - - model_id = "elastic/distilbert-base-cased-finetuned-conll03-english" - model = AutoModelForTokenClassification.from_pretrained(model_id) - - original_ner_model_dir = 'original_ner_model' - model.save_pretrained(original_ner_model_dir) - - tokenizer = AutoTokenizer.from_pretrained(model_id) - -Quantize the model, using Hugging Face Optimum API --------------------------------------------------- - - - -Post-training static quantization introduces an additional calibration -step where data is fed through the network in order to compute the -activations quantization parameters. For quantization it will be used -`Hugging Face Optimum Intel -API `__. - -To handle the NNCF quantization process we use class -`OVQuantizer `__. -The quantization with Hugging Face Optimum Intel API contains the next -steps: \* Model class initialization starts with calling -``from_pretrained()`` method. \* Next we create calibration dataset with -``get_calibration_dataset()`` to use for the post-training static -quantization calibration step. \* After we quantize a model and save the -resulting model in the OpenVINO IR format to save_directory with -``quantize()`` method. \* Then we load the quantized model. The Optimum -Inference models are API compatible with Hugging Face Transformers -models and we can just replace ``AutoModelForXxx`` class with the -corresponding ``OVModelForXxx`` class. So we use -``OVModelForTokenClassification`` to load the model. - -.. code:: ipython3 - - from functools import partial - from optimum.intel import OVQuantizer - - from optimum.intel import OVModelForTokenClassification - - def preprocess_fn(data, tokenizer): - examples = [] - for data_chunk in data["tokens"]: - examples.append(' '.join(data_chunk)) - - return tokenizer( - examples, padding=True, truncation=True, max_length=128 - ) - - quantizer = OVQuantizer.from_pretrained(model) - calibration_dataset = quantizer.get_calibration_dataset( - "conll2003", - preprocess_function=partial(preprocess_fn, tokenizer=tokenizer), - num_samples=100, - dataset_split="train", - preprocess_batch=True, - ) - - # The directory where the quantized model will be saved - quantized_ner_model_dir = "quantized_ner_model" - - # Apply static quantization and save the resulting model in the OpenVINO IR format - quantizer.quantize(calibration_dataset=calibration_dataset, save_directory=quantized_ner_model_dir) - - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -.. parsed-literal:: - - 2024-02-22 10:51:17.449018: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-02-22 10:51:17.450787: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-02-22 10:51:17.485744: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2024-02-22 10:51:18.196389: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - WARNING[XFORMERS]: xFormers can't load C++/CUDA extensions. xFormers was built for: - PyTorch 2.1.0+cu121 with CUDA 1201 (you have 2.2.0+cu121) - Python 3.8.18 (you have 3.8.10) - Please reinstall xformers (see https://github.com/facebookresearch/xformers#installing-xformers) - Memory-efficient attention, SwiGLU, sparse and more won't be available. - Set XFORMERS_MORE_DETAILS=1 for more details - /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. - torch.utils._pytree._register_pytree_node( - /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/datasets/load.py:2483: FutureWarning: 'use_auth_token' was deprecated in favor of 'token' in version 2.14.0 and will be removed in 3.0.0. - You can remove this warning by passing 'token=' instead. - warnings.warn( - - - -.. parsed-literal:: - - Downloading data: 0%| | 0.00/1.23M [00:00`__ -model with quantized and converted to OpenVINO IR format models to see -the difference. - -Compare performance -~~~~~~~~~~~~~~~~~~~ - - - -As the Optimum Inference models are API compatible with Hugging Face -Transformers models, we can just use ``pipleine()`` from `Hugging Face -Transformers API `__ for -inference. - -.. code:: ipython3 - - from transformers import pipeline - - ner_pipeline_optimized = pipeline("token-classification", model=optimized_model, tokenizer=tokenizer) - - ner_pipeline_original = pipeline("token-classification", model=model, tokenizer=tokenizer) - - -.. parsed-literal:: - - device must be of type but got instead - - -.. code:: ipython3 - - import time - import numpy as np - - def calc_perf(ner_pipeline): - inference_times = [] - - for data in calibration_dataset: - text = ' '.join(data['tokens']) - start = time.perf_counter() - ner_pipeline(text) - end = time.perf_counter() - inference_times.append(end - start) - - return np.median(inference_times) - - - print( - f"Median inference time of quantized model: {calc_perf(ner_pipeline_optimized)} " - ) - - print( - f"Median inference time of original model: {calc_perf(ner_pipeline_original)} " - ) - - -.. parsed-literal:: - - Median inference time of quantized model: 0.007757613499961735 - Median inference time of original model: 0.09963577150028868 - - -Compare size of the models -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - from pathlib import Path - - pytorch_model_file = Path(original_ner_model_dir) / "pytorch_model.bin" - if not pytorch_model_file.exists(): - pytorch_model_file = pytorch_model_file.parent / "model.safetensors" - print(f'Size of original model in Bytes is {pytorch_model_file.stat().st_size}') - print(f'Size of quantized model in Bytes is {Path(quantized_ner_model_dir, "openvino_model.bin").stat().st_size}') - - -.. parsed-literal:: - - Size of original model in Bytes is 260803668 - Size of quantized model in Bytes is 133539000 - - -Prepare demo for Named Entity Recognition OpenVINO Runtime ----------------------------------------------------------- - - - -Now, you can try NER model on own text. Put your sentence to input text -box, click Submit button, the model label the recognized entities in the -text. - -.. code:: ipython3 - - import gradio as gr - - examples = [ - "My name is Wolfgang and I live in Berlin.", - ] - - def run_ner(text): - output = ner_pipeline_optimized(text) - return {"text": text, "entities": output} - - demo = gr.Interface(run_ner, - gr.Textbox(placeholder="Enter sentence here...", label="Input Text"), - gr.HighlightedText(label="Output Text"), - examples=examples, - allow_flagging="never") - - if __name__ == "__main__": - try: - demo.launch(debug=False) - except Exception: - demo.launch(share=True, debug=False) - # if you are launching remotely, specify server_name and server_port - # demo.launch(server_name='your server name', server_port='server port in int') - # Read more in the docs: https://gradio.app/docs/ - - -.. parsed-literal:: - - Running on local URL: http://127.0.0.1:7860 - - To create a public link, set `share=True` in `launch()`. - - - - - - - - diff --git a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_10_3.jpg b/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_10_3.jpg deleted file mode 100644 index 86240095fe0..00000000000 --- a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_10_3.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57d1afd29b87fe98bdf49632c67a7c5224d9ecaa7436ae7d6ba19a213a32b8ff -size 21574 diff --git a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_10_3.png b/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_10_3.png deleted file mode 100644 index f0367047735..00000000000 --- a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_10_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:544a18338099ec1ef80a52a61dc4ec2ca643a6dffc0140b1471874fd80e3037f -size 440317 diff --git a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_18_3.jpg b/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_18_3.jpg deleted file mode 100644 index aff048c7864..00000000000 --- a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_18_3.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10dc1639f80d5d9c5aed44552b6ac6e8d9d806233c7ba5cad884552ad54828b9 -size 22767 diff --git a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_18_3.png b/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_18_3.png deleted file mode 100644 index b84838abd40..00000000000 --- a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_18_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:31e323d1bdfadfc4a949dbd1932d158535af90e79a661d80ed66cf2657fccdb0 -size 439143 diff --git a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_29_2.jpg b/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_29_2.jpg deleted file mode 100644 index f80cd63ac65..00000000000 --- a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_29_2.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4404aac377efb0377fa7d08c7c02f358008acc19c9aa82aded7ce39e4091be33 -size 29349 diff --git a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_29_2.png b/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_29_2.png deleted file mode 100644 index 5cbe5394eef..00000000000 --- a/docs/notebooks/248-stable-diffusion-xl-with-output_files/248-stable-diffusion-xl-with-output_29_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1b9c84579d8b0ab9f1dfcfb8b94d4d55fb4acfc4b528cab7a2061634dcb0f8fe -size 432689 diff --git a/docs/notebooks/250-music-generation-with-output.rst b/docs/notebooks/250-music-generation-with-output.rst deleted file mode 100644 index bc24d2cae26..00000000000 --- a/docs/notebooks/250-music-generation-with-output.rst +++ /dev/null @@ -1,690 +0,0 @@ -Controllable Music Generation with MusicGen and OpenVINO -======================================================== - -MusicGen is a single-stage auto-regressive Transformer model capable of -generating high-quality music samples conditioned on text descriptions -or audio prompts. The text prompt is passed to a text encoder model (T5) -to obtain a sequence of hidden-state representations. These hidden -states are fed to MusicGen, which predicts discrete audio tokens (audio -codes). Finally, audio tokens are then decoded using an audio -compression model (EnCodec) to recover the audio waveform. - -.. figure:: https://user-images.githubusercontent.com/76463150/260439306-81c81c8d-1f9c-41d0-b881-9491766def8e.png - :alt: pipeline - - pipeline - -`The MusicGen model `__ does not -require a self-supervised semantic representation of the text/audio -prompts; it operates over several streams of compressed discrete music -representation with efficient token interleaving patterns, thus -eliminating the need to cascade multiple models to predict a set of -codebooks (e.g. hierarchically or upsampling). Unlike prior models -addressing music generation, it is able to generate all the codebooks in -a single forward pass. - -In this tutorial, we consider how to run the MusicGen model using -OpenVINO. - -We will use a model implementation from the `Hugging Face -Transformers `__ -library. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Prerequisites <#prerequisites>`__ - - - `Install requirements <#install-requirements>`__ - - `Imports <#imports>`__ - -- `MusicGen in HF Transformers <#musicgen-in-hf-transformers>`__ - - - `Original Pipeline Inference <#original-pipeline-inference>`__ - -- `Convert models to OpenVINO Intermediate representation (IR) - format <#convert-models-to-openvino-intermediate-representation-ir-format>`__ - - - `0. Set Up Variables <#0--set-up-variables>`__ - - `1. Convert Text Encoder <#1--convert-text-encoder>`__ - - `2. Convert MusicGen Language - Model <#2--convert-musicgen-language-model>`__ - - `3. Convert Audio Decoder <#3--convert-audio-decoder>`__ - -- `Embedding the converted models into the original - pipeline <#embedding-the-converted-models-into-the-original-pipeline>`__ - - - `Select inference device <#select-inference-device>`__ - - `Adapt OpenVINO models to the original - pipeline <#adapt-openvino-models-to-the-original-pipeline>`__ - -- `Try out the converted pipeline <#try-out-the-converted-pipeline>`__ - -Prerequisites -------------- - - - -Install requirements -~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - %pip install -q "openvino>=2023.3.0" - %pip install -q torch gradio transformers --extra-index-url https://download.pytorch.org/whl/cpu - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Imports -~~~~~~~ - - - -.. code:: ipython3 - - from collections import namedtuple - from functools import partial - import gc - from pathlib import Path - from typing import Optional, Tuple - import warnings - - from IPython.display import Audio - import openvino as ov - import numpy as np - import torch - from torch.jit import TracerWarning - from transformers import AutoProcessor, MusicgenForConditionalGeneration - from transformers.modeling_outputs import BaseModelOutputWithPastAndCrossAttentions, CausalLMOutputWithCrossAttentions - - # Ignore tracing warnings - warnings.filterwarnings("ignore", category=TracerWarning) - - -.. parsed-literal:: - - 2024-03-13 00:01:00.322267: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:01:00.356009: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-13 00:01:00.944072: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -MusicGen in HF Transformers ---------------------------- - - - -To work with -`MusicGen `__ by Meta -AI, we will use `Hugging Face Transformers -package `__. Transformers -package exposes the ``MusicgenForConditionalGeneration`` class, -simplifying the model instantiation and weights loading. The code below -demonstrates how to create a ``MusicgenForConditionalGeneration`` and -generate a text-conditioned music sample. - -.. code:: ipython3 - - # Load the pipeline - model = MusicgenForConditionalGeneration.from_pretrained("facebook/musicgen-small", torchscript=True, return_dict=False) - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:28: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. - warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.") - - -In the cell below user is free to change the desired music sample -length. - -.. code:: ipython3 - - sample_length = 8 # seconds - - n_tokens = sample_length * model.config.audio_encoder.frame_rate + 3 - sampling_rate = model.config.audio_encoder.sampling_rate - print('Sampling rate is', sampling_rate, 'Hz') - - model.to("cpu") - model.eval(); - - -.. parsed-literal:: - - Sampling rate is 32000 Hz - - -Original Pipeline Inference -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Text Preprocessing prepares the text prompt to be fed into the model, -the ``processor`` object abstracts this step for us. Text tokenization -is performed under the hood, it assigning tokens or IDs to the words; in -other words, token IDs are just indices of the words in the model -vocabulary. It helps the model understand the context of a sentence. - -.. code:: ipython3 - - processor = AutoProcessor.from_pretrained("facebook/musicgen-small") - - inputs = processor( - text=["80s pop track with bassy drums and synth"], - return_tensors="pt", - ) - - audio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=n_tokens) - - Audio(audio_values[0].cpu().numpy(), rate=sampling_rate) - - - - -.. raw:: html - - - - - - - -Convert models to OpenVINO Intermediate representation (IR) format ------------------------------------------------------------------- - - - -Model conversion API enables direct conversion of PyTorch models. We -will utilize the ``openvino.convert_model`` method to acquire OpenVINO -IR versions of the models. The method requires a model object and -example input for model tracing. Under the hood, the converter will use -the PyTorch JIT compiler, to build a frozen model graph. - -The pipeline consists of three important parts: - -- The `T5 text encoder `__ - that translates user prompts into vectors in the latent space that - the next model - the MusicGen decoder can utilize. -- The `MusicGen Language - Model `__ - that auto-regressively generates audio tokens (codes). -- The `EnCodec model `__ - (we will use only the decoder part of it) is used to decode the audio - waveform from the audio tokens predicted by the MusicGen Language - Model. - -Let us convert each model step by step. - -0. Set Up Variables -~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - models_dir = Path("./models") - t5_ir_path = models_dir / "t5.xml" - musicgen_0_ir_path = models_dir / "mg_0.xml" - musicgen_ir_path = models_dir / "mg.xml" - audio_decoder_ir_path = models_dir / "encodec.xml" - -1. Convert Text Encoder -~~~~~~~~~~~~~~~~~~~~~~~ - - - -The text encoder is responsible for converting the input prompt, such as -“90s rock song with loud guitars and heavy drums” into an embedding -space that can be fed to the next model. Typically, it is a -transformer-based encoder that maps a sequence of input tokens to a -sequence of text embeddings. - -The input for the text encoder consists of a tensor ``input_ids``, which -contains token indices from the text processed by the tokenizer and -``attention_mask`` that we will ignore as we will process one prompt at -a time and this vector will just consist of ones. - -We use OpenVINO Converter (OVC) below to convert the PyTorch model to -the OpenVINO Intermediate Representation format (IR), which you can -infer later with `OpenVINO -runtime `__ - -.. code:: ipython3 - - if not t5_ir_path.exists(): - t5_ov = ov.convert_model(model.text_encoder, example_input={'input_ids': inputs['input_ids']}) - - ov.save_model(t5_ov, t5_ir_path) - del t5_ov - gc.collect() - - -.. parsed-literal:: - - WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. - - -.. parsed-literal:: - - [ WARNING ] Please fix your imports. Module %s has been moved to %s. The old module will be deleted in version %s. - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead - warnings.warn( - - -2. Convert MusicGen Language Model -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -This model is the central part of the whole pipeline, it takes the -embedded text representation and generates audio codes that can be then -decoded into actual music. The model outputs several streams of audio -codes - tokens sampled from the pre-trained codebooks representing music -efficiently with a lower frame rate. The model employs innovative codes -intervaling strategy, that makes single-stage generation possible. - -On the 0th generation step the model accepts ``input_ids`` representing -the indices of audio codes, ``encoder_hidden_states`` and -``encoder_attention_mask`` that were provided by the text encoder. - -.. code:: ipython3 - - # Set model config `torchscript` to True, so the model returns a tuple as output - model.decoder.config.torchscript = True - - if not musicgen_0_ir_path.exists(): - decoder_input = { - 'input_ids': torch.ones(8, 1, dtype=torch.int64), - 'encoder_hidden_states': torch.ones(2, 12, 1024, dtype=torch.float32), - 'encoder_attention_mask': torch.ones(2, 12, dtype=torch.int64), - } - mg_ov_0_step = ov.convert_model(model.decoder, example_input=decoder_input) - - ov.save_model(mg_ov_0_step, musicgen_0_ir_path) - del mg_ov_0_step - gc.collect() - -On further iterations, the model is also provided with a -``past_key_values`` argument that contains previous outputs of the -attention block, it allows us to save on computations. But for us, it -means that the signature of the model’s ``forward`` method changed. -Models in OpenVINO IR have frozen calculation graphs and do not allow -optional arguments, that is why the MusicGen model must be converted a -second time, with an increased number of inputs. - -.. code:: ipython3 - - # Add additional argument to the example_input dict - if not musicgen_ir_path.exists(): - # Add `past_key_values` to the converted model signature - decoder_input['past_key_values'] = tuple( - [( - torch.ones(2, 16, 1, 64, dtype=torch.float32), - torch.ones(2, 16, 1, 64, dtype=torch.float32), - torch.ones(2, 16, 12, 64, dtype=torch.float32), - torch.ones(2, 16, 12, 64, dtype=torch.float32), - )] * 24 - ) - - mg_ov = ov.convert_model(model.decoder, example_input=decoder_input) - for input in mg_ov.inputs[3:]: - input.get_node().set_partial_shape(ov.PartialShape([-1, 16, -1, 64])) - input.get_node().set_element_type(ov.Type.f32) - - mg_ov.validate_nodes_and_infer_types() - - ov.save_model(mg_ov, musicgen_ir_path) - del mg_ov - gc.collect() - -3. Convert Audio Decoder -~~~~~~~~~~~~~~~~~~~~~~~~ - - - -The audio decoder which is a part of the EnCodec model is used to -recover the audio waveform from the audio tokens predicted by the -MusicGen decoder. To learn more about the model please refer to the -corresponding `OpenVINO -example `__. - -.. code:: ipython3 - - if not audio_decoder_ir_path.exists(): - class AudioDecoder(torch.nn.Module): - def __init__(self, model): - super().__init__() - self.model = model - - def forward(self, output_ids): - return self.model.decode(output_ids, [None]) - - audio_decoder_input = {'output_ids': torch.ones((1, 1, 4, n_tokens - 3), dtype=torch.int64)} - - with torch.no_grad(): - audio_decoder_ov = ov.convert_model(AudioDecoder(model.audio_encoder), example_input=audio_decoder_input) - ov.save_model(audio_decoder_ov, audio_decoder_ir_path) - del audio_decoder_ov - gc.collect() - -Embedding the converted models into the original pipeline ---------------------------------------------------------- - - - -OpenVINO™ Runtime Python API is used to compile the model in OpenVINO IR -format. The -`Core `__ -class provides access to the OpenVINO Runtime API. The ``core`` object, -which is an instance of the ``Core`` class represents the API and it is -used to compile the model. - -.. code:: ipython3 - - core = ov.Core() - -Select inference device -^^^^^^^^^^^^^^^^^^^^^^^ - - - -Select device that will be used to do models inference using OpenVINO -from the dropdown list: - -.. code:: ipython3 - - import ipywidgets as widgets - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -Adapt OpenVINO models to the original pipeline -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Here we create wrapper classes for all three OpenVINO models that we -want to embed in the original inference pipeline. Here are some of the -things to consider when adapting an OV model: - Make sure that -parameters passed by the original pipeline are forwarded to the compiled -OV model properly; sometimes the OV model uses only a portion of the -input arguments and some are ignored, sometimes you need to convert the -argument to another data type or unwrap some data structures such as -tuples or dictionaries. - Guarantee that the wrapper class returns -results to the pipeline in an expected format. In the example below you -can see how we pack OV model outputs into special classes declared in -the HF repo. - Pay attention to the model method used in the original -pipeline for calling the model - it may be not the ``forward`` method! -Refer to the ``AudioDecoderWrapper`` to see how we wrap OV model -inference into the ``decode`` method. - -.. code:: ipython3 - - class TextEncoderWrapper(torch.nn.Module): - def __init__(self, encoder_ir, config): - super().__init__() - self.encoder = core.compile_model(encoder_ir, device.value) - self.config = config - - def forward(self, input_ids, **kwargs): - last_hidden_state = self.encoder(input_ids)[self.encoder.outputs[0]] - last_hidden_state = torch.tensor(last_hidden_state) - return BaseModelOutputWithPastAndCrossAttentions(last_hidden_state=last_hidden_state) - - - class MusicGenWrapper(torch.nn.Module): - def __init__(self, music_gen_lm_0_ir, music_gen_lm_ir, config, num_codebooks, build_delay_pattern_mask, - apply_delay_pattern_mask): - super().__init__() - self.music_gen_lm_0 = core.compile_model(music_gen_lm_0_ir, device.value) - self.music_gen_lm = core.compile_model(music_gen_lm_ir, device.value) - self.config = config - self.num_codebooks = num_codebooks - self.build_delay_pattern_mask = build_delay_pattern_mask - self.apply_delay_pattern_mask = apply_delay_pattern_mask - - def forward( - self, - input_ids: torch.LongTensor = None, - encoder_hidden_states: torch.FloatTensor = None, - encoder_attention_mask: torch.LongTensor = None, - past_key_values: Optional[Tuple[torch.FloatTensor]] = None, - **kwargs - ): - if past_key_values is None: - model = self.music_gen_lm_0 - arguments = (input_ids, encoder_hidden_states, encoder_attention_mask) - else: - model = self.music_gen_lm - arguments = (input_ids, encoder_hidden_states, encoder_attention_mask, *past_key_values) - - output = model(arguments) - return CausalLMOutputWithCrossAttentions( - logits=torch.tensor(output[model.outputs[0]]), - past_key_values=tuple([output[model.outputs[i]] for i in range(1, 97)]), - ) - - class AudioDecoderWrapper(torch.nn.Module): - def __init__(self, decoder_ir, config): - super().__init__() - self.decoder = core.compile_model(decoder_ir, device.value) - self.config = config - self.output_type = namedtuple("AudioDecoderOutput", ["audio_values"]) - - def decode(self, output_ids, audio_scales): - output = self.decoder(output_ids)[self.decoder.outputs[0]] - return self.output_type(audio_values=torch.tensor(output)) - -Now we initialize the wrapper objects and load them to the HF pipeline - -.. code:: ipython3 - - text_encode_ov = TextEncoderWrapper(t5_ir_path, model.text_encoder.config) - musicgen_decoder_ov = MusicGenWrapper( - musicgen_0_ir_path, - musicgen_ir_path, - model.decoder.config, - model.decoder.num_codebooks, - model.decoder.build_delay_pattern_mask, - model.decoder.apply_delay_pattern_mask - ) - audio_encoder_ov = AudioDecoderWrapper(audio_decoder_ir_path, model.audio_encoder.config) - - del model.text_encoder - del model.decoder - del model.audio_encoder - gc.collect() - - model.text_encoder = text_encode_ov - model.decoder = musicgen_decoder_ov - model.audio_encoder = audio_encoder_ov - - def prepare_inputs_for_generation( - self, - decoder_input_ids, - past_key_values=None, - attention_mask=None, - head_mask=None, - decoder_attention_mask=None, - decoder_head_mask=None, - cross_attn_head_mask=None, - use_cache=None, - encoder_outputs=None, - decoder_delay_pattern_mask=None, - guidance_scale=None, - **kwargs, - ): - if decoder_delay_pattern_mask is None: - decoder_input_ids, decoder_delay_pattern_mask = self.decoder.build_delay_pattern_mask( - decoder_input_ids, - self.generation_config.pad_token_id, - max_length=self.generation_config.max_length, - ) - - # apply the delay pattern mask - decoder_input_ids = self.decoder.apply_delay_pattern_mask(decoder_input_ids, decoder_delay_pattern_mask) - - if guidance_scale is not None and guidance_scale > 1: - # for classifier free guidance we need to replicate the decoder args across the batch dim (we'll split these - # before sampling) - decoder_input_ids = decoder_input_ids.repeat((2, 1)) - if decoder_attention_mask is not None: - decoder_attention_mask = decoder_attention_mask.repeat((2, 1)) - - if past_key_values is not None: - # cut decoder_input_ids if past is used - decoder_input_ids = decoder_input_ids[:, -1:] - - return { - "input_ids": None, # encoder_outputs is defined. input_ids not needed - "encoder_outputs": encoder_outputs, - "past_key_values": past_key_values, - "decoder_input_ids": decoder_input_ids, - "attention_mask": attention_mask, - "decoder_attention_mask": decoder_attention_mask, - "head_mask": head_mask, - "decoder_head_mask": decoder_head_mask, - "cross_attn_head_mask": cross_attn_head_mask, - "use_cache": use_cache, - } - - model.prepare_inputs_for_generation = partial(prepare_inputs_for_generation, model) - -We can now infer the pipeline backed by OpenVINO models. - -.. code:: ipython3 - - processor = AutoProcessor.from_pretrained("facebook/musicgen-small") - - inputs = processor( - text=["80s pop track with bassy drums and synth"], - return_tensors="pt", - ) - - audio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=n_tokens) - - Audio(audio_values[0].cpu().numpy(), rate=sampling_rate) - - - - -.. raw:: html - - - - - - - -Try out the converted pipeline ------------------------------- - - - -The demo app below is created using `Gradio -package `__ - -.. code:: ipython3 - - def _generate(prompt): - inputs = processor( - text=[prompt,], - padding=True, - return_tensors="pt", - ) - audio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=n_tokens) - waveform = audio_values[0].cpu().squeeze() * 2**15 - return (sampling_rate, waveform.numpy().astype(np.int16)) - -.. code:: ipython3 - - import gradio as gr - - demo = gr.Interface( - _generate, - inputs=[ - gr.Textbox(label="Text Prompt"), - ], - outputs=[ - "audio" - ], - examples=[ - ["80s pop track with bassy drums and synth"], - ["Earthy tones, environmentally conscious, ukulele-infused, harmonic, breezy, easygoing, organic instrumentation, gentle grooves"], - ["90s rock song with loud guitars and heavy drums"], - ["Heartful EDM with beautiful synths and chords"], - ], - ) - try: - demo.launch(debug=False) - except Exception: - demo.launch(share=True, debug=False) - - # If you are launching remotely, specify server_name and server_port - # EXAMPLE: `demo.launch(server_name='your server name', server_port='server port in int')` - # To learn more please refer to the Gradio docs: https://gradio.app/docs/ - - -.. parsed-literal:: - - Running on local URL: http://127.0.0.1:7860 - - To create a public link, set `share=True` in `launch()`. - - - - - - - diff --git a/docs/notebooks/254-rag-chatbot-with-output.rst b/docs/notebooks/254-rag-chatbot-with-output.rst deleted file mode 100644 index 05bf78e6c2b..00000000000 --- a/docs/notebooks/254-rag-chatbot-with-output.rst +++ /dev/null @@ -1,1543 +0,0 @@ -Create an LLM-powered RAG system using OpenVINO -=============================================== - -**Retrieval-augmented generation (RAG)** is a technique for augmenting -LLM knowledge with additional, often private or real-time, data. LLMs -can reason about wide-ranging topics, but their knowledge is limited to -the public data up to a specific point in time that they were trained -on. If you want to build AI applications that can reason about private -data or data introduced after a model’s cutoff date, you need to augment -the knowledge of the model with the specific information it needs. The -process of bringing the appropriate information and inserting it into -the model prompt is known as Retrieval Augmented Generation (RAG). - -`LangChain `__ -is a framework for developing applications powered by language models. -It has a number of components specifically designed to help build RAG -applications. In this tutorial, we’ll build a simple question-answering -application over a Markdown or CSV data source. - -The tutorial consists of the following steps: - -- Install prerequisites -- Download and convert the model from a public source using the - `OpenVINO integration with Hugging Face - Optimum `__. -- Compress model weights to 4-bit or 8-bit data types using - `NNCF `__ -- Create a RAG chain pipeline -- Run chat pipeline - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Prerequisites <#prerequisites>`__ -- `Select model for inference <#select-model-for-inference>`__ -- `login to huggingfacehub to get access to pretrained - model <#login-to-huggingfacehub-to-get-access-to-pretrained-model>`__ -- `Convert model <#convert-model>`__ - - - `Convert LLM model <#convert-llm-model>`__ - -- `Compress model weights <#compress-model-weights>`__ - - - `Weights Compression using Optimum - Intel <#weights-compression-using-optimum-intel>`__ - - `Weights Compression using - NNCF <#weights-compression-using-nncf>`__ - - `Convert embedding model <#convert-embedding-model>`__ - -- `Select device for inference and model - variant <#select-device-for-inference-and-model-variant>`__ - - - `Select device for embedding model - inference <#select-device-for-embedding-model-inference>`__ - - `Select device for LLM model - inference <#select-device-for-llm-model-inference>`__ - -- `Load model <#load-model>`__ - - - `Load embedding model <#load-embedding-model>`__ - - `Load LLM model <#load-llm-model>`__ - -- `Run QA over Document <#run-qa-over-document>`__ - -Prerequisites -------------- - - - -Install required dependencies - -.. code:: ipython3 - - %pip uninstall -q -y openvino-dev openvino openvino-nightly optimum optimum-intel - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu\ - "git+https://github.com/huggingface/optimum-intel.git"\ - "git+https://github.com/openvinotoolkit/nncf.git"\ - "datasets"\ - "accelerate"\ - "openvino-nightly"\ - "gradio"\ - "onnx" "chromadb" "sentence_transformers" "langchain>=0.1.7" "langchainhub" "transformers>=4.37.0" "unstructured" "scikit-learn" "python-docx" "pdfminer.six" "bitsandbytes" - - -.. parsed-literal:: - - WARNING: Skipping openvino-dev as it is not installed. - WARNING: Skipping openvino as it is not installed. - Note: you may need to restart the kernel to use updated packages. - - [notice] A new release of pip is available: 23.3.2 -> 24.0 - [notice] To update, run: pip install --upgrade pip - Note: you may need to restart the kernel to use updated packages. - - -Select model for inference --------------------------- - - - -The tutorial supports different models, you can select one from the -provided options to compare the quality of open source LLM solutions. ->\ **Note**: conversion of some models can require additional actions -from user side and at least 64GB RAM for conversion. - -The available embedding model options are: - -- **all-mpnet-base-v2(All)** - This is a - `sentence-transformers `__ - model: It maps sentences & paragraphs to a 768 dimensional dense - vector space and can be used for tasks like clustering or semantic - search. More details about model can be found in `model - card `__ -- **text2vec-large-chinese(Chinese)** - This is a - `CoSENT `__ model. It can be used - for tasks like sentence embeddings, text matching or semantic search. - More details about model can be found in `model - card `__ - -The available LLM model options are: - -- **tiny-llama-1b-chat** - This is the chat model finetuned on top of - `TinyLlama/TinyLlama-1.1B-intermediate-step-955k-2T `__. - The TinyLlama project aims to pretrain a 1.1B Llama model on 3 - trillion tokens with the adoption of the same architecture and - tokenizer as Llama 2. This means TinyLlama can be plugged and played - in many open-source projects built upon Llama. Besides, TinyLlama is - compact with only 1.1B parameters. This compactness allows it to - cater to a multitude of applications demanding a restricted - computation and memory footprint. More details about model can be - found in `model - card `__ -- **gemma-2b-it** - Gemma is a family of lightweight, state-of-the-art - open models from Google, built from the same research and technology - used to create the Gemini models. They are text-to-text, decoder-only - large language models, available in English, with open weights, - pre-trained variants, and instruction-tuned variants. Gemma models - are well-suited for a variety of text generation tasks, including - question answering, summarization, and reasoning. This model is - instruction-tuned version of 2B parameters model. More details about - model can be found in `model - card `__. >\ **Note**: run - model with demo, you will need to accept license agreement. >You must - be a registered user in Hugging Face Hub. Please visit `HuggingFace - model card `__, carefully - read terms of usage and click accept button. You will need to use an - access token for the code below to run. For more information on - access tokens, refer to `this section of the - documentation `__. - >You can login on Hugging Face Hub in notebook environment, using - following code: - -.. code:: python - - ## login to huggingfacehub to get access to pretrained model - - from huggingface_hub import notebook_login, whoami - - try: - whoami() - print('Authorization token already provided') - except OSError: - notebook_login() - -- **mini-cpm-2b-dpo** - MiniCPM is an End-Size LLM developed by - ModelBest Inc. and TsinghuaNLP, with only 2.4B parameters excluding - embeddings. After Direct Preference Optimization (DPO) fine-tuning, - MiniCPM outperforms many popular 7b, 13b and 70b models. More details - can be found in - `model_card `__. -- **red-pajama-3b-chat** - A 2.8B parameter pre-trained language model - based on GPT-NEOX architecture. It was developed by Together Computer - and leaders from the open-source AI community. The model is - fine-tuned on OASST1 and Dolly2 datasets to enhance chatting ability. - More details about model can be found in `HuggingFace model - card `__. -- **gemma-7b-it** - Gemma is a family of lightweight, state-of-the-art - open models from Google, built from the same research and technology - used to create the Gemini models. They are text-to-text, decoder-only - large language models, available in English, with open weights, - pre-trained variants, and instruction-tuned variants. Gemma models - are well-suited for a variety of text generation tasks, including - question answering, summarization, and reasoning. This model is - instruction-tuned version of 7B parameters model. More details about - model can be found in `model - card `__. >\ **Note**: run - model with demo, you will need to accept license agreement. >You must - be a registered user in Hugging Face Hub. Please visit `HuggingFace - model card `__, carefully - read terms of usage and click accept button. You will need to use an - access token for the code below to run. For more information on - access tokens, refer to `this section of the - documentation `__. - >You can login on Hugging Face Hub in notebook environment, using - following code: - -.. code:: python - - ## login to huggingfacehub to get access to pretrained model - - from huggingface_hub import notebook_login, whoami - - try: - whoami() - print('Authorization token already provided') - except OSError: - notebook_login() - -- **llama-2-7b-chat** - LLama 2 is the second generation of LLama - models developed by Meta. Llama 2 is a collection of pre-trained and - fine-tuned generative text models ranging in scale from 7 billion to - 70 billion parameters. llama-2-7b-chat is 7 billions parameters - version of LLama 2 finetuned and optimized for dialogue use case. - More details about model can be found in the - `paper `__, - `repository `__ and - `HuggingFace model - card `__. - >\ **Note**: run model with demo, you will need to accept license - agreement. >You must be a registered user in Hugging Face Hub. - Please visit `HuggingFace model - card `__, - carefully read terms of usage and click accept button. You will need - to use an access token for the code below to run. For more - information on access tokens, refer to `this section of the - documentation `__. - >You can login on Hugging Face Hub in notebook environment, using - following code: - -.. code:: python - - ## login to huggingfacehub to get access to pretrained model - - from huggingface_hub import notebook_login, whoami - - try: - whoami() - print('Authorization token already provided') - except OSError: - notebook_login() - -- **qwen1.5-0.5b-chat/qwen1.5-1.8b-chat/qwen1.5-7b-chat** - Qwen1.5 is - the beta version of Qwen2, a transformer-based decoder-only language - model pretrained on a large amount of data. Qwen1.5 is a language - model series including decoder language models of different model - sizes. It is based on the Transformer architecture with SwiGLU - activation, attention QKV bias, group query attention, mixture of - sliding window attention and full attention. You can find more - details about model in the `model - repository `__. -- **qwen-7b-chat** - Qwen-7B is the 7B-parameter version of the large - language model series, Qwen (abbr. Tongyi Qianwen), proposed by - Alibaba Cloud. Qwen-7B is a Transformer-based large language model, - which is pretrained on a large volume of data, including web texts, - books, codes, etc. For more details about Qwen, please refer to the - `GitHub `__ code repository. -- **mpt-7b-chat** - MPT-7B is part of the family of - MosaicPretrainedTransformer (MPT) models, which use a modified - transformer architecture optimized for efficient training and - inference. These architectural changes include performance-optimized - layer implementations and the elimination of context length limits by - replacing positional embeddings with Attention with Linear Biases - (`ALiBi `__). Thanks to these - modifications, MPT models can be trained with high throughput - efficiency and stable convergence. MPT-7B-chat is a chatbot-like - model for dialogue generation. It was built by finetuning MPT-7B on - the - `ShareGPT-Vicuna `__, - `HC3 `__, - `Alpaca `__, - `HH-RLHF `__, and - `Evol-Instruct `__ - datasets. More details about the model can be found in `blog - post `__, - `repository `__ and - `HuggingFace model - card `__. -- **chatglm3-6b** - ChatGLM3-6B is the latest open-source model in the - ChatGLM series. While retaining many excellent features such as - smooth dialogue and low deployment threshold from the previous two - generations, ChatGLM3-6B employs a more diverse training dataset, - more sufficient training steps, and a more reasonable training - strategy. ChatGLM3-6B adopts a newly designed `Prompt - format `__, - in addition to the normal multi-turn dialogue. You can find more - details about model in the `model - card `__ -- **mistral-7b** - The Mistral-7B-v0.1 Large Language Model (LLM) is a - pretrained generative text model with 7 billion parameters. You can - find more details about model in the `model - card `__, - `paper `__ and `release blog - post `__. -- **zephyr-7b-beta** - Zephyr is a series of language models that are - trained to act as helpful assistants. Zephyr-7B-beta is the second - model in the series, and is a fine-tuned version of - `mistralai/Mistral-7B-v0.1 `__ - that was trained on on a mix of publicly available, synthetic - datasets using `Direct Preference Optimization - (DPO) `__. You can find more - details about model in `technical - report `__ and `HuggingFace model - card `__. -- **neural-chat-7b-v3-1** - Mistral-7b model fine-tuned using Intel - Gaudi. The model fine-tuned on the open source dataset - `Open-Orca/SlimOrca `__ - and aligned with `Direct Preference Optimization (DPO) - algorithm `__. More details can be - found in `model - card `__ and `blog - post `__. -- **notus-7b-v1** - Notus is a collection of fine-tuned models using - `Direct Preference Optimization - (DPO) `__. and related - `RLHF `__ techniques. This model is - the first version, fine-tuned with DPO over zephyr-7b-sft. Following - a data-first approach, the only difference between Notus-7B-v1 and - Zephyr-7B-beta is the preference dataset used for dDPO. Proposed - approach for dataset creation helps to effectively fine-tune Notus-7b - that surpasses Zephyr-7B-beta and Claude 2 on - `AlpacaEval `__. More - details about model can be found in `model - card `__. -- **youri-7b-chat** - Youri-7b-chat is a Llama2 based model. `Rinna - Co., Ltd. `__ conducted further pre-training - for the Llama2 model with a mixture of English and Japanese datasets - to improve Japanese task capability. The model is publicly released - on Hugging Face hub. You can find detailed information at the - `rinna/youri-7b-chat project - page `__. -- **baichuan2-7b-chat** - Baichuan 2 is the new generation of - large-scale open-source language models launched by `Baichuan - Intelligence inc `__. It is trained - on a high-quality corpus with 2.6 trillion tokens and has achieved - the best performance in authoritative Chinese and English benchmarks - of the same size. -- **internlm2-chat-1.8b** - InternLM2 is the second generation InternLM - series. Compared to the previous generation model, it shows - significant improvements in various capabilities, including - reasoning, mathematics, and coding. More details about model can be - found in `model repository `__. - -.. code:: ipython3 - - from pathlib import Path - from optimum.intel.openvino import OVModelForCausalLM - import openvino as ov - import torch - import nncf - import logging - import shutil - import gc - import ipywidgets as widgets - from transformers import ( - AutoModelForCausalLM, - AutoModel, - AutoTokenizer, - AutoConfig, - TextIteratorStreamer, - pipeline, - StoppingCriteria, - StoppingCriteriaList, - ) - - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -.. parsed-literal:: - - 2024-03-06 07:05:19.617312: I tensorflow/core/util/port.cc:111] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-06 07:05:19.620814: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-03-06 07:05:19.663621: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered - 2024-03-06 07:05:19.663653: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered - 2024-03-06 07:05:19.663683: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered - 2024-03-06 07:05:19.671963: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-03-06 07:05:19.673938: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2024-03-06 07:05:20.726709: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -Convert model -------------- - - - -Convert LLM model -~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - from config import SUPPORTED_EMBEDDING_MODELS, SUPPORTED_LLM_MODELS - - model_languages = list(SUPPORTED_LLM_MODELS) - - model_language = widgets.Dropdown( - options=model_languages, - value=model_languages[0], - description="Model Language:", - disabled=False, - ) - - model_language - - - - -.. parsed-literal:: - - Dropdown(description='Model Language:', options=('English', 'Chinese', 'Japanese'), value='English') - - - -.. code:: ipython3 - - llm_model_ids = list(SUPPORTED_LLM_MODELS[model_language.value]) - - llm_model_id = widgets.Dropdown( - options=llm_model_ids, - value=llm_model_ids[4], - description="Model:", - disabled=False, - ) - - llm_model_id - - - - -.. parsed-literal:: - - Dropdown(description='Model:', options=('tiny-llama-1b-chat', 'gemma-2b-it', 'red-pajama-3b-chat', 'gemma-7b-i… - - - -.. code:: ipython3 - - llm_model_configuration = SUPPORTED_LLM_MODELS[model_language.value][llm_model_id.value] - print(f"Selected LLM model {llm_model_id.value}") - - -.. parsed-literal:: - - Selected LLM model tiny-llama-1b-chat - - -Optimum Intel can be used to load optimized models from the `Hugging -Face Hub `__ and -create pipelines to run an inference with OpenVINO Runtime using Hugging -Face APIs. The Optimum Inference models are API compatible with Hugging -Face Transformers models. This means we just need to replace -``AutoModelForXxx`` class with the corresponding ``OVModelForXxx`` -class. - -Below is an example of the RedPajama model - -.. code:: diff - - -from transformers import AutoModelForCausalLM - +from optimum.intel.openvino import OVModelForCausalLM - from transformers import AutoTokenizer, pipeline - - model_id = "togethercomputer/RedPajama-INCITE-Chat-3B-v1" - -model = AutoModelForCausalLM.from_pretrained(model_id) - +model = OVModelForCausalLM.from_pretrained(model_id, export=True) - -Model class initialization starts with calling ``from_pretrained`` -method. When downloading and converting Transformers model, the -parameter ``export=True`` should be added. We can save the converted -model for the next usage with the ``save_pretrained`` method. Tokenizer -class and pipelines API are compatible with Optimum models. - -To optimize the generation process and use memory more efficiently, the -``use_cache=True`` option is enabled. Since the output side is -auto-regressive, an output token hidden state remains the same once -computed for every further generation step. Therefore, recomputing it -every time you want to generate a new token seems wasteful. With the -cache, the model saves the hidden state once it has been computed. The -model only computes the one for the most recently generated output token -at each time step, re-using the saved ones for hidden tokens. This -reduces the generation complexity from :math:`O(n^3)` to :math:`O(n^2)` -for a transformer model. More details about how it works can be found in -this -`article `__. -With this option, the model gets the previous step’s hidden states -(cached attention keys and values) as input and additionally provides -hidden states for the current step as output. It means for all next -iterations, it is enough to provide only a new token obtained from the -previous step and cached key values to get the next token prediction. - -In our case, MPT, Qwen and ChatGLM model currently is not covered by -Optimum Intel, we will convert it manually and create wrapper compatible -with Optimum Intel. - -Compress model weights ----------------------- - - - -The Weights Compression algorithm is aimed at compressing the weights of -the models and can be used to optimize the model footprint and -performance of large models where the size of weights is relatively -larger than the size of activations, for example, Large Language Models -(LLM). Compared to INT8 compression, INT4 compression improves -performance even more, but introduces a minor drop in prediction -quality. - -Weights Compression using Optimum Intel -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Optimum Intel supports weight compression via NNCF out of the box. For -8-bit compression we pass ``load_in_8bit=True`` to ``from_pretrained()`` -method of ``OVModelForCausalLM``. For 4 bit compression we provide -``quantization_config=OVWeightQuantizationConfig(bits=4, ...)`` argument -containing number of bits and other compression parameters. We will -consider how to do it on RedPajama, LLAMA and Zephyr examples. - - **Note**: There may be no speedup for INT4/INT8 compressed models on - dGPU. - -Weights Compression using NNCF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -You also can perform weights compression for OpenVINO models using NNCF -directly. ``nncf.compress_weights`` function accepts OpenVINO model -instance and compresses its weights for Linear and Embedding layers. We -will consider this variant based on MPT model. - - **Note**: This tutorial involves conversion model for FP16 and - INT4/INT8 weights compression scenarios. It may be memory and - time-consuming in the first run. You can manually control the - compression precision below. - -.. code:: ipython3 - - from IPython.display import display - - prepare_int4_model = widgets.Checkbox( - value=True, - description="Prepare INT4 model", - disabled=False, - ) - prepare_int8_model = widgets.Checkbox( - value=False, - description="Prepare INT8 model", - disabled=False, - ) - prepare_fp16_model = widgets.Checkbox( - value=False, - description="Prepare FP16 model", - disabled=False, - ) - - display(prepare_int4_model) - display(prepare_int8_model) - display(prepare_fp16_model) - - - -.. parsed-literal:: - - Checkbox(value=True, description='Prepare INT4 model') - - - -.. parsed-literal:: - - Checkbox(value=False, description='Prepare INT8 model') - - - -.. parsed-literal:: - - Checkbox(value=False, description='Prepare FP16 model') - - -.. code:: ipython3 - - from optimum.intel import OVWeightQuantizationConfig - from converter import converters, register_configs - - register_configs() - - nncf.set_log_level(logging.ERROR) - - pt_model_id = llm_model_configuration["model_id"] - pt_model_name = llm_model_id.value.split("-")[0] - model_type = AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True).model_type - fp16_model_dir = Path(llm_model_id.value) / "FP16" - int8_model_dir = Path(llm_model_id.value) / "INT8_compressed_weights" - int4_model_dir = Path(llm_model_id.value) / "INT4_compressed_weights" - - - def convert_to_fp16(): - if (fp16_model_dir / "openvino_model.xml").exists(): - return - if not llm_model_configuration["remote"]: - remote_code = llm_model_configuration.get("remote_code", False) - model_kwargs = {} - if remote_code: - model_kwargs = { - "trust_remote_code": True, - "config": AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True) - } - ov_model = OVModelForCausalLM.from_pretrained( - pt_model_id, export=True, compile=False, load_in_8bit=False, **model_kwargs - ) - ov_model.half() - ov_model.save_pretrained(fp16_model_dir) - del ov_model - else: - model_kwargs = {} - if "revision" in llm_model_configuration: - model_kwargs["revision"] = llm_model_configuration["revision"] - model = AutoModelForCausalLM.from_pretrained( - llm_model_configuration["model_id"], - torch_dtype=torch.float32, - trust_remote_code=True, - **model_kwargs - ) - converters[pt_model_name](model, fp16_model_dir) - del model - gc.collect() - - - def convert_to_int8(): - if (int8_model_dir / "openvino_model.xml").exists(): - return - int8_model_dir.mkdir(parents=True, exist_ok=True) - if not llm_model_configuration["remote"]: - remote_code = llm_model_configuration.get("remote_code", False) - model_kwargs = {} - if remote_code: - model_kwargs = { - "trust_remote_code": True, - "config": AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True) - } - ov_model = OVModelForCausalLM.from_pretrained( - pt_model_id, export=True, compile=False, load_in_8bit=True, **model_kwargs - ) - ov_model.save_pretrained(int8_model_dir) - del ov_model - else: - convert_to_fp16() - ov_model = ov.Core().read_model(fp16_model_dir / "openvino_model.xml") - shutil.copy(fp16_model_dir / "config.json", int8_model_dir / "config.json") - configuration_file = fp16_model_dir / f"configuration_{model_type}.py" - if configuration_file.exists(): - shutil.copy( - configuration_file, int8_model_dir / f"configuration_{model_type}.py" - ) - compressed_model = nncf.compress_weights(ov_model) - ov.save_model(compressed_model, int8_model_dir / "openvino_model.xml") - del ov_model - del compressed_model - gc.collect() - - - def convert_to_int4(): - compression_configs = { - "zephyr-7b-beta": { - "sym": True, - "group_size": 64, - "ratio": 0.6, - }, - "mistral-7b": { - "sym": True, - "group_size": 64, - "ratio": 0.6, - }, - "minicpm-2b-dpo": { - "sym": True, - "group_size": 64, - "ratio": 0.6, - }, - "notus-7b-v1": { - "sym": True, - "group_size": 64, - "ratio": 0.6, - }, - "neural-chat-7b-v3-1": { - "sym": True, - "group_size": 64, - "ratio": 0.6, - }, - "llama-2-chat-7b": { - "sym": True, - "group_size": 128, - "ratio": 0.8, - }, - "chatglm2-6b": { - "sym": True, - "group_size": 128, - "ratio": 0.72, - }, - "qwen-7b-chat": { - "sym": True, - "group_size": 128, - "ratio": 0.6 - }, - 'red-pajama-3b-chat': { - "sym": False, - "group_size": 128, - "ratio": 0.5, - }, - "default": { - "sym": False, - "group_size": 128, - "ratio": 0.8, - }, - } - - model_compression_params = compression_configs.get( - llm_model_id.value, compression_configs["default"] - ) - if (int4_model_dir / "openvino_model.xml").exists(): - return - int4_model_dir.mkdir(parents=True, exist_ok=True) - if not llm_model_configuration["remote"]: - remote_code = llm_model_configuration.get("remote_code", False) - model_kwargs = {} - if remote_code: - model_kwargs = { - "trust_remote_code" : True, - "config": AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True) - } - ov_model = OVModelForCausalLM.from_pretrained( - pt_model_id, export=True, compile=False, - quantization_config=OVWeightQuantizationConfig(bits=4, **model_compression_params), - **model_kwargs - ) - ov_model.save_pretrained(int4_model_dir) - del ov_model - - else: - convert_to_fp16() - ov_model = ov.Core().read_model(fp16_model_dir / "openvino_model.xml") - shutil.copy(fp16_model_dir / "config.json", int4_model_dir / "config.json") - configuration_file = fp16_model_dir / f"configuration_{model_type}.py" - if configuration_file.exists(): - shutil.copy( - configuration_file, int4_model_dir / f"configuration_{model_type}.py" - ) - mode = nncf.CompressWeightsMode.INT4_SYM if model_compression_params["sym"] else \ - nncf.CompressWeightsMode.INT4_ASYM - del model_compression_params["sym"] - compressed_model = nncf.compress_weights(ov_model, mode=mode, **model_compression_params) - ov.save_model(compressed_model, int4_model_dir / "openvino_model.xml") - del ov_model - del compressed_model - gc.collect() - - - if prepare_fp16_model.value: - convert_to_fp16() - if prepare_int8_model.value: - convert_to_int8() - if prepare_int4_model.value: - convert_to_int4() - -Let’s compare model size for different compression types - -.. code:: ipython3 - - fp16_weights = fp16_model_dir / "openvino_model.bin" - int8_weights = int8_model_dir / "openvino_model.bin" - int4_weights = int4_model_dir / "openvino_model.bin" - - if fp16_weights.exists(): - print(f"Size of FP16 model is {fp16_weights.stat().st_size / 1024 / 1024:.2f} MB") - for precision, compressed_weights in zip([8, 4], [int8_weights, int4_weights]): - if compressed_weights.exists(): - print( - f"Size of model with INT{precision} compressed weights is {compressed_weights.stat().st_size / 1024 / 1024:.2f} MB" - ) - if compressed_weights.exists() and fp16_weights.exists(): - print( - f"Compression rate for INT{precision} model: {fp16_weights.stat().st_size / compressed_weights.stat().st_size:.3f}" - ) - - -.. parsed-literal:: - - Size of model with INT4 compressed weights is 1837.58 MB - - -Convert embedding model -~~~~~~~~~~~~~~~~~~~~~~~ - - - -Since some embedding models can only support limited languages, we can -filter them out according the LLM you selected. - -.. code:: ipython3 - - embedding_model_id = list(SUPPORTED_EMBEDDING_MODELS) - - if model_language.value != "Chinese": - embedding_model_id = [x for x in embedding_model_id if "chinese" not in x] - - embedding_model_id = widgets.Dropdown( - options=embedding_model_id, - value=embedding_model_id[0], - description="Embedding Model:", - disabled=False, - ) - - embedding_model_id - - - - -.. parsed-literal:: - - Dropdown(description='Embedding Model:', options=('all-mpnet-base-v2',), value='all-mpnet-base-v2') - - - -.. code:: ipython3 - - embedding_model_configuration = SUPPORTED_EMBEDDING_MODELS[embedding_model_id.value] - print(f"Selected {embedding_model_id.value} model") - - -.. parsed-literal:: - - Selected all-mpnet-base-v2 model - - -.. code:: ipython3 - - embedding_model_dir = Path(embedding_model_id.value) - - if not (embedding_model_dir / "openvino_model.xml").exists(): - model = AutoModel.from_pretrained(embedding_model_configuration["model_id"]) - converters[embedding_model_id.value](model, embedding_model_dir) - tokenizer = AutoTokenizer.from_pretrained(embedding_model_configuration["model_id"]) - tokenizer.save_pretrained(embedding_model_dir) - del model - -Select device for inference and model variant ---------------------------------------------- - - - - **Note**: There may be no speedup for INT4/INT8 compressed models on - dGPU. - -Select device for embedding model inference -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - core = ov.Core() - embedding_device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value="CPU", - description="Device:", - disabled=False, - ) - - embedding_device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', options=('CPU', 'AUTO'), value='CPU') - - - -.. code:: ipython3 - - print(f"Embedding model will be loaded to {embedding_device.value} device for response generation") - - -.. parsed-literal:: - - Embedding model will be loaded to CPU device for response generation - - -Select device for LLM model inference -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - llm_device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value="CPU", - description="Device:", - disabled=False, - ) - - llm_device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', options=('CPU', 'AUTO'), value='CPU') - - - -.. code:: ipython3 - - print(f"LLM model will be loaded to {llm_device.value} device for response generation") - - -.. parsed-literal:: - - LLM model will be loaded to CPU device for response generation - - -Load model ----------- - - - -Load embedding model -~~~~~~~~~~~~~~~~~~~~ - - - -Wrapper around a text embedding model for LangChain, used for converting -text to embeddings. - -.. code:: ipython3 - - from ov_embedding_model import OVEmbeddings - - embedding = OVEmbeddings.from_model_id( - embedding_model_dir, - do_norm=embedding_model_configuration["do_norm"], - ov_config={ - "device_name": embedding_device.value, - "config": {"PERFORMANCE_HINT": "THROUGHPUT"}, - }, - model_kwargs={ - "model_max_length": 512, - }, - ) - -Load LLM model -~~~~~~~~~~~~~~ - - - -The cell below create ``OVMPTModel`` and ``OVCHATGLM2Model`` wrapper -based on ``OVModelForCausalLM`` model. - -.. code:: ipython3 - - from ov_llm_model import model_classes - -.. code:: ipython3 - - available_models = [] - if int4_model_dir.exists(): - available_models.append("INT4") - if int8_model_dir.exists(): - available_models.append("INT8") - if fp16_model_dir.exists(): - available_models.append("FP16") - - model_to_run = widgets.Dropdown( - options=available_models, - value=available_models[0], - description="Model to run:", - disabled=False, - ) - - model_to_run - - - - -.. parsed-literal:: - - Dropdown(description='Model to run:', options=('FP16',), value='FP16') - - - -.. code:: ipython3 - - from langchain.llms import HuggingFacePipeline - - if model_to_run.value == "INT4": - model_dir = int4_model_dir - elif model_to_run.value == "INT8": - model_dir = int8_model_dir - else: - model_dir = fp16_model_dir - print(f"Loading model from {model_dir}") - - ov_config = {"PERFORMANCE_HINT": "LATENCY", "NUM_STREAMS": "1", "CACHE_DIR": ""} - - # On a GPU device a model is executed in FP16 precision. For red-pajama-3b-chat model there known accuracy - # issues caused by this, which we avoid by setting precision hint to "f32". - if llm_model_id.value == "red-pajama-3b-chat" and "GPU" in core.available_devices and llm_device.value in ["GPU", "AUTO"]: - ov_config["INFERENCE_PRECISION_HINT"] = "f32" - - model_name = llm_model_configuration["model_id"] - stop_tokens = llm_model_configuration.get("stop_tokens") - class_key = llm_model_id.value.split("-")[0] - tok = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) - - class StopOnTokens(StoppingCriteria): - def __init__(self, token_ids): - self.token_ids = token_ids - - def __call__( - self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs - ) -> bool: - for stop_id in self.token_ids: - if input_ids[0][-1] == stop_id: - return True - return False - - if stop_tokens is not None: - if isinstance(stop_tokens[0], str): - stop_tokens = tok.convert_tokens_to_ids(stop_tokens) - - stop_tokens = [StopOnTokens(stop_tokens)] - - model_class = ( - OVModelForCausalLM - if not llm_model_configuration["remote"] - else model_classes[class_key] - ) - ov_model = model_class.from_pretrained( - model_dir, - device=llm_device.value, - ov_config=ov_config, - config=AutoConfig.from_pretrained(model_dir, trust_remote_code=True), - trust_remote_code=True, - ) - - -.. parsed-literal:: - - Loading model from chatglm3-6b/FP16 - - - -.. parsed-literal:: - - tokenizer_config.json: 0%| | 0.00/1.41k [00:00`__. - -A typical RAG application has two main components: - -- **Indexing**: a pipeline for ingesting data from a source and - indexing it. This usually happen offline. - -- **Retrieval and generation**: the actual RAG chain, which takes the - user query at run time and retrieves the relevant data from the - index, then passes that to the model. - -The most common full sequence from raw data to answer looks like: - -**Indexing** 1. ``Load``: First we need to load our data. We’ll use -DocumentLoaders for this. 2. ``Split``: Text splitters break large -Documents into smaller chunks. This is useful both for indexing data and -for passing it in to a model, since large chunks are harder to search -over and won’t in a model’s finite context window. 3. ``Store``: We need -somewhere to store and index our splits, so that they can later be -searched over. This is often done using a VectorStore and Embeddings -model. - -.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/91237924/dfed2ba3-0c3a-4e0e-a2a7-01638730486a - :alt: Indexing pipeline - - Indexing pipeline - -**Retrieval and generation** 1. ``Retrieve``: Given a user input, -relevant splits are retrieved from storage using a Retriever. 2. -``Generate``: A LLM produces an answer using a prompt that includes the -question and the retrieved data. - -.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/91237924/f0545ddc-c0cd-4569-8c86-9879fdab105a - :alt: Retrieval and generation pipeline - - Retrieval and generation pipeline - -.. code:: ipython3 - - from typing import List - from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter, MarkdownTextSplitter - from langchain.document_loaders import ( - CSVLoader, - EverNoteLoader, - PDFMinerLoader, - TextLoader, - UnstructuredEPubLoader, - UnstructuredHTMLLoader, - UnstructuredMarkdownLoader, - UnstructuredODTLoader, - UnstructuredPowerPointLoader, - UnstructuredWordDocumentLoader, ) - - - class ChineseTextSplitter(CharacterTextSplitter): - def __init__(self, pdf: bool = False, **kwargs): - super().__init__(**kwargs) - self.pdf = pdf - - def split_text(self, text: str) -> List[str]: - if self.pdf: - text = re.sub(r"\n{3,}", "\n", text) - text = text.replace("\n\n", "") - sent_sep_pattern = re.compile( - '([﹒﹔﹖﹗.。!?]["’”」』]{0,2}|(?=["‘“「『]{1,2}|$))') - sent_list = [] - for ele in sent_sep_pattern.split(text): - if sent_sep_pattern.match(ele) and sent_list: - sent_list[-1] += ele - elif ele: - sent_list.append(ele) - return sent_list - - - TEXT_SPLITERS = { - "Character": CharacterTextSplitter, - "RecursiveCharacter": RecursiveCharacterTextSplitter, - "Markdown": MarkdownTextSplitter, - "Chinese": ChineseTextSplitter, - } - - - LOADERS = { - ".csv": (CSVLoader, {}), - ".doc": (UnstructuredWordDocumentLoader, {}), - ".docx": (UnstructuredWordDocumentLoader, {}), - ".enex": (EverNoteLoader, {}), - ".epub": (UnstructuredEPubLoader, {}), - ".html": (UnstructuredHTMLLoader, {}), - ".md": (UnstructuredMarkdownLoader, {}), - ".odt": (UnstructuredODTLoader, {}), - ".pdf": (PDFMinerLoader, {}), - ".ppt": (UnstructuredPowerPointLoader, {}), - ".pptx": (UnstructuredPowerPointLoader, {}), - ".txt": (TextLoader, {"encoding": "utf8"}), - } - -To reuse RAG pipeline of LangChain, we can wrapper around a LLM/chat -model for LangChain, used for generating the response text. An OpenVINO -compiled model can be run locally through the ``HuggingFacePipeline`` -class. - -.. code:: ipython3 - - from langchain.prompts import PromptTemplate - from langchain.vectorstores import Chroma - from langchain.chains import RetrievalQA - from langchain.docstore.document import Document - from threading import Event, Thread - import gradio as gr - import re - from uuid import uuid4 - - - def load_single_document(file_path: str) -> List[Document]: - """ - helper for loading a single document - - Params: - file_path: document path - Returns: - documents loaded - - """ - ext = "." + file_path.rsplit(".", 1)[-1] - if ext in LOADERS: - loader_class, loader_args = LOADERS[ext] - loader = loader_class(file_path, **loader_args) - return loader.load() - - raise ValueError(f"File does not exist '{ext}'") - - - def default_partial_text_processor(partial_text: str, new_text: str): - """ - helper for updating partially generated answer, used by default - - Params: - partial_text: text buffer for storing previosly generated text - new_text: text update for the current step - Returns: - updated text string - - """ - partial_text += new_text - return partial_text - - - text_processor = llm_model_configuration.get( - "partial_text_processor", default_partial_text_processor - ) - - - def build_retriever(docs, spliter_name, chunk_size, chunk_overlap, vector_search_top_k): - """ - Initialize a vector database - - Params: - doc: orignal documents provided by user - chunk_size: size of a single sentence chunk - chunk_overlap: overlap size between 2 chunks - vector_search_top_k: Vector search top k - - """ - documents = [] - for doc in docs: - documents.extend(load_single_document(doc.name)) - - text_splitter = TEXT_SPLITERS[spliter_name]( - chunk_size=chunk_size, chunk_overlap=chunk_overlap - ) - - texts = text_splitter.split_documents(documents) - - db = Chroma.from_documents(texts, embedding) - - global retriever - retriever = db.as_retriever(search_kwargs={"k": vector_search_top_k}) - - return "Retriever is Ready" - - - def user(message, history): - """ - callback function for updating user messages in interface on submit button click - - Params: - message: current message - history: conversation history - Returns: - None - """ - # Append the user's message to the conversation history - return "", history + [[message, ""]] - - - def bot(history, temperature, top_p, top_k, repetition_penalty, conversation_id): - """ - callback function for running chatbot on submit button click - - Params: - history: conversation history - temperature: parameter for control the level of creativity in AI-generated text. - By adjusting the `temperature`, you can influence the AI model's probability distribution, making the text more focused or diverse. - top_p: parameter for control the range of tokens considered by the AI model based on their cumulative probability. - top_k: parameter for control the range of tokens considered by the AI model based on their cumulative probability, selecting number of tokens with highest probability. - repetition_penalty: parameter for penalizing tokens based on how frequently they occur in the text. - conversation_id: unique conversation identifier. - - """ - streamer = TextIteratorStreamer( - tok, timeout=60.0, skip_prompt=True, skip_special_tokens=True - ) - generate_kwargs = dict( - model=ov_model, - tokenizer=tok, - max_new_tokens=256, - temperature=temperature, - do_sample=temperature > 0.0, - top_p=top_p, - top_k=top_k, - repetition_penalty=repetition_penalty, - streamer=streamer, - ) - if stop_tokens is not None: - generate_kwargs["stopping_criteria"] = StoppingCriteriaList(stop_tokens) - - pipe = pipeline("text-generation", **generate_kwargs) - llm = HuggingFacePipeline(pipeline=pipe) - - prompt = PromptTemplate.from_template(llm_model_configuration["rag_prompt_template"]) - chain_type_kwargs = {"prompt": prompt} - rag_chain = RetrievalQA.from_chain_type( - llm=llm, - chain_type="stuff", - retriever=retriever, - chain_type_kwargs=chain_type_kwargs, - ) - - stream_complete = Event() - - def infer(question): - rag_chain.invoke(question) - stream_complete.set() - - t1 = Thread(target=infer, args=(history[-1][0],)) - t1.start() - - # Initialize an empty string to store the generated text - partial_text = "" - for new_text in streamer: - partial_text = text_processor(partial_text, new_text) - history[-1][1] = partial_text - yield history - - - def request_cancel(): - ov_model.request.cancel() - - - def get_uuid(): - """ - universal unique identifier for thread - """ - return str(uuid4()) - - - with gr.Blocks( - theme=gr.themes.Soft(), - css=".disclaimer {font-variant-caps: all-small-caps;}", - ) as demo: - conversation_id = gr.State(get_uuid) - gr.Markdown("""

QA over Document

""") - gr.Markdown(f"""
Powered by OpenVINO and {llm_model_id.value}
""") - with gr.Row(): - with gr.Column(scale=1): - docs = gr.File( - label="Load text files", - file_count="multiple", - file_types=[ - ".csv", - ".doc", - ".docx", - ".enex", - ".epub", - ".html", - ".md", - ".odt", - ".pdf", - ".ppt", - ".pptx", - ".txt", - ], - ) - load_docs = gr.Button("Build Retriever") - retriever_argument = gr.Accordion("Retriever Configuration", open=False) - with retriever_argument: - spliter = gr.Dropdown( - ["Character", "RecursiveCharacter", "Markdown", "Chinese"], - value="RecursiveCharacter", - label="Text Spliter", - info="Method used to splite the documents", - multiselect=False, - ) - - chunk_size = gr.Slider( - label="Chunk size", - value=1000, - minimum=100, - maximum=2000, - step=50, - interactive=True, - info="Size of sentence chunk", - ) - - chunk_overlap = gr.Slider( - label="Chunk overlap", - value=200, - minimum=0, - maximum=400, - step=10, - interactive=True, - info=("Overlap between 2 chunks"), - ) - - vector_search_top_k = gr.Slider( - 1, - 10, - value=4, - step=1, - label="Vector search top k", - interactive=True, - ) - langchain_status = gr.Textbox( - label="Status", value="Retriever is Not ready", interactive=False - ) - with gr.Accordion("Generation Configuration", open=False): - with gr.Row(): - with gr.Column(): - with gr.Row(): - temperature = gr.Slider( - label="Temperature", - value=0.1, - minimum=0.0, - maximum=1.0, - step=0.1, - interactive=True, - info="Higher values produce more diverse outputs", - ) - with gr.Column(): - with gr.Row(): - top_p = gr.Slider( - label="Top-p (nucleus sampling)", - value=1.0, - minimum=0.0, - maximum=1, - step=0.01, - interactive=True, - info=( - "Sample from the smallest possible set of tokens whose cumulative probability " - "exceeds top_p. Set to 1 to disable and sample from all tokens." - ), - ) - with gr.Column(): - with gr.Row(): - top_k = gr.Slider( - label="Top-k", - value=50, - minimum=0.0, - maximum=200, - step=1, - interactive=True, - info="Sample from a shortlist of top-k tokens — 0 to disable and sample from all tokens.", - ) - with gr.Column(): - with gr.Row(): - repetition_penalty = gr.Slider( - label="Repetition Penalty", - value=1.1, - minimum=1.0, - maximum=2.0, - step=0.1, - interactive=True, - info="Penalize repetition — 1.0 to disable.", - ) - with gr.Column(scale=4): - chatbot = gr.Chatbot(height=600) - with gr.Row(): - with gr.Column(): - msg = gr.Textbox( - label="Chat Message Box", - placeholder="Chat Message Box", - show_label=False, - container=False, - ) - with gr.Column(): - with gr.Row(): - submit = gr.Button("Submit") - stop = gr.Button("Stop") - clear = gr.Button("Clear") - load_docs.click( - build_retriever, - inputs=[docs, spliter, chunk_size, chunk_overlap, vector_search_top_k], - outputs=[langchain_status], - queue=False, - ) - submit_event = msg.submit( - user, [msg, chatbot], [msg, chatbot], queue=False - ).then(bot, [chatbot, temperature, top_p, top_k, repetition_penalty, conversation_id], chatbot, queue=True) - submit_click_event = submit.click( - user, [msg, chatbot], [msg, chatbot], queue=False - ).then(bot, [chatbot, temperature, top_p, top_k, repetition_penalty, conversation_id], chatbot, queue=True) - stop.click( - fn=request_cancel, - inputs=None, - outputs=None, - cancels=[submit_event, submit_click_event], - queue=False, - ) - clear.click(lambda: None, None, chatbot, queue=False) - - demo.queue() - # if you are launching remotely, specify server_name and server_port - # demo.launch(server_name='your server name', server_port='server port in int') - # if you have any issue to launch on your platform, you can pass share=True to launch method: - # demo.launch(share=True) - # it creates a publicly shareable link for the interface. Read more in the docs: https://gradio.app/docs/ - demo.launch() - -.. code:: ipython3 - - # please run this cell for stopping gradio interface - demo.close() - - -.. parsed-literal:: - - Closing server running on port: 5579 - diff --git a/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_21_0.jpg b/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_21_0.jpg deleted file mode 100644 index f6931e77723..00000000000 --- a/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_21_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:56bd19004dc2468776185f901b0dc89f27cf90eac5a7acef461e2b29f3331db8 -size 116049 diff --git a/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_21_0.png b/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_21_0.png deleted file mode 100644 index 30dcbc67ab3..00000000000 --- a/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_21_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dc47ecebeff261010c81f3ddf86d22115cce68f46856a50ab293651ae766fe83 -size 824318 diff --git a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_15_1.jpg b/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_15_1.jpg deleted file mode 100644 index c3d4870198a..00000000000 --- a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_15_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95572a7b28f6e377920f38ecd3976188070c59da3bf4bfe9bca90ee62f93a911 -size 73591 diff --git a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_15_1.png b/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_15_1.png deleted file mode 100644 index 0c355b08ea2..00000000000 --- a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_15_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d0eb1f72a0fadb26ea6a5a2f5086a4d4431c73a139503aa25cccc5c6ebec8eb0 -size 980961 diff --git a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_8_1.jpg b/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_8_1.jpg deleted file mode 100644 index c0d831d3f27..00000000000 --- a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_8_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76b1edaa1ba8d4949db548c214350a3d1a7c14688a47e5c193093b1b110c1951 -size 74056 diff --git a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_8_1.png b/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_8_1.png deleted file mode 100644 index 9672602c39c..00000000000 --- a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_8_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aef9c679c55c81470ed45c4b7f76d93900d38b459388eba4f9a078e6262137c0 -size 1020051 diff --git a/docs/notebooks/266-speculative-sampling-with-output.rst b/docs/notebooks/266-speculative-sampling-with-output.rst deleted file mode 100644 index d3ffc46f787..00000000000 --- a/docs/notebooks/266-speculative-sampling-with-output.rst +++ /dev/null @@ -1,375 +0,0 @@ -Text Generation via Speculative Sampling, KV Caching, and OpenVINO™ -=================================================================== - -As model sizes grow, Generative AI implementations require significant -inference resources. This not only increases the cost per generation -from a prompt, but also increases the power consumption used to serve -such requests. - -Inference optimizations for text generation are essential for reducing -costs and power consumption. When optimizing the inference process, the -amount of time and energy required to generate text can be significantly -reduced. This can lead to cost savings in terms of hardware and -software, as well as reduced power consumption. Additionally, inference -optimizations can help improve the accuracy of text generation as well -as the speed at which it can be generated. This can lead to an improved -user experience and increased efficiency in text-generation tasks. In -summary, inference optimizations for text generation are essential to -reduce costs and power consumption, while also improving the accuracy -and speed of text generation. - -Another necessary condition is that the optimizations are compatible -with each other. That is, implementing a certain optimization should not -preclude other optimizations. There are several levels of optimizations -that can provide significant speedup without “bumping into each other” -in a way that will compromise overall efficiency. - -For details on this method, please refer to the paper by Chen et al, -http://arxiv.org/abs/2302.01318. Additionally, there’s an interesting -proof of correctness of speculative sampling (showing that the original -distribution is preserved) by Leviathan et al, -http://arxiv.org/abs/2211.17192 - -Our blog article describing this implementation with OpenVino is -available at openvino.ai - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Prerequisites <#prerequisites>`__ - - - `Select inference device <#select-inference-device>`__ - -- `Create autoregressive and speculative forms of sampling with KV - Cache - support <#create-autoregressive-and-speculative-forms-of-sampling-with-kv-cache-support>`__ - - - `Setup imports <#setup-imports>`__ - - `Prepare autoregressive - sampling <#prepare-autoregressive-sampling>`__ - - `Prepare speculative sampling <#prepare-speculative-sampling>`__ - -- `Main generation function <#main-generation-function>`__ - - - `Download and Convert Model <#download-and-convert-model>`__ - -Prerequisites -------------- - - - -First, we should install the `Hugging Face -Optimum `__ library -accelerated by OpenVINO integration. The Hugging Face Optimum Intel API -is a high-level API that enables us to convert and quantize models from -the Hugging Face Transformers library to the OpenVINO™ IR format. For -more details, refer to the `Hugging Face Optimum Intel -documentation `__. - -We will also need to install transformers (HuggingFace) and some other -useful modules. - -.. code:: ipython3 - - %pip install -q --upgrade pip - %pip install -q --upgrade transformers torch gradio openvino accelerate onnx ipywidgets "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu - %pip install -q "git+https://github.com/huggingface/optimum-intel.git" - -Select inference device -~~~~~~~~~~~~~~~~~~~~~~~ - - - -Select the device from dropdown list for running inference using -OpenVINO. - -.. code:: ipython3 - - import ipywidgets as widgets - from openvino.runtime import Core - - core = Core() - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', - disabled=False, - ) - - device - -Create autoregressive and speculative forms of sampling with KV Cache support ------------------------------------------------------------------------------ - - - -Text generation is often done in an autoregressive fashion. We will all -support a KV cache (aka Past Value Cache) in the code. Note that we are -using greedy sampling. We do not adjust other text generation parameters -(e.g. temperature) so keep this illustration of speculative sampling as -simple and understandable as possible. - -Setup imports -~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - import time - import numpy as np - import torch - import gradio as gr - -Prepare autoregressive sampling -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - def max_fn(x): - x_max = torch.where(x > 0, x, torch.zeros_like(x)) - return x_max / torch.sum(x_max) - - def autoregressive_sampling_with_pkv(x, model, N): - n = len(x) - T = n + N - input = x - past_kv = None - - while n < T: - res = model(input, attention_mask=torch.ones(input.size(), dtype=torch.long), past_key_values=past_kv) - model_out = torch.softmax(res.logits, dim=2) - past_kv = res.past_key_values - next_token = torch.reshape(torch.argmax(model_out[-1][-1]), (1, 1)) - x = torch.cat((x, next_token), dim=1) - n += 1 - input = next_token - - return x - -Prepare speculative sampling -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -- Step 1: With speculative sampling, we first generate K samples from - the draft model (in an autoregressive manner). -- Step 2: These are now candidates to examine using the target model - (step 2) using a batch size of K. -- Step 3: We now determine if the K candidates from the draft model are - acceptable based on the logits generated from the target model in - step 2. -- Step 4: We can sample another token with no additional cost (assuming - that all the candidates were accepted). - -Regarding the acceptance criterion for step 3, we need to compare logits -from the target model and compare with the draft model. If the ratio is -high enough, it’s likely to be accepted (using a random number). - -.. code:: ipython3 - - def speculative_sampling_with_pkv(x, draft_model, target_model, N, K): - n = x.size(1) - T = n + N - target_past_kv = None - while n < T: - # Step 1: autoregressive decode of K candidate tokens from - # the draft model and get final p for this batch of candidates - x_draft = None - draft_past_kv = None - x_draft_input = x - p_cum = None - for _ in range(K): - res_draft = draft_model(x_draft_input, attention_mask=torch.ones(x_draft_input.size(), dtype=torch.long), past_key_values=draft_past_kv, use_cache=True) - p = res_draft.logits - p = torch.softmax(p, dim=2) - draft_past_kv = res_draft.past_key_values - next_token = torch.reshape(torch.argmax(p[-1][-1]), (1, 1)) - x_draft_input = next_token - if p_cum is None: - p_cum = p[:, -1].unsqueeze(1) - x_draft = next_token - else: - p_cum = torch.cat((p_cum, p), dim=1) - x_draft = torch.cat((x_draft, next_token), dim=1) - # Step 2: target model forward passes on x_draft - if target_past_kv is None: - x_draft_target_input = torch.cat((x, x_draft), dim=1) - else: - x_draft_target_input = x_draft - - res = target_model(x_draft_target_input, attention_mask=torch.ones(x_draft_target_input.size(), dtype=torch.long), use_cache=False) - q = res.logits - - target_new_past_kv = res.past_key_values - # Step 3: append draft tokens based on acceptance-rejection criterion and resample a token on rejection - all_accepted = True - for k in range(K): - j = x_draft[0][k].item() - - q_item = q[-1][k][j].detach().numpy() - p_item = p_cum[-1][k][j].detach().numpy() - - if np.random.random() < min(1, (q_item / p_item)): # accepted - x = torch.cat((x, torch.tensor(j).reshape(1,1)), dim=1) - n += 1 - else: # rejected - q_p = max_fn(q[0][k] - p_cum[0][k]) - resampled_output = torch.argmax(q_p) - resampled_output = torch.reshape(resampled_output, (1,1)) - x = torch.cat((x, resampled_output), dim=1) - n += 1 - all_accepted = False - break - - target_past_kv = target_new_past_kv - # Step 4: if all draft tokens were accepted, sample a final token - if all_accepted: - x = torch.cat((x, torch.reshape(torch.argmax(q[-1][-1]), (1,1))), dim=1) - n += 1 - - return x - -Main generation function ------------------------- - - - -Download and Convert Model -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Optimum Intel can be used to load optimized models from the `Hugging -Face Hub `__ and -create pipelines to run an inference with OpenVINO Runtime using Hugging -Face APIs. The Optimum Inference models are API compatible with Hugging -Face Transformers models. This means we just need to replace -``AutoModelForXxx`` class with the corresponding ``OVModelForXxx`` -class. - -Below is an example of the Dolly model - -.. code:: diff - - -from transformers import AutoModelForCausalLM - +from optimum.intel.openvino import OVModelForCausalLM - from transformers import AutoTokenizer, pipeline - - model_id = "databricks/dolly-v2-3b" - -model = AutoModelForCausalLM.from_pretrained(model_id) - +model = OVModelForCausalLM.from_pretrained(model_id, from_transformers=True) - -Model class initialization starts with calling ``from_pretrained`` -method. When downloading and converting Transformers model, the -parameter ``from_transformers=True`` should be added. We can save the -converted model for the next usage with the ``save_pretrained`` method. -Tokenizer class and pipelines API are compatible with Optimum models. - -.. code:: ipython3 - - from pathlib import Path - from transformers import AutoTokenizer - from optimum.intel.openvino import OVModelForCausalLM - - # If you are on a large system with lots of memory, you can run a larger model like DollyV2 - # draft_model_id = "databricks/dolly-v2-3b" - # draft_model_path = Path("dolly-v2-3b") - # target_model_id = "databricks/dolly-v2-12b" - # target_model_path = Path("dolly-v2-12b") - # If you are on a system with limited memory, you can try the smaller GPT2 models - draft_model_id = "gpt2" - draft_model_path = Path("gpt2-local") - target_model_id = "gpt2-xl" - target_model_path = Path("gpt2-xl-local") - - target_tokenizer = AutoTokenizer.from_pretrained(target_model_id) - - current_device = device.value - - # Save local copies for subsequent runs - if draft_model_path.exists(): - draft_ov_model = OVModelForCausalLM.from_pretrained(draft_model_path, device=current_device) - else: - draft_ov_model = OVModelForCausalLM.from_pretrained(draft_model_id, device=current_device, from_transformers=True) - draft_ov_model.save_pretrained(draft_model_path) - if target_model_path.exists(): - target_ov_model = OVModelForCausalLM.from_pretrained(target_model_path, device=current_device) - else: - target_ov_model = OVModelForCausalLM.from_pretrained(target_model_id, device=current_device, from_transformers=True) - target_ov_model.save_pretrained(target_model_path) - - -.. code:: ipython3 - - def main( - prompt: str = "Explain the difference between fission and fusion", - n_tokens_to_generate: int = 100, - K: int = 5, - seed: int = 5555, - ): - # seed numpy rng - np.random.seed(seed) - draft_model = draft_ov_model - target_model = target_ov_model - - - input_ids = target_tokenizer(prompt, return_tensors="pt")['input_ids'] - - def run_autoregressive_sampling_fn(decode_fn, input_ids, **kwargs): - start = time.perf_counter() - output_ids = decode_fn(x=input_ids, **kwargs) - text = target_tokenizer.decode(output_ids[0], skip_special_tokens=True) - elapsed_time = time.perf_counter() - start - return text, elapsed_time - - def run_speculative_sampling_fn(decode_fn, input_ids, **kwargs): - start = time.perf_counter() - output_ids = decode_fn(x=input_ids, **kwargs) - text = target_tokenizer.decode(output_ids[0], skip_special_tokens=True) - elapsed_time = time.perf_counter() - start - return text, elapsed_time - - autoregressive_text, autoregressive_time = run_autoregressive_sampling_fn( - autoregressive_sampling_with_pkv, - input_ids, - model=target_model, - N=n_tokens_to_generate, - ) - - speculative_text, speculative_time = run_speculative_sampling_fn( - speculative_sampling_with_pkv, - input_ids, - target_model=target_model, - draft_model=draft_model, - N=n_tokens_to_generate, - K=K, - ) - - # Format results for output in gradio - out = "\n" + "Autoregressive Decode" + "\n" + "---------------------" + "\n" - out = out + f"Time = {autoregressive_time:.2f}s" + "\n" + f"Text = {autoregressive_text}" + "\n" - out = out + "\n" + "Speculative Decode" + "\n" + "------------------" + "\n" - out = out + f"Time = {speculative_time:.2f}s" + "\n" + f"Text = {speculative_text}" - return out - - if __name__ == "__main__": - with gr.Blocks() as demo: - gr.Markdown( - """ - # Speculative Sampling Demo - ## The output will show a comparison of Autoregressive Sampling vs Speculative Sampling - - Target Model: Dolly V2 12B - - Draft Model: Dolly V2 3B - - K = 5 - > Some improvements can be made to acceptance criterion and adjusting temperature to improve text quality. - """) - with gr.Row(): - inp = gr.Textbox(placeholder="THIS CANNOT BE EMPTY", label="Input Prompt") - out = gr.Textbox(label="Output") - btn = gr.Button("Run") - btn.click(fn=main, inputs=inp, outputs=out) - demo.launch() diff --git a/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_14_0.png b/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_14_0.png deleted file mode 100644 index 3e7cce402eb..00000000000 --- a/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_14_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b83918326eec8766787b66c17cec64e16d2bdb29bfaddde65790e45ec855bbef -size 466103 diff --git a/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_29_0.png b/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_29_0.png deleted file mode 100644 index 425a94ce689..00000000000 --- a/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_29_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dc59ad56b91b270a4129c9f769f933ae46378403abe57c1fd0f7198f9162c988 -size 465989 diff --git a/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_7_0.png b/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_7_0.png deleted file mode 100644 index 50ae886d5f8..00000000000 --- a/docs/notebooks/269-film-slowmo-with-output_files/269-film-slowmo-with-output_7_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9606b7cfc3bfb61c133415b6d6d74ddefbc1b5234d92c0b455345987b375251 -size 484833 diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_16_1.png b/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_16_1.png deleted file mode 100644 index 7e70aa5c8b3..00000000000 --- a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_16_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:61b7257da8c577026c85ed23fa648ce4c5a1c8c13c9e873b999a568062f03dd4 -size 1259725 diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_24_1.png b/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_24_1.png deleted file mode 100644 index 9a93496814d..00000000000 --- a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_24_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:653afb4a2b3c8d354129d064b92eebd6e78a774d4fbc3682a37a9e2cc4d540bd -size 1262993 diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_35_1.png b/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_35_1.png deleted file mode 100644 index fde34af5e32..00000000000 --- a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_35_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8f9f1e4f39d360f8d7c0ccd0ddeacac2c9e526cc72a800ad872cf388dbded9e -size 1261890 diff --git a/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output_files/276-stable-diffusion-torchdynamo-backend-with-output_15_1.jpg b/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output_files/276-stable-diffusion-torchdynamo-backend-with-output_15_1.jpg deleted file mode 100644 index 10410ca8fd3..00000000000 --- a/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output_files/276-stable-diffusion-torchdynamo-backend-with-output_15_1.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2148b7416b51aa939d04fa0d0830264ceed17c367b20f7bd51333dab37b2fd5d -size 36185 diff --git a/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output_files/276-stable-diffusion-torchdynamo-backend-with-output_15_1.png b/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output_files/276-stable-diffusion-torchdynamo-backend-with-output_15_1.png deleted file mode 100644 index 00e092b53dd..00000000000 --- a/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output_files/276-stable-diffusion-torchdynamo-backend-with-output_15_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f419824b91ba02b0c907068e8ac3bd9b47b32bb28078018e93edb8b5666950b3 -size 409906 diff --git a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_22_1.png b/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_22_1.png deleted file mode 100644 index 8312174fe8f..00000000000 --- a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_22_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:675ff74a9cedc7a51936967b56fd9352be1a842c477c52aae55cb0598f7d2e23 -size 976348 diff --git a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_25_0.png b/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_25_0.png deleted file mode 100644 index dbc1504548c..00000000000 --- a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_25_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1075438b8eb860c050b01d562ef632813755f8bc311f867022f806d9923dfb68 -size 936859 diff --git a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_28_0.png b/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_28_0.png deleted file mode 100644 index 6faea92bbb2..00000000000 --- a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_28_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d8476fe5ae094b9a123ce9de1dc40fd2db1c30c7d098610fc68a1a8ec2e2985 -size 601235 diff --git a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_29_0.jpg b/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_29_0.jpg deleted file mode 100644 index b4b6337e63f..00000000000 --- a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_29_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:007c765d1ee1ad91194a53c2ead67e57fcdeea9713a26d97c3d2518ae444da64 -size 121254 diff --git a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_29_0.png b/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_29_0.png deleted file mode 100644 index ff9ae0c3911..00000000000 --- a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_29_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b273b7cd6b0b7ebf99894ee09909ef6b0a09cb10028c508f884dce4bdd48948a -size 1150828 diff --git a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_8_0.jpg b/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_8_0.jpg deleted file mode 100644 index 87425a994eb..00000000000 --- a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_8_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3794640fcc1a00a61aa7338d2d09c2ca8aeb7fa3bf242f72a1d3704b578ab9a -size 123516 diff --git a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_8_0.png b/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_8_0.png deleted file mode 100644 index ec31ae26fdd..00000000000 --- a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_8_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:abf50c12e853daa17b7fda038ffdba9d5c3f505d97f68bd7d178dae85b22deba -size 1151095 diff --git a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_13_1.png b/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_13_1.png deleted file mode 100644 index 5bf5583f8f9..00000000000 --- a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_13_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4307ccb346c703dff50faa31756a4ab2b89b3b82dd645ba2b2ab80c000bf3f69 -size 581043 diff --git a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_24_1.png b/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_24_1.png deleted file mode 100644 index 6feac3fb3e8..00000000000 --- a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_24_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e44f625094125626680884d580b0f617fdb3e6436c1b02edad6717fe68461787 -size 581044 diff --git a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_6_1.png b/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_6_1.png deleted file mode 100644 index 5bf5583f8f9..00000000000 --- a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_6_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4307ccb346c703dff50faa31756a4ab2b89b3b82dd645ba2b2ab80c000bf3f69 -size 581043 diff --git a/docs/notebooks/283-photo-maker-with-output.rst b/docs/notebooks/283-photo-maker-with-output.rst deleted file mode 100644 index 10afb457d62..00000000000 --- a/docs/notebooks/283-photo-maker-with-output.rst +++ /dev/null @@ -1,1278 +0,0 @@ -Text-to-image generation using PhotoMaker and OpenVINO -====================================================== - -PhotoMaker is an efficient personalized text-to-image generation method, -which mainly encodes an arbitrary number of input ID images into a stack -ID embedding for preserving ID information. Such an embedding, serving -as a unified ID representation, can not only encapsulate the -characteristics of the same input ID comprehensively, but also -accommodate the characteristics of different IDs for subsequent -integration. This paves the way for more intriguing and practically -valuable applications. Users can input one or a few face photos, along -with a text prompt, to receive a customized photo or painting (no -training required!). Additionally, this model can be adapted to any base -model based on ``SDXL`` or used in conjunction with other ``LoRA`` -modules.More details about PhotoMaker can be found in the `technical -report `__. - -This notebook explores how to speed up PhotoMaker pipeline using -OpenVINO. - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `PhotoMaker pipeline - introduction <#photomaker-pipeline-introduction>`__ -- `Prerequisites <#prerequisites>`__ -- `Load original pipeline and prepare models for - conversion <#load-original-pipeline-and-prepare-models-for-conversion>`__ -- `Convert models to OpenVINO Intermediate representation (IR) - format <#convert-models-to-openvino-intermediate-representation-ir-format>`__ - - - `ID Encoder <#id-encoder>`__ - - `Text Encoder <#text-encoder>`__ - - `U-Net <#u-net>`__ - - `VAE Decoder <#vae-decoder>`__ - -- `Prepare Inference pipeline <#prepare-inference-pipeline>`__ - - - `Select inference device for Stable Diffusion - pipeline <#select-inference-device-for-stable-diffusion-pipeline>`__ - - `Compile models and create their Wrappers for - inference <#compile-models-and-create-their-wrappers-for-inference>`__ - -- `Running Text-to-Image Generation with - OpenVINO <#running-text-to-image-generation-with-openvino>`__ -- `Interactive Demo <#interactive-demo>`__ - -PhotoMaker pipeline introduction --------------------------------- - - - -For the proposed PhotoMaker, we first obtain the text embedding and -image embeddings from ``text encoder(s)`` and ``image(ID) encoder``, -respectively. Then, we extract the fused embedding by merging the -corresponding class embedding (e.g., man and woman) and each image -embedding. Next, we concatenate all fused embeddings along the length -dimension to form the stacked ID embedding. Finally, we feed the stacked -ID embedding to all cross-attention layers for adaptively merging the ID -content in the ``diffusion model``. Note that although we use images of -the same ID with the masked background during training, we can directly -input images of different IDs without background distortion to create a -new ID during inference. - -Prerequisites -------------- - - - -Clone PhotoMaker repository - -.. code:: ipython3 - - from pathlib import Path - - if not Path("PhotoMaker").exists(): - !git clone https://github.com/TencentARC/PhotoMaker.git - - -.. parsed-literal:: - - Cloning into 'PhotoMaker'... - - -.. parsed-literal:: - - remote: Enumerating objects: 236, done. - remote: Counting objects: 0% (1/145) -remote: Counting objects: 1% (2/145) -remote: Counting objects: 2% (3/145) -remote: Counting objects: 3% (5/145) -remote: Counting objects: 4% (6/145) -remote: Counting objects: 5% (8/145) -remote: Counting objects: 6% (9/145) -remote: Counting objects: 7% (11/145) -remote: Counting objects: 8% (12/145) -remote: Counting objects: 9% (14/145) -remote: Counting objects: 10% (15/145) -remote: Counting objects: 11% (16/145) -remote: Counting objects: 12% (18/145) -remote: Counting objects: 13% (19/145) -remote: Counting objects: 14% (21/145) -remote: Counting objects: 15% (22/145) -remote: Counting objects: 16% (24/145) -remote: Counting objects: 17% (25/145) -remote: Counting objects: 18% (27/145) -remote: Counting objects: 19% (28/145) -remote: Counting objects: 20% (29/145) -remote: Counting objects: 21% (31/145) -remote: Counting objects: 22% (32/145) -remote: Counting objects: 23% (34/145) -remote: Counting objects: 24% (35/145) -remote: Counting objects: 25% (37/145) -remote: Counting objects: 26% (38/145) -remote: Counting objects: 27% (40/145) -remote: Counting objects: 28% (41/145) -remote: Counting objects: 29% (43/145) -remote: Counting objects: 30% (44/145) -remote: Counting objects: 31% (45/145) -remote: Counting objects: 32% (47/145) -remote: Counting objects: 33% (48/145) -remote: Counting objects: 34% (50/145) -remote: Counting objects: 35% (51/145) -remote: Counting objects: 36% (53/145) -remote: Counting objects: 37% (54/145) -remote: Counting objects: 38% (56/145) -remote: Counting objects: 39% (57/145) -remote: Counting objects: 40% (58/145) -remote: Counting objects: 41% (60/145) -remote: Counting objects: 42% (61/145) -remote: Counting objects: 43% (63/145) -remote: Counting objects: 44% (64/145) -remote: Counting objects: 45% (66/145) -remote: Counting objects: 46% (67/145) -remote: Counting objects: 47% (69/145) -remote: Counting objects: 48% (70/145) -remote: Counting objects: 49% (72/145) -remote: Counting objects: 50% (73/145) -remote: Counting objects: 51% (74/145) -remote: Counting objects: 52% (76/145) -remote: Counting objects: 53% (77/145) -remote: Counting objects: 54% (79/145) -remote: Counting objects: 55% (80/145) -remote: Counting objects: 56% (82/145) -remote: Counting objects: 57% (83/145) -remote: Counting objects: 58% (85/145) -remote: Counting objects: 59% (86/145) -remote: Counting objects: 60% (87/145) -remote: Counting objects: 61% (89/145) -remote: Counting objects: 62% (90/145) -remote: Counting objects: 63% (92/145) -remote: Counting objects: 64% (93/145) -remote: Counting objects: 65% (95/145) -remote: Counting objects: 66% (96/145) -remote: Counting objects: 67% (98/145) -remote: Counting objects: 68% (99/145) -remote: Counting objects: 69% (101/145) -remote: Counting objects: 70% (102/145) -remote: Counting objects: 71% (103/145) -remote: Counting objects: 72% (105/145) -remote: Counting objects: 73% (106/145) -remote: Counting objects: 74% (108/145) -remote: Counting objects: 75% (109/145) -remote: Counting objects: 76% (111/145) -remote: Counting objects: 77% (112/145) -remote: Counting objects: 78% (114/145) -remote: Counting objects: 79% (115/145) -remote: Counting objects: 80% (116/145) -remote: Counting objects: 81% (118/145) -remote: Counting objects: 82% (119/145) -remote: Counting objects: 83% (121/145) -remote: Counting objects: 84% (122/145) -remote: Counting objects: 85% (124/145) -remote: Counting objects: 86% (125/145) -remote: Counting objects: 87% (127/145) -remote: Counting objects: 88% (128/145) -remote: Counting objects: 89% (130/145) -remote: Counting objects: 90% (131/145) -remote: Counting objects: 91% (132/145) -remote: Counting objects: 92% (134/145) -remote: Counting objects: 93% (135/145) -remote: Counting objects: 94% (137/145) -remote: Counting objects: 95% (138/145) -remote: Counting objects: 96% (140/145) -remote: Counting objects: 97% (141/145) -remote: Counting objects: 98% (143/145) -remote: Counting objects: 99% (144/145) -remote: Counting objects: 100% (145/145) -remote: Counting objects: 100% (145/145), done. - remote: Compressing objects: 1% (1/97) -remote: Compressing objects: 2% (2/97) -remote: Compressing objects: 3% (3/97) -remote: Compressing objects: 4% (4/97) -remote: Compressing objects: 5% (5/97) -remote: Compressing objects: 6% (6/97) -remote: Compressing objects: 7% (7/97) -remote: Compressing objects: 8% (8/97) -remote: Compressing objects: 9% (9/97) -remote: Compressing objects: 10% (10/97) -remote: Compressing objects: 11% (11/97) -remote: Compressing objects: 12% (12/97) -remote: Compressing objects: 13% (13/97) -remote: Compressing objects: 14% (14/97) -remote: Compressing objects: 15% (15/97) -remote: Compressing objects: 16% (16/97) -remote: Compressing objects: 17% (17/97) -remote: Compressing objects: 18% (18/97) -remote: Compressing objects: 19% (19/97) -remote: Compressing objects: 20% (20/97) -remote: Compressing objects: 21% (21/97) -remote: Compressing objects: 22% (22/97) -remote: Compressing objects: 23% (23/97) -remote: Compressing objects: 24% (24/97) -remote: Compressing objects: 25% (25/97) -remote: Compressing objects: 26% (26/97) -remote: Compressing objects: 27% (27/97) -remote: Compressing objects: 28% (28/97) -remote: Compressing objects: 29% (29/97) -remote: Compressing objects: 30% (30/97) -remote: Compressing objects: 31% (31/97) -remote: Compressing objects: 32% (32/97) -remote: Compressing objects: 34% (33/97) -remote: Compressing objects: 35% (34/97) -remote: Compressing objects: 36% (35/97) -remote: Compressing objects: 37% (36/97) -remote: Compressing objects: 38% (37/97) -remote: Compressing objects: 39% (38/97) -remote: Compressing objects: 40% (39/97) -remote: Compressing objects: 41% (40/97) -remote: Compressing objects: 42% (41/97) -remote: Compressing objects: 43% (42/97) -remote: Compressing objects: 44% (43/97) -remote: Compressing objects: 45% (44/97) -remote: Compressing objects: 46% (45/97) -remote: Compressing objects: 47% (46/97) -remote: Compressing objects: 48% (47/97) -remote: Compressing objects: 49% (48/97) -remote: Compressing objects: 50% (49/97) -remote: Compressing objects: 51% (50/97) -remote: Compressing objects: 52% (51/97) -remote: Compressing objects: 53% (52/97) -remote: Compressing objects: 54% (53/97) -remote: Compressing objects: 55% (54/97) -remote: Compressing objects: 56% (55/97) -remote: Compressing objects: 57% (56/97) -remote: Compressing objects: 58% (57/97) -remote: Compressing objects: 59% (58/97) -remote: Compressing objects: 60% (59/97) -remote: Compressing objects: 61% (60/97) -remote: Compressing objects: 62% (61/97) -remote: Compressing objects: 63% (62/97) -remote: Compressing objects: 64% (63/97) -remote: Compressing objects: 65% (64/97) -remote: Compressing objects: 67% (65/97) -remote: Compressing objects: 68% (66/97) -remote: Compressing objects: 69% (67/97) -remote: Compressing objects: 70% (68/97) -remote: Compressing objects: 71% (69/97) -remote: Compressing objects: 72% (70/97) -remote: Compressing objects: 73% (71/97) -remote: Compressing objects: 74% (72/97) -remote: Compressing objects: 75% (73/97) -remote: Compressing objects: 76% (74/97) -remote: Compressing objects: 77% (75/97) -remote: Compressing objects: 78% (76/97) -remote: Compressing objects: 79% (77/97) -remote: Compressing objects: 80% (78/97) -remote: Compressing objects: 81% (79/97) -remote: Compressing objects: 82% (80/97) -remote: Compressing objects: 83% (81/97) -remote: Compressing objects: 84% (82/97) -remote: Compressing objects: 85% (83/97) -remote: Compressing objects: 86% (84/97) -remote: Compressing objects: 87% (85/97) -remote: Compressing objects: 88% (86/97) -remote: Compressing objects: 89% (87/97) -remote: Compressing objects: 90% (88/97) -remote: Compressing objects: 91% (89/97) -remote: Compressing objects: 92% (90/97) -remote: Compressing objects: 93% (91/97) -remote: Compressing objects: 94% (92/97) -remote: Compressing objects: 95% (93/97) -remote: Compressing objects: 96% (94/97) -remote: Compressing objects: 97% (95/97) -remote: Compressing objects: 98% (96/97) -remote: Compressing objects: 100% (97/97) -remote: Compressing objects: 100% (97/97), done. - Receiving objects: 0% (1/236) -Receiving objects: 1% (3/236) - -.. parsed-literal:: - - Receiving objects: 2% (5/236) -Receiving objects: 3% (8/236) -Receiving objects: 4% (10/236) -Receiving objects: 5% (12/236) -Receiving objects: 6% (15/236) -Receiving objects: 7% (17/236) -Receiving objects: 8% (19/236) - -.. parsed-literal:: - - Receiving objects: 9% (22/236) - -.. parsed-literal:: - - Receiving objects: 10% (24/236) -Receiving objects: 11% (26/236) -Receiving objects: 12% (29/236) -Receiving objects: 13% (31/236) -Receiving objects: 14% (34/236) - -.. parsed-literal:: - - Receiving objects: 15% (36/236) -Receiving objects: 16% (38/236) -Receiving objects: 17% (41/236) -Receiving objects: 18% (43/236) -Receiving objects: 19% (45/236) -Receiving objects: 20% (48/236) -Receiving objects: 21% (50/236) -Receiving objects: 22% (52/236) -Receiving objects: 23% (55/236) -Receiving objects: 24% (57/236) -Receiving objects: 25% (59/236) - -.. parsed-literal:: - - Receiving objects: 26% (62/236) -Receiving objects: 27% (64/236) - -.. parsed-literal:: - - Receiving objects: 28% (67/236) -Receiving objects: 29% (69/236) -Receiving objects: 30% (71/236) -Receiving objects: 31% (74/236) -Receiving objects: 32% (76/236) -remote: Total 236 (delta 114), reused 65 (delta 48), pack-reused 91 - Receiving objects: 33% (78/236) -Receiving objects: 34% (81/236) -Receiving objects: 35% (83/236) -Receiving objects: 36% (85/236) -Receiving objects: 37% (88/236) -Receiving objects: 38% (90/236) -Receiving objects: 39% (93/236) -Receiving objects: 40% (95/236) -Receiving objects: 41% (97/236) -Receiving objects: 42% (100/236) -Receiving objects: 43% (102/236) -Receiving objects: 44% (104/236) -Receiving objects: 45% (107/236) -Receiving objects: 46% (109/236) -Receiving objects: 47% (111/236) -Receiving objects: 48% (114/236) -Receiving objects: 49% (116/236) -Receiving objects: 50% (118/236) -Receiving objects: 51% (121/236) -Receiving objects: 52% (123/236) -Receiving objects: 53% (126/236) -Receiving objects: 54% (128/236) -Receiving objects: 55% (130/236) -Receiving objects: 56% (133/236) -Receiving objects: 57% (135/236) -Receiving objects: 58% (137/236) -Receiving objects: 59% (140/236) -Receiving objects: 60% (142/236) -Receiving objects: 61% (144/236) -Receiving objects: 62% (147/236) -Receiving objects: 63% (149/236) -Receiving objects: 64% (152/236) -Receiving objects: 65% (154/236) -Receiving objects: 66% (156/236) -Receiving objects: 67% (159/236) -Receiving objects: 68% (161/236) -Receiving objects: 69% (163/236) -Receiving objects: 70% (166/236) -Receiving objects: 71% (168/236) -Receiving objects: 72% (170/236) -Receiving objects: 73% (173/236) -Receiving objects: 74% (175/236) -Receiving objects: 75% (177/236) -Receiving objects: 76% (180/236) -Receiving objects: 77% (182/236) -Receiving objects: 78% (185/236) -Receiving objects: 79% (187/236) -Receiving objects: 80% (189/236) -Receiving objects: 81% (192/236) -Receiving objects: 82% (194/236) -Receiving objects: 83% (196/236) -Receiving objects: 84% (199/236) -Receiving objects: 85% (201/236) -Receiving objects: 86% (203/236) -Receiving objects: 87% (206/236) -Receiving objects: 88% (208/236) -Receiving objects: 89% (211/236) -Receiving objects: 90% (213/236) -Receiving objects: 91% (215/236) -Receiving objects: 92% (218/236) -Receiving objects: 93% (220/236) -Receiving objects: 94% (222/236) -Receiving objects: 95% (225/236) -Receiving objects: 96% (227/236) -Receiving objects: 97% (229/236) -Receiving objects: 98% (232/236) -Receiving objects: 99% (234/236) -Receiving objects: 100% (236/236) -Receiving objects: 100% (236/236), 9.31 MiB | 18.88 MiB/s, done. - Resolving deltas: 0% (0/120) -Resolving deltas: 3% (4/120) -Resolving deltas: 42% (51/120) -Resolving deltas: 46% (56/120) -Resolving deltas: 50% (60/120) -Resolving deltas: 88% (106/120) -Resolving deltas: 90% (109/120) -Resolving deltas: 95% (115/120) -Resolving deltas: 97% (117/120) -Resolving deltas: 98% (118/120) - -.. parsed-literal:: - - Resolving deltas: 99% (119/120) -Resolving deltas: 100% (120/120) -Resolving deltas: 100% (120/120), done. - - -Install required packages - -.. code:: ipython3 - - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu\ - transformers diffusers gradio "openvino>=2024.0.0" torchvision - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Prepare PyTorch models - -.. code:: ipython3 - - adapter_id = "TencentARC/PhotoMaker" - base_model_id = "SG161222/RealVisXL_V3.0" - - TEXT_ENCODER_OV_PATH = Path("model/text_encoder.xml") - TEXT_ENCODER_2_OV_PATH = Path("model/text_encoder_2.xml") - UNET_OV_PATH = Path("model/unet.xml") - ID_ENCODER_OV_PATH = Path("model/id_encoder.xml") - VAE_DECODER_OV_PATH = Path("model/vae_decoder.xml") - -Load original pipeline and prepare models for conversion --------------------------------------------------------- - - - -For exporting each PyTorch model, we will download the ``ID encoder`` -weight, ``LoRa`` weight from HuggingFace hub, then using the -``PhotoMakerStableDiffusionXLPipeline`` object from repository of -PhotoMaker to generate the original PhotoMaker pipeline. - -.. code:: ipython3 - - import torch - import numpy as np - import os - from PIL import Image - from pathlib import Path - from PhotoMaker.photomaker.model import PhotoMakerIDEncoder - from PhotoMaker.photomaker.pipeline import PhotoMakerStableDiffusionXLPipeline - from diffusers import EulerDiscreteScheduler - import gc - - trigger_word = "img" - - def load_original_pytorch_pipeline_components(photomaker_path: str, base_model_id: str): - # Load base model - pipe = PhotoMakerStableDiffusionXLPipeline.from_pretrained( - base_model_id, use_safetensors=True - ).to("cpu") - - # Load PhotoMaker checkpoint - pipe.load_photomaker_adapter( - os.path.dirname(photomaker_path), - subfolder="", - weight_name=os.path.basename(photomaker_path), - trigger_word=trigger_word, - ) - pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config) - pipe.fuse_lora() - gc.collect() - return pipe - - -.. parsed-literal:: - - 2024-03-13 00:39:33.433623: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:39:33.468677: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-13 00:39:34.115959: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. - torch.utils._pytree._register_pytree_node( - - -.. code:: ipython3 - - from huggingface_hub import hf_hub_download - - photomaker_path = hf_hub_download( - repo_id=adapter_id, filename="photomaker-v1.bin", repo_type="model" - ) - - pipe = load_original_pytorch_pipeline_components( - photomaker_path, base_model_id - ) - - - -.. parsed-literal:: - - Loading pipeline components...: 0%| | 0/7 [00:00 1 or self.sliding_window is not None: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:162: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if past_key_values_length > 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:289: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if causal_attention_mask.size() != (bsz, 1, tgt_len, src_len): - - - - -.. parsed-literal:: - - 3376 - - - -U-Net -~~~~~ - - - -The process of U-Net model conversion remains the same, like for -original Stable Diffusion XL model. - -.. code:: ipython3 - - unet = pipe.unet - unet.eval() - - class UnetWrapper(torch.nn.Module): - def __init__(self, unet): - super().__init__() - self.unet = unet - - def forward( - self, - sample=None, - timestep=None, - encoder_hidden_states=None, - text_embeds=None, - time_ids=None, - ): - return self.unet.forward( - sample, - timestep, - encoder_hidden_states, - added_cond_kwargs={"text_embeds": text_embeds, "time_ids": time_ids}, - ) - - - inputs = { - "sample": torch.rand([2, 4, 128, 128], dtype=torch.float32), - "timestep": torch.from_numpy(np.array(1, dtype=float)), - "encoder_hidden_states": torch.rand([2, 77, 2048], dtype=torch.float32), - "text_embeds": torch.rand([2, 1280], dtype=torch.float32), - "time_ids": torch.rand([2, 6], dtype=torch.float32), - } - - input_info = prepare_input_info(inputs) - - w_unet = UnetWrapper(unet) - convert(w_unet, UNET_OV_PATH, inputs, input_info) - - del w_unet, unet - gc.collect() - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/unets/unet_2d_condition.py:924: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if dim % default_overall_up_factor != 0: - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/downsampling.py:135: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert hidden_states.shape[1] == self.channels - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/downsampling.py:144: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert hidden_states.shape[1] == self.channels - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/upsampling.py:149: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert hidden_states.shape[1] == self.channels - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/upsampling.py:165: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if hidden_states.shape[0] >= 64: - - - - -.. parsed-literal:: - - 11629 - - - -VAE Decoder -~~~~~~~~~~~ - - - -The VAE model has two parts, an encoder and a decoder. The encoder is -used to convert the image into a low dimensional latent representation, -which will serve as the input to the U-Net model. The decoder, -conversely, transforms the latent representation back into an image. - -When running Text-to-Image pipeline, we will see that we only need the -VAE decoder. - -.. code:: ipython3 - - vae_decoder = pipe.vae - vae_decoder.eval() - - class VAEDecoderWrapper(torch.nn.Module): - def __init__(self, vae_decoder): - super().__init__() - self.vae = vae_decoder - - def forward(self, latents): - return self.vae.decode(latents) - - - w_vae_decoder = VAEDecoderWrapper(vae_decoder) - inputs = torch.zeros((1, 4, 128, 128)) - - convert(w_vae_decoder, VAE_DECODER_OV_PATH, inputs, input_info=[1, 4, 128, 128]) - - del w_vae_decoder, vae_decoder - gc.collect() - - - - -.. parsed-literal:: - - 1534 - - - -Prepare Inference pipeline --------------------------- - - - -In this example, we will reuse ``PhotoMakerStableDiffusionXLPipeline`` -pipeline to generate the image with OpenVINO, so each model’s object in -this pipeline should be replaced with new OpenVINO model object. - -Select inference device for Stable Diffusion pipeline -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - import ipywidgets as widgets - - core = ov.Core() - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value="CPU", - description="Device:", - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', options=('CPU', 'AUTO'), value='CPU') - - - -Compile models and create their Wrappers for inference -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -To access original PhotoMaker workflow, we have to create a new wrapper -for each OpenVINO compiled model. For matching original pipeline, part -of OpenVINO model wrapper’s attributes should be reused from original -model objects and inference output must be converted from numpy to -``torch.tensor``. - - - -.. code:: ipython3 - - compiled_id_encoder = core.compile_model(ID_ENCODER_OV_PATH, device.value) - compiled_unet = core.compile_model(UNET_OV_PATH, device.value) - compiled_text_encoder = core.compile_model(TEXT_ENCODER_OV_PATH, device.value) - compiled_text_encoder_2 = core.compile_model(TEXT_ENCODER_2_OV_PATH, device.value) - compiled_vae_decoder = core.compile_model(VAE_DECODER_OV_PATH, device.value) - -.. code:: ipython3 - - from collections import namedtuple - - - class OVIDEncoderWrapper(PhotoMakerIDEncoder): - dtype = torch.float32 # accessed in the original workflow - - def __init__(self, id_encoder, orig_id_encoder): - super().__init__() - self.id_encoder = id_encoder - self.modules = orig_id_encoder.modules # accessed in the original workflow - self.config = orig_id_encoder.config # accessed in the original workflow - - def __call__( - self, - *args, - ): - id_pixel_values, prompt_embeds, class_tokens_mask = args - inputs = { - "id_pixel_values": id_pixel_values, - "prompt_embeds": prompt_embeds, - "class_tokens_mask": class_tokens_mask, - } - output = self.id_encoder(inputs)[0] - return torch.from_numpy(output) - -.. code:: ipython3 - - class OVTextEncoderWrapper: - dtype = torch.float32 # accessed in the original workflow - - def __init__(self, text_encoder, orig_text_encoder): - self.text_encoder = text_encoder - self.modules = orig_text_encoder.modules # accessed in the original workflow - self.config = orig_text_encoder.config # accessed in the original workflow - - def __call__(self, input_ids, **kwargs): - inputs = {"input_ids": input_ids} - output = self.text_encoder(inputs) - - hidden_states = [] - hidden_states_len = len(output) - for i in range(1, hidden_states_len): - hidden_states.append(torch.from_numpy(output[i])) - - BaseModelOutputWithPooling = namedtuple( - "BaseModelOutputWithPooling", "last_hidden_state hidden_states" - ) - output = BaseModelOutputWithPooling(torch.from_numpy(output[0]), hidden_states) - return output - -.. code:: ipython3 - - class OVUnetWrapper: - def __init__(self, unet, unet_orig): - self.unet = unet - self.config = unet_orig.config # accessed in the original workflow - self.add_embedding = ( - unet_orig.add_embedding - ) # accessed in the original workflow - - def __call__(self, *args, **kwargs): - latent_model_input, t = args - inputs = { - "sample": latent_model_input, - "timestep": t, - "encoder_hidden_states": kwargs["encoder_hidden_states"], - "text_embeds": kwargs["added_cond_kwargs"]["text_embeds"], - "time_ids": kwargs["added_cond_kwargs"]["time_ids"], - } - - output = self.unet(inputs) - - return [torch.from_numpy(output[0])] - -.. code:: ipython3 - - class OVVAEDecoderWrapper: - dtype = torch.float32 # accessed in the original workflow - - def __init__(self, vae, vae_orig): - self.vae = vae - self.config = vae_orig.config # accessed in the original workflow - - def decode(self, latents, return_dict=False): - output = self.vae(latents)[0] - output = torch.from_numpy(output) - - return [output] - -Replace the PyTorch model objects in original pipeline with OpenVINO -models - -.. code:: ipython3 - - pipe.id_encoder = OVIDEncoderWrapper(compiled_id_encoder, pipe.id_encoder) - pipe.unet = OVUnetWrapper(compiled_unet, pipe.unet) - pipe.text_encoder = OVTextEncoderWrapper(compiled_text_encoder, pipe.text_encoder) - pipe.text_encoder_2 = OVTextEncoderWrapper(compiled_text_encoder_2, pipe.text_encoder_2) - pipe.vae = OVVAEDecoderWrapper(compiled_vae_decoder, pipe.vae) - -Running Text-to-Image Generation with OpenVINO ----------------------------------------------- - - - -.. code:: ipython3 - - from diffusers.utils import load_image - - prompt = "sci-fi, closeup portrait photo of a man img in Iron man suit, face" - negative_prompt = "(asymmetry, worst quality, low quality, illustration, 3d, 2d, painting, cartoons, sketch), open mouth" - generator = torch.Generator("cpu").manual_seed(42) - - input_id_images = [] - original_image = load_image("./PhotoMaker/examples/newton_man/newton_0.jpg") - input_id_images.append(original_image) - - ## Parameter setting - num_steps = 20 - style_strength_ratio = 20 - start_merge_step = int(float(style_strength_ratio) / 100 * num_steps) - if start_merge_step > 30: - start_merge_step = 30 - - images = pipe( - prompt=prompt, - input_id_images=input_id_images, - negative_prompt=negative_prompt, - num_images_per_prompt=1, - num_inference_steps=num_steps, - start_merge_step=start_merge_step, - generator=generator, - ).images - - - -.. parsed-literal:: - - 0%| | 0/20 [00:00 30: - start_merge_step = 30 - result = pipe( - text_promt, - input_id_images=input_image, - negative_prompt=neg_prompt, - num_inference_steps=num_steps, - num_images_per_prompt=1, - start_merge_step=start_merge_step, - generator=torch.Generator().manual_seed(seed), - height=1024, - width=1024, - ).images[0] - - return result - - - with gr.Blocks() as demo: - with gr.Column(): - with gr.Row(): - input_image = gr.Image(label="Your image", sources=[ - "upload"], type="pil") - output_image = gr.Image(label="Generated Images", type="pil") - positive_input = gr.Textbox( - label=f"Text prompt, Trigger words is '{trigger_word}'") - neg_input = gr.Textbox(label="Negative prompt") - with gr.Row(): - seed_input = gr.Slider(0, 10_000_000, value=42, label="Seed") - steps_input = gr.Slider( - label="Steps", value=10, minimum=5, maximum=50, step=1 - ) - style_strength_ratio_input = gr.Slider( - label="Style strength ratio", value=20, minimum=5, maximum=100, step=5 - ) - btn = gr.Button() - btn.click( - generate_from_text, - [ - positive_input, - input_image, - neg_input, - seed_input, - steps_input, - style_strength_ratio_input, - ], - output_image, - ) - gr.Examples( - [ - [prompt, negative_prompt], - [ - "A woman img wearing a Christmas hat", - negative_prompt, - ], - [ - "A man img in a helmet and vest riding a motorcycle", - negative_prompt, - ], - [ - "photo of a middle-aged man img sitting on a plush leather couch, and watching television show", - negative_prompt, - ], - [ - "photo of a skilled doctor img in a pristine white lab coat enjoying a delicious meal in a sophisticated dining room", - negative_prompt, - ], - [ - "photo of superman img flying through a vibrant sunset sky, with his cape billowing in the wind", - negative_prompt, - ], - ], - [positive_input, neg_input], - ) - - - demo.queue().launch() - # if you are launching remotely, specify server_name and server_port - # demo.launch(server_name='your server name', server_port='server port in int') - # Read more in the docs: https://gradio.app/docs/ - - -.. parsed-literal:: - - Running on local URL: http://127.0.0.1:7860 - - To create a public link, set `share=True` in `launch()`. - - - - - - - - - - - - - - - - -.. code:: ipython3 - - demo.close() - - -.. parsed-literal:: - - Closing server running on port: 7860 - diff --git a/docs/notebooks/283-photo-maker-with-output_files/283-photo-maker-with-output_33_0.png b/docs/notebooks/283-photo-maker-with-output_files/283-photo-maker-with-output_33_0.png deleted file mode 100644 index f5fc221fbbe..00000000000 --- a/docs/notebooks/283-photo-maker-with-output_files/283-photo-maker-with-output_33_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8727ce5f57d91a85a1d27a08ca58ada5f465f4ca1cfaee31a08104a3b64e69f4 -size 357214 diff --git a/docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_36_0.png b/docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_36_0.png deleted file mode 100644 index fb0e77db578..00000000000 --- a/docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_36_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f6d7eb79cd44933b7ff1595904860d180193172e94aba297a48e1fdc99f94491 -size 495875 diff --git a/docs/notebooks/288-grounded-segment-anything-with-output.rst b/docs/notebooks/288-grounded-segment-anything-with-output.rst deleted file mode 100644 index 3f5bd18bdab..00000000000 --- a/docs/notebooks/288-grounded-segment-anything-with-output.rst +++ /dev/null @@ -1,1762 +0,0 @@ -Object detection and masking from prompts with GroundedSAM (GroundingDINO + SAM) and OpenVINO -============================================================================================= - -In this notebook, we provide the OpenVINO™ optimization for the -combination of GroundingDINO + SAM = -`GroundedSAM `__ -on Intel® platforms. - -GroundedSAM aims to detect and segment anything with text inputs. -GroundingDINO is a language-guided query selection module to enhance -object detection using input text. It selects relevant features from -image and text inputs and returns predicted boxes with detections. The -Segment Anything Model (SAM) produces high quality object masks from -input prompts such as points or boxes, and it can be used to generate -masks for all objects in an image. We use box predictions from -GroundingDINO to mask the original image. - -More details about the model can be found in the -`paper `__, and the official -`repository `__. - -.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/5703039/3c19063a-c60a-4d5d-b534-e1305a854180 - :alt: image - - image - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Clone repository and install - requirements <#clone-repository-and-install-requirements>`__ -- `Download checkpoints and load PyTorch - model <#download-checkpoints-and-load-pytorch-model>`__ -- `Convert GroundingDINO to OpenVINO IR - format <#convert-groundingdino-to-openvino-ir-format>`__ -- `Run OpenVINO optimized - GroundingDINO <#run-openvino-optimized-groundingdino>`__ -- `Convert SAM to OpenVINO IR <#convert-sam-to-openvino-ir>`__ -- `Combine GroundingDINO + SAM - (GroundedSAM) <#combine-groundingdino--sam-groundedsam>`__ -- `Interactive GroundedSAM <#interactive-groundedsam>`__ -- `Cleanup <#cleanup>`__ - -Clone repositories and install requirements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - %pip install -q timm --extra-index-url https://download.pytorch.org/whl/cpu # is needed for torch - %pip install -q "openvino>=2024.0" opencv-python supervision transformers yapf pycocotools addict gradio - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - paddleclas 2.5.1 requires faiss-cpu==1.7.1.post2, but you have faiss-cpu 1.8.0 which is incompatible. - paddleclas 2.5.1 requires gast==0.3.3, but you have gast 0.4.0 which is incompatible. - ppgan 2.1.0 requires imageio==2.9.0, but you have imageio 2.34.0 which is incompatible. - ppgan 2.1.0 requires librosa==0.8.1, but you have librosa 0.9.2 which is incompatible. - ppgan 2.1.0 requires opencv-python<=4.6.0.66, but you have opencv-python 4.9.0.80 which is incompatible. - pyannote-audio 2.0.1 requires torchaudio<1.0,>=0.10, but you have torchaudio 2.2.1+cpu which is incompatible. - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -For faster computation and to limit RAM by default we use -``EfficientSAM`` for segmentation, but if you wish more accurate -segmentation you can select vanilla ``SAM``. - -.. code:: ipython3 - - import ipywidgets - - sam_type_widget = ipywidgets.Dropdown( - options=['EfficientSAM', 'SAM'], - value='EfficientSAM', - description='Segment Anything type:', - ) - sam_type_widget - - - - -.. parsed-literal:: - - Dropdown(description='Segment Anything type:', options=('EfficientSAM', 'SAM'), value='EfficientSAM') - - - -.. code:: ipython3 - - use_efficient_sam = sam_type_widget.value == 'EfficientSAM' - -.. code:: ipython3 - - from pathlib import Path - import sys - import os - - repo_dir = Path("Grounded-Segment-Anything") - ground_dino_dir = Path('GroundingDINO') - efficient_sam_dir = Path('EfficientSAM') - - # we use grounding dino from a fork which contains modifications that allow conversion to OpenVINO IR format - if not ground_dino_dir.exists(): - !git clone https://github.com/wenyi5608/GroundingDINO/ - if use_efficient_sam and not efficient_sam_dir.exists(): - !git clone https://github.com/yformer/EfficientSAM - if not use_efficient_sam and not repo_dir.exists(): - !git clone https://github.com/IDEA-Research/Grounded-Segment-Anything - - # append to sys.path so that modules from the repo could be imported - sys.path.append(str(ground_dino_dir)) - sys.path.append(str('EfficientSAM' if use_efficient_sam else repo_dir / 'segment_anything')) - - -.. parsed-literal:: - - Cloning into 'GroundingDINO'... - - -.. parsed-literal:: - - remote: Enumerating objects: 379, done. - remote: Counting objects: 0% (1/177) -remote: Counting objects: 1% (2/177) -remote: Counting objects: 2% (4/177) -remote: Counting objects: 3% (6/177) -remote: Counting objects: 4% (8/177) -remote: Counting objects: 5% (9/177) -remote: Counting objects: 6% (11/177) -remote: Counting objects: 7% (13/177) -remote: Counting objects: 8% (15/177) -remote: Counting objects: 9% (16/177) -remote: Counting objects: 10% (18/177) -remote: Counting objects: 11% (20/177) -remote: Counting objects: 12% (22/177) -remote: Counting objects: 13% (24/177) -remote: Counting objects: 14% (25/177) -remote: Counting objects: 15% (27/177) -remote: Counting objects: 16% (29/177) -remote: Counting objects: 17% (31/177) -remote: Counting objects: 18% (32/177) -remote: Counting objects: 19% (34/177) -remote: Counting objects: 20% (36/177) -remote: Counting objects: 21% (38/177) -remote: Counting objects: 22% (39/177) -remote: Counting objects: 23% (41/177) -remote: Counting objects: 24% (43/177) -remote: Counting objects: 25% (45/177) -remote: Counting objects: 26% (47/177) -remote: Counting objects: 27% (48/177) -remote: Counting objects: 28% (50/177) -remote: Counting objects: 29% (52/177) -remote: Counting objects: 30% (54/177) -remote: Counting objects: 31% (55/177) -remote: Counting objects: 32% (57/177) -remote: Counting objects: 33% (59/177) -remote: Counting objects: 34% (61/177) -remote: Counting objects: 35% (62/177) -remote: Counting objects: 36% (64/177) -remote: Counting objects: 37% (66/177) -remote: Counting objects: 38% (68/177) -remote: Counting objects: 39% (70/177) -remote: Counting objects: 40% (71/177) -remote: Counting objects: 41% (73/177) -remote: Counting objects: 42% (75/177) -remote: Counting objects: 43% (77/177) -remote: Counting objects: 44% (78/177) -remote: Counting objects: 45% (80/177) -remote: Counting objects: 46% (82/177) -remote: Counting objects: 47% (84/177) -remote: Counting objects: 48% (85/177) -remote: Counting objects: 49% (87/177) -remote: Counting objects: 50% (89/177) -remote: Counting objects: 51% (91/177) -remote: Counting objects: 52% (93/177) -remote: Counting objects: 53% (94/177) -remote: Counting objects: 54% (96/177) -remote: Counting objects: 55% (98/177) -remote: Counting objects: 56% (100/177) -remote: Counting objects: 57% (101/177) -remote: Counting objects: 58% (103/177) -remote: Counting objects: 59% (105/177) -remote: Counting objects: 60% (107/177) -remote: Counting objects: 61% (108/177) -remote: Counting objects: 62% (110/177) -remote: Counting objects: 63% (112/177) -remote: Counting objects: 64% (114/177) -remote: Counting objects: 65% (116/177) -remote: Counting objects: 66% (117/177) -remote: Counting objects: 67% (119/177) -remote: Counting objects: 68% (121/177) -remote: Counting objects: 69% (123/177) -remote: Counting objects: 70% (124/177) -remote: Counting objects: 71% (126/177) -remote: Counting objects: 72% (128/177) -remote: Counting objects: 73% (130/177) -remote: Counting objects: 74% (131/177) -remote: Counting objects: 75% (133/177) -remote: Counting objects: 76% (135/177) -remote: Counting objects: 77% (137/177) -remote: Counting objects: 78% (139/177) -remote: Counting objects: 79% (140/177) -remote: Counting objects: 80% (142/177) -remote: Counting objects: 81% (144/177) -remote: Counting objects: 82% (146/177) -remote: Counting objects: 83% (147/177) -remote: Counting objects: 84% (149/177) -remote: Counting objects: 85% (151/177) -remote: Counting objects: 86% (153/177) -remote: Counting objects: 87% (154/177) -remote: Counting objects: 88% (156/177) -remote: Counting objects: 89% (158/177) -remote: Counting objects: 90% (160/177) -remote: Counting objects: 91% (162/177) -remote: Counting objects: 92% (163/177) -remote: Counting objects: 93% (165/177) -remote: Counting objects: 94% (167/177) -remote: Counting objects: 95% (169/177) -remote: Counting objects: 96% (170/177) -remote: Counting objects: 97% (172/177) -remote: Counting objects: 98% (174/177) -remote: Counting objects: 99% (176/177) -remote: Counting objects: 100% (177/177) -remote: Counting objects: 100% (177/177), done. - remote: Compressing objects: 1% (1/64) -remote: Compressing objects: 3% (2/64) -remote: Compressing objects: 4% (3/64) -remote: Compressing objects: 6% (4/64) -remote: Compressing objects: 7% (5/64) -remote: Compressing objects: 9% (6/64) -remote: Compressing objects: 10% (7/64) -remote: Compressing objects: 12% (8/64) -remote: Compressing objects: 14% (9/64) -remote: Compressing objects: 15% (10/64) -remote: Compressing objects: 17% (11/64) -remote: Compressing objects: 18% (12/64) -remote: Compressing objects: 20% (13/64) -remote: Compressing objects: 21% (14/64) -remote: Compressing objects: 23% (15/64) -remote: Compressing objects: 25% (16/64) -remote: Compressing objects: 26% (17/64) -remote: Compressing objects: 28% (18/64) -remote: Compressing objects: 29% (19/64) -remote: Compressing objects: 31% (20/64) -remote: Compressing objects: 32% (21/64) -remote: Compressing objects: 34% (22/64) -remote: Compressing objects: 35% (23/64) -remote: Compressing objects: 37% (24/64) -remote: Compressing objects: 39% (25/64) -remote: Compressing objects: 40% (26/64) -remote: Compressing objects: 42% (27/64) -remote: Compressing objects: 43% (28/64) -remote: Compressing objects: 45% (29/64) -remote: Compressing objects: 46% (30/64) -remote: Compressing objects: 48% (31/64) -remote: Compressing objects: 50% (32/64) -remote: Compressing objects: 51% (33/64) -remote: Compressing objects: 53% (34/64) -remote: Compressing objects: 54% (35/64) -remote: Compressing objects: 56% (36/64) -remote: Compressing objects: 57% (37/64) -remote: Compressing objects: 59% (38/64) -remote: Compressing objects: 60% (39/64) -remote: Compressing objects: 62% (40/64) -remote: Compressing objects: 64% (41/64) -remote: Compressing objects: 65% (42/64) -remote: Compressing objects: 67% (43/64) -remote: Compressing objects: 68% (44/64) -remote: Compressing objects: 70% (45/64) -remote: Compressing objects: 71% (46/64) -remote: Compressing objects: 73% (47/64) -remote: Compressing objects: 75% (48/64) -remote: Compressing objects: 76% (49/64) -remote: Compressing objects: 78% (50/64) -remote: Compressing objects: 79% (51/64) -remote: Compressing objects: 81% (52/64) -remote: Compressing objects: 82% (53/64) -remote: Compressing objects: 84% (54/64) -remote: Compressing objects: 85% (55/64) -remote: Compressing objects: 87% (56/64) -remote: Compressing objects: 89% (57/64) -remote: Compressing objects: 90% (58/64) -remote: Compressing objects: 92% (59/64) -remote: Compressing objects: 93% (60/64) -remote: Compressing objects: 95% (61/64) -remote: Compressing objects: 96% (62/64) -remote: Compressing objects: 98% (63/64) -remote: Compressing objects: 100% (64/64) -remote: Compressing objects: 100% (64/64), done. - Receiving objects: 0% (1/379) - -.. parsed-literal:: - - Receiving objects: 1% (4/379) - -.. parsed-literal:: - - Receiving objects: 2% (8/379) -Receiving objects: 3% (12/379) -Receiving objects: 4% (16/379) -Receiving objects: 5% (19/379) -Receiving objects: 6% (23/379) -Receiving objects: 7% (27/379) -Receiving objects: 8% (31/379) -Receiving objects: 9% (35/379) - -.. parsed-literal:: - - Receiving objects: 10% (38/379) -Receiving objects: 11% (42/379) -Receiving objects: 12% (46/379) -Receiving objects: 13% (50/379) -Receiving objects: 14% (54/379) -Receiving objects: 15% (57/379) -Receiving objects: 16% (61/379) -Receiving objects: 17% (65/379) -Receiving objects: 18% (69/379) -Receiving objects: 19% (73/379) -Receiving objects: 20% (76/379) -Receiving objects: 21% (80/379) -Receiving objects: 22% (84/379) -Receiving objects: 23% (88/379) -Receiving objects: 24% (91/379) -Receiving objects: 25% (95/379) - -.. parsed-literal:: - - Receiving objects: 26% (99/379) - -.. parsed-literal:: - - Receiving objects: 27% (103/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 28% (107/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 29% (110/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 30% (114/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 31% (118/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 32% (122/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 33% (126/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 34% (129/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 35% (133/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 36% (137/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 37% (141/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 38% (145/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 39% (148/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 40% (152/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 41% (156/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 42% (160/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 43% (163/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 44% (167/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 45% (171/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 46% (175/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 47% (179/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 48% (182/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 49% (186/379), 11.64 MiB | 21.59 MiB/s - -.. parsed-literal:: - - Receiving objects: 50% (190/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 51% (194/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 52% (198/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 53% (201/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 54% (205/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 55% (209/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 56% (213/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 57% (217/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 58% (220/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 59% (224/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 60% (228/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 61% (232/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 62% (235/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 63% (239/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 64% (243/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 65% (247/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 66% (251/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 67% (254/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 68% (258/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 69% (262/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 70% (266/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 71% (270/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 72% (273/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 73% (277/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 74% (281/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 75% (285/379), 11.64 MiB | 21.59 MiB/s -remote: Total 379 (delta 137), reused 113 (delta 113), pack-reused 202 - Receiving objects: 76% (289/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 77% (292/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 78% (296/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 79% (300/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 80% (304/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 81% (307/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 82% (311/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 83% (315/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 84% (319/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 85% (323/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 86% (326/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 87% (330/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 88% (334/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 89% (338/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 90% (342/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 91% (345/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 92% (349/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 93% (353/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 94% (357/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 95% (361/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 96% (364/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 97% (368/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 98% (372/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 99% (376/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 100% (379/379), 11.64 MiB | 21.59 MiB/s -Receiving objects: 100% (379/379), 14.03 MiB | 21.38 MiB/s, done. - Resolving deltas: 0% (0/195) -Resolving deltas: 1% (2/195) -Resolving deltas: 3% (7/195) -Resolving deltas: 7% (14/195) -Resolving deltas: 8% (16/195) -Resolving deltas: 16% (32/195) -Resolving deltas: 17% (35/195) -Resolving deltas: 18% (37/195) -Resolving deltas: 19% (38/195) -Resolving deltas: 20% (40/195) -Resolving deltas: 21% (41/195) -Resolving deltas: 22% (43/195) -Resolving deltas: 27% (53/195) -Resolving deltas: 42% (83/195) -Resolving deltas: 44% (87/195) -Resolving deltas: 47% (93/195) -Resolving deltas: 55% (108/195) -Resolving deltas: 56% (111/195) -Resolving deltas: 57% (112/195) -Resolving deltas: 58% (114/195) -Resolving deltas: 60% (117/195) -Resolving deltas: 61% (119/195) -Resolving deltas: 63% (123/195) -Resolving deltas: 65% (127/195) -Resolving deltas: 69% (135/195) -Resolving deltas: 70% (138/195) -Resolving deltas: 71% (139/195) -Resolving deltas: 72% (142/195) -Resolving deltas: 75% (148/195) -Resolving deltas: 76% (149/195) -Resolving deltas: 78% (153/195) -Resolving deltas: 80% (157/195) -Resolving deltas: 82% (160/195) -Resolving deltas: 100% (195/195) -Resolving deltas: 100% (195/195), done. - - -.. parsed-literal:: - - Cloning into 'EfficientSAM'... - - -.. parsed-literal:: - - remote: Enumerating objects: 424, done. - remote: Counting objects: 0% (1/140) -remote: Counting objects: 1% (2/140) -remote: Counting objects: 2% (3/140) -remote: Counting objects: 3% (5/140) -remote: Counting objects: 4% (6/140) -remote: Counting objects: 5% (7/140) -remote: Counting objects: 6% (9/140) -remote: Counting objects: 7% (10/140) -remote: Counting objects: 8% (12/140) -remote: Counting objects: 9% (13/140) -remote: Counting objects: 10% (14/140) -remote: Counting objects: 11% (16/140) -remote: Counting objects: 12% (17/140) -remote: Counting objects: 13% (19/140) -remote: Counting objects: 14% (20/140) -remote: Counting objects: 15% (21/140) -remote: Counting objects: 16% (23/140) -remote: Counting objects: 17% (24/140) -remote: Counting objects: 18% (26/140) -remote: Counting objects: 19% (27/140) -remote: Counting objects: 20% (28/140) -remote: Counting objects: 21% (30/140) -remote: Counting objects: 22% (31/140) -remote: Counting objects: 23% (33/140) -remote: Counting objects: 24% (34/140) -remote: Counting objects: 25% (35/140) -remote: Counting objects: 26% (37/140) -remote: Counting objects: 27% (38/140) -remote: Counting objects: 28% (40/140) -remote: Counting objects: 29% (41/140) -remote: Counting objects: 30% (42/140) -remote: Counting objects: 31% (44/140) -remote: Counting objects: 32% (45/140) -remote: Counting objects: 33% (47/140) -remote: Counting objects: 34% (48/140) -remote: Counting objects: 35% (49/140) -remote: Counting objects: 36% (51/140) -remote: Counting objects: 37% (52/140) -remote: Counting objects: 38% (54/140) -remote: Counting objects: 39% (55/140) -remote: Counting objects: 40% (56/140) -remote: Counting objects: 41% (58/140) -remote: Counting objects: 42% (59/140) -remote: Counting objects: 43% (61/140) -remote: Counting objects: 44% (62/140) -remote: Counting objects: 45% (63/140) -remote: Counting objects: 46% (65/140) -remote: Counting objects: 47% (66/140) -remote: Counting objects: 48% (68/140) -remote: Counting objects: 49% (69/140) -remote: Counting objects: 50% (70/140) -remote: Counting objects: 51% (72/140) -remote: Counting objects: 52% (73/140) -remote: Counting objects: 53% (75/140) -remote: Counting objects: 54% (76/140) -remote: Counting objects: 55% (77/140) -remote: Counting objects: 56% (79/140) -remote: Counting objects: 57% (80/140) -remote: Counting objects: 58% (82/140) -remote: Counting objects: 59% (83/140) -remote: Counting objects: 60% (84/140) -remote: Counting objects: 61% (86/140) -remote: Counting objects: 62% (87/140) -remote: Counting objects: 63% (89/140) -remote: Counting objects: 64% (90/140) -remote: Counting objects: 65% (91/140) -remote: Counting objects: 66% (93/140) -remote: Counting objects: 67% (94/140) -remote: Counting objects: 68% (96/140) -remote: Counting objects: 69% (97/140) -remote: Counting objects: 70% (98/140) -remote: Counting objects: 71% (100/140) -remote: Counting objects: 72% (101/140) -remote: Counting objects: 73% (103/140) -remote: Counting objects: 74% (104/140) -remote: Counting objects: 75% (105/140) -remote: Counting objects: 76% (107/140) -remote: Counting objects: 77% (108/140) -remote: Counting objects: 78% (110/140) -remote: Counting objects: 79% (111/140) -remote: Counting objects: 80% (112/140) -remote: Counting objects: 81% (114/140) -remote: Counting objects: 82% (115/140) -remote: Counting objects: 83% (117/140) -remote: Counting objects: 84% (118/140) -remote: Counting objects: 85% (119/140) -remote: Counting objects: 86% (121/140) -remote: Counting objects: 87% (122/140) - -.. parsed-literal:: - - remote: Counting objects: 88% (124/140) -remote: Counting objects: 89% (125/140) -remote: Counting objects: 90% (126/140) -remote: Counting objects: 91% (128/140) -remote: Counting objects: 92% (129/140) -remote: Counting objects: 93% (131/140) -remote: Counting objects: 94% (132/140) -remote: Counting objects: 95% (133/140) -remote: Counting objects: 96% (135/140) -remote: Counting objects: 97% (136/140) -remote: Counting objects: 98% (138/140) -remote: Counting objects: 99% (139/140) -remote: Counting objects: 100% (140/140) -remote: Counting objects: 100% (140/140), done. - remote: Compressing objects: 1% (1/85) -remote: Compressing objects: 2% (2/85) -remote: Compressing objects: 3% (3/85) -remote: Compressing objects: 4% (4/85) -remote: Compressing objects: 5% (5/85) -remote: Compressing objects: 7% (6/85) -remote: Compressing objects: 8% (7/85) -remote: Compressing objects: 9% (8/85) -remote: Compressing objects: 10% (9/85) -remote: Compressing objects: 11% (10/85) - -.. parsed-literal:: - - remote: Compressing objects: 12% (11/85) -remote: Compressing objects: 14% (12/85) -remote: Compressing objects: 15% (13/85) -remote: Compressing objects: 16% (14/85) -remote: Compressing objects: 17% (15/85) -remote: Compressing objects: 18% (16/85) -remote: Compressing objects: 20% (17/85) -remote: Compressing objects: 21% (18/85) -remote: Compressing objects: 22% (19/85) -remote: Compressing objects: 23% (20/85) -remote: Compressing objects: 24% (21/85) -remote: Compressing objects: 25% (22/85) -remote: Compressing objects: 27% (23/85) -remote: Compressing objects: 28% (24/85) -remote: Compressing objects: 29% (25/85) -remote: Compressing objects: 30% (26/85) -remote: Compressing objects: 31% (27/85) -remote: Compressing objects: 32% (28/85) -remote: Compressing objects: 34% (29/85) -remote: Compressing objects: 35% (30/85) -remote: Compressing objects: 36% (31/85) -remote: Compressing objects: 37% (32/85) -remote: Compressing objects: 38% (33/85) -remote: Compressing objects: 40% (34/85) -remote: Compressing objects: 41% (35/85) -remote: Compressing objects: 42% (36/85) -remote: Compressing objects: 43% (37/85) -remote: Compressing objects: 44% (38/85) -remote: Compressing objects: 45% (39/85) -remote: Compressing objects: 47% (40/85) -remote: Compressing objects: 48% (41/85) -remote: Compressing objects: 49% (42/85) -remote: Compressing objects: 50% (43/85) -remote: Compressing objects: 51% (44/85) -remote: Compressing objects: 52% (45/85) -remote: Compressing objects: 54% (46/85) -remote: Compressing objects: 55% (47/85) -remote: Compressing objects: 56% (48/85) -remote: Compressing objects: 57% (49/85) -remote: Compressing objects: 58% (50/85) -remote: Compressing objects: 60% (51/85) -remote: Compressing objects: 61% (52/85) -remote: Compressing objects: 62% (53/85) -remote: Compressing objects: 63% (54/85) -remote: Compressing objects: 64% (55/85) -remote: Compressing objects: 65% (56/85) -remote: Compressing objects: 67% (57/85) -remote: Compressing objects: 68% (58/85) -remote: Compressing objects: 69% (59/85) -remote: Compressing objects: 70% (60/85) -remote: Compressing objects: 71% (61/85) -remote: Compressing objects: 72% (62/85) -remote: Compressing objects: 74% (63/85) -remote: Compressing objects: 75% (64/85) -remote: Compressing objects: 76% (65/85) -remote: Compressing objects: 77% (66/85) -remote: Compressing objects: 78% (67/85) -remote: Compressing objects: 80% (68/85) -remote: Compressing objects: 81% (69/85) -remote: Compressing objects: 82% (70/85) -remote: Compressing objects: 83% (71/85) -remote: Compressing objects: 84% (72/85) -remote: Compressing objects: 85% (73/85) -remote: Compressing objects: 87% (74/85) -remote: Compressing objects: 88% (75/85) -remote: Compressing objects: 89% (76/85) -remote: Compressing objects: 90% (77/85) -remote: Compressing objects: 91% (78/85) -remote: Compressing objects: 92% (79/85) -remote: Compressing objects: 94% (80/85) -remote: Compressing objects: 95% (81/85) -remote: Compressing objects: 96% (82/85) -remote: Compressing objects: 97% (83/85) -remote: Compressing objects: 98% (84/85) -remote: Compressing objects: 100% (85/85) -remote: Compressing objects: 100% (85/85), done. - Receiving objects: 0% (1/424) - -.. parsed-literal:: - - Receiving objects: 1% (5/424) -Receiving objects: 2% (9/424) -Receiving objects: 3% (13/424) -Receiving objects: 4% (17/424) - -.. parsed-literal:: - - Receiving objects: 5% (22/424) -Receiving objects: 6% (26/424) - -.. parsed-literal:: - - Receiving objects: 6% (26/424), 20.47 MiB | 20.46 MiB/s - -.. parsed-literal:: - - Receiving objects: 6% (29/424), 42.52 MiB | 21.15 MiB/s - -.. parsed-literal:: - - Receiving objects: 6% (29/424), 64.88 MiB | 21.43 MiB/s - -.. parsed-literal:: - - Receiving objects: 7% (30/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 8% (34/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 9% (39/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 10% (43/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 11% (47/424), 72.89 MiB | 20.50 MiB/s - -.. parsed-literal:: - - Receiving objects: 12% (51/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 13% (56/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 14% (60/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 15% (64/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 16% (68/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 17% (73/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 18% (77/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 19% (81/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 20% (85/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 21% (90/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 22% (94/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 23% (98/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 24% (102/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 25% (106/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 26% (111/424), 72.89 MiB | 20.50 MiB/s -Receiving objects: 27% (115/424), 72.89 MiB | 20.50 MiB/s - -.. parsed-literal:: - - Receiving objects: 27% (115/424), 83.68 MiB | 20.63 MiB/s - -.. parsed-literal:: - - Receiving objects: 27% (115/424), 107.54 MiB | 21.41 MiB/s - -.. parsed-literal:: - - Receiving objects: 27% (115/424), 131.54 MiB | 21.79 MiB/s - -.. parsed-literal:: - - Receiving objects: 27% (115/424), 156.82 MiB | 22.49 MiB/s - -.. parsed-literal:: - - Receiving objects: 28% (119/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 29% (123/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 30% (128/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 31% (132/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 32% (136/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 33% (140/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 34% (145/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 35% (149/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 36% (153/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 37% (157/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 38% (162/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 39% (166/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 40% (170/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 41% (174/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 42% (179/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 43% (183/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 44% (187/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 45% (191/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 46% (196/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 47% (200/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 48% (204/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 49% (208/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 50% (212/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 51% (217/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 52% (221/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 53% (225/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 54% (229/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 55% (234/424), 169.11 MiB | 22.60 MiB/s -Receiving objects: 56% (238/424), 169.11 MiB | 22.60 MiB/s - -.. parsed-literal:: - - Receiving objects: 56% (240/424), 181.91 MiB | 23.78 MiB/s - -.. parsed-literal:: - - Receiving objects: 56% (241/424), 195.30 MiB | 24.35 MiB/s -Receiving objects: 57% (242/424), 195.30 MiB | 24.35 MiB/s -Receiving objects: 58% (246/424), 195.30 MiB | 24.35 MiB/s -Receiving objects: 59% (251/424), 195.30 MiB | 24.35 MiB/s -Receiving objects: 60% (255/424), 195.30 MiB | 24.35 MiB/s -Receiving objects: 61% (259/424), 195.30 MiB | 24.35 MiB/s - -.. parsed-literal:: - - Receiving objects: 62% (263/424), 209.77 MiB | 25.00 MiB/s - -.. parsed-literal:: - - Receiving objects: 63% (268/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 64% (272/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 65% (276/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 66% (280/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 67% (285/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 68% (289/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 69% (293/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 70% (297/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 71% (302/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 72% (306/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 73% (310/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 74% (314/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 75% (318/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 76% (323/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 77% (327/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 78% (331/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 79% (335/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 80% (340/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 81% (344/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 82% (348/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 83% (352/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 84% (357/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 85% (361/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 86% (365/424), 209.77 MiB | 25.00 MiB/s -Receiving objects: 87% (369/424), 209.77 MiB | 25.00 MiB/s - -.. parsed-literal:: - - Receiving objects: 87% (370/424), 239.11 MiB | 26.23 MiB/s - -.. parsed-literal:: - - Receiving objects: 87% (371/424), 269.59 MiB | 27.42 MiB/s - -.. parsed-literal:: - - Receiving objects: 87% (372/424), 283.95 MiB | 27.91 MiB/s - -.. parsed-literal:: - - Receiving objects: 88% (374/424), 283.95 MiB | 27.91 MiB/s -Receiving objects: 89% (378/424), 283.95 MiB | 27.91 MiB/s -Receiving objects: 90% (382/424), 283.95 MiB | 27.91 MiB/s -Receiving objects: 91% (386/424), 283.95 MiB | 27.91 MiB/s -Receiving objects: 92% (391/424), 283.95 MiB | 27.91 MiB/s -Receiving objects: 93% (395/424), 283.95 MiB | 27.91 MiB/s -Receiving objects: 94% (399/424), 283.95 MiB | 27.91 MiB/s -Receiving objects: 95% (403/424), 283.95 MiB | 27.91 MiB/s - -.. parsed-literal:: - - Receiving objects: 95% (407/424), 331.23 MiB | 29.97 MiB/s - -.. parsed-literal:: - - Receiving objects: 96% (408/424), 331.23 MiB | 29.97 MiB/s -Receiving objects: 97% (412/424), 331.23 MiB | 29.97 MiB/s -Receiving objects: 98% (416/424), 331.23 MiB | 29.97 MiB/s -Receiving objects: 99% (420/424), 331.23 MiB | 29.97 MiB/s -remote: Total 424 (delta 84), reused 99 (delta 55), pack-reused 284 - Receiving objects: 100% (424/424), 331.23 MiB | 29.97 MiB/s -Receiving objects: 100% (424/424), 334.57 MiB | 25.17 MiB/s, done. - Resolving deltas: 0% (0/226) -Resolving deltas: 5% (12/226) -Resolving deltas: 7% (18/226) -Resolving deltas: 9% (22/226) - -.. parsed-literal:: - - Resolving deltas: 15% (35/226) -Resolving deltas: 17% (39/226) -Resolving deltas: 19% (44/226) -Resolving deltas: 23% (54/226) -Resolving deltas: 26% (59/226) - -.. parsed-literal:: - - Resolving deltas: 28% (65/226) -Resolving deltas: 35% (81/226) -Resolving deltas: 36% (83/226) -Resolving deltas: 39% (89/226) -Resolving deltas: 42% (95/226) -Resolving deltas: 46% (104/226) -Resolving deltas: 50% (114/226) -Resolving deltas: 51% (116/226) -Resolving deltas: 55% (125/226) -Resolving deltas: 58% (133/226) -Resolving deltas: 59% (135/226) -Resolving deltas: 60% (136/226) - -.. parsed-literal:: - - Resolving deltas: 61% (138/226) -Resolving deltas: 69% (157/226) -Resolving deltas: 82% (187/226) -Resolving deltas: 91% (207/226) -Resolving deltas: 92% (208/226) -Resolving deltas: 93% (212/226) -Resolving deltas: 94% (213/226) -Resolving deltas: 95% (215/226) -Resolving deltas: 96% (217/226) -Resolving deltas: 97% (220/226) - -.. parsed-literal:: - - Resolving deltas: 98% (223/226) -Resolving deltas: 99% (224/226) - -.. parsed-literal:: - - Resolving deltas: 100% (226/226) -Resolving deltas: 100% (226/226), done. - - -.. code:: ipython3 - - import torch - import numpy as np - import supervision as sv - import openvino as ov - from PIL import Image, ImageDraw, ImageFont - from typing import Union, List - import transformers - - core = ov.Core() - -Download checkpoints and load PyTorch models -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - IRS_PATH = Path('openvino_irs') - CKPT_BASE_PATH = Path('checkpoints') - os.makedirs(IRS_PATH, exist_ok=True) - os.makedirs(CKPT_BASE_PATH, exist_ok=True) - - PT_DEVICE = 'cpu' - ov_dino_name = 'openvino_grounding_dino' - ov_sam_name = 'openvino_segment_anything' - - ground_dino_img_size = (1024, 1280) - - # GroundingDINO config and checkpoint - GROUNDING_DINO_CONFIG_PATH = f"{ground_dino_dir}/groundingdino/config/GroundingDINO_SwinT_OGC.py" - GROUNDING_DINO_CHECKPOINT_PATH = CKPT_BASE_PATH / "groundingdino_swint_ogc.pth" - - # Segment Anything checkpoint - SAM_CHECKPOINT_PATH = CKPT_BASE_PATH / "sam_vit_h_4b8939.pth" - - # Efficient Segment Anything checkpoint - EFFICIENT_SAM_CHECKPOINT_PATH = efficient_sam_dir / "weights/efficient_sam_vitt.pt" - -.. code:: ipython3 - - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ) - from notebook_utils import download_file - - download_file("https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth", directory=CKPT_BASE_PATH) - if not use_efficient_sam: - download_file("https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth", directory=CKPT_BASE_PATH) - - - -.. parsed-literal:: - - checkpoints/groundingdino_swint_ogc.pth: 0%| | 0.00/662M [00:00 self.max_text_len: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/util/misc.py:506: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). - torch.stack([img.shape[i] for img in tensor_list]).to(torch.float32) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/util/misc.py:517: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). - for img in tensor_list: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:486: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if W % self.patch_size[1] != 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:488: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if H % self.patch_size[0] != 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:417: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - Hp = int(np.ceil(H / self.window_size)) * self.window_size - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:418: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - Wp = int(np.ceil(W / self.window_size)) * self.window_size - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:247: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert L == H * W, "input feature has wrong size" - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:71: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - B = int(windows.shape[0] / (H * W / window_size / window_size)) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:289: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if pad_r > 0 or pad_b > 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:321: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert L == H * W, "input feature has wrong size" - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:326: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - pad_input = (H % 2 == 1) or (W % 2 == 1) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/backbone/swin_transformer.py:327: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if pad_input: - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/transformer.py:244: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. - spatial_shapes = torch.as_tensor( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/transformer.py:468: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). - for lvl, (H_, W_) in enumerate(spatial_shapes): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/fuse_modules.py:176: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/fuse_modules.py:227: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if attn_output_v.size() != (bsz * self.num_heads, tgt_len, self.head_dim): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/fuse_modules.py:232: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if attn_output_l.size() != (bsz * self.num_heads, src_len, self.head_dim): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/transformer_vanilla.py:109: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if src_mask.dim() == 3 and src_mask.shape[0] == src.shape[1]: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/ms_deform_attn.py:287: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert (spatial_shapes[:, 0] * spatial_shapes[:, 1]).sum() == num_value - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/ms_deform_attn.py:309: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if reference_points.shape[-1] == 2: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/ms_deform_attn.py:102: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). - value_list = value.split([H_ * W_ for H_, W_ in value_spatial_shapes], dim=1) - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/ms_deform_attn.py:105: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). - for level, (H_, W_) in enumerate(value_spatial_shapes): - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/utils.py:72: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). - for lvl, (H_, W_) in enumerate(spatial_shapes): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/transformer.py:667: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if reference_points.shape[-1] == 4: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/utils.py:216: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if pos_tensor.size(-1) == 2: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/utils.py:218: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - elif pos_tensor.size(-1) == 4: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/ms_deform_attn.py:315: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - elif reference_points.shape[-1] == 4: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/GroundingDINO/groundingdino/models/GroundingDINO/transformer.py:704: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if output.isnan().any() | output.isinf().any(): - - -Run OpenVINO optimized GroundingDINO -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - device_widget = ipywidgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - ) - device_widget - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -In order to run inference ``ov_dino_model`` should be compiled. -Resulting ``ov.CompiledModel`` object receives the same arguments as -pytorch ``forward``/``__call__`` methods. - -.. code:: ipython3 - - device = device_widget.value - ov_compiled_grounded_dino = core.compile_model(ov_dino_model, device) - -We will reuse only tokenizer from the original GroundingDINO model -class, but the inference will be done using OpenVINO optimized model. - -.. code:: ipython3 - - def transform_image(pil_image: Image.Image) -> torch.Tensor: - import groundingdino.datasets.transforms as T - transform = T.Compose( - [ - T.RandomResize([800], max_size=1333), - T.ToTensor(), - T.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), - ] - ) - image, _ = transform(pil_image, None) # 3, h, w - return image - - # detects boxes usding openvino optimized grounding dino model - def get_ov_grounding_output( - model: ov.CompiledModel, - pil_image: Image.Image, - caption: Union[str, List[str]], - box_threshold: float, - text_threshold: float, - dino_tokenizer: transformers.PreTrainedTokenizerBase = dino_tokenizer, - max_text_len: int = max_text_len - ) -> (torch.Tensor, List[str], torch.Tensor): - # for text prompt pre-processing we reuse existing routines from GroundignDINO repo - if isinstance(caption, list): - caption = '. '.join(caption) - caption = caption.lower() - caption = caption.strip() - if not caption.endswith("."): - caption = caption + "." - captions = [caption] - - tokenized = dino_tokenizer(captions, padding="longest", return_tensors="pt") - specical_tokens = dino_tokenizer.convert_tokens_to_ids(["[CLS]", "[SEP]", ".", "?"]) - - ( - text_self_attention_masks, - position_ids, - cate_to_token_mask_list, - ) = generate_masks_with_special_tokens_and_transfer_map( - tokenized, specical_tokens, dino_tokenizer) - - if text_self_attention_masks.shape[1] > max_text_len: - text_self_attention_masks = text_self_attention_masks[ - :, : max_text_len, : max_text_len] - - position_ids = position_ids[:, : max_text_len] - tokenized["input_ids"] = tokenized["input_ids"][:, : max_text_len] - tokenized["attention_mask"] = tokenized["attention_mask"][:, : max_text_len] - tokenized["token_type_ids"] = tokenized["token_type_ids"][:, : max_text_len] - - # inputs dictionary which will be fed into the ov.CompiledModel for inference - inputs = {} - inputs["attention_mask.1"] = tokenized["attention_mask"] - inputs["text_self_attention_masks"] = text_self_attention_masks - inputs["input_ids"] = tokenized["input_ids"] - inputs["position_ids"] = position_ids - inputs["token_type_ids"] = tokenized["token_type_ids"] - - # GroundingDINO fails to run with input shapes different than one used for conversion. - # As a workaround we resize input_image to the size used for conversion. Model does not rely - # on image resolution to know object sizes therefore no need to resize box_predictions - from torchvision.transforms.functional import resize, InterpolationMode - input_img = resize(transform_image(pil_image), ground_dino_img_size, interpolation=InterpolationMode.BICUBIC)[None, ...] - inputs["samples"] = input_img - - # OpenVINO inference - request = model.create_infer_request() - request.start_async(inputs, share_inputs=False) - request.wait() - - def sig(x): - return 1 / (1 + np.exp(-x)) - - logits = torch.from_numpy(sig(np.squeeze(request.get_tensor("pred_logits").data, 0))) - boxes = torch.from_numpy(np.squeeze(request.get_tensor("pred_boxes").data, 0)) - - # filter output - filt_mask = logits.max(dim=1)[0] > box_threshold - logits, boxes = logits[filt_mask], boxes[filt_mask] - - # get phrase and build predictions - tokenized = dino_tokenizer(caption) - pred_phrases = [] - for logit in logits: - pred_phrase = get_phrases_from_posmap(logit > text_threshold, tokenized, dino_tokenizer) - pred_phrases.append(pred_phrase + f"({str(logit.max().item())[:4]})") - - return boxes, pred_phrases, logits.max(dim=1)[0] - -.. code:: ipython3 - - SOURCE_IMAGE_PATH = f"{ground_dino_dir}/.asset/demo7.jpg" - BOX_THRESHOLD = 0.3 - TEXT_THRESHOLD = 0.25 - NMS_THRESHOLD = 0.8 - - pil_image = Image.open(SOURCE_IMAGE_PATH) - classes_prompt = ["Horse", "Cloud"] - -.. code:: ipython3 - - boxes_filt, pred_phrases, logits_filt = get_ov_grounding_output( - ov_compiled_grounded_dino, - pil_image, - classes_prompt, - BOX_THRESHOLD, TEXT_THRESHOLD - ) - - -.. parsed-literal:: - - 2024-03-13 00:58:26.223873: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:58:26.261830: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-13 00:58:26.819015: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -Convert predicted boxes to supervision box detections format - -.. code:: ipython3 - - source_w, source_h = pil_image.size - detections = Model.post_process_result( - source_h=source_h, - source_w=source_w, - boxes=boxes_filt, - logits=logits_filt) - - class_id = Model.phrases2classes(phrases=pred_phrases, classes=list(map(str.lower, classes_prompt))) - detections.class_id = class_id - -Draw box detections - -.. code:: ipython3 - - box_annotator = sv.BoxAnnotator() - labels = [ - f"{classes_prompt[class_id] if class_id is not None else 'None'} {confidence:0.2f}" - for _, _, confidence, class_id, _, _ - in detections] - annotated_frame = box_annotator.annotate(scene=np.array(pil_image).copy(), detections=detections, labels=labels) - - Image.fromarray(annotated_frame) - - - - -.. image:: 288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_29_0.png - - - -Great! All clouds and horses are detected. Feel free to play around and -specify other objects you wish to detect. - -Convert SAM to OpenVINO IR -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -And now let’s feed those detection to ``SAM`` model. We will use -``EfficiendSAM`` for faster computation and to save ram, but feel free -to select vanilla ``SAM`` if you wish more detailed and precise -segmentation. First of all let’s convert ``SAM`` model to OpenVINO IR. - -.. code:: ipython3 - - ov_efficient_sam_name = 'openvino_efficient_sam' - ov_efficient_sam_path = IRS_PATH / f'{ov_efficient_sam_name}.xml' - - # convert EfficientSAM to OpenVINO IR format - if not ov_efficient_sam_path.exists() and use_efficient_sam: - random_input_image = np.random.rand(1, 3, *pil_image.size[::-1]).astype(np.float32) - bounding_box = np.array([900, 100, 1000, 200]).reshape([1, 1, 2, 2]) - bbox_labels = np.array([2, 3]).reshape([1, 1, 2]) - efficient_sam_dummy_input = tuple(torch.from_numpy(x) for x in (random_input_image, bounding_box, bbox_labels)) - - ov_efficient_sam = ov.convert_model(efficient_sam_model, example_input=efficient_sam_dummy_input) - ov.save_model(ov_efficient_sam, ov_efficient_sam_path) - elif use_efficient_sam: - ov_efficient_sam = core.read_model(ov_efficient_sam_path) - - -.. parsed-literal:: - - WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam.py:220: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if ( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam_encoder.py:241: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert ( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam_encoder.py:163: TracerWarning: Converting a tensor to a Python float might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - size = int(math.sqrt(xy_num)) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam_encoder.py:164: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert size * size == xy_num - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam_encoder.py:166: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if size != h or size != w: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam_encoder.py:251: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert x.shape[2] == num_patches - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam.py:85: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if num_pts > self.decoder_max_num_input_points: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam.py:92: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - elif num_pts < self.decoder_max_num_input_points: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/288-grounded-segment-anything/EfficientSAM/efficient_sam/efficient_sam.py:126: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if output_w > 0 and output_h > 0: - - -Below is conversion of vanilla ``SAM``. This code is not used when -``EfficientSAM`` is selected for segmentation. - -.. code:: ipython3 - - # In order to convert to OpenVINO IR neeed to patch forward method or the torch.nn.Module for SAM - class SamMaskFromBoxes(torch.nn.Module): - def __init__( - self, - sam_predictor, - ) -> None: - super().__init__() - self.model = sam_predictor - - @torch.no_grad() - def forward( - self, - input_image: torch.Tensor, - transformed_boxes: torch.Tensor, - multimask_output: bool = False, - hq_token_only: bool = False, - ): - pre_processed_image = self.model.model.preprocess(input_image) - image_embeddings, interm_features = self.model.model.image_encoder(pre_processed_image) - - # Embed prompts - sparse_embeddings, dense_embeddings = self.model.model.prompt_encoder( - points=None, - boxes=transformed_boxes, - masks=None, - ) - - # Predict masks - low_res_masks, iou_predictions = self.model.model.mask_decoder( - image_embeddings=image_embeddings, - image_pe=self.model.model.prompt_encoder.get_dense_pe(), - sparse_prompt_embeddings=sparse_embeddings, - dense_prompt_embeddings=dense_embeddings, - multimask_output=multimask_output, - hq_token_only=hq_token_only, - interm_embeddings=interm_features, - ) - - return low_res_masks, iou_predictions - -.. code:: ipython3 - - ov_sam_path = IRS_PATH / f'{ov_sam_name}.xml' - - # example input for vanilla SAM - input_image_torch = torch.randint(0, 255, size=[1, 3, 683, 1024], dtype=torch.uint8) - dummy_transformed_boxes = torch.rand(1, 4, dtype=torch.float32) * 200 - - # convert vanilla SAM to OpenVINO IR format - if not ov_sam_path.exists() and not use_efficient_sam: - # Load pytorch model object and prepare example input for conversion - exportable = SamMaskFromBoxes(sam_predictor) - exportable.model.model.eval() - for par in exportable.model.model.parameters(): - par.requires_grad = False - - traced = torch.jit.trace(exportable, example_inputs=(input_image_torch, dummy_transformed_boxes)) - ov_sam = ov.convert_model(traced, example_input=(input_image_torch, dummy_transformed_boxes)) - ov.save_model(ov_sam, ov_sam_path) - elif not use_efficient_sam: - ov_sam = core.read_model(ov_sam_path) - -.. code:: ipython3 - - if use_efficient_sam: - compiled_efficient_sam = core.compile_model(ov_efficient_sam, device_name=device) - else: - compiled_vanilla_sam = core.compile_model(ov_sam, device_name=device) - -Combine GroundingDINO + SAM (GroundedSAM) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -We have OpenVINO IRs for both GroundingDINO and SAM models. Lets run the -segmentation using predictions from GroundingDINO. Same as above, use -``EfficientSAM`` by default. - -.. code:: ipython3 - - def predict_efficient_sam_mask(compiled_efficient_sam: ov.CompiledModel, image: Image.Image, bbox: torch.Tensor): - # input image is scaled so that none of the sizes is greater than 1024, same as in 274-efficient-sam notebook - input_size = 1024 - w, h = image.size[:2] - scale = input_size / max(w, h) - new_w = int(w * scale) - new_h = int(h * scale) - image = image.resize((new_w, new_h)) - - numpy_image = np.array(image, dtype=np.float32) / 255.0 - numpy_image = np.transpose(numpy_image, (2, 0, 1))[None, ...] - - scaled_points = bbox * scale - - bounding_box = scaled_points.reshape([1, 1, 2, 2]) - bbox_labels = np.reshape(np.array([2, 3]), [1, 1, 2]) - - res = compiled_efficient_sam((numpy_image, bounding_box, bbox_labels)) - - predicted_logits, predicted_iou = res[0], res[1] - - all_masks = torch.ge(torch.sigmoid(torch.from_numpy(predicted_logits[0, 0, :, :, :])), 0.5).numpy() - predicted_iou = predicted_iou[0, 0, ...] - - # select the mask with the greatest IOU - max_predicted_iou = -1 - selected_mask_using_predicted_iou = None - for m in range(all_masks.shape[0]): - curr_predicted_iou = predicted_iou[m] - if ( - curr_predicted_iou > max_predicted_iou - or selected_mask_using_predicted_iou is None - ): - max_predicted_iou = curr_predicted_iou - selected_mask_using_predicted_iou = all_masks[m] - return selected_mask_using_predicted_iou - - # If several detections are fed to EfficientSAM, it merges them to a single mask. Therefore, we call it one by one for each detection. - def predict_efficient_sam_masks(compiled_efficient_sam: ov.CompiledModel, pil_image: Image.Image, transformed_boxes) -> torch.Tensor: - masks = [] - for bbox in transformed_boxes: - mask = predict_efficient_sam_mask(compiled_efficient_sam, pil_image, bbox) - mask = Image.fromarray(mask).resize(pil_image.size) - masks.append(np.array(mask)) - masks = torch.from_numpy(np.array(masks)) - return masks - -.. code:: ipython3 - - def transform_boxes(sam_predictor: torch.nn.Module, boxes: torch.Tensor, size: tuple) -> torch.Tensor: - H, W = size[0], size[1] - for i in range(boxes.size(0)): - boxes[i] = boxes[i] * torch.Tensor([W, H, W, H]) - boxes[i][:2] -= boxes[i][2:] / 2 - boxes[i][2:] += boxes[i][:2] - - return sam_predictor.transform.apply_boxes_torch(boxes, size).to(PT_DEVICE) - - def predict_vanilla_sam_masks(compiled_vanilla_sam: ov.CompiledModel, image: np.ndarray, transformed_boxes: torch.Tensor) -> torch.Tensor: - transfromed_image = exportable.model.transform.apply_image(image) - input_image_torch = torch.as_tensor(transfromed_image, device=PT_DEVICE) - input_image_torch = input_image_torch.permute(2, 0, 1).contiguous()[None, :, :, :] - - original_size = tuple(image.shape[:2]) - input_size = tuple(input_image_torch.shape[-2:]) - - low_res_masks = compiled_vanilla_sam((input_image_torch, transformed_boxes))[0] - - # Upscale the masks to the original image resolution - masks = exportable.model.model.postprocess_masks(torch.from_numpy(low_res_masks), input_size, original_size) - masks = masks > exportable.model.model.mask_threshold - return masks - -Run SAM model for the same image with the detected boxes from -GroundingDINO. - -Please note that vanilla SAM and EfficientSAM have slightly different -detection formats. But inputs for both of them originate from -``boxes_filt`` which is result of the ``get_ov_grounding_output``. For -EfficientSAM we use ``detections.xyxy`` boxes obtained after -``boxes_filt`` is fed to ``Model.post_process_result``. While vanilla -SAM has it’s own preprocessing function ``transform_boxes``. - -.. code:: ipython3 - - if use_efficient_sam: - masks = predict_efficient_sam_masks(compiled_efficient_sam, pil_image, detections.xyxy) - detections.mask = masks.numpy() - else: - transformed_boxes = transform_boxes(sam_predictor, boxes_filt, pil_image.size[::-1]) - masks = predict_vanilla_sam_masks(compiled_vanilla_sam, np.array(pil_image), transformed_boxes) - detections.mask = masks[:, 0].numpy() - -Combine both boxes and segmentation masks and draw them. - -.. code:: ipython3 - - box_annotator = sv.BoxAnnotator() - mask_annotator = sv.MaskAnnotator() - - annotated_image = np.array(pil_image) - annotated_image = mask_annotator.annotate(scene=np.array(pil_image).copy(), detections=detections) - annotated_image = box_annotator.annotate(scene=annotated_image, detections=detections, labels=labels) - - Image.fromarray(annotated_image) - - - - -.. image:: 288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_45_0.png - - - -Great! All detected horses and clouds are segmented as well. - -Interactive GroundedSAM -~~~~~~~~~~~~~~~~~~~~~~~ - - - -Now, you can try apply grounding sam on your own images using -interactive demo. The code below provides helper functions used in -demonstration. - -.. code:: ipython3 - - def draw_mask(mask, draw, random_color=False): - import random - if random_color: - color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255), 153) - else: - color = (30, 144, 255, 153) - - nonzero_coords = np.transpose(np.nonzero(mask)) - - for coord in nonzero_coords: - draw.point(coord[::-1], fill=color) - - def draw_box(box, draw, label): - # random color - color = tuple(np.random.randint(0, 255, size=3).tolist()) - - draw.rectangle(((box[0], box[1]), (box[2], box[3])), outline=color, width=4) - - if label: - font = ImageFont.load_default(18) - if hasattr(font, "getbbox"): - bbox = draw.textbbox((box[0], box[1]), str(label), font, anchor='ld') - else: - w, h = draw.textsize(str(label), font) - bbox = (box[0], box[1], box[0] + w, box[1] + h) - draw.rectangle(bbox, fill=color) - draw.text((box[0], box[1]), str(label), fill="white", anchor='ld', font=font) - -.. code:: ipython3 - - """" - run_grounding_sam is called every time "Submit" button is clicked - """ - def run_grounding_sam(image, task_type, text_prompt, box_threshold, text_threshold): - pil_image = Image.fromarray(image) - size = image.shape[1], image.shape[0] # size is WH image.shape HWC - - boxes_filt, scores, pred_phrases = get_ov_grounding_output( - ov_compiled_grounded_dino, - pil_image, - text_prompt, - box_threshold, - text_threshold - ) - - # process boxes - H, W = size[1], size[0] - for i in range(boxes_filt.size(0)): - boxes_filt[i] = boxes_filt[i] * torch.Tensor([W, H, W, H]) - boxes_filt[i][:2] -= boxes_filt[i][2:] / 2 - boxes_filt[i][2:] += boxes_filt[i][:2] - - if task_type == 'seg': - if use_efficient_sam: - masks = predict_efficient_sam_masks(compiled_efficient_sam, pil_image, boxes_filt.numpy()) - else: - transformed_boxes = sam_predictor.transform.apply_boxes_torch(boxes_filt, image.shape[:2]).to(PT_DEVICE) - masks = predict_vanilla_sam_masks(compiled_vanilla_sam, image, transformed_boxes)[:, 0] - - mask_image = Image.new('RGBA', size, color=(0, 0, 0, 0)) - mask_draw = ImageDraw.Draw(mask_image) - for mask in masks: - draw_mask(mask.numpy(), mask_draw, random_color=True) - - image_draw = ImageDraw.Draw(pil_image) - for box, label in zip(boxes_filt, pred_phrases): - draw_box(box, image_draw, label) - - pil_image = pil_image.convert('RGBA') - pil_image.alpha_composite(mask_image) - - return [pil_image, mask_image] - if task_type == 'det': - image_draw = ImageDraw.Draw(pil_image) - for box, label in zip(boxes_filt, pred_phrases): - draw_box(box, image_draw, label) - return [pil_image] - else: - gr.Warning(f"task_type:{task_type} error!") - -You can run interactive app with your own image and text prompts. To -define prompt specify comma (or conjunction) separated names of objects -you wish to segment. For demonstration, this demo already has two -predefined examples. If many object are crowded and overlapping please -increase threshold values in ``Advanced options``. - -.. code:: ipython3 - - import gradio as gr - - with gr.Accordion("Advanced options", open=False) as advanced: - box_threshold = gr.Slider(label="Box Threshold", minimum=0.0, maximum=1.0, value=0.3, step=0.05) - text_threshold = gr.Slider(label="Text Threshold", minimum=0.0, maximum=1.0, value=0.25, step=0.05) - - demo = gr.Interface( - run_grounding_sam, - [ - gr.Image(), - gr.Dropdown(["det", "seg"], value="seg", label="task_type"), - gr.Textbox(value='bears', label="Text Prompt"), - ], - additional_inputs=[ - box_threshold, - text_threshold, - ], - outputs=gr.Gallery(preview=True, object_fit="scale-down"), - examples=[[f"{ground_dino_dir}/.asset/demo2.jpg", "seg", 'dog, forest'], [f"{ground_dino_dir}/.asset/demo7.jpg", "seg", 'horses and clouds']], - additional_inputs_accordion=advanced, - ) - - try: - demo.launch(server_name='0.0.0.0', debug=False, height=1000) - except Exception: - demo.launch(share=True, debug=False, height=1000) - # if you are launching remotely, specify server_name and server_port - # demo.launch(server_name='your server name', server_port='server port in int') - # Read more in the docs: https://gradio.app/docs/ - - -.. parsed-literal:: - - Running on local URL: http://0.0.0.0:7860 - - To create a public link, set `share=True` in `launch()`. - - - - - - - - -Cleanup -~~~~~~~ - - - -.. code:: ipython3 - - # import shutil - # shutil.rmtree(CKPT_BASE_PATH) - # shutil.rmtree(IRS_PATH) diff --git a/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_10_4.png b/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_10_4.png deleted file mode 100644 index 1ae3f7b2579..00000000000 --- a/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_10_4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3a4911e0d1407c8830ec6c68e3b24190f1a49da24b7532db29d77b298e36af4 -size 627462 diff --git a/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_14_1.png b/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_14_1.png deleted file mode 100644 index 4a223a2ea61..00000000000 --- a/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_14_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:59965056d04847ce7a28c35bc515102682954ca33d8b0dc43f7d54dc6d677f18 -size 449871 diff --git a/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_25_1.png b/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_25_1.png deleted file mode 100644 index 4a223a2ea61..00000000000 --- a/docs/notebooks/289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_25_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:59965056d04847ce7a28c35bc515102682954ca33d8b0dc43f7d54dc6d677f18 -size 449871 diff --git a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_27_2.png b/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_27_2.png deleted file mode 100644 index fee23664a85..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_27_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d25913fee0738ad3f18e41347618b823fb7cbe38b6c8b889539f025dc621cf6d -size 143412 diff --git a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_12.png b/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_12.png deleted file mode 100644 index 2304a2a1b1e..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_12.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bd594f3e1e7f44ca0b342f54f2529f9bf28e8e61585a73078671c60b4f293324 -size 941151 diff --git a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1452.png b/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1452.png deleted file mode 100644 index 12fee1e055e..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1452.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe831b04c18dda2ebe70d22ee1c166a6c4acdbe8427c7a7e42e1487725015762 -size 56244 diff --git a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1464.png b/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1464.png deleted file mode 100644 index fee23664a85..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1464.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d25913fee0738ad3f18e41347618b823fb7cbe38b6c8b889539f025dc621cf6d -size 143412 diff --git a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_17.png b/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_17.png deleted file mode 100644 index 8baa3d3a9fb..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_17.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9c17621bcbdaf6f213a2cbe506e8136e7d8daa6e834390d2e7de971da0afe721 -size 937022 diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_29_1.png b/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_29_1.png deleted file mode 100644 index 2304a2a1b1e..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_29_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bd594f3e1e7f44ca0b342f54f2529f9bf28e8e61585a73078671c60b4f293324 -size 941151 diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_57_1.png b/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_57_1.png deleted file mode 100644 index 944b8d8b13d..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_57_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24ddb62b1f3f8d9bf355067d245a1327cb2d55fc9130b478b481b81590f7b4e4 -size 828755 diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_66_0.png b/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_66_0.png deleted file mode 100644 index 777ceb8b851..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_66_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ff44600f9c04834caef2da7ac1471291b5507f5503b3394a71e5a14d57716f4 -size 54423 diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_79_1.png b/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_79_1.png deleted file mode 100644 index fee23664a85..00000000000 --- a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_79_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d25913fee0738ad3f18e41347618b823fb7cbe38b6c8b889539f025dc621cf6d -size 143412 diff --git a/docs/notebooks/305-tensorflow-quantization-aware-training-with-output_files/305-tensorflow-quantization-aware-training-with-output_6_1.png b/docs/notebooks/305-tensorflow-quantization-aware-training-with-output_files/305-tensorflow-quantization-aware-training-with-output_6_1.png deleted file mode 100644 index e4c218c9a73..00000000000 --- a/docs/notebooks/305-tensorflow-quantization-aware-training-with-output_files/305-tensorflow-quantization-aware-training-with-output_6_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bbcf66703b5e9ac5a6b1f7c459f07b7f0eee04119af333eaa67ac560451d915 -size 518753 diff --git a/docs/notebooks/3D-pose-estimation-with-output.rst b/docs/notebooks/3D-pose-estimation-with-output.rst new file mode 100644 index 00000000000..8536f5e1a39 --- /dev/null +++ b/docs/notebooks/3D-pose-estimation-with-output.rst @@ -0,0 +1,1405 @@ +Live 3D Human Pose Estimation with OpenVINO +=========================================== + +This notebook demonstrates live 3D Human Pose Estimation with OpenVINO +via a webcam. We utilize the model +`human-pose-estimation-3d-0001 `__ +from `Open Model +Zoo `__. At the end +of this notebook, you will see live inference results from your webcam +(if available). Alternatively, you can also upload a video file to test +out the algorithms. **Make sure you have properly installed +the**\ `Jupyter +extension `__\ **and +been using JupyterLab to run the demo as suggested in the +``README.md``** + + **NOTE**: *To use a webcam, you must run this Jupyter notebook on a + computer with a webcam. If you run on a remote server, the webcam + will not work. However, you can still do inference on a video file in + the final step. This demo utilizes the Python interface in + ``Three.js`` integrated with WebGL to process data from the model + inference. These results are processed and displayed in the + notebook.* + +*To ensure that the results are displayed correctly, run the code in a +recommended browser on one of the following operating systems:* *Ubuntu, +Windows: Chrome* *macOS: Safari* + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Imports <#imports>`__ +- `The model <#the-model>`__ + + - `Download the model <#download-the-model>`__ + - `Convert Model to OpenVINO IR + format <#convert-model-to-openvino-ir-format>`__ + - `Select inference device <#select-inference-device>`__ + - `Load the model <#load-the-model>`__ + +- `Processing <#processing>`__ + + - `Model Inference <#model-inference>`__ + - `Draw 2D Pose Overlays <#draw-2d-pose-overlays>`__ + - `Main Processing Function <#main-processing-function>`__ + +- `Run <#run>`__ + +Prerequisites +------------- + + + +**The ``pythreejs`` extension may not display properly when using the +latest Jupyter Notebook release (2.4.1). Therefore, it is recommended to +use Jupyter Lab instead.** + +.. code:: ipython3 + + %pip install pythreejs "openvino-dev>=2024.0.0" "opencv-python" "torch" "onnx" --extra-index-url https://download.pytorch.org/whl/cpu + + +.. parsed-literal:: + + Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cpu + + +.. parsed-literal:: + + Collecting pythreejs + Using cached pythreejs-2.4.2-py3-none-any.whl.metadata (5.4 kB) + + +.. parsed-literal:: + + Collecting openvino-dev>=2024.0.0 + Using cached openvino_dev-2024.0.0-14509-py3-none-any.whl.metadata (16 kB) + + +.. parsed-literal:: + + Collecting opencv-python + Using cached opencv_python-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB) + + +.. parsed-literal:: + + Collecting torch + + +.. parsed-literal:: + + Using cached https://download.pytorch.org/whl/cpu/torch-2.2.2%2Bcpu-cp38-cp38-linux_x86_64.whl (186.8 MB) + + +.. parsed-literal:: + + Collecting onnx + Using cached onnx-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (16 kB) + Requirement already satisfied: ipywidgets>=7.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pythreejs) (8.1.2) + + +.. parsed-literal:: + + Collecting ipydatawidgets>=1.1.1 (from pythreejs) + Using cached ipydatawidgets-4.3.5-py2.py3-none-any.whl.metadata (1.4 kB) + + +.. parsed-literal:: + + Collecting numpy (from pythreejs) + Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB) + Requirement already satisfied: traitlets in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pythreejs) (5.14.2) + Requirement already satisfied: defusedxml>=0.7.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (0.7.1) + + +.. parsed-literal:: + + Collecting networkx<=3.1.0 (from openvino-dev>=2024.0.0) + Using cached networkx-3.1-py3-none-any.whl.metadata (5.3 kB) + + +.. parsed-literal:: + + Collecting openvino-telemetry>=2023.2.1 (from openvino-dev>=2024.0.0) + + +.. parsed-literal:: + + Using cached openvino_telemetry-2024.1.0-py3-none-any.whl.metadata (2.3 kB) + Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (24.0) + Requirement already satisfied: pyyaml>=5.4.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (6.0.1) + Requirement already satisfied: requests>=2.25.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2.31.0) + + +.. parsed-literal:: + + Collecting openvino==2024.0.0 (from openvino-dev>=2024.0.0) + Using cached openvino-2024.0.0-14509-cp38-cp38-manylinux2014_x86_64.whl.metadata (8.7 kB) + + +.. parsed-literal:: + + Collecting filelock (from torch) + Using cached filelock-3.13.4-py3-none-any.whl.metadata (2.8 kB) + Requirement already satisfied: typing-extensions>=4.8.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch) (4.11.0) + + +.. parsed-literal:: + + Collecting sympy (from torch) + Using cached https://download.pytorch.org/whl/sympy-1.12-py3-none-any.whl (5.7 MB) + + +.. parsed-literal:: + + Requirement already satisfied: jinja2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch) (3.1.3) + + +.. parsed-literal:: + + Collecting fsspec (from torch) + Using cached fsspec-2024.3.1-py3-none-any.whl.metadata (6.8 kB) + + +.. parsed-literal:: + + Collecting protobuf>=3.20.2 (from onnx) + Using cached protobuf-5.26.1-cp37-abi3-manylinux2014_x86_64.whl.metadata (592 bytes) + + +.. parsed-literal:: + + Collecting traittypes>=0.2.0 (from ipydatawidgets>=1.1.1->pythreejs) + Using cached traittypes-0.2.1-py2.py3-none-any.whl.metadata (1.0 kB) + Requirement already satisfied: comm>=0.1.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (0.2.2) + Requirement already satisfied: ipython>=6.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (8.12.3) + Requirement already satisfied: widgetsnbextension~=4.0.10 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (4.0.10) + Requirement already satisfied: jupyterlab-widgets~=3.0.10 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (3.0.10) + + +.. parsed-literal:: + + Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.3.2) + Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.7) + Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2.2.1) + Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2024.2.2) + Requirement already satisfied: MarkupSafe>=2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jinja2->torch) (2.1.5) + + +.. parsed-literal:: + + Collecting mpmath>=0.19 (from sympy->torch) + + +.. parsed-literal:: + + Using cached https://download.pytorch.org/whl/mpmath-1.3.0-py3-none-any.whl (536 kB) + + +.. parsed-literal:: + + Requirement already satisfied: backcall in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.2.0) + Requirement already satisfied: decorator in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (5.1.1) + Requirement already satisfied: jedi>=0.16 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.19.1) + Requirement already satisfied: matplotlib-inline in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.1.7) + Requirement already satisfied: pickleshare in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.7.5) + Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (3.0.43) + Requirement already satisfied: pygments>=2.4.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (2.17.2) + Requirement already satisfied: stack-data in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.6.3) + Requirement already satisfied: pexpect>4.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (4.9.0) + + +.. parsed-literal:: + + Requirement already satisfied: parso<0.9.0,>=0.8.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.8.4) + Requirement already satisfied: ptyprocess>=0.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.7.0) + Requirement already satisfied: wcwidth in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.2.13) + Requirement already satisfied: executing>=1.2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (2.0.1) + Requirement already satisfied: asttokens>=2.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (2.4.1) + Requirement already satisfied: pure-eval in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.2.2) + Requirement already satisfied: six>=1.12.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from asttokens>=2.1.0->stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (1.16.0) + + +.. parsed-literal:: + + Using cached pythreejs-2.4.2-py3-none-any.whl (3.4 MB) + Using cached openvino_dev-2024.0.0-14509-py3-none-any.whl (4.7 MB) + Using cached openvino-2024.0.0-14509-cp38-cp38-manylinux2014_x86_64.whl (38.1 MB) + + +.. parsed-literal:: + + Using cached opencv_python-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (62.2 MB) + + +.. parsed-literal:: + + Using cached onnx-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB) + Using cached ipydatawidgets-4.3.5-py2.py3-none-any.whl (271 kB) + Using cached networkx-3.1-py3-none-any.whl (2.1 MB) + + +.. parsed-literal:: + + Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB) + Using cached openvino_telemetry-2024.1.0-py3-none-any.whl (23 kB) + Using cached protobuf-5.26.1-cp37-abi3-manylinux2014_x86_64.whl (302 kB) + Using cached filelock-3.13.4-py3-none-any.whl (11 kB) + Using cached fsspec-2024.3.1-py3-none-any.whl (171 kB) + Using cached traittypes-0.2.1-py2.py3-none-any.whl (8.6 kB) + + +.. parsed-literal:: + + Installing collected packages: openvino-telemetry, mpmath, traittypes, sympy, protobuf, numpy, networkx, fsspec, filelock, torch, openvino, opencv-python, onnx, openvino-dev, ipydatawidgets, pythreejs + + +.. parsed-literal:: + + Successfully installed filelock-3.13.4 fsspec-2024.3.1 ipydatawidgets-4.3.5 mpmath-1.3.0 networkx-3.1 numpy-1.24.4 onnx-1.16.0 opencv-python-4.9.0.80 openvino-2024.0.0 openvino-dev-2024.0.0 openvino-telemetry-2024.1.0 protobuf-5.26.1 pythreejs-2.4.2 sympy-1.12 torch-2.2.2+cpu traittypes-0.2.1 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Imports +------- + + + +.. code:: ipython3 + + import collections + import sys + import time + from pathlib import Path + + import cv2 + import ipywidgets as widgets + import numpy as np + from IPython.display import clear_output, display + import openvino as ov + + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + open("notebook_utils.py", "w").write(r.text) + import notebook_utils as utils + + sys.path.append("./engine") + import engine.engine3js as engine + from engine.parse_poses import parse_poses + +The model +--------- + + + +Download the model +~~~~~~~~~~~~~~~~~~ + + + +We use ``omz_downloader``, which is a command line tool from the +``openvino-dev`` package. ``omz_downloader`` automatically creates a +directory structure and downloads the selected model. + +.. code:: ipython3 + + # directory where model will be downloaded + base_model_dir = "model" + + # model name as named in Open Model Zoo + model_name = "human-pose-estimation-3d-0001" + # selected precision (FP32, FP16) + precision = "FP32" + + BASE_MODEL_NAME = f"{base_model_dir}/public/{model_name}/{model_name}" + model_path = Path(BASE_MODEL_NAME).with_suffix(".pth") + onnx_path = Path(BASE_MODEL_NAME).with_suffix(".onnx") + + ir_model_path = f"model/public/{model_name}/{precision}/{model_name}.xml" + model_weights_path = f"model/public/{model_name}/{precision}/{model_name}.bin" + + if not model_path.exists(): + download_command = f"omz_downloader " f"--name {model_name} " f"--output_dir {base_model_dir}" + ! $download_command + + +.. parsed-literal:: + + ################|| Downloading human-pose-estimation-3d-0001 ||################ + + ========== Downloading model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.tar.gz + + +.. parsed-literal:: + + ... 0%, 32 KB, 940 KB/s, 0 seconds passed +... 0%, 64 KB, 933 KB/s, 0 seconds passed +... 0%, 96 KB, 1343 KB/s, 0 seconds passed +... 0%, 128 KB, 1701 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 160 KB, 1548 KB/s, 0 seconds passed +... 1%, 192 KB, 1836 KB/s, 0 seconds passed +... 1%, 224 KB, 2125 KB/s, 0 seconds passed +... 1%, 256 KB, 2400 KB/s, 0 seconds passed +... 1%, 288 KB, 2613 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 1%, 320 KB, 2315 KB/s, 0 seconds passed +... 1%, 352 KB, 2535 KB/s, 0 seconds passed +... 2%, 384 KB, 2756 KB/s, 0 seconds passed +... 2%, 416 KB, 2976 KB/s, 0 seconds passed +... 2%, 448 KB, 3197 KB/s, 0 seconds passed +... 2%, 480 KB, 3414 KB/s, 0 seconds passed +... 2%, 512 KB, 3615 KB/s, 0 seconds passed +... 3%, 544 KB, 3824 KB/s, 0 seconds passed +... 3%, 576 KB, 4038 KB/s, 0 seconds passed +... 3%, 608 KB, 4249 KB/s, 0 seconds passed +... 3%, 640 KB, 4391 KB/s, 0 seconds passed +... 3%, 672 KB, 3873 KB/s, 0 seconds passed +... 3%, 704 KB, 4045 KB/s, 0 seconds passed +... 4%, 736 KB, 4219 KB/s, 0 seconds passed +... 4%, 768 KB, 4360 KB/s, 0 seconds passed +... 4%, 800 KB, 4530 KB/s, 0 seconds passed +... 4%, 832 KB, 4679 KB/s, 0 seconds passed +... 4%, 864 KB, 4848 KB/s, 0 seconds passed +... 4%, 896 KB, 5015 KB/s, 0 seconds passed +... 5%, 928 KB, 5182 KB/s, 0 seconds passed +... 5%, 960 KB, 5348 KB/s, 0 seconds passed +... 5%, 992 KB, 5513 KB/s, 0 seconds passed +... 5%, 1024 KB, 5677 KB/s, 0 seconds passed +... 5%, 1056 KB, 5841 KB/s, 0 seconds passed +... 6%, 1088 KB, 6004 KB/s, 0 seconds passed +... 6%, 1120 KB, 6167 KB/s, 0 seconds passed +... 6%, 1152 KB, 6330 KB/s, 0 seconds passed +... 6%, 1184 KB, 6495 KB/s, 0 seconds passed +... 6%, 1216 KB, 6660 KB/s, 0 seconds passed +... 6%, 1248 KB, 6825 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 7%, 1280 KB, 6989 KB/s, 0 seconds passed +... 7%, 1312 KB, 6291 KB/s, 0 seconds passed +... 7%, 1344 KB, 6427 KB/s, 0 seconds passed +... 7%, 1376 KB, 6564 KB/s, 0 seconds passed +... 7%, 1408 KB, 6703 KB/s, 0 seconds passed +... 8%, 1440 KB, 6842 KB/s, 0 seconds passed +... 8%, 1472 KB, 6980 KB/s, 0 seconds passed +... 8%, 1504 KB, 7117 KB/s, 0 seconds passed +... 8%, 1536 KB, 7256 KB/s, 0 seconds passed +... 8%, 1568 KB, 7394 KB/s, 0 seconds passed +... 8%, 1600 KB, 7531 KB/s, 0 seconds passed +... 9%, 1632 KB, 7670 KB/s, 0 seconds passed +... 9%, 1664 KB, 7810 KB/s, 0 seconds passed +... 9%, 1696 KB, 7949 KB/s, 0 seconds passed +... 9%, 1728 KB, 8062 KB/s, 0 seconds passed +... 9%, 1760 KB, 8194 KB/s, 0 seconds passed +... 9%, 1792 KB, 8325 KB/s, 0 seconds passed +... 10%, 1824 KB, 8456 KB/s, 0 seconds passed +... 10%, 1856 KB, 8588 KB/s, 0 seconds passed +... 10%, 1888 KB, 8720 KB/s, 0 seconds passed +... 10%, 1920 KB, 8852 KB/s, 0 seconds passed +... 10%, 1952 KB, 8983 KB/s, 0 seconds passed +... 11%, 1984 KB, 9115 KB/s, 0 seconds passed +... 11%, 2016 KB, 9246 KB/s, 0 seconds passed +... 11%, 2048 KB, 9375 KB/s, 0 seconds passed +... 11%, 2080 KB, 9504 KB/s, 0 seconds passed +... 11%, 2112 KB, 9633 KB/s, 0 seconds passed +... 11%, 2144 KB, 9762 KB/s, 0 seconds passed +... 12%, 2176 KB, 9891 KB/s, 0 seconds passed +... 12%, 2208 KB, 10017 KB/s, 0 seconds passed +... 12%, 2240 KB, 10144 KB/s, 0 seconds passed +... 12%, 2272 KB, 10271 KB/s, 0 seconds passed +... 12%, 2304 KB, 10397 KB/s, 0 seconds passed +... 12%, 2336 KB, 10523 KB/s, 0 seconds passed +... 13%, 2368 KB, 10649 KB/s, 0 seconds passed +... 13%, 2400 KB, 10778 KB/s, 0 seconds passed +... 13%, 2432 KB, 10908 KB/s, 0 seconds passed +... 13%, 2464 KB, 11041 KB/s, 0 seconds passed +... 13%, 2496 KB, 11174 KB/s, 0 seconds passed +... 14%, 2528 KB, 11307 KB/s, 0 seconds passed +... 14%, 2560 KB, 11439 KB/s, 0 seconds passed +... 14%, 2592 KB, 11570 KB/s, 0 seconds passed +... 14%, 2624 KB, 11702 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 14%, 2656 KB, 10929 KB/s, 0 seconds passed +... 14%, 2688 KB, 11037 KB/s, 0 seconds passed +... 15%, 2720 KB, 11149 KB/s, 0 seconds passed +... 15%, 2752 KB, 11262 KB/s, 0 seconds passed +... 15%, 2784 KB, 11374 KB/s, 0 seconds passed +... 15%, 2816 KB, 11486 KB/s, 0 seconds passed +... 15%, 2848 KB, 11593 KB/s, 0 seconds passed +... 16%, 2880 KB, 11705 KB/s, 0 seconds passed +... 16%, 2912 KB, 11817 KB/s, 0 seconds passed +... 16%, 2944 KB, 11928 KB/s, 0 seconds passed +... 16%, 2976 KB, 12039 KB/s, 0 seconds passed +... 16%, 3008 KB, 12149 KB/s, 0 seconds passed +... 16%, 3040 KB, 12261 KB/s, 0 seconds passed +... 17%, 3072 KB, 12375 KB/s, 0 seconds passed +... 17%, 3104 KB, 12275 KB/s, 0 seconds passed +... 17%, 3136 KB, 12380 KB/s, 0 seconds passed +... 17%, 3168 KB, 12461 KB/s, 0 seconds passed +... 17%, 3200 KB, 12565 KB/s, 0 seconds passed +... 17%, 3232 KB, 12672 KB/s, 0 seconds passed +... 18%, 3264 KB, 12776 KB/s, 0 seconds passed +... 18%, 3296 KB, 12882 KB/s, 0 seconds passed +... 18%, 3328 KB, 12991 KB/s, 0 seconds passed +... 18%, 3360 KB, 12984 KB/s, 0 seconds passed +... 18%, 3392 KB, 13086 KB/s, 0 seconds passed +... 19%, 3424 KB, 13190 KB/s, 0 seconds passed +... 19%, 3456 KB, 13294 KB/s, 0 seconds passed +... 19%, 3488 KB, 13397 KB/s, 0 seconds passed +... 19%, 3520 KB, 13500 KB/s, 0 seconds passed +... 19%, 3552 KB, 13602 KB/s, 0 seconds passed +... 19%, 3584 KB, 13705 KB/s, 0 seconds passed +... 20%, 3616 KB, 13807 KB/s, 0 seconds passed +... 20%, 3648 KB, 13909 KB/s, 0 seconds passed +... 20%, 3680 KB, 14011 KB/s, 0 seconds passed +... 20%, 3712 KB, 14113 KB/s, 0 seconds passed +... 20%, 3744 KB, 14214 KB/s, 0 seconds passed +... 20%, 3776 KB, 14315 KB/s, 0 seconds passed +... 21%, 3808 KB, 14417 KB/s, 0 seconds passed +... 21%, 3840 KB, 14516 KB/s, 0 seconds passed +... 21%, 3872 KB, 14617 KB/s, 0 seconds passed +... 21%, 3904 KB, 14718 KB/s, 0 seconds passed +... 21%, 3936 KB, 14819 KB/s, 0 seconds passed +... 22%, 3968 KB, 14919 KB/s, 0 seconds passed +... 22%, 4000 KB, 15020 KB/s, 0 seconds passed +... 22%, 4032 KB, 15120 KB/s, 0 seconds passed +... 22%, 4064 KB, 15220 KB/s, 0 seconds passed +... 22%, 4096 KB, 15319 KB/s, 0 seconds passed +... 22%, 4128 KB, 15418 KB/s, 0 seconds passed +... 23%, 4160 KB, 15517 KB/s, 0 seconds passed +... 23%, 4192 KB, 15615 KB/s, 0 seconds passed +... 23%, 4224 KB, 15713 KB/s, 0 seconds passed +... 23%, 4256 KB, 15811 KB/s, 0 seconds passed +... 23%, 4288 KB, 15909 KB/s, 0 seconds passed +... 24%, 4320 KB, 16008 KB/s, 0 seconds passed +... 24%, 4352 KB, 16104 KB/s, 0 seconds passed +... 24%, 4384 KB, 16202 KB/s, 0 seconds passed +... 24%, 4416 KB, 16300 KB/s, 0 seconds passed +... 24%, 4448 KB, 16401 KB/s, 0 seconds passed +... 24%, 4480 KB, 16503 KB/s, 0 seconds passed +... 25%, 4512 KB, 16603 KB/s, 0 seconds passed +... 25%, 4544 KB, 16703 KB/s, 0 seconds passed +... 25%, 4576 KB, 16805 KB/s, 0 seconds passed +... 25%, 4608 KB, 16904 KB/s, 0 seconds passed +... 25%, 4640 KB, 17005 KB/s, 0 seconds passed +... 25%, 4672 KB, 17109 KB/s, 0 seconds passed +... 26%, 4704 KB, 17215 KB/s, 0 seconds passed +... 26%, 4736 KB, 17320 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 26%, 4768 KB, 16444 KB/s, 0 seconds passed +... 26%, 4800 KB, 16528 KB/s, 0 seconds passed +... 26%, 4832 KB, 16616 KB/s, 0 seconds passed +... 27%, 4864 KB, 16703 KB/s, 0 seconds passed +... 27%, 4896 KB, 16789 KB/s, 0 seconds passed +... 27%, 4928 KB, 16876 KB/s, 0 seconds passed +... 27%, 4960 KB, 16963 KB/s, 0 seconds passed +... 27%, 4992 KB, 17049 KB/s, 0 seconds passed +... 27%, 5024 KB, 17135 KB/s, 0 seconds passed +... 28%, 5056 KB, 17222 KB/s, 0 seconds passed +... 28%, 5088 KB, 17308 KB/s, 0 seconds passed +... 28%, 5120 KB, 17394 KB/s, 0 seconds passed +... 28%, 5152 KB, 17481 KB/s, 0 seconds passed +... 28%, 5184 KB, 17566 KB/s, 0 seconds passed +... 28%, 5216 KB, 17651 KB/s, 0 seconds passed +... 29%, 5248 KB, 17736 KB/s, 0 seconds passed +... 29%, 5280 KB, 17820 KB/s, 0 seconds passed +... 29%, 5312 KB, 17902 KB/s, 0 seconds passed +... 29%, 5344 KB, 17986 KB/s, 0 seconds passed +... 29%, 5376 KB, 18071 KB/s, 0 seconds passed +... 30%, 5408 KB, 18155 KB/s, 0 seconds passed +... 30%, 5440 KB, 18238 KB/s, 0 seconds passed +... 30%, 5472 KB, 18321 KB/s, 0 seconds passed +... 30%, 5504 KB, 18404 KB/s, 0 seconds passed +... 30%, 5536 KB, 18487 KB/s, 0 seconds passed +... 30%, 5568 KB, 18570 KB/s, 0 seconds passed +... 31%, 5600 KB, 18654 KB/s, 0 seconds passed +... 31%, 5632 KB, 18737 KB/s, 0 seconds passed +... 31%, 5664 KB, 18824 KB/s, 0 seconds passed +... 31%, 5696 KB, 18913 KB/s, 0 seconds passed +... 31%, 5728 KB, 18999 KB/s, 0 seconds passed +... 32%, 5760 KB, 19082 KB/s, 0 seconds passed +... 32%, 5792 KB, 19163 KB/s, 0 seconds passed +... 32%, 5824 KB, 19245 KB/s, 0 seconds passed +... 32%, 5856 KB, 19327 KB/s, 0 seconds passed +... 32%, 5888 KB, 19409 KB/s, 0 seconds passed +... 32%, 5920 KB, 19490 KB/s, 0 seconds passed +... 33%, 5952 KB, 19574 KB/s, 0 seconds passed +... 33%, 5984 KB, 19664 KB/s, 0 seconds passed +... 33%, 6016 KB, 19752 KB/s, 0 seconds passed +... 33%, 6048 KB, 19841 KB/s, 0 seconds passed +... 33%, 6080 KB, 19930 KB/s, 0 seconds passed +... 33%, 6112 KB, 20018 KB/s, 0 seconds passed +... 34%, 6144 KB, 20106 KB/s, 0 seconds passed +... 34%, 6176 KB, 20195 KB/s, 0 seconds passed +... 34%, 6208 KB, 20283 KB/s, 0 seconds passed +... 34%, 6240 KB, 20370 KB/s, 0 seconds passed +... 34%, 6272 KB, 20459 KB/s, 0 seconds passed +... 35%, 6304 KB, 20547 KB/s, 0 seconds passed +... 35%, 6336 KB, 20635 KB/s, 0 seconds passed +... 35%, 6368 KB, 20721 KB/s, 0 seconds passed +... 35%, 6400 KB, 20808 KB/s, 0 seconds passed +... 35%, 6432 KB, 20896 KB/s, 0 seconds passed +... 35%, 6464 KB, 20982 KB/s, 0 seconds passed +... 36%, 6496 KB, 21069 KB/s, 0 seconds passed +... 36%, 6528 KB, 21154 KB/s, 0 seconds passed +... 36%, 6560 KB, 21241 KB/s, 0 seconds passed +... 36%, 6592 KB, 21326 KB/s, 0 seconds passed +... 36%, 6624 KB, 21412 KB/s, 0 seconds passed +... 36%, 6656 KB, 21498 KB/s, 0 seconds passed +... 37%, 6688 KB, 21584 KB/s, 0 seconds passed +... 37%, 6720 KB, 21670 KB/s, 0 seconds passed +... 37%, 6752 KB, 21756 KB/s, 0 seconds passed +... 37%, 6784 KB, 21842 KB/s, 0 seconds passed +... 37%, 6816 KB, 21928 KB/s, 0 seconds passed +... 38%, 6848 KB, 22013 KB/s, 0 seconds passed +... 38%, 6880 KB, 22098 KB/s, 0 seconds passed +... 38%, 6912 KB, 22183 KB/s, 0 seconds passed +... 38%, 6944 KB, 22267 KB/s, 0 seconds passed +... 38%, 6976 KB, 22352 KB/s, 0 seconds passed +... 38%, 7008 KB, 22437 KB/s, 0 seconds passed +... 39%, 7040 KB, 22521 KB/s, 0 seconds passed +... 39%, 7072 KB, 22606 KB/s, 0 seconds passed +... 39%, 7104 KB, 22690 KB/s, 0 seconds passed +... 39%, 7136 KB, 22775 KB/s, 0 seconds passed +... 39%, 7168 KB, 22860 KB/s, 0 seconds passed +... 40%, 7200 KB, 22944 KB/s, 0 seconds passed +... 40%, 7232 KB, 23028 KB/s, 0 seconds passed +... 40%, 7264 KB, 23110 KB/s, 0 seconds passed +... 40%, 7296 KB, 23199 KB/s, 0 seconds passed +... 40%, 7328 KB, 23288 KB/s, 0 seconds passed +... 40%, 7360 KB, 23377 KB/s, 0 seconds passed +... 41%, 7392 KB, 23466 KB/s, 0 seconds passed +... 41%, 7424 KB, 23555 KB/s, 0 seconds passed +... 41%, 7456 KB, 23644 KB/s, 0 seconds passed +... 41%, 7488 KB, 23732 KB/s, 0 seconds passed +... 41%, 7520 KB, 23821 KB/s, 0 seconds passed +... 41%, 7552 KB, 23909 KB/s, 0 seconds passed +... 42%, 7584 KB, 23998 KB/s, 0 seconds passed +... 42%, 7616 KB, 24086 KB/s, 0 seconds passed +... 42%, 7648 KB, 24167 KB/s, 0 seconds passed +... 42%, 7680 KB, 24243 KB/s, 0 seconds passed +... 42%, 7712 KB, 24324 KB/s, 0 seconds passed +... 43%, 7744 KB, 24405 KB/s, 0 seconds passed +... 43%, 7776 KB, 24485 KB/s, 0 seconds passed +... 43%, 7808 KB, 24566 KB/s, 0 seconds passed +... 43%, 7840 KB, 24646 KB/s, 0 seconds passed +... 43%, 7872 KB, 24722 KB/s, 0 seconds passed +... 43%, 7904 KB, 24802 KB/s, 0 seconds passed +... 44%, 7936 KB, 24886 KB/s, 0 seconds passed +... 44%, 7968 KB, 24962 KB/s, 0 seconds passed +... 44%, 8000 KB, 25041 KB/s, 0 seconds passed +... 44%, 8032 KB, 25121 KB/s, 0 seconds passed +... 44%, 8064 KB, 25200 KB/s, 0 seconds passed +... 45%, 8096 KB, 25275 KB/s, 0 seconds passed +... 45%, 8128 KB, 25346 KB/s, 0 seconds passed +... 45%, 8160 KB, 25425 KB/s, 0 seconds passed +... 45%, 8192 KB, 25500 KB/s, 0 seconds passed +... 45%, 8224 KB, 25578 KB/s, 0 seconds passed +... 45%, 8256 KB, 25657 KB/s, 0 seconds passed +... 46%, 8288 KB, 25735 KB/s, 0 seconds passed +... 46%, 8320 KB, 25813 KB/s, 0 seconds passed +... 46%, 8352 KB, 25887 KB/s, 0 seconds passed +... 46%, 8384 KB, 25969 KB/s, 0 seconds passed +... 46%, 8416 KB, 26043 KB/s, 0 seconds passed +... 46%, 8448 KB, 26121 KB/s, 0 seconds passed +... 47%, 8480 KB, 26199 KB/s, 0 seconds passed +... 47%, 8512 KB, 26276 KB/s, 0 seconds passed +... 47%, 8544 KB, 26353 KB/s, 0 seconds passed +... 47%, 8576 KB, 26426 KB/s, 0 seconds passed +... 47%, 8608 KB, 26504 KB/s, 0 seconds passed +... 48%, 8640 KB, 26576 KB/s, 0 seconds passed +... 48%, 8672 KB, 26653 KB/s, 0 seconds passed +... 48%, 8704 KB, 26734 KB/s, 0 seconds passed +... 48%, 8736 KB, 26806 KB/s, 0 seconds passed +... 48%, 8768 KB, 26883 KB/s, 0 seconds passed +... 48%, 8800 KB, 26959 KB/s, 0 seconds passed +... 49%, 8832 KB, 27022 KB/s, 0 seconds passed +... 49%, 8864 KB, 27099 KB/s, 0 seconds passed +... 49%, 8896 KB, 27175 KB/s, 0 seconds passed +... 49%, 8928 KB, 27251 KB/s, 0 seconds passed +... 49%, 8960 KB, 27327 KB/s, 0 seconds passed +... 49%, 8992 KB, 27398 KB/s, 0 seconds passed +... 50%, 9024 KB, 27473 KB/s, 0 seconds passed +... 50%, 9056 KB, 27549 KB/s, 0 seconds passed +... 50%, 9088 KB, 27619 KB/s, 0 seconds passed +... 50%, 9120 KB, 27695 KB/s, 0 seconds passed +... 50%, 9152 KB, 27770 KB/s, 0 seconds passed +... 51%, 9184 KB, 27840 KB/s, 0 seconds passed +... 51%, 9216 KB, 27915 KB/s, 0 seconds passed +... 51%, 9248 KB, 27990 KB/s, 0 seconds passed +... 51%, 9280 KB, 28060 KB/s, 0 seconds passed +... 51%, 9312 KB, 28135 KB/s, 0 seconds passed +... 51%, 9344 KB, 28204 KB/s, 0 seconds passed +... 52%, 9376 KB, 28279 KB/s, 0 seconds passed +... 52%, 9408 KB, 28352 KB/s, 0 seconds passed +... 52%, 9440 KB, 28426 KB/s, 0 seconds passed +... 52%, 9472 KB, 28500 KB/s, 0 seconds passed +... 52%, 9504 KB, 28569 KB/s, 0 seconds passed +... 53%, 9536 KB, 28643 KB/s, 0 seconds passed +... 53%, 9568 KB, 28712 KB/s, 0 seconds passed +... 53%, 9600 KB, 28785 KB/s, 0 seconds passed +... 53%, 9632 KB, 28858 KB/s, 0 seconds passed +... 53%, 9664 KB, 28932 KB/s, 0 seconds passed +... 53%, 9696 KB, 29000 KB/s, 0 seconds passed +... 54%, 9728 KB, 29073 KB/s, 0 seconds passed +... 54%, 9760 KB, 29146 KB/s, 0 seconds passed +... 54%, 9792 KB, 29214 KB/s, 0 seconds passed +... 54%, 9824 KB, 29286 KB/s, 0 seconds passed +... 54%, 9856 KB, 29354 KB/s, 0 seconds passed +... 54%, 9888 KB, 29421 KB/s, 0 seconds passed +... 55%, 9920 KB, 29477 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 55%, 9952 KB, 29537 KB/s, 0 seconds passed +... 55%, 9984 KB, 29599 KB/s, 0 seconds passed +... 55%, 10016 KB, 29682 KB/s, 0 seconds passed +... 55%, 10048 KB, 29765 KB/s, 0 seconds passed +... 56%, 10080 KB, 29848 KB/s, 0 seconds passed +... 56%, 10112 KB, 29918 KB/s, 0 seconds passed +... 56%, 10144 KB, 29990 KB/s, 0 seconds passed +... 56%, 10176 KB, 30061 KB/s, 0 seconds passed +... 56%, 10208 KB, 30127 KB/s, 0 seconds passed +... 56%, 10240 KB, 30198 KB/s, 0 seconds passed +... 57%, 10272 KB, 30269 KB/s, 0 seconds passed +... 57%, 10304 KB, 30340 KB/s, 0 seconds passed +... 57%, 10336 KB, 30406 KB/s, 0 seconds passed +... 57%, 10368 KB, 30477 KB/s, 0 seconds passed +... 57%, 10400 KB, 30548 KB/s, 0 seconds passed +... 57%, 10432 KB, 30613 KB/s, 0 seconds passed +... 58%, 10464 KB, 30684 KB/s, 0 seconds passed +... 58%, 10496 KB, 30754 KB/s, 0 seconds passed +... 58%, 10528 KB, 30819 KB/s, 0 seconds passed +... 58%, 10560 KB, 30889 KB/s, 0 seconds passed +... 58%, 10592 KB, 30959 KB/s, 0 seconds passed +... 59%, 10624 KB, 31024 KB/s, 0 seconds passed +... 59%, 10656 KB, 31094 KB/s, 0 seconds passed +... 59%, 10688 KB, 31164 KB/s, 0 seconds passed +... 59%, 10720 KB, 31228 KB/s, 0 seconds passed +... 59%, 10752 KB, 31292 KB/s, 0 seconds passed +... 59%, 10784 KB, 31348 KB/s, 0 seconds passed +... 60%, 10816 KB, 31411 KB/s, 0 seconds passed +... 60%, 10848 KB, 31479 KB/s, 0 seconds passed +... 60%, 10880 KB, 31548 KB/s, 0 seconds passed +... 60%, 10912 KB, 31617 KB/s, 0 seconds passed +... 60%, 10944 KB, 31686 KB/s, 0 seconds passed +... 61%, 10976 KB, 31755 KB/s, 0 seconds passed +... 61%, 11008 KB, 31825 KB/s, 0 seconds passed +... 61%, 11040 KB, 31894 KB/s, 0 seconds passed +... 61%, 11072 KB, 31963 KB/s, 0 seconds passed +... 61%, 11104 KB, 32031 KB/s, 0 seconds passed +... 61%, 11136 KB, 32100 KB/s, 0 seconds passed +... 62%, 11168 KB, 32167 KB/s, 0 seconds passed +... 62%, 11200 KB, 32236 KB/s, 0 seconds passed +... 62%, 11232 KB, 32298 KB/s, 0 seconds passed +... 62%, 11264 KB, 32365 KB/s, 0 seconds passed +... 62%, 11296 KB, 32431 KB/s, 0 seconds passed +... 62%, 11328 KB, 32495 KB/s, 0 seconds passed +... 63%, 11360 KB, 32560 KB/s, 0 seconds passed +... 63%, 11392 KB, 32627 KB/s, 0 seconds passed +... 63%, 11424 KB, 32690 KB/s, 0 seconds passed +... 63%, 11456 KB, 32757 KB/s, 0 seconds passed +... 63%, 11488 KB, 32824 KB/s, 0 seconds passed +... 64%, 11520 KB, 32891 KB/s, 0 seconds passed +... 64%, 11552 KB, 32952 KB/s, 0 seconds passed +... 64%, 11584 KB, 33018 KB/s, 0 seconds passed +... 64%, 11616 KB, 33085 KB/s, 0 seconds passed +... 64%, 11648 KB, 33151 KB/s, 0 seconds passed +... 64%, 11680 KB, 33212 KB/s, 0 seconds passed +... 65%, 11712 KB, 33278 KB/s, 0 seconds passed +... 65%, 11744 KB, 33344 KB/s, 0 seconds passed +... 65%, 11776 KB, 33407 KB/s, 0 seconds passed +... 65%, 11808 KB, 33470 KB/s, 0 seconds passed +... 65%, 11840 KB, 33535 KB/s, 0 seconds passed +... 65%, 11872 KB, 33601 KB/s, 0 seconds passed +... 66%, 11904 KB, 33661 KB/s, 0 seconds passed +... 66%, 11936 KB, 33726 KB/s, 0 seconds passed +... 66%, 11968 KB, 33793 KB/s, 0 seconds passed +... 66%, 12000 KB, 33858 KB/s, 0 seconds passed +... 66%, 12032 KB, 33918 KB/s, 0 seconds passed +... 67%, 12064 KB, 33983 KB/s, 0 seconds passed +... 67%, 12096 KB, 34048 KB/s, 0 seconds passed +... 67%, 12128 KB, 34108 KB/s, 0 seconds passed +... 67%, 12160 KB, 34173 KB/s, 0 seconds passed +... 67%, 12192 KB, 34238 KB/s, 0 seconds passed +... 67%, 12224 KB, 34301 KB/s, 0 seconds passed +... 68%, 12256 KB, 34362 KB/s, 0 seconds passed +... 68%, 12288 KB, 34426 KB/s, 0 seconds passed +... 68%, 12320 KB, 34490 KB/s, 0 seconds passed +... 68%, 12352 KB, 34549 KB/s, 0 seconds passed +... 68%, 12384 KB, 34613 KB/s, 0 seconds passed +... 69%, 12416 KB, 34677 KB/s, 0 seconds passed +... 69%, 12448 KB, 34736 KB/s, 0 seconds passed +... 69%, 12480 KB, 34800 KB/s, 0 seconds passed +... 69%, 12512 KB, 34858 KB/s, 0 seconds passed +... 69%, 12544 KB, 34923 KB/s, 0 seconds passed +... 69%, 12576 KB, 34986 KB/s, 0 seconds passed +... 70%, 12608 KB, 35049 KB/s, 0 seconds passed +... 70%, 12640 KB, 35108 KB/s, 0 seconds passed +... 70%, 12672 KB, 35171 KB/s, 0 seconds passed +... 70%, 12704 KB, 35234 KB/s, 0 seconds passed +... 70%, 12736 KB, 35297 KB/s, 0 seconds passed +... 70%, 12768 KB, 35354 KB/s, 0 seconds passed +... 71%, 12800 KB, 35418 KB/s, 0 seconds passed +... 71%, 12832 KB, 35480 KB/s, 0 seconds passed +... 71%, 12864 KB, 35538 KB/s, 0 seconds passed +... 71%, 12896 KB, 35600 KB/s, 0 seconds passed +... 71%, 12928 KB, 35663 KB/s, 0 seconds passed +... 72%, 12960 KB, 35720 KB/s, 0 seconds passed +... 72%, 12992 KB, 35782 KB/s, 0 seconds passed +... 72%, 13024 KB, 35844 KB/s, 0 seconds passed +... 72%, 13056 KB, 35901 KB/s, 0 seconds passed +... 72%, 13088 KB, 35964 KB/s, 0 seconds passed +... 72%, 13120 KB, 36025 KB/s, 0 seconds passed +... 73%, 13152 KB, 36087 KB/s, 0 seconds passed +... 73%, 13184 KB, 36144 KB/s, 0 seconds passed +... 73%, 13216 KB, 36206 KB/s, 0 seconds passed +... 73%, 13248 KB, 36262 KB/s, 0 seconds passed +... 73%, 13280 KB, 36324 KB/s, 0 seconds passed +... 73%, 13312 KB, 36386 KB/s, 0 seconds passed +... 74%, 13344 KB, 36447 KB/s, 0 seconds passed +... 74%, 13376 KB, 36503 KB/s, 0 seconds passed +... 74%, 13408 KB, 36564 KB/s, 0 seconds passed +... 74%, 13440 KB, 36620 KB/s, 0 seconds passed +... 74%, 13472 KB, 36680 KB/s, 0 seconds passed +... 75%, 13504 KB, 36741 KB/s, 0 seconds passed +... 75%, 13536 KB, 36797 KB/s, 0 seconds passed +... 75%, 13568 KB, 36857 KB/s, 0 seconds passed +... 75%, 13600 KB, 36918 KB/s, 0 seconds passed +... 75%, 13632 KB, 36973 KB/s, 0 seconds passed +... 75%, 13664 KB, 37039 KB/s, 0 seconds passed +... 76%, 13696 KB, 37095 KB/s, 0 seconds passed +... 76%, 13728 KB, 37155 KB/s, 0 seconds passed +... 76%, 13760 KB, 37215 KB/s, 0 seconds passed +... 76%, 13792 KB, 37270 KB/s, 0 seconds passed +... 76%, 13824 KB, 37330 KB/s, 0 seconds passed +... 77%, 13856 KB, 37390 KB/s, 0 seconds passed +... 77%, 13888 KB, 37444 KB/s, 0 seconds passed +... 77%, 13920 KB, 37504 KB/s, 0 seconds passed +... 77%, 13952 KB, 37563 KB/s, 0 seconds passed +... 77%, 13984 KB, 37618 KB/s, 0 seconds passed +... 77%, 14016 KB, 37677 KB/s, 0 seconds passed +... 78%, 14048 KB, 37732 KB/s, 0 seconds passed +... 78%, 14080 KB, 37791 KB/s, 0 seconds passed +... 78%, 14112 KB, 37850 KB/s, 0 seconds passed +... 78%, 14144 KB, 37910 KB/s, 0 seconds passed +... 78%, 14176 KB, 37963 KB/s, 0 seconds passed +... 78%, 14208 KB, 38023 KB/s, 0 seconds passed +... 79%, 14240 KB, 38081 KB/s, 0 seconds passed +... 79%, 14272 KB, 38135 KB/s, 0 seconds passed +... 79%, 14304 KB, 38189 KB/s, 0 seconds passed +... 79%, 14336 KB, 38232 KB/s, 0 seconds passed +... 79%, 14368 KB, 38296 KB/s, 0 seconds passed +... 80%, 14400 KB, 38363 KB/s, 0 seconds passed +... 80%, 14432 KB, 38421 KB/s, 0 seconds passed +... 80%, 14464 KB, 38474 KB/s, 0 seconds passed +... 80%, 14496 KB, 38533 KB/s, 0 seconds passed +... 80%, 14528 KB, 38590 KB/s, 0 seconds passed +... 80%, 14560 KB, 38643 KB/s, 0 seconds passed +... 81%, 14592 KB, 38701 KB/s, 0 seconds passed +... 81%, 14624 KB, 38759 KB/s, 0 seconds passed +... 81%, 14656 KB, 38812 KB/s, 0 seconds passed +... 81%, 14688 KB, 38869 KB/s, 0 seconds passed +... 81%, 14720 KB, 38927 KB/s, 0 seconds passed +... 82%, 14752 KB, 38985 KB/s, 0 seconds passed +... 82%, 14784 KB, 39037 KB/s, 0 seconds passed +... 82%, 14816 KB, 39094 KB/s, 0 seconds passed +... 82%, 14848 KB, 39147 KB/s, 0 seconds passed +... 82%, 14880 KB, 39204 KB/s, 0 seconds passed +... 82%, 14912 KB, 39261 KB/s, 0 seconds passed +... 83%, 14944 KB, 39318 KB/s, 0 seconds passed +... 83%, 14976 KB, 39369 KB/s, 0 seconds passed +... 83%, 15008 KB, 39427 KB/s, 0 seconds passed +... 83%, 15040 KB, 39478 KB/s, 0 seconds passed +... 83%, 15072 KB, 39535 KB/s, 0 seconds passed +... 83%, 15104 KB, 39592 KB/s, 0 seconds passed +... 84%, 15136 KB, 39648 KB/s, 0 seconds passed +... 84%, 15168 KB, 39699 KB/s, 0 seconds passed +... 84%, 15200 KB, 39756 KB/s, 0 seconds passed +... 84%, 15232 KB, 39807 KB/s, 0 seconds passed +... 84%, 15264 KB, 39863 KB/s, 0 seconds passed +... 85%, 15296 KB, 39919 KB/s, 0 seconds passed +... 85%, 15328 KB, 39970 KB/s, 0 seconds passed +... 85%, 15360 KB, 40026 KB/s, 0 seconds passed +... 85%, 15392 KB, 40082 KB/s, 0 seconds passed +... 85%, 15424 KB, 40138 KB/s, 0 seconds passed +... 85%, 15456 KB, 40194 KB/s, 0 seconds passed +... 86%, 15488 KB, 40244 KB/s, 0 seconds passed +... 86%, 15520 KB, 40300 KB/s, 0 seconds passed +... 86%, 15552 KB, 40349 KB/s, 0 seconds passed +... 86%, 15584 KB, 40405 KB/s, 0 seconds passed +... 86%, 15616 KB, 40460 KB/s, 0 seconds passed +... 86%, 15648 KB, 40516 KB/s, 0 seconds passed +... 87%, 15680 KB, 40571 KB/s, 0 seconds passed +... 87%, 15712 KB, 40621 KB/s, 0 seconds passed +... 87%, 15744 KB, 40676 KB/s, 0 seconds passed +... 87%, 15776 KB, 40731 KB/s, 0 seconds passed +... 87%, 15808 KB, 40781 KB/s, 0 seconds passed +... 88%, 15840 KB, 40836 KB/s, 0 seconds passed +... 88%, 15872 KB, 40891 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 88%, 15904 KB, 40940 KB/s, 0 seconds passed +... 88%, 15936 KB, 40990 KB/s, 0 seconds passed +... 88%, 15968 KB, 41044 KB/s, 0 seconds passed +... 88%, 16000 KB, 41098 KB/s, 0 seconds passed +... 89%, 16032 KB, 41153 KB/s, 0 seconds passed +... 89%, 16064 KB, 41202 KB/s, 0 seconds passed +... 89%, 16096 KB, 41256 KB/s, 0 seconds passed +... 89%, 16128 KB, 41311 KB/s, 0 seconds passed +... 89%, 16160 KB, 41360 KB/s, 0 seconds passed +... 90%, 16192 KB, 41414 KB/s, 0 seconds passed +... 90%, 16224 KB, 41462 KB/s, 0 seconds passed +... 90%, 16256 KB, 41517 KB/s, 0 seconds passed +... 90%, 16288 KB, 41570 KB/s, 0 seconds passed +... 90%, 16320 KB, 41619 KB/s, 0 seconds passed +... 90%, 16352 KB, 41673 KB/s, 0 seconds passed +... 91%, 16384 KB, 41726 KB/s, 0 seconds passed +... 91%, 16416 KB, 41774 KB/s, 0 seconds passed +... 91%, 16448 KB, 41828 KB/s, 0 seconds passed +... 91%, 16480 KB, 41881 KB/s, 0 seconds passed +... 91%, 16512 KB, 41930 KB/s, 0 seconds passed +... 91%, 16544 KB, 41983 KB/s, 0 seconds passed +... 92%, 16576 KB, 42036 KB/s, 0 seconds passed +... 92%, 16608 KB, 42084 KB/s, 0 seconds passed +... 92%, 16640 KB, 42132 KB/s, 0 seconds passed +... 92%, 16672 KB, 42190 KB/s, 0 seconds passed +... 92%, 16704 KB, 42238 KB/s, 0 seconds passed +... 93%, 16736 KB, 42290 KB/s, 0 seconds passed +... 93%, 16768 KB, 42343 KB/s, 0 seconds passed +... 93%, 16800 KB, 42390 KB/s, 0 seconds passed +... 93%, 16832 KB, 42443 KB/s, 0 seconds passed +... 93%, 16864 KB, 42496 KB/s, 0 seconds passed +... 93%, 16896 KB, 42543 KB/s, 0 seconds passed +... 94%, 16928 KB, 42595 KB/s, 0 seconds passed +... 94%, 16960 KB, 42648 KB/s, 0 seconds passed +... 94%, 16992 KB, 42695 KB/s, 0 seconds passed +... 94%, 17024 KB, 42747 KB/s, 0 seconds passed +... 94%, 17056 KB, 42799 KB/s, 0 seconds passed +... 94%, 17088 KB, 42846 KB/s, 0 seconds passed +... 95%, 17120 KB, 42898 KB/s, 0 seconds passed +... 95%, 17152 KB, 42950 KB/s, 0 seconds passed +... 95%, 17184 KB, 42996 KB/s, 0 seconds passed +... 95%, 17216 KB, 43048 KB/s, 0 seconds passed +... 95%, 17248 KB, 43100 KB/s, 0 seconds passed +... 96%, 17280 KB, 43146 KB/s, 0 seconds passed +... 96%, 17312 KB, 43198 KB/s, 0 seconds passed +... 96%, 17344 KB, 43246 KB/s, 0 seconds passed +... 96%, 17376 KB, 43282 KB/s, 0 seconds passed +... 96%, 17408 KB, 43318 KB/s, 0 seconds passed +... 96%, 17440 KB, 43356 KB/s, 0 seconds passed +... 97%, 17472 KB, 43404 KB/s, 0 seconds passed +... 97%, 17504 KB, 43468 KB/s, 0 seconds passed +... 97%, 17536 KB, 43532 KB/s, 0 seconds passed +... 97%, 17568 KB, 43595 KB/s, 0 seconds passed +... 97%, 17600 KB, 43646 KB/s, 0 seconds passed +... 98%, 17632 KB, 43692 KB/s, 0 seconds passed +... 98%, 17664 KB, 43742 KB/s, 0 seconds passed +... 98%, 17696 KB, 43787 KB/s, 0 seconds passed +... 98%, 17728 KB, 43838 KB/s, 0 seconds passed +... 98%, 17760 KB, 43889 KB/s, 0 seconds passed +... 98%, 17792 KB, 43934 KB/s, 0 seconds passed +... 99%, 17824 KB, 43985 KB/s, 0 seconds passed +... 99%, 17856 KB, 44036 KB/s, 0 seconds passed +... 99%, 17888 KB, 44080 KB/s, 0 seconds passed +... 99%, 17920 KB, 44130 KB/s, 0 seconds passed +... 99%, 17952 KB, 44181 KB/s, 0 seconds passed +... 99%, 17984 KB, 44232 KB/s, 0 seconds passed +... 100%, 17990 KB, 44230 KB/s, 0 seconds passed + + + ========== Unpacking model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.tar.gz + + + +Convert Model to OpenVINO IR format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +The selected model comes from the public directory, which means it must +be converted into OpenVINO Intermediate Representation (OpenVINO IR). We +use ``omz_converter`` to convert the ONNX format model to the OpenVINO +IR format. + +.. code:: ipython3 + + if not onnx_path.exists(): + convert_command = ( + f"omz_converter " f"--name {model_name} " f"--precisions {precision} " f"--download_dir {base_model_dir} " f"--output_dir {base_model_dir}" + ) + ! $convert_command + + +.. parsed-literal:: + + ========== Converting human-pose-estimation-3d-0001 to ONNX + Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-path=model/public/human-pose-estimation-3d-0001 --model-name=PoseEstimationWithMobileNet --model-param=is_convertible_by_mo=True --import-module=model --weights=model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.pth --input-shape=1,3,256,448 --input-names=data --output-names=features,heatmaps,pafs --output-file=model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.onnx + + + +.. parsed-literal:: + + ONNX check passed successfully. + + +.. parsed-literal:: + + + ========== Converting human-pose-estimation-3d-0001 to IR (FP32) + Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=model/public/human-pose-estimation-3d-0001/FP32 --model_name=human-pose-estimation-3d-0001 --input=data '--mean_values=data[128.0,128.0,128.0]' '--scale_values=data[255.0,255.0,255.0]' --output=features,heatmaps,pafs --input_model=model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.onnx '--layout=data(NCHW)' '--input_shape=[1, 3, 256, 448]' --compress_to_fp16=False + + + +.. parsed-literal:: + + [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. + Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html + [ SUCCESS ] Generated IR version 11 model. + [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/3D-pose-estimation-webcam/model/public/human-pose-estimation-3d-0001/FP32/human-pose-estimation-3d-0001.xml + [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/3D-pose-estimation-webcam/model/public/human-pose-estimation-3d-0001/FP32/human-pose-estimation-3d-0001.bin + + + + +Select inference device +~~~~~~~~~~~~~~~~~~~~~~~ + + + +select device from dropdown list for running inference using OpenVINO + +.. code:: ipython3 + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Load the model +~~~~~~~~~~~~~~ + + + +Converted models are located in a fixed structure, which indicates +vendor, model name and precision. + +First, initialize the inference engine, OpenVINO Runtime. Then, read the +network architecture and model weights from the ``.bin`` and ``.xml`` +files to compile for the desired device. An inference request is then +created to infer the compiled model. + +.. code:: ipython3 + + # initialize inference engine + core = ov.Core() + # read the network and corresponding weights from file + model = core.read_model(model=ir_model_path, weights=model_weights_path) + # load the model on the specified device + compiled_model = core.compile_model(model=model, device_name=device.value) + infer_request = compiled_model.create_infer_request() + input_tensor_name = model.inputs[0].get_any_name() + + # get input and output names of nodes + input_layer = compiled_model.input(0) + output_layers = list(compiled_model.outputs) + +The input for the model is data from the input image and the outputs are +heat maps, PAF (part affinity fields) and features. + +.. code:: ipython3 + + input_layer.any_name, [o.any_name for o in output_layers] + + + + +.. parsed-literal:: + + ('data', ['features', 'heatmaps', 'pafs']) + + + +Processing +---------- + + + +Model Inference +~~~~~~~~~~~~~~~ + + + +Frames captured from video files or the live webcam are used as the +input for the 3D model. This is how you obtain the output heat maps, PAF +(part affinity fields) and features. + +.. code:: ipython3 + + def model_infer(scaled_img, stride): + """ + Run model inference on the input image + + Parameters: + scaled_img: resized image according to the input size of the model + stride: int, the stride of the window + """ + + # Remove excess space from the picture + img = scaled_img[ + 0 : scaled_img.shape[0] - (scaled_img.shape[0] % stride), + 0 : scaled_img.shape[1] - (scaled_img.shape[1] % stride), + ] + + img = np.transpose(img, (2, 0, 1))[None,] + infer_request.infer({input_tensor_name: img}) + # A set of three inference results is obtained + results = {name: infer_request.get_tensor(name).data[:] for name in {"features", "heatmaps", "pafs"}} + # Get the results + results = (results["features"][0], results["heatmaps"][0], results["pafs"][0]) + + return results + +Draw 2D Pose Overlays +~~~~~~~~~~~~~~~~~~~~~ + + + +We need to define some connections between the joints in advance, so +that we can draw the structure of the human body in the resulting image +after obtaining the inference results. Joints are drawn as circles and +limbs are drawn as lines. The code is based on the `3D Human Pose +Estimation +Demo `__ +from Open Model Zoo. + +.. code:: ipython3 + + # 3D edge index array + body_edges = np.array( + [ + [0, 1], + [0, 9], + [9, 10], + [10, 11], # neck - r_shoulder - r_elbow - r_wrist + [0, 3], + [3, 4], + [4, 5], # neck - l_shoulder - l_elbow - l_wrist + [1, 15], + [15, 16], # nose - l_eye - l_ear + [1, 17], + [17, 18], # nose - r_eye - r_ear + [0, 6], + [6, 7], + [7, 8], # neck - l_hip - l_knee - l_ankle + [0, 12], + [12, 13], + [13, 14], # neck - r_hip - r_knee - r_ankle + ] + ) + + + body_edges_2d = np.array( + [ + [0, 1], # neck - nose + [1, 16], + [16, 18], # nose - l_eye - l_ear + [1, 15], + [15, 17], # nose - r_eye - r_ear + [0, 3], + [3, 4], + [4, 5], # neck - l_shoulder - l_elbow - l_wrist + [0, 9], + [9, 10], + [10, 11], # neck - r_shoulder - r_elbow - r_wrist + [0, 6], + [6, 7], + [7, 8], # neck - l_hip - l_knee - l_ankle + [0, 12], + [12, 13], + [13, 14], # neck - r_hip - r_knee - r_ankle + ] + ) + + + def draw_poses(frame, poses_2d, scaled_img, use_popup): + """ + Draw 2D pose overlays on the image to visualize estimated poses. + Joints are drawn as circles and limbs are drawn as lines. + + :param frame: the input image + :param poses_2d: array of human joint pairs + """ + for pose in poses_2d: + pose = np.array(pose[0:-1]).reshape((-1, 3)).transpose() + was_found = pose[2] > 0 + + pose[0], pose[1] = ( + pose[0] * frame.shape[1] / scaled_img.shape[1], + pose[1] * frame.shape[0] / scaled_img.shape[0], + ) + + # Draw joints. + for edge in body_edges_2d: + if was_found[edge[0]] and was_found[edge[1]]: + cv2.line( + frame, + tuple(pose[0:2, edge[0]].astype(np.int32)), + tuple(pose[0:2, edge[1]].astype(np.int32)), + (255, 255, 0), + 4, + cv2.LINE_AA, + ) + # Draw limbs. + for kpt_id in range(pose.shape[1]): + if pose[2, kpt_id] != -1: + cv2.circle( + frame, + tuple(pose[0:2, kpt_id].astype(np.int32)), + 3, + (0, 255, 255), + -1, + cv2.LINE_AA, + ) + + return frame + +Main Processing Function +~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Run 3D pose estimation on the specified source. It could be either a +webcam feed or a video file. + +.. code:: ipython3 + + def run_pose_estimation(source=0, flip=False, use_popup=False, skip_frames=0): + """ + 2D image as input, using OpenVINO as inference backend, + get joints 3D coordinates, and draw 3D human skeleton in the scene + + :param source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. + :param flip: To be used by VideoPlayer function for flipping capture image. + :param use_popup: False for showing encoded frames over this notebook, True for creating a popup window. + :param skip_frames: Number of frames to skip at the beginning of the video. + """ + + focal_length = -1 # default + stride = 8 + player = None + skeleton_set = None + + try: + # create video player to play with target fps video_path + # get the frame from camera + # You can skip first N frames to fast forward video. change 'skip_first_frames' + player = utils.VideoPlayer(source, flip=flip, fps=30, skip_first_frames=skip_frames) + # start capturing + player.start() + + input_image = player.next() + # set the window size + resize_scale = 450 / input_image.shape[1] + windows_width = int(input_image.shape[1] * resize_scale) + windows_height = int(input_image.shape[0] * resize_scale) + + # use visualization library + engine3D = engine.Engine3js(grid=True, axis=True, view_width=windows_width, view_height=windows_height) + + if use_popup: + # display the 3D human pose in this notebook, and origin frame in popup window + display(engine3D.renderer) + title = "Press ESC to Exit" + cv2.namedWindow(title, cv2.WINDOW_KEEPRATIO | cv2.WINDOW_AUTOSIZE) + else: + # set the 2D image box, show both human pose and image in the notebook + imgbox = widgets.Image(format="jpg", height=windows_height, width=windows_width) + display(widgets.HBox([engine3D.renderer, imgbox])) + + skeleton = engine.Skeleton(body_edges=body_edges) + + processing_times = collections.deque() + + while True: + # grab the frame + frame = player.next() + if frame is None: + print("Source ended") + break + + # resize image and change dims to fit neural network input + # (see https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/human-pose-estimation-3d-0001) + scaled_img = cv2.resize(frame, dsize=(model.inputs[0].shape[3], model.inputs[0].shape[2])) + + if focal_length < 0: # Focal length is unknown + focal_length = np.float32(0.8 * scaled_img.shape[1]) + + # inference start + start_time = time.time() + # get results + inference_result = model_infer(scaled_img, stride) + + # inference stop + stop_time = time.time() + processing_times.append(stop_time - start_time) + # Process the point to point coordinates of the data + poses_3d, poses_2d = parse_poses(inference_result, 1, stride, focal_length, True) + + # use processing times from last 200 frames + if len(processing_times) > 200: + processing_times.popleft() + + processing_time = np.mean(processing_times) * 1000 + fps = 1000 / processing_time + + if len(poses_3d) > 0: + # From here, you can rotate the 3D point positions using the function "draw_poses", + # or you can directly make the correct mapping below to properly display the object image on the screen + poses_3d_copy = poses_3d.copy() + x = poses_3d_copy[:, 0::4] + y = poses_3d_copy[:, 1::4] + z = poses_3d_copy[:, 2::4] + poses_3d[:, 0::4], poses_3d[:, 1::4], poses_3d[:, 2::4] = ( + -z + np.ones(poses_3d[:, 2::4].shape) * 200, + -y + np.ones(poses_3d[:, 2::4].shape) * 100, + -x, + ) + + poses_3d = poses_3d.reshape(poses_3d.shape[0], 19, -1)[:, :, 0:3] + people = skeleton(poses_3d=poses_3d) + + try: + engine3D.scene_remove(skeleton_set) + except Exception: + pass + + engine3D.scene_add(people) + skeleton_set = people + + # draw 2D + frame = draw_poses(frame, poses_2d, scaled_img, use_popup) + + else: + try: + engine3D.scene_remove(skeleton_set) + skeleton_set = None + except Exception: + pass + + cv2.putText( + frame, + f"Inference time: {processing_time:.1f}ms ({fps:.1f} FPS)", + (10, 30), + cv2.FONT_HERSHEY_COMPLEX, + 0.7, + (0, 0, 255), + 1, + cv2.LINE_AA, + ) + + if use_popup: + cv2.imshow(title, frame) + key = cv2.waitKey(1) + # escape = 27, use ESC to exit + if key == 27: + break + else: + # encode numpy array to jpg + imgbox.value = cv2.imencode( + ".jpg", + frame, + params=[cv2.IMWRITE_JPEG_QUALITY, 90], + )[1].tobytes() + + engine3D.renderer.render(engine3D.scene, engine3D.cam) + + except KeyboardInterrupt: + print("Interrupted") + except RuntimeError as e: + print(e) + finally: + clear_output() + if player is not None: + # stop capturing + player.stop() + if use_popup: + cv2.destroyAllWindows() + if skeleton_set: + engine3D.scene_remove(skeleton_set) + +Run +--- + + + +Run, using a webcam as the video input. By default, the primary webcam +is set with ``source=0``. If you have multiple webcams, each one will be +assigned a consecutive number starting at 0. Set ``flip=True`` when +using a front-facing camera. Some web browsers, especially Mozilla +Firefox, may cause flickering. If you experience flickering, set +``use_popup=True``. + + **NOTE**: + + *1. To use this notebook with a webcam, you need to run the notebook + on a computer with a webcam. If you run the notebook on a server + (e.g. Binder), the webcam will not work.* + + *2. Popup mode may not work if you run this notebook on a remote + computer (e.g. Binder).* + +If you do not have a webcam, you can still run this demo with a video +file. Any `format supported by +OpenCV `__ +will work. + +Using the following method, you can click and move your mouse over the +picture on the left to interact. + +.. code:: ipython3 + + USE_WEBCAM = False + + cam_id = 0 + video_path = "https://github.com/intel-iot-devkit/sample-videos/raw/master/face-demographics-walking.mp4" + + source = cam_id if USE_WEBCAM else video_path + + run_pose_estimation(source=source, flip=isinstance(source, int), use_popup=False) diff --git a/docs/notebooks/224-3D-segmentation-point-clouds-with-output.rst b/docs/notebooks/3D-segmentation-point-clouds-with-output.rst similarity index 76% rename from docs/notebooks/224-3D-segmentation-point-clouds-with-output.rst rename to docs/notebooks/3D-segmentation-point-clouds-with-output.rst index efdf2da82df..a527f33d1aa 100644 --- a/docs/notebooks/224-3D-segmentation-point-clouds-with-output.rst +++ b/docs/notebooks/3D-segmentation-point-clouds-with-output.rst @@ -37,7 +37,7 @@ Table of contents: import platform - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" "tqdm" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -45,21 +45,11 @@ Table of contents: %pip install -q "matplotlib>=3.4,<3.7" -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -79,11 +69,12 @@ Imports import openvino as ov # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file @@ -102,7 +93,11 @@ find more point clouds examples # Set the data and model directories, model source URL and model filename MODEL_DIR = Path("model") MODEL_DIR.mkdir(exist_ok=True) - download_file("https://storage.googleapis.com/ailia-models/pointnet_pytorch/chair_100.onnx", directory=Path(MODEL_DIR), show_progress=False) + download_file( + "https://storage.googleapis.com/ailia-models/pointnet_pytorch/chair_100.onnx", + directory=Path(MODEL_DIR), + show_progress=False, + ) onnx_model_path = MODEL_DIR / "chair_100.onnx" Convert the ONNX model to OpenVINO IR. An OpenVINO IR (Intermediate @@ -130,7 +125,6 @@ API, see this else: # Read model model = core.read_model(model=ir_model_xml) - Data Processing Module ---------------------- @@ -153,13 +147,13 @@ Data Processing Module # normailization point_set = point_set - np.expand_dims(np.mean(point_set, axis=0), 0) # center - dist = np.max(np.sqrt(np.sum(point_set ** 2, axis=1)), 0) + dist = np.max(np.sqrt(np.sum(point_set**2, axis=1)), 0) point_set = point_set / dist # scale return point_set - def visualize(point_set:np.ndarray): + def visualize(point_set: np.ndarray): """ Create a 3D view for data visualization @@ -168,7 +162,7 @@ Data Processing Module """ fig = plt.figure(dpi=192, figsize=(4, 4)) - ax = fig.add_subplot(111, projection='3d') + ax = fig.add_subplot(111, projection="3d") X = point_set[:, 0] Y = point_set[:, 2] Z = point_set[:, 1] @@ -181,11 +175,11 @@ Data Processing Module ax.set_xlim(mid_x - max_range, mid_x + max_range) ax.set_ylim(mid_y - max_range, mid_y + max_range) ax.set_zlim(mid_z - max_range, mid_z + max_range) - + plt.tick_params(labelsize=5) - ax.set_xlabel('X', fontsize=10) - ax.set_ylabel('Y', fontsize=10) - ax.set_zlabel('Z', fontsize=10) + ax.set_xlabel("X", fontsize=10) + ax.set_ylabel("Y", fontsize=10) + ax.set_zlabel("Z", fontsize=10) return ax @@ -204,7 +198,7 @@ chair for example. # Download data from the openvino_notebooks storage point_data = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/pts/chair.pts", - directory="data" + directory="data", ) points = load_data(str(point_data)) @@ -212,9 +206,9 @@ chair for example. Y = points[:, 2] Z = points[:, 1] ax = visualize(points) - ax.scatter3D(X, Y, Z, s=5, cmap="jet", marker="o", label='chair') - ax.set_title('3D Visualization') - plt.legend(loc='upper right', fontsize=8) + ax.scatter3D(X, Y, Z, s=5, cmap="jet", marker="o", label="chair") + ax.set_title("3D Visualization") + plt.legend(loc="upper right", fontsize=8) plt.show() @@ -226,12 +220,12 @@ chair for example. .. parsed-literal:: - /tmp/ipykernel_3065558/2347079344.py:12: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored - ax.scatter3D(X, Y, Z, s=5, cmap="jet", marker="o", label='chair') + /tmp/ipykernel_3630/2434168836.py:12: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored + ax.scatter3D(X, Y, Z, s=5, cmap="jet", marker="o", label="chair") -.. image:: 224-3D-segmentation-point-clouds-with-output_files/224-3D-segmentation-point-clouds-with-output_11_2.png +.. image:: 3D-segmentation-point-clouds-with-output_files/3D-segmentation-point-clouds-with-output_11_2.png Run inference @@ -248,7 +242,7 @@ each input point. .. code:: ipython3 # Parts of a chair - classes = ['back', 'seat', 'leg', 'arm'] + classes = ["back", "seat", "leg", "arm"] # Preprocess the input data point = points.transpose(1, 0) @@ -278,8 +272,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -320,17 +314,17 @@ select device from dropdown list for running inference using OpenVINO # add current point of the part ax.scatter(XCur, YCur, ZCur, s=5, cmap="jet", marker="o", label=classes[i]) - ax.set_title('3D Segmentation Visualization') - plt.legend(loc='upper right', fontsize=8) + ax.set_title("3D Segmentation Visualization") + plt.legend(loc="upper right", fontsize=8) plt.show() .. parsed-literal:: - /tmp/ipykernel_3065558/68687822.py:23: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored + /tmp/ipykernel_3630/2804603389.py:23: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored ax.scatter(XCur, YCur, ZCur, s=5, cmap="jet", marker="o", label=classes[i]) -.. image:: 224-3D-segmentation-point-clouds-with-output_files/224-3D-segmentation-point-clouds-with-output_16_1.png +.. image:: 3D-segmentation-point-clouds-with-output_files/3D-segmentation-point-clouds-with-output_16_1.png diff --git a/docs/notebooks/224-3D-segmentation-point-clouds-with-output_files/224-3D-segmentation-point-clouds-with-output_11_2.png b/docs/notebooks/3D-segmentation-point-clouds-with-output_files/3D-segmentation-point-clouds-with-output_11_2.png similarity index 100% rename from docs/notebooks/224-3D-segmentation-point-clouds-with-output_files/224-3D-segmentation-point-clouds-with-output_11_2.png rename to docs/notebooks/3D-segmentation-point-clouds-with-output_files/3D-segmentation-point-clouds-with-output_11_2.png diff --git a/docs/notebooks/224-3D-segmentation-point-clouds-with-output_files/224-3D-segmentation-point-clouds-with-output_16_1.png b/docs/notebooks/3D-segmentation-point-clouds-with-output_files/3D-segmentation-point-clouds-with-output_16_1.png similarity index 100% rename from docs/notebooks/224-3D-segmentation-point-clouds-with-output_files/224-3D-segmentation-point-clouds-with-output_16_1.png rename to docs/notebooks/3D-segmentation-point-clouds-with-output_files/3D-segmentation-point-clouds-with-output_16_1.png diff --git a/docs/notebooks/401-object-detection-with-output_files/401-object-detection-with-output_19_0.png b/docs/notebooks/401-object-detection-with-output_files/401-object-detection-with-output_19_0.png deleted file mode 100644 index 9450055a626..00000000000 --- a/docs/notebooks/401-object-detection-with-output_files/401-object-detection-with-output_19_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9dd5e1eb91217c9259b4f033eece3eba51a7c0a0fd463ff493ecac3eb2695f0 -size 175085 diff --git a/docs/notebooks/402-pose-estimation-with-output_files/402-pose-estimation-with-output_20_0.png b/docs/notebooks/402-pose-estimation-with-output_files/402-pose-estimation-with-output_20_0.png deleted file mode 100644 index b36188cdcce..00000000000 --- a/docs/notebooks/402-pose-estimation-with-output_files/402-pose-estimation-with-output_20_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b015fdc7dd569a30eb758b9de1016da03907ee801a4ac9411c099fe0f8e26971 -size 107994 diff --git a/docs/notebooks/403-action-recognition-webcam-with-output_files/403-action-recognition-webcam-with-output_22_0.png b/docs/notebooks/403-action-recognition-webcam-with-output_files/403-action-recognition-webcam-with-output_22_0.png deleted file mode 100644 index ba6e9e09142..00000000000 --- a/docs/notebooks/403-action-recognition-webcam-with-output_files/403-action-recognition-webcam-with-output_22_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73634b50932f63b198dcc337ac116111e76b297b93540d45b96c0101a960b75d -size 68206 diff --git a/docs/notebooks/405-paddle-ocr-webcam-with-output_files/405-paddle-ocr-webcam-with-output_30_0.png b/docs/notebooks/405-paddle-ocr-webcam-with-output_files/405-paddle-ocr-webcam-with-output_30_0.png deleted file mode 100644 index e17e9c8c790..00000000000 --- a/docs/notebooks/405-paddle-ocr-webcam-with-output_files/405-paddle-ocr-webcam-with-output_30_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:599d38a0650f8d61e2499ca7a2e4b9e5792987c12a74eb38d369451eb5dc686c -size 590562 diff --git a/docs/notebooks/406-3D-pose-estimation-with-output.rst b/docs/notebooks/406-3D-pose-estimation-with-output.rst deleted file mode 100644 index 58ce71f495b..00000000000 --- a/docs/notebooks/406-3D-pose-estimation-with-output.rst +++ /dev/null @@ -1,1279 +0,0 @@ -Live 3D Human Pose Estimation with OpenVINO -=========================================== - -This notebook demonstrates live 3D Human Pose Estimation with OpenVINO -via a webcam. We utilize the model -`human-pose-estimation-3d-0001 `__ -from `Open Model -Zoo `__. At the end -of this notebook, you will see live inference results from your webcam -(if available). Alternatively, you can also upload a video file to test -out the algorithms. **Make sure you have properly installed -the**\ `Jupyter -extension `__\ **and -been using JupyterLab to run the demo as suggested in the -``README.md``** - - **NOTE**: *To use a webcam, you must run this Jupyter notebook on a - computer with a webcam. If you run on a remote server, the webcam - will not work. However, you can still do inference on a video file in - the final step. This demo utilizes the Python interface in - ``Three.js`` integrated with WebGL to process data from the model - inference. These results are processed and displayed in the - notebook.* - -*To ensure that the results are displayed correctly, run the code in a -recommended browser on one of the following operating systems:* *Ubuntu, -Windows: Chrome* *macOS: Safari* - -Table of contents: -^^^^^^^^^^^^^^^^^^ - -- `Prerequisites <#prerequisites>`__ -- `Imports <#imports>`__ -- `The model <#the-model>`__ - - - `Download the model <#download-the-model>`__ - - `Convert Model to OpenVINO IR - format <#convert-model-to-openvino-ir-format>`__ - - `Select inference device <#select-inference-device>`__ - - `Load the model <#load-the-model>`__ - -- `Processing <#processing>`__ - - - `Model Inference <#model-inference>`__ - - `Draw 2D Pose Overlays <#draw-2d-pose-overlays>`__ - - `Main Processing Function <#main-processing-function>`__ - -- `Run <#run>`__ - -Prerequisites -------------- - - - -**The ``pythreejs`` extension may not display properly when using the -latest Jupyter Notebook release (2.4.1). Therefore, it is recommended to -use Jupyter Lab instead.** - -.. code:: ipython3 - - %pip install pythreejs "openvino-dev>=2024.0.0" - - -.. parsed-literal:: - - Collecting pythreejs - Using cached pythreejs-2.4.2-py3-none-any.whl.metadata (5.4 kB) - Requirement already satisfied: openvino-dev>=2024.0.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2024.0.0) - - -.. parsed-literal:: - - Requirement already satisfied: ipywidgets>=7.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pythreejs) (8.1.2) - - -.. parsed-literal:: - - Collecting ipydatawidgets>=1.1.1 (from pythreejs) - Using cached ipydatawidgets-4.3.5-py2.py3-none-any.whl.metadata (1.4 kB) - Requirement already satisfied: numpy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pythreejs) (1.23.5) - Requirement already satisfied: traitlets in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pythreejs) (5.14.2) - - -.. parsed-literal:: - - Requirement already satisfied: defusedxml>=0.7.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (0.7.1) - Requirement already satisfied: networkx<=3.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2.8.8) - Requirement already satisfied: openvino-telemetry>=2023.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2023.2.1) - Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (24.0) - Requirement already satisfied: pyyaml>=5.4.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (6.0.1) - Requirement already satisfied: requests>=2.25.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2.31.0) - Requirement already satisfied: openvino==2024.0.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2024.0.0) - - -.. parsed-literal:: - - Collecting traittypes>=0.2.0 (from ipydatawidgets>=1.1.1->pythreejs) - Using cached traittypes-0.2.1-py2.py3-none-any.whl.metadata (1.0 kB) - Requirement already satisfied: comm>=0.1.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (0.2.2) - Requirement already satisfied: ipython>=6.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (8.12.3) - Requirement already satisfied: widgetsnbextension~=4.0.10 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (4.0.10) - Requirement already satisfied: jupyterlab-widgets~=3.0.10 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipywidgets>=7.2.1->pythreejs) (3.0.10) - Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.3.2) - - -.. parsed-literal:: - - Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.6) - Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2.2.1) - Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2024.2.2) - Requirement already satisfied: backcall in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.2.0) - Requirement already satisfied: decorator in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (5.1.1) - Requirement already satisfied: jedi>=0.16 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.19.1) - Requirement already satisfied: matplotlib-inline in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.1.6) - Requirement already satisfied: pickleshare in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.7.5) - Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (3.0.43) - - -.. parsed-literal:: - - Requirement already satisfied: pygments>=2.4.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (2.17.2) - Requirement already satisfied: stack-data in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.6.3) - Requirement already satisfied: typing-extensions in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (4.10.0) - Requirement already satisfied: pexpect>4.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (4.9.0) - Requirement already satisfied: parso<0.9.0,>=0.8.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.8.3) - Requirement already satisfied: ptyprocess>=0.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.7.0) - Requirement already satisfied: wcwidth in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.2.13) - - -.. parsed-literal:: - - Requirement already satisfied: executing>=1.2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (2.0.1) - Requirement already satisfied: asttokens>=2.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (2.4.1) - Requirement already satisfied: pure-eval in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (0.2.2) - Requirement already satisfied: six>=1.12.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from asttokens>=2.1.0->stack-data->ipython>=6.1.0->ipywidgets>=7.2.1->pythreejs) (1.16.0) - Using cached pythreejs-2.4.2-py3-none-any.whl (3.4 MB) - Using cached ipydatawidgets-4.3.5-py2.py3-none-any.whl (271 kB) - Using cached traittypes-0.2.1-py2.py3-none-any.whl (8.6 kB) - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - Installing collected packages: traittypes, ipydatawidgets, pythreejs - - -.. parsed-literal:: - - Successfully installed ipydatawidgets-4.3.5 pythreejs-2.4.2 traittypes-0.2.1 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Imports -------- - - - -.. code:: ipython3 - - import collections - import sys - import time - from pathlib import Path - - import cv2 - import ipywidgets as widgets - import numpy as np - from IPython.display import clear_output, display - import openvino as ov - - sys.path.append("../utils") - import notebook_utils as utils - - sys.path.append("./engine") - import engine.engine3js as engine - from engine.parse_poses import parse_poses - -The model ---------- - - - -Download the model -~~~~~~~~~~~~~~~~~~ - - - -We use ``omz_downloader``, which is a command line tool from the -``openvino-dev`` package. ``omz_downloader`` automatically creates a -directory structure and downloads the selected model. - -.. code:: ipython3 - - # directory where model will be downloaded - base_model_dir = "model" - - # model name as named in Open Model Zoo - model_name = "human-pose-estimation-3d-0001" - # selected precision (FP32, FP16) - precision = "FP32" - - BASE_MODEL_NAME = f"{base_model_dir}/public/{model_name}/{model_name}" - model_path = Path(BASE_MODEL_NAME).with_suffix(".pth") - onnx_path = Path(BASE_MODEL_NAME).with_suffix(".onnx") - - ir_model_path = f"model/public/{model_name}/{precision}/{model_name}.xml" - model_weights_path = f"model/public/{model_name}/{precision}/{model_name}.bin" - - if not model_path.exists(): - download_command = ( - f"omz_downloader " f"--name {model_name} " f"--output_dir {base_model_dir}" - ) - ! $download_command - - -.. parsed-literal:: - - ################|| Downloading human-pose-estimation-3d-0001 ||################ - - ========== Downloading model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.tar.gz - - -.. parsed-literal:: - - ... 0%, 32 KB, 912 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 64 KB, 933 KB/s, 0 seconds passed -... 0%, 96 KB, 1381 KB/s, 0 seconds passed -... 0%, 128 KB, 1798 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 0%, 160 KB, 1546 KB/s, 0 seconds passed -... 1%, 192 KB, 1845 KB/s, 0 seconds passed -... 1%, 224 KB, 2125 KB/s, 0 seconds passed -... 1%, 256 KB, 2398 KB/s, 0 seconds passed -... 1%, 288 KB, 2660 KB/s, 0 seconds passed -... 1%, 320 KB, 2317 KB/s, 0 seconds passed -... 1%, 352 KB, 2536 KB/s, 0 seconds passed -... 2%, 384 KB, 2748 KB/s, 0 seconds passed -... 2%, 416 KB, 2964 KB/s, 0 seconds passed -... 2%, 448 KB, 3173 KB/s, 0 seconds passed -... 2%, 480 KB, 3379 KB/s, 0 seconds passed -... 2%, 512 KB, 3579 KB/s, 0 seconds passed -... 3%, 544 KB, 3779 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 3%, 576 KB, 3977 KB/s, 0 seconds passed -... 3%, 608 KB, 4182 KB/s, 0 seconds passed -... 3%, 640 KB, 3708 KB/s, 0 seconds passed -... 3%, 672 KB, 3878 KB/s, 0 seconds passed -... 3%, 704 KB, 4052 KB/s, 0 seconds passed -... 4%, 736 KB, 4227 KB/s, 0 seconds passed -... 4%, 768 KB, 4401 KB/s, 0 seconds passed -... 4%, 800 KB, 4574 KB/s, 0 seconds passed -... 4%, 832 KB, 4749 KB/s, 0 seconds passed -... 4%, 864 KB, 4877 KB/s, 0 seconds passed -... 4%, 896 KB, 5044 KB/s, 0 seconds passed -... 5%, 928 KB, 5213 KB/s, 0 seconds passed -... 5%, 960 KB, 5381 KB/s, 0 seconds passed -... 5%, 992 KB, 5548 KB/s, 0 seconds passed -... 5%, 1024 KB, 5715 KB/s, 0 seconds passed -... 5%, 1056 KB, 5881 KB/s, 0 seconds passed -... 6%, 1088 KB, 6046 KB/s, 0 seconds passed -... 6%, 1120 KB, 6210 KB/s, 0 seconds passed -... 6%, 1152 KB, 6373 KB/s, 0 seconds passed -... 6%, 1184 KB, 6538 KB/s, 0 seconds passed -... 6%, 1216 KB, 6704 KB/s, 0 seconds passed -... 6%, 1248 KB, 6869 KB/s, 0 seconds passed -... 7%, 1280 KB, 7034 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 7%, 1312 KB, 6323 KB/s, 0 seconds passed -... 7%, 1344 KB, 6450 KB/s, 0 seconds passed -... 7%, 1376 KB, 6482 KB/s, 0 seconds passed -... 7%, 1408 KB, 6617 KB/s, 0 seconds passed -... 8%, 1440 KB, 6755 KB/s, 0 seconds passed -... 8%, 1472 KB, 6892 KB/s, 0 seconds passed -... 8%, 1504 KB, 7027 KB/s, 0 seconds passed -... 8%, 1536 KB, 7163 KB/s, 0 seconds passed -... 8%, 1568 KB, 7300 KB/s, 0 seconds passed -... 8%, 1600 KB, 7437 KB/s, 0 seconds passed -... 9%, 1632 KB, 7572 KB/s, 0 seconds passed -... 9%, 1664 KB, 7708 KB/s, 0 seconds passed -... 9%, 1696 KB, 7844 KB/s, 0 seconds passed -... 9%, 1728 KB, 7978 KB/s, 0 seconds passed -... 9%, 1760 KB, 8110 KB/s, 0 seconds passed -... 9%, 1792 KB, 8243 KB/s, 0 seconds passed -... 10%, 1824 KB, 8376 KB/s, 0 seconds passed -... 10%, 1856 KB, 8508 KB/s, 0 seconds passed -... 10%, 1888 KB, 8641 KB/s, 0 seconds passed -... 10%, 1920 KB, 8772 KB/s, 0 seconds passed -... 10%, 1952 KB, 8904 KB/s, 0 seconds passed -... 11%, 1984 KB, 9035 KB/s, 0 seconds passed -... 11%, 2016 KB, 9166 KB/s, 0 seconds passed -... 11%, 2048 KB, 9296 KB/s, 0 seconds passed -... 11%, 2080 KB, 9425 KB/s, 0 seconds passed -... 11%, 2112 KB, 9554 KB/s, 0 seconds passed -... 11%, 2144 KB, 9681 KB/s, 0 seconds passed -... 12%, 2176 KB, 9810 KB/s, 0 seconds passed -... 12%, 2208 KB, 9937 KB/s, 0 seconds passed -... 12%, 2240 KB, 10065 KB/s, 0 seconds passed -... 12%, 2272 KB, 10191 KB/s, 0 seconds passed -... 12%, 2304 KB, 10318 KB/s, 0 seconds passed -... 12%, 2336 KB, 10444 KB/s, 0 seconds passed -... 13%, 2368 KB, 10572 KB/s, 0 seconds passed -... 13%, 2400 KB, 10698 KB/s, 0 seconds passed -... 13%, 2432 KB, 10822 KB/s, 0 seconds passed -... 13%, 2464 KB, 10947 KB/s, 0 seconds passed -... 13%, 2496 KB, 11072 KB/s, 0 seconds passed -... 14%, 2528 KB, 11197 KB/s, 0 seconds passed -... 14%, 2560 KB, 11323 KB/s, 0 seconds passed -... 14%, 2592 KB, 11449 KB/s, 0 seconds passed -... 14%, 2624 KB, 11577 KB/s, 0 seconds passed -... 14%, 2656 KB, 10939 KB/s, 0 seconds passed -... 14%, 2688 KB, 11053 KB/s, 0 seconds passed -... 15%, 2720 KB, 11131 KB/s, 0 seconds passed -... 15%, 2752 KB, 11245 KB/s, 0 seconds passed -... 15%, 2784 KB, 11362 KB/s, 0 seconds passed -... 15%, 2816 KB, 11479 KB/s, 0 seconds passed -... 15%, 2848 KB, 11596 KB/s, 0 seconds passed -... 16%, 2880 KB, 11712 KB/s, 0 seconds passed -... 16%, 2912 KB, 11827 KB/s, 0 seconds passed -... 16%, 2944 KB, 11940 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 16%, 2976 KB, 12054 KB/s, 0 seconds passed -... 16%, 3008 KB, 12167 KB/s, 0 seconds passed -... 16%, 3040 KB, 12279 KB/s, 0 seconds passed -... 17%, 3072 KB, 12391 KB/s, 0 seconds passed -... 17%, 3104 KB, 12501 KB/s, 0 seconds passed -... 17%, 3136 KB, 12610 KB/s, 0 seconds passed -... 17%, 3168 KB, 12719 KB/s, 0 seconds passed -... 17%, 3200 KB, 12829 KB/s, 0 seconds passed -... 17%, 3232 KB, 12940 KB/s, 0 seconds passed -... 18%, 3264 KB, 13050 KB/s, 0 seconds passed -... 18%, 3296 KB, 13159 KB/s, 0 seconds passed -... 18%, 3328 KB, 13269 KB/s, 0 seconds passed -... 18%, 3360 KB, 13378 KB/s, 0 seconds passed -... 18%, 3392 KB, 13487 KB/s, 0 seconds passed -... 19%, 3424 KB, 13593 KB/s, 0 seconds passed -... 19%, 3456 KB, 13701 KB/s, 0 seconds passed -... 19%, 3488 KB, 13809 KB/s, 0 seconds passed -... 19%, 3520 KB, 13915 KB/s, 0 seconds passed -... 19%, 3552 KB, 14022 KB/s, 0 seconds passed -... 19%, 3584 KB, 14129 KB/s, 0 seconds passed -... 20%, 3616 KB, 14234 KB/s, 0 seconds passed -... 20%, 3648 KB, 14341 KB/s, 0 seconds passed -... 20%, 3680 KB, 14447 KB/s, 0 seconds passed -... 20%, 3712 KB, 14552 KB/s, 0 seconds passed -... 20%, 3744 KB, 14659 KB/s, 0 seconds passed -... 20%, 3776 KB, 14764 KB/s, 0 seconds passed -... 21%, 3808 KB, 14869 KB/s, 0 seconds passed -... 21%, 3840 KB, 14975 KB/s, 0 seconds passed -... 21%, 3872 KB, 15089 KB/s, 0 seconds passed -... 21%, 3904 KB, 15202 KB/s, 0 seconds passed -... 21%, 3936 KB, 15316 KB/s, 0 seconds passed -... 22%, 3968 KB, 15430 KB/s, 0 seconds passed -... 22%, 4000 KB, 15543 KB/s, 0 seconds passed -... 22%, 4032 KB, 15657 KB/s, 0 seconds passed -... 22%, 4064 KB, 15771 KB/s, 0 seconds passed -... 22%, 4096 KB, 15884 KB/s, 0 seconds passed -... 22%, 4128 KB, 15473 KB/s, 0 seconds passed -... 23%, 4160 KB, 15566 KB/s, 0 seconds passed -... 23%, 4192 KB, 15662 KB/s, 0 seconds passed -... 23%, 4224 KB, 15760 KB/s, 0 seconds passed -... 23%, 4256 KB, 15858 KB/s, 0 seconds passed -... 23%, 4288 KB, 15954 KB/s, 0 seconds passed -... 24%, 4320 KB, 16053 KB/s, 0 seconds passed -... 24%, 4352 KB, 16154 KB/s, 0 seconds passed -... 24%, 4384 KB, 16251 KB/s, 0 seconds passed -... 24%, 4416 KB, 16346 KB/s, 0 seconds passed -... 24%, 4448 KB, 16441 KB/s, 0 seconds passed -... 24%, 4480 KB, 16537 KB/s, 0 seconds passed -... 25%, 4512 KB, 16631 KB/s, 0 seconds passed -... 25%, 4544 KB, 16727 KB/s, 0 seconds passed -... 25%, 4576 KB, 16826 KB/s, 0 seconds passed -... 25%, 4608 KB, 16922 KB/s, 0 seconds passed -... 25%, 4640 KB, 17016 KB/s, 0 seconds passed -... 25%, 4672 KB, 17111 KB/s, 0 seconds passed -... 26%, 4704 KB, 17151 KB/s, 0 seconds passed -... 26%, 4736 KB, 17243 KB/s, 0 seconds passed -... 26%, 4768 KB, 17337 KB/s, 0 seconds passed -... 26%, 4800 KB, 17430 KB/s, 0 seconds passed -... 26%, 4832 KB, 17523 KB/s, 0 seconds passed -... 27%, 4864 KB, 17615 KB/s, 0 seconds passed -... 27%, 4896 KB, 17709 KB/s, 0 seconds passed -... 27%, 4928 KB, 17803 KB/s, 0 seconds passed -... 27%, 4960 KB, 17897 KB/s, 0 seconds passed -... 27%, 4992 KB, 17992 KB/s, 0 seconds passed -... 27%, 5024 KB, 18089 KB/s, 0 seconds passed -... 28%, 5056 KB, 18185 KB/s, 0 seconds passed -... 28%, 5088 KB, 18280 KB/s, 0 seconds passed -... 28%, 5120 KB, 18375 KB/s, 0 seconds passed -... 28%, 5152 KB, 18469 KB/s, 0 seconds passed -... 28%, 5184 KB, 18563 KB/s, 0 seconds passed -... 28%, 5216 KB, 18657 KB/s, 0 seconds passed -... 29%, 5248 KB, 18751 KB/s, 0 seconds passed -... 29%, 5280 KB, 18846 KB/s, 0 seconds passed -... 29%, 5312 KB, 18940 KB/s, 0 seconds passed -... 29%, 5344 KB, 19033 KB/s, 0 seconds passed -... 29%, 5376 KB, 19126 KB/s, 0 seconds passed -... 30%, 5408 KB, 19218 KB/s, 0 seconds passed -... 30%, 5440 KB, 19311 KB/s, 0 seconds passed -... 30%, 5472 KB, 19404 KB/s, 0 seconds passed -... 30%, 5504 KB, 19497 KB/s, 0 seconds passed -... 30%, 5536 KB, 19587 KB/s, 0 seconds passed -... 30%, 5568 KB, 19679 KB/s, 0 seconds passed -... 31%, 5600 KB, 19772 KB/s, 0 seconds passed -... 31%, 5632 KB, 19864 KB/s, 0 seconds passed -... 31%, 5664 KB, 19957 KB/s, 0 seconds passed -... 31%, 5696 KB, 20048 KB/s, 0 seconds passed -... 31%, 5728 KB, 20140 KB/s, 0 seconds passed -... 32%, 5760 KB, 20230 KB/s, 0 seconds passed -... 32%, 5792 KB, 20321 KB/s, 0 seconds passed -... 32%, 5824 KB, 20411 KB/s, 0 seconds passed -... 32%, 5856 KB, 20502 KB/s, 0 seconds passed -... 32%, 5888 KB, 20592 KB/s, 0 seconds passed -... 32%, 5920 KB, 20682 KB/s, 0 seconds passed -... 33%, 5952 KB, 20775 KB/s, 0 seconds passed -... 33%, 5984 KB, 20872 KB/s, 0 seconds passed -... 33%, 6016 KB, 20969 KB/s, 0 seconds passed -... 33%, 6048 KB, 21065 KB/s, 0 seconds passed -... 33%, 6080 KB, 21162 KB/s, 0 seconds passed -... 33%, 6112 KB, 21257 KB/s, 0 seconds passed -... 34%, 6144 KB, 21353 KB/s, 0 seconds passed -... 34%, 6176 KB, 21449 KB/s, 0 seconds passed -... 34%, 6208 KB, 21545 KB/s, 0 seconds passed -... 34%, 6240 KB, 21641 KB/s, 0 seconds passed -... 34%, 6272 KB, 21737 KB/s, 0 seconds passed -... 35%, 6304 KB, 21831 KB/s, 0 seconds passed -... 35%, 6336 KB, 21926 KB/s, 0 seconds passed -... 35%, 6368 KB, 22021 KB/s, 0 seconds passed -... 35%, 6400 KB, 22116 KB/s, 0 seconds passed -... 35%, 6432 KB, 22210 KB/s, 0 seconds passed -... 35%, 6464 KB, 22305 KB/s, 0 seconds passed -... 36%, 6496 KB, 22399 KB/s, 0 seconds passed -... 36%, 6528 KB, 22493 KB/s, 0 seconds passed -... 36%, 6560 KB, 22588 KB/s, 0 seconds passed -... 36%, 6592 KB, 22683 KB/s, 0 seconds passed -... 36%, 6624 KB, 22773 KB/s, 0 seconds passed -... 36%, 6656 KB, 22862 KB/s, 0 seconds passed -... 37%, 6688 KB, 22947 KB/s, 0 seconds passed -... 37%, 6720 KB, 23036 KB/s, 0 seconds passed -... 37%, 6752 KB, 23125 KB/s, 0 seconds passed -... 37%, 6784 KB, 23209 KB/s, 0 seconds passed -... 37%, 6816 KB, 23297 KB/s, 0 seconds passed -... 38%, 6848 KB, 23385 KB/s, 0 seconds passed -... 38%, 6880 KB, 23474 KB/s, 0 seconds passed -... 38%, 6912 KB, 23562 KB/s, 0 seconds passed -... 38%, 6944 KB, 23645 KB/s, 0 seconds passed -... 38%, 6976 KB, 23733 KB/s, 0 seconds passed -... 38%, 7008 KB, 23804 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 39%, 7040 KB, 23334 KB/s, 0 seconds passed -... 39%, 7072 KB, 23413 KB/s, 0 seconds passed -... 39%, 7104 KB, 23495 KB/s, 0 seconds passed -... 39%, 7136 KB, 23577 KB/s, 0 seconds passed -... 39%, 7168 KB, 23658 KB/s, 0 seconds passed -... 40%, 7200 KB, 23738 KB/s, 0 seconds passed -... 40%, 7232 KB, 23819 KB/s, 0 seconds passed -... 40%, 7264 KB, 23898 KB/s, 0 seconds passed -... 40%, 7296 KB, 23978 KB/s, 0 seconds passed -... 40%, 7328 KB, 24058 KB/s, 0 seconds passed -... 40%, 7360 KB, 24137 KB/s, 0 seconds passed -... 41%, 7392 KB, 24217 KB/s, 0 seconds passed -... 41%, 7424 KB, 24298 KB/s, 0 seconds passed -... 41%, 7456 KB, 24376 KB/s, 0 seconds passed -... 41%, 7488 KB, 24455 KB/s, 0 seconds passed -... 41%, 7520 KB, 24535 KB/s, 0 seconds passed -... 41%, 7552 KB, 24612 KB/s, 0 seconds passed -... 42%, 7584 KB, 24687 KB/s, 0 seconds passed -... 42%, 7616 KB, 24761 KB/s, 0 seconds passed -... 42%, 7648 KB, 24835 KB/s, 0 seconds passed -... 42%, 7680 KB, 24910 KB/s, 0 seconds passed -... 42%, 7712 KB, 24983 KB/s, 0 seconds passed -... 43%, 7744 KB, 25055 KB/s, 0 seconds passed -... 43%, 7776 KB, 25129 KB/s, 0 seconds passed -... 43%, 7808 KB, 25202 KB/s, 0 seconds passed -... 43%, 7840 KB, 25275 KB/s, 0 seconds passed -... 43%, 7872 KB, 25348 KB/s, 0 seconds passed -... 43%, 7904 KB, 25422 KB/s, 0 seconds passed -... 44%, 7936 KB, 25495 KB/s, 0 seconds passed -... 44%, 7968 KB, 25567 KB/s, 0 seconds passed -... 44%, 8000 KB, 25639 KB/s, 0 seconds passed -... 44%, 8032 KB, 25712 KB/s, 0 seconds passed -... 44%, 8064 KB, 25781 KB/s, 0 seconds passed -... 45%, 8096 KB, 25852 KB/s, 0 seconds passed -... 45%, 8128 KB, 25925 KB/s, 0 seconds passed -... 45%, 8160 KB, 25995 KB/s, 0 seconds passed -... 45%, 8192 KB, 26066 KB/s, 0 seconds passed -... 45%, 8224 KB, 26137 KB/s, 0 seconds passed -... 45%, 8256 KB, 26206 KB/s, 0 seconds passed -... 46%, 8288 KB, 26278 KB/s, 0 seconds passed -... 46%, 8320 KB, 26350 KB/s, 0 seconds passed -... 46%, 8352 KB, 26420 KB/s, 0 seconds passed -... 46%, 8384 KB, 26491 KB/s, 0 seconds passed -... 46%, 8416 KB, 26556 KB/s, 0 seconds passed -... 46%, 8448 KB, 26636 KB/s, 0 seconds passed -... 47%, 8480 KB, 26717 KB/s, 0 seconds passed -... 47%, 8512 KB, 26798 KB/s, 0 seconds passed -... 47%, 8544 KB, 26879 KB/s, 0 seconds passed -... 47%, 8576 KB, 26960 KB/s, 0 seconds passed -... 47%, 8608 KB, 27041 KB/s, 0 seconds passed -... 48%, 8640 KB, 27121 KB/s, 0 seconds passed -... 48%, 8672 KB, 27201 KB/s, 0 seconds passed -... 48%, 8704 KB, 27280 KB/s, 0 seconds passed -... 48%, 8736 KB, 27360 KB/s, 0 seconds passed -... 48%, 8768 KB, 27438 KB/s, 0 seconds passed -... 48%, 8800 KB, 27518 KB/s, 0 seconds passed -... 49%, 8832 KB, 27598 KB/s, 0 seconds passed -... 49%, 8864 KB, 27676 KB/s, 0 seconds passed -... 49%, 8896 KB, 27755 KB/s, 0 seconds passed -... 49%, 8928 KB, 27833 KB/s, 0 seconds passed -... 49%, 8960 KB, 27911 KB/s, 0 seconds passed -... 49%, 8992 KB, 27989 KB/s, 0 seconds passed -... 50%, 9024 KB, 28068 KB/s, 0 seconds passed -... 50%, 9056 KB, 28145 KB/s, 0 seconds passed -... 50%, 9088 KB, 28224 KB/s, 0 seconds passed -... 50%, 9120 KB, 28302 KB/s, 0 seconds passed -... 50%, 9152 KB, 28380 KB/s, 0 seconds passed -... 51%, 9184 KB, 28458 KB/s, 0 seconds passed -... 51%, 9216 KB, 28535 KB/s, 0 seconds passed -... 51%, 9248 KB, 28613 KB/s, 0 seconds passed -... 51%, 9280 KB, 28691 KB/s, 0 seconds passed -... 51%, 9312 KB, 28769 KB/s, 0 seconds passed -... 51%, 9344 KB, 28846 KB/s, 0 seconds passed -... 52%, 9376 KB, 28923 KB/s, 0 seconds passed -... 52%, 9408 KB, 29000 KB/s, 0 seconds passed -... 52%, 9440 KB, 29078 KB/s, 0 seconds passed -... 52%, 9472 KB, 29153 KB/s, 0 seconds passed -... 52%, 9504 KB, 29229 KB/s, 0 seconds passed -... 53%, 9536 KB, 29306 KB/s, 0 seconds passed -... 53%, 9568 KB, 29383 KB/s, 0 seconds passed -... 53%, 9600 KB, 29460 KB/s, 0 seconds passed -... 53%, 9632 KB, 29537 KB/s, 0 seconds passed -... 53%, 9664 KB, 29612 KB/s, 0 seconds passed -... 53%, 9696 KB, 29687 KB/s, 0 seconds passed -... 54%, 9728 KB, 29763 KB/s, 0 seconds passed -... 54%, 9760 KB, 29843 KB/s, 0 seconds passed -... 54%, 9792 KB, 29925 KB/s, 0 seconds passed -... 54%, 9824 KB, 30008 KB/s, 0 seconds passed -... 54%, 9856 KB, 30091 KB/s, 0 seconds passed -... 54%, 9888 KB, 30173 KB/s, 0 seconds passed -... 55%, 9920 KB, 30256 KB/s, 0 seconds passed -... 55%, 9952 KB, 30338 KB/s, 0 seconds passed -... 55%, 9984 KB, 30420 KB/s, 0 seconds passed -... 55%, 10016 KB, 30502 KB/s, 0 seconds passed -... 55%, 10048 KB, 30585 KB/s, 0 seconds passed -... 56%, 10080 KB, 30667 KB/s, 0 seconds passed -... 56%, 10112 KB, 30747 KB/s, 0 seconds passed -... 56%, 10144 KB, 30829 KB/s, 0 seconds passed -... 56%, 10176 KB, 30910 KB/s, 0 seconds passed -... 56%, 10208 KB, 30990 KB/s, 0 seconds passed -... 56%, 10240 KB, 31066 KB/s, 0 seconds passed -... 57%, 10272 KB, 31137 KB/s, 0 seconds passed -... 57%, 10304 KB, 31219 KB/s, 0 seconds passed -... 57%, 10336 KB, 31292 KB/s, 0 seconds passed -... 57%, 10368 KB, 31359 KB/s, 0 seconds passed -... 57%, 10400 KB, 31427 KB/s, 0 seconds passed -... 57%, 10432 KB, 31482 KB/s, 0 seconds passed -... 58%, 10464 KB, 31550 KB/s, 0 seconds passed -... 58%, 10496 KB, 31631 KB/s, 0 seconds passed -... 58%, 10528 KB, 31709 KB/s, 0 seconds passed -... 58%, 10560 KB, 31780 KB/s, 0 seconds passed -... 58%, 10592 KB, 31851 KB/s, 0 seconds passed -... 59%, 10624 KB, 31922 KB/s, 0 seconds passed -... 59%, 10656 KB, 31988 KB/s, 0 seconds passed -... 59%, 10688 KB, 32059 KB/s, 0 seconds passed -... 59%, 10720 KB, 32119 KB/s, 0 seconds passed -... 59%, 10752 KB, 32184 KB/s, 0 seconds passed -... 59%, 10784 KB, 32255 KB/s, 0 seconds passed -... 60%, 10816 KB, 32325 KB/s, 0 seconds passed -... 60%, 10848 KB, 32390 KB/s, 0 seconds passed -... 60%, 10880 KB, 32460 KB/s, 0 seconds passed -... 60%, 10912 KB, 32530 KB/s, 0 seconds passed -... 60%, 10944 KB, 32605 KB/s, 0 seconds passed -... 61%, 10976 KB, 32674 KB/s, 0 seconds passed -... 61%, 11008 KB, 32744 KB/s, 0 seconds passed -... 61%, 11040 KB, 32813 KB/s, 0 seconds passed -... 61%, 11072 KB, 32872 KB/s, 0 seconds passed -... 61%, 11104 KB, 32942 KB/s, 0 seconds passed -... 61%, 11136 KB, 33011 KB/s, 0 seconds passed -... 62%, 11168 KB, 33075 KB/s, 0 seconds passed -... 62%, 11200 KB, 33149 KB/s, 0 seconds passed -... 62%, 11232 KB, 33219 KB/s, 0 seconds passed -... 62%, 11264 KB, 33282 KB/s, 0 seconds passed -... 62%, 11296 KB, 33351 KB/s, 0 seconds passed -... 62%, 11328 KB, 33419 KB/s, 0 seconds passed -... 63%, 11360 KB, 33483 KB/s, 0 seconds passed -... 63%, 11392 KB, 33551 KB/s, 0 seconds passed -... 63%, 11424 KB, 33619 KB/s, 0 seconds passed -... 63%, 11456 KB, 33672 KB/s, 0 seconds passed -... 63%, 11488 KB, 33735 KB/s, 0 seconds passed -... 64%, 11520 KB, 33785 KB/s, 0 seconds passed -... 64%, 11552 KB, 33839 KB/s, 0 seconds passed -... 64%, 11584 KB, 33920 KB/s, 0 seconds passed -... 64%, 11616 KB, 34002 KB/s, 0 seconds passed -... 64%, 11648 KB, 34081 KB/s, 0 seconds passed -... 64%, 11680 KB, 34144 KB/s, 0 seconds passed -... 65%, 11712 KB, 34197 KB/s, 0 seconds passed -... 65%, 11744 KB, 34250 KB/s, 0 seconds passed -... 65%, 11776 KB, 34301 KB/s, 0 seconds passed -... 65%, 11808 KB, 34380 KB/s, 0 seconds passed -... 65%, 11840 KB, 34460 KB/s, 0 seconds passed -... 65%, 11872 KB, 34537 KB/s, 0 seconds passed -... 66%, 11904 KB, 34604 KB/s, 0 seconds passed -... 66%, 11936 KB, 34671 KB/s, 0 seconds passed -... 66%, 11968 KB, 34732 KB/s, 0 seconds passed -... 66%, 12000 KB, 34788 KB/s, 0 seconds passed -... 66%, 12032 KB, 34854 KB/s, 0 seconds passed -... 67%, 12064 KB, 34920 KB/s, 0 seconds passed -... 67%, 12096 KB, 34981 KB/s, 0 seconds passed -... 67%, 12128 KB, 35047 KB/s, 0 seconds passed -... 67%, 12160 KB, 35113 KB/s, 0 seconds passed -... 67%, 12192 KB, 35173 KB/s, 0 seconds passed -... 67%, 12224 KB, 35239 KB/s, 0 seconds passed -... 68%, 12256 KB, 35299 KB/s, 0 seconds passed -... 68%, 12288 KB, 35365 KB/s, 0 seconds passed -... 68%, 12320 KB, 35430 KB/s, 0 seconds passed -... 68%, 12352 KB, 35490 KB/s, 0 seconds passed -... 68%, 12384 KB, 35555 KB/s, 0 seconds passed -... 69%, 12416 KB, 35620 KB/s, 0 seconds passed -... 69%, 12448 KB, 35685 KB/s, 0 seconds passed -... 69%, 12480 KB, 35750 KB/s, 0 seconds passed -... 69%, 12512 KB, 35809 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 69%, 12544 KB, 35874 KB/s, 0 seconds passed -... 69%, 12576 KB, 35939 KB/s, 0 seconds passed -... 70%, 12608 KB, 36003 KB/s, 0 seconds passed -... 70%, 12640 KB, 36062 KB/s, 0 seconds passed -... 70%, 12672 KB, 36127 KB/s, 0 seconds passed -... 70%, 12704 KB, 36191 KB/s, 0 seconds passed -... 70%, 12736 KB, 36249 KB/s, 0 seconds passed -... 70%, 12768 KB, 36308 KB/s, 0 seconds passed -... 71%, 12800 KB, 36372 KB/s, 0 seconds passed -... 71%, 12832 KB, 36436 KB/s, 0 seconds passed -... 71%, 12864 KB, 36494 KB/s, 0 seconds passed -... 71%, 12896 KB, 36558 KB/s, 0 seconds passed -... 71%, 12928 KB, 36616 KB/s, 0 seconds passed -... 72%, 12960 KB, 36679 KB/s, 0 seconds passed -... 72%, 12992 KB, 36743 KB/s, 0 seconds passed -... 72%, 13024 KB, 36806 KB/s, 0 seconds passed -... 72%, 13056 KB, 36864 KB/s, 0 seconds passed -... 72%, 13088 KB, 36927 KB/s, 0 seconds passed -... 72%, 13120 KB, 36990 KB/s, 0 seconds passed -... 73%, 13152 KB, 37059 KB/s, 0 seconds passed -... 73%, 13184 KB, 37121 KB/s, 0 seconds passed -... 73%, 13216 KB, 37184 KB/s, 0 seconds passed -... 73%, 13248 KB, 37241 KB/s, 0 seconds passed -... 73%, 13280 KB, 37304 KB/s, 0 seconds passed -... 73%, 13312 KB, 37366 KB/s, 0 seconds passed -... 74%, 13344 KB, 37423 KB/s, 0 seconds passed -... 74%, 13376 KB, 37485 KB/s, 0 seconds passed -... 74%, 13408 KB, 37548 KB/s, 0 seconds passed -... 74%, 13440 KB, 37604 KB/s, 0 seconds passed -... 74%, 13472 KB, 37665 KB/s, 0 seconds passed -... 75%, 13504 KB, 37727 KB/s, 0 seconds passed -... 75%, 13536 KB, 37783 KB/s, 0 seconds passed -... 75%, 13568 KB, 37845 KB/s, 0 seconds passed -... 75%, 13600 KB, 37906 KB/s, 0 seconds passed -... 75%, 13632 KB, 37968 KB/s, 0 seconds passed -... 75%, 13664 KB, 38024 KB/s, 0 seconds passed -... 76%, 13696 KB, 38085 KB/s, 0 seconds passed -... 76%, 13728 KB, 38141 KB/s, 0 seconds passed -... 76%, 13760 KB, 38202 KB/s, 0 seconds passed -... 76%, 13792 KB, 38263 KB/s, 0 seconds passed -... 76%, 13824 KB, 38324 KB/s, 0 seconds passed -... 77%, 13856 KB, 38379 KB/s, 0 seconds passed -... 77%, 13888 KB, 38440 KB/s, 0 seconds passed -... 77%, 13920 KB, 38491 KB/s, 0 seconds passed -... 77%, 13952 KB, 38537 KB/s, 0 seconds passed -... 77%, 13984 KB, 38587 KB/s, 0 seconds passed -... 77%, 14016 KB, 38661 KB/s, 0 seconds passed -... 78%, 14048 KB, 38735 KB/s, 0 seconds passed -... 78%, 14080 KB, 38784 KB/s, 0 seconds passed -... 78%, 14112 KB, 38846 KB/s, 0 seconds passed -... 78%, 14144 KB, 38908 KB/s, 0 seconds passed -... 78%, 14176 KB, 38963 KB/s, 0 seconds passed -... 78%, 14208 KB, 39022 KB/s, 0 seconds passed -... 79%, 14240 KB, 39082 KB/s, 0 seconds passed -... 79%, 14272 KB, 39142 KB/s, 0 seconds passed -... 79%, 14304 KB, 39196 KB/s, 0 seconds passed -... 79%, 14336 KB, 39255 KB/s, 0 seconds passed -... 79%, 14368 KB, 39310 KB/s, 0 seconds passed -... 80%, 14400 KB, 39368 KB/s, 0 seconds passed -... 80%, 14432 KB, 39412 KB/s, 0 seconds passed -... 80%, 14464 KB, 39472 KB/s, 0 seconds passed -... 80%, 14496 KB, 39543 KB/s, 0 seconds passed -... 80%, 14528 KB, 39602 KB/s, 0 seconds passed -... 80%, 14560 KB, 39655 KB/s, 0 seconds passed -... 81%, 14592 KB, 39714 KB/s, 0 seconds passed -... 81%, 14624 KB, 39773 KB/s, 0 seconds passed -... 81%, 14656 KB, 39810 KB/s, 0 seconds passed -... 81%, 14688 KB, 39853 KB/s, 0 seconds passed -... 81%, 14720 KB, 39895 KB/s, 0 seconds passed -... 82%, 14752 KB, 39938 KB/s, 0 seconds passed -... 82%, 14784 KB, 39991 KB/s, 0 seconds passed -... 82%, 14816 KB, 40063 KB/s, 0 seconds passed -... 82%, 14848 KB, 40137 KB/s, 0 seconds passed -... 82%, 14880 KB, 40210 KB/s, 0 seconds passed -... 82%, 14912 KB, 40278 KB/s, 0 seconds passed -... 83%, 14944 KB, 40335 KB/s, 0 seconds passed -... 83%, 14976 KB, 40387 KB/s, 0 seconds passed -... 83%, 15008 KB, 40445 KB/s, 0 seconds passed -... 83%, 15040 KB, 40503 KB/s, 0 seconds passed -... 83%, 15072 KB, 40555 KB/s, 0 seconds passed -... 83%, 15104 KB, 40612 KB/s, 0 seconds passed -... 84%, 15136 KB, 40670 KB/s, 0 seconds passed -... 84%, 15168 KB, 40722 KB/s, 0 seconds passed -... 84%, 15200 KB, 40761 KB/s, 0 seconds passed -... 84%, 15232 KB, 40801 KB/s, 0 seconds passed -... 84%, 15264 KB, 40869 KB/s, 0 seconds passed -... 85%, 15296 KB, 40942 KB/s, 0 seconds passed -... 85%, 15328 KB, 40999 KB/s, 0 seconds passed -... 85%, 15360 KB, 41056 KB/s, 0 seconds passed -... 85%, 15392 KB, 41107 KB/s, 0 seconds passed -... 85%, 15424 KB, 41164 KB/s, 0 seconds passed -... 85%, 15456 KB, 41221 KB/s, 0 seconds passed -... 86%, 15488 KB, 41271 KB/s, 0 seconds passed -... 86%, 15520 KB, 41328 KB/s, 0 seconds passed -... 86%, 15552 KB, 41384 KB/s, 0 seconds passed -... 86%, 15584 KB, 41435 KB/s, 0 seconds passed -... 86%, 15616 KB, 41486 KB/s, 0 seconds passed -... 86%, 15648 KB, 41522 KB/s, 0 seconds passed -... 87%, 15680 KB, 41586 KB/s, 0 seconds passed -... 87%, 15712 KB, 41645 KB/s, 0 seconds passed -... 87%, 15744 KB, 41695 KB/s, 0 seconds passed -... 87%, 15776 KB, 41750 KB/s, 0 seconds passed -... 87%, 15808 KB, 41817 KB/s, 0 seconds passed -... 88%, 15840 KB, 41867 KB/s, 0 seconds passed -... 88%, 15872 KB, 41923 KB/s, 0 seconds passed -... 88%, 15904 KB, 41979 KB/s, 0 seconds passed -... 88%, 15936 KB, 42029 KB/s, 0 seconds passed -... 88%, 15968 KB, 42084 KB/s, 0 seconds passed -... 88%, 16000 KB, 42134 KB/s, 0 seconds passed -... 89%, 16032 KB, 42183 KB/s, 0 seconds passed -... 89%, 16064 KB, 42222 KB/s, 0 seconds passed -... 89%, 16096 KB, 42294 KB/s, 0 seconds passed -... 89%, 16128 KB, 42351 KB/s, 0 seconds passed -... 89%, 16160 KB, 42401 KB/s, 0 seconds passed -... 90%, 16192 KB, 42456 KB/s, 0 seconds passed -... 90%, 16224 KB, 42505 KB/s, 0 seconds passed -... 90%, 16256 KB, 42560 KB/s, 0 seconds passed -... 90%, 16288 KB, 42615 KB/s, 0 seconds passed -... 90%, 16320 KB, 42664 KB/s, 0 seconds passed -... 90%, 16352 KB, 42707 KB/s, 0 seconds passed -... 91%, 16384 KB, 42765 KB/s, 0 seconds passed -... 91%, 16416 KB, 42819 KB/s, 0 seconds passed -... 91%, 16448 KB, 42861 KB/s, 0 seconds passed -... 91%, 16480 KB, 42886 KB/s, 0 seconds passed -... 91%, 16512 KB, 42945 KB/s, 0 seconds passed -... 91%, 16544 KB, 43011 KB/s, 0 seconds passed -... 92%, 16576 KB, 43076 KB/s, 0 seconds passed -... 92%, 16608 KB, 43137 KB/s, 0 seconds passed -... 92%, 16640 KB, 43180 KB/s, 0 seconds passed -... 92%, 16672 KB, 43217 KB/s, 0 seconds passed -... 92%, 16704 KB, 43255 KB/s, 0 seconds passed -... 93%, 16736 KB, 43310 KB/s, 0 seconds passed -... 93%, 16768 KB, 43380 KB/s, 0 seconds passed -... 93%, 16800 KB, 43445 KB/s, 0 seconds passed -... 93%, 16832 KB, 43499 KB/s, 0 seconds passed -... 93%, 16864 KB, 43546 KB/s, 0 seconds passed -... 93%, 16896 KB, 43600 KB/s, 0 seconds passed -... 94%, 16928 KB, 43653 KB/s, 0 seconds passed -... 94%, 16960 KB, 43699 KB/s, 0 seconds passed -... 94%, 16992 KB, 43752 KB/s, 0 seconds passed -... 94%, 17024 KB, 43805 KB/s, 0 seconds passed -... 94%, 17056 KB, 43852 KB/s, 0 seconds passed -... 94%, 17088 KB, 43704 KB/s, 0 seconds passed -... 95%, 17120 KB, 43756 KB/s, 0 seconds passed -... 95%, 17152 KB, 43809 KB/s, 0 seconds passed -... 95%, 17184 KB, 43861 KB/s, 0 seconds passed -... 95%, 17216 KB, 43908 KB/s, 0 seconds passed -... 95%, 17248 KB, 43960 KB/s, 0 seconds passed -... 96%, 17280 KB, 44012 KB/s, 0 seconds passed -... 96%, 17312 KB, 44058 KB/s, 0 seconds passed -... 96%, 17344 KB, 44111 KB/s, 0 seconds passed -... 96%, 17376 KB, 44163 KB/s, 0 seconds passed -... 96%, 17408 KB, 44215 KB/s, 0 seconds passed -... 96%, 17440 KB, 44261 KB/s, 0 seconds passed -... 97%, 17472 KB, 44313 KB/s, 0 seconds passed -... 97%, 17504 KB, 44358 KB/s, 0 seconds passed -... 97%, 17536 KB, 44410 KB/s, 0 seconds passed -... 97%, 17568 KB, 44461 KB/s, 0 seconds passed -... 97%, 17600 KB, 44507 KB/s, 0 seconds passed -... 98%, 17632 KB, 44559 KB/s, 0 seconds passed -... 98%, 17664 KB, 44610 KB/s, 0 seconds passed -... 98%, 17696 KB, 44655 KB/s, 0 seconds passed -... 98%, 17728 KB, 44707 KB/s, 0 seconds passed -... 98%, 17760 KB, 44758 KB/s, 0 seconds passed -... 98%, 17792 KB, 44809 KB/s, 0 seconds passed -... 99%, 17824 KB, 44855 KB/s, 0 seconds passed -... 99%, 17856 KB, 44905 KB/s, 0 seconds passed -... 99%, 17888 KB, 44934 KB/s, 0 seconds passed -... 99%, 17920 KB, 44969 KB/s, 0 seconds passed -... 99%, 17952 KB, 45010 KB/s, 0 seconds passed -... 99%, 17984 KB, 45074 KB/s, 0 seconds passed -... 100%, 17990 KB, 45070 KB/s, 0 seconds passed - - - -.. parsed-literal:: - - - ========== Unpacking model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.tar.gz - - -Convert Model to OpenVINO IR format -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -The selected model comes from the public directory, which means it must -be converted into OpenVINO Intermediate Representation (OpenVINO IR). We -use ``omz_converter`` to convert the ONNX format model to the OpenVINO -IR format. - -.. code:: ipython3 - - if not onnx_path.exists(): - convert_command = ( - f"omz_converter " - f"--name {model_name} " - f"--precisions {precision} " - f"--download_dir {base_model_dir} " - f"--output_dir {base_model_dir}" - ) - ! $convert_command - - -.. parsed-literal:: - - ========== Converting human-pose-estimation-3d-0001 to ONNX - Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-path=model/public/human-pose-estimation-3d-0001 --model-name=PoseEstimationWithMobileNet --model-param=is_convertible_by_mo=True --import-module=model --weights=model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.pth --input-shape=1,3,256,448 --input-names=data --output-names=features,heatmaps,pafs --output-file=model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.onnx - - - -.. parsed-literal:: - - ONNX check passed successfully. - - -.. parsed-literal:: - - - ========== Converting human-pose-estimation-3d-0001 to IR (FP32) - Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=model/public/human-pose-estimation-3d-0001/FP32 --model_name=human-pose-estimation-3d-0001 --input=data '--mean_values=data[128.0,128.0,128.0]' '--scale_values=data[255.0,255.0,255.0]' --output=features,heatmaps,pafs --input_model=model/public/human-pose-estimation-3d-0001/human-pose-estimation-3d-0001.onnx '--layout=data(NCHW)' '--input_shape=[1, 3, 256, 448]' --compress_to_fp16=False - - - -.. parsed-literal:: - - [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. - Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html - [ SUCCESS ] Generated IR version 11 model. - [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/406-3D-pose-estimation-webcam/model/public/human-pose-estimation-3d-0001/FP32/human-pose-estimation-3d-0001.xml - [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/406-3D-pose-estimation-webcam/model/public/human-pose-estimation-3d-0001/FP32/human-pose-estimation-3d-0001.bin - - -Select inference device -~~~~~~~~~~~~~~~~~~~~~~~ - - -Select device from dropdown list for running inference using OpenVINO - -.. code:: ipython3 - - core = ov.Core() - - device = widgets.Dropdown( - options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', - disabled=False, - ) - - device - - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') - - - -Load the model -~~~~~~~~~~~~~~ - - - -Converted models are located in a fixed structure, which indicates -vendor, model name and precision. - -First, initialize the inference engine, OpenVINO Runtime. Then, read the -network architecture and model weights from the ``.bin`` and ``.xml`` -files to compile for the desired device. An inference request is then -created to infer the compiled model. - -.. code:: ipython3 - - # initialize inference engine - core = ov.Core() - # read the network and corresponding weights from file - model = core.read_model(model=ir_model_path, weights=model_weights_path) - # load the model on the specified device - compiled_model = core.compile_model(model=model, device_name=device.value) - infer_request = compiled_model.create_infer_request() - input_tensor_name = model.inputs[0].get_any_name() - - # get input and output names of nodes - input_layer = compiled_model.input(0) - output_layers = list(compiled_model.outputs) - -The input for the model is data from the input image and the outputs are -heat maps, PAF (part affinity fields) and features. - -.. code:: ipython3 - - input_layer.any_name, [o.any_name for o in output_layers] - - - - -.. parsed-literal:: - - ('data', ['features', 'heatmaps', 'pafs']) - - - -Processing ----------- - - - -Model Inference -~~~~~~~~~~~~~~~ - - - -Frames captured from video files or the live webcam are used as the -input for the 3D model. This is how you obtain the output heat maps, PAF -(part affinity fields) and features. - -.. code:: ipython3 - - def model_infer(scaled_img, stride): - """ - Run model inference on the input image - - Parameters: - scaled_img: resized image according to the input size of the model - stride: int, the stride of the window - """ - - # Remove excess space from the picture - img = scaled_img[ - 0 : scaled_img.shape[0] - (scaled_img.shape[0] % stride), - 0 : scaled_img.shape[1] - (scaled_img.shape[1] % stride), - ] - - img = np.transpose(img, (2, 0, 1))[ - None, - ] - infer_request.infer({input_tensor_name: img}) - # A set of three inference results is obtained - results = { - name: infer_request.get_tensor(name).data[:] - for name in {"features", "heatmaps", "pafs"} - } - # Get the results - results = (results["features"][0], results["heatmaps"][0], results["pafs"][0]) - - return results - -Draw 2D Pose Overlays -~~~~~~~~~~~~~~~~~~~~~ - - - -We need to define some connections between the joints in advance, so -that we can draw the structure of the human body in the resulting image -after obtaining the inference results. Joints are drawn as circles and -limbs are drawn as lines. The code is based on the `3D Human Pose -Estimation -Demo `__ -from Open Model Zoo. - -.. code:: ipython3 - - # 3D edge index array - body_edges = np.array( - [ - [0, 1], - [0, 9], [9, 10], [10, 11], # neck - r_shoulder - r_elbow - r_wrist - [0, 3], [3, 4], [4, 5], # neck - l_shoulder - l_elbow - l_wrist - [1, 15], [15, 16], # nose - l_eye - l_ear - [1, 17], [17, 18], # nose - r_eye - r_ear - [0, 6], [6, 7], [7, 8], # neck - l_hip - l_knee - l_ankle - [0, 12], [12, 13], [13, 14], # neck - r_hip - r_knee - r_ankle - ] - ) - - - body_edges_2d = np.array( - [ - [0, 1], # neck - nose - [1, 16], [16, 18], # nose - l_eye - l_ear - [1, 15], [15, 17], # nose - r_eye - r_ear - [0, 3], [3, 4], [4, 5], # neck - l_shoulder - l_elbow - l_wrist - [0, 9], [9, 10], [10, 11], # neck - r_shoulder - r_elbow - r_wrist - [0, 6], [6, 7], [7, 8], # neck - l_hip - l_knee - l_ankle - [0, 12], [12, 13], [13, 14], # neck - r_hip - r_knee - r_ankle - ] - ) - - - def draw_poses(frame, poses_2d, scaled_img, use_popup): - """ - Draw 2D pose overlays on the image to visualize estimated poses. - Joints are drawn as circles and limbs are drawn as lines. - - :param frame: the input image - :param poses_2d: array of human joint pairs - """ - for pose in poses_2d: - pose = np.array(pose[0:-1]).reshape((-1, 3)).transpose() - was_found = pose[2] > 0 - - pose[0], pose[1] = ( - pose[0] * frame.shape[1] / scaled_img.shape[1], - pose[1] * frame.shape[0] / scaled_img.shape[0], - ) - - # Draw joints. - for edge in body_edges_2d: - if was_found[edge[0]] and was_found[edge[1]]: - cv2.line( - frame, - tuple(pose[0:2, edge[0]].astype(np.int32)), - tuple(pose[0:2, edge[1]].astype(np.int32)), - (255, 255, 0), - 4, - cv2.LINE_AA, - ) - # Draw limbs. - for kpt_id in range(pose.shape[1]): - if pose[2, kpt_id] != -1: - cv2.circle( - frame, - tuple(pose[0:2, kpt_id].astype(np.int32)), - 3, - (0, 255, 255), - -1, - cv2.LINE_AA, - ) - - return frame - -Main Processing Function -~~~~~~~~~~~~~~~~~~~~~~~~ - - - -Run 3D pose estimation on the specified source. It could be either a -webcam feed or a video file. - -.. code:: ipython3 - - def run_pose_estimation(source=0, flip=False, use_popup=False, skip_frames=0): - """ - 2D image as input, using OpenVINO as inference backend, - get joints 3D coordinates, and draw 3D human skeleton in the scene - - :param source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. - :param flip: To be used by VideoPlayer function for flipping capture image. - :param use_popup: False for showing encoded frames over this notebook, True for creating a popup window. - :param skip_frames: Number of frames to skip at the beginning of the video. - """ - - focal_length = -1 # default - stride = 8 - player = None - skeleton_set = None - - try: - # create video player to play with target fps video_path - # get the frame from camera - # You can skip first N frames to fast forward video. change 'skip_first_frames' - player = utils.VideoPlayer(source, flip=flip, fps=30, skip_first_frames=skip_frames) - # start capturing - player.start() - - input_image = player.next() - # set the window size - resize_scale = 450 / input_image.shape[1] - windows_width = int(input_image.shape[1] * resize_scale) - windows_height = int(input_image.shape[0] * resize_scale) - - # use visualization library - engine3D = engine.Engine3js(grid=True, axis=True, view_width=windows_width, view_height=windows_height) - - if use_popup: - # display the 3D human pose in this notebook, and origin frame in popup window - display(engine3D.renderer) - title = "Press ESC to Exit" - cv2.namedWindow(title, cv2.WINDOW_KEEPRATIO | cv2.WINDOW_AUTOSIZE) - else: - # set the 2D image box, show both human pose and image in the notebook - imgbox = widgets.Image( - format="jpg", height=windows_height, width=windows_width - ) - display(widgets.HBox([engine3D.renderer, imgbox])) - - skeleton = engine.Skeleton(body_edges=body_edges) - - processing_times = collections.deque() - - while True: - # grab the frame - frame = player.next() - if frame is None: - print("Source ended") - break - - # resize image and change dims to fit neural network input - # (see https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/human-pose-estimation-3d-0001) - scaled_img = cv2.resize(frame, dsize=(model.inputs[0].shape[3], model.inputs[0].shape[2])) - - if focal_length < 0: # Focal length is unknown - focal_length = np.float32(0.8 * scaled_img.shape[1]) - - # inference start - start_time = time.time() - # get results - inference_result = model_infer(scaled_img, stride) - - # inference stop - stop_time = time.time() - processing_times.append(stop_time - start_time) - # Process the point to point coordinates of the data - poses_3d, poses_2d = parse_poses(inference_result, 1, stride, focal_length, True) - - # use processing times from last 200 frames - if len(processing_times) > 200: - processing_times.popleft() - - processing_time = np.mean(processing_times) * 1000 - fps = 1000 / processing_time - - if len(poses_3d) > 0: - # From here, you can rotate the 3D point positions using the function "draw_poses", - # or you can directly make the correct mapping below to properly display the object image on the screen - poses_3d_copy = poses_3d.copy() - x = poses_3d_copy[:, 0::4] - y = poses_3d_copy[:, 1::4] - z = poses_3d_copy[:, 2::4] - poses_3d[:, 0::4], poses_3d[:, 1::4], poses_3d[:, 2::4] = ( - -z + np.ones(poses_3d[:, 2::4].shape) * 200, - -y + np.ones(poses_3d[:, 2::4].shape) * 100, - -x, - ) - - poses_3d = poses_3d.reshape(poses_3d.shape[0], 19, -1)[:, :, 0:3] - people = skeleton(poses_3d=poses_3d) - - try: - engine3D.scene_remove(skeleton_set) - except Exception: - pass - - engine3D.scene_add(people) - skeleton_set = people - - # draw 2D - frame = draw_poses(frame, poses_2d, scaled_img, use_popup) - - else: - try: - engine3D.scene_remove(skeleton_set) - skeleton_set = None - except Exception: - pass - - cv2.putText( - frame, - f"Inference time: {processing_time:.1f}ms ({fps:.1f} FPS)", - (10, 30), - cv2.FONT_HERSHEY_COMPLEX, - 0.7, - (0, 0, 255), - 1, - cv2.LINE_AA, - ) - - if use_popup: - cv2.imshow(title, frame) - key = cv2.waitKey(1) - # escape = 27, use ESC to exit - if key == 27: - break - else: - # encode numpy array to jpg - imgbox.value = cv2.imencode( - ".jpg", - frame, - params=[cv2.IMWRITE_JPEG_QUALITY, 90], - )[1].tobytes() - - engine3D.renderer.render(engine3D.scene, engine3D.cam) - - except KeyboardInterrupt: - print("Interrupted") - except RuntimeError as e: - print(e) - finally: - clear_output() - if player is not None: - # stop capturing - player.stop() - if use_popup: - cv2.destroyAllWindows() - if skeleton_set: - engine3D.scene_remove(skeleton_set) - -Run ---- - - - -Run, using a webcam as the video input. By default, the primary webcam -is set with ``source=0``. If you have multiple webcams, each one will be -assigned a consecutive number starting at 0. Set ``flip=True`` when -using a front-facing camera. Some web browsers, especially Mozilla -Firefox, may cause flickering. If you experience flickering, set -``use_popup=True``. - - **NOTE**: - - *1. To use this notebook with a webcam, you need to run the notebook - on a computer with a webcam. If you run the notebook on a server - (e.g. Binder), the webcam will not work.* - - *2. Popup mode may not work if you run this notebook on a remote - computer (e.g. Binder).* - -If you do not have a webcam, you can still run this demo with a video -file. Any `format supported by -OpenCV `__ -will work. - -Using the following method, you can click and move your mouse over the -picture on the left to interact. - -.. code:: ipython3 - - USE_WEBCAM = False - - cam_id = 0 - video_path = "https://github.com/intel-iot-devkit/sample-videos/raw/master/face-demographics-walking.mp4" - - source = cam_id if USE_WEBCAM else video_path - - run_pose_estimation(source=source, flip=isinstance(source, int), use_popup=False) diff --git a/docs/notebooks/407-person-tracking-with-output_files/407-person-tracking-with-output_17_3.png b/docs/notebooks/407-person-tracking-with-output_files/407-person-tracking-with-output_17_3.png deleted file mode 100644 index 1be4ba9fa45..00000000000 --- a/docs/notebooks/407-person-tracking-with-output_files/407-person-tracking-with-output_17_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eacdcf6e619052ffe8bea1810c93678559cf210808d871e0e2b8a81939e1fd26 -size 106259 diff --git a/docs/notebooks/407-person-tracking-with-output_files/407-person-tracking-with-output_25_0.png b/docs/notebooks/407-person-tracking-with-output_files/407-person-tracking-with-output_25_0.png deleted file mode 100644 index d8cf16f16e7..00000000000 --- a/docs/notebooks/407-person-tracking-with-output_files/407-person-tracking-with-output_25_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:effa513581f21c88361a2a8c7612f4d66f90d3f25ee9c52d007b33a6470d9b71 -size 219379 diff --git a/docs/notebooks/403-action-recognition-webcam-with-output.rst b/docs/notebooks/action-recognition-webcam-with-output.rst similarity index 94% rename from docs/notebooks/403-action-recognition-webcam-with-output.rst rename to docs/notebooks/action-recognition-webcam-with-output.rst index 6eeb203f20f..3b3455ba9b4 100644 --- a/docs/notebooks/403-action-recognition-webcam-with-output.rst +++ b/docs/notebooks/action-recognition-webcam-with-output.rst @@ -57,14 +57,9 @@ Table of contents: .. code:: ipython3 - %pip install -q "openvino-dev>=2024.0.0" + %pip install -q "openvino>=2024.0.0" "opencv-python" "tqdm" -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -91,11 +86,12 @@ Imports from openvino.runtime.ie_api import CompiledModel # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) import notebook_utils as utils The models @@ -132,12 +128,8 @@ and the system automatically downloads the two models model_name = "action-recognition-0001" # Selected precision (FP32, FP16, FP16-INT8). precision = "FP16" - model_path_decoder = ( - f"model/intel/{model_name}/{model_name}-decoder/{precision}/{model_name}-decoder.xml" - ) - model_path_encoder = ( - f"model/intel/{model_name}/{model_name}-encoder/{precision}/{model_name}-encoder.xml" - ) + model_path_decoder = f"model/intel/{model_name}/{model_name}-decoder/{precision}/{model_name}-decoder.xml" + model_path_encoder = f"model/intel/{model_name}/{model_name}-encoder/{precision}/{model_name}-encoder.xml" encoder_url = f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/temp/{model_name}/{model_name}-encoder/{precision}/{model_name}-encoder.xml" decoder_url = f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/temp/{model_name}/{model_name}-decoder/{precision}/{model_name}-decoder.xml" @@ -177,10 +169,10 @@ also provides the text file embedded into this notebook. # Download the text from the openvino_notebooks storage vocab_file_path = utils.download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/text/kinetics.txt", - directory="data" + directory="data", ) - with vocab_file_path.open(mode='r') as f: + with vocab_file_path.open(mode="r") as f: labels = [line.strip() for line in f] print(labels[0:9], np.shape(labels)) @@ -223,8 +215,8 @@ Select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -255,11 +247,11 @@ Model Initialization function Read the network and weights from a file, load the model on CPU and get input and output names of nodes - :param: + :param: model: model architecture path *.xml device: inference device :retuns: - compiled_model: Compiled model + compiled_model: Compiled model input_key: Input node for model output_key: Output node for model """ @@ -449,10 +441,7 @@ Following the pipeline above, you will use the next functions to: return preprocessed, roi - def encoder( - preprocessed: np.ndarray, - compiled_model: CompiledModel - ) -> List: + def encoder(preprocessed: np.ndarray, compiled_model: CompiledModel) -> List: """ Encoder Inference per frame. This function calls the network previously configured for the encoder model (compiled_model), extracts the data @@ -463,7 +452,7 @@ Following the pipeline above, you will use the next functions to: :returns: encoder_output: embedding layer that is appended with each arriving frame """ output_key_en = compiled_model.output(0) - + # Get results on action-recognition-0001-encoder model infer_result_encoder = compiled_model([preprocessed])[output_key_en] return infer_result_encoder @@ -692,11 +681,10 @@ multi-camera systems). -.. image:: 403-action-recognition-webcam-with-output_files/403-action-recognition-webcam-with-output_22_0.png +.. image:: action-recognition-webcam-with-output_files/action-recognition-webcam-with-output_22_0.png .. parsed-literal:: Source ended - diff --git a/docs/notebooks/action-recognition-webcam-with-output_files/action-recognition-webcam-with-output_22_0.png b/docs/notebooks/action-recognition-webcam-with-output_files/action-recognition-webcam-with-output_22_0.png new file mode 100644 index 00000000000..3fa1f8411a3 --- /dev/null +++ b/docs/notebooks/action-recognition-webcam-with-output_files/action-recognition-webcam-with-output_22_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a88055dc2dbfefd2c65a09518b7c3d76951fee1961547834059ed7dadb633cc +size 69011 diff --git a/docs/notebooks/all_notebooks_paths.txt b/docs/notebooks/all_notebooks_paths.txt index 821fea0cd05..a9700daeaef 100644 --- a/docs/notebooks/all_notebooks_paths.txt +++ b/docs/notebooks/all_notebooks_paths.txt @@ -1,155 +1,161 @@ -notebooks/001-hello-world/001-hello-world.ipynb -notebooks/002-openvino-api/002-openvino-api.ipynb -notebooks/003-hello-segmentation/003-hello-segmentation.ipynb -notebooks/004-hello-detection/004-hello-detection.ipynb -notebooks/101-tensorflow-classification-to-openvino/101-tensorflow-classification-to-openvino.ipynb -notebooks/102-pytorch-to-openvino/102-pytorch-onnx-to-openvino.ipynb -notebooks/102-pytorch-to-openvino/102-pytorch-to-openvino.ipynb -notebooks/103-paddle-to-openvino/103-paddle-to-openvino-classification.ipynb -notebooks/104-model-tools/104-model-tools.ipynb -notebooks/105-language-quantize-bert/105-language-quantize-bert.ipynb -notebooks/106-auto-device/106-auto-device.ipynb -notebooks/107-speech-recognition-quantization/107-speech-recognition-quantization-data2vec.ipynb -notebooks/107-speech-recognition-quantization/107-speech-recognition-quantization-wav2vec2.ipynb -notebooks/108-gpu-device/108-gpu-device.ipynb -notebooks/109-performance-tricks/109-latency-tricks.ipynb -notebooks/109-performance-tricks/109-throughput-tricks.ipynb -notebooks/110-ct-segmentation-quantize/110-ct-scan-live-inference.ipynb -notebooks/110-ct-segmentation-quantize/110-ct-segmentation-quantize-nncf.ipynb -notebooks/110-ct-segmentation-quantize/data-preparation-ct-scan.ipynb -notebooks/110-ct-segmentation-quantize/pytorch-monai-training.ipynb -notebooks/112-pytorch-post-training-quantization-nncf/112-pytorch-post-training-quantization-nncf.ipynb -notebooks/113-image-classification-quantization/113-image-classification-quantization.ipynb -notebooks/115-async-api/115-async-api.ipynb -notebooks/116-sparsity-optimization/116-sparsity-optimization.ipynb -notebooks/117-model-server/117-model-server.ipynb -notebooks/118-optimize-preprocessing/118-optimize-preprocessing.ipynb -notebooks/119-tflite-to-openvino/119-tflite-to-openvino.ipynb -notebooks/120-tensorflow-object-detection-to-openvino/120-tensorflow-instance-segmentation-to-openvino.ipynb -notebooks/120-tensorflow-object-detection-to-openvino/120-tensorflow-object-detection-to-openvino.ipynb -notebooks/121-convert-to-openvino/121-convert-to-openvino.ipynb -notebooks/121-convert-to-openvino/121-legacy-mo-convert-to-openvino.ipynb -notebooks/122-quantizing-model-with-accuracy-control/122-speech-recognition-quantization-wav2vec2.ipynb -notebooks/122-quantizing-model-with-accuracy-control/122-yolov8-quantization-with-accuracy-control.ipynb -notebooks/123-detectron2-to-openvino/123-detectron2-to-openvino.ipynb -notebooks/124-hugging-face-hub/124-hugging-face-hub.ipynb -notebooks/125-torchvision-zoo-to-openvino/125-convnext-classification.ipynb -notebooks/125-torchvision-zoo-to-openvino/125-lraspp-segmentation.ipynb -notebooks/126-tensorflow-hub/126-tensorflow-hub.ipynb -notebooks/127-big-transfer-quantization/127-tensorflow-bit-image-classification-nncf-quantization.ipynb -notebooks/128-openvino-tokenizers/128-opnevino-tokenizers.ipynb -notebooks/201-vision-monodepth/201-vision-monodepth.ipynb -notebooks/202-vision-superresolution/202-vision-superresolution-image.ipynb -notebooks/202-vision-superresolution/202-vision-superresolution-video.ipynb -notebooks/203-meter-reader/203-meter-reader.ipynb -notebooks/204-segmenter-semantic-segmentation/204-segmenter-semantic-segmentation.ipynb -notebooks/205-vision-background-removal/205-vision-background-removal.ipynb -notebooks/206-vision-paddlegan-anime/206-vision-paddlegan-anime.ipynb -notebooks/207-vision-paddlegan-superresolution/207-vision-paddlegan-superresolution.ipynb -notebooks/208-optical-character-recognition/208-optical-character-recognition.ipynb -notebooks/209-handwritten-ocr/209-handwritten-ocr.ipynb -notebooks/210-slowfast-video-recognition/210-slowfast-video-recognition.ipynb -notebooks/211-speech-to-text/211-speech-to-text.ipynb -notebooks/212-pyannote-speaker-diarization/212-pyannote-speaker-diarization.ipynb -notebooks/213-question-answering/213-question-answering.ipynb -notebooks/214-grammar-correction/214-grammar-correction.ipynb -notebooks/215-image-inpainting/215-image-inpainting.ipynb -notebooks/216-attention-center/216-attention-center.ipynb -notebooks/218-vehicle-detection-and-recognition/218-vehicle-detection-and-recognition.ipynb -notebooks/219-knowledge-graphs-conve/219-knowledge-graphs-conve.ipynb -notebooks/220-cross-lingual-books-alignment/220-cross-lingual-books-alignment.ipynb -notebooks/221-machine-translation/221-machine-translation.ipynb -notebooks/222-vision-image-colorization/222-vision-image-colorization.ipynb -notebooks/223-text-prediction/223-text-prediction.ipynb -notebooks/224-3D-segmentation-point-clouds/224-3D-segmentation-point-clouds.ipynb -notebooks/225-stable-diffusion-text-to-image/225-stable-diffusion-text-to-image.ipynb -notebooks/226-yolov7-optimization/226-yolov7-optimization.ipynb -notebooks/227-whisper-subtitles-generation/227-whisper-convert.ipynb -notebooks/227-whisper-subtitles-generation/227-whisper-nncf-quantize.ipynb -notebooks/228-clip-zero-shot-image-classification/228-clip-zero-shot-classification.ipynb -notebooks/229-distilbert-sequence-classification/229-distilbert-sequence-classification.ipynb -notebooks/230-yolov8-optimization/230-yolov8-instance-segmentation.ipynb -notebooks/230-yolov8-optimization/230-yolov8-keypoint-detection.ipynb -notebooks/230-yolov8-optimization/230-yolov8-object-detection.ipynb -notebooks/231-instruct-pix2pix-image-editing/231-instruct-pix2pix-image-editing.ipynb -notebooks/232-clip-language-saliency-map/232-clip-language-saliency-map.ipynb -notebooks/233-blip-visual-language-processing/233-blip-visual-language-processing.ipynb -notebooks/234-encodec-audio-compression/234-encodec-audio-compression.ipynb -notebooks/235-controlnet-stable-diffusion/235-controlnet-stable-diffusion.ipynb -notebooks/236-stable-diffusion-v2/236-stable-diffusion-v2-infinite-zoom.ipynb -notebooks/236-stable-diffusion-v2/236-stable-diffusion-v2-optimum-demo.ipynb -notebooks/236-stable-diffusion-v2/236-stable-diffusion-v2-text-to-image-demo.ipynb -notebooks/236-stable-diffusion-v2/236-stable-diffusion-v2-text-to-image.ipynb -notebooks/237-segment-anything/237-segment-anything.ipynb -notebooks/238-deepfloyd-if/238-deep-floyd-if-convert.ipynb -notebooks/238-deepfloyd-if/238-deep-floyd-if-optimize.ipynb -notebooks/239-image-bind/239-image-bind-convert.ipynb -notebooks/239-image-bind/239-image-bind-quantize.ipynb -notebooks/240-dolly-2-instruction-following/240-dolly-2-instruction-following.ipynb -notebooks/241-riffusion-text-to-music/241-riffusion-text-to-music.ipynb -notebooks/242-freevc-voice-conversion/242-freevc-voice-conversion.ipynb -notebooks/243-tflite-selfie-segmentation/243-tflite-selfie-segmentation.ipynb -notebooks/244-named-entity-recognition/244-named-entity-recognition.ipynb -notebooks/245-typo-detector/245-typo-detector.ipynb -notebooks/246-depth-estimation-videpth/246-depth-estimation-videpth.ipynb -notebooks/247-code-language-id/247-code-language-id.ipynb -notebooks/248-stable-diffusion-xl/248-segmind-vegart.ipynb -notebooks/248-stable-diffusion-xl/248-ssd-b1.ipynb -notebooks/248-stable-diffusion-xl/248-stable-diffusion-xl.ipynb -notebooks/249-oneformer-segmentation/249-oneformer-segmentation.ipynb -notebooks/250-music-generation/250-music-generation.ipynb -notebooks/251-tiny-sd-image-generation/251-tiny-sd-image-generation.ipynb -notebooks/252-fastcomposer-image-generation/252-fastcomposer-image-generation.ipynb -notebooks/253-zeroscope-text2video/253-zeroscope-text2video.ipynb -notebooks/254-llm-chatbot/254-llm-chatbot.ipynb -notebooks/254-llm-chatbot/254-rag-chatbot.ipynb -notebooks/255-mms-massively-multilingual-speech/255-mms-massively-multilingual-speech.ipynb -notebooks/256-bark-text-to-audio/256-bark-text-to-audio.ipynb -notebooks/257-llava-multimodal-chatbot/257-llava-multimodal-chatbot.ipynb -notebooks/257-llava-multimodal-chatbot/257-videollava-multimodal-chatbot.ipynb -notebooks/258-blip-diffusion-subject-generation/258-blip-diffusion-subject-generation.ipynb -notebooks/259-decidiffusion-image-generation/259-decidiffusion-image-generation.ipynb -notebooks/260-pix2struct-docvqa/260-pix2struct-docvqa.ipynb -notebooks/261-fast-segment-anything/261-fast-segment-anything.ipynb -notebooks/262-softvc-voice-conversion/262-softvc-voice-conversion.ipynb -notebooks/263-latent-consistency-models-image-generation/263-latent-consistency-models-image-generation.ipynb -notebooks/263-latent-consistency-models-image-generation/263-latent-consistency-models-optimum-demo.ipynb -notebooks/263-latent-consistency-models-image-generation/263-lcm-lora-controlnet.ipynb -notebooks/264-qrcode-monster/264-qrcode-monster.ipynb -notebooks/265-wuerstchen-image-generation/265-wuerstchen-image-generation.ipynb -notebooks/266-speculative-sampling/266-speculative-sampling.ipynb -notebooks/267-distil-whisper-asr/267-distil-whisper-asr.ipynb -notebooks/268-table-question-answering/268-table-question-answering.ipynb -notebooks/269-film-slowmo/269-film-slowmo.ipynb -notebooks/270-sound-generation-audioldm2/270-sound-generation-audioldm2.ipynb -notebooks/271-sdxl-turbo/271-sdxl-turbo.ipynb -notebooks/272-paint-by-example/272-paint-by-example.ipynb -notebooks/273-stable-zephyr-3b-chatbot/273-stable-zephyr-3b-chatbot.ipynb -notebooks/274-efficient-sam/274-efficient-sam.ipynb -notebooks/275-llm-question-answering/275-llm-question-answering.ipynb -notebooks/276-stable-diffusion-torchdynamo-backend/276-stable-diffusion-torchdynamo-backend.ipynb -notebooks/277-amused-lightweight-text-to-image/277-amused-lightweight-text-to-image.ipynb -notebooks/278-stable-diffusion-ip-adapter/278-stable-diffusion-ip-adapter.ipynb -notebooks/279-mobilevlm-language-assistant/279-mobilevlm-language-assistant.ipynb -notebooks/280-depth-anything/280-depth-anything.ipynb -notebooks/281-kosmos2-multimodal-large-language-model/281-kosmos2-multimodal-large-language-model.ipynb -notebooks/282-siglip-zero-shot-image-classification/282-siglip-zero-shot-image-classification.ipynb -notebooks/283-photo-maker/283-photo-maker.ipynb -notebooks/284-openvoice/284-openvoice.ipynb -notebooks/285-surya-line-level-text-detection/285-surya-line-level-text-detection.ipynb -notebooks/286-instant-id/286-instant-id.ipynb -notebooks/287-yolov9-optimization/287-yolov9-optimization.ipynb -notebooks/288-grounded-segment-anything/288-grounded-segment-anything.ipynb -notebooks/289-mobileclip-video-search/289-mobileclip-video-search.ipynb -notebooks/301-tensorflow-training-openvino/301-tensorflow-training-openvino.ipynb -notebooks/301-tensorflow-training-openvino/301-tensorflow-training-openvino-nncf.ipynb -notebooks/302-pytorch-quantization-aware-training/302-pytorch-quantization-aware-training.ipynb -notebooks/305-tensorflow-quantization-aware-training/305-tensorflow-quantization-aware-training.ipynb -notebooks/401-object-detection-webcam/401-object-detection.ipynb -notebooks/402-pose-estimation-webcam/402-pose-estimation.ipynb -notebooks/403-action-recognition-webcam/403-action-recognition-webcam.ipynb -notebooks/404-style-transfer-webcam/404-style-transfer.ipynb -notebooks/405-paddle-ocr-webcam/405-paddle-ocr-webcam.ipynb -notebooks/406-3D-pose-estimation-webcam/406-3D-pose-estimation.ipynb -notebooks/407-person-tracking-webcam/407-person-tracking.ipynb -notebooks/utils/notebook_utils.ipynb +notebooks/3D-pose-estimation-webcam/3D-pose-estimation.ipynb +notebooks/3D-segmentation-point-clouds/3D-segmentation-point-clouds.ipynb +notebooks/action-recognition-webcam/action-recognition-webcam.ipynb +notebooks/amused-lightweight-text-to-image/amused-lightweight-text-to-image.ipynb +notebooks/animate-anyone/animate-anyone.ipynb +notebooks/async-api/async-api.ipynb +notebooks/attention-center/attention-center.ipynb +notebooks/auto-device/auto-device.ipynb +notebooks/bark-text-to-audio/bark-text-to-audio.ipynb +notebooks/big-transfer-quantization/tensorflow-bit-image-classification-nncf-quantization.ipynb +notebooks/blip-diffusion-subject-generation/blip-diffusion-subject-generation.ipynb +notebooks/blip-visual-language-processing/blip-visual-language-processing.ipynb +notebooks/clip-language-saliency-map/clip-language-saliency-map.ipynb +notebooks/clip-zero-shot-image-classification/clip-zero-shot-classification.ipynb +notebooks/code-language-id/code-language-id.ipynb +notebooks/controlnet-stable-diffusion/controlnet-stable-diffusion.ipynb +notebooks/convert-to-openvino/convert-to-openvino.ipynb +notebooks/convert-to-openvino/legacy-mo-convert-to-openvino.ipynb +notebooks/cross-lingual-books-alignment/cross-lingual-books-alignment.ipynb +notebooks/ct-segmentation-quantize/ct-scan-live-inference.ipynb +notebooks/ct-segmentation-quantize/ct-segmentation-quantize-nncf.ipynb +notebooks/ct-segmentation-quantize/data-preparation-ct-scan.ipynb +notebooks/ct-segmentation-quantize/pytorch-monai-training.ipynb +notebooks/decidiffusion-image-generation/decidiffusion-image-generation.ipynb +notebooks/deepfloyd-if/deep-floyd-if-convert.ipynb +notebooks/deepfloyd-if/deep-floyd-if-optimize.ipynb +notebooks/depth-anything/depth-anything.ipynb +notebooks/depth-estimation-videpth/depth-estimation-videpth.ipynb +notebooks/detectron2-to-openvino/detectron2-to-openvino.ipynb +notebooks/distilbert-sequence-classification/distilbert-sequence-classification.ipynb +notebooks/distil-whisper-asr/distil-whisper-asr.ipynb +notebooks/dolly-2-instruction-following/dolly-2-instruction-following.ipynb +notebooks/efficient-sam/efficient-sam.ipynb +notebooks/encodec-audio-compression/encodec-audio-compression.ipynb +notebooks/fastcomposer-image-generation/fastcomposer-image-generation.ipynb +notebooks/fast-segment-anything/fast-segment-anything.ipynb +notebooks/film-slowmo/film-slowmo.ipynb +notebooks/freevc-voice-conversion/freevc-voice-conversion.ipynb +notebooks/gpu-device/gpu-device.ipynb +notebooks/grammar-correction/grammar-correction.ipynb +notebooks/grounded-segment-anything/grounded-segment-anything.ipynb +notebooks/handwritten-ocr/handwritten-ocr.ipynb +notebooks/hello-detection/hello-detection.ipynb +notebooks/hello-segmentation/hello-segmentation.ipynb +notebooks/hello-world/hello-world.ipynb +notebooks/hugging-face-hub/hugging-face-hub.ipynb +notebooks/image-bind/image-bind.ipynb +notebooks/image-classification-quantization/image-classification-quantization.ipynb +notebooks/image-inpainting/image-inpainting.ipynb +notebooks/instant-id/instant-id.ipynb +notebooks/instruct-pix2pix-image-editing/instruct-pix2pix-image-editing.ipynb +notebooks/knowledge-graphs-conve/knowledge-graphs-conve.ipynb +notebooks/kosmos2-multimodal-large-language-model/kosmos2-multimodal-large-language-model.ipynb +notebooks/language-quantize-bert/language-quantize-bert.ipynb +notebooks/latent-consistency-models-image-generation/latent-consistency-models-image-generation.ipynb +notebooks/latent-consistency-models-image-generation/latent-consistency-models-optimum-demo.ipynb +notebooks/latent-consistency-models-image-generation/lcm-lora-controlnet.ipynb +notebooks/llava-multimodal-chatbot/llava-multimodal-chatbot.ipynb +notebooks/llava-multimodal-chatbot/videollava-multimodal-chatbot.ipynb +notebooks/llava-next-multimodal-chatbot/llava-next-multimodal-chatbot.ipynb +notebooks/llm-agent-langchain/llm-agent-langchain.ipynb +notebooks/llm-chatbot/llm-chatbot.ipynb +notebooks/llm-question-answering/llm-question-answering.ipynb +notebooks/llm-rag-langchain/llm-rag-langchain.ipynb +notebooks/machine-translation/machine-translation.ipynb +notebooks/magika-content-type-recognition/magika-content-type-recognition.ipynb +notebooks/meter-reader/meter-reader.ipynb +notebooks/mms-massively-multilingual-speech/mms-massively-multilingual-speech.ipynb +notebooks/mobileclip-video-search/mobileclip-video-search.ipynb +notebooks/mobilevlm-language-assistant/mobilevlm-language-assistant.ipynb +notebooks/model-server/model-server.ipynb +notebooks/model-tools/model-tools.ipynb +notebooks/music-generation/music-generation.ipynb +notebooks/named-entity-recognition/named-entity-recognition.ipynb +notebooks/object-detection-webcam/object-detection.ipynb +notebooks/oneformer-segmentation/oneformer-segmentation.ipynb +notebooks/openvino-api/openvino-api.ipynb +notebooks/openvino-tokenizers/openvino-tokenizers.ipynb +notebooks/openvoice/openvoice.ipynb +notebooks/optical-character-recognition/optical-character-recognition.ipynb +notebooks/optimize-preprocessing/optimize-preprocessing.ipynb +notebooks/paddle-ocr-webcam/paddle-ocr-webcam.ipynb +notebooks/paddle-to-openvino/paddle-to-openvino-classification.ipynb +notebooks/paint-by-example/paint-by-example.ipynb +notebooks/performance-tricks/latency-tricks.ipynb +notebooks/performance-tricks/throughput-tricks.ipynb +notebooks/person-tracking-webcam/person-tracking.ipynb +notebooks/photo-maker/photo-maker.ipynb +notebooks/pix2struct-docvqa/pix2struct-docvqa.ipynb +notebooks/pose-estimation-webcam/pose-estimation.ipynb +notebooks/pyannote-speaker-diarization/pyannote-speaker-diarization.ipynb +notebooks/pytorch-post-training-quantization-nncf/pytorch-post-training-quantization-nncf.ipynb +notebooks/pytorch-quantization-aware-training/pytorch-quantization-aware-training.ipynb +notebooks/pytorch-to-openvino/pytorch-onnx-to-openvino.ipynb +notebooks/pytorch-to-openvino/pytorch-to-openvino.ipynb +notebooks/qrcode-monster/qrcode-monster.ipynb +notebooks/quantizing-model-with-accuracy-control/speech-recognition-quantization-wav2vec2.ipynb +notebooks/quantizing-model-with-accuracy-control/yolov8-quantization-with-accuracy-control.ipynb +notebooks/question-answering/question-answering.ipynb +notebooks/riffusion-text-to-music/riffusion-text-to-music.ipynb +notebooks/rmbg-background-removal/rmbg-background-removal.ipynb +notebooks/sdxl-turbo/sdxl-turbo.ipynb +notebooks/segment-anything/segment-anything.ipynb +notebooks/segmenter-semantic-segmentation/segmenter-semantic-segmentation.ipynb +notebooks/siglip-zero-shot-image-classification/siglip-zero-shot-image-classification.ipynb +notebooks/slowfast-video-recognition/slowfast-video-recognition.ipynb +notebooks/softvc-voice-conversion/softvc-voice-conversion.ipynb +notebooks/sound-generation-audioldm2/sound-generation-audioldm2.ipynb +notebooks/sparsity-optimization/sparsity-optimization.ipynb +notebooks/speculative-sampling/speculative-sampling.ipynb +notebooks/speech-recognition-quantization/speech-recognition-quantization-data2vec.ipynb +notebooks/speech-recognition-quantization/speech-recognition-quantization-wav2vec2.ipynb +notebooks/speech-to-text/speech-to-text.ipynb +notebooks/stable-diffusion-ip-adapter/stable-diffusion-ip-adapter.ipynb +notebooks/stable-diffusion-keras-cv/stable-diffusion-keras-cv.ipynb +notebooks/stable-diffusion-text-to-image/stable-diffusion-text-to-image.ipynb +notebooks/stable-diffusion-torchdynamo-backend/stable-diffusion-torchdynamo-backend.ipynb +notebooks/stable-diffusion-v2/stable-diffusion-v2-infinite-zoom.ipynb +notebooks/stable-diffusion-v2/stable-diffusion-v2-optimum-demo.ipynb +notebooks/stable-diffusion-v2/stable-diffusion-v2-text-to-image-demo.ipynb +notebooks/stable-diffusion-v2/stable-diffusion-v2-text-to-image.ipynb +notebooks/stable-diffusion-xl/segmind-vegart.ipynb +notebooks/stable-diffusion-xl/ssd-b1.ipynb +notebooks/stable-diffusion-xl/stable-diffusion-xl.ipynb +notebooks/stable-zephyr-3b-chatbot/stable-zephyr-3b-chatbot.ipynb +notebooks/style-transfer-webcam/style-transfer.ipynb +notebooks/surya-line-level-text-detection/surya-line-level-text-detection.ipynb +notebooks/table-question-answering/table-question-answering.ipynb +notebooks/tensorflow-classification-to-openvino/tensorflow-classification-to-openvino.ipynb +notebooks/tensorflow-hub/tensorflow-hub.ipynb +notebooks/tensorflow-object-detection-to-openvino/tensorflow-instance-segmentation-to-openvino.ipynb +notebooks/tensorflow-object-detection-to-openvino/tensorflow-object-detection-to-openvino.ipynb +notebooks/tensorflow-quantization-aware-training/tensorflow-quantization-aware-training.ipynb +notebooks/tensorflow-training-openvino/tensorflow-training-openvino.ipynb +notebooks/tensorflow-training-openvino/tensorflow-training-openvino-nncf.ipynb +notebooks/text-prediction/text-prediction.ipynb +notebooks/tflite-selfie-segmentation/tflite-selfie-segmentation.ipynb +notebooks/tflite-to-openvino/tflite-to-openvino.ipynb +notebooks/tiny-sd-image-generation/tiny-sd-image-generation.ipynb +notebooks/torchvision-zoo-to-openvino/convnext-classification.ipynb +notebooks/torchvision-zoo-to-openvino/lraspp-segmentation.ipynb +notebooks/triposr-3d-reconstruction/triposr-3d-reconstruction.ipynb +notebooks/typo-detector/typo-detector.ipynb +notebooks/vehicle-detection-and-recognition/vehicle-detection-and-recognition.ipynb +notebooks/vision-background-removal/vision-background-removal.ipynb +notebooks/vision-image-colorization/vision-image-colorization.ipynb +notebooks/vision-monodepth/vision-monodepth.ipynb +notebooks/vision-paddlegan-anime/vision-paddlegan-anime.ipynb +notebooks/vision-paddlegan-superresolution/vision-paddlegan-superresolution.ipynb +notebooks/vision-superresolution/vision-superresolution-image.ipynb +notebooks/vision-superresolution/vision-superresolution-video.ipynb +notebooks/whisper-subtitles-generation/whisper-convert.ipynb +notebooks/whisper-subtitles-generation/whisper-nncf-quantize.ipynb +notebooks/wuerstchen-image-generation/wuerstchen-image-generation.ipynb +notebooks/yolov7-optimization/yolov7-optimization.ipynb +notebooks/yolov8-optimization/yolov8-instance-segmentation.ipynb +notebooks/yolov8-optimization/yolov8-keypoint-detection.ipynb +notebooks/yolov8-optimization/yolov8-obb.ipynb +notebooks/yolov8-optimization/yolov8-object-detection.ipynb +notebooks/yolov9-optimization/yolov9-optimization.ipynb +notebooks/zeroscope-text2video/zeroscope-text2video.ipynb diff --git a/docs/notebooks/277-amused-lightweight-text-to-image-with-output.rst b/docs/notebooks/amused-lightweight-text-to-image-with-output.rst similarity index 55% rename from docs/notebooks/277-amused-lightweight-text-to-image-with-output.rst rename to docs/notebooks/amused-lightweight-text-to-image-with-output.rst index 191e143bd7d..551f9a0b313 100644 --- a/docs/notebooks/277-amused-lightweight-text-to-image-with-output.rst +++ b/docs/notebooks/amused-lightweight-text-to-image-with-output.rst @@ -30,6 +30,13 @@ Table of contents: - `Compiling models and prepare pipeline <#compiling-models-and-prepare-pipeline>`__ +- `Quantization <#quantization>`__ + + - `Prepare calibration dataset <#prepare-calibration-dataset>`__ + - `Run model quantization <#run-model-quantization>`__ + - `Compute Inception Scores and inference + time <#compute-inception-scores-and-inference-time>`__ + - `Interactive inference <#interactive-inference>`__ Prerequisites @@ -39,12 +46,13 @@ Prerequisites .. code:: ipython3 - %pip install -q "diffusers>=0.25.0" "openvino>=2023.2.0" "accelerate>=0.20.3" gradio torch --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q transformers "diffusers>=0.25.0" "openvino>=2023.2.0" "accelerate>=0.20.3" "gradio>=4.19" "torch>=2.1" "pillow" "torchmetrics" "torch-fidelity" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "nncf>=2.9.0" datasets .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -52,6 +60,11 @@ Prerequisites Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + Load and run the original pipeline ---------------------------------- @@ -68,16 +81,8 @@ Load and run the original pipeline ) prompt = "kind smiling ghost" - image = pipe(prompt, generator=torch.Generator('cpu').manual_seed(8)).images[0] - image.save('text2image_256.png') - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. - torch.utils._pytree._register_pytree_node( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. - torch.utils._pytree._register_pytree_node( + image = pipe(prompt, generator=torch.Generator("cpu").manual_seed(8)).images[0] + image.save("text2image_256.png") @@ -86,18 +91,6 @@ Load and run the original pipeline Loading pipeline components...: 0%| | 0/5 [00:00 1 or self.sliding_window is not None: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:162: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:162: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if past_key_values_length > 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:622: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:622: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! encoder_states = () if output_hidden_states else None - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:627: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:627: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if output_hidden_states: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:281: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:281: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:289: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:289: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if causal_attention_mask.size() != (bsz, 1, tgt_len, src_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:321: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:321: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_output.size() != (bsz * self.num_heads, tgt_len, self.head_dim): .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:650: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:650: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if output_hidden_states: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:653: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:653: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if not return_dict: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:744: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:744: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if not return_dict: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:1229: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:1229: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if not return_dict: @@ -265,28 +247,31 @@ Convert the U-ViT transformer super().__init__() self.transformer = transformer - def forward(self, latents=None, micro_conds=None, pooled_text_emb=None, encoder_hidden_states=None): - + def forward( + self, + latents=None, + micro_conds=None, + pooled_text_emb=None, + encoder_hidden_states=None, + ): return self.transformer( latents, - micro_conds=micro_conds, - pooled_text_emb=pooled_text_emb, + micro_conds=micro_conds, + pooled_text_emb=pooled_text_emb, encoder_hidden_states=encoder_hidden_states, ) shape = (1, 16, 16) - latents = torch.full( - shape, pipe.scheduler.config.mask_token_id, dtype=torch.long - ) + latents = torch.full(shape, pipe.scheduler.config.mask_token_id, dtype=torch.long) latents = torch.cat([latents] * 2) example_input = { - 'latents': latents, - 'micro_conds': torch.rand([2, 5], dtype=torch.float32), - 'pooled_text_emb': torch.rand([2, 768], dtype=torch.float32), - 'encoder_hidden_states': torch.rand([2, 77, 768], dtype=torch.float32), + "latents": latents, + "micro_conds": torch.rand([2, 5], dtype=torch.float32), + "pooled_text_emb": torch.rand([2, 768], dtype=torch.float32), + "encoder_hidden_states": torch.rand([2, 77, 768], dtype=torch.float32), } @@ -297,7 +282,7 @@ Convert the U-ViT transformer Convert VQ-GAN decoder (VQVAE) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Function ``get_latents`` is + Function ``get_latents`` is needed to return real latents for the conversion. Due to the VQVAE implementation autogenerated tensor of the required shape is not suitable. This function repeats part of ``AmusedPipeline``. @@ -306,12 +291,9 @@ suitable. This function repeats part of ``AmusedPipeline``. def get_latents(): shape = (1, 16, 16) - latents = torch.full( - shape, pipe.scheduler.config.mask_token_id, dtype=torch.long - ) + latents = torch.full(shape, pipe.scheduler.config.mask_token_id, dtype=torch.long) model_input = torch.cat([latents] * 2) - - + model_output = pipe.transformer( model_input, micro_conds=torch.rand([2, 5], dtype=torch.float32), @@ -321,8 +303,7 @@ suitable. This function repeats part of ``AmusedPipeline``. guidance_scale = 10.0 uncond_logits, cond_logits = model_output.chunk(2) model_output = uncond_logits + guidance_scale * (cond_logits - uncond_logits) - - + latents = pipe.scheduler.step( model_output=model_output, timestep=torch.tensor(0), @@ -341,7 +322,7 @@ suitable. This function repeats part of ``AmusedPipeline``. outputs = self.vqvae.decode( latents, force_not_quantize=force_not_quantize, - shape=shape.tolist(), + shape=shape.tolist(), ) return outputs @@ -349,9 +330,9 @@ suitable. This function repeats part of ``AmusedPipeline``. latents = get_latents() example_vqvae_input = { - 'latents': latents, - 'force_not_quantize': torch.tensor(True), - 'shape': torch.tensor((1, 16, 16, 64)) + "latents": latents, + "force_not_quantize": torch.tensor(True), + "shape": torch.tensor((1, 16, 16, 64)), } convert(VQVAEWrapper(pipe.vqvae), VQVAE_OV_PATH, example_vqvae_input) @@ -359,13 +340,13 @@ suitable. This function repeats part of ``AmusedPipeline``. .. parsed-literal:: - /tmp/ipykernel_3081835/249287788.py:38: TracerWarning: Converting a tensor to a Python list might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /tmp/ipykernel_4430/3779428577.py:34: TracerWarning: Converting a tensor to a Python list might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! shape=shape.tolist(), - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/vq_model.py:144: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/vq_model.py:144: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if not force_not_quantize: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/upsampling.py:149: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/upsampling.py:149: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert hidden_states.shape[1] == self.channels - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/upsampling.py:165: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/models/upsampling.py:165: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if hidden_states.shape[0] >= 64: @@ -384,8 +365,8 @@ Select device from dropdown list for running inference using OpenVINO. core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -423,19 +404,19 @@ wrapper classes return ``torch.Tensor``\ s instead of ``np.array``\ s. def forward(self, input_ids=None, return_dict=None, output_hidden_states=None): inputs = { - 'input_ids': input_ids, - 'return_dict': return_dict, - 'output_hidden_states': output_hidden_states + "input_ids": input_ids, + "return_dict": return_dict, + "output_hidden_states": output_hidden_states, } - + outs = self.text_encoder(inputs) - outputs = namedtuple('CLIPTextModelOutput', ('text_embeds', 'last_hidden_state', 'hidden_states')) - + outputs = namedtuple("CLIPTextModelOutput", ("text_embeds", "last_hidden_state", "hidden_states")) + text_embeds = torch.from_numpy(outs[0]) last_hidden_state = torch.from_numpy(outs[1]) hidden_states = list(torch.from_numpy(out) for out in outs.values())[2:] - + return outputs(text_embeds, last_hidden_state, hidden_states) .. code:: ipython3 @@ -449,12 +430,12 @@ wrapper classes return ``torch.Tensor``\ s instead of ``np.array``\ s. def forward(self, latents=None, micro_conds=None, pooled_text_emb=None, encoder_hidden_states=None, **kwargs): outputs = self.transformer( { - 'latents': latents, - 'micro_conds': micro_conds, - 'pooled_text_emb': pooled_text_emb, - 'encoder_hidden_states': encoder_hidden_states, + "latents": latents, + "micro_conds": micro_conds, + "pooled_text_emb": pooled_text_emb, + "encoder_hidden_states": encoder_hidden_states, }, - share_inputs=False + share_inputs=False, ) return torch.from_numpy(outputs[0]) @@ -470,14 +451,14 @@ wrapper classes return ``torch.Tensor``\ s instead of ``np.array``\ s. def decode(self, latents=None, force_not_quantize=True, shape=None): inputs = { - 'latents': latents, - 'force_not_quantize': force_not_quantize, - 'shape': torch.tensor(shape) + "latents": latents, + "force_not_quantize": force_not_quantize, + "shape": torch.tensor(shape), } - + outs = self.vqvae(inputs) - outs = namedtuple('VQVAE', 'sample')(torch.from_numpy(outs[0])) - + outs = namedtuple("VQVAE", "sample")(torch.from_numpy(outs[0])) + return outs And insert wrappers instances in the pipeline: @@ -490,20 +471,20 @@ And insert wrappers instances in the pipeline: vqvae = pipe.vqvae text_encoder = pipe.text_encoder - pipe.__dict__["_internal_dict"]['_execution_device'] = pipe._execution_device # this is to avoid some problem that can occur in the pipeline + pipe.__dict__["_internal_dict"]["_execution_device"] = pipe._execution_device # this is to avoid some problem that can occur in the pipeline pipe.register_modules( text_encoder=ConvTextEncoderWrapper(ov_text_encoder, text_encoder.config), transformer=ConvTransformerWrapper(ov_transformer, transformer.config), vqvae=ConvVQVAEWrapper(ov_vqvae, vqvae.dtype, vqvae.config), ) - image = pipe(prompt, generator=torch.Generator('cpu').manual_seed(8)).images[0] - image.save('text2image_256.png') + image = pipe(prompt, generator=torch.Generator("cpu").manual_seed(8)).images[0] + image.save("text2image_256.png") .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/configuration_utils.py:139: FutureWarning: Accessing config attribute `_execution_device` directly via 'AmusedPipeline' object attribute is deprecated. Please access '_execution_device' over 'AmusedPipeline's config object instead, e.g. 'scheduler.config._execution_device'. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/configuration_utils.py:139: FutureWarning: Accessing config attribute `_execution_device` directly via 'AmusedPipeline' object attribute is deprecated. Please access '_execution_device' over 'AmusedPipeline's config object instead, e.g. 'scheduler.config._execution_device'. deprecate("direct config name access", "1.0.0", deprecation_message, standard_warn=False) @@ -520,23 +501,308 @@ And insert wrappers instances in the pipeline: -.. image:: 277-amused-lightweight-text-to-image-with-output_files/277-amused-lightweight-text-to-image-with-output_28_0.png +.. image:: amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_28_0.png +Quantization +------------ + + + +`NNCF `__ enables +post-training quantization by adding quantization layers into model +graph and then using a subset of the training dataset to initialize the +parameters of these additional quantization layers. Quantized operations +are executed in ``INT8`` instead of ``FP32``/``FP16`` making model +inference faster. + +According to ``Amused`` pipeline structure, the vision transformer model +takes up significant portion of the overall pipeline execution time. Now +we will show you how to optimize the UNet part using +`NNCF `__ to reduce +computation cost and speed up the pipeline. Quantizing the rest of the +pipeline does not significantly improve inference performance but can +lead to a substantial degradation of generations quality. + +We also estimate the quality of generations produced by optimized +pipeline with `Inception +Score `__ which is often +used to measure quality of text-to-image generation systems. + +The steps are the following: + +1. Create a calibration dataset for quantization. +2. Run ``nncf.quantize()`` on the model. +3. Save the quantized model using ``openvino.save_model()`` function. +4. Compare inference time and Inception score for original and quantized + pipelines. + +Please select below whether you would like to run quantization to +improve model inference speed. + + **NOTE**: Quantization is time and memory consuming operation. + Running quantization code below may take some time. + +.. code:: ipython3 + + QUANTIZED_TRANSFORMER_OV_PATH = Path(str(TRANSFORMER_OV_PATH).replace(".xml", "_quantized.xml")) + + to_quantize = widgets.Checkbox( + value=False, + description="Quantization", + disabled=False, + ) + + to_quantize + + + + +.. parsed-literal:: + + Checkbox(value=False, description='Quantization') + + + +.. code:: ipython3 + + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) + + %load_ext skip_kernel_extension + +Prepare calibration dataset +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +We use a portion of +`conceptual_captions `__ +dataset from Hugging Face as calibration data. To collect intermediate +model inputs for calibration we customize ``CompiledModel``. + +.. code:: ipython3 + + %%skip not $to_quantize.value + + import datasets + from tqdm.auto import tqdm + from typing import Any, Dict, List + import pickle + import numpy as np + + + def disable_progress_bar(pipeline, disable=True): + if not hasattr(pipeline, "_progress_bar_config"): + pipeline._progress_bar_config = {'disable': disable} + else: + pipeline._progress_bar_config['disable'] = disable + + + class CompiledModelDecorator(ov.CompiledModel): + def __init__(self, compiled_model: ov.CompiledModel, data_cache: List[Any] = None, keep_prob: float = 0.5): + super().__init__(compiled_model) + self.data_cache = data_cache if data_cache is not None else [] + self.keep_prob = keep_prob + + def __call__(self, *args, **kwargs): + if np.random.rand() <= self.keep_prob: + self.data_cache.append(*args) + return super().__call__(*args, **kwargs) + + + def collect_calibration_data(ov_transformer_model, calibration_dataset_size: int) -> List[Dict]: + calibration_dataset_filepath = Path(f"calibration_data/{calibration_dataset_size}.pkl") + if not calibration_dataset_filepath.exists(): + calibration_data = [] + pipe.transformer.transformer = CompiledModelDecorator(ov_transformer_model, calibration_data, keep_prob=1.0) + disable_progress_bar(pipe) + + dataset = datasets.load_dataset("conceptual_captions", split="train").shuffle(seed=42) + + # Run inference for data collection + pbar = tqdm(total=calibration_dataset_size) + for batch in dataset: + prompt = batch["caption"] + if len(prompt) > pipe.tokenizer.model_max_length: + continue + pipe(prompt, generator=torch.Generator('cpu').manual_seed(0)) + pbar.update(len(calibration_data) - pbar.n) + if pbar.n >= calibration_dataset_size: + break + + pipe.transformer.transformer = ov_transformer_model + disable_progress_bar(pipe, disable=False) + + calibration_dataset_filepath.parent.mkdir(exist_ok=True, parents=True) + with open(calibration_dataset_filepath, 'wb') as f: + pickle.dump(calibration_data, f) + + with open(calibration_dataset_filepath, 'rb') as f: + calibration_data = pickle.load(f) + return calibration_data + +Run model quantization +~~~~~~~~~~~~~~~~~~~~~~ + + + +Run calibration data collection and quantize the vision transformer +model. + +.. code:: ipython3 + + %%skip not $to_quantize.value + + from nncf.quantization.advanced_parameters import AdvancedSmoothQuantParameters + import nncf + + CALIBRATION_DATASET_SIZE = 12 * 200 + + if not QUANTIZED_TRANSFORMER_OV_PATH.exists(): + calibration_data = collect_calibration_data(ov_transformer, CALIBRATION_DATASET_SIZE) + quantized_model = nncf.quantize( + core.read_model(TRANSFORMER_OV_PATH), + nncf.Dataset(calibration_data), + model_type=nncf.ModelType.TRANSFORMER, + subset_size=len(calibration_data), + # We ignore convolutions to improve quality of generations without significant drop in inference speed + ignored_scope=nncf.IgnoredScope(types=["Convolution"]), + # Value of 0.85 was obtained using grid search based on Inception Score computed below + advanced_parameters=nncf.AdvancedQuantizationParameters(smooth_quant_alphas=AdvancedSmoothQuantParameters(matmul=0.85)) + ) + ov.save_model(quantized_model, QUANTIZED_TRANSFORMER_OV_PATH) + +Demo generation with quantized pipeline +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: ipython3 + + %%skip not $to_quantize.value + + original_ov_transformer_model = pipe.transformer.transformer + pipe.transformer.transformer = core.compile_model(QUANTIZED_TRANSFORMER_OV_PATH, device.value) + + image = pipe(prompt, generator=torch.Generator('cpu').manual_seed(8)).images[0] + image.save('text2image_256_quantized.png') + + pipe.transformer.transformer = original_ov_transformer_model + + display(image) + +Compute Inception Scores and inference time +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Below we compute `Inception +Score `__ of original and +quantized pipelines on a small subset of images. Images are generated +from prompts of ``conceptual_captions`` validation set. We also measure +the time it took to generate the images for comparison reasons. + +Please note that the validation dataset size is small and serves only as +a rough estimate of generation quality. + +.. code:: ipython3 + + %%skip not $to_quantize.value + + from torchmetrics.image.inception import InceptionScore + from torchvision import transforms as transforms + from itertools import islice + import time + + VALIDATION_DATASET_SIZE = 100 + + def compute_inception_score(ov_transformer_model_path, validation_set_size, batch_size=100): + original_ov_transformer_model = pipe.transformer.transformer + pipe.transformer.transformer = core.compile_model(ov_transformer_model_path, device.value) + + disable_progress_bar(pipe) + dataset = datasets.load_dataset("conceptual_captions", "unlabeled", split="validation").shuffle(seed=42) + dataset = islice(dataset, validation_set_size) + + inception_score = InceptionScore(normalize=True, splits=1) + + images = [] + infer_times = [] + for batch in tqdm(dataset, total=validation_set_size, desc="Computing Inception Score"): + prompt = batch["caption"] + if len(prompt) > pipe.tokenizer.model_max_length: + continue + start_time = time.perf_counter() + image = pipe(prompt, generator=torch.Generator('cpu').manual_seed(0)).images[0] + infer_times.append(time.perf_counter() - start_time) + image = transforms.ToTensor()(image) + images.append(image) + + mean_perf_time = sum(infer_times) / len(infer_times) + + while len(images) > 0: + images_batch = torch.stack(images[-batch_size:]) + images = images[:-batch_size] + inception_score.update(images_batch) + kl_mean, kl_std = inception_score.compute() + + pipe.transformer.transformer = original_ov_transformer_model + disable_progress_bar(pipe, disable=False) + + return kl_mean, mean_perf_time + + + original_inception_score, original_time = compute_inception_score(TRANSFORMER_OV_PATH, VALIDATION_DATASET_SIZE) + print(f"Original pipeline Inception Score: {original_inception_score}") + quantized_inception_score, quantized_time = compute_inception_score(QUANTIZED_TRANSFORMER_OV_PATH, VALIDATION_DATASET_SIZE) + print(f"Quantized pipeline Inception Score: {quantized_inception_score}") + print(f"Quantization speed-up: {original_time / quantized_time:.2f}x") + Interactive inference --------------------- +Below you can select which pipeline to run: original or quantized. + +.. code:: ipython3 + + quantized_model_present = QUANTIZED_TRANSFORMER_OV_PATH.exists() + + use_quantized_model = widgets.Checkbox( + value=True if quantized_model_present else False, + description="Use quantized pipeline", + disabled=not quantized_model_present, + ) + + use_quantized_model + + + + +.. parsed-literal:: + + Checkbox(value=False, description='Use quantized pipeline', disabled=True) + + + .. code:: ipython3 - import numpy as np import gradio as gr + import numpy as np + + pipe.transformer.transformer = core.compile_model( + QUANTIZED_TRANSFORMER_OV_PATH if use_quantized_model.value else TRANSFORMER_OV_PATH, + device.value, + ) def generate(prompt, seed, _=gr.Progress(track_tqdm=True)): - image = pipe(prompt, generator=torch.Generator('cpu').manual_seed(seed)).images[0] + image = pipe(prompt, generator=torch.Generator("cpu").manual_seed(seed)).images[0] return image @@ -544,7 +810,7 @@ Interactive inference generate, [ gr.Textbox(label="Prompt"), - gr.Slider(0, np.iinfo(np.int32).max, label="Seed") + gr.Slider(0, np.iinfo(np.int32).max, label="Seed", step=1), ], "image", examples=[ diff --git a/docs/notebooks/277-amused-lightweight-text-to-image-with-output_files/277-amused-lightweight-text-to-image-with-output_28_0.jpg b/docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_28_0.jpg similarity index 100% rename from docs/notebooks/277-amused-lightweight-text-to-image-with-output_files/277-amused-lightweight-text-to-image-with-output_28_0.jpg rename to docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_28_0.jpg diff --git a/docs/notebooks/277-amused-lightweight-text-to-image-with-output_files/277-amused-lightweight-text-to-image-with-output_28_0.png b/docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_28_0.png similarity index 100% rename from docs/notebooks/277-amused-lightweight-text-to-image-with-output_files/277-amused-lightweight-text-to-image-with-output_28_0.png rename to docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_28_0.png diff --git a/docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_6_0.jpg b/docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_6_0.jpg new file mode 100644 index 00000000000..80cedfe3acc --- /dev/null +++ b/docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_6_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbe25aa3e1c514977b3a1bee08e474eb12794757e551909e5ac05273d8c2861d +size 5528 diff --git a/docs/notebooks/277-amused-lightweight-text-to-image-with-output_files/277-amused-lightweight-text-to-image-with-output_6_0.png b/docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_6_0.png similarity index 100% rename from docs/notebooks/277-amused-lightweight-text-to-image-with-output_files/277-amused-lightweight-text-to-image-with-output_6_0.png rename to docs/notebooks/amused-lightweight-text-to-image-with-output_files/amused-lightweight-text-to-image-with-output_6_0.png diff --git a/docs/notebooks/animate-anyone-with-output.rst b/docs/notebooks/animate-anyone-with-output.rst new file mode 100644 index 00000000000..08e2e4d1817 --- /dev/null +++ b/docs/notebooks/animate-anyone-with-output.rst @@ -0,0 +1,1266 @@ +Image-to-Video synthesis with AnimateAnyone and OpenVINO +======================================================== + +|image0| + +`AnimateAnyone `__ tackles the +task of generating animation sequences from a single character image. It +builds upon diffusion models pre-trained on vast character image +datasets. + +The core of AnimateAnyone is a diffusion model pre-trained on a massive +dataset of character images. This model learns the underlying character +representation and distribution, allowing for realistic and diverse +character animation. To capture the specific details and characteristics +of the input character image, AnimateAnyone incorporates a ReferenceNet +module. This module acts like an attention mechanism, focusing on the +input image and guiding the animation process to stay consistent with +the original character’s appearance. AnimateAnyone enables control over +the character’s pose during animation. This might involve using +techniques like parametric pose embedding or direct pose vector input, +allowing for the creation of various character actions and movements. To +ensure smooth transitions and temporal coherence throughout the +animation sequence, AnimateAnyone incorporates temporal modeling +techniques. This may involve recurrent architectures like LSTMs or +transformers that capture the temporal dependencies between video +frames. + +Overall, AnimateAnyone combines a powerful pre-trained diffusion model +with a character-specific attention mechanism (ReferenceNet), pose +guidance, and temporal modeling to achieve controllable, high-fidelity +character animation from a single image. + +Learn more in `GitHub +repo `__ and +`paper `__. + +.. container:: alert alert-warning + + :: + +

! WARNING !

+

+ This tutorial requires at least 96 GB of RAM for model conversion and 40 GB for inference. Changing the values of HEIGHT, WIDTH and VIDEO_LENGTH variables will change the memory consumption but will also affect accuracy. +

+ +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Prepare base model <#prepare-base-model>`__ +- `Prepare image encoder <#prepare-image-encoder>`__ +- `Download weights <#download-weights>`__ +- `Initialize models <#initialize-models>`__ +- `Load pretrained weights <#load-pretrained-weights>`__ +- `Convert model to OpenVINO IR <#convert-model-to-openvino-ir>`__ + + - `VAE <#vae>`__ + - `Reference UNet <#reference-unet>`__ + - `Denoising UNet <#denoising-unet>`__ + - `Pose Guider <#pose-guider>`__ + - `Image Encoder <#image-encoder>`__ + +- `Inference <#inference>`__ +- `Video post-processing <#video-post-processing>`__ +- `Interactive inference <#interactive-inference>`__ + +.. |image0| image:: animate-anyone-with-output_files/animate-anyone.gif + +Prerequisites +------------- + + + +.. code:: ipython3 + + from pathlib import Path + import requests + + + REPO_PATH = Path("Moore-AnimateAnyone") + if not REPO_PATH.exists(): + !git clone -q "https://github.com/itrushkin/Moore-AnimateAnyone.git" + %pip install -q "torch>=2.1" torchvision einops omegaconf "diffusers<=0.24" transformers av accelerate "openvino>=2024.0" "nncf>=2.9.0" "gradio>=4.19" --extra-index-url "https://download.pytorch.org/whl/cpu" + import sys + + sys.path.insert(0, str(REPO_PATH.resolve())) + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) + %load_ext skip_kernel_extension + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Note that we clone a fork of original repo with tweaked forward methods. + +.. code:: ipython3 + + MODEL_DIR = Path("models") + VAE_ENCODER_PATH = MODEL_DIR / "vae_encoder.xml" + VAE_DECODER_PATH = MODEL_DIR / "vae_decoder.xml" + REFERENCE_UNET_PATH = MODEL_DIR / "reference_unet.xml" + DENOISING_UNET_PATH = MODEL_DIR / "denoising_unet.xml" + POSE_GUIDER_PATH = MODEL_DIR / "pose_guider.xml" + IMAGE_ENCODER_PATH = MODEL_DIR / "image_encoder.xml" + + WIDTH = 448 + HEIGHT = 512 + VIDEO_LENGTH = 24 + + SHOULD_CONVERT = not all( + p.exists() + for p in [ + VAE_ENCODER_PATH, + VAE_DECODER_PATH, + REFERENCE_UNET_PATH, + DENOISING_UNET_PATH, + POSE_GUIDER_PATH, + IMAGE_ENCODER_PATH, + ] + ) + +.. code:: ipython3 + + from datetime import datetime + from typing import Optional, Union, List, Callable + import math + + from PIL import Image + import openvino as ov + from torchvision import transforms + from einops import repeat + from tqdm.auto import tqdm + from einops import rearrange + from omegaconf import OmegaConf + from diffusers import DDIMScheduler + from diffusers.image_processor import VaeImageProcessor + from transformers import CLIPImageProcessor + import torch + import gradio as gr + import ipywidgets as widgets + import numpy as np + + from src.pipelines.pipeline_pose2vid_long import Pose2VideoPipeline + from src.utils.util import get_fps, read_frames + from src.utils.util import save_videos_grid + from src.pipelines.context import get_context_scheduler + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( + + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + from pathlib import PurePosixPath + import gc + import warnings + + from typing import Dict, Any + from diffusers import AutoencoderKL + from huggingface_hub import hf_hub_download, snapshot_download + from transformers import CLIPVisionModelWithProjection + import nncf + + from src.models.unet_2d_condition import UNet2DConditionModel + from src.models.unet_3d import UNet3DConditionModel + from src.models.pose_guider import PoseGuider + + +.. parsed-literal:: + + INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, onnx, openvino + + +Prepare base model +------------------ + + + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + local_dir = Path("./pretrained_weights/stable-diffusion-v1-5") + local_dir.mkdir(parents=True, exist_ok=True) + for hub_file in ["unet/config.json", "unet/diffusion_pytorch_model.bin"]: + saved_path = local_dir / hub_file + if saved_path.exists(): + continue + hf_hub_download( + repo_id="runwayml/stable-diffusion-v1-5", + subfolder=PurePosixPath(saved_path.parent.name), + filename=PurePosixPath(saved_path.name), + local_dir=local_dir, + ) + +Prepare image encoder +--------------------- + + + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + local_dir = Path("./pretrained_weights") + local_dir.mkdir(parents=True, exist_ok=True) + for hub_file in ["image_encoder/config.json", "image_encoder/pytorch_model.bin"]: + saved_path = local_dir / hub_file + if saved_path.exists(): + continue + hf_hub_download( + repo_id="lambdalabs/sd-image-variations-diffusers", + subfolder=PurePosixPath(saved_path.parent.name), + filename=PurePosixPath(saved_path.name), + local_dir=local_dir, + ) + +Download weights +---------------- + + + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + snapshot_download( + repo_id="stabilityai/sd-vae-ft-mse", local_dir="./pretrained_weights/sd-vae-ft-mse" + ) + snapshot_download( + repo_id="patrolli/AnimateAnyone", + local_dir="./pretrained_weights", + ) + + + +.. parsed-literal:: + + Fetching 5 files: 0%| | 0/5 [00:00`__. Weight +compression aims to reduce the memory footprint of a model. models, +which require extensive memory to store the weights during inference, +can benefit from weight compression in the following ways: + +- enabling the inference of exceptionally large models that cannot be + accommodated in the memory of the device; + +- improving the inference performance of the models by reducing the + latency of the memory access when computing the operations with + weights, for example, Linear layers. + +`Neural Network Compression Framework +(NNCF) `__ provides 4-bit / +8-bit mixed weight quantization as a compression method. The main +difference between weights compression and full model quantization +(post-training quantization) is that activations remain floating-point +in the case of weights compression which leads to a better accuracy. In +addition, weight compression is data-free and does not require a +calibration dataset, making it easy to use. + +``nncf.compress_weights`` function can be used for performing weights +compression. The function accepts an OpenVINO model and other +compression parameters. + +More details about weights compression can be found in `OpenVINO +documentation `__. + +.. |image01| image:: https://humanaigc.github.io/animate-anyone/static/images/f2_img.png + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + def cleanup_torchscript_cache(): + """ + Helper for removing cached model representation + """ + torch._C._jit_clear_class_registry() + torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() + torch.jit._state._clear_class_state() + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + warnings.simplefilter("ignore", torch.jit.TracerWarning) + +VAE +~~~ + + + +The VAE model has two parts, an encoder and a decoder. The encoder is +used to convert the image into a low dimensional latent representation, +which will serve as the input to the U-Net model. The decoder, +conversely, transforms the latent representation back into an image. + +During latent diffusion training, the encoder is used to get the latent +representations (latents) of the images for the forward diffusion +process, which applies more and more noise at each step. During +inference, the denoised latents generated by the reverse diffusion +process are converted back into images using the VAE decoder. + +As the encoder and the decoder are used independently in different parts +of the pipeline, it will be better to convert them to separate models. + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + if not VAE_ENCODER_PATH.exists(): + class VaeEncoder(torch.nn.Module): + def __init__(self, vae): + super().__init__() + self.vae = vae + + def forward(self, x): + return self.vae.encode(x).latent_dist.mean + vae.eval() + with torch.no_grad(): + vae_encoder = ov.convert_model(VaeEncoder(vae), example_input=torch.zeros(1,3,512,448)) + vae_encoder = nncf.compress_weights(vae_encoder) + ov.save_model(vae_encoder, VAE_ENCODER_PATH) + del vae_encoder + cleanup_torchscript_cache() + + +.. parsed-literal:: + + WARNING:nncf:NNCF provides best results with torch==2.1.2, while current torch version is 2.2.2+cpu. If you encounter issues, consider switching to torch==2.1.2 + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (32 / 32) | 100% (32 / 32) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + if not VAE_DECODER_PATH.exists(): + class VaeDecoder(torch.nn.Module): + def __init__(self, vae): + super().__init__() + self.vae = vae + + def forward(self, z): + return self.vae.decode(z).sample + vae.eval() + with torch.no_grad(): + vae_decoder = ov.convert_model(VaeDecoder(vae), example_input=torch.zeros(1,4,HEIGHT//8,WIDTH//8)) + vae_decoder = nncf.compress_weights(vae_decoder) + ov.save_model(vae_decoder, VAE_DECODER_PATH) + del vae_decoder + cleanup_torchscript_cache() + del vae + gc.collect() + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (40 / 40) | 100% (40 / 40) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +Reference UNet +~~~~~~~~~~~~~~ + + + +Pipeline extracts reference attention features from all transformer +blocks inside Reference UNet model. We call the original forward pass to +obtain shapes of the outputs as they will be used in the next pipeline +step. + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + if not REFERENCE_UNET_PATH.exists(): + class ReferenceUNetWrapper(torch.nn.Module): + def __init__(self, reference_unet): + super().__init__() + self.reference_unet = reference_unet + + def forward(self, sample, timestep, encoder_hidden_states): + return self.reference_unet(sample, timestep, encoder_hidden_states, return_dict=False)[1] + + sample = torch.zeros(2, 4, HEIGHT // 8, WIDTH // 8) + timestep = torch.tensor(0) + encoder_hidden_states = torch.zeros(2, 1, 768) + reference_unet.eval() + with torch.no_grad(): + wrapper = ReferenceUNetWrapper(reference_unet) + example_input = (sample, timestep, encoder_hidden_states) + ref_features_shapes = {k: v.shape for k, v in wrapper(*example_input).items()} + ov_reference_unet = ov.convert_model( + wrapper, + example_input=example_input, + ) + ov_reference_unet = nncf.compress_weights(ov_reference_unet) + ov.save_model(ov_reference_unet, REFERENCE_UNET_PATH) + del ov_reference_unet + del wrapper + cleanup_torchscript_cache() + del reference_unet + gc.collect() + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (270 / 270) | 100% (270 / 270) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +Denoising UNet +~~~~~~~~~~~~~~ + + + +Denoising UNet is the main part of all diffusion pipelines. This model +consumes the majority of memory, so we need to reduce its size as much +as possible. + +Here we make all shapes static meaning that the size of the video will +be constant. + +Also, we use the ``ref_features`` input with the same tensor shapes as +output of `Reference UNet <#reference-unet>`__ model on the previous +step. + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + if not DENOISING_UNET_PATH.exists(): + class DenoisingUNetWrapper(torch.nn.Module): + def __init__(self, denoising_unet): + super().__init__() + self.denoising_unet = denoising_unet + + def forward( + self, + sample, + timestep, + encoder_hidden_states, + pose_cond_fea, + ref_features + ): + return self.denoising_unet( + sample, + timestep, + encoder_hidden_states, + ref_features, + pose_cond_fea=pose_cond_fea, + return_dict=False) + + example_input = { + "sample": torch.zeros(2, 4, VIDEO_LENGTH, HEIGHT // 8, WIDTH // 8), + "timestep": torch.tensor(999), + "encoder_hidden_states": torch.zeros(2,1,768), + "pose_cond_fea": torch.zeros(2, 320, VIDEO_LENGTH, HEIGHT // 8, WIDTH // 8), + "ref_features": {k: torch.zeros(shape) for k, shape in ref_features_shapes.items()} + } + + denoising_unet.eval() + with torch.no_grad(): + ov_denoising_unet = ov.convert_model( + DenoisingUNetWrapper(denoising_unet), + example_input=tuple(example_input.values()) + ) + ov_denoising_unet.inputs[0].get_node().set_partial_shape(ov.PartialShape((2, 4, VIDEO_LENGTH, HEIGHT // 8, WIDTH // 8))) + ov_denoising_unet.inputs[2].get_node().set_partial_shape(ov.PartialShape((2, 1, 768))) + ov_denoising_unet.inputs[3].get_node().set_partial_shape(ov.PartialShape((2, 320, VIDEO_LENGTH, HEIGHT // 8, WIDTH // 8))) + for ov_input, shape in zip(ov_denoising_unet.inputs[4:], ref_features_shapes.values()): + ov_input.get_node().set_partial_shape(ov.PartialShape(shape)) + ov_input.get_node().set_element_type(ov.Type.f32) + ov_denoising_unet.validate_nodes_and_infer_types() + ov_denoising_unet = nncf.compress_weights(ov_denoising_unet) + ov.save_model(ov_denoising_unet, DENOISING_UNET_PATH) + del ov_denoising_unet + cleanup_torchscript_cache() + del denoising_unet + gc.collect() + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (534 / 534) | 100% (534 / 534) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +Pose Guider +~~~~~~~~~~~ + + + +To ensure pose controllability, a lightweight pose guider is devised to +efficiently integrate pose control signals into the denoising process. + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + if not POSE_GUIDER_PATH.exists(): + pose_guider.eval() + with torch.no_grad(): + ov_pose_guider = ov.convert_model(pose_guider, example_input=torch.zeros(1, 3, VIDEO_LENGTH, HEIGHT, WIDTH)) + ov_pose_guider = nncf.compress_weights(ov_pose_guider) + ov.save_model(ov_pose_guider, POSE_GUIDER_PATH) + del ov_pose_guider + cleanup_torchscript_cache() + del pose_guider + gc.collect() + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (8 / 8) | 100% (8 / 8) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +Image Encoder +~~~~~~~~~~~~~ + + + +Pipeline uses CLIP image encoder to generate encoder hidden states +required for both reference and denoising UNets. + +.. code:: ipython3 + + %%skip not $SHOULD_CONVERT + if not IMAGE_ENCODER_PATH.exists(): + image_enc.eval() + with torch.no_grad(): + ov_image_encoder = ov.convert_model(image_enc, example_input=torch.zeros(1, 3, 224, 224), input=(1, 3, 224, 224)) + ov_image_encoder = nncf.compress_weights(ov_image_encoder) + ov.save_model(ov_image_encoder, IMAGE_ENCODER_PATH) + del ov_image_encoder + cleanup_torchscript_cache() + del image_enc + gc.collect() + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + warnings.warn( + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (146 / 146) | 100% (146 / 146) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +Inference +--------- + + + +We inherit from the original pipeline modifying the calls to our models +to match OpenVINO format. + +.. code:: ipython3 + + core = ov.Core() + +Select inference device +~~~~~~~~~~~~~~~~~~~~~~~ + + + +For starting work, please select inference device from dropdown list. + +.. code:: ipython3 + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +.. code:: ipython3 + + class OVPose2VideoPipeline(Pose2VideoPipeline): + def __init__( + self, + vae_encoder_path=VAE_ENCODER_PATH, + vae_decoder_path=VAE_DECODER_PATH, + image_encoder_path=IMAGE_ENCODER_PATH, + reference_unet_path=REFERENCE_UNET_PATH, + denoising_unet_path=DENOISING_UNET_PATH, + pose_guider_path=POSE_GUIDER_PATH, + device=device.value, + ): + self.vae_encoder = core.compile_model(vae_encoder_path, device) + self.vae_decoder = core.compile_model(vae_decoder_path, device) + self.image_encoder = core.compile_model(image_encoder_path, device) + self.reference_unet = core.compile_model(reference_unet_path, device) + self.denoising_unet = core.compile_model(denoising_unet_path, device) + self.pose_guider = core.compile_model(pose_guider_path, device) + self.scheduler = DDIMScheduler(**OmegaConf.to_container(infer_config.noise_scheduler_kwargs)) + + self.vae_scale_factor = 8 + self.clip_image_processor = CLIPImageProcessor() + self.ref_image_processor = VaeImageProcessor(do_convert_rgb=True) + self.cond_image_processor = VaeImageProcessor(do_convert_rgb=True, do_normalize=False) + + def decode_latents(self, latents): + video_length = latents.shape[2] + latents = 1 / 0.18215 * latents + latents = rearrange(latents, "b c f h w -> (b f) c h w") + # video = self.vae.decode(latents).sample + video = [] + for frame_idx in tqdm(range(latents.shape[0])): + video.append(torch.from_numpy(self.vae_decoder(latents[frame_idx : frame_idx + 1])[0])) + video = torch.cat(video) + video = rearrange(video, "(b f) c h w -> b c f h w", f=video_length) + video = (video / 2 + 0.5).clamp(0, 1) + # we always cast to float32 as this does not cause significant overhead and is compatible with bfloa16 + video = video.cpu().float().numpy() + return video + + def __call__( + self, + ref_image, + pose_images, + width, + height, + video_length, + num_inference_steps=30, + guidance_scale=3.5, + num_images_per_prompt=1, + eta: float = 0.0, + generator: Optional[Union[torch.Generator, List[torch.Generator]]] = None, + output_type: Optional[str] = "tensor", + callback: Optional[Callable[[int, int, torch.FloatTensor], None]] = None, + callback_steps: Optional[int] = 1, + context_schedule="uniform", + context_frames=24, + context_stride=1, + context_overlap=4, + context_batch_size=1, + interpolation_factor=1, + **kwargs, + ): + do_classifier_free_guidance = guidance_scale > 1.0 + + # Prepare timesteps + self.scheduler.set_timesteps(num_inference_steps) + timesteps = self.scheduler.timesteps + + batch_size = 1 + + # Prepare clip image embeds + clip_image = self.clip_image_processor.preprocess(ref_image.resize((224, 224)), return_tensors="pt").pixel_values + clip_image_embeds = self.image_encoder(clip_image)["image_embeds"] + clip_image_embeds = torch.from_numpy(clip_image_embeds) + encoder_hidden_states = clip_image_embeds.unsqueeze(1) + uncond_encoder_hidden_states = torch.zeros_like(encoder_hidden_states) + + if do_classifier_free_guidance: + encoder_hidden_states = torch.cat([uncond_encoder_hidden_states, encoder_hidden_states], dim=0) + + latents = self.prepare_latents( + batch_size * num_images_per_prompt, + 4, + width, + height, + video_length, + clip_image_embeds.dtype, + torch.device("cpu"), + generator, + ) + + # Prepare extra step kwargs. + extra_step_kwargs = self.prepare_extra_step_kwargs(generator, eta) + + # Prepare ref image latents + ref_image_tensor = self.ref_image_processor.preprocess(ref_image, height=height, width=width) # (bs, c, width, height) + ref_image_latents = self.vae_encoder(ref_image_tensor)[0] + ref_image_latents = ref_image_latents * 0.18215 # (b, 4, h, w) + ref_image_latents = torch.from_numpy(ref_image_latents) + + # Prepare a list of pose condition images + pose_cond_tensor_list = [] + for pose_image in pose_images: + pose_cond_tensor = self.cond_image_processor.preprocess(pose_image, height=height, width=width) + pose_cond_tensor = pose_cond_tensor.unsqueeze(2) # (bs, c, 1, h, w) + pose_cond_tensor_list.append(pose_cond_tensor) + pose_cond_tensor = torch.cat(pose_cond_tensor_list, dim=2) # (bs, c, t, h, w) + pose_fea = self.pose_guider(pose_cond_tensor)[0] + pose_fea = torch.from_numpy(pose_fea) + + context_scheduler = get_context_scheduler(context_schedule) + + # denoising loop + num_warmup_steps = len(timesteps) - num_inference_steps * self.scheduler.order + with self.progress_bar(total=num_inference_steps) as progress_bar: + for i, t in enumerate(timesteps): + noise_pred = torch.zeros( + ( + latents.shape[0] * (2 if do_classifier_free_guidance else 1), + *latents.shape[1:], + ), + device=latents.device, + dtype=latents.dtype, + ) + counter = torch.zeros( + (1, 1, latents.shape[2], 1, 1), + device=latents.device, + dtype=latents.dtype, + ) + + # 1. Forward reference image + if i == 0: + ref_features = self.reference_unet( + ( + ref_image_latents.repeat((2 if do_classifier_free_guidance else 1), 1, 1, 1), + torch.zeros_like(t), + # t, + encoder_hidden_states, + ) + ).values() + + context_queue = list( + context_scheduler( + 0, + num_inference_steps, + latents.shape[2], + context_frames, + context_stride, + 0, + ) + ) + num_context_batches = math.ceil(len(context_queue) / context_batch_size) + + context_queue = list( + context_scheduler( + 0, + num_inference_steps, + latents.shape[2], + context_frames, + context_stride, + context_overlap, + ) + ) + + num_context_batches = math.ceil(len(context_queue) / context_batch_size) + global_context = [] + for i in range(num_context_batches): + global_context.append(context_queue[i * context_batch_size : (i + 1) * context_batch_size]) + + for context in global_context: + # 3.1 expand the latents if we are doing classifier free guidance + latent_model_input = torch.cat([latents[:, :, c] for c in context]).repeat(2 if do_classifier_free_guidance else 1, 1, 1, 1, 1) + latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) + b, c, f, h, w = latent_model_input.shape + latent_pose_input = torch.cat([pose_fea[:, :, c] for c in context]).repeat(2 if do_classifier_free_guidance else 1, 1, 1, 1, 1) + + pred = self.denoising_unet( + ( + latent_model_input, + t, + encoder_hidden_states[:b], + latent_pose_input, + *ref_features, + ) + )[0] + + for j, c in enumerate(context): + noise_pred[:, :, c] = noise_pred[:, :, c] + pred + counter[:, :, c] = counter[:, :, c] + 1 + + # perform guidance + if do_classifier_free_guidance: + noise_pred_uncond, noise_pred_text = (noise_pred / counter).chunk(2) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + + latents = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs).prev_sample + + if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % self.scheduler.order == 0): + progress_bar.update() + if callback is not None and i % callback_steps == 0: + step_idx = i // getattr(self.scheduler, "order", 1) + callback(step_idx, t, latents) + + if interpolation_factor > 0: + latents = self.interpolate_latents(latents, interpolation_factor, latents.device) + # Post-processing + images = self.decode_latents(latents) # (b, c, f, h, w) + + # Convert to tensor + if output_type == "tensor": + images = torch.from_numpy(images) + + return images + +.. code:: ipython3 + + pipe = OVPose2VideoPipeline() + +.. code:: ipython3 + + pose_images = read_frames("Moore-AnimateAnyone/configs/inference/pose_videos/anyone-video-2_kps.mp4") + src_fps = get_fps("Moore-AnimateAnyone/configs/inference/pose_videos/anyone-video-2_kps.mp4") + ref_image = Image.open("Moore-AnimateAnyone/configs/inference/ref_images/anyone-5.png").convert("RGB") + pose_list = [] + for pose_image_pil in pose_images[:VIDEO_LENGTH]: + pose_list.append(pose_image_pil) + +.. code:: ipython3 + + video = pipe( + ref_image, + pose_list, + width=WIDTH, + height=HEIGHT, + video_length=VIDEO_LENGTH, + ) + + + +.. parsed-literal:: + + 0%| | 0/30 [00:00 b c (repeat f) h w", repeat=VIDEO_LENGTH) + pose_tensor = torch.stack(pose_tensor_list, dim=0) # (f, c, h, w) + pose_tensor = pose_tensor.transpose(0, 1) + pose_tensor = pose_tensor.unsqueeze(0) + video = torch.cat([ref_image_tensor, pose_tensor, video], dim=0) + + save_dir = Path("./output") + save_dir.mkdir(parents=True, exist_ok=True) + date_str = datetime.now().strftime("%Y%m%d") + time_str = datetime.now().strftime("%H%M") + out_path = save_dir / f"{date_str}T{time_str}.mp4" + save_videos_grid( + video, + str(out_path), + n_rows=3, + fps=src_fps, + ) + +.. code:: ipython3 + + from IPython.display import Video + + Video(out_path, embed=True) + + + + +.. raw:: html + + + + + +Interactive inference +--------------------- + + + +.. code:: ipython3 + + def generate( + img, + pose_vid, + seed, + guidance_scale, + num_inference_steps, + _=gr.Progress(track_tqdm=True), + ): + generator = torch.Generator().manual_seed(seed) + pose_list = read_frames(pose_vid)[:VIDEO_LENGTH] + video = pipe( + img, + pose_list, + width=WIDTH, + height=HEIGHT, + video_length=VIDEO_LENGTH, + generator=generator, + guidance_scale=guidance_scale, + num_inference_steps=num_inference_steps, + ) + new_h, new_w = video.shape[-2:] + pose_transform = transforms.Compose([transforms.Resize((new_h, new_w)), transforms.ToTensor()]) + pose_tensor_list = [] + for pose_image_pil in pose_list: + pose_tensor_list.append(pose_transform(pose_image_pil)) + + ref_image_tensor = pose_transform(img) # (c, h, w) + ref_image_tensor = ref_image_tensor.unsqueeze(1).unsqueeze(0) # (1, c, 1, h, w) + ref_image_tensor = repeat(ref_image_tensor, "b c f h w -> b c (repeat f) h w", repeat=VIDEO_LENGTH) + pose_tensor = torch.stack(pose_tensor_list, dim=0) # (f, c, h, w) + pose_tensor = pose_tensor.transpose(0, 1) + pose_tensor = pose_tensor.unsqueeze(0) + video = torch.cat([ref_image_tensor, pose_tensor, video], dim=0) + + save_dir = Path("./output/gradio") + save_dir.mkdir(parents=True, exist_ok=True) + date_str = datetime.now().strftime("%Y%m%d") + time_str = datetime.now().strftime("%H%M") + out_path = save_dir / f"{date_str}T{time_str}.mp4" + save_videos_grid( + video, + str(out_path), + n_rows=3, + fps=12, + ) + return out_path + + + demo = gr.Interface( + generate, + [ + gr.Image(label="Reference Image", type="pil"), + gr.Video(label="Pose video"), + gr.Slider( + label="Seed", + value=42, + minimum=np.iinfo(np.int32).min, + maximum=np.iinfo(np.int32).max, + ), + gr.Slider(label="Guidance scale", value=3.5, minimum=1.1, maximum=10), + gr.Slider(label="Number of inference steps", value=30, minimum=15, maximum=100), + ], + "video", + examples=[ + [ + "Moore-AnimateAnyone/configs/inference/ref_images/anyone-2.png", + "Moore-AnimateAnyone/configs/inference/pose_videos/anyone-video-2_kps.mp4", + ], + [ + "Moore-AnimateAnyone/configs/inference/ref_images/anyone-10.png", + "Moore-AnimateAnyone/configs/inference/pose_videos/anyone-video-1_kps.mp4", + ], + [ + "Moore-AnimateAnyone/configs/inference/ref_images/anyone-11.png", + "Moore-AnimateAnyone/configs/inference/pose_videos/anyone-video-1_kps.mp4", + ], + [ + "Moore-AnimateAnyone/configs/inference/ref_images/anyone-3.png", + "Moore-AnimateAnyone/configs/inference/pose_videos/anyone-video-2_kps.mp4", + ], + [ + "Moore-AnimateAnyone/configs/inference/ref_images/anyone-5.png", + "Moore-AnimateAnyone/configs/inference/pose_videos/anyone-video-2_kps.mp4", + ], + ], + allow_flagging="never", + ) + try: + demo.queue().launch(debug=False) + except Exception: + demo.queue().launch(debug=False, share=True) + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # Read more in the docs: https://gradio.app/docs/" + + +.. parsed-literal:: + + Running on local URL: http://127.0.0.1:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + diff --git a/docs/notebooks/animate-anyone-with-output_files/animate-anyone.gif b/docs/notebooks/animate-anyone-with-output_files/animate-anyone.gif new file mode 100644 index 00000000000..5cd205f4af3 --- /dev/null +++ b/docs/notebooks/animate-anyone-with-output_files/animate-anyone.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d53c86b99c2ec0b3b3cfc9f9acc9e1a44643013b4cfdf7ba27231bb70150be7 +size 1456471 diff --git a/docs/notebooks/115-async-api-with-output.rst b/docs/notebooks/async-api-with-output.rst similarity index 72% rename from docs/notebooks/115-async-api-with-output.rst rename to docs/notebooks/async-api-with-output.rst index 3a63fb53d0a..19a832b6964 100644 --- a/docs/notebooks/115-async-api-with-output.rst +++ b/docs/notebooks/async-api-with-output.rst @@ -50,7 +50,7 @@ Imports import platform %pip install -q "openvino>=2023.1.0" - %pip install -q opencv-python + %pip install -q opencv-python if platform.system() != "windows": %pip install -q "matplotlib>=3.4" else: @@ -82,11 +82,12 @@ Imports import matplotlib.pyplot as plt # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) import notebook_utils as utils @@ -113,14 +114,8 @@ the person in each frame of the video. # model name as named in Open Model Zoo model_name = "person-detection-0202" precision = "FP16" - model_path = ( - f"model/intel/{model_name}/{precision}/{model_name}.xml" - ) - download_command = f"omz_downloader " \ - f"--name {model_name} " \ - f"--precision {precision} " \ - f"--output_dir {base_model_dir} " \ - f"--cache_dir {base_model_dir}" + model_path = f"model/intel/{model_name}/{precision}/{model_name}.xml" + download_command = f"omz_downloader " f"--name {model_name} " f"--precision {precision} " f"--output_dir {base_model_dir} " f"--cache_dir {base_model_dir}" ! $download_command @@ -133,20 +128,17 @@ the person in each frame of the video. .. parsed-literal:: - ... 12%, 32 KB, 847 KB/s, 0 seconds passed + ... 12%, 32 KB, 998 KB/s, 0 seconds passed .. parsed-literal:: - ... 25%, 64 KB, 918 KB/s, 0 seconds passed -... 38%, 96 KB, 1348 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 51%, 128 KB, 1218 KB/s, 0 seconds passed -... 64%, 160 KB, 1510 KB/s, 0 seconds passed -... 77%, 192 KB, 1779 KB/s, 0 seconds passed -... 89%, 224 KB, 2058 KB/s, 0 seconds passed -... 100%, 248 KB, 2262 KB/s, 0 seconds passed + ... 25%, 64 KB, 1010 KB/s, 0 seconds passed +... 38%, 96 KB, 1446 KB/s, 0 seconds passed +... 51%, 128 KB, 1336 KB/s, 0 seconds passed +... 64%, 160 KB, 1638 KB/s, 0 seconds passed +... 77%, 192 KB, 1927 KB/s, 0 seconds passed +... 89%, 224 KB, 2206 KB/s, 0 seconds passed +... 100%, 248 KB, 2423 KB/s, 0 seconds passed ========== Downloading model/intel/person-detection-0202/FP16/person-detection-0202.bin @@ -154,129 +146,132 @@ the person in each frame of the video. .. parsed-literal:: - ... 0%, 32 KB, 946 KB/s, 0 seconds passed -... 1%, 64 KB, 898 KB/s, 0 seconds passed -... 2%, 96 KB, 1325 KB/s, 0 seconds passed + ... 0%, 32 KB, 646 KB/s, 0 seconds passed .. parsed-literal:: - ... 3%, 128 KB, 1272 KB/s, 0 seconds passed -... 4%, 160 KB, 1575 KB/s, 0 seconds passed -... 5%, 192 KB, 1870 KB/s, 0 seconds passed -... 6%, 224 KB, 2155 KB/s, 0 seconds passed -... 7%, 256 KB, 2432 KB/s, 0 seconds passed + ... 1%, 64 KB, 991 KB/s, 0 seconds passed +... 2%, 96 KB, 1232 KB/s, 0 seconds passed +... 3%, 128 KB, 1330 KB/s, 0 seconds passed +... 4%, 160 KB, 1640 KB/s, 0 seconds passed +... 5%, 192 KB, 1860 KB/s, 0 seconds passed .. parsed-literal:: - ... 8%, 288 KB, 2135 KB/s, 0 seconds passed -... 9%, 320 KB, 2352 KB/s, 0 seconds passed -... 9%, 352 KB, 2561 KB/s, 0 seconds passed -... 10%, 384 KB, 2770 KB/s, 0 seconds passed -... 11%, 416 KB, 2963 KB/s, 0 seconds passed -... 12%, 448 KB, 3064 KB/s, 0 seconds passed -... 13%, 480 KB, 3260 KB/s, 0 seconds passed -... 14%, 512 KB, 3432 KB/s, 0 seconds passed -... 15%, 544 KB, 3629 KB/s, 0 seconds passed -... 16%, 576 KB, 3420 KB/s, 0 seconds passed -... 17%, 608 KB, 3600 KB/s, 0 seconds passed -... 18%, 640 KB, 3782 KB/s, 0 seconds passed -... 18%, 672 KB, 3964 KB/s, 0 seconds passed -... 19%, 704 KB, 4145 KB/s, 0 seconds passed -... 20%, 736 KB, 4326 KB/s, 0 seconds passed -... 21%, 768 KB, 4506 KB/s, 0 seconds passed -... 22%, 800 KB, 4685 KB/s, 0 seconds passed -... 23%, 832 KB, 4865 KB/s, 0 seconds passed -... 24%, 864 KB, 5043 KB/s, 0 seconds passed -... 25%, 896 KB, 5107 KB/s, 0 seconds passed -... 26%, 928 KB, 5275 KB/s, 0 seconds passed -... 27%, 960 KB, 5448 KB/s, 0 seconds passed + ... 6%, 224 KB, 2064 KB/s, 0 seconds passed +... 7%, 256 KB, 2271 KB/s, 0 seconds passed +... 8%, 288 KB, 2239 KB/s, 0 seconds passed +... 9%, 320 KB, 2476 KB/s, 0 seconds passed +... 9%, 352 KB, 2698 KB/s, 0 seconds passed +... 10%, 384 KB, 2906 KB/s, 0 seconds passed +... 11%, 416 KB, 3122 KB/s, 0 seconds passed +... 12%, 448 KB, 3335 KB/s, 0 seconds passed +... 13%, 480 KB, 3537 KB/s, 0 seconds passed +... 14%, 512 KB, 3723 KB/s, 0 seconds passed +... 15%, 544 KB, 3847 KB/s, 0 seconds passed +... 16%, 576 KB, 4016 KB/s, 0 seconds passed .. parsed-literal:: - ... 27%, 992 KB, 5620 KB/s, 0 seconds passed -... 28%, 1024 KB, 5790 KB/s, 0 seconds passed -... 29%, 1056 KB, 5961 KB/s, 0 seconds passed -... 30%, 1088 KB, 6131 KB/s, 0 seconds passed -... 31%, 1120 KB, 6252 KB/s, 0 seconds passed -... 32%, 1152 KB, 6381 KB/s, 0 seconds passed -... 33%, 1184 KB, 5868 KB/s, 0 seconds passed -... 34%, 1216 KB, 6013 KB/s, 0 seconds passed -... 35%, 1248 KB, 6111 KB/s, 0 seconds passed -... 36%, 1280 KB, 6254 KB/s, 0 seconds passed -... 36%, 1312 KB, 6399 KB/s, 0 seconds passed -... 37%, 1344 KB, 6545 KB/s, 0 seconds passed -... 38%, 1376 KB, 6690 KB/s, 0 seconds passed -... 39%, 1408 KB, 6836 KB/s, 0 seconds passed -... 40%, 1440 KB, 6981 KB/s, 0 seconds passed -... 41%, 1472 KB, 7125 KB/s, 0 seconds passed -... 42%, 1504 KB, 7268 KB/s, 0 seconds passed -... 43%, 1536 KB, 7412 KB/s, 0 seconds passed -... 44%, 1568 KB, 7556 KB/s, 0 seconds passed -... 45%, 1600 KB, 7699 KB/s, 0 seconds passed -... 45%, 1632 KB, 7841 KB/s, 0 seconds passed -... 46%, 1664 KB, 7927 KB/s, 0 seconds passed -... 47%, 1696 KB, 8035 KB/s, 0 seconds passed -... 48%, 1728 KB, 8106 KB/s, 0 seconds passed -... 49%, 1760 KB, 8210 KB/s, 0 seconds passed -... 50%, 1792 KB, 8335 KB/s, 0 seconds passed -... 51%, 1824 KB, 8471 KB/s, 0 seconds passed -... 52%, 1856 KB, 8591 KB/s, 0 seconds passed -... 53%, 1888 KB, 8698 KB/s, 0 seconds passed -... 54%, 1920 KB, 8832 KB/s, 0 seconds passed -... 54%, 1952 KB, 8953 KB/s, 0 seconds passed -... 55%, 1984 KB, 9085 KB/s, 0 seconds passed -... 56%, 2016 KB, 9198 KB/s, 0 seconds passed -... 57%, 2048 KB, 9330 KB/s, 0 seconds passed -... 58%, 2080 KB, 9443 KB/s, 0 seconds passed -... 59%, 2112 KB, 9575 KB/s, 0 seconds passed -... 60%, 2144 KB, 9698 KB/s, 0 seconds passed -... 61%, 2176 KB, 9829 KB/s, 0 seconds passed -... 62%, 2208 KB, 9940 KB/s, 0 seconds passed -... 63%, 2240 KB, 10069 KB/s, 0 seconds passed -... 64%, 2272 KB, 10179 KB/s, 0 seconds passed -... 64%, 2304 KB, 10308 KB/s, 0 seconds passed -... 65%, 2336 KB, 10395 KB/s, 0 seconds passed + ... 17%, 608 KB, 3756 KB/s, 0 seconds passed +... 18%, 640 KB, 3938 KB/s, 0 seconds passed +... 18%, 672 KB, 4121 KB/s, 0 seconds passed +... 19%, 704 KB, 4300 KB/s, 0 seconds passed +... 20%, 736 KB, 4484 KB/s, 0 seconds passed +... 21%, 768 KB, 4666 KB/s, 0 seconds passed +... 22%, 800 KB, 4751 KB/s, 0 seconds passed +... 23%, 832 KB, 4819 KB/s, 0 seconds passed +... 24%, 864 KB, 4944 KB/s, 0 seconds passed +... 25%, 896 KB, 5048 KB/s, 0 seconds passed +... 26%, 928 KB, 5115 KB/s, 0 seconds passed +... 27%, 960 KB, 5202 KB/s, 0 seconds passed +... 27%, 992 KB, 5285 KB/s, 0 seconds passed +... 28%, 1024 KB, 5369 KB/s, 0 seconds passed +... 29%, 1056 KB, 5452 KB/s, 0 seconds passed +... 30%, 1088 KB, 5568 KB/s, 0 seconds passed +... 31%, 1120 KB, 5674 KB/s, 0 seconds passed +... 32%, 1152 KB, 5773 KB/s, 0 seconds passed +... 33%, 1184 KB, 5877 KB/s, 0 seconds passed +... 34%, 1216 KB, 5951 KB/s, 0 seconds passed +... 35%, 1248 KB, 6041 KB/s, 0 seconds passed .. parsed-literal:: - ... 66%, 2368 KB, 10012 KB/s, 0 seconds passed -... 67%, 2400 KB, 10057 KB/s, 0 seconds passed -... 68%, 2432 KB, 10171 KB/s, 0 seconds passed -... 69%, 2464 KB, 10276 KB/s, 0 seconds passed -... 70%, 2496 KB, 10393 KB/s, 0 seconds passed -... 71%, 2528 KB, 10511 KB/s, 0 seconds passed -... 72%, 2560 KB, 10594 KB/s, 0 seconds passed -... 73%, 2592 KB, 10707 KB/s, 0 seconds passed -... 73%, 2624 KB, 10823 KB/s, 0 seconds passed -... 74%, 2656 KB, 10940 KB/s, 0 seconds passed -... 75%, 2688 KB, 11057 KB/s, 0 seconds passed -... 76%, 2720 KB, 11175 KB/s, 0 seconds passed -... 77%, 2752 KB, 11293 KB/s, 0 seconds passed -... 78%, 2784 KB, 11410 KB/s, 0 seconds passed -... 79%, 2816 KB, 11527 KB/s, 0 seconds passed -... 80%, 2848 KB, 11643 KB/s, 0 seconds passed -... 81%, 2880 KB, 11760 KB/s, 0 seconds passed -... 82%, 2912 KB, 11875 KB/s, 0 seconds passed -... 82%, 2944 KB, 11990 KB/s, 0 seconds passed -... 83%, 2976 KB, 12106 KB/s, 0 seconds passed -... 84%, 3008 KB, 12221 KB/s, 0 seconds passed -... 85%, 3040 KB, 12335 KB/s, 0 seconds passed -... 86%, 3072 KB, 12450 KB/s, 0 seconds passed -... 87%, 3104 KB, 12564 KB/s, 0 seconds passed -... 88%, 3136 KB, 12677 KB/s, 0 seconds passed -... 89%, 3168 KB, 12791 KB/s, 0 seconds passed -... 90%, 3200 KB, 12904 KB/s, 0 seconds passed -... 91%, 3232 KB, 13017 KB/s, 0 seconds passed -... 91%, 3264 KB, 13131 KB/s, 0 seconds passed -... 92%, 3296 KB, 13243 KB/s, 0 seconds passed -... 93%, 3328 KB, 13356 KB/s, 0 seconds passed -... 94%, 3360 KB, 13468 KB/s, 0 seconds passed -... 95%, 3392 KB, 13577 KB/s, 0 seconds passed -... 96%, 3424 KB, 13688 KB/s, 0 seconds passed -... 97%, 3456 KB, 13799 KB/s, 0 seconds passed -... 98%, 3488 KB, 13911 KB/s, 0 seconds passed -... 99%, 3520 KB, 14023 KB/s, 0 seconds passed -... 100%, 3549 KB, 14120 KB/s, 0 seconds passed + ... 36%, 1280 KB, 6132 KB/s, 0 seconds passed +... 36%, 1312 KB, 6225 KB/s, 0 seconds passed +... 37%, 1344 KB, 6354 KB/s, 0 seconds passed +... 38%, 1376 KB, 6446 KB/s, 0 seconds passed +... 39%, 1408 KB, 6522 KB/s, 0 seconds passed +... 40%, 1440 KB, 6650 KB/s, 0 seconds passed +... 41%, 1472 KB, 6739 KB/s, 0 seconds passed +... 42%, 1504 KB, 6827 KB/s, 0 seconds passed +... 43%, 1536 KB, 6935 KB/s, 0 seconds passed +... 44%, 1568 KB, 7017 KB/s, 0 seconds passed +... 45%, 1600 KB, 7124 KB/s, 0 seconds passed +... 45%, 1632 KB, 7201 KB/s, 0 seconds passed +... 46%, 1664 KB, 7306 KB/s, 0 seconds passed +... 47%, 1696 KB, 7411 KB/s, 0 seconds passed +... 48%, 1728 KB, 7526 KB/s, 0 seconds passed +... 49%, 1760 KB, 7611 KB/s, 0 seconds passed +... 50%, 1792 KB, 7697 KB/s, 0 seconds passed +... 51%, 1824 KB, 7816 KB/s, 0 seconds passed +... 52%, 1856 KB, 7912 KB/s, 0 seconds passed +... 53%, 1888 KB, 8016 KB/s, 0 seconds passed +... 54%, 1920 KB, 8115 KB/s, 0 seconds passed +... 54%, 1952 KB, 8215 KB/s, 0 seconds passed +... 55%, 1984 KB, 8313 KB/s, 0 seconds passed +... 56%, 2016 KB, 8409 KB/s, 0 seconds passed +... 57%, 2048 KB, 8507 KB/s, 0 seconds passed +... 58%, 2080 KB, 8608 KB/s, 0 seconds passed +... 59%, 2112 KB, 8706 KB/s, 0 seconds passed +... 60%, 2144 KB, 8801 KB/s, 0 seconds passed +... 61%, 2176 KB, 8893 KB/s, 0 seconds passed +... 62%, 2208 KB, 8987 KB/s, 0 seconds passed +... 63%, 2240 KB, 9085 KB/s, 0 seconds passed +... 64%, 2272 KB, 9202 KB/s, 0 seconds passed +... 64%, 2304 KB, 9302 KB/s, 0 seconds passed +... 65%, 2336 KB, 9396 KB/s, 0 seconds passed +... 66%, 2368 KB, 9489 KB/s, 0 seconds passed +... 67%, 2400 KB, 9579 KB/s, 0 seconds passed +... 68%, 2432 KB, 9694 KB/s, 0 seconds passed +... 69%, 2464 KB, 9791 KB/s, 0 seconds passed +... 70%, 2496 KB, 9879 KB/s, 0 seconds passed +... 71%, 2528 KB, 9993 KB/s, 0 seconds passed +... 72%, 2560 KB, 10088 KB/s, 0 seconds passed +... 73%, 2592 KB, 10186 KB/s, 0 seconds passed +... 73%, 2624 KB, 10299 KB/s, 0 seconds passed +... 74%, 2656 KB, 10376 KB/s, 0 seconds passed +... 75%, 2688 KB, 10472 KB/s, 0 seconds passed +... 76%, 2720 KB, 10566 KB/s, 0 seconds passed +... 77%, 2752 KB, 10673 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 78%, 2784 KB, 10764 KB/s, 0 seconds passed +... 79%, 2816 KB, 10874 KB/s, 0 seconds passed +... 80%, 2848 KB, 10964 KB/s, 0 seconds passed +... 81%, 2880 KB, 11062 KB/s, 0 seconds passed +... 82%, 2912 KB, 11172 KB/s, 0 seconds passed +... 82%, 2944 KB, 11241 KB/s, 0 seconds passed +... 83%, 2976 KB, 11346 KB/s, 0 seconds passed +... 84%, 3008 KB, 11451 KB/s, 0 seconds passed +... 85%, 3040 KB, 11528 KB/s, 0 seconds passed +... 86%, 3072 KB, 11634 KB/s, 0 seconds passed +... 87%, 3104 KB, 11720 KB/s, 0 seconds passed +... 88%, 3136 KB, 11817 KB/s, 0 seconds passed +... 89%, 3168 KB, 11921 KB/s, 0 seconds passed +... 90%, 3200 KB, 12009 KB/s, 0 seconds passed +... 91%, 3232 KB, 12114 KB/s, 0 seconds passed +... 91%, 3264 KB, 12197 KB/s, 0 seconds passed +... 92%, 3296 KB, 12274 KB/s, 0 seconds passed +... 93%, 3328 KB, 12377 KB/s, 0 seconds passed +... 94%, 3360 KB, 12462 KB/s, 0 seconds passed +... 95%, 3392 KB, 12563 KB/s, 0 seconds passed +... 96%, 3424 KB, 12652 KB/s, 0 seconds passed +... 97%, 3456 KB, 12756 KB/s, 0 seconds passed +... 98%, 3488 KB, 12845 KB/s, 0 seconds passed +... 99%, 3520 KB, 12947 KB/s, 0 seconds passed +... 100%, 3549 KB, 13037 KB/s, 0 seconds passed @@ -293,8 +288,8 @@ Select inference device core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -341,7 +336,7 @@ Create functions for data processing def preprocess(image): """ Define the preprocess function for input data - + :param: image: the orignal input frame :returns: resized_image: the image processed @@ -356,7 +351,7 @@ Create functions for data processing def postprocess(result, image, fps): """ Define the postprocess function for output data - + :param: result: the inference results image: the orignal input frame fps: average throughput calculated for each frame @@ -372,7 +367,15 @@ Create functions for data processing xmax = int(min((xmax * image.shape[1]), image.shape[1] - 10)) ymax = int(min((ymax * image.shape[0]), image.shape[0] - 10)) cv2.rectangle(image, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2) - cv2.putText(image, str(round(fps, 2)) + " fps", (5, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 3) + cv2.putText( + image, + str(round(fps, 2)) + " fps", + (5, 20), + cv2.FONT_HERSHEY_SIMPLEX, + 0.7, + (0, 255, 0), + 3, + ) return image Get the test video @@ -382,7 +385,7 @@ Get the test video .. code:: ipython3 - video_path = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/CEO%20Pat%20Gelsinger%20on%20Leading%20Intel.mp4' + video_path = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/CEO%20Pat%20Gelsinger%20on%20Leading%20Intel.mp4" How to improve the throughput of video processing ------------------------------------------------- @@ -423,7 +426,7 @@ immediately processed: def sync_api(source, flip, fps, use_popup, skip_first_frames): """ Define the main function for video processing in sync mode - + :param: source: the video path or the ID of your webcam :returns: sync_fps: the inference throughput in sync mode @@ -447,13 +450,13 @@ immediately processed: break resized_frame = preprocess(frame) infer_request.set_tensor(input_layer_ir, ov.Tensor(resized_frame)) - # Start the inference request in synchronous mode + # Start the inference request in synchronous mode infer_request.infer() res = infer_request.get_output_tensor(0).data stop_time = time.time() total_time = stop_time - start_time frame_number = frame_number + 1 - sync_fps = frame_number / total_time + sync_fps = frame_number / total_time frame = postprocess(res, frame, sync_fps) # Display the results if use_popup: @@ -469,7 +472,7 @@ immediately processed: i = display.Image(data=encoded_img) # Display the image in this notebook display.clear_output(wait=True) - display.display(i) + display.display(i) # ctrl-c except KeyboardInterrupt: print("Interrupted") @@ -496,13 +499,13 @@ Test performance in Sync Mode -.. image:: 115-async-api-with-output_files/115-async-api-with-output_17_0.png +.. image:: async-api-with-output_files/async-api-with-output_17_0.png .. parsed-literal:: Source ended - average throuput in sync mode: 43.30 fps + average throuput in sync mode: 44.01 fps Async Mode @@ -546,7 +549,7 @@ pipeline (decoding vs inference) and not by the sum of the stages. def async_api(source, flip, fps, use_popup, skip_first_frames): """ Define the main function for video processing in async mode - + :param: source: the video path or the ID of your webcam :returns: async_fps: the inference throughput in async mode @@ -588,7 +591,7 @@ pipeline (decoding vs inference) and not by the sum of the stages. stop_time = time.time() total_time = stop_time - start_time frame_number = frame_number + 1 - async_fps = frame_number / total_time + async_fps = frame_number / total_time frame = postprocess(res, frame, async_fps) # Display the results if use_popup: @@ -608,7 +611,7 @@ pipeline (decoding vs inference) and not by the sum of the stages. # Swap CURRENT and NEXT frames frame = next_frame # Swap CURRENT and NEXT infer requests - curr_request, next_request = next_request, curr_request + curr_request, next_request = next_request, curr_request # ctrl-c except KeyboardInterrupt: print("Interrupted") @@ -635,13 +638,13 @@ Test the performance in Async Mode -.. image:: 115-async-api-with-output_files/115-async-api-with-output_21_0.png +.. image:: async-api-with-output_files/async-api-with-output_21_0.png .. parsed-literal:: Source ended - average throuput in async mode: 73.14 fps + average throuput in async mode: 73.74 fps Compare the performance @@ -654,24 +657,24 @@ Compare the performance width = 0.4 fontsize = 14 - plt.rc('font', size=fontsize) + plt.rc("font", size=fontsize) fig, ax = plt.subplots(1, 1, figsize=(10, 8)) - rects1 = ax.bar([0], sync_fps, width, color='#557f2d') + rects1 = ax.bar([0], sync_fps, width, color="#557f2d") rects2 = ax.bar([width], async_fps, width) ax.set_ylabel("frames per second") - ax.set_xticks([0, width]) + ax.set_xticks([0, width]) ax.set_xticklabels(["Sync mode", "Async mode"]) ax.set_xlabel("Higher is better") - fig.suptitle('Sync mode VS Async mode') + fig.suptitle("Sync mode VS Async mode") fig.tight_layout() plt.show() -.. image:: 115-async-api-with-output_files/115-async-api-with-output_23_0.png +.. image:: async-api-with-output_files/async-api-with-output_23_0.png ``AsyncInferQueue`` @@ -702,7 +705,7 @@ the possibility of passing runtime values. def callback(infer_request, info) -> None: """ Define the callback function for postprocessing - + :param: infer_request: the infer_request object info: a tuple includes original frame and starts time :returns: @@ -716,7 +719,7 @@ the possibility of passing runtime values. total_time = stop_time - start_time frame_number = frame_number + 1 inferqueue_fps = frame_number / total_time - + res = infer_request.get_output_tensor(0).data[0] frame = postprocess(res, frame, inferqueue_fps) # Encode numpy array to jpg @@ -732,7 +735,7 @@ the possibility of passing runtime values. def inferqueue(source, flip, fps, skip_first_frames) -> None: """ Define the main function for video processing with async infer queue - + :param: source: the video path or the ID of your webcam :retuns: None @@ -754,7 +757,7 @@ the possibility of passing runtime values. print("Source ended") break resized_frame = preprocess(frame) - # Start the inference request with async infer queue + # Start the inference request with async infer queue infer_queue.start_async({input_layer_ir.any_name: resized_frame}, (frame, start_time)) except KeyboardInterrupt: print("Interrupted") @@ -779,10 +782,10 @@ Test the performance with ``AsyncInferQueue`` -.. image:: 115-async-api-with-output_files/115-async-api-with-output_29_0.png +.. image:: async-api-with-output_files/async-api-with-output_29_0.png .. parsed-literal:: - average throughput in async mode with async infer queue: 112.94 fps + average throughput in async mode with async infer queue: 112.89 fps diff --git a/docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_17_0.png b/docs/notebooks/async-api-with-output_files/async-api-with-output_17_0.png similarity index 100% rename from docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_17_0.png rename to docs/notebooks/async-api-with-output_files/async-api-with-output_17_0.png diff --git a/docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_21_0.png b/docs/notebooks/async-api-with-output_files/async-api-with-output_21_0.png similarity index 100% rename from docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_21_0.png rename to docs/notebooks/async-api-with-output_files/async-api-with-output_21_0.png diff --git a/docs/notebooks/async-api-with-output_files/async-api-with-output_23_0.png b/docs/notebooks/async-api-with-output_files/async-api-with-output_23_0.png new file mode 100644 index 00000000000..b7a2dc965c6 --- /dev/null +++ b/docs/notebooks/async-api-with-output_files/async-api-with-output_23_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ee108fdee6cf1a56efa4a2347f0bc0c4cd09b6b30b121d114cfdd2cd87a9152 +size 30443 diff --git a/docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_29_0.png b/docs/notebooks/async-api-with-output_files/async-api-with-output_29_0.png similarity index 100% rename from docs/notebooks/115-async-api-with-output_files/115-async-api-with-output_29_0.png rename to docs/notebooks/async-api-with-output_files/async-api-with-output_29_0.png diff --git a/docs/notebooks/106-auto-device-with-output.rst b/docs/notebooks/auto-device-with-output.rst similarity index 83% rename from docs/notebooks/106-auto-device-with-output.rst rename to docs/notebooks/auto-device-with-output.rst index d3268cb229f..bfe8b33f916 100644 --- a/docs/notebooks/106-auto-device-with-output.rst +++ b/docs/notebooks/auto-device-with-output.rst @@ -68,8 +68,20 @@ Import modules and create Core .. code:: ipython3 - # Install openvino package - %pip install -q "openvino>=2023.1.0" + import platform + + # Install required packages + %pip install -q "openvino>=2023.1.0" Pillow torch torchvision tqdm --extra-index-url https://download.pytorch.org/whl/cpu + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -89,7 +101,11 @@ Import modules and create Core core = ov.Core() if "GPU" not in core.available_devices: - display(Markdown('
Warning: A GPU device is not available. This notebook requires GPU device to have meaningful results.
')) + display( + Markdown( + '
Warning: A GPU device is not available. This notebook requires GPU device to have meaningful results.
' + ) + ) @@ -134,7 +150,7 @@ For more information about model conversion API, see this if not model_path.exists(): pt_model = torchvision.models.resnet50(weights="DEFAULT") - ov_model = ov.convert_model(pt_model, input=[[1,3,224,224]]) + ov_model = ov.convert_model(pt_model, input=[[1, 3, 224, 224]]) ov.save_model(ov_model, str(model_path)) print("IR model saved to {}".format(model_path)) else: @@ -163,26 +179,26 @@ By default, ``compile_model`` API will select **AUTO** as .. code:: ipython3 # Set LOG_LEVEL to LOG_INFO. - core.set_property("AUTO", {"LOG_LEVEL":"LOG_INFO"}) + core.set_property("AUTO", {"LOG_LEVEL": "LOG_INFO"}) # Load the model onto the target device. compiled_model = core.compile_model(ov_model) if isinstance(compiled_model, ov.CompiledModel): - print("Successfully compiled model without a device_name.") + print("Successfully compiled model without a device_name.") .. parsed-literal:: - [22:24:04.4814]I[plugin.cpp:418][AUTO] device:CPU, config:LOG_LEVEL=LOG_INFO - [22:24:04.4815]I[plugin.cpp:418][AUTO] device:CPU, config:PERFORMANCE_HINT=LATENCY - [22:24:04.4815]I[plugin.cpp:418][AUTO] device:CPU, config:PERFORMANCE_HINT_NUM_REQUESTS=0 - [22:24:04.4815]I[plugin.cpp:418][AUTO] device:CPU, config:PERF_COUNT=NO - [22:24:04.4815]I[plugin.cpp:423][AUTO] device:CPU, priority:0 - [22:24:04.4815]I[schedule.cpp:17][AUTO] scheduler starting - [22:24:04.4815]I[auto_schedule.cpp:131][AUTO] select device:CPU - [22:24:04.6260]I[auto_schedule.cpp:109][AUTO] device:CPU compiling model finished - [22:24:04.6262]I[plugin.cpp:451][AUTO] underlying hardware does not support hardware context + [23:04:35.7467]I[plugin.cpp:418][AUTO] device:CPU, config:LOG_LEVEL=LOG_INFO + [23:04:35.7467]I[plugin.cpp:418][AUTO] device:CPU, config:PERFORMANCE_HINT=LATENCY + [23:04:35.7467]I[plugin.cpp:418][AUTO] device:CPU, config:PERFORMANCE_HINT_NUM_REQUESTS=0 + [23:04:35.7467]I[plugin.cpp:418][AUTO] device:CPU, config:PERF_COUNT=NO + [23:04:35.7467]I[plugin.cpp:423][AUTO] device:CPU, priority:0 + [23:04:35.7467]I[schedule.cpp:17][AUTO] scheduler starting + [23:04:35.7468]I[auto_schedule.cpp:131][AUTO] select device:CPU + [23:04:35.9061]I[auto_schedule.cpp:109][AUTO] device:CPU compiling model finished + [23:04:35.9063]I[plugin.cpp:451][AUTO] underlying hardware does not support hardware context Successfully compiled model without a device_name. @@ -195,8 +211,8 @@ By default, ``compile_model`` API will select **AUTO** as .. parsed-literal:: - [22:24:04.6373]I[schedule.cpp:303][AUTO] scheduler ending Deleted compiled_model + [23:04:35.9172]I[schedule.cpp:303][AUTO] scheduler ending Explicitly pass AUTO as device_name to Core::compile_model API @@ -210,7 +226,7 @@ improve readability of your code. .. code:: ipython3 # Set LOG_LEVEL to LOG_NONE. - core.set_property("AUTO", {"LOG_LEVEL":"LOG_NONE"}) + core.set_property("AUTO", {"LOG_LEVEL": "LOG_NONE"}) compiled_model = core.compile_model(model=ov_model, device_name="AUTO") @@ -262,11 +278,11 @@ function, we will reuse it for preparing input data. .. code:: ipython3 # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ) + import requests + + r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py") + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file .. code:: ipython3 @@ -276,7 +292,7 @@ function, we will reuse it for preparing input data. # Download the image from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - directory="data" + directory="data", ) image = Image.open(str(image_filename)) @@ -295,7 +311,7 @@ function, we will reuse it for preparing input data. -.. image:: 106-auto-device-with-output_files/106-auto-device-with-output_14_1.png +.. image:: auto-device-with-output_files/auto-device-with-output_14_1.png @@ -308,7 +324,7 @@ Load the model to GPU device and perform inference if "GPU" not in core.available_devices: print(f"A GPU device is not available. Available devices are: {core.available_devices}") - else : + else: # Start time. gpu_load_start_time = time.perf_counter() compiled_model = core.compile_model(model=ov_model, device_name="GPU") # load to GPU @@ -354,7 +370,7 @@ executed on CPU until GPU is ready. .. parsed-literal:: - Time to load model using AUTO device and get first inference: 0.16 seconds. + Time to load model using AUTO device and get first inference: 0.15 seconds. .. code:: ipython3 @@ -398,6 +414,7 @@ Class and callback definition :member: latency_list: Record the latency of each inference execution over @interval seconds duration. :member: interval: The metrics will be updated every @interval seconds """ + def __init__(self, interval): """ Create and initilize one instance of class PerformanceMetrics. @@ -407,11 +424,11 @@ Class and callback definition """ self.fps = 0 self.latency = 0 - + self.start_time = time.perf_counter() self.latency_list = [] self.interval = interval - + def update(self, infer_request: ov.InferRequest) -> bool: """ Update the metrics if current ongoing @interval seconds duration is expired. Record the latency only if it is not expired. @@ -431,17 +448,18 @@ Class and callback definition sys.stdout.flush() self.latency_list = [] return True - else : + else: return False class InferContext: """ Inference context. Record and update peforamnce metrics via @metrics, set @feed_inference to False once @remaining_update_num <=0 - :member: metrics: instance of class PerformanceMetrics + :member: metrics: instance of class PerformanceMetrics :member: remaining_update_num: the remaining times for peforamnce metrics updating. :member: feed_inference: if feed inference request is required or not. """ + def __init__(self, update_interval, num): """ Create and initilize one instance of class InferContext. @@ -453,19 +471,19 @@ Class and callback definition self.metrics = PerformanceMetrics(update_interval) self.remaining_update_num = num self.feed_inference = True - + def update(self, infer_request: ov.InferRequest): """ Update the context. Set @feed_inference to False if the number of remaining performance metric updates (@remaining_update_num) reaches 0 :param: infer_request: InferRequest returned from inference callback, which includes the result of inference request. :returns: None """ - if self.remaining_update_num <= 0 : + if self.remaining_update_num <= 0: self.feed_inference = False - - if self.metrics.update(infer_request) : + + if self.metrics.update(infer_request): self.remaining_update_num = self.remaining_update_num - 1 - if self.remaining_update_num <= 0 : + if self.remaining_update_num <= 0: self.feed_inference = False @@ -498,7 +516,7 @@ Loop for inference and update the FPS/Latency every print("Compiling Model for AUTO device with THROUGHPUT hint") sys.stdout.flush() - compiled_model = core.compile_model(model=ov_model, config={"PERFORMANCE_HINT":"THROUGHPUT"}) + compiled_model = core.compile_model(model=ov_model, config={"PERFORMANCE_HINT": "THROUGHPUT"}) infer_queue = ov.AsyncInferQueue(compiled_model, 0) # Setting to 0 will query optimal number by default. infer_queue.set_callback(completion_callback) @@ -508,7 +526,7 @@ Loop for inference and update the FPS/Latency every while THROUGHPUT_hint_context.feed_inference: infer_queue.start_async(input_tensor, THROUGHPUT_hint_context) - + infer_queue.wait_all() # Take the FPS and latency of the latest period. @@ -532,32 +550,32 @@ Loop for inference and update the FPS/Latency every .. parsed-literal:: - throughput: 181.84fps, latency: 31.28ms, time interval: 10.00s + throughput: 179.12fps, latency: 31.83ms, time interval: 10.00s .. parsed-literal:: - throughput: 183.53fps, latency: 31.88ms, time interval: 10.01s + throughput: 181.09fps, latency: 32.33ms, time interval: 10.01s .. parsed-literal:: - throughput: 182.49fps, latency: 32.10ms, time interval: 10.00s + throughput: 179.44fps, latency: 32.62ms, time interval: 10.00s .. parsed-literal:: - throughput: 183.45fps, latency: 31.92ms, time interval: 10.00s + throughput: 179.98fps, latency: 32.57ms, time interval: 10.00s .. parsed-literal:: - throughput: 182.69fps, latency: 32.02ms, time interval: 10.00s + throughput: 179.55fps, latency: 32.61ms, time interval: 10.01s .. parsed-literal:: - throughput: 181.11fps, latency: 32.34ms, time interval: 10.02s + throughput: 179.60fps, latency: 32.58ms, time interval: 10.00s .. parsed-literal:: @@ -580,7 +598,7 @@ Loop for inference and update the FPS/Latency for each print("Compiling Model for AUTO Device with LATENCY hint") sys.stdout.flush() - compiled_model = core.compile_model(model=ov_model, config={"PERFORMANCE_HINT":"LATENCY"}) + compiled_model = core.compile_model(model=ov_model, config={"PERFORMANCE_HINT": "LATENCY"}) # Setting to 0 will query optimal number by default. infer_queue = ov.AsyncInferQueue(compiled_model, 0) @@ -591,7 +609,7 @@ Loop for inference and update the FPS/Latency for each while LATENCY_hint_context.feed_inference: infer_queue.start_async(input_tensor, LATENCY_hint_context) - + infer_queue.wait_all() # Take the FPS and latency of the latest period. @@ -615,32 +633,32 @@ Loop for inference and update the FPS/Latency for each .. parsed-literal:: - throughput: 138.83fps, latency: 6.64ms, time interval: 10.01s + throughput: 137.86fps, latency: 6.72ms, time interval: 10.00s .. parsed-literal:: - throughput: 141.03fps, latency: 6.64ms, time interval: 10.00s + throughput: 140.86fps, latency: 6.72ms, time interval: 10.00s .. parsed-literal:: - throughput: 140.77fps, latency: 6.64ms, time interval: 10.00s + throughput: 140.85fps, latency: 6.72ms, time interval: 10.00s .. parsed-literal:: - throughput: 141.80fps, latency: 6.65ms, time interval: 10.01s + throughput: 140.28fps, latency: 6.69ms, time interval: 10.00s .. parsed-literal:: - throughput: 142.26fps, latency: 6.66ms, time interval: 10.00s + throughput: 140.66fps, latency: 6.70ms, time interval: 10.00s .. parsed-literal:: - throughput: 141.36fps, latency: 6.63ms, time interval: 10.00s + throughput: 140.48fps, latency: 6.68ms, time interval: 10.00s .. parsed-literal:: @@ -661,18 +679,29 @@ Difference in FPS and latency LAT = 1 labels = ["THROUGHPUT hint", "LATENCY hint"] - fig1, ax1 = plt.subplots(1, 1) + fig1, ax1 = plt.subplots(1, 1) fig1.patch.set_visible(False) - ax1.axis('tight') - ax1.axis('off') + ax1.axis("tight") + ax1.axis("off") cell_text = [] - cell_text.append(['%.2f%s' % (THROUGHPUT_hint_fps," FPS"), '%.2f%s' % (THROUGHPUT_hint_latency, " ms")]) - cell_text.append(['%.2f%s' % (LATENCY_hint_fps," FPS"), '%.2f%s' % (LATENCY_hint_latency, " ms")]) + cell_text.append( + [ + "%.2f%s" % (THROUGHPUT_hint_fps, " FPS"), + "%.2f%s" % (THROUGHPUT_hint_latency, " ms"), + ] + ) + cell_text.append(["%.2f%s" % (LATENCY_hint_fps, " FPS"), "%.2f%s" % (LATENCY_hint_latency, " ms")]) - table = ax1.table(cellText=cell_text, colLabels=["FPS (Higher is better)", "Latency (Lower is better)"], rowLabels=labels, - rowColours=["deepskyblue"] * 2, colColours=["deepskyblue"] * 2, - cellLoc='center', loc='upper left') + table = ax1.table( + cellText=cell_text, + colLabels=["FPS (Higher is better)", "Latency (Lower is better)"], + rowLabels=labels, + rowColours=["deepskyblue"] * 2, + colColours=["deepskyblue"] * 2, + cellLoc="center", + loc="upper left", + ) table.auto_set_font_size(False) table.set_fontsize(18) table.auto_set_column_width(0) @@ -684,7 +713,7 @@ Difference in FPS and latency -.. image:: 106-auto-device-with-output_files/106-auto-device-with-output_27_0.png +.. image:: auto-device-with-output_files/auto-device-with-output_27_0.png .. code:: ipython3 @@ -693,24 +722,24 @@ Difference in FPS and latency width = 0.4 fontsize = 14 - plt.rc('font', size=fontsize) - fig, ax = plt.subplots(1,2, figsize=(10, 8)) + plt.rc("font", size=fontsize) + fig, ax = plt.subplots(1, 2, figsize=(10, 8)) - rects1 = ax[0].bar([0], THROUGHPUT_hint_fps, width, label=labels[TPUT], color='#557f2d') + rects1 = ax[0].bar([0], THROUGHPUT_hint_fps, width, label=labels[TPUT], color="#557f2d") rects2 = ax[0].bar([width], LATENCY_hint_fps, width, label=labels[LAT]) ax[0].set_ylabel("frames per second") - ax[0].set_xticks([width / 2]) + ax[0].set_xticks([width / 2]) ax[0].set_xticklabels(["FPS"]) ax[0].set_xlabel("Higher is better") - rects1 = ax[1].bar([0], THROUGHPUT_hint_latency, width, label=labels[TPUT], color='#557f2d') + rects1 = ax[1].bar([0], THROUGHPUT_hint_latency, width, label=labels[TPUT], color="#557f2d") rects2 = ax[1].bar([width], LATENCY_hint_latency, width, label=labels[LAT]) ax[1].set_ylabel("milliseconds") ax[1].set_xticks([width / 2]) ax[1].set_xticklabels(["Latency (ms)"]) ax[1].set_xlabel("Lower is better") - fig.suptitle('Performance Hints') + fig.suptitle("Performance Hints") fig.legend(labels, fontsize=fontsize) fig.tight_layout() @@ -718,5 +747,5 @@ Difference in FPS and latency -.. image:: 106-auto-device-with-output_files/106-auto-device-with-output_28_0.png +.. image:: auto-device-with-output_files/auto-device-with-output_28_0.png diff --git a/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_14_1.jpg b/docs/notebooks/auto-device-with-output_files/auto-device-with-output_14_1.jpg similarity index 100% rename from docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_14_1.jpg rename to docs/notebooks/auto-device-with-output_files/auto-device-with-output_14_1.jpg diff --git a/docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_14_1.png b/docs/notebooks/auto-device-with-output_files/auto-device-with-output_14_1.png similarity index 100% rename from docs/notebooks/106-auto-device-with-output_files/106-auto-device-with-output_14_1.png rename to docs/notebooks/auto-device-with-output_files/auto-device-with-output_14_1.png diff --git a/docs/notebooks/auto-device-with-output_files/auto-device-with-output_27_0.png b/docs/notebooks/auto-device-with-output_files/auto-device-with-output_27_0.png new file mode 100644 index 00000000000..a5e6e606528 --- /dev/null +++ b/docs/notebooks/auto-device-with-output_files/auto-device-with-output_27_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84c73fa64ec907ad0be08db15bebc96b35c8b26b29d29f657f8ceeb75aab5662 +size 27580 diff --git a/docs/notebooks/auto-device-with-output_files/auto-device-with-output_28_0.png b/docs/notebooks/auto-device-with-output_files/auto-device-with-output_28_0.png new file mode 100644 index 00000000000..97eef2a1702 --- /dev/null +++ b/docs/notebooks/auto-device-with-output_files/auto-device-with-output_28_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61109ff91028e7d3caeed1fd125fd850785bb6341898e0dce5a87aece1166832 +size 39983 diff --git a/docs/notebooks/256-bark-text-to-audio-with-output.rst b/docs/notebooks/bark-text-to-audio-with-output.rst similarity index 99% rename from docs/notebooks/256-bark-text-to-audio-with-output.rst rename to docs/notebooks/bark-text-to-audio-with-output.rst index c5e30597f74..1c2c30cc4f5 100644 --- a/docs/notebooks/256-bark-text-to-audio-with-output.rst +++ b/docs/notebooks/bark-text-to-audio-with-output.rst @@ -78,14 +78,9 @@ Prerequisites .. code:: ipython3 - import sys - - if sys.platform == "linux": - %pip install -q "torch" "torchvision" "torchaudio" --index-url https://download.pytorch.org/whl/cpu - else: - %pip install -q "torch" "torchvision" "torchaudio" - %pip install -q "openvino>=2023.1.0" gradio - %pip install -q "git+https://github.com/suno-ai/bark.git" + %pip install -q "torch" "torchvision" "torchaudio" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2023.1.0" "gradio>=4.19" + %pip install -q "git+https://github.com/suno-ai/bark.git" --extra-index-url https://download.pytorch.org/whl/cpu .. parsed-literal:: @@ -130,9 +125,7 @@ models for that. text_use_small = True - text_encoder = load_model( - model_type="text", use_gpu=False, use_small=text_use_small, force_reload=False - ) + text_encoder = load_model(model_type="text", use_gpu=False, use_small=text_use_small, force_reload=False) text_encoder_model = text_encoder["model"] tokenizer = text_encoder["tokenizer"] @@ -161,9 +154,7 @@ models for that. if not text_encoder_path0.exists() or not text_encoder_path1.exists(): text_encoder_exportable = TextEncoderModel(text_encoder_model) - ov_model = ov.convert_model( - text_encoder_exportable, example_input=torch.ones((1, 513), dtype=torch.int64) - ) + ov_model = ov.convert_model(text_encoder_exportable, example_input=torch.ones((1, 513), dtype=torch.int64)) ov.save_model(ov_model, text_encoder_path0) logits, kv_cache = text_encoder_exportable(torch.ones((1, 513), dtype=torch.int64)) ov_model = ov.convert_model( @@ -280,21 +271,15 @@ provide empty tensor on the first step. dim=-1, ) - y = torch.nn.functional.scaled_dot_product_attention( - q, k, v, dropout_p=self.dropout, attn_mask=full_attention_mask - ) + y = torch.nn.functional.scaled_dot_product_attention(q, k, v, dropout_p=self.dropout, attn_mask=full_attention_mask) else: # manual implementation of attention att = (q @ k.transpose(-2, -1)) * (1.0 / math.sqrt(k.size(-1))) - att = att.masked_fill( - self.bias[:, :, FULL_T - T : FULL_T, :FULL_T] == 0, float("-inf") - ) + att = att.masked_fill(self.bias[:, :, FULL_T - T : FULL_T, :FULL_T] == 0, float("-inf")) att = F.softmax(att, dim=-1) att = self.attn_dropout(att) y = att @ v # (B, nh, T, T) x (B, nh, T, hs) -> (B, nh, T, hs) - y = ( - y.transpose(1, 2).contiguous().view(B, T, C) - ) # re-assemble all head outputs side by side + y = y.transpose(1, 2).contiguous().view(B, T, C) # re-assemble all head outputs side by side # output projection y = self.resid_dropout(self.c_proj(y)) @@ -305,9 +290,7 @@ provide empty tensor on the first step. coarse_encoder_exportable = CoarseEncoderModel(coarse_model) for block in coarse_encoder_exportable.encoder.transformer.h: block.attn.forward = types.MethodType(casual_self_attention_forward, block.attn) - logits, kv_cache = coarse_encoder_exportable( - torch.ones((1, 886), dtype=torch.int64) - ) + logits, kv_cache = coarse_encoder_exportable(torch.ones((1, 886), dtype=torch.int64)) ov_model = ov.convert_model( coarse_encoder_exportable, example_input=(torch.ones((1, 1), dtype=torch.int64), kv_cache), @@ -328,9 +311,7 @@ provide empty tensor on the first step. fine_use_small = False - fine_model = load_model( - model_type="fine", use_gpu=False, use_small=fine_use_small, force_reload=False - ) + fine_model = load_model(model_type="fine", use_gpu=False, use_small=fine_use_small, force_reload=False) fine_model_suffix = "_small" if fine_use_small else "" fine_model_dir = models_dir / f"fine_model{fine_model_suffix}" @@ -348,14 +329,9 @@ provide empty tensor on the first step. pos = torch.arange(0, t, dtype=torch.long).unsqueeze(0) # shape (1, t) # forward the GPT model itself - tok_embs = [ - wte(idx[:, :, i]).unsqueeze(-1) - for i, wte in enumerate(self.model.transformer.wtes) - ] # token embeddings of shape (b, t, n_embd) + tok_embs = [wte(idx[:, :, i]).unsqueeze(-1) for i, wte in enumerate(self.model.transformer.wtes)] # token embeddings of shape (b, t, n_embd) tok_emb = torch.cat(tok_embs, dim=-1) - pos_emb = self.model.transformer.wpe( - pos - ) # position embeddings of shape (1, t, n_embd) + pos_emb = self.model.transformer.wpe(pos) # position embeddings of shape (1, t, n_embd) x = tok_emb[:, :, :, : pred_idx + 1].sum(dim=-1) x = self.model.transformer.drop(x + pos_emb) for block in self.model.transformer.h: @@ -380,9 +356,7 @@ codebooks embeddings obtained using Coarse encoder. if not fine_feature_extractor_path.exists(): lm_heads = fine_model.lm_heads fine_feature_extractor = FineModel(fine_model) - feature_extractor_out = fine_feature_extractor( - 3, torch.zeros((1, 1024, 8), dtype=torch.int32) - ) + feature_extractor_out = fine_feature_extractor(3, torch.zeros((1, 1024, 8), dtype=torch.int32)) ov_model = ov.convert_model( fine_feature_extractor, example_input=( @@ -420,11 +394,7 @@ For better usability, classes for working with models provided below. return logits, kv_cache def postprocess_outputs(self, outs, is_first_stage): - net_outs = ( - self.compiled_model1.outputs - if is_first_stage - else self.compiled_model2.outputs - ) + net_outs = self.compiled_model1.outputs if is_first_stage else self.compiled_model2.outputs logits = outs[net_outs[0]] kv_cache = [] for out_tensor in net_outs[1:]: @@ -462,21 +432,15 @@ For better usability, classes for working with models provided below. class OVBarkFineEncoder: def __init__(self, core, device, model_dir, num_lm_heads=7): - self.feats_compiled_model = core.compile_model( - model_dir / "bark_fine_feature_extractor.xml", device - ) + self.feats_compiled_model = core.compile_model(model_dir / "bark_fine_feature_extractor.xml", device) self.feats_out = self.feats_compiled_model.output(0) lm_heads = [] for i in range(num_lm_heads): - lm_heads.append( - core.compile_model(model_dir / f"bark_fine_lm_{i}.xml", device) - ) + lm_heads.append(core.compile_model(model_dir / f"bark_fine_lm_{i}.xml", device)) self.lm_heads = lm_heads def __call__(self, pred_idx, idx): - feats = self.feats_compiled_model([ov.Tensor(pred_idx), ov.Tensor(idx)])[ - self.feats_out - ] + feats = self.feats_compiled_model([ov.Tensor(pred_idx), ov.Tensor(idx)])[self.feats_out] lm_id = pred_idx - 1 logits = self.lm_heads[int(lm_id)](feats)[0] return logits @@ -621,9 +585,7 @@ consists from several steps, illustrated on the diagram below: semantic_history = history_prompt["semantic_prompt"] else: semantic_history = None - encoded_text = ( - np.ascontiguousarray(_tokenize(tokenizer, text)) + TEXT_ENCODING_OFFSET - ) + encoded_text = np.ascontiguousarray(_tokenize(tokenizer, text)) + TEXT_ENCODING_OFFSET if len(encoded_text) > 256: p = round((len(encoded_text) - 256) / len(encoded_text) * 100, 1) logger.warning(f"warning, text too long, lopping of last {p}%") @@ -646,9 +608,7 @@ consists from several steps, illustrated on the diagram below: ) else: semantic_history = np.array([SEMANTIC_PAD_TOKEN] * 256) - x = np.hstack( - [encoded_text, semantic_history, np.array([SEMANTIC_INFER_TOKEN])] - ).astype(np.int64)[None] + x = np.hstack([encoded_text, semantic_history, np.array([SEMANTIC_INFER_TOKEN])]).astype(np.int64)[None] assert x.shape[1] == 256 + 256 + 1 n_tot_steps = 768 # custom tqdm updates since we don't know when eos will occur @@ -664,9 +624,7 @@ consists from several steps, illustrated on the diagram below: logits, kv_cache = ov_text_model(ov.Tensor(x_input), kv_cache) relevant_logits = logits[0, 0, :SEMANTIC_VOCAB_SIZE] if allow_early_stop: - relevant_logits = np.hstack( - (relevant_logits, logits[0, 0, [SEMANTIC_PAD_TOKEN]]) - ) # eos + relevant_logits = np.hstack((relevant_logits, logits[0, 0, [SEMANTIC_PAD_TOKEN]])) # eos if top_p is not None: sorted_indices = np.argsort(relevant_logits)[::-1] sorted_logits = relevant_logits[sorted_indices] @@ -682,19 +640,13 @@ consists from several steps, illustrated on the diagram below: relevant_logits[relevant_logits < v[-1]] = -float("Inf") probs = F.softmax(torch.from_numpy(relevant_logits) / temp, dim=-1) item_next = torch.multinomial(probs, num_samples=1) - if allow_early_stop and ( - item_next == SEMANTIC_VOCAB_SIZE - or (min_eos_p is not None and probs[-1] >= min_eos_p) - ): + if allow_early_stop and (item_next == SEMANTIC_VOCAB_SIZE or (min_eos_p is not None and probs[-1] >= min_eos_p)): # eos found, so break pbar.update(100 - pbar_state) break x = torch.cat((torch.from_numpy(x), item_next[None]), dim=1).numpy() tot_generated_duration_s += 1 / SEMANTIC_RATE_HZ - if ( - max_gen_duration_s is not None - and tot_generated_duration_s > max_gen_duration_s - ): + if max_gen_duration_s is not None and tot_generated_duration_s > max_gen_duration_s: pbar.update(100 - pbar_state) break if n == n_tot_steps - 1: @@ -784,24 +736,15 @@ consists from several steps, illustrated on the diagram below: int(np.floor(len(x_coarse_history) / semantic_to_coarse_ratio)), ] ) - n_coarse_hist_provided = int( - round(n_semantic_hist_provided * semantic_to_coarse_ratio) - ) - x_semantic_history = x_semantic_history[-n_semantic_hist_provided:].astype( - np.int32 - ) + n_coarse_hist_provided = int(round(n_semantic_hist_provided * semantic_to_coarse_ratio)) + x_semantic_history = x_semantic_history[-n_semantic_hist_provided:].astype(np.int32) x_coarse_history = x_coarse_history[-n_coarse_hist_provided:].astype(np.int32) x_coarse_history = x_coarse_history[:-2] else: x_semantic_history = np.array([], dtype=np.int32) x_coarse_history = np.array([], dtype=np.int32) # start loop - n_steps = int( - round( - np.floor(len(x_semantic) * semantic_to_coarse_ratio / N_COARSE_CODEBOOKS) - * N_COARSE_CODEBOOKS - ) - ) + n_steps = int(round(np.floor(len(x_semantic) * semantic_to_coarse_ratio / N_COARSE_CODEBOOKS) * N_COARSE_CODEBOOKS)) x_semantic = np.hstack([x_semantic_history, x_semantic]).astype(np.int32) x_coarse = x_coarse_history.astype(np.int32) base_semantic_idx = len(x_semantic_history) @@ -839,12 +782,8 @@ consists from several steps, illustrated on the diagram below: x_input = x_in logits, kv_cache = ov_coarse_model(x_input, past_kv=kv_cache) - logit_start_idx = ( - SEMANTIC_VOCAB_SIZE + (1 - int(is_major_step)) * CODEBOOK_SIZE - ) - logit_end_idx = ( - SEMANTIC_VOCAB_SIZE + (2 - int(is_major_step)) * CODEBOOK_SIZE - ) + logit_start_idx = SEMANTIC_VOCAB_SIZE + (1 - int(is_major_step)) * CODEBOOK_SIZE + logit_end_idx = SEMANTIC_VOCAB_SIZE + (2 - int(is_major_step)) * CODEBOOK_SIZE relevant_logits = logits[0, 0, logit_start_idx:logit_end_idx] if top_p is not None: sorted_indices = np.argsort(relevant_logits)[::-1] @@ -863,9 +802,7 @@ consists from several steps, illustrated on the diagram below: item_next = torch.multinomial(probs, num_samples=1) item_next = item_next item_next += logit_start_idx - x_coarse_in = torch.cat( - (torch.from_numpy(x_coarse_in), item_next[None]), dim=1 - ).numpy() + x_coarse_in = torch.cat((torch.from_numpy(x_coarse_in), item_next[None]), dim=1).numpy() x_in = torch.cat((torch.from_numpy(x_in), item_next[None]), dim=1).numpy() del logits, relevant_logits, probs, item_next n_step += 1 @@ -873,9 +810,7 @@ consists from several steps, illustrated on the diagram below: del x_semantic_in gen_coarse_arr = x_coarse_in.squeeze()[len(x_coarse_history) :] del x_coarse_in - gen_coarse_audio_arr = ( - gen_coarse_arr.reshape(-1, N_COARSE_CODEBOOKS).T - SEMANTIC_VOCAB_SIZE - ) + gen_coarse_audio_arr = gen_coarse_arr.reshape(-1, N_COARSE_CODEBOOKS).T - SEMANTIC_VOCAB_SIZE for n in range(1, N_COARSE_CODEBOOKS): gen_coarse_audio_arr[n, :] -= n * CODEBOOK_SIZE return gen_coarse_audio_arr @@ -908,8 +843,7 @@ consists from several steps, illustrated on the diagram below: in_arr = np.vstack( [ x_coarse_gen, - np.zeros((N_FINE_CODEBOOKS - n_coarse, x_coarse_gen.shape[1])) - + CODEBOOK_SIZE, + np.zeros((N_FINE_CODEBOOKS - n_coarse, x_coarse_gen.shape[1])) + CODEBOOK_SIZE, ] ).astype( np.int32 @@ -928,14 +862,10 @@ consists from several steps, illustrated on the diagram below: in_arr = np.hstack( [ in_arr, - np.zeros((N_FINE_CODEBOOKS, n_remove_from_end), dtype=np.int32) - + CODEBOOK_SIZE, + np.zeros((N_FINE_CODEBOOKS, n_remove_from_end), dtype=np.int32) + CODEBOOK_SIZE, ] ) - n_loops = ( - np.max([0, int(np.ceil((x_coarse_gen.shape[1] - (1024 - n_history)) / 512))]) - + 1 - ) + n_loops = np.max([0, int(np.ceil((x_coarse_gen.shape[1] - (1024 - n_history)) / 512))]) + 1 in_arr = in_arr.T for n in tqdm.tqdm(range(n_loops), disable=silent): start_idx = np.min([n * 512, in_arr.shape[0] - 1024]) @@ -943,27 +873,18 @@ consists from several steps, illustrated on the diagram below: rel_start_fill_idx = start_fill_idx - start_idx in_buffer = in_arr[start_idx : start_idx + 1024, :][None] for nn in range(n_coarse, N_FINE_CODEBOOKS): - logits = ov_fine_model( - np.array([nn]).astype(np.int64), in_buffer.astype(np.int64) - ) + logits = ov_fine_model(np.array([nn]).astype(np.int64), in_buffer.astype(np.int64)) if temp is None: relevant_logits = logits[0, rel_start_fill_idx:, :CODEBOOK_SIZE] codebook_preds = torch.argmax(relevant_logits, -1) else: relevant_logits = logits[0, :, :CODEBOOK_SIZE] / temp probs = F.softmax(torch.from_numpy(relevant_logits), dim=-1) - codebook_preds = torch.hstack( - [ - torch.multinomial(probs[nnn], num_samples=1) - for nnn in range(rel_start_fill_idx, 1024) - ] - ) + codebook_preds = torch.hstack([torch.multinomial(probs[nnn], num_samples=1) for nnn in range(rel_start_fill_idx, 1024)]) in_buffer[0, rel_start_fill_idx:, nn] = codebook_preds.numpy() del logits, codebook_preds for nn in range(n_coarse, N_FINE_CODEBOOKS): - in_arr[ - start_fill_idx : start_fill_idx + (1024 - rel_start_fill_idx), nn - ] = in_buffer[0, rel_start_fill_idx:, nn] + in_arr[start_fill_idx : start_fill_idx + (1024 - rel_start_fill_idx), nn] = in_buffer[0, rel_start_fill_idx:, nn] del in_buffer gen_fine_arr = in_arr.squeeze().T del in_arr @@ -1016,9 +937,7 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() - ov_text_model = OVBarkTextEncoder( - core, device.value, text_encoder_path0, text_encoder_path1 - ) + ov_text_model = OVBarkTextEncoder(core, device.value, text_encoder_path0, text_encoder_path1) ov_coarse_model = OVBarkEncoder(core, device.value, coarse_encoder_path) ov_fine_model = OVBarkFineEncoder(core, device.value, fine_model_dir) @@ -1198,9 +1117,7 @@ Interactive demo with gr.Row(): with gr.Column(): input_text = gr.Textbox(label="Input Text", lines=2, value=default_text) - options = gr.Dropdown( - AVAILABLE_PROMPTS, value="Speaker 1 (en)", label="Acoustic Prompt" - ) + options = gr.Dropdown(AVAILABLE_PROMPTS, value="Speaker 1 (en)", label="Acoustic Prompt") run_button = gr.Button() with gr.Column(): audio_out = gr.Audio(label="Generated Audio", type="numpy") diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output.rst b/docs/notebooks/blip-diffusion-subject-generation-with-output.rst similarity index 90% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output.rst rename to docs/notebooks/blip-diffusion-subject-generation-with-output.rst index 5e7cddad9e0..8a3d4beb770 100644 --- a/docs/notebooks/258-blip-diffusion-subject-generation-with-output.rst +++ b/docs/notebooks/blip-diffusion-subject-generation-with-output.rst @@ -55,8 +55,8 @@ Prerequisites import platform - %pip install -q "openvino>=2023.1.0" Pillow gradio - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu torch transformers accelerate controlnet_aux "diffusers>=0.23.0" "peft==0.6.2" + %pip install -q "openvino>=2023.1.0" Pillow "gradio>=4.19" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "torch>=2.1.0" "transformers>=4.36" accelerate controlnet_aux "diffusers>=0.23.0" "peft==0.6.2" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -76,7 +76,6 @@ Prerequisites import gc from typing import List, Optional, Union from functools import partial - from urllib.request import urlretrieve import diffusers import torch @@ -109,13 +108,9 @@ Prerequisites DATA_DIR = Path("data") DOG_IMG_URL = "https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/dog.jpg" DOG_IMG_PATH = DATA_DIR / "dog.jpg" - KETTLE_IMG_URL = ( - "https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/kettle.jpg" - ) + KETTLE_IMG_URL = "https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/kettle.jpg" KETTLE_IMG_PATH = DATA_DIR / "kettle.jpg" - FLOWER_IMG_URL = ( - "https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/flower.jpg" - ) + FLOWER_IMG_URL = "https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/flower.jpg" FLOWER_IMG_PATH = DATA_DIR / "flower.jpg" BAG_IMG_URL = "https://huggingface.co/lllyasviel/sd-controlnet-scribble/resolve/main/images/bag.png" BAG_IMG_PATH = DATA_DIR / "bag.jpg" @@ -134,9 +129,7 @@ We use Hugging Face ``diffusers`` library to load the model using .. code:: ipython3 pipe = diffusers.pipelines.BlipDiffusionPipeline.from_pretrained("ayushtues/blipdiffusion") - pipe_controlnet = diffusers.pipelines.BlipDiffusionControlNetPipeline.from_pretrained( - "ayushtues/blipdiffusion-controlnet" - ) + pipe_controlnet = diffusers.pipelines.BlipDiffusionControlNetPipeline.from_pretrained("ayushtues/blipdiffusion-controlnet") .. parsed-literal:: @@ -163,11 +156,18 @@ We use Hugging Face ``diffusers`` library to load the model using .. code:: ipython3 + import requests + # Download images - urlretrieve(DOG_IMG_URL, DOG_IMG_PATH) - urlretrieve(KETTLE_IMG_URL, KETTLE_IMG_PATH) - urlretrieve(FLOWER_IMG_URL, FLOWER_IMG_PATH) - urlretrieve(BAG_IMG_URL, BAG_IMG_PATH); + + IMAGE_URLS = [DOG_IMG_PATH, KETTLE_IMG_URL, FLOWER_IMG_URL, BAG_IMG_URL] + IMAGE_PATHS = [DOG_IMG_PATH, KETTLE_IMG_PATH, FLOWER_IMG_PATH, BAG_IMG_PATH] + + for url, img_path in zip(IMAGE_URLS, IMAGE_PATHS): + r = requests.get(url) + + with img_path.open("wb") as f: + f.write(r.content) Infer the original model ------------------------ @@ -226,7 +226,7 @@ is an image containing the subject with conditions from the prompt -.. image:: 258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_12_0.png +.. image:: blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_12_0.png Controlled subject-driven generation (Canny-edge) @@ -290,7 +290,7 @@ description. "Conditioning image": cond_image, "Canny-edge mask": cldm_cond_image[0], "Style image": style_image, - "Output": output[0][0] + "Output": output[0][0], } plt.figure(figsize=(16, 4), layout="tight") @@ -302,7 +302,7 @@ description. -.. image:: 258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_16_0.png +.. image:: blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_16_0.png Controlled subject-driven generation (Scribble) @@ -363,7 +363,7 @@ edge map is the final output of HED and input of our diffusion model. "Conditioning image": bag_img, "Scribble mask": cldm_cond_image[0], "Style image": style_image, - "Output": output[0][0] + "Output": output[0][0], } plt.figure(figsize=(16, 4), layout="tight") for i, (title, img) in enumerate(title2img.items()): @@ -374,7 +374,7 @@ edge map is the final output of HED and input of our diffusion model. -.. image:: 258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_19_0.png +.. image:: blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_19_0.png Convert the model to OpenVINO Intermediate Representation (IR) @@ -384,7 +384,7 @@ Convert the model to OpenVINO Intermediate Representation (IR) BLIP-Diffusion pipeline has the following structure: -.. image:: 258-blip-diffusion-subject-generation-with-output_files/1c472f1f-1fce-4a13-9d44-b10f6f760ddb.png +.. image:: blip-diffusion-subject-generation-with-output_files/1c472f1f-1fce-4a13-9d44-b10f6f760ddb.png The output of the BLIP-2 multimodal encoder is connected to the input of @@ -532,9 +532,7 @@ Original QFormer model takes raw text as input, so we redefine the # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length] # ourselves in which case we just need to make it broadcastable to all heads. - extended_attention_mask = self.get_extended_attention_mask( - attention_mask, input_shape, device - ) + extended_attention_mask = self.get_extended_attention_mask(attention_mask, input_shape, device) # If a 2D or 3D attention mask is provided for the cross-attention # we need to make broadcastable to [batch_size, num_heads, seq_length, seq_length] @@ -542,7 +540,11 @@ Original QFormer model takes raw text as input, so we redefine the if isinstance(encoder_hidden_states, list): encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states[0].size() else: - encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states.size() + ( + encoder_batch_size, + encoder_sequence_length, + _, + ) = encoder_hidden_states.size() encoder_hidden_shape = (encoder_batch_size, encoder_sequence_length) encoder_attention_mask = torch.ones(encoder_hidden_shape, device=device) encoder_extended_attention_mask = self.invert_attention_mask(encoder_attention_mask) @@ -736,7 +738,7 @@ facilitates the actual diffusion process. timestep_dtype=torch.int64, encoder_hidden_states=torch.float32, down_block_additional_residuals=torch.float32, - mid_block_additional_residual=torch.float32 + mid_block_additional_residual=torch.float32, ): super().__init__() self.unet = unet @@ -748,11 +750,11 @@ facilitates the actual diffusion process. def forward( self, - sample:torch.Tensor, - timestep:torch.Tensor, - encoder_hidden_states:torch.Tensor, - down_block_additional_residuals:Tuple[torch.Tensor], - mid_block_additional_residual:torch.Tensor + sample: torch.Tensor, + timestep: torch.Tensor, + encoder_hidden_states: torch.Tensor, + down_block_additional_residuals: Tuple[torch.Tensor], + mid_block_additional_residual: torch.Tensor, ): sample.to(self.sample_dtype) timestep.to(self.timestep_dtype) @@ -764,9 +766,10 @@ facilitates the actual diffusion process. timestep, encoder_hidden_states, down_block_additional_residuals=down_block_additional_residuals, - mid_block_additional_residual=mid_block_additional_residual + mid_block_additional_residual=mid_block_additional_residual, ) + def flatten_inputs(inputs): flat_inputs = [] for input_data in inputs: @@ -1024,9 +1027,7 @@ Inference prompt_strength=prompt_strength, prompt_reps=prompt_reps, ) - qformer_input = self.qformer_tokenizer( - source_subject_category, return_tensors="pt", padding=True - ) + qformer_input = self.qformer_tokenizer(source_subject_category, return_tensors="pt", padding=True) query_embeds = self.qformer( image_input=reference_image, text_input_ids=qformer_input.input_ids, @@ -1079,9 +1080,7 @@ Inference # expand the latents if we are doing classifier free guidance do_classifier_free_guidance = guidance_scale > 1.0 - latent_model_input = ( - torch.cat([latents] * 2) if do_classifier_free_guidance else latents - ) + latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents if conditioning_image: controlnet_output = self.controlnet( [ @@ -1093,7 +1092,9 @@ Inference ) noise_pred = ( self.unet( - sample=latent_model_input, timestep=t, encoder_hidden_states=text_embeddings + sample=latent_model_input, + timestep=t, + encoder_hidden_states=text_embeddings, ) if not conditioning_image else self.unet_controlnet( @@ -1107,9 +1108,7 @@ Inference # perform guidance if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) - noise_pred = noise_pred_uncond + guidance_scale * ( - noise_pred_text - noise_pred_uncond - ) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) latents = self.scheduler.step( noise_pred, @@ -1146,9 +1145,7 @@ Inference return text_embeddings - OvBlipDiffusionPipeline.prepare_control_image = ( - diffusers.pipelines.BlipDiffusionControlNetPipeline.prepare_control_image - ) + OvBlipDiffusionPipeline.prepare_control_image = diffusers.pipelines.BlipDiffusionControlNetPipeline.prepare_control_image OvBlipDiffusionPipeline._build_prompt = diffusers.pipelines.BlipDiffusionPipeline._build_prompt OvBlipDiffusionPipeline.prepare_latents = diffusers.pipelines.BlipDiffusionPipeline.prepare_latents @@ -1170,7 +1167,7 @@ Zero-Shot subject-driven generation tgt_subject, guidance_scale=guidance_scale, num_inference_steps=num_inference_steps, - neg_prompt=negative_prompt + neg_prompt=negative_prompt, ) @@ -1192,7 +1189,7 @@ Zero-Shot subject-driven generation -.. image:: 258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_52_0.png +.. image:: blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_52_0.png Controlled subject-driven generation (Canny-edge) @@ -1241,7 +1238,7 @@ Controlled subject-driven generation (Canny-edge) "Conditioning image": cond_image, "Canny-edge mask": cldm_cond_image[0], "Style image": style_image, - "Output": output[0] + "Output": output[0], } plt.figure(figsize=(16, 4), layout="tight") @@ -1253,7 +1250,7 @@ Controlled subject-driven generation (Canny-edge) -.. image:: 258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_55_0.png +.. image:: blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_55_0.png Controlled subject-driven generation (Scribble) @@ -1299,7 +1296,7 @@ Controlled subject-driven generation (Scribble) "Conditioning image": bag_img, "Scribble mask": cldm_cond_image[0], "Style image": style_image, - "Output": output[0] + "Output": output[0], } plt.figure(figsize=(16, 4), layout="tight") for i, (title, img) in enumerate(title2img.items()): @@ -1310,7 +1307,7 @@ Controlled subject-driven generation (Scribble) -.. image:: 258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_58_0.png +.. image:: blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_58_0.png Interactive inference @@ -1417,9 +1414,21 @@ Interactive inference inputs = [ gr.Textbox(label="Prompt"), gr.Image(label="Reference image", type="pil"), - gr.Textbox(label="Source subject category", info="String description of a subject that defines the style"), - gr.Textbox(label="Target subject category", info="String description of a subject to generate"), - gr.Slider(1.1, 10, value=7.5, label="Guidance scale", info="Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality"), + gr.Textbox( + label="Source subject category", + info="String description of a subject that defines the style", + ), + gr.Textbox( + label="Target subject category", + info="String description of a subject to generate", + ), + gr.Slider( + 1.1, + 10, + value=7.5, + label="Guidance scale", + info="Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality", + ), gr.Slider(1, 100, value=50, label="Number of inference steps"), gr.Slider(0, 1_000_000, value=0, label="Random seed"), gr.Textbox(label="Negative prompt"), @@ -1449,10 +1458,22 @@ Interactive inference inputs = [ gr.Textbox(label="Prompt"), gr.Image(label="Reference image", type="pil"), - gr.Textbox(label="Source subject category", info="String description of a subject that defines the style"), - gr.Textbox(label="Target subject category", info="String description of a subject to generate"), + gr.Textbox( + label="Source subject category", + info="String description of a subject that defines the style", + ), + gr.Textbox( + label="Target subject category", + info="String description of a subject to generate", + ), gr.Image(label="Conditioning image", type="pil"), - gr.Slider(1.1, 10, value=7.5, label="Guidance scale", info="Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality"), + gr.Slider( + 1.1, + 10, + value=7.5, + label="Guidance scale", + info="Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality", + ), gr.Slider(1, 100, value=50, label="Number of inference steps"), gr.Slider(0, 1_000_000, value=0, label="Random seed"), gr.Textbox(label="Negative prompt"), @@ -1483,10 +1504,22 @@ Interactive inference inputs = [ gr.Textbox(label="Prompt"), gr.Image(label="Reference image", type="pil"), - gr.Textbox(label="Source subject category", info="String description of a subject that defines the style"), - gr.Textbox(label="Target subject category", info="String description of a subject to generate"), + gr.Textbox( + label="Source subject category", + info="String description of a subject that defines the style", + ), + gr.Textbox( + label="Target subject category", + info="String description of a subject to generate", + ), gr.Image(label="Conditioning image", type="pil"), - gr.Slider(1.1, 10, value=7.5, label="Guidance scale", info="Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality"), + gr.Slider( + 1.1, + 10, + value=7.5, + label="Guidance scale", + info="Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality", + ), gr.Slider(1, 100, value=50, label="Number of inference steps"), gr.Slider(0, 1_000_000, value=0, label="Random seed"), gr.Textbox(label="Negative prompt"), diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/1c472f1f-1fce-4a13-9d44-b10f6f760ddb.png b/docs/notebooks/blip-diffusion-subject-generation-with-output_files/1c472f1f-1fce-4a13-9d44-b10f6f760ddb.png similarity index 100% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/1c472f1f-1fce-4a13-9d44-b10f6f760ddb.png rename to docs/notebooks/blip-diffusion-subject-generation-with-output_files/1c472f1f-1fce-4a13-9d44-b10f6f760ddb.png diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_12_0.png b/docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_12_0.png similarity index 100% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_12_0.png rename to docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_12_0.png diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_16_0.png b/docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_16_0.png similarity index 100% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_16_0.png rename to docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_16_0.png diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_19_0.png b/docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_19_0.png similarity index 100% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_19_0.png rename to docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_19_0.png diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_52_0.png b/docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_52_0.png similarity index 100% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_52_0.png rename to docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_52_0.png diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_55_0.png b/docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_55_0.png similarity index 100% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_55_0.png rename to docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_55_0.png diff --git a/docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_58_0.png b/docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_58_0.png similarity index 100% rename from docs/notebooks/258-blip-diffusion-subject-generation-with-output_files/258-blip-diffusion-subject-generation-with-output_58_0.png rename to docs/notebooks/blip-diffusion-subject-generation-with-output_files/blip-diffusion-subject-generation-with-output_58_0.png diff --git a/docs/notebooks/233-blip-visual-language-processing-with-output.rst b/docs/notebooks/blip-visual-language-processing-with-output.rst similarity index 84% rename from docs/notebooks/233-blip-visual-language-processing-with-output.rst rename to docs/notebooks/blip-visual-language-processing-with-output.rst index 8fe90b73c05..3af5b98d5d0 100644 --- a/docs/notebooks/233-blip-visual-language-processing-with-output.rst +++ b/docs/notebooks/blip-visual-language-processing-with-output.rst @@ -14,9 +14,12 @@ image-text retrieval, image captioning, and visual question answering. pre-training framework for unified vision-language understanding and generation. BLIP achieves state-of-the-art results on a wide range of vision-language tasks. This tutorial demonstrates how to use BLIP for -visual question answering and image captioning. additional part of -tutorial demonstrates how to optimize model in low precision using -`NNCF `__. +visual question answering and image captioning. An additional part of +tutorial demonstrates how to speed up the model by applying 8-bit +post-training quantization and data free int8 weight compression from +`NNCF `__ (Neural Network +Compression Framework) to OpenVINO IR models and infer optimized BLIP +model via OpenVINO™ Toolkit. The tutorial consists of the following parts: @@ -49,8 +52,23 @@ Table of contents: - `Image Captioning <#image-captioning>`__ - `Question Answering <#question-answering>`__ +- `Optimize model using NNCF <#optimize-model-using-nncf>`__ + + - `Prepare dataset <#prepare-dataset>`__ + - `Quantize vision model <#quantize-vision-model>`__ + - `Quantize text encoder <#quantize-text-encoder>`__ + - `Compress weights of text + decoder <#compress-weights-of-text-decoder>`__ + - `Run optimized OpenVINO model <#run-optimized-openvino-model>`__ + + - `Image captioning <#image-captioning>`__ + - `Question answering <#question-answering>`__ + + - `Compare file sizes <#compare-file-sizes>`__ + - `Compare inference time of the FP16 and optimized + models <#compare-inference-time-of-the-fp16-and-optimized-models>`__ + - `Interactive demo <#interactive-demo>`__ -- `Next steps <#next-steps>`__ Background ---------- @@ -252,26 +270,25 @@ text and vision modalities and postprocessing of generation results. import platform - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu torch torchvision "transformers>=4.26.0" gradio "openvino>=2023.3.0" "datasets>==2.14.6" "nncf>=2.8.1" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "torch>=2.1.0" torchvision "transformers>=4.26.0" "gradio>=4.19" "openvino>=2023.3.0" "datasets>==2.14.6" "nncf>=2.8.1" "tqdm" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" else: %pip install -q "matplotlib>=3.4,<3.7" - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - .. code:: ipython3 - import sys import time from PIL import Image from transformers import BlipProcessor, BlipForQuestionAnswering - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file # get model and processor @@ -279,9 +296,9 @@ text and vision modalities and postprocessing of generation results. model = BlipForQuestionAnswering.from_pretrained("Salesforce/blip-vqa-base") # setup test input: download and read image, prepare question - img_url = 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/demo.jpg' + img_url = "https://storage.googleapis.com/sfr-vision-language-research/BLIP/demo.jpg" download_file(img_url, "demo.jpg") - raw_image = Image.open("demo.jpg").convert('RGB') + raw_image = Image.open("demo.jpg").convert("RGB") question = "how many dogs are in the picture?" # preprocess input data inputs = processor(raw_image, question, return_tensors="pt") @@ -294,27 +311,6 @@ text and vision modalities and postprocessing of generation results. # postprocess result answer = processor.decode(out[0], skip_special_tokens=True) - -.. parsed-literal:: - - 2024-02-27 18:27:06.101620: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-02-27 18:27:06.103343: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-02-27 18:27:06.140450: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2024-02-27 18:27:06.811047: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -.. parsed-literal:: - - 'demo.jpg' already exists. - - -.. parsed-literal:: - - /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/transformers/generation/utils.py:1178: UserWarning: Using the model-agnostic default `max_length` (=20) to control the generation length. We recommend setting `max_new_tokens` to control the maximum length of the generation. - warnings.warn( - - .. code:: ipython3 print(f"Processing time: {end:.4f} s") @@ -322,7 +318,7 @@ text and vision modalities and postprocessing of generation results. .. parsed-literal:: - Processing time: 0.2996 s + Processing time: 0.3707 s .. code:: ipython3 @@ -333,7 +329,7 @@ text and vision modalities and postprocessing of generation results. -.. image:: 233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_7_0.png +.. image:: blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_7_0.png Convert Models to OpenVINO IR @@ -397,7 +393,13 @@ shape, containing RGB image pixel values normalized in the [0,1] range. .. parsed-literal:: - Vision model will be loaded from blip_vision_model.xml + /home/ltalamanova/tmp_venv/lib/python3.11/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + warnings.warn( + + +.. parsed-literal:: + + Vision model successfuly converted and saved to blip_vision_model.xml Text Encoder @@ -423,7 +425,12 @@ model and attention masks for them. # prepare example inputs image_embeds = vision_outputs[0] image_attention_mask = torch.ones(image_embeds.size()[:-1], dtype=torch.long) - input_dict = {"input_ids": inputs["input_ids"], "attention_mask": inputs["attention_mask"], "encoder_hidden_states": image_embeds, "encoder_attention_mask": image_attention_mask} + input_dict = { + "input_ids": inputs["input_ids"], + "attention_mask": inputs["attention_mask"], + "encoder_hidden_states": image_embeds, + "encoder_attention_mask": image_attention_mask, + } # export PyTorch model with torch.no_grad(): ov_text_encoder = ov.convert_model(text_encoder, example_input=input_dict) @@ -436,7 +443,7 @@ model and attention masks for them. .. parsed-literal:: - Text encoder will be loaded from blip_text_encoder.xml + Text encoder successfuly converted and saved to blip_text_encoder.xml Text Decoder @@ -500,7 +507,12 @@ shapes. encoder_hidden_states = torch.rand((1, 10, 768)) # encoder last hidden state from text_encoder encoder_attention_mask = torch.ones((1, 10), dtype=torch.long) # attention mask for encoder hidden states - input_dict = {"input_ids": input_ids, "attention_mask": attention_mask, "encoder_hidden_states": encoder_hidden_states, "encoder_attention_mask": encoder_attention_mask} + input_dict = { + "input_ids": input_ids, + "attention_mask": attention_mask, + "encoder_hidden_states": encoder_hidden_states, + "encoder_attention_mask": encoder_attention_mask, + } text_decoder_outs = text_decoder(**input_dict) # extend input dictionary with hidden states from previous step input_dict["past_key_values"] = text_decoder_outs["past_key_values"] @@ -519,7 +531,15 @@ shapes. .. parsed-literal:: - Text decoder will be loaded from blip_text_decoder_with_past.xml + /home/ltalamanova/tmp_venv/lib/python3.11/site-packages/transformers/models/blip/modeling_blip_text.py:635: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + if causal_mask.shape[1] < attention_mask.shape[1]: + /home/ltalamanova/tmp_venv/lib/python3.11/site-packages/torch/jit/_trace.py:165: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed. Its .grad attribute won't be populated during autograd.backward(). If you indeed want the .grad field to be populated for a non-leaf Tensor, use .retain_grad() on the non-leaf Tensor. If you access the non-leaf Tensor by mistake, make sure you access the leaf Tensor instead. See github.com/pytorch/pytorch/pull/30531 for more informations. (Triggered internally at aten/src/ATen/core/TensorBody.h:489.) + if a.grad is not None: + + +.. parsed-literal:: + + Text decoder successfuly converted and saved to blip_text_decoder_with_past.xml Run OpenVINO Model @@ -550,7 +570,7 @@ tokenized by ``BlipProcessor`` are provided to the text encoder and then multimodal question embedding is passed to the text decoder for performing generation of answers. -|image1| +|image11| The next step is implementing both pipelines using OpenVINO models. @@ -575,19 +595,27 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) device +.. parsed-literal:: + + huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks... + To disable this warning, you can either: + - Avoid using `tokenizers` before the fork if possible + - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false) + + .. parsed-literal:: - Dropdown(description='Device:', index=3, options=('CPU', 'GPU.0', 'GPU.1', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=4, options=('CPU', 'GPU.0', 'GPU.1', 'GPU.2', 'AUTO'), value='AUTO') @@ -634,7 +662,7 @@ Image Captioning -.. image:: 233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_25_0.png +.. image:: blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_25_0.png Question Answering @@ -652,7 +680,7 @@ Question Answering -.. image:: 233-blip-visual-language-processing-with-output_files/233-blip-visual-language-processing-with-output_27_0.png +.. image:: blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_27_0.png .. code:: ipython3 @@ -662,15 +690,12 @@ Question Answering .. parsed-literal:: - Processing time: 0.1403 + Processing time: 0.1186 Optimize model using NNCF ------------------------- -Quantize -~~~~~~~~ - `NNCF `__ enables @@ -697,15 +722,22 @@ The optimization process contains the following steps: to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) to_quantize -.. code:: ipython3 - from urllib.request import urlretrieve + + +.. parsed-literal:: + + Checkbox(value=True, description='Quantization') + + + +.. code:: ipython3 VISION_MODEL_OV_INT8 = Path(str(VISION_MODEL_OV).replace(".xml", "_int8.xml")) TEXT_ENCODER_OV_INT8 = Path(str(TEXT_ENCODER_OV).replace(".xml", "_int8.xml")) @@ -713,15 +745,15 @@ The optimization process contains the following steps: int8_model = None # Fetch skip_kernel_extension module - urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/skip_kernel_extension.py', - filename='skip_kernel_extension.py' + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension Prepare dataset -^^^^^^^^^^^^^^^ +~~~~~~~~~~~~~~~ @@ -772,8 +804,6 @@ understanding of vision, language and commonsense knowledge to answer. inputs_info = {} for idx, batch in enumerate(tqdm(dataloader, total=opt_init_steps, desc="Prepare calibration data")): preprocess_batch(batch, vision_model, inputs_info) - if idx >= opt_init_steps: - break calibration_subset = [] for image_id in inputs_info: @@ -795,9 +825,12 @@ understanding of vision, language and commonsense knowledge to answer. """ Prepares a vision-text dataset for quantization. """ - dataset = load_dataset("HuggingFaceM4/VQAv2", split="train", streaming=streaming) - train_dataset = dataset.shuffle(seed=42) - calibration_subset = prepare_input_data(train_dataset, vision_model, opt_init_steps) + split = f"train[:{opt_init_steps}]" if not streaming else "train" + dataset = load_dataset("HuggingFaceM4/VQAv2", split=split, streaming=streaming) + dataset = dataset.shuffle(seed=42) + if streaming: + dataset = dataset.take(opt_init_steps) + calibration_subset = prepare_input_data(dataset, vision_model, opt_init_steps) return calibration_subset Loading and processing the dataset in streaming mode may take a long @@ -812,26 +845,8 @@ time and depends on your internet connection. comp_vision_model = core.compile_model(VISION_MODEL_OV, device.value) calibration_data = prepare_dataset(comp_vision_model) - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -.. parsed-literal:: - - /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/huggingface_hub/repocard.py:105: UserWarning: Repo card metadata block was not found. Setting CardData to empty. - warnings.warn("Repo card metadata block was not found. Setting CardData to empty.") - - - -.. parsed-literal:: - - Prepare calibration data: 0%| | 0/300 [00:00Processing time: {elapsed:.4f}

" @@ -1311,7 +1374,7 @@ Interactive demo ], [gr.Text(label="Answer"), gr.HTML()], examples=[["demo.jpg", ""], ["demo.jpg", question]], - allow_flagging="never" + allow_flagging="never", ) try: demo.launch(debug=False) @@ -1320,13 +1383,3 @@ Interactive demo # if you are launching remotely, specify server_name and server_port # demo.launch(server_name='your server name', server_port='server port in int') # Read more in the docs: https://gradio.app/docs/ - -Next steps ----------- - - - -Open the `233-blip-optimize <233-blip-optimize-with-output.html>`__ notebook to -quantize vision and text encoder models with the Post-training -Quantization API of NNCF and compress weights of the text decoder. Then -compare the converted and optimized OpenVINO models. diff --git a/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_25_0.png b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_25_0.png new file mode 100644 index 00000000000..c90aa04a52d --- /dev/null +++ b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_25_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec8d01e06da8fec020483260e6bbe7ac04612ca64dc4642197e8966d20af384f +size 206675 diff --git a/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_27_0.png b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_27_0.png new file mode 100644 index 00000000000..7de75c31a7e --- /dev/null +++ b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_27_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d6069f2803d8a4ea3d5855ed874b353af223ba5418714b3c5e637114ff206d5 +size 210267 diff --git a/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_47_0.png b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_47_0.png new file mode 100644 index 00000000000..1749467ee07 --- /dev/null +++ b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_47_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4efd1fbdfcf5ae4b424316254235eb40a09d5716b6cff4aadb5b4f4b9eefe34 +size 205951 diff --git a/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_49_0.png b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_49_0.png new file mode 100644 index 00000000000..7de75c31a7e --- /dev/null +++ b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_49_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d6069f2803d8a4ea3d5855ed874b353af223ba5418714b3c5e637114ff206d5 +size 210267 diff --git a/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_7_0.png b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_7_0.png new file mode 100644 index 00000000000..7de75c31a7e --- /dev/null +++ b/docs/notebooks/blip-visual-language-processing-with-output_files/blip-visual-language-processing-with-output_7_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d6069f2803d8a4ea3d5855ed874b353af223ba5418714b3c5e637114ff206d5 +size 210267 diff --git a/docs/notebooks/232-clip-language-saliency-map-with-output.rst b/docs/notebooks/clip-language-saliency-map-with-output.rst similarity index 88% rename from docs/notebooks/232-clip-language-saliency-map-with-output.rst rename to docs/notebooks/clip-language-saliency-map-with-output.rst index 6065447e54a..9ac43fe4b42 100644 --- a/docs/notebooks/232-clip-language-saliency-map-with-output.rst +++ b/docs/notebooks/clip-language-saliency-map-with-output.rst @@ -111,18 +111,17 @@ Initial Implementation with Transformers and Pytorch # Install requirements %pip install -q "openvino>=2023.1.0" - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu transformers torch gradio + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu transformers "torch>=2.1" "gradio>=4.19" .. code:: ipython3 from pathlib import Path from typing import Tuple, Union, Optional - from urllib.request import urlretrieve + import requests from matplotlib import colors import matplotlib.pyplot as plt import numpy as np - import requests import torch import tqdm from PIL import Image @@ -164,37 +163,25 @@ formula above. .. code:: ipython3 - def get_random_crop_params( - image_height: int, image_width: int, min_crop_size: int - ) -> Tuple[int, int, int, int]: + def get_random_crop_params(image_height: int, image_width: int, min_crop_size: int) -> Tuple[int, int, int, int]: crop_size = np.random.randint(min_crop_size, min(image_height, image_width)) x = np.random.randint(image_width - crop_size + 1) y = np.random.randint(image_height - crop_size + 1) return x, y, crop_size - def get_cropped_image( - im_tensor: np.array, x: int, y: int, crop_size: int - ) -> np.array: - return im_tensor[ - y : y + crop_size, - x : x + crop_size, - ... - ] + def get_cropped_image(im_tensor: np.array, x: int, y: int, crop_size: int) -> np.array: + return im_tensor[y : y + crop_size, x : x + crop_size, ...] - def update_saliency_map( - saliency_map: np.array, similarity: float, x: int, y: int, crop_size: int - ) -> None: + def update_saliency_map(saliency_map: np.array, similarity: float, x: int, y: int, crop_size: int) -> None: saliency_map[ y : y + crop_size, x : x + crop_size, ] += similarity - def cosine_similarity( - one: Union[np.ndarray, torch.Tensor], other: Union[np.ndarray, torch.Tensor] - ) -> Union[np.ndarray, torch.Tensor]: + def cosine_similarity(one: Union[np.ndarray, torch.Tensor], other: Union[np.ndarray, torch.Tensor]) -> Union[np.ndarray, torch.Tensor]: return one @ other.T / (np.linalg.norm(one) * np.linalg.norm(other)) Parameters to be defined: @@ -220,7 +207,11 @@ parameters at the end, when you get an optimized model. query = "Who developed the Theory of General Relativity?" image_path = Path("example.jpg") - urlretrieve("https://www.storypick.com/wp-content/uploads/2016/01/AE-2.jpg", image_path) + + r = requests.get("https://www.storypick.com/wp-content/uploads/2016/01/AE-2.jpg") + + with image_path.open("wb") as f: + f.write(r.content) image = Image.open(image_path) im_tensor = np.array(image) @@ -258,7 +249,7 @@ items in the “How To Build a Saliency Map With CLIP?” list above. initial_similarity = cosine_similarity(results.text_embeds, results.image_embeds).item() # 1. Computing query and image similarity saliency_map = np.zeros((y_dim, x_dim)) - for _ in tqdm.notebook.tqdm(range(n_iters)): # 6. Setting number of the procedure iterations + for _ in tqdm.notebook.tqdm(range(n_iters)): # 6. Setting number of the procedure iterations x, y, crop_size = get_random_crop_params(y_dim, x_dim, min_crop_size) im_crop = get_cropped_image(im_tensor, x, y, crop_size) # 2. Getting a random crop of the image @@ -266,7 +257,9 @@ items in the “How To Build a Saliency Map With CLIP?” list above. with torch.no_grad(): results = model(**inputs) # 3. Computing crop and query similarity - similarity = cosine_similarity(results.text_embeds, results.image_embeds).item() - initial_similarity # 4. Subtracting query and image similarity from crop and query similarity + similarity = ( + cosine_similarity(results.text_embeds, results.image_embeds).item() - initial_similarity + ) # 4. Subtracting query and image similarity from crop and query similarity update_saliency_map(saliency_map, similarity, x, y, crop_size) # 5. Updating the region on the saliency map @@ -281,15 +274,15 @@ To visualize the resulting saliency map, you can use ``matplotlib``: .. code:: ipython3 plt.figure(dpi=150) - plt.imshow(saliency_map, norm=colors.TwoSlopeNorm(vcenter=0), cmap='jet') + plt.imshow(saliency_map, norm=colors.TwoSlopeNorm(vcenter=0), cmap="jet") plt.colorbar(location="bottom") - plt.title(f'Query: \"{query}\"') + plt.title(f'Query: "{query}"') plt.axis("off") plt.show() -.. image:: 232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_15_0.png +.. image:: clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_15_0.png The result map is not as smooth as in the example picture because of the @@ -304,23 +297,22 @@ Let us overlay the saliency map on the image: fig = plt.figure(dpi=150) plt.imshow(image_tensor) plt.imshow( - saliency_map, - norm=colors.TwoSlopeNorm(vcenter=0), - cmap="jet", + saliency_map, + norm=colors.TwoSlopeNorm(vcenter=0), + cmap="jet", alpha=0.5, # make saliency map trasparent to see original picture ) if query: plt.title(f'Query: "{query}"') plt.axis("off") return fig - plot_saliency_map(im_tensor, saliency_map, query); -.. image:: 232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_17_0.png +.. image:: clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_17_0.png Separate Text and Visual Processing @@ -367,7 +359,7 @@ obtain embeddings for the cropped images. -.. image:: 232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_19_1.png +.. image:: clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_19_1.png The result might be slightly different because you use random crops to @@ -406,17 +398,20 @@ details about that can be found in HuggingFace Transformers model.config.torchscript = True model.forward = model.get_text_features text_ov_model = ov.convert_model( - model, - example_input={"input_ids": inputs.input_ids, "attention_mask": inputs.attention_mask} + model, + example_input={ + "input_ids": inputs.input_ids, + "attention_mask": inputs.attention_mask, + }, ) # get image size after preprocessing from the processor crops_info = processor.image_processor.crop_size.values() if hasattr(processor, "image_processor") else processor.feature_extractor.crop_size.values() model.forward = model.get_image_features image_ov_model = ov.convert_model( - model, + model, example_input={"pixel_values": inputs.pixel_values}, - input=[1,3, *crops_info], + input=[1, 3, *crops_info], ) ov_dir = Path("ir") @@ -504,8 +499,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -537,9 +532,7 @@ the inference process is mostly similar. .. code:: ipython3 - text_inputs = dict( - processor(text=[query], images=[im_tensor], return_tensors="np") - ) + text_inputs = dict(processor(text=[query], images=[im_tensor], return_tensors="np")) image_inputs = text_inputs.pop("pixel_values") text_embeds = text_model(text_inputs)[0] @@ -568,7 +561,7 @@ the inference process is mostly similar. -.. image:: 232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_29_1.png +.. image:: clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_29_1.png Accelerate Inference with ``AsyncInferQueue`` @@ -610,16 +603,14 @@ performance hint. image_model = core.read_model(image_model_path) image_model = core.compile_model( - model=image_model, - device_name=device.value, - config={"PERFORMANCE_HINT":"THROUGHPUT"}, + model=image_model, + device_name=device.value, + config={"PERFORMANCE_HINT": "THROUGHPUT"}, ) .. code:: ipython3 - text_inputs = dict( - processor(text=[query], images=[im_tensor], return_tensors="np") - ) + text_inputs = dict(processor(text=[query], images=[im_tensor], return_tensors="np")) image_inputs = text_inputs.pop("pixel_values") text_embeds = text_model(text_inputs)[text_model.output()] @@ -647,13 +638,11 @@ should pass a progress bar object and call ``update`` method after user_data: Dict[str, Any], # data that you passed along with input pixel values ) -> None: pbar = user_data.pop("pbar") - + image_embeds = infer_request.get_output_tensor().data - similarity = ( - cosine_similarity(user_data.pop("text_embeds"), image_embeds) - user_data.pop("initial_similarity") - ) + similarity = cosine_similarity(user_data.pop("text_embeds"), image_embeds) - user_data.pop("initial_similarity") update_saliency_map(**user_data, similarity=similarity) - + pbar.update(1) # update the progress bar @@ -662,35 +651,63 @@ should pass a progress bar object and call ``update`` method after .. code:: ipython3 - def infer(im_tensor, x_dim, y_dim, text_embeds, image_embeds, initial_similarity, saliency_map, query, n_iters, min_crop_size, _tqdm=tqdm.notebook.tqdm, include_query=True): + def infer( + im_tensor, + x_dim, + y_dim, + text_embeds, + image_embeds, + initial_similarity, + saliency_map, + query, + n_iters, + min_crop_size, + _tqdm=tqdm.notebook.tqdm, + include_query=True, + ): with _tqdm(total=n_iters) as pbar: - for _ in range(n_iters): + for _ in range(n_iters): x, y, crop_size = get_random_crop_params(y_dim, x_dim, min_crop_size) im_crop = get_cropped_image(im_tensor, x, y, crop_size) - + image_inputs = processor(images=[im_crop], return_tensors="np") - + # push data to the queue infer_queue.start_async( # pass inference data as usual image_inputs.pixel_values, # the data that will be passed to the callback after the inference complete { - "text_embeds": text_embeds, + "text_embeds": text_embeds, "saliency_map": saliency_map, "initial_similarity": initial_similarity, - "x": x, - "y": y, + "x": x, + "y": y, "crop_size": crop_size, "pbar": pbar, - } + }, ) - + # after you pushed all data to the queue you wait until all callbacks finished infer_queue.wait_all() - + return plot_saliency_map(im_tensor, saliency_map, query if include_query else None) - infer(im_tensor, x_dim, y_dim, text_embeds, image_embeds, initial_similarity, saliency_map, query, n_iters, min_crop_size, _tqdm=tqdm.notebook.tqdm, include_query=True); + + + infer( + im_tensor, + x_dim, + y_dim, + text_embeds, + image_embeds, + initial_similarity, + saliency_map, + query, + n_iters, + min_crop_size, + _tqdm=tqdm.notebook.tqdm, + include_query=True, + ); @@ -700,7 +717,7 @@ should pass a progress bar object and call ``update`` method after -.. image:: 232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_35_1.png +.. image:: clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_35_1.png Pack the Pipeline into a Function @@ -715,13 +732,18 @@ Let us wrap all code in the function and add a user interface to it. import ipywidgets as widgets - def build_saliency_map(image: Image, query: str, n_iters: int = n_iters, min_crop_size=min_crop_size, _tqdm=tqdm.notebook.tqdm, include_query=True): + def build_saliency_map( + image: Image, + query: str, + n_iters: int = n_iters, + min_crop_size=min_crop_size, + _tqdm=tqdm.notebook.tqdm, + include_query=True, + ): x_dim, y_dim = image.size im_tensor = np.array(image) - text_inputs = dict( - processor(text=[query], images=[im_tensor], return_tensors="np") - ) + text_inputs = dict(processor(text=[query], images=[im_tensor], return_tensors="np")) image_inputs = text_inputs.pop("pixel_values") text_embeds = text_model(text_inputs)[text_model.output()] @@ -730,7 +752,20 @@ Let us wrap all code in the function and add a user interface to it. initial_similarity = cosine_similarity(text_embeds, image_embeds) saliency_map = np.zeros((y_dim, x_dim)) - return infer(im_tensor, x_dim, y_dim, text_embeds, image_embeds, initial_similarity, saliency_map, query, n_iters, min_crop_size, _tqdm=_tqdm, include_query=include_query) + return infer( + im_tensor, + x_dim, + y_dim, + text_embeds, + image_embeds, + initial_similarity, + saliency_map, + query, + n_iters, + min_crop_size, + _tqdm=_tqdm, + include_query=include_query, + ) The first version will enable passing a link to the image, as you have done so far in the notebook. @@ -763,10 +798,10 @@ done so far in the notebook. except requests.RequestException as e: print(f"Cannot load image from link: {image_link}\nException: {e}") return - + image = Image.open(image_bytes) image = image.convert("RGB") # remove transparency channel or convert grayscale 1 channel to 3 channels - + build_saliency_map(image, query, n_iters, min_crop_size) @@ -784,11 +819,18 @@ The second version will enable loading the image from your computer. load_file_widget = widgets.FileUpload( - accept="image/*", multiple=False, description="Image file", + accept="image/*", + multiple=False, + description="Image file", ) - @widgets.interact_manual(file=load_file_widget, query="", n_iters=n_iters_widget, min_crop_size=min_crop_size_widget) + @widgets.interact_manual( + file=load_file_widget, + query="", + n_iters=n_iters_widget, + min_crop_size=min_crop_size_widget, + ) def build_saliency_map_from_file( file: Path, query: str = "", @@ -801,9 +843,9 @@ The second version will enable loading the image from your computer. except Exception as e: print(f"Cannot load the image: {e}") return - + image = image.convert("RGB") - + build_saliency_map(image, query, n_iters, min_crop_size) @@ -885,4 +927,4 @@ can explore the CLIP capabilities further. For example: `NNCF `__ to get further acceleration. You can find example how to quantize CLIP model in `this - notebook <228-clip-zero-shot-image-classification-with-output.html>`__ + notebook <../clip-zero-shot-image-classification>`__ diff --git a/docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_15_0.png b/docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_15_0.png similarity index 100% rename from docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_15_0.png rename to docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_15_0.png diff --git a/docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_17_0.png b/docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_17_0.png similarity index 100% rename from docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_17_0.png rename to docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_17_0.png diff --git a/docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_19_1.png b/docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_19_1.png similarity index 100% rename from docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_19_1.png rename to docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_19_1.png diff --git a/docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_29_1.png b/docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_29_1.png similarity index 100% rename from docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_29_1.png rename to docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_29_1.png diff --git a/docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_35_1.png b/docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_35_1.png similarity index 100% rename from docs/notebooks/232-clip-language-saliency-map-with-output_files/232-clip-language-saliency-map-with-output_35_1.png rename to docs/notebooks/clip-language-saliency-map-with-output_files/clip-language-saliency-map-with-output_35_1.png diff --git a/docs/notebooks/228-clip-zero-shot-classification-with-output.rst b/docs/notebooks/clip-zero-shot-classification-with-output.rst similarity index 93% rename from docs/notebooks/228-clip-zero-shot-classification-with-output.rst rename to docs/notebooks/clip-zero-shot-classification-with-output.rst index 9885913bfdf..495813ec267 100644 --- a/docs/notebooks/228-clip-zero-shot-classification-with-output.rst +++ b/docs/notebooks/clip-zero-shot-classification-with-output.rst @@ -101,7 +101,14 @@ tokenizer and preparing the images. .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu gradio "openvino>=2023.1.0" "transformers[torch]>=4.30" "datasets" "nncf>=2.6.0" + import platform + + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "gradio>=4.19" "openvino>=2023.1.0" "transformers[torch]>=4.30" "datasets" "nncf>=2.6.0" "torch>=2.1" Pillow + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" .. parsed-literal:: @@ -136,7 +143,7 @@ tokenizer and preparing the images. from PIL import Image - def visualize_result(image:Image, labels:List[str], probs:np.ndarray, top:int = 5): + def visualize_result(image: Image, labels: List[str], probs: np.ndarray, top: int = 5): """ Utility function for visualization classification results params: @@ -148,7 +155,7 @@ tokenizer and preparing the images. None """ plt.figure(figsize=(64, 64)) - top_labels = np.argsort(-probs)[:min(top, probs.shape[0])] + top_labels = np.argsort(-probs)[: min(top, probs.shape[0])] top_probs = probs[top_labels] plt.subplot(8, 8, 1) plt.imshow(image) @@ -163,7 +170,6 @@ tokenizer and preparing the images. plt.yticks(y, [labels[index] for index in top_labels]) plt.xlabel("probability") - Run PyTorch model inference --------------------------- @@ -181,31 +187,43 @@ similarity score for the final result. .. code:: ipython3 - from urllib.request import urlretrieve + import requests from pathlib import Path sample_path = Path("data/coco.jpg") sample_path.parent.mkdir(parents=True, exist_ok=True) - urlretrieve( - "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - sample_path, - ) + r = requests.get("https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg") + + with sample_path.open("wb") as f: + f.write(r.content) + image = Image.open(sample_path) - input_labels = ['cat', 'dog', 'wolf', 'tiger', 'man', 'horse', 'frog', 'tree', 'house', 'computer'] + input_labels = [ + "cat", + "dog", + "wolf", + "tiger", + "man", + "horse", + "frog", + "tree", + "house", + "computer", + ] text_descriptions = [f"This is a photo of a {label}" for label in input_labels] inputs = processor(text=text_descriptions, images=[image], return_tensors="pt", padding=True) results = model(**inputs) - logits_per_image = results['logits_per_image'] # this is the image-text similarity score + logits_per_image = results["logits_per_image"] # this is the image-text similarity score probs = logits_per_image.softmax(dim=1).detach().numpy() # we can take the softmax to get the label probabilities visualize_result(image, input_labels, probs[0]) -.. image:: 228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_6_0.png +.. image:: clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_6_0.png Convert model to OpenVINO Intermediate Representation (IR) format. @@ -226,7 +244,7 @@ save it on disk for the next usage with ``ov.save_model``. import openvino as ov - fp16_model_path = Path('clip-vit-base-patch16.xml') + fp16_model_path = Path("clip-vit-base-patch16.xml") model.config.torchscript = True if not fp16_model_path.exists(): @@ -262,8 +280,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -291,7 +309,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_13_0.png +.. image:: clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_13_0.png Great! Looks like we got the same result. @@ -299,7 +317,7 @@ Great! Looks like we got the same result. Quantize model to INT8 using NNCF --------------------------------- -## Quantize model to INT8 using + ## Quantize model to INT8 using NNCF The goal of this part of tutorial is to demonstrate how to speed up the @@ -328,7 +346,7 @@ inference faster. The optimization process contains the following steps: to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -346,10 +364,10 @@ inference faster. The optimization process contains the following steps: .. code:: ipython3 # Fetch skip_kernel_extension module - urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/skip_kernel_extension.py', - filename='skip_kernel_extension.py' + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension @@ -648,7 +666,7 @@ the same input data that we used before. -.. image:: 228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_26_0.png +.. image:: clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_26_0.png Nice! Results looks similar to fp16 model results before quantization. @@ -681,7 +699,7 @@ Compare File Size Compare inference time of the FP16 IR and quantized models ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To measure the inference + To measure the inference performance of the ``FP16`` and ``INT8`` models, we use median inference time on calibration dataset. So we can approximately estimate the speed up of the dynamic quantized models. @@ -724,7 +742,7 @@ up of the dynamic quantized models. Interactive demo ---------------- -## Interactive demo + ## Interactive demo Now, it is your turn! You can provide your own image and comma-separated list of labels for zero-shot classification. @@ -737,11 +755,12 @@ example, ``cat,dog,bird``) import gradio as gr - model_path = Path('clip-vit-base-patch16-int8.xml') + model_path = Path("clip-vit-base-patch16-int8.xml") if not model_path.exists(): - model_path = Path('clip-vit-base-patch16.xml') + model_path = Path("clip-vit-base-patch16.xml") compiled_model = core.compile_model(model_path, device.value) + def classify(image, text): """Classify image using classes listing. Args: @@ -755,7 +774,7 @@ example, ``cat,dog,bird``) inputs = processor(text=text_descriptions, images=[image], return_tensors="np", padding=True) ov_logits_per_image = compiled_model(dict(inputs))[0] probs = softmax(ov_logits_per_image, axis=1)[0] - + return {label: float(prob) for label, prob in zip(labels, probs)} diff --git a/docs/notebooks/228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_13_0.png b/docs/notebooks/clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_13_0.png similarity index 100% rename from docs/notebooks/228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_13_0.png rename to docs/notebooks/clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_13_0.png diff --git a/docs/notebooks/228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_26_0.png b/docs/notebooks/clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_26_0.png similarity index 100% rename from docs/notebooks/228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_26_0.png rename to docs/notebooks/clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_26_0.png diff --git a/docs/notebooks/228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_6_0.png b/docs/notebooks/clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_6_0.png similarity index 100% rename from docs/notebooks/228-clip-zero-shot-classification-with-output_files/228-clip-zero-shot-classification-with-output_6_0.png rename to docs/notebooks/clip-zero-shot-classification-with-output_files/clip-zero-shot-classification-with-output_6_0.png diff --git a/docs/notebooks/247-code-language-id-with-output.rst b/docs/notebooks/code-language-id-with-output.rst similarity index 54% rename from docs/notebooks/247-code-language-id-with-output.rst rename to docs/notebooks/code-language-id-with-output.rst index ffc39754ce4..4b10777c7a9 100644 --- a/docs/notebooks/247-code-language-id-with-output.rst +++ b/docs/notebooks/code-language-id-with-output.rst @@ -124,21 +124,13 @@ OpenVINO support - HuggingFace Evaluate to benchmark results .. code:: ipython3 - %pip install -q "diffusers>=0.17.1" "openvino>=2023.1.0" "nncf>=2.5.0" "gradio" "onnx>=1.11.0" "transformers>=4.33.0" "evaluate" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "diffusers>=0.17.1" "openvino>=2023.1.0" "nncf>=2.5.0" "gradio>=4.19" "onnx>=1.11.0" "transformers>=4.33.0" "torch>=2.1" "evaluate" --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "git+https://github.com/huggingface/optimum-intel.git" .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - pytorch-lightning 1.6.5 requires protobuf<=3.20.1, but you have protobuf 4.25.3 which is incompatible. - tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 4.25.3 which is incompatible. - tf2onnx 1.16.1 requires protobuf~=3.20, but you have protobuf 4.25.3 which is incompatible. + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -146,11 +138,6 @@ OpenVINO support - HuggingFace Evaluate to benchmark results Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -173,26 +160,21 @@ equivalent to ``AutoModelForSequenceClassification`` from Transformers from datasets import load_dataset, Dataset import evaluate from transformers import pipeline, AutoTokenizer, AutoModelForSequenceClassification - from optimum.intel import OVModelForSequenceClassification - from optimum.intel.openvino import OVConfig, OVQuantizer + from optimum.intel import OVModelForSequenceClassification + from optimum.intel.openvino import OVConfig, OVQuantizer, OVWeightQuantizationConfig from huggingface_hub.utils import RepositoryNotFoundError .. parsed-literal:: - 2024-03-12 23:58:37.556667: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 23:58:37.590917: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:25:25.155476: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:25:25.190609: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 23:58:38.099542: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - -.. parsed-literal:: - - OpenVINO Tokenizer version is not compatible with OpenVINO version. Installed OpenVINO version: 2024.0.0,OpenVINO Tokenizers requires . OpenVINO Tokenizers models will not be added during export. + 2024-04-17 23:25:25.785655: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -202,7 +184,7 @@ equivalent to ``AutoModelForSequenceClassification`` from Transformers .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. torch.utils._pytree._register_pytree_node( @@ -238,8 +220,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -298,13 +280,7 @@ Download resources .. parsed-literal:: - Using the export variant default. Available variants are: - - default: The default ONNX variant. - - -.. parsed-literal:: - - Using framework PyTorch: 2.2.1+cpu + Using framework PyTorch: 2.2.2+cpu .. parsed-literal:: @@ -329,7 +305,7 @@ Download resources .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( @@ -340,7 +316,7 @@ Download resources .. parsed-literal:: - Ressources cached locally at: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/247-code-language-id/model/CodeBERTa-language-id + Ressources cached locally at: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/code-language-id/model/CodeBERTa-language-id Create inference pipeline @@ -352,12 +328,6 @@ Create inference pipeline code_classification_pipe = pipeline("text-classification", model=model, tokenizer=tokenizer) - -.. parsed-literal:: - - device must be of type but got instead - - Inference on new input ~~~~~~~~~~~~~~~~~~~~~~ @@ -422,9 +392,16 @@ Define constants and functions def map_labels(example: dict) -> dict: """Convert string labels to integers""" - label_mapping = {"go": 0, "java": 1, "javascript": 2, "php": 3, "python": 4, "ruby": 5} + label_mapping = { + "go": 0, + "java": 1, + "javascript": 2, + "php": 3, + "python": 4, + "ruby": 5, + } example["language"] = label_mapping[example["language"]] - return example + return example def get_dataset_sample(dataset_split: str, num_samples: int) -> Dataset: @@ -437,7 +414,7 @@ Define constants and functions subset = load_dataset("code_search_net", split=dataset_split, name=label, streaming=True) subset = subset.map(map_labels) examples.extend([example for example in subset.shuffle().take(example_per_label)]) - + return Dataset.from_list(examples) Load resources @@ -454,7 +431,8 @@ NOTE: the base model is loaded using base_model = AutoModelForSequenceClassification.from_pretrained(MODEL_ID) quantizer = OVQuantizer.from_pretrained(base_model) - quantization_config = OVConfig() + quantization_config = OVWeightQuantizationConfig() + ov_config = OVConfig(quantization_config=quantization_config) .. parsed-literal:: @@ -491,7 +469,7 @@ NOTE: Uncomment the method below to download and use the full dataset .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/datasets/load.py:1461: FutureWarning: The repository for code_search_net contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hf.co/datasets/code_search_net + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/datasets/load.py:1461: FutureWarning: The repository for code_search_net contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hf.co/datasets/code_search_net You can avoid this message in future by passing the argument `trust_remote_code=True`. Passing `trust_remote_code=True` will be mandatory to load this dataset from the next major release of `datasets`. warnings.warn( @@ -514,17 +492,12 @@ dataset to quantize and save the model .. code:: ipython3 quantizer.quantize( - quantization_config=quantization_config, + ov_config=ov_config, calibration_dataset=calibration_sample, save_directory=QUANTIZED_MODEL_LOCAL_PATH, ) -.. parsed-literal:: - - The argument `quantization_config` is deprecated, and will be removed in optimum-intel v1.6.0, please use `ov_config` instead - - .. parsed-literal:: The support of `torch.nn.Module` will be deprecated in a future release of optimum-intel, please use the corresponding `OVModelForXxx` class to load you model.To convert a PyTorch model to OpenVINO, you can set `export=True` when loading your model as `OVModelForXxx.from_pretrained(..., export=True)` @@ -537,311 +510,39 @@ dataset to quantize and save the model .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 15 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/NNCFEmbedding[token_type_embeddings]/embedding_0 + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (41 / 41) | 100% (41 / 41) | + +--------------+---------------------------+-----------------------------------+ + .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 14 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/NNCFEmbedding[word_embeddings]/embedding_0 + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 6 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/ne_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 7 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/int_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 8 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/cumsum_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 16 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/__add___2 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 9 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/type_as_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 10 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 11 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/__mul___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 12 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/long_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 13 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/__add___1 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 17 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/NNCFEmbedding[position_embeddings]/embedding_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 18 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/__iadd___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 19 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 20 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEmbeddings[embeddings]/Dropout[dropout]/dropout_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 33 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[0]/RobertaAttention[attention]/RobertaSelfAttention[self]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 36 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[0]/RobertaAttention[attention]/RobertaSelfAttention[self]/matmul_1 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 42 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[0]/RobertaAttention[attention]/RobertaSelfOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 43 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[0]/RobertaAttention[attention]/RobertaSelfOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 48 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[0]/RobertaOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 49 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[0]/RobertaOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 62 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[1]/RobertaAttention[attention]/RobertaSelfAttention[self]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 65 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[1]/RobertaAttention[attention]/RobertaSelfAttention[self]/matmul_1 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 71 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[1]/RobertaAttention[attention]/RobertaSelfOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 72 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[1]/RobertaAttention[attention]/RobertaSelfOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 77 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[1]/RobertaOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 78 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[1]/RobertaOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 91 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[2]/RobertaAttention[attention]/RobertaSelfAttention[self]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 94 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[2]/RobertaAttention[attention]/RobertaSelfAttention[self]/matmul_1 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 100 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[2]/RobertaAttention[attention]/RobertaSelfOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 101 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[2]/RobertaAttention[attention]/RobertaSelfOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 106 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[2]/RobertaOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 107 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[2]/RobertaOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 120 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[3]/RobertaAttention[attention]/RobertaSelfAttention[self]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 123 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[3]/RobertaAttention[attention]/RobertaSelfAttention[self]/matmul_1 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 129 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[3]/RobertaAttention[attention]/RobertaSelfOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 130 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[3]/RobertaAttention[attention]/RobertaSelfOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 135 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[3]/RobertaOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 136 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[3]/RobertaOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 149 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[4]/RobertaAttention[attention]/RobertaSelfAttention[self]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 152 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[4]/RobertaAttention[attention]/RobertaSelfAttention[self]/matmul_1 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 158 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[4]/RobertaAttention[attention]/RobertaSelfOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 159 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[4]/RobertaAttention[attention]/RobertaSelfOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 164 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[4]/RobertaOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 165 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[4]/RobertaOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 178 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[5]/RobertaAttention[attention]/RobertaSelfAttention[self]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 181 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[5]/RobertaAttention[attention]/RobertaSelfAttention[self]/matmul_1 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 187 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[5]/RobertaAttention[attention]/RobertaSelfOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 188 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[5]/RobertaAttention[attention]/RobertaSelfOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 193 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[5]/RobertaOutput[output]/__add___0 - - -.. parsed-literal:: - - INFO:nncf:Not adding activation input quantizer for operation: 194 RobertaForSequenceClassification/RobertaModel[roberta]/RobertaEncoder[encoder]/ModuleList[layer]/RobertaLayer[5]/RobertaOutput[output]/NNCFLayerNorm[LayerNorm]/layer_norm_0 - - -.. parsed-literal:: - - INFO:nncf:Collecting tensor statistics |█ | 33 / 300 - - -.. parsed-literal:: - - INFO:nncf:Collecting tensor statistics |███ | 66 / 300 - - -.. parsed-literal:: - - INFO:nncf:Collecting tensor statistics |█████ | 99 / 300 - - -.. parsed-literal:: - - INFO:nncf:Compiling and loading torch extension: quantized_functions_cpu... - - -.. parsed-literal:: - - huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks... - To disable this warning, you can either: - - Avoid using `tokenizers` before the fork if possible - - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false) - huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks... - To disable this warning, you can either: - - Avoid using `tokenizers` before the fork if possible - - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false) - huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks... - To disable this warning, you can either: - - Avoid using `tokenizers` before the fork if possible - - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false) - - -.. parsed-literal:: - - huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks... - To disable this warning, you can either: - - Avoid using `tokenizers` before the fork if possible - - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false) - - -.. parsed-literal:: - - INFO:nncf:Finished loading torch extension: quantized_functions_cpu - - -.. parsed-literal:: - - Using framework PyTorch: 2.2.1+cpu + Using framework PyTorch: 2.2.2+cpu .. parsed-literal:: @@ -866,12 +567,6 @@ dataset to quantize and save the model if `fn` already had 0-th `self` argument bound or never had it in the first place. -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead - warnings.warn( - - .. parsed-literal:: WARNING:nncf:You are setting `forward` on an NNCF-processed model object. @@ -908,11 +603,6 @@ model is already in the OpenVINO format. Compiling the model to AUTO ... -.. parsed-literal:: - - device must be of type but got instead - - Inference on new input using quantized model ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -934,7 +624,7 @@ Inference on new input using quantized model df['speed'] = df.distance / df.time Predicted label: python - Predicted score: 0.83 + Predicted score: 0.81 Load evaluation set @@ -951,15 +641,6 @@ NOTE: Uncomment the method below to download and use the full dataset # validation_sample = load_dataset(DATASET_NAME, split="validation") - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/datasets/load.py:1461: FutureWarning: The repository for code_search_net contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hf.co/datasets/code_search_net - You can avoid this message in future by passing the argument `trust_remote_code=True`. - Passing `trust_remote_code=True` will be mandatory to load this dataset from the next major release of `datasets`. - warnings.warn( - - Evaluate model ~~~~~~~~~~~~~~ @@ -974,10 +655,10 @@ Evaluate model self.metric = metric self.metric_args = metric_args self.metric_kwargs = metric_kwargs - + def add(self, *args, **kwargs): return self.metric.add(*args, **kwargs) - + def add_batch(self, *args, **kwargs): return self.metric.add_batch(*args, **kwargs) @@ -1002,9 +683,11 @@ displayed. code_classification_evaluator = evaluate.evaluator("text-classification") # instantiate an object that can contain multiple `evaluate` metrics - metrics = evaluate.combine([ - ConfiguredMetric(evaluate.load('f1'), average='macro'), - ]) + metrics = evaluate.combine( + [ + ConfiguredMetric(evaluate.load("f1"), average="macro"), + ] + ) base_results = code_classification_evaluator.compute( model_or_pipeline=code_classification_pipe, @@ -1060,16 +743,16 @@ displayed. base 1.0 - 2.230822 - 53.791827 - 0.018590 + 2.077464 + 57.762723 + 0.017312 quantized 1.0 - 2.871792 - 41.785751 - 0.023932 + 1.988597 + 60.344039 + 0.016572 @@ -1080,10 +763,9 @@ displayed. Additional resources -------------------- -- `Grammatical Error Correction -with -OpenVINO `__ -- `Quantize a Hugging Face Question-Answering Model with + - `Grammatical Error Correction +with OpenVINO `__ - +`Quantize a Hugging Face Question-Answering Model with OpenVINO `__\ \*\* Clean up diff --git a/docs/notebooks/235-controlnet-stable-diffusion-with-output.rst b/docs/notebooks/controlnet-stable-diffusion-with-output.rst similarity index 89% rename from docs/notebooks/235-controlnet-stable-diffusion-with-output.rst rename to docs/notebooks/controlnet-stable-diffusion-with-output.rst index 598ef47282f..1e9957a95b8 100644 --- a/docs/notebooks/235-controlnet-stable-diffusion-with-output.rst +++ b/docs/notebooks/controlnet-stable-diffusion-with-output.rst @@ -66,7 +66,7 @@ For more details regarding Stable Diffusion work, refer to the `project website `__. There is a tutorial for Stable Diffusion Text-to-Image generation with OpenVINO, see the following -`notebook <225-stable-diffusion-text-to-image-with-output.html>`__. +`notebook `__. ControlNet ~~~~~~~~~~ @@ -186,7 +186,7 @@ Prerequisites .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "torch" "torchvision" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "torch>=2.1" "torchvision" %pip install -q "diffusers>=0.14.0" "transformers>=4.30.2" "controlnet-aux>=0.0.6" "gradio>=3.36" --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino>=2023.1.0" "datasets>=2.14.6" "nncf>=2.7.0" @@ -220,9 +220,7 @@ controlnet model and ``stable-diffusion-v1-5``: from diffusers import StableDiffusionControlNetPipeline, ControlNetModel controlnet = ControlNetModel.from_pretrained("lllyasviel/control_v11p_sd15_openpose", torch_dtype=torch.float32) - pipe = StableDiffusionControlNetPipeline.from_pretrained( - "runwayml/stable-diffusion-v1-5", controlnet=controlnet - ) + pipe = StableDiffusionControlNetPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", controlnet=controlnet) OpenPose ~~~~~~~~ @@ -267,10 +265,15 @@ Now, let us check its result on example image: pose = pose_estimator(img) - def visualize_pose_results(orig_img:Image.Image, skeleton_img:Image.Image, left_title:str = "Original image", right_title:str = "Pose"): + def visualize_pose_results( + orig_img: Image.Image, + skeleton_img: Image.Image, + left_title: str = "Original image", + right_title: str = "Pose", + ): """ Helper function for pose estimationresults visualization - + Parameters: orig_img (Image.Image): original image skeleton_img (Image.Image): processed image with body keypoints @@ -283,8 +286,14 @@ Now, let us check its result on example image: im_w, im_h = orig_img.size is_horizontal = im_h <= im_w figsize = (20, 10) if is_horizontal else (10, 20) - fig, axs = plt.subplots(2 if is_horizontal else 1, 1 if is_horizontal else 2, figsize=figsize, sharex='all', sharey='all') - fig.patch.set_facecolor('white') + fig, axs = plt.subplots( + 2 if is_horizontal else 1, + 1 if is_horizontal else 2, + figsize=figsize, + sharex="all", + sharey="all", + ) + fig.patch.set_facecolor("white") list_axes = list(axs.flat) for a in list_axes: a.set_xticklabels([]) @@ -295,8 +304,8 @@ Now, let us check its result on example image: list_axes[0].imshow(np.array(orig_img)) list_axes[1].imshow(np.array(skeleton_img)) list_axes[0].set_title(left_title, fontsize=15) - list_axes[1].set_title(right_title, fontsize=15) - fig.subplots_adjust(wspace=0.01 if is_horizontal else 0.00 , hspace=0.01 if is_horizontal else 0.1) + list_axes[1].set_title(right_title, fontsize=15) + fig.subplots_adjust(wspace=0.01 if is_horizontal else 0.00, hspace=0.01 if is_horizontal else 0.1) fig.tight_layout() return fig @@ -305,7 +314,7 @@ Now, let us check its result on example image: -.. image:: 235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_8_0.png +.. image:: controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_8_0.png Convert models to OpenVINO Intermediate representation (IR) format @@ -349,6 +358,7 @@ estimation part, which is located inside the wrapper OPENPOSE_OV_PATH = Path("openpose.xml") + def cleanup_torchscript_cache(): """ Helper for removing cached model representation @@ -360,11 +370,15 @@ estimation part, which is located inside the wrapper if not OPENPOSE_OV_PATH.exists(): with torch.no_grad(): - ov_model = ov.convert_model(pose_estimator.body_estimation.model, example_input=torch.zeros([1, 3, 184, 136]), input=[[1,3,184,136]]) + ov_model = ov.convert_model( + pose_estimator.body_estimation.model, + example_input=torch.zeros([1, 3, 184, 136]), + input=[[1, 3, 184, 136]], + ) ov.save_model(ov_model, OPENPOSE_OV_PATH) del ov_model cleanup_torchscript_cache() - print('OpenPose successfully converted to IR') + print("OpenPose successfully converted to IR") else: print(f"OpenPose will be loaded from {OPENPOSE_OV_PATH}") @@ -381,17 +395,19 @@ model with the OpenVINO model, using the following code: from collections import namedtuple + class OpenPoseOVModel: - """ Helper wrapper for OpenPose model inference""" + """Helper wrapper for OpenPose model inference""" + def __init__(self, core, model_path, device="AUTO"): self.core = core - self. model = core.read_model(model_path) + self.model = core.read_model(model_path) self.compiled_model = core.compile_model(self.model, device) - def __call__(self, input_tensor:torch.Tensor): + def __call__(self, input_tensor: torch.Tensor): """ inference step - + Parameters: input_tensor (torch.Tensor): tensor with prerpcessed input image Returns: @@ -404,10 +420,10 @@ model with the OpenVINO model, using the following code: results = self.compiled_model(input_tensor) return torch.from_numpy(results[self.compiled_model.output(0)]), torch.from_numpy(results[self.compiled_model.output(1)]) - def reshape_model(self, height:int, width:int): + def reshape_model(self, height: int, width: int): """ helper method for reshaping model to fit input data - + Parameters: height (int): input tensor height width (int): input tensor width @@ -416,13 +432,12 @@ model with the OpenVINO model, using the following code: """ self.model.reshape({0: [1, 3, height, width]}) self.compiled_model = self.core.compile_model(self.model) - + def parameters(self): Device = namedtuple("Device", ["device"]) return [Device(torch.device("cpu"))] - - + core = ov.Core() Select inference device @@ -438,8 +453,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -466,7 +481,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_17_0.png +.. image:: controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_17_0.png Great! As we can see, it works perfectly. @@ -497,17 +512,17 @@ blocks, which serves additional context for the UNet model. inputs = { "sample": torch.randn((2, 4, 64, 64)), "timestep": torch.tensor(1), - "encoder_hidden_states": torch.randn((2,77,768)), - "controlnet_cond": torch.randn((2,3,512,512)) + "encoder_hidden_states": torch.randn((2, 77, 768)), + "controlnet_cond": torch.randn((2, 3, 512, 512)), } - input_info = [(name, ov.PartialShape(inp.shape)) for name, inp in inputs.items()] + input_info = [(name, ov.PartialShape(inp.shape)) for name, inp in inputs.items()] - CONTROLNET_OV_PATH = Path('controlnet-pose.xml') + CONTROLNET_OV_PATH = Path("controlnet-pose.xml") controlnet.eval() with torch.no_grad(): down_block_res_samples, mid_block_res_sample = controlnet(**inputs, return_dict=False) - + if not CONTROLNET_OV_PATH.exists(): with torch.no_grad(): controlnet.forward = partial(controlnet.forward, return_dict=False) @@ -515,7 +530,7 @@ blocks, which serves additional context for the UNet model. ov.save_model(ov_model, CONTROLNET_OV_PATH) del ov_model cleanup_torchscript_cache() - print('ControlNet successfully converted to IR') + print("ControlNet successfully converted to IR") else: print(f"ControlNet will be loaded from {CONTROLNET_OV_PATH}") @@ -549,24 +564,25 @@ ControlNet. from typing import Tuple - UNET_OV_PATH = Path('unet_controlnet.xml') + UNET_OV_PATH = Path("unet_controlnet.xml") dtype_mapping = { torch.float32: ov.Type.f32, torch.float64: ov.Type.f64, torch.int32: ov.Type.i32, - torch.int64: ov.Type.i64 + torch.int64: ov.Type.i64, } + class UnetWrapper(torch.nn.Module): def __init__( - self, - unet, - sample_dtype=torch.float32, - timestep_dtype=torch.int64, - encoder_hidden_states=torch.float32, - down_block_additional_residuals=torch.float32, - mid_block_additional_residual=torch.float32 + self, + unet, + sample_dtype=torch.float32, + timestep_dtype=torch.int64, + encoder_hidden_states=torch.float32, + down_block_additional_residuals=torch.float32, + mid_block_additional_residual=torch.float32, ): super().__init__() self.unet = unet @@ -577,12 +593,12 @@ ControlNet. self.mid_block_additional_residual_dtype = mid_block_additional_residual def forward( - self, - sample:torch.Tensor, - timestep:torch.Tensor, - encoder_hidden_states:torch.Tensor, - down_block_additional_residuals:Tuple[torch.Tensor], - mid_block_additional_residual:torch.Tensor + self, + sample: torch.Tensor, + timestep: torch.Tensor, + encoder_hidden_states: torch.Tensor, + down_block_additional_residuals: Tuple[torch.Tensor], + mid_block_additional_residual: torch.Tensor, ): sample.to(self.sample_dtype) timestep.to(self.timestep_dtype) @@ -590,15 +606,14 @@ ControlNet. down_block_additional_residuals = [res.to(self.down_block_additional_residuals_dtype) for res in down_block_additional_residuals] mid_block_additional_residual.to(self.mid_block_additional_residual_dtype) return self.unet( - sample, - timestep, - encoder_hidden_states, - down_block_additional_residuals=down_block_additional_residuals, - mid_block_additional_residual=mid_block_additional_residual + sample, + timestep, + encoder_hidden_states, + down_block_additional_residuals=down_block_additional_residuals, + mid_block_additional_residual=mid_block_additional_residual, ) - def flattenize_inputs(inputs): flatten_inputs = [] for input_data in inputs: @@ -610,6 +625,7 @@ ControlNet. flatten_inputs.append(input_data) return flatten_inputs + if not UNET_OV_PATH.exists(): inputs.pop("controlnet_cond", None) inputs["down_block_additional_residuals"] = down_block_res_samples @@ -620,7 +636,7 @@ ControlNet. with torch.no_grad(): ov_model = ov.convert_model(unet, example_input=inputs) - + flatten_inputs = flattenize_inputs(inputs.values()) for input_data, input_tensor in zip(flatten_inputs, ov_model.inputs): input_tensor.get_node().set_partial_shape(ov.PartialShape(input_data.shape)) @@ -632,7 +648,7 @@ ControlNet. del unet del pipe.unet gc.collect() - print('Unet successfully converted to IR') + print("Unet successfully converted to IR") else: del pipe.unet print(f"Unet will be loaded from {UNET_OV_PATH}") @@ -672,14 +688,14 @@ hidden states. .. code:: ipython3 - TEXT_ENCODER_OV_PATH = Path('text_encoder.xml') + TEXT_ENCODER_OV_PATH = Path("text_encoder.xml") - def convert_encoder(text_encoder:torch.nn.Module, ir_path:Path): + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ - Convert Text Encoder model to OpenVINO IR. + Convert Text Encoder model to OpenVINO IR. Function accepts text encoder model, prepares example inputs for conversion, and convert it to OpenVINO Model - Parameters: + Parameters: text_encoder (torch.nn.Module): text_encoder model ir_path (Path): File for storing model Returns: @@ -695,13 +711,13 @@ hidden states. ov_model = ov.convert_model( text_encoder, # model instance example_input=input_ids, # inputs for model tracing - input=([1,77],) + input=([1, 77],), ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('Text Encoder successfully converted to IR') - + print("Text Encoder successfully converted to IR") + if not TEXT_ENCODER_OV_PATH.exists(): convert_encoder(pipe.text_encoder, TEXT_ENCODER_OV_PATH) @@ -742,24 +758,25 @@ process are converted back into images using the VAE decoder. During inference, we will see that we **only need the VAE decoder**. You can find instructions on how to convert the encoder part in a stable diffusion -`notebook <225-stable-diffusion-text-to-image-with-output.html>`__. +`notebook `__. .. code:: ipython3 - VAE_DECODER_OV_PATH = Path('vae_decoder.xml') + VAE_DECODER_OV_PATH = Path("vae_decoder.xml") def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model to IR format. - Function accepts pipeline, creates wrapper class for export only necessary for inference part, - prepares example inputs for convert, - Parameters: + Convert VAE model to IR format. + Function accepts pipeline, creates wrapper class for export only necessary for inference part, + prepares example inputs for convert, + Parameters: vae (torch.nn.Module): VAE model ir_path (Path): File for storing model Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -774,11 +791,17 @@ diffusion vae_decoder.eval() with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[(1,4,64,64),]) + ov_model = ov.convert_model( + vae_decoder, + example_input=latents, + input=[ + (1, 4, 64, 64), + ], + ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE decoder successfully converted to IR') + print("VAE decoder successfully converted to IR") if not VAE_DECODER_OV_PATH.exists(): @@ -862,11 +885,11 @@ on OpenVINO. import cv2 - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -886,7 +909,7 @@ on OpenVINO. then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (Image.Image): input image Returns: @@ -911,7 +934,7 @@ on OpenVINO. ): """ Helper function for generation random values tensor with given shape and data type - + Parameters: shape (Union[Tuple, List]): shape for filling random values dtype (np.dtype, *optiona*, np.float32): data type for result @@ -927,6 +950,7 @@ on OpenVINO. """ OpenVINO inference pipeline for Stable Diffusion with ControlNet guidence """ + def __init__( self, tokenizer: CLIPTokenizer, @@ -936,7 +960,7 @@ on OpenVINO. text_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model, - device:str = "AUTO" + device: str = "AUTO", ): super().__init__() self.tokenizer = tokenizer @@ -945,10 +969,18 @@ on OpenVINO. self.load_models(core, device, controlnet, text_encoder, unet, vae_decoder) self.set_progress_bar_config(disable=True) - def load_models(self, core: ov.Core, device: str, controlnet:ov.Model, text_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model): + def load_models( + self, + core: ov.Core, + device: str, + controlnet: ov.Model, + text_encoder: ov.Model, + unet: ov.Model, + vae_decoder: ov.Model, + ): """ Function for loading models on device using OpenVINO - + Parameters: core (Core): OpenVINO runtime Core class instance device (str): inference device @@ -1007,7 +1039,7 @@ on OpenVINO. [PIL](https://pillow.readthedocs.io/en/stable/): `Image.Image` or `np.array`. Returns: image ([List[Union[np.ndarray, Image.Image]]): generaited images - + """ # 1. Define call parameters @@ -1048,8 +1080,7 @@ on OpenVINO. # Expand the latents if we are doing classifier free guidance. # The latents are expanded 3 times because for pix2pix the guidance\ # is applied for both the text and the input image. - latent_model_input = np.concatenate( - [latents] * 2) if do_classifier_free_guidance else latents + latent_model_input = np.concatenate([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) result = self.controlnet([latent_model_input, t, text_embeddings, image]) @@ -1078,12 +1109,17 @@ on OpenVINO. image = self.numpy_to_pil(image) image = [img.resize((orig_width, orig_height), Image.Resampling.LANCZOS) for img in image] else: - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. @@ -1107,16 +1143,13 @@ on OpenVINO. ) text_input_ids = text_inputs.input_ids - text_embeddings = self.text_encoder( - text_input_ids)[self.text_encoder_out] + text_embeddings = self.text_encoder(text_input_ids)[self.text_encoder_out] # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -1150,11 +1183,19 @@ on OpenVINO. return text_embeddings - def prepare_latents(self, batch_size:int, num_channels_latents:int, height:int, width:int, dtype:np.dtype = np.float32, latents:np.ndarray = None): + def prepare_latents( + self, + batch_size: int, + num_channels_latents: int, + height: int, + width: int, + dtype: np.dtype = np.float32, + latents: np.ndarray = None, + ): """ - Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, + Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, then prepared latents scaled by the standard deviation required by the scheduler - + Parameters: batch_size (int): input batch size num_channels_latents (int): number of channels for noise generation @@ -1165,7 +1206,12 @@ on OpenVINO. Returns: latents (np.ndarray): scaled initial noise for diffusion """ - shape = (batch_size, num_channels_latents, height // self.vae_scale_factor, width // self.vae_scale_factor) + shape = ( + batch_size, + num_channels_latents, + height // self.vae_scale_factor, + width // self.vae_scale_factor, + ) if latents is None: latents = randn_tensor(shape, dtype=dtype) else: @@ -1175,10 +1221,10 @@ on OpenVINO. latents = latents * self.scheduler.init_noise_sigma return latents - def decode_latents(self, latents:np.array, pad:Tuple[int]): + def decode_latents(self, latents: np.array, pad: Tuple[int]): """ Decode predicted image from latent space using VAE Decoder and unpad image result - + Parameters: latents (np.ndarray): image encoded in diffusion latent space pad (Tuple[int]): each side padding sizes obtained on preprocessing step @@ -1201,14 +1247,14 @@ on OpenVINO. from transformers import CLIPTokenizer from diffusers import UniPCMultistepScheduler - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config) - def visualize_results(orig_img:Image.Image, skeleton_img:Image.Image, result_img:Image.Image): + def visualize_results(orig_img: Image.Image, skeleton_img: Image.Image, result_img: Image.Image): """ Helper function for results visualization - + Parameters: orig_img (Image.Image): original image skeleton_img (Image.Image): image with body pose keypoints @@ -1222,8 +1268,14 @@ on OpenVINO. im_w, im_h = orig_img.size is_horizontal = im_h <= im_w figsize = (20, 20) - fig, axs = plt.subplots(3 if is_horizontal else 1, 1 if is_horizontal else 3, figsize=figsize, sharex='all', sharey='all') - fig.patch.set_facecolor('white') + fig, axs = plt.subplots( + 3 if is_horizontal else 1, + 1 if is_horizontal else 3, + figsize=figsize, + sharex="all", + sharey="all", + ) + fig.patch.set_facecolor("white") list_axes = list(axs.flat) for a in list_axes: a.set_xticklabels([]) @@ -1235,11 +1287,11 @@ on OpenVINO. list_axes[1].imshow(np.array(skeleton_img)) list_axes[2].imshow(np.array(result_img)) list_axes[0].set_title(orig_title, fontsize=15) - list_axes[1].set_title(skeleton_title, fontsize=15) + list_axes[1].set_title(skeleton_title, fontsize=15) list_axes[2].set_title("Result", fontsize=15) - fig.subplots_adjust(wspace=0.01 if is_horizontal else 0.00 , hspace=0.01 if is_horizontal else 0.1) + fig.subplots_adjust(wspace=0.01 if is_horizontal else 0.00, hspace=0.01 if is_horizontal else 0.1) fig.tight_layout() - fig.savefig("result.png", bbox_inches='tight') + fig.savefig("result.png", bbox_inches="tight") return fig Running Text-to-Image Generation with ControlNet Conditioning and OpenVINO @@ -1272,8 +1324,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -1290,7 +1342,16 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 - ov_pipe = OVContrlNetStableDiffusionPipeline(tokenizer, scheduler, core, CONTROLNET_OV_PATH, TEXT_ENCODER_OV_PATH, UNET_OV_PATH, VAE_DECODER_OV_PATH, device=device.value) + ov_pipe = OVContrlNetStableDiffusionPipeline( + tokenizer, + scheduler, + core, + CONTROLNET_OV_PATH, + TEXT_ENCODER_OV_PATH, + UNET_OV_PATH, + VAE_DECODER_OV_PATH, + device=device.value, + ) .. code:: ipython3 @@ -1313,7 +1374,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_34_1.png +.. image:: controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_34_1.png @@ -1348,10 +1409,7 @@ improve model inference speed. .. code:: ipython3 - to_quantize = widgets.Checkbox( - value=True, - description='Quantization' - ) + to_quantize = widgets.Checkbox(value=True, description="Quantization") to_quantize @@ -1369,8 +1427,13 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipe = None @@ -1571,7 +1634,7 @@ pipelines. -.. image:: 235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_50_0.png +.. image:: controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_50_0.png Compare model file sizes @@ -1691,7 +1754,7 @@ launch the interactive demo. use_quantized_model = widgets.Checkbox( value=True if quantized_model_present else False, - description='Use quantized model', + description="Use quantized model", disabled=not quantized_model_present, ) @@ -1700,11 +1763,16 @@ launch the interactive demo. .. code:: ipython3 import gradio as gr - from urllib.request import urlretrieve pipeline = int8_pipe if use_quantized_model.value else ov_pipe - urlretrieve(example_url, "example.jpg") + r = requests.get(example_url) + + img_path = Path("example.jpg") + + with img_path.open("wb") as f: + f.write(r.content) + gr.close_all() with gr.Blocks() as demo: with gr.Row(): @@ -1713,10 +1781,8 @@ launch the interactive demo. pose_btn = gr.Button("Extract pose") examples = gr.Examples(["example.jpg"], inp_img) with gr.Column(visible=False) as step1: - out_pose = gr.Image(label="Estimated pose", type='pil') - inp_prompt = gr.Textbox( - "Dancing Darth Vader, best quality, extremely detailed", label="Prompt" - ) + out_pose = gr.Image(label="Estimated pose", type="pil") + inp_prompt = gr.Textbox("Dancing Darth Vader, best quality, extremely detailed", label="Prompt") inp_neg_prompt = gr.Textbox( "monochrome, lowres, bad anatomy, worst quality, low quality", label="Negative prompt", @@ -1730,15 +1796,30 @@ launch the interactive demo. def extract_pose(img): if img is None: raise gr.Error("Please upload the image or use one from the examples list") - return {step1: gr.update(visible=True), step2: gr.update(visible=True), out_pose: pose_estimator(img)} + return { + step1: gr.update(visible=True), + step2: gr.update(visible=True), + out_pose: pose_estimator(img), + } - def generate(pose, prompt, negative_prompt, seed, num_steps, progress=gr.Progress(track_tqdm=True)): + def generate( + pose, + prompt, + negative_prompt, + seed, + num_steps, + progress=gr.Progress(track_tqdm=True), + ): np.random.seed(seed) result = pipeline(prompt, pose, num_steps, negative_prompt)[0] return result pose_btn.click(extract_pose, inp_img, [out_pose, step1, step2]) - btn.click(generate, [out_pose, inp_prompt, inp_neg_prompt, inp_seed, inp_steps], out_result) + btn.click( + generate, + [out_pose, inp_prompt, inp_neg_prompt, inp_seed, inp_steps], + out_result, + ) try: diff --git a/docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_17_0.png b/docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_17_0.png similarity index 100% rename from docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_17_0.png rename to docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_17_0.png diff --git a/docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_34_1.jpg b/docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_34_1.jpg similarity index 100% rename from docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_34_1.jpg rename to docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_34_1.jpg diff --git a/docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_34_1.png b/docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_34_1.png similarity index 100% rename from docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_34_1.png rename to docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_34_1.png diff --git a/docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_50_0.png b/docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_50_0.png similarity index 100% rename from docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_50_0.png rename to docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_50_0.png diff --git a/docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_8_0.png b/docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_8_0.png similarity index 100% rename from docs/notebooks/235-controlnet-stable-diffusion-with-output_files/235-controlnet-stable-diffusion-with-output_8_0.png rename to docs/notebooks/controlnet-stable-diffusion-with-output_files/controlnet-stable-diffusion-with-output_8_0.png diff --git a/docs/notebooks/121-convert-to-openvino-with-output.rst b/docs/notebooks/convert-to-openvino-with-output.rst similarity index 93% rename from docs/notebooks/121-convert-to-openvino-with-output.rst rename to docs/notebooks/convert-to-openvino-with-output.rst index c3d08a4fdde..fcc99b2e27d 100644 --- a/docs/notebooks/121-convert-to-openvino-with-output.rst +++ b/docs/notebooks/convert-to-openvino-with-output.rst @@ -30,12 +30,12 @@ Table of contents: # Required imports. Please execute this cell first. %pip install --upgrade pip %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu \ - "openvino-dev>=2024.0.0" "requests" "tqdm" "transformers[onnx]>=4.21.1" "torch" "torchvision" "tensorflow_hub" "tensorflow" + "openvino-dev>=2024.0.0" "requests" "tqdm" "transformers[onnx]>=4.31" "torch>=2.1" "torchvision" "tensorflow_hub" "tensorflow" .. parsed-literal:: - Requirement already satisfied: pip in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (24.0) + Requirement already satisfied: pip in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (24.0) .. parsed-literal:: @@ -168,18 +168,12 @@ NLP model from Hugging Face and export it in ONNX format: ONNX_NLP_MODEL_PATH = MODEL_DIRECTORY_PATH / "distilbert.onnx" # download model - hf_model = AutoModelForSequenceClassification.from_pretrained( - "distilbert-base-uncased-finetuned-sst-2-english" - ) + hf_model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english") # initialize tokenizer - tokenizer = AutoTokenizer.from_pretrained( - "distilbert-base-uncased-finetuned-sst-2-english" - ) + tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english") # get model onnx config function for output feature format sequence-classification - model_kind, model_onnx_config = FeaturesManager.check_supported_model_or_raise( - hf_model, feature="sequence-classification" - ) + model_kind, model_onnx_config = FeaturesManager.check_supported_model_or_raise(hf_model, feature="sequence-classification") # fill onnx config based on pytorch model config onnx_config = model_onnx_config(hf_model.config) @@ -195,19 +189,19 @@ NLP model from Hugging Face and export it in ONNX format: .. parsed-literal:: - 2024-03-12 22:50:34.001865: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:50:34.035988: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:27:23.489620: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:27:23.524697: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:50:34.633732: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:27:24.035165: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py:246: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py:246: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. mask, torch.tensor(torch.finfo(scores.dtype).min) @@ -430,9 +424,7 @@ Convert PyTorch model to ONNX format: else: with warnings.catch_warnings(): warnings.filterwarnings("ignore") - torch.onnx.export( - model=pytorch_model, args=torch.randn(1, 3, 224, 224), f=ONNX_CV_MODEL_PATH - ) + torch.onnx.export(model=pytorch_model, args=torch.randn(1, 3, 224, 224), f=ONNX_CV_MODEL_PATH) print(f"ONNX model exported to {ONNX_CV_MODEL_PATH}") @@ -510,9 +502,7 @@ documentation. import openvino as ov - ov_model = ov.convert_model( - ONNX_NLP_MODEL_PATH, input=[("input_ids", [1, 128]), ("attention_mask", [1, 128])] - ) + ov_model = ov.convert_model(ONNX_NLP_MODEL_PATH, input=[("input_ids", [1, 128]), ("attention_mask", [1, 128])]) .. code:: ipython3 @@ -549,9 +539,7 @@ conversion API parameter as ``-1`` or ``?`` when using ``ovc``: import openvino as ov - ov_model = ov.convert_model( - ONNX_NLP_MODEL_PATH, input=[("input_ids", [1, -1]), ("attention_mask", [1, -1])] - ) + ov_model = ov.convert_model(ONNX_NLP_MODEL_PATH, input=[("input_ids", [1, -1]), ("attention_mask", [1, -1])]) .. code:: ipython3 @@ -594,7 +582,11 @@ sequence length dimension: sequence_length_dim = ov.Dimension(10, 128) ov_model = ov.convert_model( - ONNX_NLP_MODEL_PATH, input=[("input_ids", [1, sequence_length_dim]), ("attention_mask", [1, sequence_length_dim])] + ONNX_NLP_MODEL_PATH, + input=[ + ("input_ids", [1, sequence_length_dim]), + ("attention_mask", [1, sequence_length_dim]), + ], ) .. code:: ipython3 @@ -637,7 +629,7 @@ disabled by setting ``compress_to_fp16`` flag to ``False``: import openvino as ov ov_model = ov.convert_model(ONNX_NLP_MODEL_PATH) - ov.save_model(ov_model, MODEL_DIRECTORY_PATH / 'distilbert.xml', compress_to_fp16=False) + ov.save_model(ov_model, MODEL_DIRECTORY_PATH / "distilbert.xml", compress_to_fp16=False) .. code:: ipython3 @@ -687,23 +679,27 @@ frameworks conversion guides. .. code:: ipython3 + import os + import openvino as ov import tensorflow_hub as hub + os.environ["TFHUB_CACHE_DIR"] = str(Path("./tfhub_modules").resolve()) + model = hub.load("https://www.kaggle.com/models/google/movenet/frameworks/TensorFlow2/variations/singlepose-lightning/versions/4") - movenet = model.signatures['serving_default'] + movenet = model.signatures["serving_default"] ov_model = ov.convert_model(movenet) .. parsed-literal:: - 2024-03-12 22:50:53.831014: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-12 22:50:53.831046: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-12 22:50:53.831051: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-12 22:50:53.831226: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-12 22:50:53.831242: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-12 22:50:53.831247: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + 2024-04-17 23:27:44.237192: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-17 23:27:44.237227: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 + 2024-04-17 23:27:44.237231: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 + 2024-04-17 23:27:44.237454: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 + 2024-04-17 23:27:44.237472: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 + 2024-04-17 23:27:44.237475: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration Migration from Legacy conversion API @@ -719,8 +715,8 @@ considered legacy API now. ``mo.convert_model()`` provides a wide range of preprocessing parameters. Most of these parameters have analogs in OVC or can be replaced with functionality from ``ov.PrePostProcessor`` class. Refer to `Optimize Preprocessing -notebook `__ -for more information about `Preprocessing +notebook `__ for +more information about `Preprocessing API `__. Here is the migration guide from legacy model preprocessing to Preprocessing API. @@ -750,7 +746,7 @@ Resnet50 model that was exported to the ONNX format: ov_model = ov.convert_model(ONNX_CV_MODEL_PATH) prep = ov.preprocess.PrePostProcessor(ov_model) - prep.input('input.1').model().set_layout(ov.Layout("nchw")) + prep.input("input.1").model().set_layout(ov.Layout("nchw")) ov_model = prep.build() .. code:: ipython3 @@ -790,8 +786,8 @@ and the layout of an original model: ov_model = ov.convert_model(ONNX_CV_MODEL_PATH) prep = ov.preprocess.PrePostProcessor(ov_model) - prep.input('input.1').tensor().set_layout(ov.Layout("nhwc")) - prep.input('input.1').model().set_layout(ov.Layout("nchw")) + prep.input("input.1").tensor().set_layout(ov.Layout("nhwc")) + prep.input("input.1").model().set_layout(ov.Layout("nchw")) ov_model = prep.build() .. code:: ipython3 @@ -802,9 +798,7 @@ and the layout of an original model: ov_model = mo.convert_model(ONNX_CV_MODEL_PATH, layout="nchw->nhwc") # alternatively use source_layout and target_layout parameters - ov_model = mo.convert_model( - ONNX_CV_MODEL_PATH, source_layout="nchw", target_layout="nhwc" - ) + ov_model = mo.convert_model(ONNX_CV_MODEL_PATH, source_layout="nchw", target_layout="nhwc") Specifying Mean and Scale Values ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -815,8 +809,8 @@ Using Preprocessing API ``mean`` and ``scale`` values can be set. Using these API, model embeds the corresponding preprocessing block for mean-value normalization of the input data and optimizes this block. Refer to `Optimize Preprocessing -notebook `__ -for more examples. +notebook `__ for +more examples. .. code:: ipython3 @@ -863,8 +857,8 @@ the color channels before inference. ov_model = ov.convert_model(ONNX_CV_MODEL_PATH) prep = ov.preprocess.PrePostProcessor(ov_model) - prep.input('input.1').tensor().set_layout(ov.Layout("nchw")) - prep.input('input.1').preprocess().reverse_channels() + prep.input("input.1").tensor().set_layout(ov.Layout("nchw")) + prep.input("input.1").preprocess().reverse_channels() ov_model = prep.build() .. code:: ipython3 diff --git a/docs/notebooks/125-convnext-classification-with-output.rst b/docs/notebooks/convnext-classification-with-output.rst similarity index 85% rename from docs/notebooks/125-convnext-classification-with-output.rst rename to docs/notebooks/convnext-classification-with-output.rst index 6cd15182a70..b41fde8985c 100644 --- a/docs/notebooks/125-convnext-classification-with-output.rst +++ b/docs/notebooks/convnext-classification-with-output.rst @@ -48,11 +48,21 @@ Prerequisites %pip install -q "openvino>=2023.1.0" +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -61,34 +71,34 @@ Prerequisites Get a test image ---------------- -First of all lets get a test + First of all lets get a test image from an open dataset. .. code:: ipython3 - import urllib.request + import requests from torchvision.io import read_image import torchvision.transforms as transforms - img_path = 'cats_image.jpeg' - urllib.request.urlretrieve( - url='https://huggingface.co/datasets/huggingface/cats-image/resolve/main/cats_image.jpeg', - filename=img_path - ) + img_path = "cats_image.jpeg" + r = requests.get("https://huggingface.co/datasets/huggingface/cats-image/resolve/main/cats_image.jpeg") + + with open(img_path, "wb") as f: + f.write(r.content) image = read_image(img_path) display(transforms.ToPILImage()(image)) -.. image:: 125-convnext-classification-with-output_files/125-convnext-classification-with-output_4_0.png +.. image:: convnext-classification-with-output_files/convnext-classification-with-output_4_0.png Get a pretrained model ---------------------- -Torchvision provides a + Torchvision provides a mechanism of `listing and retrieving available models `__. @@ -128,7 +138,7 @@ initialize pre-trained models Define a preprocessing and prepare an input data ------------------------------------------------ -You can use + You can use ``torchvision.transforms`` to make a preprocessing or use\ `preprocessing transforms from the model wight `__. @@ -143,13 +153,6 @@ wight =3.4,<3.7" - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu requests pysbd transformers[torch] "openvino>=2023.1.0" seaborn ipywidgets + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu requests pysbd transformers "torch>=2.1" "openvino>=2023.1.0" seaborn ipywidgets Get Books --------- @@ -197,7 +197,7 @@ which in a raw format looks like this: .. parsed-literal:: - '\ufeffThe Project Gutenberg eBook of Anna Karenina\r\n \r\nThis ebook is for the use of anyone anywhere in the United States and\r\nmost other parts of the world at no cost and with almost no restrictions\r\nwhatsoever. You may copy it, give it away or re-use it under the terms\r\nof the Project Gutenberg License included with this ebook or online\r\nat www.gutenberg.org. If you are not located in the United States,\r\nyou will have to check the laws of the country where you are located\r\nbefore using this eBook.\r\n\r\nTitle: Anna Karenina\r\n\r\n\r\nAuthor: graf Leo Tolstoy\r\n\r\nTranslator: Constance Garnett\r\n\r\nRelease date: July 1, 1998 [eBook #1399]\r\n Most recently updated: April 9, 2023\r\n\r\nLanguage: English\r\n\r\n\r\n\r\n*\*\* START OF THE PROJECT GUTENBERG EBOOK ANNA KARENINA *\*\*\r\n[Illustration]\r\n\r\n\r\n\r\n\r\n ANNA KARENINA \r\n\r\n by Leo Tolstoy \r\n\r\n Translated by Constance Garnett \r\n\r\nContents\r\n\r\n\r\n PART ONE\r\n PART TWO\r\n PART THREE\r\n PART FOUR\r\n PART FIVE\r\n PART SIX\r\n PART SEVEN\r\n PART EIGHT\r\n\r\n\r\n\r\n\r\nPART ONE\r\n\r\nChapter 1\r\n\r\n\r\nHappy families are all alike; every unhappy family is unhappy in its\r\nown way.\r\n\r\nEverything was in confusion in the Oblonskys’ house. The wife had\r\ndiscovered that the husband was carrying on an intrigue with a French\r\ngirl, who had been a governess in their family, and she had announced\r\nto her husband that she could not go on living in the same house with\r\nhim. This position of affairs had now lasted three days, and not only\r\nthe husband and wife themselves, but all the me' + '\ufeffThe Project Gutenberg eBook of Anna Karenina\r\n \r\nThis ebook is for the use of anyone anywhere in the United States and\r\nmost other parts of the world at no cost and with almost no restrictions\r\nwhatsoever. You may copy it, give it away or re-use it under the terms\r\nof the Project Gutenberg License included with this ebook or online\r\nat www.gutenberg.org. If you are not located in the United States,\r\nyou will have to check the laws of the country where you are located\r\nbefore using this eBook.\r\n\r\nTitle: Anna Karenina\r\n\r\n\r\nAuthor: graf Leo Tolstoy\r\n\r\nTranslator: Constance Garnett\r\n\r\nRelease date: July 1, 1998 [eBook #1399]\r\n Most recently updated: April 9, 2023\r\n\r\nLanguage: English\r\n\r\n\r\n\r\n\*\*\* START OF THE PROJECT GUTENBERG EBOOK ANNA KARENINA \*\*\*\r\n[Illustration]\r\n\r\n\r\n\r\n\r\n ANNA KARENINA \r\n\r\n by Leo Tolstoy \r\n\r\n Translated by Constance Garnett \r\n\r\nContents\r\n\r\n\r\n PART ONE\r\n PART TWO\r\n PART THREE\r\n PART FOUR\r\n PART FIVE\r\n PART SIX\r\n PART SEVEN\r\n PART EIGHT\r\n\r\n\r\n\r\n\r\nPART ONE\r\n\r\nChapter 1\r\n\r\n\r\nHappy families are all alike; every unhappy family is unhappy in its\r\nown way.\r\n\r\nEverything was in confusion in the Oblonskys’ house. The wife had\r\ndiscovered that the husband was carrying on an intrigue with a French\r\ngirl, who had been a governess in their family, and she had announced\r\nto her husband that she could not go on living in the same house with\r\nhim. This position of affairs had now lasted three days, and not only\r\nthe husband and wife themselves, but all the me' @@ -407,7 +407,7 @@ languages. It has the same architecture as the BERT model but has been trained on a different task: to produce identical embeddings for translation pairs. -|image0| +|image01| This makes LaBSE a great choice for our task and it can be reused for different language pairs still producing good results. @@ -443,20 +443,10 @@ best fit. embedding_model: Union[BertModel, OVModel], ) -> np.ndarray: if isinstance(embedding_model, OVModel): - embeddings = [ - embedding_model(tokenizer(sent, return_tensors="np").data)[ - "last_hidden_state" - ][0][0] - for sent in tqdm(sentences, disable=disable_tqdm) - ] + embeddings = [embedding_model(tokenizer(sent, return_tensors="np").data)["last_hidden_state"][0][0] for sent in tqdm(sentences, disable=disable_tqdm)] return np.vstack(embeddings) else: - embeddings = [ - embedding_model(**tokenizer(sent, return_tensors="pt"))[ - "last_hidden_state" - ][0][0] - for sent in tqdm(sentences, disable=disable_tqdm) - ] + embeddings = [embedding_model(**tokenizer(sent, return_tensors="pt"))["last_hidden_state"][0][0] for sent in tqdm(sentences, disable=disable_tqdm)] return torch.vstack(embeddings) @@ -499,8 +489,8 @@ For starting work, we should select device for inference first: core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -584,16 +574,12 @@ the converted model is the same as the original one. return x / np.var(x) - def calculate_alignment_matrix( - first: np.ndarray, second: np.ndarray, threshold: float = 1e-3 - ) -> np.ndarray: + def calculate_alignment_matrix(first: np.ndarray, second: np.ndarray, threshold: float = 1e-3) -> np.ndarray: similarity = first @ second.T # 1 similarity_en_to_de = np.apply_along_axis(transform, -1, similarity) # 2 similarity_de_to_en = np.apply_along_axis(transform, -2, similarity) # 2 - both_one = (similarity_en_to_de > threshold) * ( - similarity_de_to_en > threshold - ) # 3 and 4 + both_one = (similarity_en_to_de > threshold) * (similarity_de_to_en > threshold) # 3 and 4 return both_one @@ -608,9 +594,7 @@ the converted model is the same as the original one. graph, axis = plt.subplots(1, 2, figsize=(10, 5), sharey=True) - for matrix, ax, title in zip( - (alignment_matrix, alignment_matrix_pt), axis, ("OpenVINO", "PyTorch") - ): + for matrix, ax, title in zip((alignment_matrix, alignment_matrix_pt), axis, ("OpenVINO", "PyTorch")): plot = sns.heatmap(matrix, cbar=False, square=True, ax=ax) plot.set_title(f"Sentence Alignment Matrix {title}") plot.set_xlabel("German") @@ -621,7 +605,7 @@ the converted model is the same as the original one. -.. image:: 220-cross-lingual-books-alignment-with-output_files/220-cross-lingual-books-alignment-with-output_32_0.png +.. image:: cross-lingual-books-alignment-with-output_files/cross-lingual-books-alignment-with-output_32_0.png After visualizing and comparing the alignment matrices, let’s transform @@ -724,9 +708,7 @@ and JS. from io import StringIO - def create_interactive_table( - list1: List[str], list2: List[str], mapping: Dict[int, List[int]] - ) -> str: + def create_interactive_table(list1: List[str], list2: List[str], mapping: Dict[int, List[int]]) -> str: def inverse_mapping(mapping): inverse_map = {idx: [] for idx in range(len(list2))} @@ -739,9 +721,7 @@ and JS. inversed_mapping = inverse_mapping(mapping) table_html = StringIO() - table_html.write( - '' - ) + table_html.write('
Sentences ENSentences DE
') for i, (first, second) in enumerate(zip_longest(list1, list2)): table_html.write("") if i < len(list1): @@ -940,9 +920,7 @@ advance and fill it in as the inference requests are executed. infer_queue = ov.AsyncInferQueue(embedding_model) infer_queue.set_callback(callback) - embedding_dim = ( - embedding_model.output(0).get_partial_shape().get_dimension(2).get_length() - ) + embedding_dim = embedding_model.output(0).get_partial_shape().get_dimension(2).get_length() embeddings = np.zeros((len(sentences), embedding_dim)) with tqdm(total=len(sentences), disable=disable_tqdm) as pbar: @@ -1006,9 +984,7 @@ Let’s compare the models and plot the results. for model, func, name in benchmarks_iterator: printable_name = name.replace("\n", " ") benchmarks_iterator.set_description(f"Run benchmark for {printable_name} model") - for run in tqdm( - range(10 + 1), leave=False, desc="Benchmark Runs: ", disable=disable_tqdm - ): + for run in tqdm(range(10 + 1), leave=False, desc="Benchmark Runs: ", disable=disable_tqdm): with disable_tqdm_context(): start = perf_counter() func(benchmark_data, model) @@ -1047,9 +1023,7 @@ Let’s compare the models and plot the results. cpu_name = core.get_property("CPU", "FULL_DEVICE_NAME") plot = sns.barplot(benchmark_dataframe, errorbar="sd") - plot.set( - ylabel="Sentences Per Second", title=f"Sentence Embeddings Benchmark\n{cpu_name}" - ) + plot.set(ylabel="Sentences Per Second", title=f"Sentence Embeddings Benchmark\n{cpu_name}") perf_ratio = benchmark_dataframe.mean() / benchmark_dataframe.mean()[0] plot.spines["right"].set_visible(False) plot.spines["top"].set_visible(False) @@ -1057,7 +1031,7 @@ Let’s compare the models and plot the results. -.. image:: 220-cross-lingual-books-alignment-with-output_files/220-cross-lingual-books-alignment-with-output_49_0.png +.. image:: cross-lingual-books-alignment-with-output_files/cross-lingual-books-alignment-with-output_49_0.png On an Intel Core i9-10980XE CPU, the OpenVINO model processed 45% more diff --git a/docs/notebooks/220-cross-lingual-books-alignment-with-output_files/220-cross-lingual-books-alignment-with-output_32_0.png b/docs/notebooks/cross-lingual-books-alignment-with-output_files/cross-lingual-books-alignment-with-output_32_0.png similarity index 100% rename from docs/notebooks/220-cross-lingual-books-alignment-with-output_files/220-cross-lingual-books-alignment-with-output_32_0.png rename to docs/notebooks/cross-lingual-books-alignment-with-output_files/cross-lingual-books-alignment-with-output_32_0.png diff --git a/docs/notebooks/220-cross-lingual-books-alignment-with-output_files/220-cross-lingual-books-alignment-with-output_49_0.png b/docs/notebooks/cross-lingual-books-alignment-with-output_files/cross-lingual-books-alignment-with-output_49_0.png similarity index 100% rename from docs/notebooks/220-cross-lingual-books-alignment-with-output_files/220-cross-lingual-books-alignment-with-output_49_0.png rename to docs/notebooks/cross-lingual-books-alignment-with-output_files/cross-lingual-books-alignment-with-output_49_0.png diff --git a/docs/notebooks/110-ct-scan-live-inference-with-output.rst b/docs/notebooks/ct-scan-live-inference-with-output.rst similarity index 87% rename from docs/notebooks/110-ct-scan-live-inference-with-output.rst rename to docs/notebooks/ct-scan-live-inference-with-output.rst index f50dd0ab3ec..286355536e2 100644 --- a/docs/notebooks/110-ct-scan-live-inference-with-output.rst +++ b/docs/notebooks/ct-scan-live-inference-with-output.rst @@ -18,12 +18,12 @@ This notebook needs a quantized OpenVINO IR model and images from the `KiTS-19 `__ dataset, converted to 2D images. (To learn how the model is quantized, see the `Convert and Quantize a UNet Model and Show Live -Inference <110-ct-segmentation-quantize-nncf.ipynb>`__ tutorial.) +Inference `__ tutorial.) This notebook provides a pre-trained model, trained for 20 epochs with the full KiTS-19 frames dataset, which has an F1 score on the validation set of 0.9. The training code is available in the `PyTorch MONAI -Training <110-ct-segmentation-quantize-with-output.html>`__ +Training `__ notebook. For demonstration purposes, this tutorial will download one converted CT @@ -48,7 +48,7 @@ Table of contents: .. code:: ipython3 - %pip install -q "openvino>=2023.3.0" "monai>=0.9.1" "nncf>=2.8.0" + %pip install -q "openvino>=2023.3.0" "monai>=0.9.1" "nncf>=2.8.0" "opencv-python" "tqdm" .. parsed-literal:: @@ -64,7 +64,6 @@ Imports .. code:: ipython3 import os - import sys import zipfile from pathlib import Path @@ -74,20 +73,24 @@ Imports from custom_segmentation import SegmentationModel - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py") + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file .. parsed-literal:: - 2024-03-12 22:35:25.130181: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:35:25.164310: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:29:02.693500: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:29:02.729260: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:35:25.734617: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:29:03.313117: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT Settings @@ -103,11 +106,11 @@ trained or optimized yourself, adjust the model paths. .. code:: ipython3 # The directory that contains the IR model (xml and bin) files. - models_dir = Path('pretrained_model') + models_dir = Path("pretrained_model") - ir_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/kidney-segmentation-kits19/FP16-INT8/' - ir_model_name_xml = 'quantized_unet_kits19.xml' - ir_model_name_bin = 'quantized_unet_kits19.bin' + ir_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/kidney-segmentation-kits19/FP16-INT8/" + ir_model_name_xml = "quantized_unet_kits19.xml" + ir_model_name_bin = "quantized_unet_kits19.bin" download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory=models_dir) download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory=models_dir) @@ -133,7 +136,7 @@ trained or optimized yourself, adjust the model paths. Benchmark Model Performance --------------------------- -To measure the inference + To measure the inference performance of the IR model, use `Benchmark Tool `__ - an inference performance measurement tool in OpenVINO. Benchmark tool @@ -160,7 +163,7 @@ is a command-line application that can be run in the notebook with device = widgets.Dropdown( options=core.available_devices + device_list, value=device_list[0], - description='Device:', + description="Device:", disabled=False, ) @@ -198,7 +201,11 @@ is a command-line application that can be run in the notebook with [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.LATENCY. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 13.37 ms + + +.. parsed-literal:: + + [ INFO ] Read model took 13.73 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] input.1 (node: input.1) : f32 / [...] / [1,1,512,512] @@ -216,7 +223,7 @@ is a command-line application that can be run in the notebook with .. parsed-literal:: - [ INFO ] Compile model took 259.78 ms + [ INFO ] Compile model took 303.13 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: pretrained_unet_kits19 @@ -251,21 +258,21 @@ is a command-line application that can be run in the notebook with [ INFO ] Fill input 'input.1' with random values [Step 10/11] Measuring performance (Start inference synchronously, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 26.09 ms + [ INFO ] First inference took 25.71 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 1346 iterations - [ INFO ] Duration: 15003.91 ms + [ INFO ] Count: 1348 iterations + [ INFO ] Duration: 15011.04 ms [ INFO ] Latency: - [ INFO ] Median: 10.91 ms - [ INFO ] Average: 10.96 ms - [ INFO ] Min: 10.64 ms - [ INFO ] Max: 12.98 ms - [ INFO ] Throughput: 89.71 FPS + [ INFO ] Median: 10.88 ms + [ INFO ] Average: 10.94 ms + [ INFO ] Min: 10.68 ms + [ INFO ] Max: 13.65 ms + [ INFO ] Throughput: 89.80 FPS Download and Prepare Data @@ -295,9 +302,7 @@ downloaded and extracted in the next cell. case_path = BASEDIR / f"case_{CASE:05d}" if not case_path.exists(): - filename = download_file( - f"https://storage.openvinotoolkit.org/data/test_data/openvino_notebooks/kits19/case_{CASE:05d}.zip" - ) + filename = download_file(f"https://storage.openvinotoolkit.org/data/test_data/openvino_notebooks/kits19/case_{CASE:05d}.zip") with zipfile.ZipFile(filename, "r") as zip_ref: zip_ref.extractall(path=BASEDIR) os.remove(filename) # remove zipfile @@ -331,7 +336,7 @@ card, model loading will be slow the first time you run this code. The model will be cached, so after the first time model loading will be faster. For more information on OpenVINO Runtime, including Model Caching, refer to the `OpenVINO API -tutorial <002-openvino-api-with-output.html>`__. +tutorial `__. We will use `AsyncInferQueue `__ @@ -366,9 +371,7 @@ to see the implementation. .. code:: ipython3 core = ov.Core() - segmentation_model = SegmentationModel( - ie=core, model_path=Path(MODEL_PATH), sigmoid=True, rotate_and_flip=True - ) + segmentation_model = SegmentationModel(ie=core, model_path=Path(MODEL_PATH), sigmoid=True, rotate_and_flip=True) image_paths = sorted(case_path.glob("imaging_frames/*jpg")) print(f"{case_path.name}, {len(image_paths)} images") @@ -386,7 +389,7 @@ Prepare images Use the ``reader = LoadImage()`` function to read the images in the same way as in the -`training <110-ct-segmentation-quantize-with-output.html>`__ +`training `__ tutorial. .. code:: ipython3 @@ -441,10 +444,14 @@ The ``callback`` function will show the results of inference. from typing import Dict, Any + # Define a callback function that runs every time the asynchronous pipeline completes inference on a frame - def completion_callback(infer_request: ov.InferRequest, user_data: Dict[str, Any],) -> None: - preprocess_meta = user_data['preprocess_meta'] - + def completion_callback( + infer_request: ov.InferRequest, + user_data: Dict[str, Any], + ) -> None: + preprocess_meta = user_data["preprocess_meta"] + raw_outputs = {idx: copy.deepcopy(res.data) for idx, (out, res) in enumerate(zip(infer_request.model_outputs, infer_request.output_tensors))} frame = segmentation_model.postprocess(raw_outputs, preprocess_meta) @@ -479,7 +486,7 @@ Create asynchronous inference queue and perform it start_time = time.time() for i, input_frame in enumerate(framebuf): inputs, preprocessing_meta = segmentation_model.preprocess({segmentation_model.net.input(0): input_frame}) - infer_queue.start_async(inputs, {'preprocess_meta': preprocessing_meta}) + infer_queue.start_async(inputs, {"preprocess_meta": preprocessing_meta}) # Wait until all inference requests in the AsyncInferQueue are completed infer_queue.wait_all() @@ -488,21 +495,21 @@ Create asynchronous inference queue and perform it # Calculate total inference time and FPS total_time = stop_time - start_time fps = len(framebuf) / total_time - time_per_frame = 1 / fps + time_per_frame = 1 / fps print(f"Loaded model to {device} in {load_end_time-load_start_time:.2f} seconds.") - print(f'Total time to infer all frames: {total_time:.3f}s') - print(f'Time per frame: {time_per_frame:.6f}s ({fps:.3f} FPS)') + print(f"Total time to infer all frames: {total_time:.3f}s") + print(f"Time per frame: {time_per_frame:.6f}s ({fps:.3f} FPS)") -.. image:: 110-ct-scan-live-inference-with-output_files/110-ct-scan-live-inference-with-output_21_0.png +.. image:: ct-scan-live-inference-with-output_files/ct-scan-live-inference-with-output_21_0.png .. parsed-literal:: Loaded model to Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') in 0.26 seconds. - Total time to infer all frames: 2.496s - Time per frame: 0.036711s (27.239 FPS) + Total time to infer all frames: 2.480s + Time per frame: 0.036477s (27.415 FPS) diff --git a/docs/notebooks/110-ct-scan-live-inference-with-output_files/110-ct-scan-live-inference-with-output_21_0.png b/docs/notebooks/ct-scan-live-inference-with-output_files/ct-scan-live-inference-with-output_21_0.png similarity index 100% rename from docs/notebooks/110-ct-scan-live-inference-with-output_files/110-ct-scan-live-inference-with-output_21_0.png rename to docs/notebooks/ct-scan-live-inference-with-output_files/ct-scan-live-inference-with-output_21_0.png diff --git a/docs/notebooks/110-ct-segmentation-quantize-nncf-with-output.rst b/docs/notebooks/ct-segmentation-quantize-nncf-with-output.rst similarity index 91% rename from docs/notebooks/110-ct-segmentation-quantize-nncf-with-output.rst rename to docs/notebooks/ct-segmentation-quantize-nncf-with-output.rst index 30223aa7d9a..1da3c580e02 100644 --- a/docs/notebooks/110-ct-segmentation-quantize-nncf-with-output.rst +++ b/docs/notebooks/ct-segmentation-quantize-nncf-with-output.rst @@ -30,7 +30,7 @@ All notebooks in this series: - Convert and Quantize a Segmentation Model and Show Live Inference (this notebook) - `Live Inference and Benchmark CT-scan - data <110-ct-scan-live-inference-with-output.html>`__ + data `__ Instructions ------------ @@ -87,7 +87,19 @@ Table of contents: .. code:: ipython3 - %pip install -q "openvino>=2023.3.0" "monai>=0.9.1" "torchmetrics>=0.11.0" "nncf>=2.8.0" torch --extra-index-url https://download.pytorch.org/whl/cpu + import platform + + %pip install -q "openvino>=2023.3.0" "monai>=0.9.1" "torchmetrics>=0.11.0" "nncf>=2.8.0" "opencv-python" torch tqdm --extra-index-url https://download.pytorch.org/whl/cpu + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -105,7 +117,6 @@ Imports import logging import os import random - import sys import time import warnings import zipfile @@ -130,20 +141,23 @@ Imports from custom_segmentation import SegmentationModel from async_pipeline import show_live_inference - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py") from notebook_utils import download_file .. parsed-literal:: - 2024-03-12 22:35:56.579274: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:35:56.613310: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:29:37.722637: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:29:37.758897: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:35:57.179215: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:29:38.341773: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -229,9 +243,7 @@ Download CT-scan Data CASE = 117 if not (BASEDIR / f"case_{CASE:05d}").exists(): BASEDIR.mkdir(exist_ok=True) - filename = download_file( - f"https://storage.openvinotoolkit.org/data/test_data/openvino_notebooks/kits19/case_{CASE:05d}.zip" - ) + filename = download_file(f"https://storage.openvinotoolkit.org/data/test_data/openvino_notebooks/kits19/case_{CASE:05d}.zip") with zipfile.ZipFile(filename, "r") as zip_ref: zip_ref.extractall(path=BASEDIR) os.remove(filename) # remove zipfile @@ -280,7 +292,7 @@ method to display the images in the expected orientation: Source data should exist in basedir, in subdirectories case_00000 until case_00210, with each subdirectory containing directories imaging_frames, with jpg images, and segmentation_frames with segmentation masks as png files. - See https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/110-ct-segmentation-quantize/data-preparation-ct-scan.ipynb + See [data-preparation-ct-scan](./data-preparation-ct-scan.ipynb) :param basedir: Directory that contains the prepared CT scans """ @@ -288,10 +300,7 @@ method to display the images in the expected orientation: self.basedir = basedir self.dataset = masks - print( - f"Created dataset with {len(self.dataset)} items. " - f"Base directory for data: {basedir}" - ) + print(f"Created dataset with {len(self.dataset)} items. " f"Base directory for data: {basedir}") def __getitem__(self, index): """ @@ -300,9 +309,7 @@ method to display the images in the expected orientation: :return: (image, segmentation_mask) """ mask_path = self.dataset[index] - image_path = str(mask_path.with_suffix(".jpg")).replace( - "segmentation_frames", "imaging_frames" - ) + image_path = str(mask_path.with_suffix(".jpg")).replace("segmentation_frames", "imaging_frames") # Load images with MONAI's LoadImage to match data loading in training notebook mask = LoadImage(image_only=True, dtype=np.uint8)(str(mask_path)).numpy() @@ -347,7 +354,7 @@ kidney pixels to verify that the annotations look correct: -.. image:: 110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_14_1.png +.. image:: ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_14_1.png Metric @@ -412,7 +419,7 @@ this notebook. .. code:: ipython3 - fp32_ir_path = MODEL_DIR / Path('unet_kits19_fp32.xml') + fp32_ir_path = MODEL_DIR / Path("unet_kits19_fp32.xml") fp32_ir_model = ov.convert_model(model, example_input=torch.ones(1, 1, 512, 512, dtype=torch.float32)) ov.save_model(fp32_ir_model, str(fp32_ir_path)) @@ -430,12 +437,7 @@ this notebook. .. parsed-literal:: - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/monai/networks/nets/basic_unet.py:168: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/monai/networks/nets/basic_unet.py:168: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if x_e.shape[-i - 1] != x_0.shape[-i - 1]: @@ -475,7 +477,7 @@ steps: model, calibration_dataset, # Do not quantize LeakyReLU activations to allow the INT8 model to run on Intel GPU - ignored_scope=nncf.IgnoredScope(patterns=[".*LeakyReLU.*"]) + ignored_scope=nncf.IgnoredScope(patterns=[".*LeakyReLU.*"]), ) @@ -534,22 +536,22 @@ Convert quantized model to OpenVINO IR model and save it. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/torch/quantization/layers.py:337: TracerWarning: Converting a tensor to a Python number might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/torch/quantization/layers.py:337: TracerWarning: Converting a tensor to a Python number might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! return self._level_low.item() - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/torch/quantization/layers.py:345: TracerWarning: Converting a tensor to a Python number might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/torch/quantization/layers.py:345: TracerWarning: Converting a tensor to a Python number might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! return self._level_high.item() - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/monai/networks/nets/basic_unet.py:168: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/monai/networks/nets/basic_unet.py:168: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if x_e.shape[-i - 1] != x_0.shape[-i - 1]: .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1093: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: Tensor-likes are not close! - Mismatched elements: 248084 / 262144 (94.6%) - Greatest absolute difference: 3.0810165405273438 at index (0, 0, 135, 41) (up to 1e-05 allowed) - Greatest relative difference: 29099.340127879757 at index (0, 0, 139, 287) (up to 1e-05 allowed) + Mismatched elements: 248412 / 262144 (94.8%) + Greatest absolute difference: 3.334601879119873 at index (0, 0, 345, 29) (up to 1e-05 allowed) + Greatest relative difference: 21800.240266957342 at index (0, 0, 242, 213) (up to 1e-05 allowed) _check_trace( @@ -601,7 +603,7 @@ Select Inference Device device = widgets.Dropdown( options=core.available_devices + device_list, value=device_list[0], - description='Device:', + description="Device:", disabled=False, ) @@ -623,8 +625,6 @@ Compare Metrics for the original model and the quantized model to be sure that t .. code:: ipython3 - - int8_compiled_model = core.compile_model(int8_ir_model, device.value) int8_f1 = compute_f1(int8_compiled_model, dataset) @@ -685,7 +685,7 @@ be run in the notebook with ``! benchmark_app`` or [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.LATENCY. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 8.66 ms + [ INFO ] Read model took 8.73 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] x (node: x) : f32 / [...] / [?,?,?,?] @@ -703,7 +703,7 @@ be run in the notebook with ``! benchmark_app`` or .. parsed-literal:: - [ INFO ] Compile model took 136.91 ms + [ INFO ] Compile model took 151.10 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model0 @@ -736,9 +736,9 @@ be run in the notebook with ``! benchmark_app`` or [Step 9/11] Creating infer requests and preparing input tensors [ ERROR ] Input x is dynamic. Provide data shapes! Traceback (most recent call last): - File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 486, in main + File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 486, in main data_queue = get_input_data(paths_to_input, app_inputs_info) - File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/utils/inputs_filling.py", line 123, in get_input_data + File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/utils/inputs_filling.py", line 123, in get_input_data raise Exception(f"Input {info.name} is dynamic. Provide data shapes!") Exception: Input x is dynamic. Provide data shapes! @@ -770,7 +770,7 @@ be run in the notebook with ``! benchmark_app`` or .. parsed-literal:: - [ INFO ] Read model took 13.46 ms + [ INFO ] Read model took 13.30 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] x (node: x) : f32 / [...] / [1,1,512,512] @@ -788,7 +788,7 @@ be run in the notebook with ``! benchmark_app`` or .. parsed-literal:: - [ INFO ] Compile model took 274.86 ms + [ INFO ] Compile model took 233.12 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model49 @@ -827,21 +827,21 @@ be run in the notebook with ``! benchmark_app`` or .. parsed-literal:: - [ INFO ] First inference took 30.24 ms + [ INFO ] First inference took 31.47 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 972 iterations - [ INFO ] Duration: 15004.50 ms + [ INFO ] Count: 965 iterations + [ INFO ] Duration: 15011.79 ms [ INFO ] Latency: - [ INFO ] Median: 15.20 ms - [ INFO ] Average: 15.24 ms - [ INFO ] Min: 14.91 ms - [ INFO ] Max: 16.93 ms - [ INFO ] Throughput: 64.78 FPS + [ INFO ] Median: 15.31 ms + [ INFO ] Average: 15.36 ms + [ INFO ] Min: 15.02 ms + [ INFO ] Max: 17.48 ms + [ INFO ] Throughput: 64.28 FPS Visually Compare Inference Results @@ -926,11 +926,11 @@ seed is displayed to enable reproducing specific runs of this cell. .. parsed-literal:: - Visualizing results with seed 1710279421 + Visualizing results with seed 1713389447 -.. image:: 110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_37_1.png +.. image:: ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_37_1.png Show Live Inference @@ -942,7 +942,7 @@ To show live inference on the model in the notebook, we will use the asynchronous processing feature of OpenVINO. We use the ``show_live_inference`` function from `Notebook -Utils `__ to show live inference. This +Utils <../utils-with-output.html>`__ to show live inference. This function uses `Open Model Zoo `__\ ’s Async Pipeline and Model API to perform asynchronous inference. After @@ -969,9 +969,7 @@ overlay of the segmentation mask on the original image/frame. CASE = 117 - segmentation_model = SegmentationModel( - ie=core, model_path=int8_ir_path, sigmoid=True, rotate_and_flip=True - ) + segmentation_model = SegmentationModel(ie=core, model_path=int8_ir_path, sigmoid=True, rotate_and_flip=True) case_path = BASEDIR / f"case_{CASE:05d}" image_paths = sorted(case_path.glob("imaging_frames/*jpg")) print(f"{case_path.name}, {len(image_paths)} images") @@ -997,18 +995,22 @@ performs inference, and displays the results on the frames loaded in reader = LoadImage(image_only=True, dtype=np.uint8) show_live_inference( - ie=core, image_paths=image_paths, model=segmentation_model, device=device.value, reader=reader + ie=core, + image_paths=image_paths, + model=segmentation_model, + device=device.value, + reader=reader, ) -.. image:: 110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_42_0.jpg +.. image:: ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_42_0.jpg .. parsed-literal:: Loaded model to AUTO in 0.22 seconds. - Total time for 68 frames: 2.67 seconds, fps:25.87 + Total time for 68 frames: 2.70 seconds, fps:25.59 References @@ -1020,9 +1022,8 @@ References Repository `__ - `Neural Network Compression Framework for fast model inference `__ - `OpenVINO API -Tutorial <002-openvino-api-with-output.html>`__ - `OpenVINO -PyPI (pip install -openvino-dev) `__ +Tutorial `__ - `OpenVINO PyPI (pip +install openvino-dev) `__ **Kits19 Data** - `Kits19 Challenge Homepage `__ - `Kits19 GitHub diff --git a/docs/notebooks/110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_14_1.png b/docs/notebooks/ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_14_1.png similarity index 100% rename from docs/notebooks/110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_14_1.png rename to docs/notebooks/ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_14_1.png diff --git a/docs/notebooks/ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_37_1.png b/docs/notebooks/ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_37_1.png new file mode 100644 index 00000000000..156f435eba7 --- /dev/null +++ b/docs/notebooks/ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_37_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08f7f46aea3e4c64f7bcb4dfe777299e9cb77cf5ec36396e340c1be6e8206aef +size 382874 diff --git a/docs/notebooks/110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_42_0.jpg b/docs/notebooks/ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_42_0.jpg similarity index 100% rename from docs/notebooks/110-ct-segmentation-quantize-nncf-with-output_files/110-ct-segmentation-quantize-nncf-with-output_42_0.jpg rename to docs/notebooks/ct-segmentation-quantize-nncf-with-output_files/ct-segmentation-quantize-nncf-with-output_42_0.jpg diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output.rst b/docs/notebooks/decidiffusion-image-generation-with-output.rst similarity index 87% rename from docs/notebooks/259-decidiffusion-image-generation-with-output.rst rename to docs/notebooks/decidiffusion-image-generation-with-output.rst index 2b31ac01c58..07a0f1a2896 100644 --- a/docs/notebooks/259-decidiffusion-image-generation-with-output.rst +++ b/docs/notebooks/decidiffusion-image-generation-with-output.rst @@ -89,7 +89,7 @@ install required packages .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "diffusers" "transformers" "torch" "pillow" "openvino>=2023.1.0" "gradio" "datasets" "nncf>=2.7.0" "peft==0.6.2" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "diffusers" "transformers" "torch>=2.1" "pillow" "openvino>=2023.1.0" "gradio>=4.19" "datasets>=2.14.6" "huggingface-hub>=0.19.4" "nncf>=2.7.0" "peft==0.6.2" Prepare DeciDiffusion models for OpenVINO format conversion ----------------------------------------------------------- @@ -172,19 +172,20 @@ to create diffusers pipeline for DeciDiffusion. from diffusers import StableDiffusionPipeline import warnings - warnings.filterwarnings('ignore') + warnings.filterwarnings("ignore") TEXT_ENCODER_OV_PATH = Path("model/text_encoder.xml") - UNET_OV_PATH = Path('model/unet_nas.xml') + UNET_OV_PATH = Path("model/unet_nas.xml") VAE_ENCODER_OV_PATH = Path("model/vae_encoder.xml") - VAE_DECODER_OV_PATH = Path('model/vae_decoder.xml') + VAE_DECODER_OV_PATH = Path("model/vae_decoder.xml") checkpoint = "Deci/DeciDiffusion-v1-0" scheduler_config_dir = Path("model/scheduler") tokenizer_dir = Path("model/tokenizer") + def load_orginal_pytorch_pipeline_componets(): pipeline = StableDiffusionPipeline.from_pretrained(checkpoint, custom_pipeline=checkpoint, torch_dtype=torch.float32) - pipeline.unet = pipeline.unet.from_pretrained(checkpoint, subfolder='flexible_unet', torch_dtype=torch.float32) + pipeline.unet = pipeline.unet.from_pretrained(checkpoint, subfolder="flexible_unet", torch_dtype=torch.float32) text_encoder = pipeline.text_encoder text_encoder.eval() unet = pipeline.unet @@ -193,9 +194,9 @@ to create diffusers pipeline for DeciDiffusion. vae.eval() del pipeline - gc.collect(); + gc.collect() return text_encoder, unet, vae - + def cleanup_torchscript_cache(): """ @@ -254,11 +255,11 @@ hidden states. .. code:: ipython3 - def convert_encoder(text_encoder: torch.nn.Module, ir_path:Path): + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ - Convert Text Encoder mode. - Function accepts text encoder model, and prepares example inputs for conversion, - Parameters: + Convert Text Encoder mode. + Function accepts text encoder model, and prepares example inputs for conversion, + Parameters: text_encoder (torch.nn.Module): text_encoder model from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -271,13 +272,19 @@ hidden states. # disable gradients calculation for reducing memory consumption with torch.no_grad(): # Export model to IR format - ov_model = ov.convert_model(text_encoder, example_input=input_ids, input=[(1,77),]) + ov_model = ov.convert_model( + text_encoder, + example_input=input_ids, + input=[ + (1, 77), + ], + ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - gc.collect(); - print(f'Text Encoder successfully converted to IR and saved to {ir_path}') - + gc.collect() + print(f"Text Encoder successfully converted to IR and saved to {ir_path}") + if not TEXT_ENCODER_OV_PATH.exists(): convert_encoder(text_encoder, TEXT_ENCODER_OV_PATH) @@ -312,17 +319,14 @@ Model predicts the ``sample`` state for the next step. import numpy as np - dtype_mapping = { - torch.float32: ov.Type.f32, - torch.float64: ov.Type.f64 - } + dtype_mapping = {torch.float32: ov.Type.f32, torch.float64: ov.Type.f64} - def convert_unet(unet:torch.nn.Module, ir_path:Path): + def convert_unet(unet: torch.nn.Module, ir_path: Path): """ - Convert U-net model to IR format. - Function accepts unet model, prepares example inputs for conversion, - Parameters: + Convert U-net model to IR format. + Function accepts unet model, prepares example inputs for conversion, + Parameters: unet (StableDiffusionPipeline): unet from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -348,8 +352,8 @@ Model predicts the ``sample`` state for the next step. ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - gc.collect(); - print(f'U-Net NAS successfully converted to IR and saved to {ir_path}') + gc.collect() + print(f"U-Net NAS successfully converted to IR and saved to {ir_path}") if not UNET_OV_PATH.exists(): @@ -391,15 +395,16 @@ of the pipeline, it will be better to convert them to separate models. def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for encoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: - vae (torch.nn.Module): VAE model from StableDiffusio pipeline + Convert VAE model for encoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: + vae (torch.nn.Module): VAE model from StableDiffusio pipeline ir_path (Path): File for storing model Returns: None """ + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -407,16 +412,17 @@ of the pipeline, it will be better to convert them to separate models. def forward(self, image): return self.vae.encode(x=image)["latent_dist"].sample() + vae_encoder = VAEEncoderWrapper(vae) vae_encoder.eval() image = torch.zeros((1, 3, 512, 512)) with torch.no_grad(): - ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1,3,512,512),)]) + ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1, 3, 512, 512),)]) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - gc.collect(); - print(f'VAE encoder successfully converted to IR and saved to {ir_path}') + gc.collect() + print(f"VAE encoder successfully converted to IR and saved to {ir_path}") if not VAE_ENCODER_OV_PATH.exists(): @@ -427,15 +433,16 @@ of the pipeline, it will be better to convert them to separate models. def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for decoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: + Convert VAE model for decoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: vae (torch.nn.Module): VAE model frm StableDiffusion pipeline ir_path (Path): File for storing model Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -443,18 +450,18 @@ of the pipeline, it will be better to convert them to separate models. def forward(self, latents): return self.vae.decode(latents) - + vae_decoder = VAEDecoderWrapper(vae) latents = torch.zeros((1, 4, 64, 64)) vae_decoder.eval() with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1,4,64,64),)]) + ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1, 4, 64, 64),)]) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - gc.collect(); - print(f'VAE decoder successfully converted to IR and saved to {ir_path}') + gc.collect() + print(f"VAE decoder successfully converted to IR and saved to {ir_path}") if not VAE_DECODER_OV_PATH.exists(): @@ -582,11 +589,11 @@ between 0.4 and 0.6. from openvino.runtime import Model - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -606,7 +613,7 @@ between 0.4 and 0.6. then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (PIL.Image.Image): input image Returns: @@ -615,8 +622,7 @@ between 0.4 and 0.6. """ src_width, src_height = image.size dst_width, dst_height = scale_fit_to_window(512, 512, src_width, src_height) - image = np.array(image.resize((dst_width, dst_height), - resample=PIL.Image.Resampling.LANCZOS))[None, :] + image = np.array(image.resize((dst_width, dst_height), resample=PIL.Image.Resampling.LANCZOS))[None, :] pad_width = 512 - dst_width pad_height = 512 - dst_height pad = ((0, 0), (0, pad_height), (0, pad_width), (0, 0)) @@ -709,7 +715,7 @@ between 0.4 and 0.6. gif (bool, *optional*, False): Flag for storing all steps results or not. Returns: - Dictionary with keys: + Dictionary with keys: sample - the last generated image PIL.Image.Image or np.array iterations - *optional* (if gif=True) images for all diffusion steps, List of PIL.Image.Image or np.array. """ @@ -719,8 +725,12 @@ between 0.4 and 0.6. img_buffer = [] do_classifier_free_guidance = guidance_scale > 1.0 # get prompt text embeddings - text_embeddings = self._encode_prompt(prompt, do_classifier_free_guidance=do_classifier_free_guidance, negative_prompt=negative_prompt) - + text_embeddings = self._encode_prompt( + prompt, + do_classifier_free_guidance=do_classifier_free_guidance, + negative_prompt=negative_prompt, + ) + # set timesteps accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) extra_set_kwargs = {} @@ -756,7 +766,12 @@ between 0.4 and 0.6. noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) # compute the previous noisy sample x_t -> x_t-1 - latents = self.scheduler.step(torch.from_numpy(noise_pred), t, torch.from_numpy(latents), **extra_step_kwargs)["prev_sample"].numpy() + latents = self.scheduler.step( + torch.from_numpy(noise_pred), + t, + torch.from_numpy(latents), + **extra_step_kwargs, + )["prev_sample"].numpy() if gif: image = self.vae_decoder(latents * (1 / 0.18215))[self._vae_d_output] image = self.postprocess_image(image, meta, output_type) @@ -766,9 +781,15 @@ between 0.4 and 0.6. image = self.vae_decoder(latents * (1 / 0.18215))[self._vae_d_output] image = self.postprocess_image(image, meta, output_type) - return {"sample": image, 'iterations': img_buffer} - - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + return {"sample": image, "iterations": img_buffer} + + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. @@ -792,16 +813,13 @@ between 0.4 and 0.6. ) text_input_ids = text_inputs.input_ids - text_embeddings = self.text_encoder( - text_input_ids)[self._text_encoder_output] + text_embeddings = self.text_encoder(text_input_ids)[self._text_encoder_output] # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -835,11 +853,10 @@ between 0.4 and 0.6. return text_embeddings - - def prepare_latents(self, image:PIL.Image.Image = None, latent_timestep:torch.Tensor = None): + def prepare_latents(self, image: PIL.Image.Image = None, latent_timestep: torch.Tensor = None): """ Function for getting initial latents for starting generation - + Parameters: image (PIL.Image.Image, *optional*, None): Input image for generation, if not provided randon noise will be used as starting point @@ -861,11 +878,11 @@ between 0.4 and 0.6. latents = self.scheduler.add_noise(torch.from_numpy(latents), torch.from_numpy(noise), latent_timestep).numpy() return latents, meta - def postprocess_image(self, image:np.ndarray, meta:Dict, output_type:str = "pil"): + def postprocess_image(self, image: np.ndarray, meta: Dict, output_type: str = "pil"): """ - Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), + Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format - + Parameters: image (np.ndarray): Generated image @@ -891,25 +908,23 @@ between 0.4 and 0.6. image = self.numpy_to_pil(image) if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def get_timesteps(self, num_inference_steps:int, strength:float): + def get_timesteps(self, num_inference_steps: int, strength: float): """ Helper function for getting scheduler timesteps for generation In case of image-to-image generation, it updates number of steps according to strength - + Parameters: num_inference_steps (int): number of inference steps for generation strength (float): - value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. + value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. Values that approach 1.0 enable lots of variations but will also produce images that are not semantically consistent with the input. """ # get the original timestep using init_timestep @@ -918,7 +933,7 @@ between 0.4 and 0.6. t_start = max(num_inference_steps - init_timestep, 0) timesteps = self.scheduler.timesteps[t_start:] - return timesteps, num_inference_steps - t_start + return timesteps, num_inference_steps - t_start Configure Inference Pipeline ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -939,8 +954,8 @@ inference using OpenVINO. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -970,7 +985,7 @@ Let us define them and put all components together from diffusers import DDIMScheduler if not tokenizer_dir.exists(): - tokenizer = AutoTokenizer.from_pretrained(checkpoint, subfolder='tokenizer') + tokenizer = AutoTokenizer.from_pretrained(checkpoint, subfolder="tokenizer") tokenizer.save_pretrained(tokenizer_dir) else: tokenizer = AutoTokenizer.from_pretrained(tokenizer_dir) @@ -987,7 +1002,7 @@ Let us define them and put all components together unet=unet_model, vae_encoder=vae_encoder, vae_decoder=vae_decoder, - scheduler=scheduler + scheduler=scheduler, ) Text-to-Image generation @@ -999,16 +1014,16 @@ Now, let’s see model in action .. code:: ipython3 - text_prompt = 'Highly detailed portrait of a small, adorable cat with round, expressive eyes and a friendly smile' + text_prompt = "Highly detailed portrait of a small, adorable cat with round, expressive eyes and a friendly smile" num_steps = 30 seed = 4217 .. code:: ipython3 - print('Pipeline settings') - print(f'Input text: {text_prompt}') - print(f'Seed: {seed}') - print(f'Number of steps: {num_steps}') + print("Pipeline settings") + print(f"Input text: {text_prompt}") + print(f"Seed: {seed}") + print(f"Number of steps: {num_steps}") .. parsed-literal:: @@ -1032,10 +1047,10 @@ Now, let’s see model in action .. code:: ipython3 - text = '\n\t'.join(text_prompt.split('.')) + text = "\n\t".join(text_prompt.split(".")) print("Input text:") print("\t" + text) - display(result['sample'][0]) + display(result["sample"][0]) .. parsed-literal:: @@ -1045,7 +1060,7 @@ Now, let’s see model in action -.. image:: 259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_26_1.png +.. image:: decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_26_1.png Image-to-Image generation @@ -1061,18 +1076,19 @@ diffusion models can be used to “enhance” an image. .. code:: ipython3 from diffusers.utils import load_image + default_image_url = "https://user-images.githubusercontent.com/29454499/274843996-b0d97f9b-7bfb-4d33-a6d8-d1822eec41ce.jpg" - text_i2i_prompt = 'Highly detailed realistic portrait of a grumpy small, adorable cat with round, expressive eyes' + text_i2i_prompt = "Highly detailed realistic portrait of a grumpy small, adorable cat with round, expressive eyes" strength = 0.87 guidance_scale = 7.5 num_i2i_steps = 15 seed_i2i = seed image = load_image(default_image_url) - print('Pipeline settings') - print(f'Input text: {text_i2i_prompt}') - print(f'Seed: {seed_i2i}') - print(f'Number of steps: {num_i2i_steps}') + print("Pipeline settings") + print(f"Input text: {text_i2i_prompt}") + print(f"Seed: {seed_i2i}") + print(f"Number of steps: {num_i2i_steps}") print(f"Strength: {strength}") print(f"Guidance scale: {guidance_scale}") display(image) @@ -1089,12 +1105,19 @@ diffusion models can be used to “enhance” an image. -.. image:: 259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_28_1.png +.. image:: decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_28_1.png .. code:: ipython3 - result = ov_pipe(text_i2i_prompt, image, guidance_scale=guidance_scale, strength=strength, num_inference_steps=num_i2i_steps, seed=seed_i2i) + result = ov_pipe( + text_i2i_prompt, + image, + guidance_scale=guidance_scale, + strength=strength, + num_inference_steps=num_i2i_steps, + seed=seed_i2i, + ) @@ -1105,10 +1128,10 @@ diffusion models can be used to “enhance” an image. .. code:: ipython3 - text = '\n\t'.join(text_i2i_prompt.split('.')) + text = "\n\t".join(text_i2i_prompt.split(".")) print("Input text:") print("\t" + text) - display(result['sample'][0]) + display(result["sample"][0]) .. parsed-literal:: @@ -1118,7 +1141,7 @@ diffusion models can be used to “enhance” an image. -.. image:: 259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_30_1.png +.. image:: decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_30_1.png Quantization @@ -1153,7 +1176,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -1173,8 +1196,13 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipe = None @@ -1367,7 +1395,7 @@ Text-to-Image generation -.. image:: 259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_45_2.png +.. image:: decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_45_2.png Image-to-Image generation @@ -1394,7 +1422,7 @@ Image-to-Image generation -.. image:: 259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_47_2.png +.. image:: decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_47_2.png Compare inference time of the FP16 and INT8 pipelines @@ -1489,7 +1517,7 @@ launch the interactive demo. use_quantized_model = widgets.Checkbox( value=True if quantized_model_present else False, - description='Use quantized model', + description="Use quantized model", disabled=not quantized_model_present, ) @@ -1513,13 +1541,44 @@ launch the interactive demo. img = load_image(sample_img_url).save("tower.jpg") pipeline = int8_pipe if use_quantized_model.value else ov_pipe - def generate_from_text(text, negative_prompt, seed, num_steps, guidance_scale, _=gr.Progress(track_tqdm=True)): - result = pipeline(text, negative_prompt=negative_prompt, num_inference_steps=num_steps, seed=seed, guidance_scale=guidance_scale) + + def generate_from_text( + text, + negative_prompt, + seed, + num_steps, + guidance_scale, + _=gr.Progress(track_tqdm=True), + ): + result = pipeline( + text, + negative_prompt=negative_prompt, + num_inference_steps=num_steps, + seed=seed, + guidance_scale=guidance_scale, + ) return result["sample"][0] - def generate_from_image(img, text, negative_prompt, seed, num_steps, strength, guidance_scale, _=gr.Progress(track_tqdm=True)): - result = pipeline(text, img, negative_prompt=negative_prompt, num_inference_steps=num_steps, seed=seed, strength=strength, guidance_scale=guidance_scale) + def generate_from_image( + img, + text, + negative_prompt, + seed, + num_steps, + strength, + guidance_scale, + _=gr.Progress(track_tqdm=True), + ): + result = pipeline( + text, + img, + negative_prompt=negative_prompt, + num_inference_steps=num_steps, + seed=seed, + strength=strength, + guidance_scale=guidance_scale, + ) return result["sample"][0] @@ -1533,11 +1592,20 @@ launch the interactive demo. steps_input = gr.Slider(1, 50, value=20, step=1, label="Steps") guidance_scale = gr.Slider(label="Guidance Scale", minimum=0, maximum=50, value=0.7, step=0.1) out = gr.Image(label="Result", type="pil") - sample_text = "futuristic synthwave city, retro sunset, crystals, spires, volumetric lighting, studio Ghibli style, rendered in unreal engine with clean details" + sample_text = ( + "futuristic synthwave city, retro sunset, crystals, spires, volumetric lighting, studio Ghibli style, rendered in unreal engine with clean details" + ) sample_text2 = "Highly detailed realistic portrait of a grumpy small, adorable cat with round, expressive eyes" btn = gr.Button() - btn.click(generate_from_text, [text_input, neg_text_input, seed_input, steps_input, guidance_scale], out) - gr.Examples([[sample_text, "", 42, 20, 0.7], [sample_text2, "", 4218, 20, 0.7]], [text_input, neg_text_input, seed_input, steps_input, guidance_scale]) + btn.click( + generate_from_text, + [text_input, neg_text_input, seed_input, steps_input, guidance_scale], + out, + ) + gr.Examples( + [[sample_text, "", 42, 20, 0.7], [sample_text2, "", 4218, 20, 0.7]], + [text_input, neg_text_input, seed_input, steps_input, guidance_scale], + ) with gr.Tab("Image-to-Image generation"): with gr.Row(): with gr.Column(): @@ -1553,13 +1621,28 @@ launch the interactive demo. sample_i2i_text = "amazing watercolor painting" i2i_btn.click( generate_from_image, - [i2i_input, i2i_text_input, i2i_neg_text_input, i2i_seed_input, i2i_steps_input, strength_input, i2i_guidance_scale], + [ + i2i_input, + i2i_text_input, + i2i_neg_text_input, + i2i_seed_input, + i2i_steps_input, + strength_input, + i2i_guidance_scale, + ], i2i_out, ) gr.Examples( [["tower.jpg", sample_i2i_text, "", 6400023, 30, 0.6, 5]], - [i2i_input, i2i_text_input, i2i_neg_text_input, i2i_seed_input, i2i_steps_input, strength_input, i2i_guidance_scale], - + [ + i2i_input, + i2i_text_input, + i2i_neg_text_input, + i2i_seed_input, + i2i_steps_input, + strength_input, + i2i_guidance_scale, + ], ) try: diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_26_1.jpg b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_26_1.jpg similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_26_1.jpg rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_26_1.jpg diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_26_1.png b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_26_1.png similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_26_1.png rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_26_1.png diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_28_1.jpg b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_28_1.jpg similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_28_1.jpg rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_28_1.jpg diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_28_1.png b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_28_1.png similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_28_1.png rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_28_1.png diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_30_1.jpg b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_30_1.jpg similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_30_1.jpg rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_30_1.jpg diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_30_1.png b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_30_1.png similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_30_1.png rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_30_1.png diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_45_2.png b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_45_2.png similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_45_2.png rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_45_2.png diff --git a/docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_47_2.png b/docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_47_2.png similarity index 100% rename from docs/notebooks/259-decidiffusion-image-generation-with-output_files/259-decidiffusion-image-generation-with-output_47_2.png rename to docs/notebooks/decidiffusion-image-generation-with-output_files/decidiffusion-image-generation-with-output_47_2.png diff --git a/docs/notebooks/238-deep-floyd-if-convert-with-output.rst b/docs/notebooks/deep-floyd-if-convert-with-output.rst similarity index 86% rename from docs/notebooks/238-deep-floyd-if-convert-with-output.rst rename to docs/notebooks/deep-floyd-if-convert-with-output.rst index 0dbdecfb961..499c29a6934 100644 --- a/docs/notebooks/238-deep-floyd-if-convert-with-output.rst +++ b/docs/notebooks/deep-floyd-if-convert-with-output.rst @@ -144,9 +144,9 @@ Install required packages. # Set up requirements %pip install -q --upgrade pip - %pip install -q transformers "diffusers>=0.16.1" accelerate safetensors sentencepiece huggingface_hub --extra-index-url https://download.pytorch.org/whl/cpu - %pip install -q "openvino>=2023.3.0" opencv-python - %pip install -q gradio + %pip install -q "torch>2.1" transformers "diffusers>=0.16.1" accelerate safetensors sentencepiece huggingface_hub --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2023.3.0" opencv-python tqdm + %pip install -q "gradio>=4.19" .. parsed-literal:: @@ -172,21 +172,28 @@ Install required packages. from diffusers import DiffusionPipeline import openvino as ov import torch - from utils import TextEncoder, UnetFirstStage, UnetSecondStage, convert_result_to_image, download_omz_model + from utils import ( + TextEncoder, + UnetFirstStage, + UnetSecondStage, + convert_result_to_image, + download_omz_model, + ) .. code:: ipython3 - checkpoint_variant = 'fp16' + checkpoint_variant = "fp16" model_dtype = torch.float32 ir_input_type = ov.Type.f32 compress_to_fp16 = True - models_dir = Path('./models') + models_dir = Path("./models") models_dir.mkdir(exist_ok=True) - encoder_ir_path = models_dir / 'encoder_ir.xml' - first_stage_unet_ir_path = models_dir / 'unet_ir_I.xml' - second_stage_unet_ir_path = models_dir / 'unet_ir_II.xml' + encoder_ir_path = models_dir / "encoder_ir.xml" + first_stage_unet_ir_path = models_dir / "unet_ir_I.xml" + second_stage_unet_ir_path = models_dir / "unet_ir_II.xml" + def pt_to_pil(images): """ @@ -262,17 +269,13 @@ diffusion models. The code below demonstrates how to create a .. code:: ipython3 # Downloading the model weights may take some time. The approximate total checkpoints size is 27GB. - stage_1 = DiffusionPipeline.from_pretrained( - "DeepFloyd/IF-I-M-v1.0", - variant=checkpoint_variant, - torch_dtype=model_dtype - ) + stage_1 = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-M-v1.0", variant=checkpoint_variant, torch_dtype=model_dtype) stage_2 = DiffusionPipeline.from_pretrained( "DeepFloyd/IF-II-M-v1.0", text_encoder=None, variant=checkpoint_variant, - torch_dtype=model_dtype + torch_dtype=model_dtype, ) @@ -505,8 +508,16 @@ resolution images. if not first_stage_unet_ir_path.exists(): unet_1_ir = ov.convert_model( stage_1.unet, - example_input=(torch.ones(2, 3, 64, 64), torch.tensor(1).int(), torch.ones(2, 77, 4096)), - input=[((2, 3, 64, 64), ir_input_type), ((), ov.Type.i32), ((2, 77, 4096), ir_input_type)], + example_input=( + torch.ones(2, 3, 64, 64), + torch.tensor(1).int(), + torch.ones(2, 77, 4096), + ), + input=[ + ((2, 3, 64, 64), ir_input_type), + ((), ov.Type.i32), + ((2, 77, 4096), ir_input_type), + ], ) ov.save_model(unet_1_ir, first_stage_unet_ir_path, compress_to_fp16=compress_to_fp16) @@ -603,8 +614,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -646,35 +657,44 @@ remains comparable with full FP16. .. code:: ipython3 # Fetch `model_upcast_utils` which helps to restore accuracy when inferred on GPU - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/model_upcast_utils.py', - filename='model_upcast_utils.py' + import requests + + r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/model_upcast_utils.py") + open("model_upcast_utils.py", "w").write(r.text) + + from model_upcast_utils import ( + is_model_partially_upcasted, + partially_upcast_nodes_to_fp32, ) - from model_upcast_utils import is_model_partially_upcasted, partially_upcast_nodes_to_fp32 encoder_ov_model = core.read_model(encoder_ir_path) - if 'GPU' in core.available_devices and not is_model_partially_upcasted(encoder_ov_model): - example_input_prompt = 'ultra close color photo portrait of rainbow owl with deer horns in the woods' + if "GPU" in core.available_devices and not is_model_partially_upcasted(encoder_ov_model): + example_input_prompt = "ultra close color photo portrait of rainbow owl with deer horns in the woods" text_inputs = stage_1.tokenizer(example_input_prompt, max_length=77, padding="max_length", return_tensors="np") - upcasted_ov_model = partially_upcast_nodes_to_fp32(encoder_ov_model, text_inputs.input_ids, upcast_ratio=0.05, - operation_types=["MatMul"], batch_size=10) + upcasted_ov_model = partially_upcast_nodes_to_fp32( + encoder_ov_model, + text_inputs.input_ids, + upcast_ratio=0.05, + operation_types=["MatMul"], + batch_size=10, + ) del encoder_ov_model gc.collect() import os + os.remove(encoder_ir_path) - os.remove(str(encoder_ir_path).replace('.xml', '.bin')) + os.remove(str(encoder_ir_path).replace(".xml", ".bin")) ov.save_model(upcasted_ov_model, encoder_ir_path, compress_to_fp16=compress_to_fp16) .. code:: ipython3 - prompt = 'ultra close color photo portrait of rainbow owl with deer horns in the woods' - negative_prompt = 'blurred unreal uncentered occluded' + prompt = "ultra close color photo portrait of rainbow owl with deer horns in the woods" + negative_prompt = "blurred unreal uncentered occluded" # Initialize TextEncoder wrapper class stage_1.text_encoder = TextEncoder(encoder_ir_path, dtype=model_dtype, device=device.value) - print('The model has been loaded') + print("The model has been loaded") # Generate text embeddings prompt_embeds, negative_embeds = stage_1.encode_prompt(prompt, negative_prompt=negative_prompt) @@ -722,20 +742,20 @@ First Stage diffusion block inference N_DIFFUSION_STEPS = 50 # Initialize the First Stage UNet wrapper class - stage_1.unet = UnetFirstStage( - first_stage_unet_ir_path, - stage_1_config, - dtype=model_dtype, - device=device.value - ) - print('The model has been loaded') + stage_1.unet = UnetFirstStage(first_stage_unet_ir_path, stage_1_config, dtype=model_dtype, device=device.value) + print("The model has been loaded") # Fix PRNG seed generator = torch.manual_seed(RANDOM_SEED) # Inference - image = stage_1(prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=N_DIFFUSION_STEPS).images + image = stage_1( + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=N_DIFFUSION_STEPS, + ).images # Delete the model to free up memory del stage_1.unet.unet_openvino @@ -764,7 +784,7 @@ First Stage diffusion block inference -.. image:: 238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_29_3.png +.. image:: deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_29_3.png @@ -776,17 +796,17 @@ Second Stage diffusion block inference .. code:: ipython3 # Initialize the Second Stage UNet wrapper class - stage_2.unet = UnetSecondStage( - second_stage_unet_ir_path, - stage_2_config, - dtype=model_dtype, - device=device.value - ) - print('The model has been loaded') + stage_2.unet = UnetSecondStage(second_stage_unet_ir_path, stage_2_config, dtype=model_dtype, device=device.value) + print("The model has been loaded") image = stage_2( - image=image, prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=20).images + image=image, + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=20, + ).images # Delete the model to free up memory del stage_2.unet.unet_openvino @@ -816,7 +836,7 @@ Second Stage diffusion block inference -.. image:: 238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_31_3.png +.. image:: deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_31_3.png @@ -835,7 +855,7 @@ Upscale the generated image using a Super Resolution network Though the third stage has not been officially released, we’ll employ the Super Resolution network from `Example -#202 `__ +#202 `__ to enhance our low-resolution result! Note, this step will be substituted with the Third IF stage upon its @@ -869,10 +889,10 @@ Download the Super Resolution model weights import numpy as np # 1032: 4x superresolution, 1033: 3x superresolution - model_name = 'single-image-super-resolution-1032' + model_name = "single-image-super-resolution-1032" download_omz_model(model_name, models_dir) - sr_model_xml_path = models_dir / f'{model_name}.xml' + sr_model_xml_path = models_dir / f"{model_name}.xml" @@ -900,10 +920,7 @@ Resolution model makes our target image size 1024x1024 pixel. .. code:: ipython3 model = core.read_model(model=sr_model_xml_path) - model.reshape({ - 0: [1, 3, 256, 256], - 1: [1, 3, 1024, 1024] - }) + model.reshape({0: [1, 3, 256, 256], 1: [1, 3, 1024, 1024]}) compiled_sr_model = core.compile_model(model=model, device_name=device.value) Prepare the input images and run the model @@ -914,18 +931,14 @@ Prepare the input images and run the model .. code:: ipython3 original_image = np.array(pil_image) - bicubic_image = cv2.resize( - src=original_image, dsize=(1024, 1024), interpolation=cv2.INTER_CUBIC - ) + bicubic_image = cv2.resize(src=original_image, dsize=(1024, 1024), interpolation=cv2.INTER_CUBIC) # Reshape the images from (H,W,C) to (N,C,H,W) as expected by the model. input_image_original = np.expand_dims(original_image.transpose(2, 0, 1), axis=0) input_image_bicubic = np.expand_dims(bicubic_image.transpose(2, 0, 1), axis=0) # Model Inference - result = compiled_sr_model( - [input_image_original, input_image_bicubic] - )[compiled_sr_model.output(0)] + result = compiled_sr_model([input_image_original, input_image_bicubic])[compiled_sr_model.output(0)] Display the result ^^^^^^^^^^^^^^^^^^ @@ -940,7 +953,7 @@ Display the result -.. image:: 238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_41_0.png +.. image:: deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_41_0.png @@ -956,52 +969,46 @@ package `__ # Build up the pipeline stage_1.text_encoder = TextEncoder(encoder_ir_path, dtype=model_dtype, device=device.value) - print('The model has been loaded') + print("The model has been loaded") - stage_1.unet = UnetFirstStage( - first_stage_unet_ir_path, - stage_1_config, - dtype=model_dtype, - device=device.value - ) - print('The Stage-1 UNet has been loaded') + stage_1.unet = UnetFirstStage(first_stage_unet_ir_path, stage_1_config, dtype=model_dtype, device=device.value) + print("The Stage-1 UNet has been loaded") - stage_2.unet = UnetSecondStage( - second_stage_unet_ir_path, - stage_2_config, - dtype=model_dtype, - device=device.value - ) - print('The Stage-2 UNet has been loaded') + stage_2.unet = UnetSecondStage(second_stage_unet_ir_path, stage_2_config, dtype=model_dtype, device=device.value) + print("The Stage-2 UNet has been loaded") generator = torch.manual_seed(RANDOM_SEED) + # Combine the models' calls into a single `_generate` function def _generate(prompt, negative_prompt): # Text encoder inference prompt_embeds, negative_embeds = stage_1.encode_prompt(prompt, negative_prompt=negative_prompt) # Stage-1 UNet Inference image = stage_1( - prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=N_DIFFUSION_STEPS + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=N_DIFFUSION_STEPS, ).images # Stage-2 UNet Inference image = stage_2( - image=image, prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=20 + image=image, + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=20, ).images # Infer Super Resolution model original_image = np.array(pt_to_pil(image)[0]) - bicubic_image = cv2.resize( - src=original_image, dsize=(1024, 1024), interpolation=cv2.INTER_CUBIC - ) + bicubic_image = cv2.resize(src=original_image, dsize=(1024, 1024), interpolation=cv2.INTER_CUBIC) # Reshape the images from (H,W,C) to (N,C,H,W) as expected by the model. input_image_original = np.expand_dims(original_image.transpose(2, 0, 1), axis=0) input_image_bicubic = np.expand_dims(bicubic_image.transpose(2, 0, 1), axis=0) # Model Inference - result = compiled_sr_model( - [input_image_original, input_image_bicubic] - )[compiled_sr_model.output(0)] + result = compiled_sr_model([input_image_original, input_image_bicubic])[compiled_sr_model.output(0)] return convert_result_to_image(result) @@ -1022,17 +1029,15 @@ package `__ gr.Textbox(label="Text Prompt"), gr.Textbox(label="Negative Text Prompt"), ], - outputs=[ - "image" - ], + outputs=["image"], examples=[ [ "ultra close color photo portrait of rainbow owl with deer horns in the woods", - "blurred unreal uncentered occluded" + "blurred unreal uncentered occluded", ], [ "A scaly mischievous dragon is driving the car in a street art style", - "blurred uncentered occluded" + "blurred uncentered occluded", ], ], ) @@ -1050,8 +1055,7 @@ Next steps -Open the -`238-deep-floyd-if-optimize <238-deep-floyd-if-optimize-with-output.html>`__ +Open the `deep-floyd-if-optimize `__ notebook to quantize stage 1 and stage 2 U-Net models with the Post-training Quantization API of NNCF and compress weights of the text encoder. Then compare the converted and optimized OpenVINO models. diff --git a/docs/notebooks/238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_29_3.png b/docs/notebooks/deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_29_3.png similarity index 100% rename from docs/notebooks/238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_29_3.png rename to docs/notebooks/deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_29_3.png diff --git a/docs/notebooks/238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_31_3.png b/docs/notebooks/deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_31_3.png similarity index 100% rename from docs/notebooks/238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_31_3.png rename to docs/notebooks/deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_31_3.png diff --git a/docs/notebooks/238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_41_0.png b/docs/notebooks/deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_41_0.png similarity index 100% rename from docs/notebooks/238-deep-floyd-if-convert-with-output_files/238-deep-floyd-if-convert-with-output_41_0.png rename to docs/notebooks/deep-floyd-if-convert-with-output_files/deep-floyd-if-convert-with-output_41_0.png diff --git a/docs/notebooks/238-deep-floyd-if-optimize-with-output.rst b/docs/notebooks/deep-floyd-if-optimize-with-output.rst similarity index 84% rename from docs/notebooks/238-deep-floyd-if-optimize-with-output.rst rename to docs/notebooks/deep-floyd-if-optimize-with-output.rst index eec8cffe1de..89d976895e2 100644 --- a/docs/notebooks/238-deep-floyd-if-optimize-with-output.rst +++ b/docs/notebooks/deep-floyd-if-optimize-with-output.rst @@ -7,17 +7,16 @@ applying 8-bit post-training quantization and weights compression from Compression Framework) and infer optimized model via OpenVINO™ Toolkit. **NOTE**: you should run - `238-deep-floyd-if-convert <238-deep-floyd-if-convert-with-output.html>`__ - notebook first to generate OpenVINO IR model that is used for - optimization. + `deep-floyd-if-convert `__ notebook + first to generate OpenVINO IR model that is used for optimization. The optimization process contains the following steps: 1. Compress weights of the converted OpenVINO text encoder from -`notebook <238-deep-floyd-if-convert-with-output.html>`__ with NNCF. 2. Quantize -the converted stage_1 and stage_2 U-Nets from -`notebook <238-deep-floyd-if-convert-with-output.html>`__ with NNCF. 2. Check the -model result using the same input data from the -`notebook <238-deep-floyd-if-convert-with-output.html>`__. 3. Compare model size of +`notebook `__ with NNCF. 2. Quantize the +converted stage_1 and stage_2 U-Nets from +`notebook `__ with NNCF. 2. Check the model +result using the same input data from the +`notebook `__. 3. Compare model size of converted and optimized models. 4. Compare performance of converted and optimized models. @@ -45,7 +44,7 @@ Prerequisites .. code:: ipython3 - %pip install -q datasets "nncf>=2.6.0" + %pip install -q datasets "nncf>=2.6.0" "torch>=2.1" tqdm .. code:: ipython3 @@ -60,7 +59,7 @@ Prerequisites from utils import TextEncoder, UnetFirstStage, UnetSecondStage - checkpoint_variant = 'fp16' + checkpoint_variant = "fp16" model_dtype = torch.float32 RANDOM_SEED = 42 N_DIFFUSION_STEPS = 50 @@ -76,13 +75,13 @@ Prerequisites .. code:: ipython3 - MODEL_DIR = Path('./models') + MODEL_DIR = Path("./models") TEXT_ENCODER_IR_PATH = MODEL_DIR / "encoder_ir.xml" UNET_I_IR_PATH = MODEL_DIR / "unet_ir_I.xml" UNET_II_IR_PATH = MODEL_DIR / "unet_ir_II.xml" if not (TEXT_ENCODER_IR_PATH.exists() and UNET_I_IR_PATH.exists() and UNET_II_IR_PATH.exists()): - raise RuntimeError('This notebook should be run after 238-deep-floyd-if notebook') + raise RuntimeError("This notebook should be run after deep-floyd-if notebook") .. code:: ipython3 @@ -90,8 +89,8 @@ Prerequisites device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -167,16 +166,34 @@ contains over 2 billion objects. np.random.seed(RANDOM_SEED) + def get_negative_prompt(): negative_prompts = [ - "amateur", "blurred", "deformed", "disfigured", "disgusting", "jpeg artifacts", "low contrast", - "low quality", "low saturation", "mangled", "morbid", "mutilated", "mutation", - "out of frame", "out of frame", "ugly", "uncentered", "underexposed", "unreal", + "amateur", + "blurred", + "deformed", + "disfigured", + "disgusting", + "jpeg artifacts", + "low contrast", + "low quality", + "low saturation", + "mangled", + "morbid", + "mutilated", + "mutation", + "out of frame", + "out of frame", + "ugly", + "uncentered", + "underexposed", + "unreal", ] num_elements = np.random.randint(2, 6) random_elements = np.random.choice(negative_prompts, num_elements) return [" ".join(random_elements)] + def prepare_calibration_data(dataloader, stage_1): """ This function prepares calibration data from a dataloader for a specified number of initialization steps. @@ -210,11 +227,7 @@ contains over 2 billion objects. selection_prob = 0.5 prompts_number = np.ceil(opt_init_steps // (min(N_DIFFUSION_STEPS, UNET_2_STEPS) * selection_prob)) - stage_1 = DiffusionPipeline.from_pretrained( - "DeepFloyd/IF-I-M-v1.0", - variant=checkpoint_variant, - torch_dtype=model_dtype - ) + stage_1 = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-M-v1.0", variant=checkpoint_variant, torch_dtype=model_dtype) encoded_prompts = prepare_dataset(stage_1, int(prompts_number)) @@ -290,12 +303,7 @@ To collect intermediate model inputs for calibration we should customize .. code:: ipython3 - stage_1.unet = UnetFirstStage( - UNET_I_IR_PATH, - stage_1.unet.config, - dtype=model_dtype, - device=device.value - ) + stage_1.unet = UnetFirstStage(UNET_I_IR_PATH, stage_1.unet.config, dtype=model_dtype, device=device.value) stage_1.set_progress_bar_config(disable=True) stage_1_data_cache = [] @@ -305,8 +313,13 @@ To collect intermediate model inputs for calibration we should customize stage_2_inputs = [] # to speed up dataset preparation for stage 2 U-Net we can collect several images below for data in encoded_prompts: prompt_embeds, negative_embeds = data - image = stage_1(prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=N_DIFFUSION_STEPS).images + image = stage_1( + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=N_DIFFUSION_STEPS, + ).images stage_2_inputs.append((image, prompt_embeds, negative_embeds)) if len(stage_1_data_cache) >= opt_init_steps: @@ -328,7 +341,7 @@ Quantize first stage U-Net model=ov_model, calibration_dataset=stage_1_calibration_dataset, model_type=nncf.ModelType.TRANSFORMER, - advanced_parameters=nncf.AdvancedQuantizationParameters(smooth_quant_alpha=0.25) + advanced_parameters=nncf.AdvancedQuantizationParameters(smooth_quant_alpha=0.25), ) UNET_I_INT8_PATH = "_optimized.".join(UNET_I_IR_PATH.as_posix().split(".")) @@ -358,8 +371,13 @@ Quantize first stage U-Net start = len(stage_2_inputs) for i, data in tqdm(enumerate(encoded_prompts[start:])): prompt_embeds, negative_embeds = data - image = stage_1(prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=N_DIFFUSION_STEPS).images + image = stage_1( + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=N_DIFFUSION_STEPS, + ).images stage_2_inputs.append((image, prompt_embeds, negative_embeds)) @@ -386,23 +404,24 @@ Quantize first stage U-Net "DeepFloyd/IF-II-M-v1.0", text_encoder=None, variant=checkpoint_variant, - torch_dtype=model_dtype + torch_dtype=model_dtype, ) stage_2.set_progress_bar_config(disable=True) - stage_2.unet = UnetSecondStage( - UNET_II_IR_PATH, - stage_2.unet.config, - dtype=model_dtype, - device=device.value - ) + stage_2.unet = UnetSecondStage(UNET_II_IR_PATH, stage_2.unet.config, dtype=model_dtype, device=device.value) stage_2_data_cache = [] stage_2.unet.unet_openvino = CompiledModelDecorator(stage_2.unet.unet_openvino, prob=selection_prob, data_cache=stage_2_data_cache) for data in tqdm(stage_2_inputs): image, prompt_embeds, negative_embeds = data - image = stage_2(image=image, prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=UNET_2_STEPS).images + image = stage_2( + image=image, + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=UNET_2_STEPS, + ).images if len(stage_2_data_cache) >= opt_init_steps: break @@ -479,33 +498,24 @@ Run optimized OpenVINO model Let us check predictions with the optimized OpenVINO DeepFloyd IF model result using the same input data from the `1st -notebook <238-deep-floyd-if-with-output.html>`__. +notebook `__. .. code:: ipython3 - prompt = 'ultra close color photo portrait of rainbow owl with deer horns in the woods' - negative_prompt = 'blurred unreal uncentered occluded' + prompt = "ultra close color photo portrait of rainbow owl with deer horns in the woods" + negative_prompt = "blurred unreal uncentered occluded" .. code:: ipython3 %%time - stage_1 = DiffusionPipeline.from_pretrained( - "DeepFloyd/IF-I-M-v1.0", - variant=checkpoint_variant, - torch_dtype=model_dtype - ) + stage_1 = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-M-v1.0", variant=checkpoint_variant, torch_dtype=model_dtype) # Initialize the First Stage U-Net wrapper class - stage_1.unet = UnetFirstStage( - UNET_I_INT8_PATH, - stage_1.unet.config, - dtype=model_dtype, - device=device.value - ) + stage_1.unet = UnetFirstStage(UNET_I_INT8_PATH, stage_1.unet.config, dtype=model_dtype, device=device.value) stage_1.text_encoder = TextEncoder(TEXT_ENCODER_INT8_IR_PATH, dtype=model_dtype, device=device.value) - print('The model has been loaded') + print("The model has been loaded") # Generate text embeddings prompt_embeds, negative_embeds = stage_1.encode_prompt(prompt, negative_prompt=negative_prompt) @@ -514,8 +524,13 @@ notebook <238-deep-floyd-if-with-output.html>`__. generator = torch.manual_seed(RANDOM_SEED) # Inference - image = stage_1(prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=N_DIFFUSION_STEPS).images + image = stage_1( + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=N_DIFFUSION_STEPS, + ).images # Show the image pt_to_pil(image)[0] @@ -569,7 +584,7 @@ notebook <238-deep-floyd-if-with-output.html>`__. -.. image:: 238-deep-floyd-if-optimize-with-output_files/238-deep-floyd-if-optimize-with-output_23_6.png +.. image:: deep-floyd-if-optimize-with-output_files/deep-floyd-if-optimize-with-output_23_6.png @@ -581,21 +596,21 @@ notebook <238-deep-floyd-if-with-output.html>`__. "DeepFloyd/IF-II-M-v1.0", text_encoder=None, variant=checkpoint_variant, - torch_dtype=model_dtype + torch_dtype=model_dtype, ) # Initialize the Second Stage U-Net wrapper class - stage_2.unet = UnetSecondStage( - UNET_II_INT8_PATH, - stage_2.unet.config, - dtype=model_dtype, - device=device.value - ) - print('The model has been loaded') + stage_2.unet = UnetSecondStage(UNET_II_INT8_PATH, stage_2.unet.config, dtype=model_dtype, device=device.value) + print("The model has been loaded") image = stage_2( - image=image, prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, - generator=generator, output_type="pt", num_inference_steps=UNET_2_STEPS).images + image=image, + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_embeds, + generator=generator, + output_type="pt", + num_inference_steps=UNET_2_STEPS, + ).images # Show the image pil_image = pt_to_pil(image)[0] @@ -643,42 +658,34 @@ notebook <238-deep-floyd-if-with-output.html>`__. -.. image:: 238-deep-floyd-if-optimize-with-output_files/238-deep-floyd-if-optimize-with-output_24_5.png +.. image:: deep-floyd-if-optimize-with-output_files/deep-floyd-if-optimize-with-output_24_5.png .. code:: ipython3 - import cv2 import numpy as np from utils import convert_result_to_image, download_omz_model # 1032: 4x superresolution, 1033: 3x superresolution - model_name = 'single-image-super-resolution-1032' + model_name = "single-image-super-resolution-1032" download_omz_model(model_name, MODEL_DIR) - sr_model_xml_path = MODEL_DIR / f'{model_name}.xml' + sr_model_xml_path = MODEL_DIR / f"{model_name}.xml" model = core.read_model(model=sr_model_xml_path) - model.reshape({ - 0: [1, 3, 256, 256], - 1: [1, 3, 1024, 1024] - }) + model.reshape({0: [1, 3, 256, 256], 1: [1, 3, 1024, 1024]}) compiled_sr_model = core.compile_model(model=model, device_name=device.value) original_image = np.array(pil_image) - bicubic_image = cv2.resize( - src=original_image, dsize=(1024, 1024), interpolation=cv2.INTER_CUBIC - ) + bicubic_image = cv2.resize(src=original_image, dsize=(1024, 1024), interpolation=cv2.INTER_CUBIC) # Reshape the images from (H,W,C) to (N,C,H,W) as expected by the model. input_image_original = np.expand_dims(original_image.transpose(2, 0, 1), axis=0) input_image_bicubic = np.expand_dims(bicubic_image.transpose(2, 0, 1), axis=0) # Model Inference - result = compiled_sr_model( - [input_image_original, input_image_bicubic] - )[compiled_sr_model.output(0)] + result = compiled_sr_model([input_image_original, input_image_bicubic])[compiled_sr_model.output(0)] img = convert_result_to_image(result) img @@ -691,14 +698,15 @@ notebook <238-deep-floyd-if-with-output.html>`__. -.. image:: 238-deep-floyd-if-optimize-with-output_files/238-deep-floyd-if-optimize-with-output_25_1.png +.. image:: deep-floyd-if-optimize-with-output_files/deep-floyd-if-optimize-with-output_25_1.png +.. -**NOTE**: Accuracy of quantized models can generally be improved by -increasing calibration dataset size. For U-Net models, you can -collect a more diverse dataset by using a smaller ``selection_prob`` -value, but this will increase the dataset collection time. + **NOTE**: Accuracy of quantized models can generally be improved by + increasing calibration dataset size. For U-Net models, you can + collect a more diverse dataset by using a smaller ``selection_prob`` + value, but this will increase the dataset collection time. Compare file sizes ^^^^^^^^^^^^^^^^^^ @@ -759,8 +767,9 @@ Tool =2023.3.0" "datasets>=2.14.6" "nncf" - %pip install -q "typing-extensions>=4.9.0" eval-type-backport + %pip install -q "openvino>=2023.3.0" "datasets>=2.14.6" "nncf" "tqdm" + %pip install -q "typing-extensions>=4.9.0" eval-type-backport "gradio>=4.19" %pip install -q -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu - if platform.python_version_tuple()[1] == "8": + if platform.python_version_tuple()[1] in ["8", "9"]: %pip install -q "gradio-imageslider<=0.0.17" "typing-extensions>=4.9.0" @@ -79,468 +79,478 @@ Prerequisites .. parsed-literal:: - remote: Enumerating objects: 412, done. - remote: Counting objects: 0% (1/135) -remote: Counting objects: 1% (2/135) -remote: Counting objects: 2% (3/135) -remote: Counting objects: 3% (5/135) -remote: Counting objects: 4% (6/135) -remote: Counting objects: 5% (7/135) -remote: Counting objects: 6% (9/135) -remote: Counting objects: 7% (10/135) -remote: Counting objects: 8% (11/135) -remote: Counting objects: 9% (13/135) -remote: Counting objects: 10% (14/135) -remote: Counting objects: 11% (15/135) -remote: Counting objects: 12% (17/135) -remote: Counting objects: 13% (18/135) -remote: Counting objects: 14% (19/135) -remote: Counting objects: 15% (21/135) -remote: Counting objects: 16% (22/135) -remote: Counting objects: 17% (23/135) -remote: Counting objects: 18% (25/135) -remote: Counting objects: 19% (26/135) -remote: Counting objects: 20% (27/135) -remote: Counting objects: 21% (29/135) -remote: Counting objects: 22% (30/135) -remote: Counting objects: 23% (32/135) -remote: Counting objects: 24% (33/135) -remote: Counting objects: 25% (34/135) -remote: Counting objects: 26% (36/135) -remote: Counting objects: 27% (37/135) -remote: Counting objects: 28% (38/135) -remote: Counting objects: 29% (40/135) -remote: Counting objects: 30% (41/135) -remote: Counting objects: 31% (42/135) -remote: Counting objects: 32% (44/135) -remote: Counting objects: 33% (45/135) -remote: Counting objects: 34% (46/135) -remote: Counting objects: 35% (48/135) -remote: Counting objects: 36% (49/135) -remote: Counting objects: 37% (50/135) -remote: Counting objects: 38% (52/135) -remote: Counting objects: 39% (53/135) -remote: Counting objects: 40% (54/135) -remote: Counting objects: 41% (56/135) -remote: Counting objects: 42% (57/135) -remote: Counting objects: 43% (59/135) -remote: Counting objects: 44% (60/135) -remote: Counting objects: 45% (61/135) -remote: Counting objects: 46% (63/135) -remote: Counting objects: 47% (64/135) -remote: Counting objects: 48% (65/135) -remote: Counting objects: 49% (67/135) -remote: Counting objects: 50% (68/135) -remote: Counting objects: 51% (69/135) -remote: Counting objects: 52% (71/135) -remote: Counting objects: 53% (72/135) -remote: Counting objects: 54% (73/135) -remote: Counting objects: 55% (75/135) -remote: Counting objects: 56% (76/135) -remote: Counting objects: 57% (77/135) -remote: Counting objects: 58% (79/135) -remote: Counting objects: 59% (80/135) -remote: Counting objects: 60% (81/135) -remote: Counting objects: 61% (83/135) -remote: Counting objects: 62% (84/135) -remote: Counting objects: 63% (86/135) -remote: Counting objects: 64% (87/135) -remote: Counting objects: 65% (88/135) -remote: Counting objects: 66% (90/135) -remote: Counting objects: 67% (91/135) -remote: Counting objects: 68% (92/135) -remote: Counting objects: 69% (94/135) -remote: Counting objects: 70% (95/135) -remote: Counting objects: 71% (96/135) -remote: Counting objects: 72% (98/135) -remote: Counting objects: 73% (99/135) -remote: Counting objects: 74% (100/135) -remote: Counting objects: 75% (102/135) -remote: Counting objects: 76% (103/135) -remote: Counting objects: 77% (104/135) -remote: Counting objects: 78% (106/135) -remote: Counting objects: 79% (107/135) -remote: Counting objects: 80% (108/135) -remote: Counting objects: 81% (110/135) -remote: Counting objects: 82% (111/135) -remote: Counting objects: 83% (113/135) -remote: Counting objects: 84% (114/135) -remote: Counting objects: 85% (115/135) -remote: Counting objects: 86% (117/135) -remote: Counting objects: 87% (118/135) -remote: Counting objects: 88% (119/135) -remote: Counting objects: 89% (121/135) -remote: Counting objects: 90% (122/135) -remote: Counting objects: 91% (123/135) -remote: Counting objects: 92% (125/135) -remote: Counting objects: 93% (126/135) -remote: Counting objects: 94% (127/135) -remote: Counting objects: 95% (129/135) -remote: Counting objects: 96% (130/135) -remote: Counting objects: 97% (131/135) -remote: Counting objects: 98% (133/135) -remote: Counting objects: 99% (134/135) -remote: Counting objects: 100% (135/135) -remote: Counting objects: 100% (135/135), done. - remote: Compressing objects: 1% (1/96) -remote: Compressing objects: 2% (2/96) -remote: Compressing objects: 3% (3/96) -remote: Compressing objects: 4% (4/96) -remote: Compressing objects: 5% (5/96) -remote: Compressing objects: 6% (6/96) -remote: Compressing objects: 7% (7/96) -remote: Compressing objects: 8% (8/96) -remote: Compressing objects: 9% (9/96) -remote: Compressing objects: 10% (10/96) -remote: Compressing objects: 11% (11/96) -remote: Compressing objects: 12% (12/96) -remote: Compressing objects: 13% (13/96) -remote: Compressing objects: 14% (14/96) -remote: Compressing objects: 15% (15/96) -remote: Compressing objects: 16% (16/96) -remote: Compressing objects: 17% (17/96) -remote: Compressing objects: 18% (18/96) -remote: Compressing objects: 19% (19/96) -remote: Compressing objects: 20% (20/96) -remote: Compressing objects: 21% (21/96) -remote: Compressing objects: 22% (22/96) -remote: Compressing objects: 23% (23/96) -remote: Compressing objects: 25% (24/96) -remote: Compressing objects: 26% (25/96) -remote: Compressing objects: 27% (26/96) -remote: Compressing objects: 28% (27/96) -remote: Compressing objects: 29% (28/96) -remote: Compressing objects: 30% (29/96) -remote: Compressing objects: 31% (30/96) -remote: Compressing objects: 32% (31/96) -remote: Compressing objects: 33% (32/96) -remote: Compressing objects: 34% (33/96) -remote: Compressing objects: 35% (34/96) -remote: Compressing objects: 36% (35/96) -remote: Compressing objects: 37% (36/96) -remote: Compressing objects: 38% (37/96) -remote: Compressing objects: 39% (38/96) -remote: Compressing objects: 40% (39/96) -remote: Compressing objects: 41% (40/96) -remote: Compressing objects: 42% (41/96) -remote: Compressing objects: 43% (42/96) -remote: Compressing objects: 44% (43/96) -remote: Compressing objects: 45% (44/96) -remote: Compressing objects: 46% (45/96) -remote: Compressing objects: 47% (46/96) -remote: Compressing objects: 48% (47/96) -remote: Compressing objects: 50% (48/96) -remote: Compressing objects: 51% (49/96) -remote: Compressing objects: 52% (50/96) -remote: Compressing objects: 53% (51/96) -remote: Compressing objects: 54% (52/96) -remote: Compressing objects: 55% (53/96) -remote: Compressing objects: 56% (54/96) -remote: Compressing objects: 57% (55/96) -remote: Compressing objects: 58% (56/96) -remote: Compressing objects: 59% (57/96) -remote: Compressing objects: 60% (58/96) -remote: Compressing objects: 61% (59/96) -remote: Compressing objects: 62% (60/96) -remote: Compressing objects: 63% (61/96) -remote: Compressing objects: 64% (62/96) -remote: Compressing objects: 65% (63/96) -remote: Compressing objects: 66% (64/96) -remote: Compressing objects: 67% (65/96) -remote: Compressing objects: 68% (66/96) -remote: Compressing objects: 69% (67/96) -remote: Compressing objects: 70% (68/96) -remote: Compressing objects: 71% (69/96) -remote: Compressing objects: 72% (70/96) -remote: Compressing objects: 73% (71/96) -remote: Compressing objects: 75% (72/96) -remote: Compressing objects: 76% (73/96) -remote: Compressing objects: 77% (74/96) -remote: Compressing objects: 78% (75/96) -remote: Compressing objects: 79% (76/96) -remote: Compressing objects: 80% (77/96) -remote: Compressing objects: 81% (78/96) -remote: Compressing objects: 82% (79/96) -remote: Compressing objects: 83% (80/96) -remote: Compressing objects: 84% (81/96) -remote: Compressing objects: 85% (82/96) -remote: Compressing objects: 86% (83/96) -remote: Compressing objects: 87% (84/96) -remote: Compressing objects: 88% (85/96) -remote: Compressing objects: 89% (86/96) -remote: Compressing objects: 90% (87/96) -remote: Compressing objects: 91% (88/96) -remote: Compressing objects: 92% (89/96) -remote: Compressing objects: 93% (90/96) -remote: Compressing objects: 94% (91/96) -remote: Compressing objects: 95% (92/96) -remote: Compressing objects: 96% (93/96) -remote: Compressing objects: 97% (94/96) -remote: Compressing objects: 98% (95/96) -remote: Compressing objects: 100% (96/96) -remote: Compressing objects: 100% (96/96), done. + remote: Enumerating objects: 421, done. + remote: Counting objects: 0% (1/144) +remote: Counting objects: 1% (2/144) +remote: Counting objects: 2% (3/144) +remote: Counting objects: 3% (5/144) +remote: Counting objects: 4% (6/144) +remote: Counting objects: 5% (8/144) +remote: Counting objects: 6% (9/144) +remote: Counting objects: 7% (11/144) +remote: Counting objects: 8% (12/144) +remote: Counting objects: 9% (13/144) +remote: Counting objects: 10% (15/144) +remote: Counting objects: 11% (16/144) +remote: Counting objects: 12% (18/144) +remote: Counting objects: 13% (19/144) +remote: Counting objects: 14% (21/144) +remote: Counting objects: 15% (22/144) +remote: Counting objects: 16% (24/144) +remote: Counting objects: 17% (25/144) +remote: Counting objects: 18% (26/144) +remote: Counting objects: 19% (28/144) +remote: Counting objects: 20% (29/144) +remote: Counting objects: 21% (31/144) +remote: Counting objects: 22% (32/144) +remote: Counting objects: 23% (34/144) +remote: Counting objects: 24% (35/144) +remote: Counting objects: 25% (36/144) +remote: Counting objects: 26% (38/144) +remote: Counting objects: 27% (39/144) +remote: Counting objects: 28% (41/144) +remote: Counting objects: 29% (42/144) +remote: Counting objects: 30% (44/144) +remote: Counting objects: 31% (45/144) +remote: Counting objects: 32% (47/144) +remote: Counting objects: 33% (48/144) +remote: Counting objects: 34% (49/144) +remote: Counting objects: 35% (51/144) +remote: Counting objects: 36% (52/144) +remote: Counting objects: 37% (54/144) +remote: Counting objects: 38% (55/144) +remote: Counting objects: 39% (57/144) +remote: Counting objects: 40% (58/144) +remote: Counting objects: 41% (60/144) +remote: Counting objects: 42% (61/144) +remote: Counting objects: 43% (62/144) +remote: Counting objects: 44% (64/144) +remote: Counting objects: 45% (65/144) +remote: Counting objects: 46% (67/144) +remote: Counting objects: 47% (68/144) +remote: Counting objects: 48% (70/144) +remote: Counting objects: 49% (71/144) +remote: Counting objects: 50% (72/144) +remote: Counting objects: 51% (74/144) +remote: Counting objects: 52% (75/144) +remote: Counting objects: 53% (77/144) +remote: Counting objects: 54% (78/144) +remote: Counting objects: 55% (80/144) +remote: Counting objects: 56% (81/144) +remote: Counting objects: 57% (83/144) +remote: Counting objects: 58% (84/144) +remote: Counting objects: 59% (85/144) +remote: Counting objects: 60% (87/144) +remote: Counting objects: 61% (88/144) +remote: Counting objects: 62% (90/144) +remote: Counting objects: 63% (91/144) +remote: Counting objects: 64% (93/144) +remote: Counting objects: 65% (94/144) +remote: Counting objects: 66% (96/144) +remote: Counting objects: 67% (97/144) +remote: Counting objects: 68% (98/144) +remote: Counting objects: 69% (100/144) +remote: Counting objects: 70% (101/144) +remote: Counting objects: 71% (103/144) +remote: Counting objects: 72% (104/144) +remote: Counting objects: 73% (106/144) +remote: Counting objects: 74% (107/144) +remote: Counting objects: 75% (108/144) +remote: Counting objects: 76% (110/144) +remote: Counting objects: 77% (111/144) +remote: Counting objects: 78% (113/144) +remote: Counting objects: 79% (114/144) +remote: Counting objects: 80% (116/144) +remote: Counting objects: 81% (117/144) +remote: Counting objects: 82% (119/144) +remote: Counting objects: 83% (120/144) +remote: Counting objects: 84% (121/144) +remote: Counting objects: 85% (123/144) +remote: Counting objects: 86% (124/144) +remote: Counting objects: 87% (126/144) +remote: Counting objects: 88% (127/144) +remote: Counting objects: 89% (129/144) +remote: Counting objects: 90% (130/144) +remote: Counting objects: 91% (132/144) +remote: Counting objects: 92% (133/144) +remote: Counting objects: 93% (134/144) +remote: Counting objects: 94% (136/144) +remote: Counting objects: 95% (137/144) +remote: Counting objects: 96% (139/144) +remote: Counting objects: 97% (140/144) +remote: Counting objects: 98% (142/144) +remote: Counting objects: 99% (143/144) +remote: Counting objects: 100% (144/144) +remote: Counting objects: 100% (144/144), done. + remote: Compressing objects: 0% (1/105) +remote: Compressing objects: 1% (2/105) +remote: Compressing objects: 2% (3/105) +remote: Compressing objects: 3% (4/105) +remote: Compressing objects: 4% (5/105) +remote: Compressing objects: 5% (6/105) +remote: Compressing objects: 6% (7/105) +remote: Compressing objects: 7% (8/105) +remote: Compressing objects: 8% (9/105) +remote: Compressing objects: 9% (10/105) +remote: Compressing objects: 10% (11/105) +remote: Compressing objects: 11% (12/105) +remote: Compressing objects: 12% (13/105) +remote: Compressing objects: 13% (14/105) +remote: Compressing objects: 14% (15/105) +remote: Compressing objects: 15% (16/105) +remote: Compressing objects: 16% (17/105) +remote: Compressing objects: 17% (18/105) +remote: Compressing objects: 18% (19/105) +remote: Compressing objects: 19% (20/105) +remote: Compressing objects: 20% (21/105) +remote: Compressing objects: 21% (23/105) +remote: Compressing objects: 22% (24/105) +remote: Compressing objects: 23% (25/105) +remote: Compressing objects: 24% (26/105) +remote: Compressing objects: 25% (27/105) +remote: Compressing objects: 26% (28/105) +remote: Compressing objects: 27% (29/105) +remote: Compressing objects: 28% (30/105) +remote: Compressing objects: 29% (31/105) +remote: Compressing objects: 30% (32/105) +remote: Compressing objects: 31% (33/105) +remote: Compressing objects: 32% (34/105) +remote: Compressing objects: 33% (35/105) +remote: Compressing objects: 34% (36/105) +remote: Compressing objects: 35% (37/105) +remote: Compressing objects: 36% (38/105) +remote: Compressing objects: 37% (39/105) +remote: Compressing objects: 38% (40/105) +remote: Compressing objects: 39% (41/105) +remote: Compressing objects: 40% (42/105) +remote: Compressing objects: 41% (44/105) +remote: Compressing objects: 42% (45/105) +remote: Compressing objects: 43% (46/105) +remote: Compressing objects: 44% (47/105) +remote: Compressing objects: 45% (48/105) +remote: Compressing objects: 46% (49/105) +remote: Compressing objects: 47% (50/105) +remote: Compressing objects: 48% (51/105) +remote: Compressing objects: 49% (52/105) +remote: Compressing objects: 50% (53/105) +remote: Compressing objects: 51% (54/105) +remote: Compressing objects: 52% (55/105) +remote: Compressing objects: 53% (56/105) +remote: Compressing objects: 54% (57/105) +remote: Compressing objects: 55% (58/105) +remote: Compressing objects: 56% (59/105) +remote: Compressing objects: 57% (60/105) +remote: Compressing objects: 58% (61/105) +remote: Compressing objects: 59% (62/105) +remote: Compressing objects: 60% (63/105) +remote: Compressing objects: 61% (65/105) +remote: Compressing objects: 62% (66/105) +remote: Compressing objects: 63% (67/105) +remote: Compressing objects: 64% (68/105) +remote: Compressing objects: 65% (69/105) +remote: Compressing objects: 66% (70/105) +remote: Compressing objects: 67% (71/105) +remote: Compressing objects: 68% (72/105) +remote: Compressing objects: 69% (73/105) +remote: Compressing objects: 70% (74/105) +remote: Compressing objects: 71% (75/105) +remote: Compressing objects: 72% (76/105) +remote: Compressing objects: 73% (77/105) +remote: Compressing objects: 74% (78/105) +remote: Compressing objects: 75% (79/105) +remote: Compressing objects: 76% (80/105) +remote: Compressing objects: 77% (81/105) +remote: Compressing objects: 78% (82/105) +remote: Compressing objects: 79% (83/105) +remote: Compressing objects: 80% (84/105) +remote: Compressing objects: 81% (86/105) +remote: Compressing objects: 82% (87/105) +remote: Compressing objects: 83% (88/105) +remote: Compressing objects: 84% (89/105) +remote: Compressing objects: 85% (90/105) +remote: Compressing objects: 86% (91/105) +remote: Compressing objects: 87% (92/105) +remote: Compressing objects: 88% (93/105) +remote: Compressing objects: 89% (94/105) +remote: Compressing objects: 90% (95/105) +remote: Compressing objects: 91% (96/105) +remote: Compressing objects: 92% (97/105) +remote: Compressing objects: 93% (98/105) +remote: Compressing objects: 94% (99/105) +remote: Compressing objects: 95% (100/105) +remote: Compressing objects: 96% (101/105) +remote: Compressing objects: 97% (102/105) +remote: Compressing objects: 98% (103/105) +remote: Compressing objects: 99% (104/105) +remote: Compressing objects: 100% (105/105) +remote: Compressing objects: 100% (105/105), done. .. parsed-literal:: - Receiving objects: 0% (1/412) + Receiving objects: 0% (1/421) .. parsed-literal:: - Receiving objects: 1% (5/412), 11.29 MiB | 22.58 MiB/s + Receiving objects: 1% (5/421), 10.76 MiB | 21.55 MiB/s .. parsed-literal:: - Receiving objects: 1% (8/412), 23.78 MiB | 23.77 MiB/s + Receiving objects: 1% (8/421), 19.25 MiB | 19.12 MiB/s .. parsed-literal:: - Receiving objects: 2% (9/412), 23.78 MiB | 23.77 MiB/s + Receiving objects: 2% (9/421), 19.25 MiB | 19.12 MiB/s .. parsed-literal:: - Receiving objects: 3% (13/412), 23.78 MiB | 23.77 MiB/s + Receiving objects: 3% (13/421), 31.03 MiB | 20.47 MiB/s .. parsed-literal:: - Receiving objects: 4% (17/412), 36.27 MiB | 24.15 MiB/s + Receiving objects: 4% (17/421), 31.03 MiB | 20.47 MiB/s .. parsed-literal:: - Receiving objects: 4% (19/412), 49.09 MiB | 24.48 MiB/s + Receiving objects: 4% (19/421), 43.39 MiB | 21.41 MiB/s .. parsed-literal:: - Receiving objects: 5% (21/412), 49.09 MiB | 24.48 MiB/s + Receiving objects: 5% (22/421), 56.34 MiB | 22.23 MiB/s .. parsed-literal:: - Receiving objects: 6% (25/412), 61.89 MiB | 24.70 MiB/s + Receiving objects: 5% (25/421), 56.34 MiB | 22.23 MiB/s .. parsed-literal:: - Receiving objects: 7% (29/412), 61.89 MiB | 24.70 MiB/s + Receiving objects: 6% (26/421), 56.34 MiB | 22.23 MiB/s .. parsed-literal:: - Receiving objects: 8% (33/412), 61.89 MiB | 24.70 MiB/s + Receiving objects: 7% (30/421), 69.25 MiB | 22.74 MiB/s .. parsed-literal:: - Receiving objects: 8% (33/412), 74.70 MiB | 24.81 MiB/s + Receiving objects: 8% (34/421), 69.25 MiB | 22.74 MiB/s .. parsed-literal:: - Receiving objects: 9% (38/412), 87.74 MiB | 24.97 MiB/s + Receiving objects: 8% (37/421), 82.28 MiB | 22.91 MiB/s +Receiving objects: 9% (38/421), 82.28 MiB | 22.91 MiB/s .. parsed-literal:: - Receiving objects: 9% (40/412), 100.92 MiB | 25.09 MiB/s + Receiving objects: 10% (43/421), 110.97 MiB | 24.17 MiB/s .. parsed-literal:: - Receiving objects: 10% (42/412), 114.27 MiB | 25.27 MiB/s -Receiving objects: 11% (46/412), 114.27 MiB | 25.27 MiB/s + Receiving objects: 11% (47/421), 110.97 MiB | 24.17 MiB/s .. parsed-literal:: - Receiving objects: 11% (49/412), 127.68 MiB | 25.72 MiB/s -Receiving objects: 12% (50/412), 127.68 MiB | 25.72 MiB/s + Receiving objects: 11% (49/421), 124.93 MiB | 24.86 MiB/s .. parsed-literal:: - Receiving objects: 13% (54/412), 127.68 MiB | 25.72 MiB/s + Receiving objects: 12% (51/421), 124.93 MiB | 24.86 MiB/s .. parsed-literal:: - Receiving objects: 14% (58/412), 127.68 MiB | 25.72 MiB/s + Receiving objects: 13% (55/421), 124.93 MiB | 24.86 MiB/s .. parsed-literal:: - Receiving objects: 14% (61/412), 155.21 MiB | 26.27 MiB/s + Receiving objects: 14% (59/421), 139.53 MiB | 26.18 MiB/s .. parsed-literal:: - Receiving objects: 15% (62/412), 155.21 MiB | 26.27 MiB/s + Receiving objects: 14% (60/421), 152.32 MiB | 26.35 MiB/s .. parsed-literal:: - Receiving objects: 16% (66/412), 169.30 MiB | 26.55 MiB/s + Receiving objects: 15% (64/421), 167.60 MiB | 26.99 MiB/s .. parsed-literal:: - Receiving objects: 16% (67/412), 183.34 MiB | 26.82 MiB/s + Receiving objects: 15% (66/421), 167.60 MiB | 26.99 MiB/s .. parsed-literal:: - Receiving objects: 17% (71/412), 183.34 MiB | 26.82 MiB/s -Receiving objects: 18% (75/412), 183.34 MiB | 26.82 MiB/s + Receiving objects: 16% (68/421), 183.43 MiB | 27.60 MiB/s .. parsed-literal:: - Receiving objects: 19% (79/412), 197.58 MiB | 27.15 MiB/s + Receiving objects: 17% (72/421), 183.43 MiB | 27.60 MiB/s .. parsed-literal:: - Receiving objects: 20% (83/412), 197.58 MiB | 27.15 MiB/s -Receiving objects: 21% (87/412), 197.58 MiB | 27.15 MiB/s + Receiving objects: 18% (76/421), 183.43 MiB | 27.60 MiB/s .. parsed-literal:: - Receiving objects: 21% (88/412), 211.98 MiB | 27.45 MiB/s + Receiving objects: 19% (80/421), 200.00 MiB | 28.39 MiB/s .. parsed-literal:: - Receiving objects: 22% (91/412), 211.98 MiB | 27.45 MiB/s -Receiving objects: 23% (95/412), 211.98 MiB | 27.45 MiB/s -Receiving objects: 24% (99/412), 211.98 MiB | 27.45 MiB/s -Receiving objects: 25% (103/412), 211.98 MiB | 27.45 MiB/s + Receiving objects: 20% (85/421), 200.00 MiB | 28.39 MiB/s .. parsed-literal:: - Receiving objects: 26% (108/412), 211.98 MiB | 27.45 MiB/s -Receiving objects: 27% (112/412), 211.98 MiB | 27.45 MiB/s -Receiving objects: 28% (116/412), 211.98 MiB | 27.45 MiB/s + Receiving objects: 20% (88/421), 216.59 MiB | 29.40 MiB/s .. parsed-literal:: - Receiving objects: 29% (120/412), 226.54 MiB | 27.82 MiB/s + Receiving objects: 21% (89/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 22% (93/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 23% (97/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 24% (102/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 25% (106/421), 216.59 MiB | 29.40 MiB/s .. parsed-literal:: - Receiving objects: 30% (124/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 31% (128/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 32% (132/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 33% (136/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 34% (141/412), 226.54 MiB | 27.82 MiB/s + Receiving objects: 26% (110/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 27% (114/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 28% (118/421), 216.59 MiB | 29.40 MiB/s .. parsed-literal:: - Receiving objects: 35% (145/412), 226.54 MiB | 27.82 MiB/s + Receiving objects: 29% (123/421), 216.59 MiB | 29.40 MiB/s .. parsed-literal:: - Receiving objects: 36% (149/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 37% (153/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 38% (157/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 39% (161/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 40% (165/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 41% (169/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 42% (174/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 43% (178/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 44% (182/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 45% (186/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 46% (190/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 47% (194/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 48% (198/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 49% (202/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 50% (206/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 51% (211/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 52% (215/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 53% (219/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 54% (223/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 55% (227/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 56% (231/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 57% (235/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 58% (239/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 59% (244/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 60% (248/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 61% (252/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 62% (256/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 63% (260/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 64% (264/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 65% (268/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 66% (272/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 67% (277/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 68% (281/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 69% (285/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 70% (289/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 71% (293/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 72% (297/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 73% (301/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 74% (305/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 75% (309/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 76% (314/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 77% (318/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 78% (322/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 79% (326/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 80% (330/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 81% (334/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 82% (338/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 83% (342/412), 226.54 MiB | 27.82 MiB/s -remote: Total 412 (delta 95), reused 39 (delta 39), pack-reused 277 - Receiving objects: 84% (347/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 85% (351/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 86% (355/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 87% (359/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 88% (363/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 89% (367/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 90% (371/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 91% (375/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 92% (380/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 93% (384/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 94% (388/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 95% (392/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 96% (396/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 97% (400/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 98% (404/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 99% (408/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 100% (412/412), 226.54 MiB | 27.82 MiB/s -Receiving objects: 100% (412/412), 237.89 MiB | 26.66 MiB/s, done. - Resolving deltas: 0% (0/138) -Resolving deltas: 1% (2/138) -Resolving deltas: 2% (3/138) -Resolving deltas: 3% (5/138) -Resolving deltas: 4% (6/138) -Resolving deltas: 5% (8/138) -Resolving deltas: 7% (10/138) -Resolving deltas: 8% (12/138) -Resolving deltas: 10% (14/138) -Resolving deltas: 13% (19/138) -Resolving deltas: 17% (24/138) -Resolving deltas: 22% (31/138) -Resolving deltas: 26% (36/138) -Resolving deltas: 28% (39/138) -Resolving deltas: 29% (41/138) -Resolving deltas: 30% (42/138) -Resolving deltas: 31% (43/138) -Resolving deltas: 40% (56/138) -Resolving deltas: 43% (60/138) -Resolving deltas: 45% (63/138) -Resolving deltas: 47% (66/138) -Resolving deltas: 48% (67/138) -Resolving deltas: 52% (73/138) -Resolving deltas: 62% (86/138) -Resolving deltas: 67% (93/138) -Resolving deltas: 71% (98/138) -Resolving deltas: 72% (100/138) -Resolving deltas: 73% (101/138) -Resolving deltas: 75% (104/138) -Resolving deltas: 78% (108/138) -Resolving deltas: 79% (110/138) -Resolving deltas: 84% (116/138) -Resolving deltas: 85% (118/138) -Resolving deltas: 86% (119/138) -Resolving deltas: 100% (138/138) -Resolving deltas: 100% (138/138), done. + Receiving objects: 30% (127/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 31% (131/421), 216.59 MiB | 29.40 MiB/s + +.. parsed-literal:: + + Receiving objects: 32% (135/421), 216.59 MiB | 29.40 MiB/s +Receiving objects: 33% (139/421), 216.59 MiB | 29.40 MiB/s + +.. parsed-literal:: + + Receiving objects: 34% (144/421), 233.69 MiB | 29.70 MiB/s + +.. parsed-literal:: + + Receiving objects: 35% (148/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 36% (152/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 37% (156/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 38% (160/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 39% (165/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 40% (169/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 41% (173/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 42% (177/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 43% (182/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 44% (186/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 45% (190/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 46% (194/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 47% (198/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 48% (203/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 49% (207/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 50% (211/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 51% (215/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 52% (219/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 53% (224/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 54% (228/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 55% (232/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 56% (236/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 57% (240/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 58% (245/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 59% (249/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 60% (253/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 61% (257/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 62% (262/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 63% (266/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 64% (270/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 65% (274/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 66% (278/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 67% (283/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 68% (287/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 69% (291/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 70% (295/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 71% (299/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 72% (304/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 73% (308/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 74% (312/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 75% (316/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 76% (320/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 77% (325/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 78% (329/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 79% (333/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 80% (337/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 81% (342/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 82% (346/421), 233.69 MiB | 29.70 MiB/s +remote: Total 421 (delta 101), reused 40 (delta 39), pack-reused 277 + Receiving objects: 83% (350/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 84% (354/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 85% (358/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 86% (363/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 87% (367/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 88% (371/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 89% (375/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 90% (379/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 91% (384/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 92% (388/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 93% (392/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 94% (396/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 95% (400/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 96% (405/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 97% (409/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 98% (413/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 99% (417/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 100% (421/421), 233.69 MiB | 29.70 MiB/s +Receiving objects: 100% (421/421), 237.89 MiB | 27.05 MiB/s, done. + Resolving deltas: 0% (0/144) +Resolving deltas: 1% (2/144) +Resolving deltas: 2% (3/144) +Resolving deltas: 4% (6/144) +Resolving deltas: 5% (8/144) +Resolving deltas: 6% (10/144) +Resolving deltas: 7% (11/144) +Resolving deltas: 8% (12/144) +Resolving deltas: 9% (14/144) +Resolving deltas: 13% (19/144) +Resolving deltas: 16% (24/144) +Resolving deltas: 21% (31/144) +Resolving deltas: 25% (36/144) +Resolving deltas: 27% (39/144) +Resolving deltas: 28% (41/144) +Resolving deltas: 29% (42/144) +Resolving deltas: 40% (58/144) +Resolving deltas: 41% (60/144) +Resolving deltas: 43% (63/144) +Resolving deltas: 46% (67/144) +Resolving deltas: 49% (71/144) +Resolving deltas: 50% (72/144) +Resolving deltas: 65% (94/144) +Resolving deltas: 66% (96/144) +Resolving deltas: 70% (102/144) +Resolving deltas: 71% (103/144) +Resolving deltas: 72% (104/144) +Resolving deltas: 74% (107/144) +Resolving deltas: 77% (111/144) +Resolving deltas: 78% (113/144) +Resolving deltas: 81% (118/144) +Resolving deltas: 83% (120/144) +Resolving deltas: 84% (121/144) +Resolving deltas: 100% (144/144) +Resolving deltas: 100% (144/144), done. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/280-depth-anything/Depth-Anything + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/depth-anything/Depth-Anything .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - + Note: you may need to restart the kernel to use updated packages. + .. parsed-literal:: - ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - optimum-intel 1.16.0.dev0 requires transformers<4.39.0,>=4.36.0, but you have transformers 4.34.1 which is incompatible. - pyannote-audio 2.0.1 requires torchaudio<1.0,>=0.10, but you have torchaudio 2.2.1+cpu which is incompatible. - tokenizers 0.14.1 requires huggingface_hub<0.18,>=0.16.4, but you have huggingface-hub 0.21.4 which is incompatible. + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -550,7 +560,7 @@ Resolving deltas: 100% (138/138), done. .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -558,21 +568,6 @@ Resolving deltas: 100% (138/138), done. Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -593,7 +588,7 @@ attention optimizations first. if not orig_attention_path.exists(): attention_file_path.rename(orig_attention_path) - + with orig_attention_path.open("r") as f: data = f.read() data = data.replace("XFORMERS_AVAILABLE = True", "XFORMERS_AVAILABLE = False") @@ -614,9 +609,9 @@ DepthAnything family. from depth_anything.dpt import DepthAnything - encoder = 'vits' # can also be 'vitb' or 'vitl' - model_id = 'depth_anything_{:}14'.format(encoder) - depth_anything = DepthAnything.from_pretrained(f'LiheYoung/{model_id}') + encoder = "vits" # can also be 'vitb' or 'vitl' + model_id = "depth_anything_{:}14".format(encoder) + depth_anything = DepthAnything.from_pretrained(f"LiheYoung/{model_id}") .. parsed-literal:: @@ -636,17 +631,21 @@ Prepare input data .. code:: ipython3 - import urllib.request from PIL import Image + import requests - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file - download_file("https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/3f779fc1-c1b2-4dec-915a-64dae510a2bb", "furseal.png") + download_file( + "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/3f779fc1-c1b2-4dec-915a-64dae510a2bb", + "furseal.png", + ) Image.open("furseal.png").resize((600, 400)) @@ -659,7 +658,7 @@ Prepare input data -.. image:: 280-depth-anything-with-output_files/280-depth-anything-with-output_9_1.png +.. image:: depth-anything-with-output_files/depth-anything-with-output_9_1.png @@ -676,23 +675,25 @@ range. import cv2 import torch - transform = Compose([ - Resize( - width=518, - height=518, - resize_target=False, - ensure_multiple_of=14, - resize_method='lower_bound', - image_interpolation_method=cv2.INTER_CUBIC, - ), - NormalizeImage(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), - PrepareForNet(), - ]) + transform = Compose( + [ + Resize( + width=518, + height=518, + resize_target=False, + ensure_multiple_of=14, + resize_method="lower_bound", + image_interpolation_method=cv2.INTER_CUBIC, + ), + NormalizeImage(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), + PrepareForNet(), + ] + ) - image = cv2.cvtColor(cv2.imread('furseal.png'), cv2.COLOR_BGR2RGB) / 255.0 + image = cv2.cvtColor(cv2.imread("furseal.png"), cv2.COLOR_BGR2RGB) / 255.0 h, w = image.shape[:-1] - image = transform({'image': image})['image'] + image = transform({"image": image})["image"] image = torch.from_numpy(image).unsqueeze(0) Run model inference @@ -717,9 +718,9 @@ image size and prepare it for visualization. import torch.nn.functional as F import numpy as np - depth = F.interpolate(depth[None], (h, w), mode='bilinear', align_corners=False)[0, 0] + depth = F.interpolate(depth[None], (h, w), mode="bilinear", align_corners=False)[0, 0] depth = (depth - depth.min()) / (depth.max() - depth.min()) * 255.0 - + depth = depth.cpu().detach().numpy().astype(np.uint8) depth_color = cv2.applyColorMap(depth, cv2.COLORMAP_INFERNO) @@ -731,7 +732,7 @@ image size and prepare it for visualization. -.. image:: 280-depth-anything-with-output_files/280-depth-anything-with-output_16_0.png +.. image:: depth-anything-with-output_files/depth-anything-with-output_16_0.png Convert Model to OpenVINO IR format @@ -751,7 +752,7 @@ loading on device using ``core.complie_model``. import openvino as ov - OV_DEPTH_ANYTHING_PATH = Path(f'{model_id}.xml') + OV_DEPTH_ANYTHING_PATH = Path(f"{model_id}.xml") if not OV_DEPTH_ANYTHING_PATH.exists(): ov_model = ov.convert_model(depth_anything, example_input=image, input=[1, 3, 518, 518]) @@ -760,17 +761,17 @@ loading on device using ``core.complie_model``. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/280-depth-anything/Depth-Anything/torchhub/facebookresearch_dinov2_main/dinov2/layers/patch_embed.py:73: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/depth-anything/Depth-Anything/torchhub/facebookresearch_dinov2_main/dinov2/layers/patch_embed.py:73: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert H % patch_H == 0, f"Input image height {H} is not a multiple of patch height {patch_H}" - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/280-depth-anything/Depth-Anything/torchhub/facebookresearch_dinov2_main/dinov2/layers/patch_embed.py:74: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/depth-anything/Depth-Anything/torchhub/facebookresearch_dinov2_main/dinov2/layers/patch_embed.py:74: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert W % patch_W == 0, f"Input image width {W} is not a multiple of patch width: {patch_W}" - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/280-depth-anything/Depth-Anything/torchhub/facebookresearch_dinov2_main/vision_transformer.py:183: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/depth-anything/Depth-Anything/torchhub/facebookresearch_dinov2_main/vision_transformer.py:183: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if npatch == N and w == h: .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/280-depth-anything/Depth-Anything/depth_anything/dpt.py:133: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/depth-anything/Depth-Anything/depth_anything/dpt.py:133: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! out = F.interpolate(out, (int(patch_h * 14), int(patch_w * 14)), mode="bilinear", align_corners=True) @@ -836,6 +837,7 @@ Run inference on image depth_color = cv2.applyColorMap(depth, cv2.COLORMAP_INFERNO) return depth_color + depth_color = get_depth_map(res) .. code:: ipython3 @@ -844,7 +846,7 @@ Run inference on image -.. image:: 280-depth-anything-with-output_files/280-depth-anything-with-output_25_0.png +.. image:: depth-anything-with-output_files/depth-anything-with-output_25_0.png Run inference on video @@ -854,7 +856,10 @@ Run inference on video .. code:: ipython3 - download_file("https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/Coco%20Walking%20in%20Berkeley.mp4", "./Coco Walking in Berkeley.mp4") + download_file( + "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/Coco%20Walking%20in%20Berkeley.mp4", + "./Coco Walking in Berkeley.mp4", + ) VIDEO_FILE = "./Coco Walking in Berkeley.mp4" # Number of seconds of input video to process. Set `NUM_SECONDS` to 0 to process @@ -900,10 +905,7 @@ Run inference on video target_frame_width = int(input_video_frame_width * SCALE_OUTPUT) cap.release() - print( - f"The input video has a frame width of {input_video_frame_width}, " - f"frame height of {input_video_frame_height} and runs at {input_fps:.2f} fps" - ) + print(f"The input video has a frame width of {input_video_frame_width}, " f"frame height of {input_video_frame_height} and runs at {input_fps:.2f} fps") print( "The output video will be scaled with a factor " f"{SCALE_OUTPUT}, have width {target_frame_width}, " @@ -960,6 +962,7 @@ Run inference on video display, ) + def process_video(compiled_model, video_file, result_video_path): # Initialize variables. input_video_frame_nr = 0 @@ -994,7 +997,7 @@ Run inference on video h, w = image.shape[:-1] input_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) / 255.0 - input_image = transform({'image': input_image})['image'] + input_image = transform({"image": input_image})["image"] # Reshape the image to network input shape NCHW. input_image = np.expand_dims(input_image, 0) @@ -1060,7 +1063,7 @@ Run inference on video .. parsed-literal:: - Processed 60 frames in 13.18 seconds. Total FPS (including video processing): 4.55.Inference FPS: 10.71 + Processed 60 frames in 13.27 seconds. Total FPS (including video processing): 4.52.Inference FPS: 10.65 Video saved to 'output/Coco Walking in Berkeley_depth_anything.mp4'. @@ -1073,10 +1076,7 @@ Run inference on video raise ValueError("OpenCV was unable to write the video file. Showing one video frame.") else: print(f"Showing video saved at\n{result_video_path.resolve()}") - print( - "If you cannot see the video in your browser, please click on the " - "following link to download the video " - ) + print("If you cannot see the video in your browser, please click on the " "following link to download the video ") video_link = FileLink(result_video_path) video_link.html_link_str = "%s" display(HTML(video_link._repr_html_())) @@ -1090,7 +1090,7 @@ Run inference on video .. parsed-literal:: Showing video saved at - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/280-depth-anything/Depth-Anything/output/Coco Walking in Berkeley_depth_anything.mp4 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/depth-anything/Depth-Anything/output/Coco Walking in Berkeley_depth_anything.mp4 If you cannot see the video in your browser, please click on the following link to download the video @@ -1134,7 +1134,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -1151,10 +1151,13 @@ improve model inference speed. .. code:: ipython3 - import sys - sys.path.append("../../utils") + # Fetch `skip_kernel_extension` module + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) - OV_DEPTH_ANYTHING_INT8_PATH = Path(f'{model_id}_int8.xml') + OV_DEPTH_ANYTHING_INT8_PATH = Path(f"{model_id}_int8.xml") %load_ext skip_kernel_extension @@ -1224,14 +1227,14 @@ quantization code below may take some time. .. parsed-literal:: - 2024-03-13 00:23:02.898107: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:23:02.930029: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:32:53.792726: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:32:53.826550: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:23:03.531201: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:32:54.388126: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT @@ -1309,7 +1312,7 @@ quantization code below may take some time. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply return Tensor(self.data * unwrap_tensor_data(other)) @@ -1391,7 +1394,7 @@ data. -.. image:: 280-depth-anything-with-output_files/280-depth-anything-with-output_44_0.png +.. image:: depth-anything-with-output_files/depth-anything-with-output_44_0.png .. code:: ipython3 @@ -1405,10 +1408,10 @@ data. .. parsed-literal:: - Processed 60 frames in 12.72 seconds. Total FPS (including video processing): 4.72.Inference FPS: 12.84 + Processed 60 frames in 12.69 seconds. Total FPS (including video processing): 4.73.Inference FPS: 12.74 Video saved to 'output/Coco Walking in Berkeley_depth_anything_int8.mp4'. Showing video saved at - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/280-depth-anything/Depth-Anything/output/Coco Walking in Berkeley_depth_anything.mp4 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/depth-anything/Depth-Anything/output/Coco Walking in Berkeley_depth_anything.mp4 If you cannot see the video in your browser, please click on the following link to download the video @@ -1468,11 +1471,13 @@ Tool =2024.0.0" --extra-index-url https://download.pytorch.org/whl/cpu "pytorch-lightning" "timm>=0.6.12" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "openvino>=2024.0.0" torch torchvision "pytorch-lightning" "timm>=0.6.12" tqdm + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - googleapis-common-protos 1.63.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 3.20.1 which is incompatible. - onnx 1.15.0 requires protobuf>=3.20.2, but you have protobuf 3.20.1 which is incompatible. - paddlepaddle 2.6.0 requires protobuf>=3.20.2; platform_system != "Windows", but you have protobuf 3.20.1 which is incompatible. - tensorflow 2.12.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 3.20.1 which is incompatible. - tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 3.20.1 which is incompatible. + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -147,6 +138,7 @@ Imports .. code:: ipython3 + import sys import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np @@ -157,10 +149,17 @@ Imports from shutil import rmtree from typing import Optional, Tuple - sys.path.append('../utils') + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file - sys.path.append('vi_depth_utils') + sys.path.append("vi_depth_utils") import data_loader import modules.midas.transforms as transforms import modules.midas.utils as utils @@ -217,16 +216,18 @@ depth prediction model as you will see. .. code:: ipython3 # Base directory in which models would be stored as a pathlib.Path variable - MODEL_DIR = Path('model') + MODEL_DIR = Path("model") # Mapping between depth predictors and the corresponding scale map learners - PREDICTOR_MODEL_MAP = {'dpt_beit_large_512': 'DPT_BEiT_L_512', - 'dpt_swin2_large_384': 'DPT_SwinV2_L_384', - 'dpt_large': 'DPT_Large', - 'dpt_hybrid': 'DPT_Hybrid', - 'dpt_swin2_tiny_256': 'DPT_SwinV2_T_256', - 'dpt_levit_224': 'DPT_LeViT_224', - 'midas_small': 'MiDaS_small'} + PREDICTOR_MODEL_MAP = { + "dpt_beit_large_512": "DPT_BEiT_L_512", + "dpt_swin2_large_384": "DPT_SwinV2_L_384", + "dpt_large": "DPT_Large", + "dpt_hybrid": "DPT_Hybrid", + "dpt_swin2_tiny_256": "DPT_SwinV2_T_256", + "dpt_levit_224": "DPT_LeViT_224", + "midas_small": "MiDaS_small", + } .. code:: ipython3 @@ -235,7 +236,11 @@ depth prediction model as you will see. # Here we will be downloading the SML model corresponding to the MiDaS-small depth predictor for # the checkpoint captured after training on 1500 points of the density level. Suppress errors if the file already exists - download_file('https://github.com/isl-org/VI-Depth/releases/download/v1/sml_model.dpredictor.midas_small.nsamples.1500.ckpt', directory=MODEL_DIR, silent=True) + download_file( + "https://github.com/isl-org/VI-Depth/releases/download/v1/sml_model.dpredictor.midas_small.nsamples.1500.ckpt", + directory=MODEL_DIR, + silent=True, + ) # Take a note of the samples. It would be of major use later on NSAMPLES = 1500 @@ -256,7 +261,7 @@ depth prediction model as you will see. # A utility function for utilising the mapping between depth predictors and # scale map learners so as to download the former - def get_model_for_predictor(depth_predictor: str, remote_repo: str = 'intel-isl/MiDaS') -> str: + def get_model_for_predictor(depth_predictor: str, remote_repo: str = "intel-isl/MiDaS") -> str: """ Download a model from the pre-validated 'isl-org/MiDaS:2.1' set of releases on the GitHub repo while simultaneously trusting the repo permanently @@ -269,13 +274,18 @@ depth prediction model as you will see. # Workaround for avoiding rate limit errors torch.hub._validate_not_a_forked_repo = lambda a, b, c: True - return torch.hub.load(remote_repo, PREDICTOR_MODEL_MAP[depth_predictor], skip_validation=True, trust_repo=True) + return torch.hub.load( + remote_repo, + PREDICTOR_MODEL_MAP[depth_predictor], + skip_validation=True, + trust_repo=True, + ) .. code:: ipython3 # Execute the above function so as to download the MiDaS-small model # and get the output of the model callable in return - depth_model = get_model_for_predictor('midas_small') + depth_model = get_model_for_predictor("midas_small") .. parsed-literal:: @@ -290,7 +300,7 @@ depth prediction model as you will see. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/hub.py:294: UserWarning: You are about to download and run code from an untrusted repository. In a future release, this won't be allowed. To add the repository to your trusted list, change the command to {calling_fn}(..., trust_repo=False) and a command prompt will appear asking for an explicit confirmation of trust, or load(..., trust_repo=True), which will assume that the prompt is to be answered with 'yes'. You can also use load(..., trust_repo='check') which will only prompt for confirmation if the repo is not already trusted. This will eventually be the default behaviour + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/hub.py:294: UserWarning: You are about to download and run code from an untrusted repository. In a future release, this won't be allowed. To add the repository to your trusted list, change the command to {calling_fn}(..., trust_repo=False) and a command prompt will appear asking for an explicit confirmation of trust, or load(..., trust_repo=True), which will assume that the prompt is to be answered with 'yes'. You can also use load(..., trust_repo='check') which will only prompt for confirmation if the repo is not already trusted. This will eventually be the default behaviour warnings.warn( Downloading: "https://github.com/rwightman/gen-efficientnet-pytorch/zipball/master" to model/master.zip @@ -318,87 +328,93 @@ depth prediction model as you will see. .. parsed-literal:: - 3%|▎ | 2.75M/81.8M [00:00<00:05, 16.4MB/s] + 3%|▎ | 2.72M/81.8M [00:00<00:05, 16.1MB/s] .. parsed-literal:: - 9%|▉ | 7.59M/81.8M [00:00<00:02, 32.1MB/s] + 15%|█▌ | 12.4M/81.8M [00:00<00:01, 54.8MB/s] .. parsed-literal:: - 21%|██ | 16.8M/81.8M [00:00<00:01, 57.5MB/s] + 22%|██▏ | 17.6M/81.8M [00:00<00:01, 51.8MB/s] .. parsed-literal:: - 27%|██▋ | 22.3M/81.8M [00:00<00:01, 52.9MB/s] + 28%|██▊ | 22.6M/81.8M [00:00<00:01, 48.7MB/s] .. parsed-literal:: - 33%|███▎ | 27.4M/81.8M [00:00<00:01, 50.4MB/s] + 33%|███▎ | 27.2M/81.8M [00:00<00:01, 47.1MB/s] .. parsed-literal:: - 39%|███▉ | 32.3M/81.8M [00:00<00:01, 42.1MB/s] + 39%|███▉ | 31.8M/81.8M [00:00<00:01, 46.3MB/s] .. parsed-literal:: - 46%|████▋ | 38.0M/81.8M [00:00<00:00, 46.9MB/s] + 44%|████▍ | 36.2M/81.8M [00:00<00:01, 45.3MB/s] .. parsed-literal:: - 52%|█████▏ | 42.7M/81.8M [00:01<00:00, 46.3MB/s] + 50%|████▉ | 40.5M/81.8M [00:00<00:00, 44.9MB/s] .. parsed-literal:: - 58%|█████▊ | 47.3M/81.8M [00:01<00:00, 45.9MB/s] + 55%|█████▍ | 44.8M/81.8M [00:01<00:00, 45.0MB/s] .. parsed-literal:: - 63%|██████▎ | 51.8M/81.8M [00:01<00:00, 45.4MB/s] + 60%|██████ | 49.1M/81.8M [00:01<00:00, 44.8MB/s] .. parsed-literal:: - 69%|██████▊ | 56.2M/81.8M [00:01<00:00, 45.0MB/s] + 65%|██████▌ | 53.5M/81.8M [00:01<00:00, 45.1MB/s] .. parsed-literal:: - 74%|███████▍ | 60.5M/81.8M [00:01<00:00, 41.8MB/s] + 71%|███████ | 57.9M/81.8M [00:01<00:00, 45.3MB/s] .. parsed-literal:: - 79%|███████▉ | 64.6M/81.8M [00:01<00:00, 41.9MB/s] + 76%|███████▌ | 62.2M/81.8M [00:01<00:00, 45.0MB/s] .. parsed-literal:: - 84%|████████▍ | 68.9M/81.8M [00:01<00:00, 42.8MB/s] + 81%|████████▏ | 66.5M/81.8M [00:01<00:00, 44.8MB/s] .. parsed-literal:: - 89%|████████▉ | 73.0M/81.8M [00:01<00:00, 42.6MB/s] + 87%|████████▋ | 70.8M/81.8M [00:01<00:00, 44.7MB/s] .. parsed-literal:: - 94%|█████████▍| 77.1M/81.8M [00:01<00:00, 35.0MB/s] + 92%|█████████▏| 75.1M/81.8M [00:01<00:00, 44.7MB/s] .. parsed-literal:: - 100%|██████████| 81.8M/81.8M [00:01<00:00, 43.0MB/s] + 97%|█████████▋| 79.3M/81.8M [00:01<00:00, 33.3MB/s] + +.. parsed-literal:: + + + 100%|██████████| 81.8M/81.8M [00:02<00:00, 41.9MB/s] + Cleaning up the model directory @@ -415,12 +431,15 @@ process. .. code:: ipython3 # Remove unnecessary directories and files and suppress errors(if any) - rmtree(path=str(MODEL_DIR / 'intel-isl_MiDaS_master'), ignore_errors=True) - rmtree(path=str(MODEL_DIR / 'rwightman_gen-efficientnet-pytorch_master'), ignore_errors=True) - rmtree(path=str(MODEL_DIR / 'checkpoints'), ignore_errors=True) + rmtree(path=str(MODEL_DIR / "intel-isl_MiDaS_master"), ignore_errors=True) + rmtree( + path=str(MODEL_DIR / "rwightman_gen-efficientnet-pytorch_master"), + ignore_errors=True, + ) + rmtree(path=str(MODEL_DIR / "checkpoints"), ignore_errors=True) # Check for the existence of the trusted list file and then remove - list_file = Path(MODEL_DIR / 'trusted_list') + list_file = Path(MODEL_DIR / "trusted_list") if list_file.is_file(): list_file.unlink() @@ -453,13 +472,12 @@ model are always in direct correspondence with each other. :returns: The transformed models as the resut of torchvision.transforms.Compose operations """ model_transforms = transforms.get_transforms(depth_predictor, "void", str(nsamples)) - return model_transforms['depth_model'], model_transforms['sml_model'] + return model_transforms["depth_model"], model_transforms["sml_model"] .. code:: ipython3 # Obtain transforms of both the models here - depth_model_transform, scale_map_learner_transform = get_model_transforms(depth_predictor='midas_small', - nsamples=NSAMPLES) + depth_model_transform, scale_map_learner_transform = get_model_transforms(depth_predictor="midas_small", nsamples=NSAMPLES) Dummy input creation ^^^^^^^^^^^^^^^^^^^^ @@ -490,23 +508,33 @@ dataset .. code:: ipython3 # Base directory in which data would be stored as a pathlib.Path variable - DATA_DIR = Path('data') + DATA_DIR = Path("data") # Create the data directory tree adjacent to the notebook and suppress errors if the directory already exists # Create a directory each for the images and their corresponding depth maps DATA_DIR.mkdir(exist_ok=True) - Path(DATA_DIR / 'image').mkdir(exist_ok=True) - Path(DATA_DIR / 'sparse_depth').mkdir(exist_ok=True) + Path(DATA_DIR / "image").mkdir(exist_ok=True) + Path(DATA_DIR / "sparse_depth").mkdir(exist_ok=True) # Download the dummy image and its depth scale (take a note of the image hashes for possible later use) # On the fly download is being done to avoid unnecessary memory/data load during testing and # creation of PRs - download_file('https://user-images.githubusercontent.com/22426058/254174385-161b9f0e-5991-4308-ba89-d81bc02bcb7c.png', filename='dummy_img.png', directory=Path(DATA_DIR / 'image'), silent=True) - download_file('https://user-images.githubusercontent.com/22426058/254174398-8c71c59f-0adf-43c6-ad13-c04431e02349.png', filename='dummy_depth.png', directory=Path(DATA_DIR / 'sparse_depth'), silent=True) + download_file( + "https://user-images.githubusercontent.com/22426058/254174385-161b9f0e-5991-4308-ba89-d81bc02bcb7c.png", + filename="dummy_img.png", + directory=Path(DATA_DIR / "image"), + silent=True, + ) + download_file( + "https://user-images.githubusercontent.com/22426058/254174398-8c71c59f-0adf-43c6-ad13-c04431e02349.png", + filename="dummy_depth.png", + directory=Path(DATA_DIR / "sparse_depth"), + silent=True, + ) # Load the dummy image and its depth scale - dummy_input = data_loader.load_input_image('data/image/dummy_img.png') - dummy_depth = data_loader.load_sparse_depth('data/sparse_depth/dummy_depth.png') + dummy_input = data_loader.load_input_image("data/image/dummy_img.png") + dummy_depth = data_loader.load_sparse_depth("data/sparse_depth/dummy_depth.png") @@ -523,7 +551,11 @@ dataset .. code:: ipython3 - def transform_image_for_depth(input_image: np.ndarray, depth_model_transform: np.ndarray, device: torch.device = 'cpu') -> torch.Tensor: + def transform_image_for_depth( + input_image: np.ndarray, + depth_model_transform: np.ndarray, + device: torch.device = "cpu", + ) -> torch.Tensor: """ Transform the input_image for processing by a PyTorch depth estimation model @@ -534,9 +566,9 @@ dataset """ input_height, input_width = np.shape(input_image)[:2] - sample = {'image' : input_image} + sample = {"image": input_image} sample = depth_model_transform(sample) - im = sample['image'].to(device) + im = sample["image"].to(device) return im.unsqueeze(0) .. code:: ipython3 @@ -574,10 +606,10 @@ we shall follow the following steps: _ = depth_model(transformed_dummy_image) # convert model to OpenVINO IR - ov_model = ov.convert_model(depth_model, example_input=(transformed_dummy_image, )) + ov_model = ov.convert_model(depth_model, example_input=(transformed_dummy_image,)) # save model for next usage - ov.save_model(ov_model, 'depth_model.xml') + ov.save_model(ov_model, "depth_model.xml") Select inference device ''''''''''''''''''''''' @@ -594,8 +626,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -624,9 +656,12 @@ Now we can go ahead and compile our depth model. .. code:: ipython3 - def run_depth_model(input_image_h: int, input_image_w: int, - transformed_image: torch.Tensor, compiled_depth_model: type_compiled_model) -> np.ndarray: - + def run_depth_model( + input_image_h: int, + input_image_w: int, + transformed_image: torch.Tensor, + compiled_depth_model: type_compiled_model, + ) -> np.ndarray: """ Run the compiled_depth_model on the transformed_image of dimensions input_image_w x input_image_h @@ -649,7 +684,7 @@ Now we can go ahead and compile our depth model. torch.nn.functional.interpolate( depth_pred.unsqueeze(1), size=(input_image_h, input_image_w), - mode='bicubic', + mode="bicubic", align_corners=False, ) .squeeze() @@ -664,8 +699,12 @@ Now we can go ahead and compile our depth model. # Run the compiled depth model using the dummy input # It will be used to compute the metrics associated with the ScaleMapLearner model # and hence obtain a compiled version of the same later - depth_pred_dummy = run_depth_model(input_image_h=IMAGE_H, input_image_w=IMAGE_W, - transformed_image=transformed_dummy_image, compiled_depth_model=compiled_depth_model) + depth_pred_dummy = run_depth_model( + input_image_h=IMAGE_H, + input_image_w=IMAGE_W, + transformed_image=transformed_dummy_image, + compiled_depth_model=compiled_depth_model, + ) Computation of scale and shift parameters ''''''''''''''''''''''''''''''''''''''''' @@ -679,11 +718,15 @@ purpose has already been created. .. code:: ipython3 - def compute_global_scale_and_shift(input_sparse_depth: np.ndarray, validity_map: Optional[np.ndarray], - depth_pred: np.ndarray, - min_pred: float = 0.1, max_pred: float = 8.0, - min_depth: float = 0.2, max_depth: float = 5.0) -> Tuple[np.ndarray, np.ndarray]: - + def compute_global_scale_and_shift( + input_sparse_depth: np.ndarray, + validity_map: Optional[np.ndarray], + depth_pred: np.ndarray, + min_pred: float = 0.1, + max_pred: float = 8.0, + min_depth: float = 0.2, + max_depth: float = 5.0, + ) -> Tuple[np.ndarray, np.ndarray]: """ Compute the global scale and shift alignment required for SML model to work on with the input_sparse_depth map being provided and the depth estimation output depth_pred @@ -711,27 +754,20 @@ purpose has already been created. input_sparse_depth = 1.0 / input_sparse_depth # global scale and shift alignment - GlobalAlignment = LeastSquaresEstimator( - estimate=depth_pred, - target=input_sparse_depth, - valid=input_sparse_depth_valid - ) + GlobalAlignment = LeastSquaresEstimator(estimate=depth_pred, target=input_sparse_depth, valid=input_sparse_depth_valid) GlobalAlignment.compute_scale_and_shift() GlobalAlignment.apply_scale_and_shift() GlobalAlignment.clamp_min_max(clamp_min=min_pred, clamp_max=max_pred) int_depth = GlobalAlignment.output.astype(np.float32) # interpolation of scale map - assert (np.sum(input_sparse_depth_valid) >= 3), 'not enough valid sparse points' + assert np.sum(input_sparse_depth_valid) >= 3, "not enough valid sparse points" ScaleMapInterpolator = Interpolator2D( pred_inv=int_depth, sparse_depth_inv=input_sparse_depth, valid=input_sparse_depth_valid, ) - ScaleMapInterpolator.generate_interpolated_scale_map( - interpolate_method='linear', - fill_corners=False - ) + ScaleMapInterpolator.generate_interpolated_scale_map(interpolate_method="linear", fill_corners=False) int_scales = ScaleMapInterpolator.interpolated_scale_map.astype(np.float32) int_scales = utils.normalize_unit_range(int_scales) @@ -746,9 +782,13 @@ purpose has already been created. .. code:: ipython3 - def transform_image_for_depth_scale(input_image: np.ndarray, scale_map_learner_transform: type_transform_compose, - int_depth: np.ndarray, int_scales: np.ndarray, - device: torch.device = 'cpu') -> Tuple[torch.Tensor, torch.Tensor]: + def transform_image_for_depth_scale( + input_image: np.ndarray, + scale_map_learner_transform: type_transform_compose, + int_depth: np.ndarray, + int_scales: np.ndarray, + device: torch.device = "cpu", + ) -> Tuple[torch.Tensor, torch.Tensor]: """ Transform the input_image for processing by a PyTorch SML model @@ -760,11 +800,16 @@ purpose has already been created. :returns: The transformed tensor inputs suitable to be used with an SML model """ - sample = {'image' : input_image, 'int_depth' : int_depth, 'int_scales' : int_scales, 'int_depth_no_tf' : int_depth} + sample = { + "image": input_image, + "int_depth": int_depth, + "int_scales": int_scales, + "int_depth_no_tf": int_depth, + } sample = scale_map_learner_transform(sample) - x = torch.cat([sample['int_depth'], sample['int_scales']], 0) + x = torch.cat([sample["int_depth"], sample["int_scales"]], 0) x = x.to(device) - d = sample['int_depth_no_tf'].to(device) + d = sample["int_depth_no_tf"].to(device) return x.unsqueeze(0), d.unsqueeze(0) @@ -773,9 +818,12 @@ purpose has already been created. # Transform the dummy input image for the ScaleMapLearner model # Note that this will lead to a tuple as an output. Both the elements # which is fed to ScaleMapLearner during the conversion process to onxx - transformed_dummy_image_scale = transform_image_for_depth_scale(input_image=dummy_input, - scale_map_learner_transform=scale_map_learner_transform, - int_depth=d_depth, int_scales=d_scales) + transformed_dummy_image_scale = transform_image_for_depth_scale( + input_image=dummy_input, + scale_map_learner_transform=scale_map_learner_transform, + int_depth=d_depth, + int_scales=d_scales, + ) Conversion of Scale Map Learner model to OpenVINO IR format ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -814,8 +862,11 @@ common format of all checkpoint files from the model releases. # Run with the same min_pred and max_pred arguments which were used to compute # global scale and shift alignment - scale_map_learner = MidasNet_small_videpth(path=str(MODEL_DIR / 'sml_model.dpredictor.midas_small.nsamples.1500.ckpt'), - min_pred=0.1, max_pred=8.0) + scale_map_learner = MidasNet_small_videpth( + path=str(MODEL_DIR / "sml_model.dpredictor.midas_small.nsamples.1500.ckpt"), + min_pred=0.1, + max_pred=8.0, + ) .. parsed-literal:: @@ -828,27 +879,18 @@ common format of all checkpoint files from the model releases. Downloading: "https://github.com/rwightman/gen-efficientnet-pytorch/zipball/master" to model/master.zip -.. parsed-literal:: - - 2024-03-12 23:58:07.773970: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 23:58:07.806115: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-12 23:58:08.415108: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - .. code:: ipython3 # As usual, since the MidasNet_small_videpthc class internally downloads a repo again from torch hub # we shall clean the same since the model callable is now available to us # Remove unnecessary directories and files and suppress errors(if any) - rmtree(path=str(MODEL_DIR / 'rwightman_gen-efficientnet-pytorch_master'), ignore_errors=True) + rmtree( + path=str(MODEL_DIR / "rwightman_gen-efficientnet-pytorch_master"), + ignore_errors=True, + ) # Check for the existence of the trusted list file and then remove - list_file = Path(MODEL_DIR / 'trusted_list') + list_file = Path(MODEL_DIR / "trusted_list") if list_file.is_file(): list_file.unlink() @@ -869,12 +911,6 @@ common format of all checkpoint files from the model releases. # Save model on disk for next usage ov.save_model(scale_map_learner, "scale_map_learner.xml") - -.. parsed-literal:: - - WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. - - Select inference device ''''''''''''''''''''''' @@ -910,10 +946,12 @@ Now we can go ahead and compile our SML model. .. code:: ipython3 - def run_depth_scale_model(input_image_h: int, input_image_w: int, - transformed_image_for_depth_scale: Tuple[torch.Tensor, torch.Tensor], - compiled_scale_map_learner: type_compiled_model) -> np.ndarray: - + def run_depth_scale_model( + input_image_h: int, + input_image_w: int, + transformed_image_for_depth_scale: Tuple[torch.Tensor, torch.Tensor], + compiled_scale_map_learner: type_compiled_model, + ) -> np.ndarray: """ Run the compiled_scale_map_learner on the transformed image of dimensions input_image_w x input_image_h suitable to be used on such a model @@ -937,7 +975,7 @@ Now we can go ahead and compile our SML model. torch.nn.functional.interpolate( sml_pred, size=(input_image_h, input_image_w), - mode='bicubic', + mode="bicubic", align_corners=False, ) .squeeze() @@ -950,9 +988,12 @@ Now we can go ahead and compile our SML model. .. code:: ipython3 # Run the compiled SML model using the set of dummy inputs - sml_pred_dummy = run_depth_scale_model(input_image_h=IMAGE_H, input_image_w=IMAGE_W, - transformed_image_for_depth_scale=transformed_dummy_image_scale, - compiled_scale_map_learner=compiled_scale_map_learner) + sml_pred_dummy = run_depth_scale_model( + input_image_h=IMAGE_H, + input_image_w=IMAGE_W, + transformed_image_for_depth_scale=transformed_dummy_image_scale, + compiled_scale_map_learner=compiled_scale_map_learner, + ) Storing and visualizing dummy results obtained ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -962,7 +1003,7 @@ Storing and visualizing dummy results obtained .. code:: ipython3 # Base directory in which outputs would be stored as a pathlib.Path variable - OUTPUT_DIR = Path('output') + OUTPUT_DIR = Path("output") # Create the output directory adjacent to the notebook and suppress errors if the directory already exists OUTPUT_DIR.mkdir(exist_ok=True) @@ -970,16 +1011,16 @@ Storing and visualizing dummy results obtained # Utility functions are directly available in modules.midas.utils # Provide path names without any extension and let the write_depth # function provide them for you. Take note of the arguments. - utils.write_depth(path=str(OUTPUT_DIR / 'dummy_input'), depth=d_depth, bits=2) - utils.write_depth(path=str(OUTPUT_DIR / 'dummy_input_sml'), depth=sml_pred_dummy, bits=2) + utils.write_depth(path=str(OUTPUT_DIR / "dummy_input"), depth=d_depth, bits=2) + utils.write_depth(path=str(OUTPUT_DIR / "dummy_input_sml"), depth=sml_pred_dummy, bits=2) .. code:: ipython3 plt.figure() - img_dummy_in = mpimg.imread('data/image/dummy_img.png') - img_dummy_out = mpimg.imread(OUTPUT_DIR / 'dummy_input.png') - img_dummy_sml_out = mpimg.imread(OUTPUT_DIR / 'dummy_input_sml.png') + img_dummy_in = mpimg.imread("data/image/dummy_img.png") + img_dummy_out = mpimg.imread(OUTPUT_DIR / "dummy_input.png") + img_dummy_sml_out = mpimg.imread(OUTPUT_DIR / "dummy_input_sml.png") f, axes = plt.subplots(1, 3) plt.subplots_adjust(right=2.0) @@ -988,9 +1029,9 @@ Storing and visualizing dummy results obtained axes[1].imshow(img_dummy_out) axes[2].imshow(img_dummy_sml_out) - axes[0].set_title('dummy input') - axes[1].set_title('depth prediction on dummy input') - axes[2].set_title('SML on depth estimate') + axes[0].set_title("dummy input") + axes[1].set_title("depth prediction on dummy input") + axes[2].set_title("SML on depth estimate") @@ -1008,7 +1049,7 @@ Storing and visualizing dummy results obtained -.. image:: 246-depth-estimation-videpth-with-output_files/246-depth-estimation-videpth-with-output_48_2.png +.. image:: depth-estimation-videpth-with-output_files/depth-estimation-videpth-with-output_48_2.png Running inference on a test image @@ -1024,7 +1065,7 @@ plotting of the depth map. If you haven’t noticed already the data directory of this tutorial has been arranged as follows. This allows us to comply to these -`rules `__. +`rules `__. .. code:: bash @@ -1062,19 +1103,33 @@ present*\ `here `__ is Facebook AI Research’s library that provides state-of-the-art detection @@ -93,20 +93,20 @@ reading model config. .. code:: ipython3 import detectron2.model_zoo as detectron_zoo - - - def get_model_and_config(model_name:str): + + + def get_model_and_config(model_name: str): """ Helper function for downloading PyTorch model and its configuration from Detectron2 Model Zoo - + Parameters: model_name (str): model_id from Detectron2 Model Zoo Returns: model (torch.nn.Module): Pretrained model instance cfg (Config): Configuration for model """ - cfg = detectron_zoo.get_config(model_name + '.yaml', trained=True) - model = detectron_zoo.get(model_name + '.yaml', trained=True) + cfg = detectron_zoo.get_config(model_name + ".yaml", trained=True) + model = detectron_zoo.get(model_name + ".yaml", trained=True) return model, cfg Detectron2 library is based on PyTorch. Starting from 2023.0 release @@ -131,12 +131,13 @@ simplify model’s structure making it more export-friendly. import openvino as ov import warnings from typing import List, Dict - - def convert_detectron2_model(model:torch.nn.Module, sample_input:List[Dict[str, torch.Tensor]]): + + + def convert_detectron2_model(model: torch.nn.Module, sample_input: List[Dict[str, torch.Tensor]]): """ Function for converting Detectron2 models, creates TracingAdapter for making model tracing-friendly, prepares inputs and converts model to OpenVINO Model - + Parameters: model (torch.nn.Module): Model object for conversion sample_input (List[Dict[str, torch.Tensor]]): sample input for tracing @@ -144,17 +145,19 @@ simplify model’s structure making it more export-friendly. ov_model (ov.Model): OpenVINO Model """ # prepare input for tracing adapter - tracing_input = [{'image': sample_input[0]["image"]}] - + tracing_input = [{"image": sample_input[0]["image"]}] + # override model forward and disable postprocessing if required if isinstance(model, GeneralizedRCNN): + def inference(model, inputs): # use do_postprocess=False so it returns ROI mask inst = model.inference(inputs, do_postprocess=False)[0] return [{"instances": inst}] + else: inference = None # assume that we just call the model directly - + # create traceable model traceable_model = TracingAdapter(model, tracing_input, inference) warnings.filterwarnings("ignore") @@ -176,29 +179,29 @@ steps based on model specific transformations defined in model config. import requests from pathlib import Path from PIL import Image - + MODEL_DIR = Path("model") DATA_DIR = Path("data") - + MODEL_DIR.mkdir(exist_ok=True) DATA_DIR.mkdir(exist_ok=True) - + input_image_url = "https://farm9.staticflickr.com/8040/8017130856_1b46b5f5fc_z.jpg" - + image_file = DATA_DIR / "example_image.jpg" - + if not image_file.exists(): image = Image.open(requests.get(input_image_url, stream=True).raw) image.save(image_file) else: image = Image.open(image_file) - + image -.. image:: 123-detectron2-to-openvino-with-output_files/123-detectron2-to-openvino-with-output_8_0.png +.. image:: detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_8_0.png @@ -207,7 +210,8 @@ steps based on model specific transformations defined in model config. import detectron2.data.transforms as T from detectron2.data import detection_utils import torch - + + def get_sample_inputs(image_path, cfg): # get a sample data original_image = detection_utils.read_image(image_path, format=cfg.INPUT.FORMAT) @@ -216,9 +220,9 @@ steps based on model specific transformations defined in model config. height, width = original_image.shape[:2] image = aug.get_transform(original_image).apply_image(original_image) image = torch.as_tensor(image.astype("float32").transpose(2, 0, 1)) - + inputs = {"image": image, "height": height, "width": width} - + # Sample ready sample_inputs = [inputs] return sample_inputs @@ -240,7 +244,7 @@ Download faster_rcnn_R_50_FPN_1x from Detectron Model Zoo. .. code:: ipython3 - model_name = 'COCO-Detection/faster_rcnn_R_50_FPN_1x' + model_name = "COCO-Detection/faster_rcnn_R_50_FPN_1x" model, cfg = get_model_and_config(model_name) sample_input = get_sample_inputs(image_file, cfg) @@ -256,10 +260,10 @@ directory. .. code:: ipython3 - model_xml_path = MODEL_DIR / (model_name.split("/")[-1] + '.xml') + model_xml_path = MODEL_DIR / (model_name.split("/")[-1] + ".xml") if not model_xml_path.exists(): ov_model = convert_detectron2_model(model, sample_input) - ov.save_model(ov_model, MODEL_DIR / (model_name.split("/")[-1] + '.xml')) + ov.save_model(ov_model, MODEL_DIR / (model_name.split("/")[-1] + ".xml")) else: ov_model = model_xml_path @@ -273,16 +277,16 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 import ipywidgets as widgets - + core = ov.Core() - + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) - + device @@ -334,11 +338,12 @@ provide helpers for wrapping output in original Detectron2 format. from detectron2.utils.visualizer import ColorMode, Visualizer from detectron2.data import MetadataCatalog import numpy as np - - def postprocess_detection_result(outputs:Dict, orig_height:int, orig_width:int, conf_threshold:float = 0.0): + + + def postprocess_detection_result(outputs: Dict, orig_height: int, orig_width: int, conf_threshold: float = 0.0): """ Helper function for postprocessing prediction results - + Parameters: outputs (Dict): OpenVINO model output dictionary orig_height (int): original image height before preprocessing @@ -352,7 +357,10 @@ provide helpers for wrapping output in original Detectron2 format. has_mask = len(outputs) >= 5 masks = None if not has_mask else outputs[2] scores = outputs[2 if not has_mask else 3] - model_input_size = (int(outputs[3 if not has_mask else 4][0]), int(outputs[3 if not has_mask else 4][1])) + model_input_size = ( + int(outputs[3 if not has_mask else 4][0]), + int(outputs[3 if not has_mask else 4][1]), + ) filtered_detections = scores >= conf_threshold boxes = Boxes(boxes[filtered_detections]) scores = scores[filtered_detections] @@ -363,11 +371,12 @@ provide helpers for wrapping output in original Detectron2 format. out_dict["pred_masks"] = torch.from_numpy(masks) instances = Instances(model_input_size, **out_dict) return detector_postprocess(instances, orig_height, orig_width) - - def draw_instance_prediction(img:np.ndarray, results:Instances, cfg:"Config"): + + + def draw_instance_prediction(img: np.ndarray, results: Instances, cfg: "Config"): """ Helper function for visualization prediction results - + Parameters: img (np.ndarray): original image for drawing predictions results (instances): model predictions @@ -380,7 +389,6 @@ provide helpers for wrapping output in original Detectron2 format. img_with_res = visualizer.draw_instance_predictions(results) return img_with_res - .. code:: ipython3 results = postprocess_detection_result(results, sample_input[0]["height"], sample_input[0]["width"], conf_threshold=0.05) @@ -390,7 +398,7 @@ provide helpers for wrapping output in original Detectron2 format. -.. image:: 123-detectron2-to-openvino-with-output_files/123-detectron2-to-openvino-with-output_22_0.png +.. image:: detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_22_0.png @@ -422,11 +430,11 @@ Convert Instance Segmentation Model to OpenVINO Intermediate Representation .. code:: ipython3 - model_xml_path = MODEL_DIR / (model_name.split("/")[-1] + '.xml') - + model_xml_path = MODEL_DIR / (model_name.split("/")[-1] + ".xml") + if not model_xml_path.exists(): ov_model = convert_detectron2_model(model, sample_input) - ov.save_model(ov_model, MODEL_DIR / (model_name.split("/")[-1] + '.xml')) + ov.save_model(ov_model, MODEL_DIR / (model_name.split("/")[-1] + ".xml")) else: ov_model = model_xml_path @@ -473,6 +481,6 @@ postprocessing function handle this difference. -.. image:: 123-detectron2-to-openvino-with-output_files/123-detectron2-to-openvino-with-output_32_0.png +.. image:: detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_32_0.png diff --git a/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_22_0.jpg b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_22_0.jpg new file mode 100644 index 00000000000..c3108b5b58f --- /dev/null +++ b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_22_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32e589c25e3dbe3506f7daff8bf41d86686035b32d3bb85fb342937707eb7c2e +size 58113 diff --git a/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_22_0.png b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_22_0.png new file mode 100644 index 00000000000..46ab495c7f9 --- /dev/null +++ b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_22_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1163cb4251bc3314b3a014f0a883967d75e45aef3d7cd1df2701db45c459ef61 +size 509139 diff --git a/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_32_0.jpg b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_32_0.jpg new file mode 100644 index 00000000000..2b49c278587 --- /dev/null +++ b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_32_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cfdeeeb8c2dcb115730a7e3de247f28573c7d2c18d1ed88821842333e72edd7 +size 54890 diff --git a/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_32_0.png b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_32_0.png new file mode 100644 index 00000000000..8ca760b79eb --- /dev/null +++ b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_32_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9e1a0544ca93d604126537c34e33e4be04525b1223b3cd712e812c3047838ae +size 458489 diff --git a/docs/notebooks/123-detectron2-to-openvino-with-output_files/123-detectron2-to-openvino-with-output_8_0.jpg b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_8_0.jpg similarity index 100% rename from docs/notebooks/123-detectron2-to-openvino-with-output_files/123-detectron2-to-openvino-with-output_8_0.jpg rename to docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_8_0.jpg diff --git a/docs/notebooks/123-detectron2-to-openvino-with-output_files/123-detectron2-to-openvino-with-output_8_0.png b/docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_8_0.png similarity index 100% rename from docs/notebooks/123-detectron2-to-openvino-with-output_files/123-detectron2-to-openvino-with-output_8_0.png rename to docs/notebooks/detectron2-to-openvino-with-output_files/detectron2-to-openvino-with-output_8_0.png diff --git a/docs/notebooks/267-distil-whisper-asr-with-output.rst b/docs/notebooks/distil-whisper-asr-with-output.rst similarity index 99% rename from docs/notebooks/267-distil-whisper-asr-with-output.rst rename to docs/notebooks/distil-whisper-asr-with-output.rst index 597b9b3ced0..2f89cacd5ad 100644 --- a/docs/notebooks/267-distil-whisper-asr-with-output.rst +++ b/docs/notebooks/distil-whisper-asr-with-output.rst @@ -74,7 +74,7 @@ Prerequisites .. code:: ipython3 - %pip install -q "transformers>=4.35" onnx "git+https://github.com/huggingface/optimum-intel.git" "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "transformers>=4.35" "torch>=2.1" onnx "git+https://github.com/huggingface/optimum-intel.git" "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino>=2023.2.0" datasets "gradio>=4.0" "librosa" "soundfile" %pip install -q "nncf>=2.6.0" "jiwer" @@ -110,7 +110,7 @@ using tokenizer. "Distil-Whisper": [ "distil-whisper/distil-large-v2", "distil-whisper/distil-medium.en", - "distil-whisper/distil-small.en" + "distil-whisper/distil-small.en", ], "Whisper": [ "openai/whisper-large-v3", @@ -124,7 +124,7 @@ using tokenizer. "openai/whisper-small.en", "openai/whisper-base.en", "openai/whisper-tiny.en", - ] + ], } model_type = widgets.Dropdown( @@ -176,6 +176,7 @@ by Hugging Face datasets implementation. from datasets import load_dataset + def extract_input_features(sample): input_features = processor( sample["audio"]["array"], @@ -184,9 +185,8 @@ by Hugging Face datasets implementation. ).input_features return input_features - dataset = load_dataset( - "hf-internal-testing/librispeech_asr_dummy", "clean", split="validation" - ) + + dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation") sample = dataset[0] input_features = extract_input_features(sample) @@ -271,19 +271,21 @@ OpenVINO model. It means that we can reuse initialized early processor. from pathlib import Path from optimum.intel.openvino import OVModelForSpeechSeq2Seq - model_path = Path(model_id.value.replace('/', '_')) + model_path = Path(model_id.value.replace("/", "_")) ov_config = {"CACHE_DIR": ""} if not model_path.exists(): ov_model = OVModelForSpeechSeq2Seq.from_pretrained( - model_id.value, ov_config=ov_config, export=True, compile=False, load_in_8bit=False + model_id.value, + ov_config=ov_config, + export=True, + compile=False, + load_in_8bit=False, ) ov_model.half() ov_model.save_pretrained(model_path) else: - ov_model = OVModelForSpeechSeq2Seq.from_pretrained( - model_path, ov_config=ov_config, compile=False - ) + ov_model = OVModelForSpeechSeq2Seq.from_pretrained(model_path, ov_config=ov_config, compile=False) .. parsed-literal:: @@ -433,8 +435,8 @@ Compare performance PyTorch vs OpenVINO Performance distil-large-v2 openvino speedup: 1.684 -load_in_8bit### Compare with OpenAI Whisper `back to top -⬆️ <#table-of-contents>`__ +load_in_8bit### Compare with OpenAI Whisper + Usage OpenVINO model with HuggingFace pipelines ----------------------------------------------- @@ -496,9 +498,7 @@ seconds is optimal. To activate batching, pass the argument batch_size. seconds = milliseconds // 1_000 milliseconds -= seconds * 1_000 - return ( - f"{hours}:" if hours > 0 else "00:" - ) + f"{minutes:02d}:{seconds:02d},{milliseconds:03d}" + return (f"{hours}:" if hours > 0 else "00:") + f"{minutes:02d}:{seconds:02d},{milliseconds:03d}" def prepare_srt(transcription): @@ -530,9 +530,7 @@ popular subtitles format. srt_lines = prepare_srt(result) - display( - ipd.Audio(sample_long["audio"]["array"], rate=sample_long["audio"]["sampling_rate"]) - ) + display(ipd.Audio(sample_long["audio"]["array"], rate=sample_long["audio"]["sampling_rate"])) print("".join(srt_lines)) @@ -634,7 +632,7 @@ quantization. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -651,13 +649,13 @@ quantization. .. code:: ipython3 - # Fetch notebook_utils module - import urllib.request + # Fetch `skip_kernel_extension` module + import requests - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/skip_kernel_extension.py', - filename='skip_kernel_extension.py' + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension @@ -684,22 +682,22 @@ improves quantization quality. def collect_calibration_dataset(ov_model: OVModelForSpeechSeq2Seq, calibration_dataset_size: int): # Overwrite model request properties, saving the original ones for restoring later - original_encoder_request = ov_model.encoder.request - original_decoder_with_past_request = ov_model.decoder_with_past.request encoder_calibration_data = [] decoder_calibration_data = [] - ov_model.encoder.request = InferRequestWrapper(original_encoder_request, encoder_calibration_data) - ov_model.decoder_with_past.request = InferRequestWrapper(original_decoder_with_past_request, - decoder_calibration_data) + ov_model.encoder.request = InferRequestWrapper(ov_model.encoder.request, encoder_calibration_data, apply_caching=True) + ov_model.decoder_with_past.request = InferRequestWrapper(ov_model.decoder_with_past.request, + decoder_calibration_data, + apply_caching=True) - calibration_dataset = load_dataset("librispeech_asr", "clean", split="validation", streaming=True) - for sample in tqdm(islice(calibration_dataset, calibration_dataset_size), desc="Collecting calibration data", - total=calibration_dataset_size): - input_features = extract_input_features(sample) - ov_model.generate(input_features) - - ov_model.encoder.request = original_encoder_request - ov_model.decoder_with_past.request = original_decoder_with_past_request + try: + calibration_dataset = load_dataset("librispeech_asr", "clean", split="validation", streaming=True) + for sample in tqdm(islice(calibration_dataset, calibration_dataset_size), desc="Collecting calibration data", + total=calibration_dataset_size): + input_features = extract_input_features(sample) + ov_model.generate(input_features) + finally: + ov_model.encoder.request = ov_model.encoder.request.request + ov_model.decoder_with_past.request = ov_model.decoder_with_past.request.request return encoder_calibration_data, decoder_calibration_data @@ -913,9 +911,9 @@ decoder-with-past model forwards, and for the whole model inference too. def wrapper(*args, **kwargs): if not MEASURE_TIME: - return original_fn(*args, **kwargs) + return original_fn(\*args, \*\*kwargs) start_time = time.perf_counter() - result = original_fn(*args, **kwargs) + result = original_fn(\*args, \*\*kwargs) end_time = time.perf_counter() time_list.append(end_time - start_time) return result @@ -1007,12 +1005,12 @@ recognition. Multilingual support will be provided later. from transformers.pipelines.audio_utils import ffmpeg_read import gradio as gr - import urllib.request - urllib.request.urlretrieve( - url="https://huggingface.co/spaces/distil-whisper/whisper-vs-distil-whisper/resolve/main/assets/example_1.wav", - filename="example_1.wav", - ) + r = requests.get("https://huggingface.co/spaces/distil-whisper/whisper-vs-distil-whisper/resolve/main/assets/example_1.wav") + + with open("example_1.wav", "wb") as f: + f.write(r.content) + BATCH_SIZE = 16 MAX_AUDIO_MINS = 30 # maximum audio input in minutes @@ -1049,9 +1047,7 @@ recognition. Multilingual support will be provided later. pipe_forward = ov_quantized_pipe_forward if quantized else ov_pipe_forward if inputs is None: - raise gr.Error( - "No audio file submitted! Please record or upload an audio file before submitting your request." - ) + raise gr.Error("No audio file submitted! Please record or upload an audio file before submitting your request.") with open(inputs, "rb") as f: inputs = f.read() @@ -1102,20 +1098,15 @@ recognition. Multilingual support will be provided later. if to_quantize.value: button_q = gr.Button("Transcribe quantized") with gr.Row(): - infer_time = gr.components.Textbox( - label="OpenVINO Distil-Whisper Transcription Time (s)" - ) + infer_time = gr.components.Textbox(label="OpenVINO Distil-Whisper Transcription Time (s)") if to_quantize.value: - infer_time_q = gr.components.Textbox( - label="OpenVINO Quantized Distil-Whisper Transcription Time (s)" - ) + infer_time_q = gr.components.Textbox(label="OpenVINO Quantized Distil-Whisper Transcription Time (s)") with gr.Row(): - transcription = gr.components.Textbox( - label="OpenVINO Distil-Whisper Transcription", show_copy_button=True - ) + transcription = gr.components.Textbox(label="OpenVINO Distil-Whisper Transcription", show_copy_button=True) if to_quantize.value: transcription_q = gr.components.Textbox( - label="OpenVINO Quantized Distil-Whisper Transcription", show_copy_button=True + label="OpenVINO Quantized Distil-Whisper Transcription", + show_copy_button=True, ) button.click( fn=transcribe, diff --git a/docs/notebooks/229-distilbert-sequence-classification-with-output.rst b/docs/notebooks/distilbert-sequence-classification-with-output.rst similarity index 71% rename from docs/notebooks/229-distilbert-sequence-classification-with-output.rst rename to docs/notebooks/distilbert-sequence-classification-with-output.rst index 260ec7d7e4b..bfdee960d39 100644 --- a/docs/notebooks/229-distilbert-sequence-classification-with-output.rst +++ b/docs/notebooks/distilbert-sequence-classification-with-output.rst @@ -30,45 +30,50 @@ Imports .. code:: ipython3 - %pip install "openvino>=2023.1.0" transformers --extra-index-url https://download.pytorch.org/whl/cpu + %pip install "openvino>=2023.1.0" transformers "torch>=2.1" tqdm --extra-index-url https://download.pytorch.org/whl/cpu .. parsed-literal:: Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cpu - Requirement already satisfied: openvino>=2023.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2024.0.0) - Requirement already satisfied: transformers in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (4.38.2) - Requirement already satisfied: numpy>=1.16.6 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.1.0) (1.23.5) - Requirement already satisfied: openvino-telemetry>=2023.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.1.0) (2023.2.1) - Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.1.0) (24.0) + Requirement already satisfied: openvino>=2023.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2024.0.0) + Requirement already satisfied: transformers in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (4.39.3) + Requirement already satisfied: torch>=2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2.2.2+cpu) + Requirement already satisfied: tqdm in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (4.66.2) + Requirement already satisfied: numpy>=1.16.6 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.1.0) (1.23.5) + Requirement already satisfied: openvino-telemetry>=2023.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.1.0) (2024.1.0) + Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino>=2023.1.0) (24.0) .. parsed-literal:: - Requirement already satisfied: filelock in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (3.13.1) - Requirement already satisfied: huggingface-hub<1.0,>=0.19.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (0.21.4) - Requirement already satisfied: pyyaml>=5.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (6.0.1) - Requirement already satisfied: regex!=2019.12.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (2023.12.25) - Requirement already satisfied: requests in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (2.31.0) - Requirement already satisfied: tokenizers<0.19,>=0.14 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (0.15.2) - Requirement already satisfied: safetensors>=0.4.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (0.4.2) - Requirement already satisfied: tqdm>=4.27 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (4.66.2) + Requirement already satisfied: filelock in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (3.13.4) + Requirement already satisfied: huggingface-hub<1.0,>=0.19.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (0.22.2) + Requirement already satisfied: pyyaml>=5.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (6.0.1) + Requirement already satisfied: regex!=2019.12.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (2024.4.16) + Requirement already satisfied: requests in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (2.31.0) + Requirement already satisfied: tokenizers<0.19,>=0.14 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (0.15.2) + Requirement already satisfied: safetensors>=0.4.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from transformers) (0.4.3) + Requirement already satisfied: typing-extensions>=4.8.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (4.11.0) + Requirement already satisfied: sympy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (1.12) + Requirement already satisfied: networkx in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (3.1) + Requirement already satisfied: jinja2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (3.1.3) + Requirement already satisfied: fsspec in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (2024.2.0) .. parsed-literal:: - Requirement already satisfied: fsspec>=2023.5.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from huggingface-hub<1.0,>=0.19.3->transformers) (2024.2.0) - Requirement already satisfied: typing-extensions>=3.7.4.3 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from huggingface-hub<1.0,>=0.19.3->transformers) (4.10.0) - Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (3.3.2) - Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (3.6) - Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (2.2.1) - Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (2024.2.2) + Requirement already satisfied: MarkupSafe>=2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jinja2->torch>=2.1) (2.1.5) .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - + Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (3.3.2) + Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (3.7) + Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (2.2.1) + Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->transformers) (2024.2.2) + Requirement already satisfied: mpmath>=0.19 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from sympy->torch>=2.1) (1.3.0) + .. parsed-literal:: @@ -96,9 +101,7 @@ model from Hugging Face. .. code:: ipython3 checkpoint = "distilbert-base-uncased-finetuned-sst-2-english" - model = AutoModelForSequenceClassification.from_pretrained( - pretrained_model_name_or_path=checkpoint - ) + model = AutoModelForSequenceClassification.from_pretrained(pretrained_model_name_or_path=checkpoint) Initializing the Tokenizer -------------------------- @@ -118,9 +121,7 @@ understand the context of a sentence. Here, we will use .. code:: ipython3 - tokenizer = AutoTokenizer.from_pretrained( - pretrained_model_name_or_path=checkpoint - ) + tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path=checkpoint) Convert Model to OpenVINO Intermediate Representation format ------------------------------------------------------------ @@ -142,7 +143,10 @@ optimal execution on end-point target devices. ir_xml_path = Path(MODEL_DIR) / ir_xml_name MAX_SEQ_LENGTH = 128 - input_info = [(ov.PartialShape([1, -1]), ov.Type.i64), (ov.PartialShape([1, -1]), ov.Type.i64)] + input_info = [ + (ov.PartialShape([1, -1]), ov.Type.i64), + (ov.PartialShape([1, -1]), ov.Type.i64), + ] default_input = torch.ones(1, MAX_SEQ_LENGTH, dtype=torch.int64) inputs = { "input_ids": default_input, @@ -155,9 +159,9 @@ optimal execution on end-point target devices. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py:246: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py:246: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. mask, torch.tensor(torch.finfo(scores.dtype).min) @@ -188,8 +192,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -281,17 +285,19 @@ Read from a text file .. code:: ipython3 # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file # Download the text from the openvino_notebooks storage vocab_file_path = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/text/food_reviews.txt", - directory="data" + directory="data", ) @@ -304,7 +310,7 @@ Read from a text file .. code:: ipython3 start_time = time.perf_counter() - with vocab_file_path.open(mode='r') as f: + with vocab_file_path.open(mode="r") as f: input_text = f.readlines() for lines in input_text: print("User Input: ", lines) diff --git a/docs/notebooks/240-dolly-2-instruction-following-with-output.rst b/docs/notebooks/dolly-2-instruction-following-with-output.rst similarity index 88% rename from docs/notebooks/240-dolly-2-instruction-following-with-output.rst rename to docs/notebooks/dolly-2-instruction-following-with-output.rst index 47685d62f5e..170ac68c2db 100644 --- a/docs/notebooks/240-dolly-2-instruction-following-with-output.rst +++ b/docs/notebooks/dolly-2-instruction-following-with-output.rst @@ -121,8 +121,8 @@ documentation `__. .. code:: ipython3 - %pip install -q "diffusers>=0.16.1" "transformers>=4.33.0" "openvino>=2023.2.0" "nncf>=2.6.0" onnx gradio --extra-index-url https://download.pytorch.org/whl/cpu - %pip install -q --upgrade "git+https://github.com/huggingface/optimum-intel.git" + %pip install -q "diffusers>=0.16.1" "transformers>=4.33.0" "torch>=2.1" "openvino>=2023.2.0" "nncf>=2.6.0" onnx "gradio>=4.19" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q --upgrade "git+https://github.com/huggingface/optimum-intel.git" Select inference device ~~~~~~~~~~~~~~~~~~~~~~~ @@ -140,8 +140,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -201,12 +201,18 @@ compatible with Optimum models. current_device = device.value - ov_config = {'PERFORMANCE_HINT': 'LATENCY', 'NUM_STREAMS': '1', "CACHE_DIR": ""} + ov_config = {"PERFORMANCE_HINT": "LATENCY", "NUM_STREAMS": "1", "CACHE_DIR": ""} if model_path.exists(): ov_model = OVModelForCausalLM.from_pretrained(model_path, device=current_device, ov_config=ov_config) else: - ov_model = OVModelForCausalLM.from_pretrained(model_id, device=current_device, export=True, ov_config=ov_config, load_in_8bit=False) + ov_model = OVModelForCausalLM.from_pretrained( + model_id, + device=current_device, + export=True, + ov_config=ov_config, + load_in_8bit=False, + ) ov_model.half() ov_model.save_pretrained(model_path) @@ -247,7 +253,7 @@ accuracy drop. to_compress = widgets.Checkbox( value=True, - description='INT8 Compression', + description="INT8 Compression", disabled=False, ) print("Click on checkbox for enabling / disabling weights compression") @@ -270,25 +276,28 @@ accuracy drop. .. code:: ipython3 import gc - from optimum.intel import OVQuantizer + from optimum.intel import OVQuantizer, OVConfig, OVWeightQuantizationConfig + + compressed_model_path = Path(f"{model_path}_compressed") - compressed_model_path = Path(f'{model_path}_compressed') def calculate_compression_rate(model_path_ov, model_path_ov_compressed): - model_size_original = model_path_ov.with_suffix(".bin").stat().st_size / 2 ** 20 - model_size_compressed = model_path_ov_compressed.with_suffix(".bin").stat().st_size / 2 ** 20 + model_size_original = model_path_ov.with_suffix(".bin").stat().st_size / 2**20 + model_size_compressed = model_path_ov_compressed.with_suffix(".bin").stat().st_size / 2**20 print(f"* Original IR model size: {model_size_original:.2f} MB") print(f"* Compressed IR model size: {model_size_compressed:.2f} MB") print(f"* Model compression rate: {model_size_original / model_size_compressed:.3f}") + if to_compress.value: if not compressed_model_path.exists(): quantizer = OVQuantizer.from_pretrained(ov_model) - quantizer.quantize(save_directory=compressed_model_path, weights_only=True) + ov_config = OVConfig(quantization_config=OVWeightQuantizationConfig(bits=8)) + quantizer.quantize(save_directory=compressed_model_path, ov_config=ov_config) del quantizer gc.collect() - - calculate_compression_rate(model_path / 'openvino_model.xml', compressed_model_path / 'openvino_model.xml') + + calculate_compression_rate(model_path / "openvino_model.xml", compressed_model_path / "openvino_model.xml") ov_model = OVModelForCausalLM.from_pretrained(compressed_model_path, device=current_device, ov_config=ov_config) @@ -438,9 +447,7 @@ into model with providing additional context. INSTRUCTION_KEY = "### Instruction:" RESPONSE_KEY = "### Response:" END_KEY = "### End" - INTRO_BLURB = ( - "Below is an instruction that describes a task. Write a response that appropriately completes the request." - ) + INTRO_BLURB = "Below is an instruction that describes a task. Write a response that appropriately completes the request." # This is the prompt that is used for generating responses using an already trained model. It ends with the response # key, where the job of the model is to provide the completion that follows it (i.e. the response itself). @@ -489,7 +496,11 @@ the code below find its id for using it as generation stop-criteria. raise ValueError(f"Expected only a single token for '{key}' but found {token_ids}") return token_ids[0] - tokenizer_response_key = next((token for token in tokenizer.additional_special_tokens if token.startswith(RESPONSE_KEY)), None) + + tokenizer_response_key = next( + (token for token in tokenizer.additional_special_tokens if token.startswith(RESPONSE_KEY)), + None, + ) end_key_token_id = None if tokenizer_response_key: @@ -510,10 +521,17 @@ parameter and returns model response. .. code:: ipython3 - def run_generation(user_text:str, top_p:float, temperature:float, top_k:int, max_new_tokens:int, perf_text:str): + def run_generation( + user_text: str, + top_p: float, + temperature: float, + top_k: int, + max_new_tokens: int, + perf_text: str, + ): """ Text generation function - + Parameters: user_text (str): User-provided instruction for a generation. top_p (float): Nucleus sampling. If set to < 1, only the smallest set of most probable tokens with probabilities that add up to top_p or higher are kept for a generation. @@ -525,10 +543,10 @@ parameter and returns model response. model_output (str) - model-generated text perf_text (str) - updated perf text filed content """ - + # Prepare input prompt according to model expected template prompt_text = PROMPT_FOR_GENERATION_FORMAT.format(instruction=user_text) - + # Tokenize the user text. model_inputs = tokenizer(prompt_text, return_tensors="pt") @@ -543,7 +561,7 @@ parameter and returns model response. top_p=top_p, temperature=float(temperature), top_k=top_k, - eos_token_id=end_key_token_id + eos_token_id=end_key_token_id, ) t = Thread(target=ov_model.generate, kwargs=generate_kwargs) t.start() @@ -572,17 +590,23 @@ elements. .. code:: ipython3 - def estimate_latency(current_time:float, current_perf_text:str, new_gen_text:str, per_token_time:List[float], num_tokens:int): + def estimate_latency( + current_time: float, + current_perf_text: str, + new_gen_text: str, + per_token_time: List[float], + num_tokens: int, + ): """ Helper function for performance estimation - + Parameters: current_time (float): This step time in seconds. current_perf_text (str): Current content of performance UI field. new_gen_text (str): New generated text. per_token_time (List[float]): history of performance from previous steps. num_tokens (int): Total number of generated tokens. - + Returns: update for performance text field update for a total number of tokens @@ -592,28 +616,32 @@ elements. per_token_time.append(num_current_toks / current_time) if len(per_token_time) > 10 and len(per_token_time) % 4 == 0: current_bucket = per_token_time[:-10] - return f"Average generation speed: {np.mean(current_bucket):.2f} tokens/s. Total generated tokens: {num_tokens}", num_tokens + return ( + f"Average generation speed: {np.mean(current_bucket):.2f} tokens/s. Total generated tokens: {num_tokens}", + num_tokens, + ) return current_perf_text, num_tokens - def reset_textbox(instruction:str, response:str, perf:str): + + def reset_textbox(instruction: str, response: str, perf: str): """ Helper function for resetting content of all text fields - + Parameters: instruction (str): Content of user instruction field. response (str): Content of model response field. perf (str): Content of performance info filed - + Returns: empty string for each placeholder """ return "", "", "" - def select_device(device_str:str, current_text:str = "", progress:gr.Progress = gr.Progress()): + def select_device(device_str: str, current_text: str = "", progress: gr.Progress = gr.Progress()): """ Helper function for uploading model on the device. - + Parameters: device_str (str): Device name. current_text (str): Current content of user instruction field (used only for backup purposes, temporally replacing it on the progress bar during model loading). @@ -624,7 +652,7 @@ elements. if device_str != ov_model._device: ov_model.request = None ov_model._device = device_str - + for i in progress.tqdm(range(1), desc=f"Model loading on {device_str}"): ov_model.compile() return current_text @@ -679,7 +707,7 @@ generation parameters: with gr.Column(scale=4): user_text = gr.Textbox( placeholder="Write an email about an alpaca that likes flan", - label="User instruction" + label="User instruction", ) model_output = gr.Textbox(label="Model response", interactive=False) performance = gr.Textbox(label="Performance", lines=1, interactive=False) @@ -690,22 +718,54 @@ generation parameters: with gr.Column(scale=1): device = gr.Dropdown(choices=available_devices, value=current_device, label="Device") max_new_tokens = gr.Slider( - minimum=1, maximum=1000, value=256, step=1, interactive=True, label="Max New Tokens", + minimum=1, + maximum=1000, + value=256, + step=1, + interactive=True, + label="Max New Tokens", ) top_p = gr.Slider( - minimum=0.05, maximum=1.0, value=0.92, step=0.05, interactive=True, label="Top-p (nucleus sampling)", + minimum=0.05, + maximum=1.0, + value=0.92, + step=0.05, + interactive=True, + label="Top-p (nucleus sampling)", ) top_k = gr.Slider( - minimum=0, maximum=50, value=0, step=1, interactive=True, label="Top-k", + minimum=0, + maximum=50, + value=0, + step=1, + interactive=True, + label="Top-k", ) temperature = gr.Slider( - minimum=0.1, maximum=5.0, value=0.8, step=0.1, interactive=True, label="Temperature", + minimum=0.1, + maximum=5.0, + value=0.8, + step=0.1, + interactive=True, + label="Temperature", ) - user_text.submit(run_generation, [user_text, top_p, temperature, top_k, max_new_tokens, performance], [model_output, performance]) + user_text.submit( + run_generation, + [user_text, top_p, temperature, top_k, max_new_tokens, performance], + [model_output, performance], + ) button_submit.click(select_device, [device, user_text], [user_text]) - button_submit.click(run_generation, [user_text, top_p, temperature, top_k, max_new_tokens, performance], [model_output, performance]) - button_clear.click(reset_textbox, [user_text, model_output, performance], [user_text, model_output, performance]) + button_submit.click( + run_generation, + [user_text, top_p, temperature, top_k, max_new_tokens, performance], + [model_output, performance], + ) + button_clear.click( + reset_textbox, + [user_text, model_output, performance], + [user_text, model_output, performance], + ) device.change(select_device, [device, user_text], [user_text]) if __name__ == "__main__": diff --git a/docs/notebooks/274-efficient-sam-with-output.rst b/docs/notebooks/efficient-sam-with-output.rst similarity index 66% rename from docs/notebooks/274-efficient-sam-with-output.rst rename to docs/notebooks/efficient-sam-with-output.rst index 534fc837601..4f7c2cde7e1 100644 --- a/docs/notebooks/274-efficient-sam-with-output.rst +++ b/docs/notebooks/efficient-sam-with-output.rst @@ -78,14 +78,9 @@ Prerequisites else: %pip install -q "matplotlib>=3.4,<3.7" - %pip install -q "openvino>=2023.3.0" "nncf>=2.7.0" opencv-python "gradio>=4.13" torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2023.3.0" "nncf>=2.7.0" opencv-python "gradio>=4.13" torch torchvision tqdm --extra-index-url https://download.pytorch.org/whl/cpu -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -93,7 +88,7 @@ Prerequisites .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -120,441 +115,393 @@ Prerequisites .. parsed-literal:: remote: Enumerating objects: 424, done. - remote: Counting objects: 0% (1/140) -remote: Counting objects: 1% (2/140) -remote: Counting objects: 2% (3/140) -remote: Counting objects: 3% (5/140) -remote: Counting objects: 4% (6/140) -remote: Counting objects: 5% (7/140) -remote: Counting objects: 6% (9/140) -remote: Counting objects: 7% (10/140) -remote: Counting objects: 8% (12/140) -remote: Counting objects: 9% (13/140) -remote: Counting objects: 10% (14/140) -remote: Counting objects: 11% (16/140) -remote: Counting objects: 12% (17/140) -remote: Counting objects: 13% (19/140) -remote: Counting objects: 14% (20/140) -remote: Counting objects: 15% (21/140) -remote: Counting objects: 16% (23/140) -remote: Counting objects: 17% (24/140) -remote: Counting objects: 18% (26/140) -remote: Counting objects: 19% (27/140) -remote: Counting objects: 20% (28/140) -remote: Counting objects: 21% (30/140) -remote: Counting objects: 22% (31/140) -remote: Counting objects: 23% (33/140) -remote: Counting objects: 24% (34/140) -remote: Counting objects: 25% (35/140) -remote: Counting objects: 26% (37/140) -remote: Counting objects: 27% (38/140) -remote: Counting objects: 28% (40/140) -remote: Counting objects: 29% (41/140) -remote: Counting objects: 30% (42/140) -remote: Counting objects: 31% (44/140) -remote: Counting objects: 32% (45/140) -remote: Counting objects: 33% (47/140) -remote: Counting objects: 34% (48/140) -remote: Counting objects: 35% (49/140) -remote: Counting objects: 36% (51/140) -remote: Counting objects: 37% (52/140) -remote: Counting objects: 38% (54/140) -remote: Counting objects: 39% (55/140) -remote: Counting objects: 40% (56/140) -remote: Counting objects: 41% (58/140) -remote: Counting objects: 42% (59/140) -remote: Counting objects: 43% (61/140) -remote: Counting objects: 44% (62/140) -remote: Counting objects: 45% (63/140) -remote: Counting objects: 46% (65/140) -remote: Counting objects: 47% (66/140) -remote: Counting objects: 48% (68/140) -remote: Counting objects: 49% (69/140) -remote: Counting objects: 50% (70/140) -remote: Counting objects: 51% (72/140) -remote: Counting objects: 52% (73/140) -remote: Counting objects: 53% (75/140) -remote: Counting objects: 54% (76/140) -remote: Counting objects: 55% (77/140) -remote: Counting objects: 56% (79/140) -remote: Counting objects: 57% (80/140) -remote: Counting objects: 58% (82/140) -remote: Counting objects: 59% (83/140) -remote: Counting objects: 60% (84/140) -remote: Counting objects: 61% (86/140) -remote: Counting objects: 62% (87/140) -remote: Counting objects: 63% (89/140) -remote: Counting objects: 64% (90/140) -remote: Counting objects: 65% (91/140) -remote: Counting objects: 66% (93/140) -remote: Counting objects: 67% (94/140) -remote: Counting objects: 68% (96/140) -remote: Counting objects: 69% (97/140) -remote: Counting objects: 70% (98/140) -remote: Counting objects: 71% (100/140) -remote: Counting objects: 72% (101/140) -remote: Counting objects: 73% (103/140) -remote: Counting objects: 74% (104/140) -remote: Counting objects: 75% (105/140) -remote: Counting objects: 76% (107/140) -remote: Counting objects: 77% (108/140) -remote: Counting objects: 78% (110/140) -remote: Counting objects: 79% (111/140) -remote: Counting objects: 80% (112/140) -remote: Counting objects: 81% (114/140) -remote: Counting objects: 82% (115/140) -remote: Counting objects: 83% (117/140) -remote: Counting objects: 84% (118/140) - -.. parsed-literal:: - - remote: Counting objects: 85% (119/140) -remote: Counting objects: 86% (121/140) -remote: Counting objects: 87% (122/140) -remote: Counting objects: 88% (124/140) -remote: Counting objects: 89% (125/140) -remote: Counting objects: 90% (126/140) -remote: Counting objects: 91% (128/140) -remote: Counting objects: 92% (129/140) -remote: Counting objects: 93% (131/140) -remote: Counting objects: 94% (132/140) -remote: Counting objects: 95% (133/140) -remote: Counting objects: 96% (135/140) -remote: Counting objects: 97% (136/140) -remote: Counting objects: 98% (138/140) -remote: Counting objects: 99% (139/140) -remote: Counting objects: 100% (140/140) -remote: Counting objects: 100% (140/140), done. - remote: Compressing objects: 1% (1/85) -remote: Compressing objects: 2% (2/85) -remote: Compressing objects: 3% (3/85) -remote: Compressing objects: 4% (4/85) -remote: Compressing objects: 5% (5/85) -remote: Compressing objects: 7% (6/85) -remote: Compressing objects: 8% (7/85) -remote: Compressing objects: 9% (8/85) -remote: Compressing objects: 10% (9/85) -remote: Compressing objects: 11% (10/85) - -.. parsed-literal:: - - remote: Compressing objects: 12% (11/85) -remote: Compressing objects: 14% (12/85) -remote: Compressing objects: 15% (13/85) -remote: Compressing objects: 16% (14/85) -remote: Compressing objects: 17% (15/85) -remote: Compressing objects: 18% (16/85) -remote: Compressing objects: 20% (17/85) -remote: Compressing objects: 21% (18/85) -remote: Compressing objects: 22% (19/85) -remote: Compressing objects: 23% (20/85) -remote: Compressing objects: 24% (21/85) -remote: Compressing objects: 25% (22/85) -remote: Compressing objects: 27% (23/85) -remote: Compressing objects: 28% (24/85) -remote: Compressing objects: 29% (25/85) -remote: Compressing objects: 30% (26/85) -remote: Compressing objects: 31% (27/85) -remote: Compressing objects: 32% (28/85) -remote: Compressing objects: 34% (29/85) -remote: Compressing objects: 35% (30/85) -remote: Compressing objects: 36% (31/85) -remote: Compressing objects: 37% (32/85) -remote: Compressing objects: 38% (33/85) -remote: Compressing objects: 40% (34/85) -remote: Compressing objects: 41% (35/85) -remote: Compressing objects: 42% (36/85) -remote: Compressing objects: 43% (37/85) -remote: Compressing objects: 44% (38/85) -remote: Compressing objects: 45% (39/85) -remote: Compressing objects: 47% (40/85) -remote: Compressing objects: 48% (41/85) -remote: Compressing objects: 49% (42/85) -remote: Compressing objects: 50% (43/85) -remote: Compressing objects: 51% (44/85) -remote: Compressing objects: 52% (45/85) -remote: Compressing objects: 54% (46/85) -remote: Compressing objects: 55% (47/85) -remote: Compressing objects: 56% (48/85) -remote: Compressing objects: 57% (49/85) -remote: Compressing objects: 58% (50/85) -remote: Compressing objects: 60% (51/85) -remote: Compressing objects: 61% (52/85) -remote: Compressing objects: 62% (53/85) -remote: Compressing objects: 63% (54/85) -remote: Compressing objects: 64% (55/85) -remote: Compressing objects: 65% (56/85) -remote: Compressing objects: 67% (57/85) -remote: Compressing objects: 68% (58/85) -remote: Compressing objects: 69% (59/85) -remote: Compressing objects: 70% (60/85) -remote: Compressing objects: 71% (61/85) -remote: Compressing objects: 72% (62/85) -remote: Compressing objects: 74% (63/85) -remote: Compressing objects: 75% (64/85) -remote: Compressing objects: 76% (65/85) -remote: Compressing objects: 77% (66/85) -remote: Compressing objects: 78% (67/85) -remote: Compressing objects: 80% (68/85) -remote: Compressing objects: 81% (69/85) -remote: Compressing objects: 82% (70/85) -remote: Compressing objects: 83% (71/85) -remote: Compressing objects: 84% (72/85) -remote: Compressing objects: 85% (73/85) -remote: Compressing objects: 87% (74/85) -remote: Compressing objects: 88% (75/85) -remote: Compressing objects: 89% (76/85) -remote: Compressing objects: 90% (77/85) -remote: Compressing objects: 91% (78/85) -remote: Compressing objects: 92% (79/85) -remote: Compressing objects: 94% (80/85) -remote: Compressing objects: 95% (81/85) -remote: Compressing objects: 96% (82/85) -remote: Compressing objects: 97% (83/85) -remote: Compressing objects: 98% (84/85) -remote: Compressing objects: 100% (85/85) -remote: Compressing objects: 100% (85/85), done. + remote: Counting objects: 1% (1/85) +remote: Counting objects: 2% (2/85) +remote: Counting objects: 3% (3/85) +remote: Counting objects: 4% (4/85) +remote: Counting objects: 5% (5/85) +remote: Counting objects: 7% (6/85) +remote: Counting objects: 8% (7/85) +remote: Counting objects: 9% (8/85) +remote: Counting objects: 10% (9/85) +remote: Counting objects: 11% (10/85) +remote: Counting objects: 12% (11/85) +remote: Counting objects: 14% (12/85) +remote: Counting objects: 15% (13/85) +remote: Counting objects: 16% (14/85) +remote: Counting objects: 17% (15/85) +remote: Counting objects: 18% (16/85) +remote: Counting objects: 20% (17/85) +remote: Counting objects: 21% (18/85) +remote: Counting objects: 22% (19/85) +remote: Counting objects: 23% (20/85) +remote: Counting objects: 24% (21/85) +remote: Counting objects: 25% (22/85) +remote: Counting objects: 27% (23/85) +remote: Counting objects: 28% (24/85) +remote: Counting objects: 29% (25/85) +remote: Counting objects: 30% (26/85) +remote: Counting objects: 31% (27/85) +remote: Counting objects: 32% (28/85) +remote: Counting objects: 34% (29/85) +remote: Counting objects: 35% (30/85) +remote: Counting objects: 36% (31/85) +remote: Counting objects: 37% (32/85) +remote: Counting objects: 38% (33/85) +remote: Counting objects: 40% (34/85) +remote: Counting objects: 41% (35/85) +remote: Counting objects: 42% (36/85) +remote: Counting objects: 43% (37/85) +remote: Counting objects: 44% (38/85) +remote: Counting objects: 45% (39/85) +remote: Counting objects: 47% (40/85) +remote: Counting objects: 48% (41/85) +remote: Counting objects: 49% (42/85) +remote: Counting objects: 50% (43/85) +remote: Counting objects: 51% (44/85) +remote: Counting objects: 52% (45/85) +remote: Counting objects: 54% (46/85) +remote: Counting objects: 55% (47/85) +remote: Counting objects: 56% (48/85) +remote: Counting objects: 57% (49/85) +remote: Counting objects: 58% (50/85) +remote: Counting objects: 60% (51/85) +remote: Counting objects: 61% (52/85) +remote: Counting objects: 62% (53/85) +remote: Counting objects: 63% (54/85) +remote: Counting objects: 64% (55/85) +remote: Counting objects: 65% (56/85) +remote: Counting objects: 67% (57/85) +remote: Counting objects: 68% (58/85) +remote: Counting objects: 69% (59/85) +remote: Counting objects: 70% (60/85) +remote: Counting objects: 71% (61/85) +remote: Counting objects: 72% (62/85) +remote: Counting objects: 74% (63/85) +remote: Counting objects: 75% (64/85) +remote: Counting objects: 76% (65/85) +remote: Counting objects: 77% (66/85) +remote: Counting objects: 78% (67/85) +remote: Counting objects: 80% (68/85) +remote: Counting objects: 81% (69/85) +remote: Counting objects: 82% (70/85) +remote: Counting objects: 83% (71/85) +remote: Counting objects: 84% (72/85) +remote: Counting objects: 85% (73/85) +remote: Counting objects: 87% (74/85) +remote: Counting objects: 88% (75/85) +remote: Counting objects: 89% (76/85) +remote: Counting objects: 90% (77/85) +remote: Counting objects: 91% (78/85) +remote: Counting objects: 92% (79/85) +remote: Counting objects: 94% (80/85) +remote: Counting objects: 95% (81/85) +remote: Counting objects: 96% (82/85) +remote: Counting objects: 97% (83/85) +remote: Counting objects: 98% (84/85) +remote: Counting objects: 100% (85/85) +remote: Counting objects: 100% (85/85), done. + remote: Compressing objects: 3% (1/33) +remote: Compressing objects: 6% (2/33) +remote: Compressing objects: 9% (3/33) +remote: Compressing objects: 12% (4/33) +remote: Compressing objects: 15% (5/33) +remote: Compressing objects: 18% (6/33) +remote: Compressing objects: 21% (7/33) +remote: Compressing objects: 24% (8/33) +remote: Compressing objects: 27% (9/33) +remote: Compressing objects: 30% (10/33) +remote: Compressing objects: 33% (11/33) +remote: Compressing objects: 36% (12/33) +remote: Compressing objects: 39% (13/33) +remote: Compressing objects: 42% (14/33) +remote: Compressing objects: 45% (15/33) +remote: Compressing objects: 48% (16/33) +remote: Compressing objects: 51% (17/33) +remote: Compressing objects: 54% (18/33) +remote: Compressing objects: 57% (19/33) +remote: Compressing objects: 60% (20/33) +remote: Compressing objects: 63% (21/33) +remote: Compressing objects: 66% (22/33) +remote: Compressing objects: 69% (23/33) +remote: Compressing objects: 72% (24/33) +remote: Compressing objects: 75% (25/33) +remote: Compressing objects: 78% (26/33) +remote: Compressing objects: 81% (27/33) +remote: Compressing objects: 84% (28/33) +remote: Compressing objects: 87% (29/33) +remote: Compressing objects: 90% (30/33) +remote: Compressing objects: 93% (31/33) +remote: Compressing objects: 96% (32/33) +remote: Compressing objects: 100% (33/33) +remote: Compressing objects: 100% (33/33), done. Receiving objects: 0% (1/424) +Receiving objects: 1% (5/424) .. parsed-literal:: - Receiving objects: 1% (5/424) -Receiving objects: 2% (9/424) - -.. parsed-literal:: - - Receiving objects: 3% (13/424) + Receiving objects: 2% (9/424) +Receiving objects: 3% (13/424) Receiving objects: 4% (17/424) +Receiving objects: 5% (22/424) .. parsed-literal:: - Receiving objects: 5% (22/424) -Receiving objects: 6% (26/424) + Receiving objects: 5% (24/424), 7.11 MiB | 7.01 MiB/s .. parsed-literal:: - Receiving objects: 6% (26/424), 12.26 MiB | 11.70 MiB/s + Receiving objects: 5% (24/424), 15.89 MiB | 7.84 MiB/s .. parsed-literal:: - Receiving objects: 6% (26/424), 32.47 MiB | 15.70 MiB/s + Receiving objects: 5% (24/424), 25.21 MiB | 8.33 MiB/s .. parsed-literal:: - Receiving objects: 6% (29/424), 55.60 MiB | 18.12 MiB/s + Receiving objects: 5% (24/424), 35.32 MiB | 8.76 MiB/s .. parsed-literal:: - Receiving objects: 7% (30/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 8% (34/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 9% (39/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 10% (43/424), 67.12 MiB | 18.81 MiB/s + Receiving objects: 6% (26/424), 35.32 MiB | 8.76 MiB/s +Receiving objects: 7% (30/424), 35.32 MiB | 8.76 MiB/s +Receiving objects: 8% (34/424), 35.32 MiB | 8.76 MiB/s +Receiving objects: 9% (39/424), 35.32 MiB | 8.76 MiB/s +Receiving objects: 10% (43/424), 35.32 MiB | 8.76 MiB/s +Receiving objects: 11% (47/424), 35.32 MiB | 8.76 MiB/s +Receiving objects: 12% (51/424), 35.32 MiB | 8.76 MiB/s .. parsed-literal:: - Receiving objects: 11% (47/424), 67.12 MiB | 18.81 MiB/s + Receiving objects: 12% (54/424), 46.28 MiB | 9.54 MiB/s .. parsed-literal:: - Receiving objects: 12% (51/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 13% (56/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 14% (60/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 15% (64/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 16% (68/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 17% (73/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 18% (77/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 19% (81/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 20% (85/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 21% (90/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 22% (94/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 23% (98/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 24% (102/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 25% (106/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 26% (111/424), 67.12 MiB | 18.81 MiB/s -Receiving objects: 27% (115/424), 67.12 MiB | 18.81 MiB/s + Receiving objects: 12% (54/424), 58.26 MiB | 10.40 MiB/s .. parsed-literal:: - Receiving objects: 27% (115/424), 103.79 MiB | 22.29 MiB/s + Receiving objects: 12% (54/424), 70.74 MiB | 11.14 MiB/s .. parsed-literal:: - Receiving objects: 27% (115/424), 130.29 MiB | 23.37 MiB/s + Receiving objects: 13% (56/424), 70.74 MiB | 11.14 MiB/s .. parsed-literal:: - Receiving objects: 27% (115/424), 157.35 MiB | 24.89 MiB/s + Receiving objects: 13% (56/424), 81.30 MiB | 11.36 MiB/s .. parsed-literal:: - Receiving objects: 28% (119/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 29% (123/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 30% (128/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 31% (132/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 32% (136/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 33% (140/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 34% (145/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 35% (149/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 36% (153/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 37% (157/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 38% (162/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 39% (166/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 40% (170/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 41% (174/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 42% (179/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 43% (183/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 44% (187/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 45% (191/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 46% (196/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 47% (200/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 48% (204/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 49% (208/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 50% (212/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 51% (217/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 52% (221/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 53% (225/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 54% (229/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 55% (234/424), 171.10 MiB | 25.39 MiB/s -Receiving objects: 56% (238/424), 171.10 MiB | 25.39 MiB/s + Receiving objects: 13% (56/424), 93.08 MiB | 11.64 MiB/s .. parsed-literal:: - Receiving objects: 56% (240/424), 185.16 MiB | 25.90 MiB/s + Receiving objects: 13% (56/424), 105.71 MiB | 11.89 MiB/s .. parsed-literal:: - Receiving objects: 56% (241/424), 199.39 MiB | 26.22 MiB/s -Receiving objects: 57% (242/424), 199.39 MiB | 26.22 MiB/s -Receiving objects: 58% (246/424), 199.39 MiB | 26.22 MiB/s -Receiving objects: 59% (251/424), 199.39 MiB | 26.22 MiB/s -Receiving objects: 60% (255/424), 199.39 MiB | 26.22 MiB/s -Receiving objects: 61% (259/424), 199.39 MiB | 26.22 MiB/s + Receiving objects: 14% (60/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 15% (64/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 16% (68/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 17% (73/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 18% (77/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 19% (81/424), 105.71 MiB | 11.89 MiB/s .. parsed-literal:: - Receiving objects: 62% (263/424), 199.39 MiB | 26.22 MiB/s + Receiving objects: 20% (85/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 21% (90/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 22% (94/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 23% (98/424), 105.71 MiB | 11.89 MiB/s +Receiving objects: 24% (102/424), 105.71 MiB | 11.89 MiB/s .. parsed-literal:: - Receiving objects: 63% (268/424), 212.89 MiB | 26.59 MiB/s + Receiving objects: 25% (106/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 26% (111/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 27% (115/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 28% (119/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 29% (123/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 30% (128/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 31% (132/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 32% (136/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 33% (140/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 34% (145/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 35% (149/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 36% (153/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 37% (157/424), 112.21 MiB | 11.99 MiB/s +Receiving objects: 38% (162/424), 112.21 MiB | 11.99 MiB/s .. parsed-literal:: - Receiving objects: 64% (272/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 65% (276/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 66% (280/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 67% (285/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 68% (289/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 69% (293/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 70% (297/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 71% (302/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 72% (306/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 73% (310/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 74% (314/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 75% (318/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 76% (323/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 77% (327/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 78% (331/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 79% (335/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 80% (340/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 81% (344/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 82% (348/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 83% (352/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 84% (357/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 85% (361/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 86% (365/424), 212.89 MiB | 26.59 MiB/s -Receiving objects: 87% (369/424), 212.89 MiB | 26.59 MiB/s + Receiving objects: 38% (164/424), 118.79 MiB | 12.04 MiB/s .. parsed-literal:: - Receiving objects: 87% (370/424), 242.73 MiB | 27.66 MiB/s + Receiving objects: 38% (164/424), 132.56 MiB | 12.57 MiB/s .. parsed-literal:: - Receiving objects: 87% (371/424), 271.36 MiB | 28.10 MiB/s + Receiving objects: 38% (164/424), 147.18 MiB | 13.34 MiB/s .. parsed-literal:: - Receiving objects: 87% (371/424), 293.98 MiB | 27.09 MiB/s + Receiving objects: 38% (164/424), 159.14 MiB | 13.27 MiB/s .. parsed-literal:: - Receiving objects: 88% (374/424), 293.98 MiB | 27.09 MiB/s -Receiving objects: 89% (378/424), 293.98 MiB | 27.09 MiB/s -Receiving objects: 90% (382/424), 293.98 MiB | 27.09 MiB/s -Receiving objects: 91% (386/424), 293.98 MiB | 27.09 MiB/s -Receiving objects: 92% (391/424), 293.98 MiB | 27.09 MiB/s -Receiving objects: 93% (395/424), 293.98 MiB | 27.09 MiB/s -Receiving objects: 94% (399/424), 293.98 MiB | 27.09 MiB/s -Receiving objects: 95% (403/424), 293.98 MiB | 27.09 MiB/s + Receiving objects: 38% (164/424), 172.36 MiB | 13.30 MiB/s .. parsed-literal:: - Receiving objects: 95% (407/424), 319.41 MiB | 26.57 MiB/s + Receiving objects: 38% (164/424), 186.46 MiB | 13.47 MiB/s .. parsed-literal:: - Receiving objects: 96% (408/424), 332.44 MiB | 26.47 MiB/s -Receiving objects: 97% (412/424), 332.44 MiB | 26.47 MiB/s -Receiving objects: 98% (416/424), 332.44 MiB | 26.47 MiB/s -Receiving objects: 99% (420/424), 332.44 MiB | 26.47 MiB/s + Receiving objects: 38% (164/424), 201.36 MiB | 13.62 MiB/s .. parsed-literal:: - remote: Total 424 (delta 84), reused 99 (delta 55), pack-reused 284 - Receiving objects: 100% (424/424), 332.44 MiB | 26.47 MiB/s -Receiving objects: 100% (424/424), 334.57 MiB | 24.35 MiB/s, done. - Resolving deltas: 0% (0/226) -Resolving deltas: 4% (11/226) -Resolving deltas: 7% (17/226) -Resolving deltas: 9% (22/226) -Resolving deltas: 15% (34/226) -Resolving deltas: 16% (38/226) -Resolving deltas: 17% (39/226) -Resolving deltas: 19% (43/226) -Resolving deltas: 20% (47/226) -Resolving deltas: 26% (59/226) + Receiving objects: 39% (166/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 40% (170/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 41% (174/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 42% (179/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 43% (183/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 44% (187/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 45% (191/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 46% (196/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 47% (200/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 48% (204/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 49% (208/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 50% (212/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 51% (217/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 52% (221/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 53% (225/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 54% (229/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 55% (234/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 56% (238/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 57% (242/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 58% (246/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 59% (251/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 60% (255/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 61% (259/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 62% (263/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 63% (268/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 64% (272/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 65% (276/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 66% (280/424), 208.90 MiB | 13.65 MiB/s +Receiving objects: 67% (285/424), 208.90 MiB | 13.65 MiB/s .. parsed-literal:: - Resolving deltas: 28% (65/226) -Resolving deltas: 35% (81/226) -Resolving deltas: 36% (83/226) -Resolving deltas: 39% (89/226) -Resolving deltas: 42% (95/226) -Resolving deltas: 46% (104/226) -Resolving deltas: 50% (114/226) -Resolving deltas: 51% (116/226) -Resolving deltas: 55% (125/226) -Resolving deltas: 58% (133/226) -Resolving deltas: 59% (135/226) -Resolving deltas: 60% (136/226) + Receiving objects: 67% (288/424), 216.43 MiB | 13.99 MiB/s .. parsed-literal:: - Resolving deltas: 61% (138/226) -Resolving deltas: 69% (158/226) -Resolving deltas: 83% (188/226) -Resolving deltas: 92% (208/226) -Resolving deltas: 94% (213/226) -Resolving deltas: 95% (215/226) -Resolving deltas: 96% (217/226) -Resolving deltas: 97% (220/226) -Resolving deltas: 98% (222/226) + Receiving objects: 67% (288/424), 232.14 MiB | 14.78 MiB/s .. parsed-literal:: - Resolving deltas: 99% (224/226) + Receiving objects: 68% (289/424), 240.34 MiB | 15.09 MiB/s +Receiving objects: 69% (293/424), 240.34 MiB | 15.09 MiB/s +Receiving objects: 70% (297/424), 240.34 MiB | 15.09 MiB/s +Receiving objects: 71% (302/424), 240.34 MiB | 15.09 MiB/s +Receiving objects: 72% (306/424), 240.34 MiB | 15.09 MiB/s +Receiving objects: 73% (310/424), 240.34 MiB | 15.09 MiB/s .. parsed-literal:: - Resolving deltas: 100% (226/226) -Resolving deltas: 100% (226/226), done. + Receiving objects: 73% (310/424), 248.86 MiB | 15.43 MiB/s + +.. parsed-literal:: + + Receiving objects: 74% (314/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 75% (318/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 76% (323/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 77% (327/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 78% (331/424), 257.49 MiB | 15.77 MiB/s + +.. parsed-literal:: + + Receiving objects: 79% (335/424), 257.49 MiB | 15.77 MiB/s + +.. parsed-literal:: + + Receiving objects: 80% (340/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 81% (344/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 82% (348/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 83% (352/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 84% (357/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 85% (361/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 86% (365/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 87% (369/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 88% (374/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 89% (378/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 90% (382/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 91% (386/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 92% (391/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 93% (395/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 94% (399/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 95% (403/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 96% (408/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 97% (412/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 98% (416/424), 257.49 MiB | 15.77 MiB/s +remote: Total 424 (delta 76), reused 52 (delta 52), pack-reused 339 + Receiving objects: 99% (420/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 100% (424/424), 257.49 MiB | 15.77 MiB/s +Receiving objects: 100% (424/424), 262.14 MiB | 12.58 MiB/s, done. + Resolving deltas: 0% (0/246) +Resolving deltas: 4% (10/246) +Resolving deltas: 6% (17/246) +Resolving deltas: 14% (36/246) +Resolving deltas: 18% (46/246) +Resolving deltas: 22% (56/246) +Resolving deltas: 23% (57/246) +Resolving deltas: 26% (64/246) +Resolving deltas: 27% (68/246) +Resolving deltas: 32% (81/246) +Resolving deltas: 36% (89/246) +Resolving deltas: 37% (92/246) +Resolving deltas: 41% (101/246) + +.. parsed-literal:: + + Resolving deltas: 42% (105/246) +Resolving deltas: 44% (110/246) +Resolving deltas: 46% (114/246) + +.. parsed-literal:: + + Resolving deltas: 48% (120/246) +Resolving deltas: 49% (122/246) +Resolving deltas: 52% (128/246) +Resolving deltas: 54% (134/246) +Resolving deltas: 58% (143/246) +Resolving deltas: 62% (153/246) +Resolving deltas: 63% (155/246) +Resolving deltas: 66% (163/246) +Resolving deltas: 67% (165/246) +Resolving deltas: 69% (172/246) +Resolving deltas: 70% (174/246) +Resolving deltas: 88% (217/246) +Resolving deltas: 96% (237/246) +Resolving deltas: 97% (240/246) +Resolving deltas: 98% (243/246) + +.. parsed-literal:: + + Resolving deltas: 99% (245/246) + +.. parsed-literal:: + + Resolving deltas: 100% (246/246) +Resolving deltas: 100% (246/246), done. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM Load PyTorch model @@ -578,13 +525,19 @@ one of them as example. .. code:: ipython3 - from efficient_sam.build_efficient_sam import build_efficient_sam_vitt, build_efficient_sam_vits + from efficient_sam.build_efficient_sam import ( + build_efficient_sam_vitt, + build_efficient_sam_vits, + ) import zipfile - MODELS_LIST = {"efficient-sam-vitt": build_efficient_sam_vitt, "efficient-sam-vits": build_efficient_sam_vits} + MODELS_LIST = { + "efficient-sam-vitt": build_efficient_sam_vitt, + "efficient-sam-vits": build_efficient_sam_vits, + } # Since EfficientSAM-S checkpoint file is >100MB, we store the zip file. - with zipfile.ZipFile("weights/efficient_sam_vits.pt.zip", 'r') as zip_ref: + with zipfile.ZipFile("weights/efficient_sam_vits.pt.zip", "r") as zip_ref: zip_ref.extractall("weights") Select one from supported models: @@ -624,7 +577,7 @@ build PyTorch model Run PyTorch model inference --------------------------- -Now, when we selected and + Now, when we selected and loaded PyTorch model, we can check its result Prepare input data @@ -653,7 +606,7 @@ bounding box, 3 - right-bottom point of bounding box. -.. image:: 274-efficient-sam-with-output_files/274-efficient-sam-with-output_11_0.png +.. image:: efficient-sam-with-output_files/efficient-sam-with-output_11_0.png @@ -690,9 +643,7 @@ points. We also provided some helper function for results visualization. def postprocess_results(predicted_iou, predicted_logits): sorted_ids = np.argsort(-predicted_iou, axis=-1) predicted_iou = np.take_along_axis(predicted_iou, sorted_ids, axis=2) - predicted_logits = np.take_along_axis( - predicted_logits, sorted_ids[..., None, None], axis=2 - ) + predicted_logits = np.take_along_axis(predicted_logits, sorted_ids[..., None, None], axis=2) return predicted_logits[0, 0, 0, :, :] >= 0 @@ -723,9 +674,7 @@ points. We also provided some helper function for results visualization. def show_box(box, ax): x0, y0 = box[0], box[1] w, h = box[2] - box[0], box[3] - box[1] - ax.add_patch( - plt.Rectangle((x0, y0), w, h, edgecolor="yellow", facecolor=(0, 0, 0, 0), lw=5) - ) + ax.add_patch(plt.Rectangle((x0, y0), w, h, edgecolor="yellow", facecolor=(0, 0, 0, 0), lw=5)) def show_anns(mask, ax): @@ -768,11 +717,11 @@ The complete model inference example demonstrated below -.. image:: 274-efficient-sam-with-output_files/274-efficient-sam-with-output_16_0.png +.. image:: efficient-sam-with-output_files/efficient-sam-with-output_16_0.png -.. image:: 274-efficient-sam-with-output_files/274-efficient-sam-with-output_16_1.png +.. image:: efficient-sam-with-output_files/efficient-sam-with-output_16_1.png Convert model to OpenVINO IR format @@ -796,7 +745,7 @@ disk using ``openvino.save_model``. core = ov.Core() - ov_model_path = Path(f'{model_id.value}.xml') + ov_model_path = Path(f"{model_id.value}.xml") if not ov_model_path.exists(): ov_model = ov.convert_model(pt_model, example_input=example_input) @@ -807,27 +756,27 @@ disk using ``openvino.save_model``. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:220: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:220: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if ( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:241: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:241: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert ( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:163: TracerWarning: Converting a tensor to a Python float might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:163: TracerWarning: Converting a tensor to a Python float might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! size = int(math.sqrt(xy_num)) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:164: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:164: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert size * size == xy_num - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:166: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:166: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if size != h or size != w: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:251: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam_encoder.py:251: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert x.shape[2] == num_patches .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:85: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:85: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if num_pts > self.decoder_max_num_input_points: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:92: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:92: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! elif num_pts < self.decoder_max_num_input_points: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/274-efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:126: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/efficient-sam/EfficientSAM/efficient_sam/efficient_sam.py:126: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if output_w > 0 and output_h > 0: @@ -879,7 +828,6 @@ Now, we can take a look on OpenVINO model prediction .. code:: ipython3 - example_input = prepare_input(image, input_points, input_labels, torch_tensor=False) result = compiled_model(example_input) @@ -900,11 +848,11 @@ Now, we can take a look on OpenVINO model prediction -.. image:: 274-efficient-sam-with-output_files/274-efficient-sam-with-output_24_0.png +.. image:: efficient-sam-with-output_files/efficient-sam-with-output_24_0.png -.. image:: 274-efficient-sam-with-output_files/274-efficient-sam-with-output_24_1.png +.. image:: efficient-sam-with-output_files/efficient-sam-with-output_24_1.png Quantization @@ -937,7 +885,7 @@ quantization. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -954,12 +902,13 @@ quantization. .. code:: ipython3 - import urllib.request + # Fetch `skip_kernel_extension` module + import requests - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/skip_kernel_extension.py', - filename='skip_kernel_extension.py' + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension @@ -981,11 +930,12 @@ creates DataLoader for preparing inputs for EfficientSAM model. from zipfile import ZipFile - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + r = requests.get( + url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py', ) + open('notebook_utils.py', 'w').write(r.text) + from notebook_utils import download_file DATA_URL = "https://ultralytics.com/assets/coco128.zip" @@ -1090,14 +1040,14 @@ architecture type, we should specify ``transformer`` in ``model_type``. .. parsed-literal:: - 2024-03-13 00:10:17.192537: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:10:17.225119: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:43:02.085337: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:43:02.119379: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:10:17.833750: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:43:02.732513: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT @@ -1175,7 +1125,7 @@ architecture type, we should specify ``transformer`` in ``model_type``. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply return Tensor(self.data * unwrap_tensor_data(other)) @@ -1235,11 +1185,11 @@ Verify quantized model inference -.. image:: 274-efficient-sam-with-output_files/274-efficient-sam-with-output_35_0.png +.. image:: efficient-sam-with-output_files/efficient-sam-with-output_35_0.png -.. image:: 274-efficient-sam-with-output_files/274-efficient-sam-with-output_35_1.png +.. image:: efficient-sam-with-output_files/efficient-sam-with-output_35_1.png Save quantize model on disk @@ -1316,7 +1266,7 @@ models, we use ``bencmark_app``. .. parsed-literal:: - [ INFO ] Read model took 42.81 ms + [ INFO ] Read model took 42.86 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] batched_images (node: batched_images) : f32 / [...] / [?,?,?,?] @@ -1340,7 +1290,7 @@ models, we use ``bencmark_app``. .. parsed-literal:: - [ INFO ] Compile model took 1395.23 ms + [ INFO ] Compile model took 1414.09 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model0 @@ -1348,6 +1298,10 @@ models, we use ``bencmark_app``. [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 [ INFO ] MULTI_DEVICE_PRIORITIES: CPU + + +.. parsed-literal:: + [ INFO ] CPU: [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False @@ -1377,31 +1331,27 @@ models, we use ``bencmark_app``. [ INFO ] Fill input 'batched_images' with random values [ INFO ] Fill input 'batched_points' with random values [ INFO ] Fill input 'batched_point_labels' with random values - - -.. parsed-literal:: - [Step 10/11] Measuring performance (Start inference asynchronously, 6 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in full mode (inputs filling are included in measurement loop). .. parsed-literal:: - [ INFO ] First inference took 637.21 ms + [ INFO ] First inference took 644.24 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 55 iterations - [ INFO ] Duration: 17119.37 ms + [ INFO ] Count: 49 iterations + [ INFO ] Duration: 15719.86 ms [ INFO ] Latency: - [ INFO ] Median: 1831.80 ms - [ INFO ] Average: 1819.34 ms - [ INFO ] Min: 600.66 ms - [ INFO ] Max: 1947.48 ms - [ INFO ] Throughput: 3.21 FPS + [ INFO ] Median: 1890.94 ms + [ INFO ] Average: 1870.83 ms + [ INFO ] Min: 622.00 ms + [ INFO ] Max: 1963.97 ms + [ INFO ] Throughput: 3.12 FPS .. code:: ipython3 @@ -1431,11 +1381,15 @@ models, we use ``bencmark_app``. .. parsed-literal:: - [ INFO ] Read model took 65.78 ms + [ INFO ] Read model took 66.17 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] batched_images (node: batched_images) : f32 / [...] / [?,?,?,?] [ INFO ] batched_points (node: batched_points) : i64 / [...] / [?,?,?,?] + + +.. parsed-literal:: + [ INFO ] batched_point_labels (node: batched_point_labels) : i64 / [...] / [?,?,?] [ INFO ] Model outputs: [ INFO ] ***NO_NAME*** (node: aten::reshape/Reshape_3) : f32 / [...] / [?,?,?,?,?] @@ -1455,7 +1409,7 @@ models, we use ``bencmark_app``. .. parsed-literal:: - [ INFO ] Compile model took 1890.02 ms + [ INFO ] Compile model took 1891.51 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model0 @@ -1463,10 +1417,6 @@ models, we use ``bencmark_app``. [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 [ INFO ] MULTI_DEVICE_PRIORITIES: CPU - - -.. parsed-literal:: - [ INFO ] CPU: [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False @@ -1502,7 +1452,7 @@ models, we use ``bencmark_app``. .. parsed-literal:: - [ INFO ] First inference took 582.30 ms + [ INFO ] First inference took 588.40 ms .. parsed-literal:: @@ -1510,13 +1460,13 @@ models, we use ``bencmark_app``. [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] [ INFO ] Count: 55 iterations - [ INFO ] Duration: 16025.25 ms + [ INFO ] Duration: 16253.02 ms [ INFO ] Latency: - [ INFO ] Median: 1729.05 ms - [ INFO ] Average: 1708.52 ms - [ INFO ] Min: 526.74 ms - [ INFO ] Max: 1796.14 ms - [ INFO ] Throughput: 3.43 FPS + [ INFO ] Median: 1752.95 ms + [ INFO ] Average: 1732.80 ms + [ INFO ] Min: 518.84 ms + [ INFO ] Max: 1804.26 ms + [ INFO ] Throughput: 3.38 FPS Interactive segmentation demo @@ -1543,7 +1493,10 @@ Interactive segmentation demo examples_dir.mkdir(exist_ok=True) for img_id, image_url in enumerate(example_images): - urllib.request.urlretrieve(image_url, examples_dir / f"example_{img_id}.jpg") + r = requests.get(image_url) + img_path = examples_dir / f"example_{img_id}.jpg" + with img_path.open("wb") as f: + f.write(r.content) def sigmoid(x): @@ -1566,7 +1519,12 @@ Interactive segmentation demo continue annotation["id"] = i annotation["segmentation"] = mask - annotation["bbox"] = [np.min(tmp[0]), np.min(tmp[1]), np.max(tmp[1]), np.max(tmp[0])] + annotation["bbox"] = [ + np.min(tmp[0]), + np.min(tmp[1]), + np.max(tmp[1]), + np.max(tmp[0]), + ] annotation["score"] = scores[i] annotation["area"] = annotation["segmentation"].sum() annotations.append(annotation) @@ -1577,10 +1535,7 @@ Interactive segmentation demo h = masks[0]["segmentation"].shape[0] w = masks[0]["segmentation"].shape[1] if h != target_height or w != target_width: - points = [ - [int(point[0] * w / target_width), int(point[1] * h / target_height)] - for point in points - ] + points = [[int(point[0] * w / target_width), int(point[1] * h / target_height)] for point in points] onemask = np.zeros((h, w)) for i, annotation in enumerate(masks): if isinstance(annotation, dict): @@ -1625,9 +1580,7 @@ Interactive segmentation demo mask = np.zeros((height, weight, 4)) - h_indices, w_indices = np.meshgrid( - np.arange(height), np.arange(weight), indexing="ij" - ) + h_indices, w_indices = np.meshgrid(np.arange(height), np.arange(weight), indexing="ij") indices = (index[h_indices, w_indices], h_indices, w_indices, slice(None)) mask[h_indices, w_indices, :] = mask_image[indices] @@ -1690,9 +1643,7 @@ Interactive segmentation demo (original_w, original_h), interpolation=cv2.INTER_NEAREST, ) - contours, _ = cv2.findContours( - annotation, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE - ) + contours, _ = cv2.findContours(annotation, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) for contour in contours: contour_all.append(contour) cv2.drawContours(temp, contour_all, -1, (255, 255, 255), 2 // scale) @@ -1710,7 +1661,6 @@ Interactive segmentation demo return image - # Description title = "
Efficient Segment Anything with OpenVINO and EfficientSAM
" @@ -1779,7 +1729,6 @@ Interactive segmentation demo all_masks = sigmoid(predicted_logits[0, 0, :, :, :]) >= 0.5 predicted_iou = predicted_iou[0, 0, ...] - max_predicted_iou = -1 selected_mask_using_predicted_iou = None selected_predicted_iou = None @@ -1788,8 +1737,8 @@ Interactive segmentation demo curr_predicted_iou = predicted_iou[m] if curr_predicted_iou > max_predicted_iou or selected_mask_using_predicted_iou is None: max_predicted_iou = curr_predicted_iou - selected_mask_using_predicted_iou = all_masks[m:m + 1] - selected_predicted_iou = predicted_iou[m:m + 1] + selected_mask_using_predicted_iou = all_masks[m : m + 1] + selected_predicted_iou = predicted_iou[m : m + 1] results = format_results(selected_mask_using_predicted_iou, selected_predicted_iou, predicted_logits, 0) @@ -1877,14 +1826,28 @@ Interactive segmentation demo image = copy.deepcopy(cond_image) x, y = evt.index[0], evt.index[1] label = "Add Mask" - point_radius, point_color = 15, (255, 255, 0) if label == "Add Mask" else (255, 0, 255) + point_radius, point_color = 15, ( + (255, 255, 0) + if label == "Add Mask" + else ( + 255, + 0, + 255, + ) + ) global_points.append([x, y]) global_point_label.append(1 if label == "Add Mask" else 0) if image is not None: draw = ImageDraw.Draw(image) - draw.ellipse([(x - point_radius, y - point_radius), (x + point_radius, y + point_radius)], fill=point_color) + draw.ellipse( + [ + (x - point_radius, y - point_radius), + (x + point_radius, y + point_radius), + ], + fill=point_color, + ) return image, global_points, global_point_label @@ -1896,13 +1859,27 @@ Interactive segmentation demo return image, global_points, global_point_label x, y = evt.index[0], evt.index[1] label = "Add Mask" - point_radius, point_color = 15, (255, 255, 0) if label == "Add Mask" else (255, 0, 255) + point_radius, point_color = 15, ( + (255, 255, 0) + if label == "Add Mask" + else ( + 255, + 0, + 255, + ) + ) global_points.append([x, y]) global_point_label.append(1 if label == "Add Mask" else 0) if image is not None: draw = ImageDraw.Draw(image) - draw.ellipse([(x - point_radius, y - point_radius), (x + point_radius, y + point_radius)], fill=point_color) + draw.ellipse( + [ + (x - point_radius, y - point_radius), + (x + point_radius, y + point_radius), + ], + fill=point_color, + ) if len(global_points) == 2: x1, y1 = global_points[0] @@ -1959,11 +1936,8 @@ Interactive segmentation demo # ### with gr.Row(): with gr.Column(): - with gr.Column(): - segment_btn_p = gr.Button( - "Segment with Point Prompt", variant="primary" - ) + segment_btn_p = gr.Button("Segment with Point Prompt", variant="primary") clear_btn_p = gr.Button("Clear", variant="secondary") gr.Markdown("Try some of the examples below ⬇️") @@ -1989,18 +1963,14 @@ Interactive segmentation demo # Submit & Clear with gr.Row(): with gr.Column(): - with gr.Column(): - segment_btn_b = gr.Button( - "Segment with Box Prompt", variant="primary" - ) + segment_btn_b = gr.Button("Segment with Box Prompt", variant="primary") clear_btn_b = gr.Button("Clear", variant="secondary") gr.Markdown("Try some of the examples below ⬇️") gr.Examples( examples=examples, inputs=[cond_img_b], - examples_per_page=4, ) @@ -2008,16 +1978,28 @@ Interactive segmentation demo # Description gr.Markdown(description_p) - cond_img_p.select(get_points_with_draw, inputs=[segm_img_p, cond_img_p, global_points, global_point_label], outputs=[segm_img_p, global_points, global_point_label]) + cond_img_p.select( + get_points_with_draw, + inputs=[segm_img_p, cond_img_p, global_points, global_point_label], + outputs=[segm_img_p, global_points, global_point_label], + ) - cond_img_b.select(get_points_with_draw_, [segm_img_b, cond_img_b, global_points, global_point_label], [segm_img_b, global_points, global_point_label]) + cond_img_b.select( + get_points_with_draw_, + [segm_img_b, cond_img_b, global_points, global_point_label], + [segm_img_b, global_points, global_point_label], + ) segment_btn_p.click( - segment_with_points, inputs=[cond_img_p, global_points, global_point_label], outputs=[segm_img_p, global_points, global_point_label] + segment_with_points, + inputs=[cond_img_p, global_points, global_point_label], + outputs=[segm_img_p, global_points, global_point_label], ) segment_btn_b.click( - segment_with_boxs, inputs=[cond_img_b, segm_img_b, global_points, global_point_label], outputs=[segm_img_b, global_points, global_point_label] + segment_with_boxs, + inputs=[cond_img_b, segm_img_b, global_points, global_point_label], + outputs=[segm_img_b, global_points, global_point_label], ) clear_btn_p.click(clear, outputs=[cond_img_p, segm_img_p, global_points, global_point_label]) diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_11_0.jpg b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_11_0.jpg similarity index 100% rename from docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_11_0.jpg rename to docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_11_0.jpg diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_11_0.png b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_11_0.png similarity index 100% rename from docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_11_0.png rename to docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_11_0.png diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_16_0.png b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_16_0.png similarity index 100% rename from docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_16_0.png rename to docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_16_0.png diff --git a/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_16_1.png b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_16_1.png new file mode 100644 index 00000000000..cedf338d0b6 --- /dev/null +++ b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_16_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53d92c7dd4acfc54d070d038a1b8a86ea51c1033ba17518ea266a7081901086f +size 1260793 diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_24_0.png b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_24_0.png similarity index 100% rename from docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_24_0.png rename to docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_24_0.png diff --git a/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_24_1.png b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_24_1.png new file mode 100644 index 00000000000..9a50592e4e2 --- /dev/null +++ b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_24_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dda127dcb26fadf81397d1872fc64e0a6af73cccd791912bfac525cb9040c24f +size 1260102 diff --git a/docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_35_0.png b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_35_0.png similarity index 100% rename from docs/notebooks/274-efficient-sam-with-output_files/274-efficient-sam-with-output_35_0.png rename to docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_35_0.png diff --git a/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_35_1.png b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_35_1.png new file mode 100644 index 00000000000..fa0d5c0961d --- /dev/null +++ b/docs/notebooks/efficient-sam-with-output_files/efficient-sam-with-output_35_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5ca7e36b0b567092b0960c0ce5d48df585bdf87175f045909d4665325dc7de5 +size 1263513 diff --git a/docs/notebooks/234-encodec-audio-compression-with-output.rst b/docs/notebooks/encodec-audio-compression-with-output.rst similarity index 99% rename from docs/notebooks/234-encodec-audio-compression-with-output.rst rename to docs/notebooks/encodec-audio-compression-with-output.rst index 66da395ef24..0446a02865b 100644 --- a/docs/notebooks/234-encodec-audio-compression-with-output.rst +++ b/docs/notebooks/encodec-audio-compression-with-output.rst @@ -56,20 +56,12 @@ Install required dependencies: .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "openvino>=2023.3.0" "torch>=2.1" "torchaudio>=2.1" encodec gradio "librosa>=0.8.1" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "openvino>=2023.3.0" "torch>=2.1" "torchaudio>=2.1" "encodec>=0.1.1" "gradio>=4.19" "librosa>=0.8.1" "matplotlib<=3.7" tqdm .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - pyannote-audio 2.0.1 requires torchaudio<1.0,>=0.10, but you have torchaudio 2.2.1+cpu which is incompatible. - pytorch-lightning 1.6.5 requires protobuf<=3.20.1, but you have protobuf 4.25.3 which is incompatible. - torchvision 0.14.1+cpu requires torch==1.13.1, but you have torch 2.2.1+cpu which is incompatible. + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -142,7 +134,7 @@ bandwidth. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:28: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:28: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.") @@ -155,19 +147,24 @@ Let us explore model capabilities on example audio: .. code:: ipython3 - import sys import librosa import matplotlib.pyplot as plt import librosa.display import IPython.display as ipd - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file test_data_url = "https://github.com/facebookresearch/encodec/raw/main/test_24k.wav" - sample_file = 'test_24k.wav' + sample_file = "test_24k.wav" download_file(test_data_url, sample_file) audio, sr = librosa.load(sample_file) plt.figure(figsize=(14, 5)) @@ -196,7 +193,7 @@ Let us explore model capabilities on example audio: -.. image:: 234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_6_2.png +.. image:: encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_6_2.png Preprocessing @@ -297,7 +294,7 @@ similar as possible to the original. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:28: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:28: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.") @@ -333,7 +330,7 @@ audio. -.. image:: 234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_19_1.png +.. image:: encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_19_1.png Nice! Audio sounds close to original. @@ -363,7 +360,7 @@ with ``ov.save_model``. codes, scale = self.model._encode_frame(x) if not self.model.normalize: return codes - return codes, scale + return codes, scale .. code:: ipython3 @@ -397,13 +394,13 @@ with ``ov.save_model``. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:60: TracerWarning: Converting a tensor to a Python float might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:60: TracerWarning: Converting a tensor to a Python float might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! ideal_length = (math.ceil(n_frames) - 1) * stride + (kernel_size - padding_total) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:85: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:85: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert padding_left >= 0 and padding_right >= 0, (padding_left, padding_right) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:87: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:87: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! max_pad = max(padding_left, padding_right) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:89: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:89: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if length <= max_pad: @@ -411,7 +408,11 @@ with ``ov.save_model``. OV_DECODER_PATH = Path("encodec_decoder.xml") if not OV_DECODER_PATH.exists(): - decoder_ov = ov.convert_model(decoder, example_input=torch.zeros([1, 8, 1500], dtype=torch.long), input=[[1, 8, 1500]]) + decoder_ov = ov.convert_model( + decoder, + example_input=torch.zeros([1, 8, 1500], dtype=torch.long), + input=[[1, 8, 1500]], + ) ov.save_model(decoder_ov, OV_DECODER_PATH) else: decoder_ov = core.read_model(OV_DECODER_PATH) @@ -419,11 +420,11 @@ with ``ov.save_model``. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/quantization/core_vq.py:358: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/quantization/core_vq.py:358: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. quantized_out = torch.tensor(0.0, device=q_indices.device) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/quantization/core_vq.py:359: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/quantization/core_vq.py:359: TracerWarning: Iterating over a tensor might cause the trace to be incorrect. Passing a tensor of different shape won't change the number of iterations executed (and might lead to errors or silently give incorrect results). for i, indices in enumerate(q_indices): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:103: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/encodec/modules/conv.py:103: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert (padding_left + padding_right) <= x.shape[-1] @@ -453,8 +454,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -506,7 +507,7 @@ select device from dropdown list for running inference using OpenVINO model._encode_frame = encode_frame model._decode_frame = decode_frame - MODELS[model_id] = lambda : model + MODELS[model_id] = lambda: model Run EnCodec with OpenVINO ------------------------- @@ -563,7 +564,7 @@ like with the original PyTorch models. -.. image:: 234-encodec-audio-compression-with-output_files/234-encodec-audio-compression-with-output_38_1.png +.. image:: encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_38_1.png .. code:: ipython3 @@ -572,12 +573,13 @@ like with the original PyTorch models. from typing import Tuple import numpy as np + def preprocess(input, sample_rate, model_sr, model_channels): input = torch.tensor(input, dtype=torch.float32) input = input / 2**15 # adjust to int16 scale input = input.unsqueeze(0) input = convert_audio(input, sample_rate, model_sr, model_channels) - + return input @@ -588,25 +590,21 @@ like with the original PyTorch models. output = output.astype(np.int16) return output - + def _compress(input: Tuple[int, np.ndarray]): sample_rate, waveform = input waveform = preprocess(waveform, sample_rate, model_sr, model_channels) - + b = compress(model, waveform, use_lm=False) out, out_sr = decompress(b) - + out = postprocess(out) return out_sr, out - - demo = gr.Interface( - _compress, - 'audio', - 'audio', - examples=['test_24k.wav'] - ) - + + + demo = gr.Interface(_compress, "audio", "audio", examples=["test_24k.wav"]) + try: demo.launch(debug=False) except Exception: diff --git a/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_19_1.png b/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_19_1.png new file mode 100644 index 00000000000..0aeedba5d00 --- /dev/null +++ b/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_19_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:160e17b680bd3d5e8ae8d05736f6c8794af22597097cc8481d0986915fe9d696 +size 44175 diff --git a/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_38_1.png b/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_38_1.png new file mode 100644 index 00000000000..cb5978d13a0 --- /dev/null +++ b/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_38_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c02accf9f1cf8a5dff3d4c78aa47ae41802250a855310353044c2f58a5689c10 +size 44203 diff --git a/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_6_2.png b/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_6_2.png new file mode 100644 index 00000000000..a8af4e5b615 --- /dev/null +++ b/docs/notebooks/encodec-audio-compression-with-output_files/encodec-audio-compression-with-output_6_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2df9c2103837505ffcf5543e55a8d1589385ddb5e73b917d5efe9a6ebfd0368c +size 44933 diff --git a/docs/notebooks/261-fast-segment-anything-with-output.rst b/docs/notebooks/fast-segment-anything-with-output.rst similarity index 77% rename from docs/notebooks/261-fast-segment-anything-with-output.rst rename to docs/notebooks/fast-segment-anything-with-output.rst index 50091029c90..1880f1a574a 100644 --- a/docs/notebooks/261-fast-segment-anything-with-output.rst +++ b/docs/notebooks/fast-segment-anything-with-output.rst @@ -66,15 +66,15 @@ Install requirements .. code:: ipython3 - %pip install -q "ultralytics==8.0.200" onnx --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "ultralytics==8.1.42" onnx tqdm --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino-dev>=2024.0.0" - %pip install -q "nncf>=2.6.0" + %pip install -q "nncf>=2.9.0" %pip install -q "gradio>=4.13" .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -82,11 +82,6 @@ Install requirements Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -94,17 +89,7 @@ Install requirements .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -127,18 +112,23 @@ Imports from PIL import Image, ImageDraw from ultralytics import FastSAM - import urllib.request # Fetch skip_kernel_extension module - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/skip_kernel_extension.py', - filename='skip_kernel_extension.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", ) + open("skip_kernel_extension.py", "w").write(r.text) # Fetch `notebook_utils` module - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file + %load_ext skip_kernel_extension FastSAM in Ultralytics @@ -167,7 +157,7 @@ model and generate a segmentation map. .. parsed-literal:: - Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/FastSAM-x.pt to 'FastSAM-x.pt'... + Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/FastSAM-x.pt to 'FastSAM-x.pt'... .. parsed-literal:: @@ -178,167 +168,82 @@ model and generate a segmentation map. .. parsed-literal:: - 0%| | 304k/138M [00:00<00:46, 3.09MB/s] + 0%| | 296k/138M [00:00<00:47, 3.02MB/s] .. parsed-literal:: - 2%|▏ | 2.25M/138M [00:00<00:10, 13.2MB/s] + 2%|▏ | 2.45M/138M [00:00<00:10, 14.1MB/s] .. parsed-literal:: - 5%|▌ | 7.08M/138M [00:00<00:04, 29.2MB/s] + 5%|▍ | 6.62M/138M [00:00<00:05, 27.3MB/s] .. parsed-literal:: - 9%|▊ | 11.9M/138M [00:00<00:03, 37.5MB/s] + 13%|█▎ | 17.4M/138M [00:00<00:02, 60.8MB/s] .. parsed-literal:: - 12%|█▏ | 16.8M/138M [00:00<00:02, 42.5MB/s] + 21%|██ | 28.6M/138M [00:00<00:01, 80.9MB/s] .. parsed-literal:: - 16%|█▌ | 21.6M/138M [00:00<00:02, 44.9MB/s] + 29%|██▉ | 39.8M/138M [00:00<00:01, 93.1MB/s] .. parsed-literal:: - 19%|█▉ | 26.7M/138M [00:00<00:02, 47.7MB/s] + 37%|███▋ | 50.9M/138M [00:00<00:00, 101MB/s] .. parsed-literal:: - 23%|██▎ | 31.4M/138M [00:00<00:02, 48.1MB/s] + 45%|████▍ | 62.0M/138M [00:00<00:00, 106MB/s] .. parsed-literal:: - 26%|██▌ | 36.0M/138M [00:00<00:02, 47.2MB/s] + 53%|█████▎ | 73.2M/138M [00:00<00:00, 109MB/s] .. parsed-literal:: - 29%|██▉ | 40.5M/138M [00:01<00:02, 46.6MB/s] + 61%|██████ | 83.6M/138M [00:01<00:00, 109MB/s] .. parsed-literal:: - 33%|███▎ | 45.1M/138M [00:01<00:02, 47.0MB/s] + 68%|██████▊ | 94.1M/138M [00:01<00:00, 108MB/s] .. parsed-literal:: - 36%|███▌ | 49.6M/138M [00:01<00:01, 46.7MB/s] + 76%|███████▌ | 105M/138M [00:01<00:00, 109MB/s] .. parsed-literal:: - 39%|███▉ | 54.0M/138M [00:01<00:01, 44.5MB/s] + 83%|████████▎ | 115M/138M [00:01<00:00, 107MB/s] .. parsed-literal:: - 42%|████▏ | 58.3M/138M [00:01<00:01, 42.9MB/s] + 91%|█████████ | 125M/138M [00:01<00:00, 96.6MB/s] .. parsed-literal:: - 45%|████▌ | 62.8M/138M [00:01<00:01, 44.1MB/s] + 97%|█████████▋| 135M/138M [00:01<00:00, 97.2MB/s] .. parsed-literal:: - 49%|████▊ | 67.1M/138M [00:01<00:01, 44.0MB/s] - -.. parsed-literal:: - - - 52%|█████▏ | 71.5M/138M [00:01<00:01, 44.7MB/s] - -.. parsed-literal:: - - - 55%|█████▍ | 75.8M/138M [00:01<00:01, 44.1MB/s] - -.. parsed-literal:: - - - 58%|█████▊ | 80.3M/138M [00:01<00:01, 45.2MB/s] - -.. parsed-literal:: - - - 61%|██████ | 84.7M/138M [00:02<00:01, 44.7MB/s] - -.. parsed-literal:: - - - 65%|██████▍ | 89.3M/138M [00:02<00:01, 45.9MB/s] - -.. parsed-literal:: - - - 68%|██████▊ | 93.7M/138M [00:02<00:01, 44.3MB/s] - -.. parsed-literal:: - - - 71%|███████▏ | 98.6M/138M [00:02<00:00, 46.3MB/s] - -.. parsed-literal:: - - - 75%|███████▍ | 103M/138M [00:02<00:00, 45.7MB/s] - -.. parsed-literal:: - - - 78%|███████▊ | 107M/138M [00:02<00:00, 43.3MB/s] - -.. parsed-literal:: - - - 81%|████████ | 112M/138M [00:02<00:00, 43.7MB/s] - -.. parsed-literal:: - - - 84%|████████▍ | 116M/138M [00:02<00:00, 42.3MB/s] - -.. parsed-literal:: - - - 87%|████████▋ | 120M/138M [00:02<00:00, 40.6MB/s] - -.. parsed-literal:: - - - 90%|████████▉ | 124M/138M [00:03<00:00, 41.7MB/s] - -.. parsed-literal:: - - - 93%|█████████▎| 128M/138M [00:03<00:00, 42.5MB/s] - -.. parsed-literal:: - - - 96%|█████████▌| 133M/138M [00:03<00:00, 43.0MB/s] - -.. parsed-literal:: - - - 99%|█████████▉| 137M/138M [00:03<00:00, 43.4MB/s] - -.. parsed-literal:: - - - 100%|██████████| 138M/138M [00:03<00:00, 43.1MB/s] + 100%|██████████| 138M/138M [00:01<00:00, 90.6MB/s] @@ -358,12 +263,12 @@ model and generate a segmentation map. .. parsed-literal:: - image 1/1 /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/261-fast-segment-anything/coco_bike.jpg: 768x1024 37 objects, 617.2ms + image 1/1 /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/fast-segment-anything/coco_bike.jpg: 768x1024 37 objects, 624.0ms .. parsed-literal:: - Speed: 3.0ms preprocess, 617.2ms inference, 27.3ms postprocess per image at shape (1, 3, 768, 1024) + Speed: 3.1ms preprocess, 624.0ms inference, 27.7ms postprocess per image at shape (1, 3, 768, 1024) The model returns segmentation maps for all the objects on the image. @@ -376,7 +281,7 @@ Observe the results below. -.. image:: 261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_9_0.png +.. image:: fast-segment-anything-with-output_files/fast-segment-anything-with-output_9_0.png @@ -396,13 +301,12 @@ tracing. The FastSAM model itself is based on YOLOv8 model. # instance segmentation model ov_model_path = Path(f"{model_name}_openvino_model/{model_name}.xml") if not ov_model_path.exists(): - ov_model = model.export(format="openvino", dynamic=True, half=False) - + ov_model = model.export(format="openvino", dynamic=False, half=False) .. parsed-literal:: - Ultralytics YOLOv8.0.200 🚀 Python-3.8.10 torch-2.2.1+cpu CPU (Intel Core(TM) i9-10920X 3.50GHz) + Ultralytics YOLOv8.1.42 🚀 Python-3.8.10 torch-2.2.2+cpu CPU (Intel Core(TM) i9-10920X 3.50GHz) .. parsed-literal:: @@ -411,17 +315,6 @@ tracing. The FastSAM model itself is based on YOLOv8 model. PyTorch: starting from 'FastSAM-x.pt' with input shape (1, 3, 1024, 1024) BCHW and output shape(s) ((1, 37, 21504), (1, 32, 256, 256)) (138.2 MB) -.. parsed-literal:: - - - ONNX: starting export with onnx 1.15.0 opset 17... - - -.. parsed-literal:: - - ONNX: export success ✅ 3.6s, saved as 'FastSAM-x.onnx' (275.5 MB) - - .. parsed-literal:: @@ -430,14 +323,14 @@ tracing. The FastSAM model itself is based on YOLOv8 model. .. parsed-literal:: - OpenVINO: export success ✅ 1.0s, saved as 'FastSAM-x_openvino_model/' (275.9 MB) + OpenVINO: export success ✅ 6.1s, saved as 'FastSAM-x_openvino_model/' (276.1 MB) .. parsed-literal:: - Export complete (7.6s) - Results saved to /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/261-fast-segment-anything + Export complete (9.0s) + Results saved to /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/fast-segment-anything Predict: yolo predict task=segment model=FastSAM-x_openvino_model imgsz=1024 Validate: yolo val task=segment model=FastSAM-x_openvino_model imgsz=1024 data=ultralytics/datasets/sa.yaml Visualize: https://netron.app @@ -510,11 +403,12 @@ object, so we need to redefine the magic ``__call__`` method. .. code:: ipython3 class OVWrapper: - def __init__(self, ov_model, device="CPU", stride=32) -> None: - self.model = core.compile_model(ov_model, device_name=device) + def __init__(self, ov_model, device="CPU", stride=32, ov_config=None) -> None: + ov_config = ov_config or {} + self.model = core.compile_model(ov_model, device, ov_config) self.stride = stride - self.pt = True + self.pt = False self.fp16 = False self.names = {0: "object"} @@ -527,10 +421,19 @@ pipeline. .. code:: ipython3 - wrapped_model = OVWrapper(ov_model_path, device=device.value, stride=model.predictor.model.stride) + ov_config = {} + if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): + ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} + + wrapped_model = OVWrapper( + ov_model_path, + device=device.value, + stride=model.predictor.model.stride, + ov_config=ov_config, + ) model.predictor.model = wrapped_model - ov_results = model(image_uri, device=device.value, retina_masks=True, imgsz=640, conf=0.6, iou=0.9) + ov_results = model(image_uri, device=device.value, retina_masks=True, imgsz=1024, conf=0.6, iou=0.9) @@ -540,12 +443,12 @@ pipeline. .. parsed-literal:: - image 1/1 /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/261-fast-segment-anything/coco_bike.jpg: 480x640 33 objects, 299.4ms + image 1/1 /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/fast-segment-anything/coco_bike.jpg: 1024x1024 42 objects, 504.2ms .. parsed-literal:: - Speed: 2.4ms preprocess, 299.4ms inference, 25.3ms postprocess per image at shape (1, 3, 480, 640) + Speed: 6.5ms preprocess, 504.2ms inference, 31.9ms postprocess per image at shape (1, 3, 1024, 1024) One can observe the converted model outputs in the next cell, they is @@ -558,7 +461,7 @@ the same as of the original model. -.. image:: 261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_21_0.png +.. image:: fast-segment-anything-with-output_files/fast-segment-anything-with-output_21_0.png @@ -583,7 +486,7 @@ The optimization process contains the following steps: do_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -614,7 +517,7 @@ The quantization algorithm is based on `The YOLOv8 quantization example `__ in the NNCF repo, refer there for more details. Moreover, you can check out other quantization tutorials in the `OV notebooks -repo <230-yolov8-optimizati-with-output.html>`__. +repo <../yolov8-optimization/>`__. **Note**: Model post-training quantization is time-consuming process. Be patient, it can take several minutes depending on your hardware. @@ -652,7 +555,7 @@ repo <230-yolov8-optimizati-with-output.html>`__. self.compiled_model = core.compile_model(self.model, device_name="CPU") self.stride = stride - self.pt = True + self.pt = False self.fp16 = False self.names = {0: "object"} @@ -700,7 +603,7 @@ repo <230-yolov8-optimizati-with-output.html>`__. coco_dataset = COCOLoader(OUT_DIR / 'coco128/images/train2017') with calibration_data_collection(): for image in tqdm(coco_dataset[:calibration_dataset_size], desc="Collecting calibration data"): - model(image, retina_masks=True, imgsz=640, conf=0.6, iou=0.9, verbose=False) + model(image, retina_masks=True, imgsz=1024, conf=0.6, iou=0.9, verbose=False) calibration_cache_path.parent.mkdir(parents=True, exist_ok=True) with open(calibration_cache_path, "wb") as f: pickle.dump(calibration_data, f) @@ -724,18 +627,9 @@ repo <230-yolov8-optimizati-with-output.html>`__. ignored_scope=nncf.IgnoredScope( types=["Multiply", "Subtract", "Sigmoid"], # ignore operations names=[ - "/model.22/dfl/conv/Conv", # in the post-processing subgraph - "/model.22/Add", - "/model.22/Add_1", - "/model.22/Add_2", - "/model.22/Add_3", - "/model.22/Add_4", - "/model.22/Add_5", - "/model.22/Add_6", - "/model.22/Add_7", - "/model.22/Add_8", - "/model.22/Add_9", - "/model.22/Add_10", + "__module.model.22.dfl.conv/aten::_convolution/Convolution", # in the post-processing subgraph + "__module.model.22/aten::add/Add", + "__module.model.22/aten::add/Add_1" ], ) ) @@ -772,42 +666,49 @@ repo <230-yolov8-optimizati-with-output.html>`__. .. parsed-literal:: - INFO:nncf:12 ignored nodes were found by name in the NNCFGraph + INFO:nncf:3 ignored nodes were found by name in the NNCFGraph .. parsed-literal:: - INFO:nncf:13 ignored nodes were found by types in the NNCFGraph + INFO:nncf:8 ignored nodes were found by types in the NNCFGraph .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 204 /model.22/Sigmoid + INFO:nncf:Not adding activation input quantizer for operation: 275 __module.model.22/aten::sigmoid/Sigmoid .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 246 /model.22/dfl/conv/Conv + INFO:nncf:Not adding activation input quantizer for operation: 325 __module.model.22.dfl.conv/aten::_convolution/Convolution .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 275 /model.22/Sub + INFO:nncf:Not adding activation input quantizer for operation: 351 __module.model.22/aten::sub/Subtract .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 276 /model.22/Add_10 + INFO:nncf:Not adding activation input quantizer for operation: 352 __module.model.22/aten::add/Add .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 299 /model.22/Sub_1 + INFO:nncf:Not adding activation input quantizer for operation: 365 __module.model.22/aten::add/Add_1 + 378 __module.model.22/aten::div/Divide + .. parsed-literal:: - INFO:nncf:Not adding activation input quantizer for operation: 341 /model.22/Mul_5 + INFO:nncf:Not adding activation input quantizer for operation: 366 __module.model.22/aten::sub/Subtract_1 + + +.. parsed-literal:: + + INFO:nncf:Not adding activation input quantizer for operation: 388 __module.model.22/aten::mul/Multiply @@ -833,7 +734,7 @@ repo <230-yolov8-optimizati-with-output.html>`__. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply return Tensor(self.data * unwrap_tensor_data(other)) @@ -880,7 +781,7 @@ calibration dataset to measure the performance. start_time = datetime.datetime.now() for image in tqdm(coco_dataset, desc="Measuring inference time"): - model(image, retina_masks=True, imgsz=640, conf=0.6, iou=0.9, verbose=False) + model(image, retina_masks=True, imgsz=1024, conf=0.6, iou=0.9, verbose=False) duration_base = (datetime.datetime.now() - start_time).seconds print("Segmented in", duration_base, "seconds.") print("Resulting in", round(calibration_dataset_size / duration_base, 2), "fps") @@ -894,8 +795,8 @@ calibration dataset to measure the performance. .. parsed-literal:: - Segmented in 21 seconds. - Resulting in 6.1 fps + Segmented in 68 seconds. + Resulting in 1.88 fps .. code:: ipython3 @@ -907,7 +808,7 @@ calibration dataset to measure the performance. start_time = datetime.datetime.now() for image in tqdm(coco_dataset, desc="Measuring inference time"): - model(image, retina_masks=True, imgsz=640, conf=0.6, iou=0.9, verbose=False) + model(image, retina_masks=True, imgsz=1024, conf=0.6, iou=0.9, verbose=False) duration_quantized = (datetime.datetime.now() - start_time).seconds print("Segmented in", duration_quantized, "seconds") print("Resulting in", round(calibration_dataset_size / duration_quantized, 2), "fps") @@ -922,9 +823,9 @@ calibration dataset to measure the performance. .. parsed-literal:: - Segmented in 11 seconds - Resulting in 11.64 fps - That is 1.91 times faster! + Segmented in 23 seconds + Resulting in 5.57 fps + That is 2.96 times faster! Try out the converted pipeline @@ -945,6 +846,7 @@ bounding boxes on input image. import numpy as np import matplotlib.pyplot as plt + def fast_process( annotations, image, @@ -955,7 +857,6 @@ bounding boxes on input image. use_retina=True, with_contours=True, ): - original_h = image.height original_w = image.width @@ -1049,8 +950,11 @@ bounding boxes on input image. import gradio as gr - examples = [[image_uri], ["https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/empty_road_mapillary.jpg"], - ["https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/wall.jpg"]] + examples = [ + [image_uri], + ["https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/empty_road_mapillary.jpg"], + ["https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/wall.jpg"], + ] object_points = [] background_points = [] @@ -1063,17 +967,17 @@ based on user input. .. code:: ipython3 def segment( - image, - model_type, - input_size=1024, - iou_threshold=0.75, - conf_threshold=0.4, - better_quality=True, - with_contours=True, - use_retina=True, - mask_random_color=True, + image, + model_type, + input_size=1024, + iou_threshold=0.75, + conf_threshold=0.4, + better_quality=True, + with_contours=True, + use_retina=True, + mask_random_color=True, ): - if do_quantize.value and model_type == 'Quantized model': + if do_quantize.value and model_type == "Quantized model": model.predictor.model = quantized_wrapped_model else: model.predictor.model = wrapped_model @@ -1085,12 +989,13 @@ based on user input. new_h = int(h * scale) image = image.resize((new_w, new_h)) - results = model(image, - device=device.value, - retina_masks=use_retina, - iou=iou_threshold, - conf=conf_threshold, - imgsz=input_size,) + results = model( + image, + retina_masks=use_retina, + iou=iou_threshold, + conf=conf_threshold, + imgsz=input_size, + ) masks = results[0].masks.data # Calculate annotations @@ -1143,7 +1048,7 @@ based on user input. mask_random_color=mask_random_color, bbox=None, use_retina=use_retina, - with_contours=with_contours + with_contours=with_contours, ) .. code:: ipython3 @@ -1177,10 +1082,11 @@ based on user input. # Draw a point ImageDraw.Draw(img).ellipse( [(x - point_radius, y - point_radius), (x + point_radius, y + point_radius)], - fill=color + fill=color, ) return img + def clear_points() -> (Image.Image, None): """Gradio clear points callback.""" global object_points, background_points, bbox_points @@ -1190,6 +1096,7 @@ based on user input. bbox_points = [] return last_image, None + def save_last_picked_image(img: Image.Image) -> None: """Gradio callback saves the last used image.""" global last_image @@ -1200,6 +1107,7 @@ based on user input. # Removes the segmentation map output return None + with gr.Blocks(title="Fast SAM") as demo: with gr.Row(variant="panel"): original_img = gr.Image(label="Input", value=examples[0][0], type="pil") @@ -1207,23 +1115,27 @@ based on user input. with gr.Row(): point_type = gr.Radio( ["Object point", "Background point", "Bounding Box"], - value="Object point", label="Pixel selector type" + value="Object point", + label="Pixel selector type", ) model_type = gr.Radio( ["FP32 model", "Quantized model"] if do_quantize.value else ["FP32 model"], - value="FP32 model", label="Select model variant" + value="FP32 model", + label="Select model variant", ) with gr.Row(variant="panel"): segment_button = gr.Button("Segment", variant="primary") clear_button = gr.Button("Clear points", variant="secondary") - gr.Examples(examples, inputs=original_img, - fn=save_last_picked_image, run_on_click=True, outputs=segmented_img + gr.Examples( + examples, + inputs=original_img, + fn=save_last_picked_image, + run_on_click=True, + outputs=segmented_img, ) # Callbacks - original_img.select(select_point, - inputs=[original_img, point_type], - outputs=original_img) + original_img.select(select_point, inputs=[original_img, point_type], outputs=original_img) original_img.upload(save_last_picked_image, inputs=original_img, outputs=segmented_img) clear_button.click(clear_points, outputs=[original_img, segmented_img]) segment_button.click(segment, inputs=[original_img, model_type], outputs=segmented_img) diff --git a/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_21_0.jpg b/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_21_0.jpg new file mode 100644 index 00000000000..0a0ff4547b6 --- /dev/null +++ b/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_21_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f7a417ababdcb2d4255987f0526f7e1e4eb4426cb2cb1a486fac37b420be4a6 +size 119342 diff --git a/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_21_0.png b/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_21_0.png new file mode 100644 index 00000000000..827cd40e73b --- /dev/null +++ b/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_21_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c93d6c226025f3080cb2f0f5e7dbc85b8a9605398121d6f42117e0f1eb117e6 +size 799175 diff --git a/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_9_0.jpg b/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_9_0.jpg similarity index 100% rename from docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_9_0.jpg rename to docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_9_0.jpg diff --git a/docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_9_0.png b/docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_9_0.png similarity index 100% rename from docs/notebooks/261-fast-segment-anything-with-output_files/261-fast-segment-anything-with-output_9_0.png rename to docs/notebooks/fast-segment-anything-with-output_files/fast-segment-anything-with-output_9_0.png diff --git a/docs/notebooks/252-fastcomposer-image-generation-with-output.rst b/docs/notebooks/fastcomposer-image-generation-with-output.rst similarity index 89% rename from docs/notebooks/252-fastcomposer-image-generation-with-output.rst rename to docs/notebooks/fastcomposer-image-generation-with-output.rst index ad096c2ccb8..67294a27a84 100644 --- a/docs/notebooks/252-fastcomposer-image-generation-with-output.rst +++ b/docs/notebooks/fastcomposer-image-generation-with-output.rst @@ -52,13 +52,13 @@ Table of contents: Install Prerequisites --------------------- -Install required packages. + Install required packages. .. code:: ipython3 %pip install -q --upgrade pip %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu torch torchvision - %pip install -q transformers huggingface-hub accelerate "diffusers>=0.16.1" gradio + %pip install -q transformers huggingface-hub accelerate "diffusers>=0.16.1" "gradio>=4.19" %pip install -q "openvino>=2023.1.0" @@ -96,7 +96,7 @@ Download pretrained model. from huggingface_hub import hf_hub_download - model_path = hf_hub_download(repo_id='mit-han-lab/fastcomposer', filename='pytorch_model.bin') + model_path = hf_hub_download(repo_id="mit-han-lab/fastcomposer", filename="pytorch_model.bin") Convert models to OpenVINO Intermediate representation (IR) format ------------------------------------------------------------------ @@ -116,7 +116,7 @@ Define a configuration and make instance of ``FastComposerModel``. @dataclass() class Config: finetuned_model_path = str(model_path) - image_encoder_name_or_path = 'openai/clip-vit-large-patch14' + image_encoder_name_or_path = "openai/clip-vit-large-patch14" localization_layers = 5 mask_loss = False mask_loss_prob = 0.5 @@ -124,7 +124,7 @@ Define a configuration and make instance of ``FastComposerModel``. object_localization = False object_localization_weight = 0.01 object_resolution = 256 - pretrained_model_name_or_path = 'runwayml/stable-diffusion-v1-5' + pretrained_model_name_or_path = "runwayml/stable-diffusion-v1-5" revision = None @@ -193,7 +193,7 @@ function. with torch.no_grad(): converted_model = ov.convert_model(model, example_input=example_input) ov.save_model(converted_model, xml_path) - + # cleanup memory torch._C._jit_clear_class_registry() torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() @@ -210,7 +210,7 @@ padded to the maximum length accepted by the model. .. code:: ipython3 - text_encoder_ir_xml_path = Path('models/text_encoder_ir.xml') + text_encoder_ir_xml_path = Path("models/text_encoder_ir.xml") example_input = torch.zeros((1, 77), dtype=torch.int64) model.text_encoder.eval() @@ -268,7 +268,7 @@ tensor of size [3, height, width]. ) ) - object_transforms_ir_xml_path = Path('models/object_transforms_ir.xml') + object_transforms_ir_xml_path = Path("models/object_transforms_ir.xml") example_input = torch.zeros([3, 1500, 1453], dtype=torch.uint8) object_transforms.eval() @@ -280,9 +280,9 @@ tensor of size [3, height, width]. .. parsed-literal:: - /home/ea/work/openvino_notebooks/notebooks/252-fastcomposer-image-generation/fastcomposer/fastcomposer/transforms.py:35: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /home/ea/work/openvino_notebooks/notebooks/fastcomposer-image-generation/fastcomposer/fastcomposer/transforms.py:35: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if h == w: - /home/ea/work/openvino_notebooks/notebooks/252-fastcomposer-image-generation/fastcomposer/fastcomposer/transforms.py:37: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /home/ea/work/openvino_notebooks/notebooks/fastcomposer-image-generation/fastcomposer/fastcomposer/transforms.py:37: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! elif h > w: @@ -297,7 +297,7 @@ input and transforms it into a high-dimensional vector or embeddings. .. code:: ipython3 - image_encoder_ir_xml_path = Path('models/image_encoder_ir.xml') + image_encoder_ir_xml_path = Path("models/image_encoder_ir.xml") example_input = torch.zeros((1, 2, 3, 256, 256), dtype=torch.float32) model.image_encoder.eval() @@ -309,7 +309,7 @@ input and transforms it into a high-dimensional vector or embeddings. .. parsed-literal:: - /home/ea/work/openvino_notebooks/notebooks/252-fastcomposer-image-generation/model.py:108: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /home/ea/work/openvino_notebooks/notebooks/fastcomposer-image-generation/model.py:108: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if h != self.image_size or w != self.image_size: @@ -326,13 +326,13 @@ MLP. .. code:: ipython3 - postfuse_module_ir_xml_path = Path('models/postfuse_module_ir.xml') + postfuse_module_ir_xml_path = Path("models/postfuse_module_ir.xml") example_input = [ torch.zeros((1, 77, 768), dtype=torch.float32), torch.zeros((1, 2, 1, 768), dtype=torch.float32), torch.zeros((1, 77), dtype=torch.bool), - torch.zeros((1,), dtype=torch.int64) + torch.zeros((1,), dtype=torch.int64), ] model.postfuse_module.eval() @@ -351,12 +351,12 @@ text encoder hidden state. .. code:: ipython3 - unet_ir_xml_path = Path('models/unet_ir.xml') + unet_ir_xml_path = Path("models/unet_ir.xml") example_input = [ torch.zeros((8, 4, 64, 64), dtype=torch.float32), torch.zeros((), dtype=torch.int64), - torch.zeros((8, 77, 768), dtype=torch.float32) + torch.zeros((8, 77, 768), dtype=torch.float32), ] model.unet.eval() convert(model.unet, unet_ir_xml_path, example_input) @@ -421,7 +421,6 @@ convert outputs from numpy to torch types. library implements for all the pipelines (such as downloading or saving, running on a particular device, etc.) """ - @torch.no_grad() def _tokenize_and_mask_noun_phrases_ends(self, caption): input_ids = self.special_tokenizer.encode(caption) @@ -441,23 +440,25 @@ convert outputs from numpy to torch types. if len(clean_input_ids) > max_len: clean_input_ids = clean_input_ids[:max_len] else: - clean_input_ids = clean_input_ids + [self.tokenizer.pad_token_id] * ( - max_len - len(clean_input_ids) - ) + clean_input_ids = clean_input_ids + [self.tokenizer.pad_token_id] * (max_len - len(clean_input_ids)) if len(noun_phrase_end_mask) > max_len: noun_phrase_end_mask = noun_phrase_end_mask[:max_len] else: - noun_phrase_end_mask = noun_phrase_end_mask + [False] * ( - max_len - len(noun_phrase_end_mask) - ) + noun_phrase_end_mask = noun_phrase_end_mask + [False] * (max_len - len(noun_phrase_end_mask)) clean_input_ids = torch.tensor(clean_input_ids, dtype=torch.long) noun_phrase_end_mask = torch.tensor(noun_phrase_end_mask, dtype=torch.bool) return clean_input_ids.unsqueeze(0), noun_phrase_end_mask.unsqueeze(0) @torch.no_grad() - def _encode_augmented_prompt(self, prompt: str, reference_images: List[Image.Image], device: torch.device, weight_dtype: torch.dtype): + def _encode_augmented_prompt( + self, + prompt: str, + reference_images: List[Image.Image], + device: torch.device, + weight_dtype: torch.dtype, + ): # TODO: check this # encode reference images object_pixel_values = [] @@ -478,12 +479,7 @@ convert outputs from numpy to torch types. num_objects = image_token_mask.sum(dim=1) text_embeds = torch.from_numpy(self.text_encoder(input_ids)[0]) - augmented_prompt_embeds = self.postfuse_module([ - text_embeds, - object_embeds, - image_token_mask, - num_objects - ])[0] + augmented_prompt_embeds = self.postfuse_module([text_embeds, object_embeds, image_token_mask, num_objects])[0] return torch.from_numpy(augmented_prompt_embeds) def _encode_prompt( @@ -492,7 +488,7 @@ convert outputs from numpy to torch types. device, num_images_per_prompt, do_classifier_free_guidance, - negative_prompt=None + negative_prompt=None, ): r""" Encodes the prompt into text encoder hidden states. @@ -530,12 +526,8 @@ convert outputs from numpy to torch types. text_input_ids = text_inputs.input_ids untruncated_ids = self.tokenizer(prompt, padding="longest", return_tensors="pt").input_ids - if untruncated_ids.shape[-1] >= text_input_ids.shape[-1] and not torch.equal( - text_input_ids, untruncated_ids - ): - removed_text = self.tokenizer.batch_decode( - untruncated_ids[:, self.tokenizer.model_max_length - 1 : -1] - ) + if untruncated_ids.shape[-1] >= text_input_ids.shape[-1] and not torch.equal(text_input_ids, untruncated_ids): + removed_text = self.tokenizer.batch_decode(untruncated_ids[:, self.tokenizer.model_max_length - 1 : -1]) print( "The following part of your input was truncated because CLIP can only handle sequences up to" f" {self.tokenizer.model_max_length} tokens: {removed_text}" @@ -555,10 +547,7 @@ convert outputs from numpy to torch types. if negative_prompt is None: uncond_tokens = [""] * batch_size elif type(prompt) is not type(negative_prompt): - raise TypeError( - f"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=" - f" {type(prompt)}." - ) + raise TypeError(f"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=" f" {type(prompt)}.") elif isinstance(negative_prompt, str): uncond_tokens = [negative_prompt] elif batch_size != len(negative_prompt): @@ -602,7 +591,6 @@ convert outputs from numpy to torch types. return prompt_embeds - @torch.no_grad() def __call__( self, @@ -625,7 +613,7 @@ convert outputs from numpy to torch types. cross_attention_kwargs: Optional[Dict[str, Any]] = None, alpha_: float = 0.7, reference_subject_images: List[Image.Image] = None, - augmented_prompt_embeds: Optional[torch.FloatTensor] = None + augmented_prompt_embeds: Optional[torch.FloatTensor] = None, ): r""" Function invoked when calling the pipeline for generation. @@ -719,8 +707,9 @@ convert outputs from numpy to torch types. negative_prompt_embeds, ) - assert (prompt is not None and reference_subject_images is not None) or (prompt_embeds is not None and augmented_prompt_embeds is not None), \ - "Prompt and reference subject images or prompt_embeds and augmented_prompt_embeds must be provided." + assert (prompt is not None and reference_subject_images is not None) or ( + prompt_embeds is not None and augmented_prompt_embeds is not None + ), "Prompt and reference subject images or prompt_embeds and augmented_prompt_embeds must be provided." # 2. Define call parameters if prompt is not None and isinstance(prompt, str): @@ -779,56 +768,44 @@ convert outputs from numpy to torch types. ( null_prompt_embeds, text_prompt_embeds, - augmented_prompt_embeds + augmented_prompt_embeds, ) = prompt_embeds.chunk(3) # 7. Denoising loop num_warmup_steps = len(timesteps) - num_inference_steps * self.scheduler.order with self.progress_bar(total=num_inference_steps) as progress_bar: for i, t in enumerate(timesteps): - latent_model_input = ( - torch.cat([latents] * 2) if do_classifier_free_guidance else latents - ) + latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) if i <= start_subject_conditioning_step: - current_prompt_embeds = torch.cat( - [null_prompt_embeds, text_prompt_embeds], dim=0 - ) + current_prompt_embeds = torch.cat([null_prompt_embeds, text_prompt_embeds], dim=0) else: - current_prompt_embeds = torch.cat( - [null_prompt_embeds, augmented_prompt_embeds], dim=0 - ) + current_prompt_embeds = torch.cat([null_prompt_embeds, augmented_prompt_embeds], dim=0) # predict the noise residual - noise_pred = self.unet([ - latent_model_input, - t, - current_prompt_embeds, - # cross_attention_kwargs - ], + noise_pred = self.unet( + [ + latent_model_input, + t, + current_prompt_embeds, + # cross_attention_kwargs + ], )[0] noise_pred = torch.from_numpy(noise_pred) - # perform guidance if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) - noise_pred = noise_pred_uncond + guidance_scale * ( - noise_pred_text - noise_pred_uncond - ) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) else: assert 0, "Not Implemented" # compute the previous noisy sample x_t -> x_t-1 - latents = self.scheduler.step( - noise_pred, t, latents, **extra_step_kwargs - ).prev_sample + latents = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs).prev_sample # call the callback, if provided - if i == len(timesteps) - 1 or ( - (i + 1) > num_warmup_steps and (i + 1) % self.scheduler.order == 0 - ): + if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % self.scheduler.order == 0): progress_bar.update() if callback is not None and i % callback_steps == 0: callback(i, t, latents) @@ -841,9 +818,7 @@ convert outputs from numpy to torch types. image = self.decode_latents(latents) # 9. Run safety checker - image, has_nsfw_concept = self.run_safety_checker( - image, device, prompt_embeds.dtype - ) + image, has_nsfw_concept = self.run_safety_checker(image, device, prompt_embeds.dtype) # 10. Convert to PIL image = self.numpy_to_pil(image) @@ -852,9 +827,7 @@ convert outputs from numpy to torch types. image = self.decode_latents(latents) # 9. Run safety checker - image, has_nsfw_concept = self.run_safety_checker( - image, device, prompt_embeds.dtype - ) + image, has_nsfw_concept = self.run_safety_checker(image, device, prompt_embeds.dtype) # Offload last model to CPU if hasattr(self, "final_offload_hook") and self.final_offload_hook is not None: @@ -863,9 +836,7 @@ convert outputs from numpy to torch types. if not return_dict: return (image, has_nsfw_concept) - return StableDiffusionPipelineOutput( - images=image, nsfw_content_detected=has_nsfw_concept - ) + return StableDiffusionPipelineOutput(images=image, nsfw_content_detected=has_nsfw_concept) And replace all model in the pipeline by converted models. @@ -876,13 +847,13 @@ And replace all model in the pipeline by converted models. def create_pipeline( - args, - *, - text_encoder, - image_encoder, - unet, - object_transforms, - postfuse_module, + args, + *, + text_encoder, + image_encoder, + unet, + object_transforms, + postfuse_module, ): weight_dtype = torch.float32 @@ -894,9 +865,7 @@ And replace all model in the pipeline by converted models. tokenizer.add_tokens(["img"], special_tokens=True) image_token_id = tokenizer.convert_tokens_to_ids("img") - pipe = StableDiffusionFastCompposerPipeline.from_pretrained( - args.pretrained_model_name_or_path, torch_dtype=weight_dtype - ) + pipe = StableDiffusionFastCompposerPipeline.from_pretrained(args.pretrained_model_name_or_path, torch_dtype=weight_dtype) pipe.object_transforms = object_transforms pipe.unet = unet @@ -937,10 +906,7 @@ And replace all model in the pipeline by converted models. if len(image) == 0: return [], "You need to upload at least one image." - num_subject_in_text = ( - np.array(self.model.special_tokenizer.encode(prompt)) - == self.model.image_token_id - ).sum() + num_subject_in_text = (np.array(self.model.special_tokenizer.encode(prompt)) == self.model.image_token_id).sum() if num_subject_in_text != len(image): return ( [], @@ -968,7 +934,6 @@ And replace all model in the pipeline by converted models. "run successfully", ) - .. code:: ipython3 import ipywidgets as widgets @@ -976,8 +941,8 @@ And replace all model in the pipeline by converted models. core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -1037,10 +1002,10 @@ that correlates with input images. .. code:: ipython3 - image1 = Image.open('fastcomposer/data/newton_einstein/einstein/0.png') - image2 = Image.open('fastcomposer/data/newton_einstein/newton/0.png') - prompt = 'A man img and a man img sitting in a park' - negative_prompt = '((((ugly)))), (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))). out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck)))' + image1 = Image.open("fastcomposer/data/newton_einstein/einstein/0.png") + image2 = Image.open("fastcomposer/data/newton_einstein/newton/0.png") + prompt = "A man img and a man img sitting in a park" + negative_prompt = "((((ugly)))), (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))). out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck)))" alpha_ = 0.7 num_images = 1 # each extra image requires ~11GB of free memory num_steps = 50 @@ -1057,7 +1022,7 @@ that correlates with input images. guidance_scale, alpha_, num_steps, - num_images + num_images, ) @@ -1087,7 +1052,7 @@ to display them. -.. image:: 252-fastcomposer-image-generation-with-output_files/252-fastcomposer-image-generation-with-output_32_0.png +.. image:: fastcomposer-image-generation-with-output_files/fastcomposer-image-generation-with-output_32_0.png Run Gradio @@ -1139,7 +1104,7 @@ Also, it is possible to run with Gradio negative_prompt = gr.Text( value="((((ugly)))), (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))). out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck)))", label="Negative Prompt", - info='Features that you want to avoid.', + info="Features that you want to avoid.", ) alpha_ = gr.Slider( label="alpha", @@ -1196,9 +1161,7 @@ Also, it is possible to run with Gradio num_steps, num_images, ] - run_button.click( - fn=wrapped_model.inference, inputs=inputs, outputs=[result, error_message] - ) + run_button.click(fn=wrapped_model.inference, inputs=inputs, outputs=[result, error_message]) return demo diff --git a/docs/notebooks/252-fastcomposer-image-generation-with-output_files/252-fastcomposer-image-generation-with-output_32_0.jpg b/docs/notebooks/fastcomposer-image-generation-with-output_files/fastcomposer-image-generation-with-output_32_0.jpg similarity index 100% rename from docs/notebooks/252-fastcomposer-image-generation-with-output_files/252-fastcomposer-image-generation-with-output_32_0.jpg rename to docs/notebooks/fastcomposer-image-generation-with-output_files/fastcomposer-image-generation-with-output_32_0.jpg diff --git a/docs/notebooks/252-fastcomposer-image-generation-with-output_files/252-fastcomposer-image-generation-with-output_32_0.png b/docs/notebooks/fastcomposer-image-generation-with-output_files/fastcomposer-image-generation-with-output_32_0.png similarity index 100% rename from docs/notebooks/252-fastcomposer-image-generation-with-output_files/252-fastcomposer-image-generation-with-output_32_0.png rename to docs/notebooks/fastcomposer-image-generation-with-output_files/fastcomposer-image-generation-with-output_32_0.png diff --git a/docs/notebooks/269-film-slowmo-with-output.rst b/docs/notebooks/film-slowmo-with-output.rst similarity index 99% rename from docs/notebooks/269-film-slowmo-with-output.rst rename to docs/notebooks/film-slowmo-with-output.rst index 98dd21aef94..5a3c12de371 100644 --- a/docs/notebooks/269-film-slowmo-with-output.rst +++ b/docs/notebooks/film-slowmo-with-output.rst @@ -68,16 +68,18 @@ Prerequisites .. code:: ipython3 - import sys import platform + import os - if sys.version_info.minor <= 8: - %pip install -q "tensorflow<=2.12.0" "typing-extensions>=4.9" - else: - %pip install -q "tensorflow" - + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" - %pip install -q tensorflow_hub numpy "opencv-python" tqdm gradio Pillow "openvino>=2023.2.0" + + %pip install -q tensorflow_hub tf_keras numpy "opencv-python" tqdm "gradio>=4.19" Pillow "openvino>=2023.2.0" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -87,20 +89,27 @@ Prerequisites .. parsed-literal:: - - [notice] A new release of pip is available: 23.3.2 -> 24.0 - [notice] To update, run: pip install --upgrade pip + Note: you may need to restart the kernel to use updated packages. + Note: you may need to restart the kernel to use updated packages. + Note: you may need to restart the kernel to use updated packages. + Note: you may need to restart the kernel to use updated packages. + Note: you may need to restart the kernel to use updated packages. + Note: you may need to restart the kernel to use updated packages. + Note: you may need to restart the kernel to use updated packages. Note: you may need to restart the kernel to use updated packages. .. code:: ipython3 from pathlib import Path - from urllib.request import urlretrieve + import requests from typing import Optional, Generator from datetime import datetime import gc + os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" + os.environ["TF_USE_LEGACY_KERAS"] = "1" + os.environ["TFHUB_CACHE_DIR"] = str(Path("./tfhub_modules").resolve()) import tensorflow_hub as hub import tensorflow as tf @@ -113,24 +122,13 @@ Prerequisites import PIL import IPython - -.. parsed-literal:: - - 2024-02-13 21:01:58.412173: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-02-13 21:01:58.414314: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-02-13 21:01:58.453968: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-02-13 21:01:58.455540: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2024-02-13 21:01:59.181583: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - .. code:: ipython3 MODEL_PATH = Path("models/model.xml") DATA_PATH = Path("data") IMAGES = { "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/c3ddf65f-95ec-44ca-9ed4-3ef2d8f4b47e": Path("data/one.jpg"), - "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/6d21f1ce-69eb-41b5-aedd-6e3c29013b30": Path("data/two.jpg") + "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/6d21f1ce-69eb-41b5-aedd-6e3c29013b30": Path("data/two.jpg"), } OUTPUT_VIDEO_PATH = DATA_PATH / "output.webm" OV_OUTPUT_VIDEO_PATH = DATA_PATH / "ov_output.webm" @@ -154,23 +152,27 @@ inputs. result = result[np.newaxis, ...] # add batch dim return result + def prepare_input(img_url: str): if not IMAGES[img_url].exists(): - urlretrieve(img_url, IMAGES[img_url]) + r = requests.get(img_url) + with IMAGES[img_url].open("wb") as f: + f.write(r.content) filename = str(IMAGES[img_url]) img = cv2.imread(filename) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img = np.array(img) img = preprocess_np_frame(img) - + return img + input_images = [prepare_input(url) for url in IMAGES] input = { "x0": input_images[0], "x1": input_images[1], - "time": np.array([[0.5]], dtype=np.float32) + "time": np.array([[0.5]], dtype=np.float32), } .. code:: ipython3 @@ -185,7 +187,7 @@ inputs. -.. image:: 269-film-slowmo-with-output_files/269-film-slowmo-with-output_7_0.png +.. image:: film-slowmo-with-output_files/film-slowmo-with-output_7_0.png Load the model @@ -215,13 +217,6 @@ Hub `__. film_layer = hub.KerasLayer(model_url)(inputs) film_model = tf.keras.Model(inputs=inputs, outputs=film_layer) - -.. parsed-literal:: - - 2024-02-13 21:02:06.658414: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1960] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform. - Skipping registering GPU devices... - - Infer the model --------------- @@ -242,7 +237,7 @@ Single middle frame interpolation def draw(img1, mid_img, img2): title2img = {"First frame": img1, "Interpolated frame": mid_img, "Last frame": img2} - plt.figure(figsize=(16,8), layout="tight") + plt.figure(figsize=(16, 8), layout="tight") for i, (title, img) in enumerate(title2img.items()): ax = plt.subplot(1, 3, i + 1) ax.set_title(title) @@ -255,7 +250,7 @@ Single middle frame interpolation -.. image:: 269-film-slowmo-with-output_files/269-film-slowmo-with-output_14_0.png +.. image:: film-slowmo-with-output_files/film-slowmo-with-output_14_0.png Recursive frame generation @@ -303,9 +298,7 @@ generating :math:`2^t-1` images. yield from self._recursive_generator(frame1, mid_frame, num_recursions - 1, bar) yield from self._recursive_generator(mid_frame, frame2, num_recursions - 1, bar) - def interpolate_recursively( - self, frame1: np.ndarray, frame2: np.ndarray, times_to_interpolate: int - ) -> Generator[np.ndarray, None, None]: + def interpolate_recursively(self, frame1: np.ndarray, frame2: np.ndarray, times_to_interpolate: int) -> Generator[np.ndarray, None, None]: """Generates interpolated frames by repeatedly interpolating the midpoint. Args: @@ -326,7 +319,7 @@ generating :math:`2^t-1` images. .. code:: ipython3 def save_as_video(frames: Generator[np.ndarray, None, None], width: int, height: int, filename: Path): - out = cv2.VideoWriter(str(filename), cv2.VideoWriter_fourcc(*'VP90'), 30, (width, height)) + out = cv2.VideoWriter(str(filename), cv2.VideoWriter_fourcc(*"VP90"), 30, (width, height)) for frame in frames: img = frame[0] img = np.clip(img, 0, 1) @@ -339,7 +332,7 @@ generating :math:`2^t-1` images. .. code:: ipython3 height, width = input_images[0][0].shape[:2] - interpolator = Interpolator(film_model) + interpolator = Interpolator(film_model) frames = interpolator.interpolate_recursively(input_images[0], input_images[1], 5) save_as_video(frames, width, height, OUTPUT_VIDEO_PATH) @@ -365,7 +358,7 @@ generating :math:`2^t-1` images. .. raw:: html @@ -395,7 +388,7 @@ object to disk using the ``openvino.save_model()`` function. .. parsed-literal:: - 8771 + 1356 @@ -418,8 +411,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) device @@ -459,7 +452,7 @@ Model returned intermediate image. Let’s see what it is. -.. image:: 269-film-slowmo-with-output_files/269-film-slowmo-with-output_29_0.png +.. image:: film-slowmo-with-output_files/film-slowmo-with-output_29_0.png Recursive frame generation @@ -499,7 +492,7 @@ initial, middle and final images. .. raw:: html @@ -520,17 +513,24 @@ Interactive inference save_as_video(frames, width, height, filename) return filename + demo = gr.Interface( generate, [ gr.Image(label="First image"), gr.Image(label="Last image"), - gr.Slider(1, 8, step=1, label="Times to interpolate", info="""Controls the number of times the frame interpolator is invoked. - The output will be the interpolation video with (2^value + 1) frames, fps of 30.""") + gr.Slider( + 1, + 8, + step=1, + label="Times to interpolate", + info="""Controls the number of times the frame interpolator is invoked. + The output will be the interpolation video with (2^value + 1) frames, fps of 30.""", + ), ], gr.Video(), examples=[[*IMAGES.values(), 5]], - allow_flagging="never" + allow_flagging="never", ) try: demo.queue().launch(debug=False) diff --git a/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_14_0.png b/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_14_0.png new file mode 100644 index 00000000000..4ccfd95299d --- /dev/null +++ b/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_14_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cfb9fec7a17248d0934e5f9b83b9b86eaa175535901064744bfdf5dfba2626d +size 466103 diff --git a/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_29_0.png b/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_29_0.png new file mode 100644 index 00000000000..234a5ae52cf --- /dev/null +++ b/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_29_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8ccc0d255c0d77a422d4a84d5864b5cff4a415b97a78555f254e74dae9bf54e +size 465989 diff --git a/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_7_0.png b/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_7_0.png new file mode 100644 index 00000000000..5930e6fd40b --- /dev/null +++ b/docs/notebooks/film-slowmo-with-output_files/film-slowmo-with-output_7_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab82d808cf872d2714801a251bb8b3173c12ca1cec12474a07e04aeecaa7f177 +size 484833 diff --git a/docs/notebooks/108-gpu-device-with-output.rst b/docs/notebooks/gpu-device-with-output.rst similarity index 90% rename from docs/notebooks/108-gpu-device-with-output.rst rename to docs/notebooks/gpu-device-with-output.rst index d4eeafce1fc..7970745c386 100644 --- a/docs/notebooks/108-gpu-device-with-output.rst +++ b/docs/notebooks/gpu-device-with-output.rst @@ -108,24 +108,13 @@ Install required packages .. code:: ipython3 - %pip install -q "openvino-dev>=2024.0.0" - %pip install -q tensorflow - - # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ) - - - - -.. parsed-literal:: - - ('notebook_utils.py', ) - - + %pip install -q "openvino-dev>=2024.0.0" "opencv-python" "tqdm" + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" Checking GPUs with Query Device ------------------------------- @@ -218,11 +207,15 @@ for that property. indent = len(max(supported_properties, key=len)) for property_key in supported_properties: - if property_key not in ('SUPPORTED_METRICS', 'SUPPORTED_CONFIG_KEYS', 'SUPPORTED_PROPERTIES'): + if property_key not in ( + "SUPPORTED_METRICS", + "SUPPORTED_CONFIG_KEYS", + "SUPPORTED_PROPERTIES", + ): try: property_val = core.get_property(device, property_key) except TypeError: - property_val = 'UNSUPPORTED TYPE' + property_val = "UNSUPPORTED TYPE" print(f"{property_key:<{indent}}: {property_val}") @@ -325,13 +318,18 @@ package is already downloaded. .. code:: ipython3 - import sys import tarfile from pathlib import Path - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests - import notebook_utils as utils + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file # A directory where the model will be downloaded. base_model_dir = Path("./model").expanduser() @@ -343,7 +341,7 @@ package is already downloaded. downloaded_model_path = base_model_dir / archive_name if not downloaded_model_path.exists(): model_url = f"http://download.tensorflow.org/models/object_detection/{archive_name}" - utils.download_file(model_url, downloaded_model_path.name, downloaded_model_path.parent) + download_file(model_url, downloaded_model_path.name, downloaded_model_path.parent) # Unpack the model tf_model_path = base_model_dir / archive_name.with_suffix("").stem / "frozen_inference_graph.pb" @@ -386,22 +384,24 @@ directory. For more details about model conversion, see this from openvino.tools.mo.front import tf as ov_tf_front - precision = 'FP16' + precision = "FP16" # The output path for the conversion. - model_path = base_model_dir / 'ir_model' / f'{model_name}_{precision.lower()}.xml' + model_path = base_model_dir / "ir_model" / f"{model_name}_{precision.lower()}.xml" trans_config_path = Path(ov_tf_front.__file__).parent / "ssd_v2_support.json" pipeline_config = base_model_dir / archive_name.with_suffix("").stem / "pipeline.config" model = None if not model_path.exists(): - model = ov.tools.mo.convert_model(input_model=tf_model_path, - input_shape=[1, 300, 300, 3], - layout='NHWC', - transformations_config=trans_config_path, - tensorflow_object_detection_api_pipeline_config=pipeline_config, - reverse_input_channels=True) + model = ov.tools.mo.convert_model( + input_model=tf_model_path, + input_shape=[1, 300, 300, 3], + layout="NHWC", + transformations_config=trans_config_path, + tensorflow_object_detection_api_pipeline_config=pipeline_config, + reverse_input_channels=True, + ) ov.save_model(model, model_path, compress_to_fp16=(precision == "FP16")) print("IR model saved to {}".format(model_path)) else: @@ -441,7 +441,7 @@ inference (which is often the GPU). To learn more about AUTO plugin, visit the `Automatic Device Selection `__ page as well as the `AUTO device -tutorial `__. +tutorial `__. Reduce Compile Time through Model Caching ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -470,7 +470,7 @@ following: core = ov.Core() # Set cache folder - core.set_property({'CACHE_DIR': cache_folder}) + core.set_property({"CACHE_DIR": cache_folder}) # Compile the model as before model = core.read_model(model=model_path) @@ -490,7 +490,7 @@ compile times with caching enabled and disabled as follows: start = time.time() core = ov.Core() - core.set_property({'CACHE_DIR': 'cache'}) + core.set_property({"CACHE_DIR": "cache"}) model = core.read_model(model=model_path) compiled_model = core.compile_model(model, device) print(f"Cache enabled - compile time: {time.time() - start}s") @@ -588,7 +588,7 @@ manually specify devices to use. Below is an example showing how to use `Asynchronous Inferencing `__ in OpenVINO as well as the `Asynchronous Inference - notebook `__. + notebook `__. Performance Comparison with benchmark_app ----------------------------------------- @@ -1158,7 +1158,7 @@ Compile the Model # Get the input size num, height, width, channels = input_layer.shape - print('Model input shape:', num, height, width, channels) + print("Model input shape:", num, height, width, channels) .. parsed-literal:: @@ -1179,24 +1179,24 @@ Load and Preprocess Video Frames framebuf = [] # Go through every frame of video and resize it - print('Loading video...') + print("Loading video...") while video.isOpened(): ret, frame = video.read() if not ret: - print('Video loaded!') + print("Video loaded!") video.release() break - + # Preprocess frames - convert them to shape expected by model input_frame = cv2.resize(src=frame, dsize=(width, height), interpolation=cv2.INTER_AREA) input_frame = np.expand_dims(input_frame, axis=0) # Append frame to framebuffer framebuf.append(input_frame) - - print('Frame shape: ', framebuf[0].shape) - print('Number of frames: ', len(framebuf)) + + print("Frame shape: ", framebuf[0].shape) + print("Number of frames: ", len(framebuf)) # Show original video file # If the video does not display correctly inside the notebook, please open it with your favorite media player @@ -1220,18 +1220,98 @@ Define Model Output Classes # Define the model's labelmap (this model uses COCO classes) classes = [ - "background", "person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", - "truck", "boat", "traffic light", "fire hydrant", "street sign", "stop sign", - "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", - "bear", "zebra", "giraffe", "hat", "backpack", "umbrella", "shoe", "eye glasses", - "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", - "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", - "plate", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana", "apple", - "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", "chair", - "couch", "potted plant", "bed", "mirror", "dining table", "window", "desk", "toilet", - "door", "tv", "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", - "toaster", "sink", "refrigerator", "blender", "book", "clock", "vase", "scissors", - "teddy bear", "hair drier", "toothbrush", "hair brush" + "background", + "person", + "bicycle", + "car", + "motorcycle", + "airplane", + "bus", + "train", + "truck", + "boat", + "traffic light", + "fire hydrant", + "street sign", + "stop sign", + "parking meter", + "bench", + "bird", + "cat", + "dog", + "horse", + "sheep", + "cow", + "elephant", + "bear", + "zebra", + "giraffe", + "hat", + "backpack", + "umbrella", + "shoe", + "eye glasses", + "handbag", + "tie", + "suitcase", + "frisbee", + "skis", + "snowboard", + "sports ball", + "kite", + "baseball bat", + "baseball glove", + "skateboard", + "surfboard", + "tennis racket", + "bottle", + "plate", + "wine glass", + "cup", + "fork", + "knife", + "spoon", + "bowl", + "banana", + "apple", + "sandwich", + "orange", + "broccoli", + "carrot", + "hot dog", + "pizza", + "donut", + "cake", + "chair", + "couch", + "potted plant", + "bed", + "mirror", + "dining table", + "window", + "desk", + "toilet", + "door", + "tv", + "laptop", + "mouse", + "remote", + "keyboard", + "cell phone", + "microwave", + "oven", + "toaster", + "sink", + "refrigerator", + "blender", + "book", + "clock", + "vase", + "scissors", + "teddy bear", + "hair drier", + "toothbrush", + "hair brush", ] Set up Asynchronous Pipeline @@ -1254,7 +1334,7 @@ Callback Definition predictions = next(iter(infer_request.results.values())) results[frame_id] = predictions[:10] # Grab first 10 predictions for this frame - + total_time = stop_time - start_time frame_fps[frame_id] = frame_number / total_time @@ -1290,9 +1370,9 @@ Perform Inference # Calculate total inference time and FPS total_time = stop_time - start_time fps = len(framebuf) / total_time - time_per_frame = 1 / fps - print(f'Total time to infer all frames: {total_time:.3f}s') - print(f'Time per frame: {time_per_frame:.6f}s ({fps:.3f} FPS)') + time_per_frame = 1 / fps + print(f"Total time to infer all frames: {total_time:.3f}s") + print(f"Time per frame: {time_per_frame:.6f}s ({fps:.3f} FPS)") .. parsed-literal:: @@ -1309,7 +1389,7 @@ Process Results .. code:: ipython3 # Set minimum detection threshold - min_thresh = .6 + min_thresh = 0.6 # Load video video = cv2.VideoCapture(video_file) @@ -1321,23 +1401,50 @@ Process Results fourcc = int(video.get(cv2.CAP_PROP_FOURCC)) # Create folder and VideoWriter to save output video - Path('./output').mkdir(exist_ok=True) - output = cv2.VideoWriter('output/output.mp4', fourcc, fps, (frame_width, frame_height)) + Path("./output").mkdir(exist_ok=True) + output = cv2.VideoWriter("output/output.mp4", fourcc, fps, (frame_width, frame_height)) # Draw detection results on every frame of video and save as a new video file while video.isOpened(): current_frame = int(video.get(cv2.CAP_PROP_POS_FRAMES)) ret, frame = video.read() if not ret: - print('Video loaded!') + print("Video loaded!") output.release() video.release() break - + # Draw info at the top left such as current fps, the devices and the performance hint being used - cv2.putText(frame, f"fps {str(round(frame_fps[current_frame], 2))}", (5, 20), cv2.FONT_ITALIC, 0.6, (0, 0, 0), 1, cv2.LINE_AA) - cv2.putText(frame, f"device {device_name}", (5, 40), cv2.FONT_ITALIC, 0.6, (0, 0, 0), 1, cv2.LINE_AA) - cv2.putText(frame, f"hint {compiled_model.get_property('PERFORMANCE_HINT')}", (5, 60), cv2.FONT_ITALIC, 0.6, (0, 0, 0), 1, cv2.LINE_AA) + cv2.putText( + frame, + f"fps {str(round(frame_fps[current_frame], 2))}", + (5, 20), + cv2.FONT_ITALIC, + 0.6, + (0, 0, 0), + 1, + cv2.LINE_AA, + ) + cv2.putText( + frame, + f"device {device_name}", + (5, 40), + cv2.FONT_ITALIC, + 0.6, + (0, 0, 0), + 1, + cv2.LINE_AA, + ) + cv2.putText( + frame, + f"hint {compiled_model.get_property('PERFORMANCE_HINT')}", + (5, 60), + cv2.FONT_ITALIC, + 0.6, + (0, 0, 0), + 1, + cv2.LINE_AA, + ) # prediction contains [image_id, label, conf, x_min, y_min, x_max, y_max] according to model for prediction in np.squeeze(results[current_frame]): @@ -1347,10 +1454,19 @@ Process Results x_max = int(prediction[5] * frame_width) y_max = int(prediction[6] * frame_height) label = classes[int(prediction[1])] - + # Draw a bounding box with its label above it cv2.rectangle(frame, (x_min, y_min), (x_max, y_max), (0, 255, 0), 1, cv2.LINE_AA) - cv2.putText(frame, label, (x_min, y_min - 10), cv2.FONT_ITALIC, 1, (255, 0, 0), 1, cv2.LINE_AA) + cv2.putText( + frame, + label, + (x_min, y_min - 10), + cv2.FONT_ITALIC, + 1, + (255, 0, 0), + 1, + cv2.LINE_AA, + ) output.write(frame) diff --git a/docs/notebooks/214-grammar-correction-with-output.rst b/docs/notebooks/grammar-correction-with-output.rst similarity index 74% rename from docs/notebooks/214-grammar-correction-with-output.rst rename to docs/notebooks/grammar-correction-with-output.rst index 5fff47d819d..b4b1a0c93d7 100644 --- a/docs/notebooks/214-grammar-correction-with-output.rst +++ b/docs/notebooks/grammar-correction-with-output.rst @@ -132,8 +132,8 @@ documentation `__. .. code:: ipython3 - %pip install -q "git+https://github.com/huggingface/optimum-intel.git" "openvino>=2023.1.0" onnx gradio "transformers>=4.33.0" --extra-index-url https://download.pytorch.org/whl/cpu - %pip install -q "nncf>=2.7.0" datasets jiwer + %pip install -q "torch>=2.1.0" "git+https://github.com/huggingface/optimum-intel.git" "openvino>=2024.0.0" onnx tqdm "gradio>=4.19" "transformers>=4.33.0" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "nncf>=2.9.0" datasets jiwer .. parsed-literal:: @@ -182,10 +182,15 @@ Tokenizer class and pipelines API are compatible with Optimum models. .. parsed-literal:: - 2023-09-27 14:53:36.462575: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2023-09-27 14:53:36.496914: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-03-25 11:56:04.043628: I tensorflow/core/util/port.cc:111] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-03-25 11:56:04.045940: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-03-25 11:56:04.079112: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered + 2024-03-25 11:56:04.079147: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered + 2024-03-25 11:56:04.079167: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered + 2024-03-25 11:56:04.085243: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-03-25 11:56:04.085971: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2023-09-27 14:53:37.063292: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-03-25 11:56:05.314633: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -193,13 +198,6 @@ Tokenizer class and pipelines API are compatible with Optimum models. INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino -.. parsed-literal:: - - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.7' - /home/nsavel/venvs/ov_notebooks_tmp/lib/python3.8/site-packages/transformers/deepspeed.py:23: FutureWarning: transformers.deepspeed module is deprecated and will be removed in a future version. Please import deepspeed modules directly from transformers.integrations - warnings.warn( - - Select inference device ~~~~~~~~~~~~~~~~~~~~~~~ @@ -211,16 +209,16 @@ select device from dropdown list for running inference using OpenVINO import ipywidgets as widgets import openvino as ov - + core = ov.Core() - + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) - + device @@ -228,7 +226,7 @@ select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=3, options=('CPU', 'GPU.0', 'GPU.1', 'AUTO'), value='AUTO') @@ -242,7 +240,7 @@ Grammar Checker grammar_checker_model_id = "textattack/roberta-base-CoLA" grammar_checker_dir = Path("roberta-base-cola") grammar_checker_tokenizer = AutoTokenizer.from_pretrained(grammar_checker_model_id) - + if grammar_checker_dir.exists(): grammar_checker_model = OVModelForSequenceClassification.from_pretrained(grammar_checker_dir, device=device.value) else: @@ -252,25 +250,18 @@ Grammar Checker .. parsed-literal:: - Framework not specified. Using pt to export to ONNX. - Some weights of the model checkpoint at textattack/roberta-base-CoLA were not used when initializing RobertaForSequenceClassification: ['roberta.pooler.dense.weight', 'roberta.pooler.dense.bias'] + Framework not specified. Using pt to export the model. + Some weights of the model checkpoint at textattack/roberta-base-CoLA were not used when initializing RobertaForSequenceClassification: ['roberta.pooler.dense.bias', 'roberta.pooler.dense.weight'] - This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model). - This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model). - Using framework PyTorch: 1.13.1+cpu + Using the export variant default. Available variants are: + - default: The default ONNX variant. + Using framework PyTorch: 2.2.1+cpu Overriding 1 configuration item(s) - use_cache -> False - - -.. parsed-literal:: - - WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. - - -.. parsed-literal:: - - [ WARNING ] Please fix your imports. Module %s has been moved to %s. The old module will be deleted in version %s. - Compiling the model to CPU ... - Set CACHE_DIR to /tmp/tmpcqv99eqb/model_cache + /home/ea/miniconda3/lib/python3.11/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + warnings.warn( + Compiling the model to AUTO ... Let us check model work, using inference pipeline for @@ -281,7 +272,11 @@ Hugging Face inference pipelines in this .. code:: ipython3 input_text = "They are moved by salar energy" - grammar_checker_pipe = pipeline("text-classification", model=grammar_checker_model, tokenizer=grammar_checker_tokenizer) + grammar_checker_pipe = pipeline( + "text-classification", + model=grammar_checker_model, + tokenizer=grammar_checker_tokenizer, + ) result = grammar_checker_pipe(input_text)[0] print(f"input text: {input_text}") print(f'predicted label: {"contains_errors" if result["label"] == "LABEL_1" else "no errors"}') @@ -313,7 +308,7 @@ to run it. grammar_corrector_model_id = "pszemraj/flan-t5-large-grammar-synthesis" grammar_corrector_dir = Path("flan-t5-large-grammar-synthesis") grammar_corrector_tokenizer = AutoTokenizer.from_pretrained(grammar_corrector_model_id) - + if grammar_corrector_dir.exists(): grammar_corrector_model = OVModelForSeq2SeqLM.from_pretrained(grammar_corrector_dir, device=device.value) else: @@ -323,28 +318,42 @@ to run it. .. parsed-literal:: - Framework not specified. Using pt to export to ONNX. - Using framework PyTorch: 1.13.1+cpu + Framework not specified. Using pt to export the model. + Using the export variant default. Available variants are: + - default: The default ONNX variant. + Some non-default generation parameters are set in the model config. These should go into a GenerationConfig file (https://huggingface.co/docs/transformers/generation_strategies#save-a-custom-decoding-strategy-with-your-model) instead. This warning will be raised to an exception in v4.41. + Non-default generation parameters: {'max_length': 512, 'min_length': 8, 'num_beams': 2, 'no_repeat_ngram_size': 4} + Using framework PyTorch: 2.2.1+cpu Overriding 1 configuration item(s) - use_cache -> False - Using framework PyTorch: 1.13.1+cpu + /home/ea/miniconda3/lib/python3.11/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + warnings.warn( + Using framework PyTorch: 2.2.1+cpu Overriding 1 configuration item(s) - use_cache -> True - /home/nsavel/venvs/ov_notebooks_tmp/lib/python3.8/site-packages/transformers/modeling_utils.py:875: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /home/ea/miniconda3/lib/python3.11/site-packages/transformers/modeling_utils.py:943: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if causal_mask.shape[1] < attention_mask.shape[1]: - Using framework PyTorch: 1.13.1+cpu + Using framework PyTorch: 2.2.1+cpu Overriding 1 configuration item(s) - use_cache -> True - /home/nsavel/venvs/ov_notebooks_tmp/lib/python3.8/site-packages/transformers/models/t5/modeling_t5.py:509: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /home/ea/miniconda3/lib/python3.11/site-packages/transformers/models/t5/modeling_t5.py:509: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! elif past_key_value.shape[2] != key_value_states.shape[1]: + Some non-default generation parameters are set in the model config. These should go into a GenerationConfig file (https://huggingface.co/docs/transformers/generation_strategies#save-a-custom-decoding-strategy-with-your-model) instead. This warning will be raised to an exception in v4.41. + Non-default generation parameters: {'max_length': 512, 'min_length': 8, 'num_beams': 2, 'no_repeat_ngram_size': 4} Compiling the encoder to AUTO ... Compiling the decoder to AUTO ... Compiling the decoder to AUTO ... + Some non-default generation parameters are set in the model config. These should go into a GenerationConfig file (https://huggingface.co/docs/transformers/generation_strategies#save-a-custom-decoding-strategy-with-your-model) instead. This warning will be raised to an exception in v4.41. + Non-default generation parameters: {'max_length': 512, 'min_length': 8, 'num_beams': 2, 'no_repeat_ngram_size': 4} .. code:: ipython3 - grammar_corrector_pipe = pipeline("text2text-generation", model=grammar_corrector_model, tokenizer=grammar_corrector_tokenizer) + grammar_corrector_pipe = pipeline( + "text2text-generation", + model=grammar_corrector_model, + tokenizer=grammar_corrector_tokenizer, + ) .. code:: ipython3 @@ -353,14 +362,6 @@ to run it. print(f'generated text: {result["generated_text"]}') -.. parsed-literal:: - - /home/nsavel/venvs/ov_notebooks_tmp/lib/python3.8/site-packages/optimum/intel/openvino/modeling_seq2seq.py:339: FutureWarning: `shared_memory` is deprecated and will be removed in 2024.0. Value of `shared_memory` is going to override `share_inputs` value. Please use only `share_inputs` explicitly. - last_hidden_state = torch.from_numpy(self.request(inputs, shared_memory=True)["last_hidden_state"]).to( - /home/nsavel/venvs/ov_notebooks_tmp/lib/python3.8/site-packages/optimum/intel/openvino/modeling_seq2seq.py:416: FutureWarning: `shared_memory` is deprecated and will be removed in 2024.0. Value of `shared_memory` is going to override `share_inputs` value. Please use only `share_inputs` explicitly. - self.request.start_async(inputs, shared_memory=True) - - .. parsed-literal:: input text: They are moved by salar energy @@ -389,82 +390,83 @@ several steps: import re import transformers from tqdm.notebook import tqdm - - + + def split_text(text: str) -> list: """ Split a string of text into a list of sentence batches. - + Parameters: text (str): The text to be split into sentence batches. - + Returns: list: A list of sentence batches. Each sentence batch is a list of sentences. """ # Split the text into sentences using regex sentences = re.split(r"(?<=[^A-Z].[.?]) +(?=[A-Z])", text) - + # Initialize a list to store the sentence batches sentence_batches = [] - + # Initialize a temporary list to store the current batch of sentences temp_batch = [] - + # Iterate through the sentences for sentence in sentences: # Add the sentence to the temporary batch temp_batch.append(sentence) - + # If the length of the temporary batch is between 2 and 3 sentences, or if it is the last batch, add it to the list of sentence batches if len(temp_batch) >= 2 and len(temp_batch) <= 3 or sentence == sentences[-1]: sentence_batches.append(temp_batch) temp_batch = [] - + return sentence_batches - - - def correct_text(text: str, checker: transformers.pipelines.Pipeline, corrector: transformers.pipelines.Pipeline, separator: str = " ") -> str: + + + def correct_text( + text: str, + checker: transformers.pipelines.Pipeline, + corrector: transformers.pipelines.Pipeline, + separator: str = " ", + ) -> str: """ Correct the grammar in a string of text using a text-classification and text-generation pipeline. - + Parameters: text (str): The inpur text to be corrected. checker (transformers.pipelines.Pipeline): The text-classification pipeline to use for checking the grammar quality of the text. corrector (transformers.pipelines.Pipeline): The text-generation pipeline to use for correcting the text. separator (str, optional): The separator to use when joining the corrected text into a single string. Default is a space character. - + Returns: str: The corrected text. """ # Split the text into sentence batches sentence_batches = split_text(text) - + # Initialize a list to store the corrected text corrected_text = [] - + # Iterate through the sentence batches - for batch in tqdm( - sentence_batches, total=len(sentence_batches), desc="correcting text.." - ): + for batch in tqdm(sentence_batches, total=len(sentence_batches), desc="correcting text.."): # Join the sentences in the batch into a single string raw_text = " ".join(batch) - + # Check the grammar quality of the text using the text-classification pipeline results = checker(raw_text) - + # Only correct the text if the results of the text-classification are not LABEL_1 or are LABEL_1 with a score below 0.9 - if results[0]["label"] != "LABEL_1" or ( - results[0]["label"] == "LABEL_1" and results[0]["score"] < 0.9 - ): + if results[0]["label"] != "LABEL_1" or (results[0]["label"] == "LABEL_1" and results[0]["score"] < 0.9): # Correct the text using the text-generation pipeline corrected_batch = corrector(raw_text) corrected_text.append(corrected_batch[0]["generated_text"]) else: corrected_text.append(raw_text) - + # Join the corrected text into a single string corrected_text = separator.join(corrected_text) - + return corrected_text Let us see it in action. @@ -477,18 +479,10 @@ Let us see it in action. " this point, He introduces herself as his native English speaker and goes on to say that if" " you contine to work on social scnce" ) - + corrected_text = correct_text(default_text, grammar_checker_pipe, grammar_corrector_pipe) -.. parsed-literal:: - - huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks... - To disable this warning, you can either: - - Avoid using `tokenizers` before the fork if possible - - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false) - - .. parsed-literal:: @@ -498,13 +492,13 @@ Let us see it in action. .. code:: ipython3 print(f"input text: {default_text}\n") - print(f'generated text: {corrected_text}') + print(f"generated text: {corrected_text}") .. parsed-literal:: input text: Most of the course is about semantic or content of language but there are also interesting topics to be learned from the servicefeatures except statistics in characters in documents.At this point, He introduces herself as his native English speaker and goes on to say that if you contine to work on social scnce - + generated text: Most of the course is about the semantic content of language but there are also interesting topics to be learned from the service features except statistics in characters in documents. At this point, she introduces herself as a native English speaker and goes on to say that if you continue to work on social science, you will continue to be successful. @@ -540,10 +534,10 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) - + to_quantize @@ -566,14 +560,45 @@ some time to complete. .. code:: ipython3 - from utils import get_quantized_pipeline - + from utils import get_quantized_pipeline, CALIBRATION_DATASET_SIZE + grammar_corrector_pipe_fp32 = grammar_corrector_pipe grammar_corrector_pipe_int8 = None if to_quantize.value: quantized_model_path = Path("quantized_decoder_with_past") / "openvino_model.xml" - grammar_corrector_pipe_int8 = get_quantized_pipeline(grammar_corrector_pipe_fp32, grammar_corrector_tokenizer, core, grammar_corrector_dir, - quantized_model_path, device.value) + grammar_corrector_pipe_int8 = get_quantized_pipeline( + grammar_corrector_pipe_fp32, + grammar_corrector_tokenizer, + core, + grammar_corrector_dir, + quantized_model_path, + device.value, + calibration_dataset_size=CALIBRATION_DATASET_SIZE, + ) + + + +.. parsed-literal:: + + Downloading readme: 0%| | 0.00/5.94k [00:00`__\ +Test split of \ `jfleg `__\ dataset is used for testing. One dataset sample consists of a text with errors as input and several corrected versions as labels. When measuring accuracy we use mean ``(1 - WER)`` against corrected text versions, @@ -716,9 +745,9 @@ where WER is Word Error Rate metric. .. code:: ipython3 from utils import calculate_inference_time_and_accuracy - + TEST_SUBSET_SIZE = 50 - + if to_quantize.value: inference_time_fp32, accuracy_fp32 = calculate_inference_time_and_accuracy(grammar_corrector_pipe_fp32, TEST_SUBSET_SIZE) print(f"Evaluation results of FP32 grammar correction pipeline. Accuracy: {accuracy_fp32:.2f}%. Time: {inference_time_fp32:.2f} sec.") @@ -737,7 +766,7 @@ where WER is Word Error Rate metric. .. parsed-literal:: - Evaluation results of FP32 grammar correction pipeline. Accuracy: 58.04%. Time: 61.03 sec. + Evaluation results of FP32 grammar correction pipeline. Accuracy: 58.04%. Time: 62.44 sec. @@ -748,11 +777,12 @@ where WER is Word Error Rate metric. .. parsed-literal:: - Evaluation results of INT8 grammar correction pipeline. Accuracy: 57.46%. Time: 42.38 sec. - Performance speedup: 1.440 - Accuracy drop :0.59%. + Evaluation results of INT8 grammar correction pipeline. Accuracy: 59.04%. Time: 40.32 sec. + Performance speedup: 1.549 + Accuracy drop :-0.99%. Model footprint reduction: 3.989 + Interactive demo ---------------- @@ -762,18 +792,18 @@ Interactive demo import gradio as gr import time - - + + def correct(text, quantized, progress=gr.Progress(track_tqdm=True)): grammar_corrector = grammar_corrector_pipe_int8 if quantized else grammar_corrector_pipe - + start_time = time.perf_counter() corrected_text = correct_text(text, grammar_checker_pipe, grammar_corrector) end_time = time.perf_counter() - + return corrected_text, f"{end_time - start_time:.2f}" - - + + def create_demo_block(quantized: bool, show_model_type: bool): model_type = (" optimized" if quantized else " original") if show_model_type else "" with gr.Row(): @@ -788,17 +818,21 @@ Interactive demo gr.Examples(examples=[default_text], inputs=[input_text]) with gr.Row(): button = gr.Button(f"Run{model_type}") - button.click(correct, inputs=[input_text, gr.Number(quantized, visible=False)], outputs=[output_text, correction_time]) - - + button.click( + correct, + inputs=[input_text, gr.Number(quantized, visible=False)], + outputs=[output_text, correction_time], + ) + + with gr.Blocks() as demo: gr.Markdown("# Interactive demo") quantization_is_present = grammar_corrector_pipe_int8 is not None create_demo_block(quantized=False, show_model_type=quantization_is_present) if quantization_is_present: create_demo_block(quantized=True, show_model_type=True) - - + + # if you are launching remotely, specify server_name and server_port # demo.launch(server_name='your server name', server_port='server port in int') # Read more in the docs: https://gradio.app/docs/ @@ -806,17 +840,3 @@ Interactive demo demo.queue().launch(debug=False) except Exception: demo.queue().launch(share=True, debug=False) - - -.. parsed-literal:: - - Running on local URL: http://127.0.0.1:7860 - - To create a public link, set `share=True` in `launch()`. - - - - - - - diff --git a/docs/notebooks/grounded-segment-anything-with-output.rst b/docs/notebooks/grounded-segment-anything-with-output.rst new file mode 100644 index 00000000000..fa68d1a07a0 --- /dev/null +++ b/docs/notebooks/grounded-segment-anything-with-output.rst @@ -0,0 +1,1663 @@ +Object detection and masking from prompts with GroundedSAM (GroundingDINO + SAM) and OpenVINO +============================================================================================= + +In this notebook, we provide the OpenVINO™ optimization for the +combination of GroundingDINO + SAM = +`GroundedSAM `__ +on Intel® platforms. + +GroundedSAM aims to detect and segment anything with text inputs. +GroundingDINO is a language-guided query selection module to enhance +object detection using input text. It selects relevant features from +image and text inputs and returns predicted boxes with detections. The +Segment Anything Model (SAM) produces high quality object masks from +input prompts such as points or boxes, and it can be used to generate +masks for all objects in an image. We use box predictions from +GroundingDINO to mask the original image. + +More details about the model can be found in the +`paper `__, and the official +`repository `__. + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/5703039/3c19063a-c60a-4d5d-b534-e1305a854180 + :alt: image + + image + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Clone repository and install + requirements <#clone-repository-and-install-requirements>`__ +- `Download checkpoints and load PyTorch + model <#download-checkpoints-and-load-pytorch-model>`__ +- `Convert GroundingDINO to OpenVINO IR + format <#convert-groundingdino-to-openvino-ir-format>`__ +- `Run OpenVINO optimized + GroundingDINO <#run-openvino-optimized-groundingdino>`__ +- `Convert SAM to OpenVINO IR <#convert-sam-to-openvino-ir>`__ +- `Combine GroundingDINO + SAM + (GroundedSAM) <#combine-groundingdino--sam-groundedsam>`__ +- `Interactive GroundedSAM <#interactive-groundedsam>`__ +- `Cleanup <#cleanup>`__ + +Clone repositories and install requirements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + %pip install -q timm --extra-index-url https://download.pytorch.org/whl/cpu # is needed for torch + %pip install -q "openvino>=2024.0" "torch>=2.1" opencv-python supervision transformers yapf pycocotools addict "gradio>=4.19" tqdm + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +For faster computation and to limit RAM by default we use +``EfficientSAM`` for segmentation, but if you wish more accurate +segmentation you can select vanilla ``SAM``. + +.. code:: ipython3 + + import ipywidgets as widgets + + sam_type_widget = widgets.Dropdown( + options=["EfficientSAM", "SAM"], + value="EfficientSAM", + description="Segment Anything type:", + ) + sam_type_widget + + + + +.. parsed-literal:: + + Dropdown(description='Segment Anything type:', options=('EfficientSAM', 'SAM'), value='EfficientSAM') + + + +.. code:: ipython3 + + use_efficient_sam = sam_type_widget.value == "EfficientSAM" + +.. code:: ipython3 + + from pathlib import Path + import sys + import os + + repo_dir = Path("Grounded-Segment-Anything") + ground_dino_dir = Path("GroundingDINO") + efficient_sam_dir = Path("EfficientSAM") + + # we use grounding dino from a fork which contains modifications that allow conversion to OpenVINO IR format + if not ground_dino_dir.exists(): + !git clone https://github.com/wenyi5608/GroundingDINO/ + if use_efficient_sam and not efficient_sam_dir.exists(): + !git clone https://github.com/yformer/EfficientSAM + if not use_efficient_sam and not repo_dir.exists(): + !git clone https://github.com/IDEA-Research/Grounded-Segment-Anything + + # append to sys.path so that modules from the repo could be imported + sys.path.append(str(ground_dino_dir)) + sys.path.append(str("EfficientSAM" if use_efficient_sam else repo_dir / "segment_anything")) + + +.. parsed-literal:: + + Cloning into 'GroundingDINO'... + + +.. parsed-literal:: + + remote: Enumerating objects: 379, done. + remote: Counting objects: 0% (1/177) +remote: Counting objects: 1% (2/177) +remote: Counting objects: 2% (4/177) +remote: Counting objects: 3% (6/177) +remote: Counting objects: 4% (8/177) +remote: Counting objects: 5% (9/177) +remote: Counting objects: 6% (11/177) +remote: Counting objects: 7% (13/177) +remote: Counting objects: 8% (15/177) +remote: Counting objects: 9% (16/177) +remote: Counting objects: 10% (18/177) +remote: Counting objects: 11% (20/177) +remote: Counting objects: 12% (22/177) +remote: Counting objects: 13% (24/177) +remote: Counting objects: 14% (25/177) +remote: Counting objects: 15% (27/177) +remote: Counting objects: 16% (29/177) +remote: Counting objects: 17% (31/177) +remote: Counting objects: 18% (32/177) +remote: Counting objects: 19% (34/177) +remote: Counting objects: 20% (36/177) +remote: Counting objects: 21% (38/177) +remote: Counting objects: 22% (39/177) +remote: Counting objects: 23% (41/177) +remote: Counting objects: 24% (43/177) +remote: Counting objects: 25% (45/177) +remote: Counting objects: 26% (47/177) +remote: Counting objects: 27% (48/177) +remote: Counting objects: 28% (50/177) +remote: Counting objects: 29% (52/177) +remote: Counting objects: 30% (54/177) +remote: Counting objects: 31% (55/177) +remote: Counting objects: 32% (57/177) +remote: Counting objects: 33% (59/177) +remote: Counting objects: 34% (61/177) +remote: Counting objects: 35% (62/177) +remote: Counting objects: 36% (64/177) +remote: Counting objects: 37% (66/177) +remote: Counting objects: 38% (68/177) +remote: Counting objects: 39% (70/177) +remote: Counting objects: 40% (71/177) +remote: Counting objects: 41% (73/177) +remote: Counting objects: 42% (75/177) +remote: Counting objects: 43% (77/177) +remote: Counting objects: 44% (78/177) +remote: Counting objects: 45% (80/177) +remote: Counting objects: 46% (82/177) +remote: Counting objects: 47% (84/177) +remote: Counting objects: 48% (85/177) +remote: Counting objects: 49% (87/177) +remote: Counting objects: 50% (89/177) +remote: Counting objects: 51% (91/177) +remote: Counting objects: 52% (93/177) +remote: Counting objects: 53% (94/177) +remote: Counting objects: 54% (96/177) +remote: Counting objects: 55% (98/177) +remote: Counting objects: 56% (100/177) +remote: Counting objects: 57% (101/177) +remote: Counting objects: 58% (103/177) +remote: Counting objects: 59% (105/177) +remote: Counting objects: 60% (107/177) +remote: Counting objects: 61% (108/177) +remote: Counting objects: 62% (110/177) +remote: Counting objects: 63% (112/177) +remote: Counting objects: 64% (114/177) +remote: Counting objects: 65% (116/177) +remote: Counting objects: 66% (117/177) +remote: Counting objects: 67% (119/177) +remote: Counting objects: 68% (121/177) +remote: Counting objects: 69% (123/177) +remote: Counting objects: 70% (124/177) +remote: Counting objects: 71% (126/177) +remote: Counting objects: 72% (128/177) +remote: Counting objects: 73% (130/177) +remote: Counting objects: 74% (131/177) +remote: Counting objects: 75% (133/177) +remote: Counting objects: 76% (135/177) +remote: Counting objects: 77% (137/177) +remote: Counting objects: 78% (139/177) +remote: Counting objects: 79% (140/177) +remote: Counting objects: 80% (142/177) +remote: Counting objects: 81% (144/177) +remote: Counting objects: 82% (146/177) +remote: Counting objects: 83% (147/177) +remote: Counting objects: 84% (149/177) +remote: Counting objects: 85% (151/177) +remote: Counting objects: 86% (153/177) +remote: Counting objects: 87% (154/177) +remote: Counting objects: 88% (156/177) +remote: Counting objects: 89% (158/177) +remote: Counting objects: 90% (160/177) +remote: Counting objects: 91% (162/177) +remote: Counting objects: 92% (163/177) +remote: Counting objects: 93% (165/177) +remote: Counting objects: 94% (167/177) +remote: Counting objects: 95% (169/177) +remote: Counting objects: 96% (170/177) +remote: Counting objects: 97% (172/177) +remote: Counting objects: 98% (174/177) +remote: Counting objects: 99% (176/177) +remote: Counting objects: 100% (177/177) +remote: Counting objects: 100% (177/177), done. + remote: Compressing objects: 1% (1/64) +remote: Compressing objects: 3% (2/64) +remote: Compressing objects: 4% (3/64) +remote: Compressing objects: 6% (4/64) +remote: Compressing objects: 7% (5/64) +remote: Compressing objects: 9% (6/64) +remote: Compressing objects: 10% (7/64) +remote: Compressing objects: 12% (8/64) +remote: Compressing objects: 14% (9/64) +remote: Compressing objects: 15% (10/64) +remote: Compressing objects: 17% (11/64) +remote: Compressing objects: 18% (12/64) +remote: Compressing objects: 20% (13/64) +remote: Compressing objects: 21% (14/64) +remote: Compressing objects: 23% (15/64) +remote: Compressing objects: 25% (16/64) +remote: Compressing objects: 26% (17/64) +remote: Compressing objects: 28% (18/64) +remote: Compressing objects: 29% (19/64) +remote: Compressing objects: 31% (20/64) +remote: Compressing objects: 32% (21/64) +remote: Compressing objects: 34% (22/64) +remote: Compressing objects: 35% (23/64) +remote: Compressing objects: 37% (24/64) +remote: Compressing objects: 39% (25/64) +remote: Compressing objects: 40% (26/64) +remote: Compressing objects: 42% (27/64) +remote: Compressing objects: 43% (28/64) +remote: Compressing objects: 45% (29/64) +remote: Compressing objects: 46% (30/64) +remote: Compressing objects: 48% (31/64) +remote: Compressing objects: 50% (32/64) +remote: Compressing objects: 51% (33/64) +remote: Compressing objects: 53% (34/64) +remote: Compressing objects: 54% (35/64) +remote: Compressing objects: 56% (36/64) +remote: Compressing objects: 57% (37/64) +remote: Compressing objects: 59% (38/64) +remote: Compressing objects: 60% (39/64) +remote: Compressing objects: 62% (40/64) +remote: Compressing objects: 64% (41/64) +remote: Compressing objects: 65% (42/64) +remote: Compressing objects: 67% (43/64) +remote: Compressing objects: 68% (44/64) +remote: Compressing objects: 70% (45/64) +remote: Compressing objects: 71% (46/64) +remote: Compressing objects: 73% (47/64) +remote: Compressing objects: 75% (48/64) +remote: Compressing objects: 76% (49/64) +remote: Compressing objects: 78% (50/64) +remote: Compressing objects: 79% (51/64) +remote: Compressing objects: 81% (52/64) +remote: Compressing objects: 82% (53/64) +remote: Compressing objects: 84% (54/64) +remote: Compressing objects: 85% (55/64) +remote: Compressing objects: 87% (56/64) +remote: Compressing objects: 89% (57/64) +remote: Compressing objects: 90% (58/64) +remote: Compressing objects: 92% (59/64) +remote: Compressing objects: 93% (60/64) +remote: Compressing objects: 95% (61/64) +remote: Compressing objects: 96% (62/64) +remote: Compressing objects: 98% (63/64) +remote: Compressing objects: 100% (64/64) +remote: Compressing objects: 100% (64/64), done. + + +.. parsed-literal:: + + Receiving objects: 0% (1/379) + +.. parsed-literal:: + + Receiving objects: 1% (4/379) + +.. parsed-literal:: + + Receiving objects: 2% (8/379) +Receiving objects: 3% (12/379) +Receiving objects: 4% (16/379) +Receiving objects: 5% (19/379) +Receiving objects: 6% (23/379) +Receiving objects: 7% (27/379) +Receiving objects: 8% (31/379) +Receiving objects: 9% (35/379) +Receiving objects: 10% (38/379) +Receiving objects: 11% (42/379) +Receiving objects: 12% (46/379) +Receiving objects: 13% (50/379) +Receiving objects: 14% (54/379) +Receiving objects: 15% (57/379) +Receiving objects: 16% (61/379) +Receiving objects: 17% (65/379) +Receiving objects: 18% (69/379) +Receiving objects: 19% (73/379) +Receiving objects: 20% (76/379) +Receiving objects: 21% (80/379) +Receiving objects: 22% (84/379) +Receiving objects: 23% (88/379) +Receiving objects: 24% (91/379) + +.. parsed-literal:: + + Receiving objects: 25% (95/379) + +.. parsed-literal:: + + Receiving objects: 26% (99/379) + +.. parsed-literal:: + + Receiving objects: 27% (103/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 28% (107/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 29% (110/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 30% (114/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 31% (118/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 32% (122/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 33% (126/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 34% (129/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 35% (133/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 36% (137/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 37% (141/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 38% (145/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 39% (148/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 40% (152/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 41% (156/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 42% (160/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 43% (163/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 44% (167/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 45% (171/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 46% (175/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 47% (179/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 48% (182/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 49% (186/379), 9.38 MiB | 18.39 MiB/s + +.. parsed-literal:: + + Receiving objects: 50% (190/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 51% (194/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 52% (198/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 53% (201/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 54% (205/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 55% (209/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 56% (213/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 57% (217/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 58% (220/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 59% (224/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 60% (228/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 61% (232/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 62% (235/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 63% (239/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 64% (243/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 65% (247/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 66% (251/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 67% (254/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 68% (258/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 69% (262/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 70% (266/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 71% (270/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 72% (273/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 73% (277/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 74% (281/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 75% (285/379), 9.38 MiB | 18.39 MiB/s +remote: Total 379 (delta 137), reused 113 (delta 113), pack-reused 202 + Receiving objects: 76% (289/379), 9.38 MiB | 18.39 MiB/s + +.. parsed-literal:: + + Receiving objects: 77% (292/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 78% (296/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 79% (300/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 80% (304/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 81% (307/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 82% (311/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 83% (315/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 84% (319/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 85% (323/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 86% (326/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 87% (330/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 88% (334/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 89% (338/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 90% (342/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 91% (345/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 92% (349/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 93% (353/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 94% (357/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 95% (361/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 96% (364/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 97% (368/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 98% (372/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 99% (376/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 100% (379/379), 9.38 MiB | 18.39 MiB/s +Receiving objects: 100% (379/379), 14.03 MiB | 19.52 MiB/s, done. + Resolving deltas: 0% (0/195) +Resolving deltas: 3% (7/195) +Resolving deltas: 6% (13/195) +Resolving deltas: 7% (15/195) +Resolving deltas: 8% (16/195) +Resolving deltas: 16% (32/195) +Resolving deltas: 17% (35/195) +Resolving deltas: 18% (37/195) +Resolving deltas: 19% (38/195) +Resolving deltas: 20% (39/195) +Resolving deltas: 21% (41/195) +Resolving deltas: 26% (51/195) +Resolving deltas: 41% (80/195) +Resolving deltas: 50% (99/195) +Resolving deltas: 52% (102/195) +Resolving deltas: 55% (109/195) +Resolving deltas: 57% (112/195) +Resolving deltas: 60% (117/195) +Resolving deltas: 61% (120/195) +Resolving deltas: 62% (121/195) +Resolving deltas: 68% (133/195) +Resolving deltas: 69% (135/195) +Resolving deltas: 73% (143/195) +Resolving deltas: 74% (145/195) +Resolving deltas: 75% (147/195) +Resolving deltas: 76% (149/195) +Resolving deltas: 78% (153/195) +Resolving deltas: 80% (157/195) +Resolving deltas: 81% (159/195) +Resolving deltas: 100% (195/195) +Resolving deltas: 100% (195/195), done. + + +.. parsed-literal:: + + Cloning into 'EfficientSAM'... + + +.. parsed-literal:: + + remote: Enumerating objects: 424, done. + remote: Counting objects: 1% (1/85) +remote: Counting objects: 2% (2/85) +remote: Counting objects: 3% (3/85) +remote: Counting objects: 4% (4/85) +remote: Counting objects: 5% (5/85) +remote: Counting objects: 7% (6/85) +remote: Counting objects: 8% (7/85) +remote: Counting objects: 9% (8/85) +remote: Counting objects: 10% (9/85) +remote: Counting objects: 11% (10/85) +remote: Counting objects: 12% (11/85) +remote: Counting objects: 14% (12/85) +remote: Counting objects: 15% (13/85) +remote: Counting objects: 16% (14/85) +remote: Counting objects: 17% (15/85) +remote: Counting objects: 18% (16/85) +remote: Counting objects: 20% (17/85) +remote: Counting objects: 21% (18/85) +remote: Counting objects: 22% (19/85) +remote: Counting objects: 23% (20/85) +remote: Counting objects: 24% (21/85) +remote: Counting objects: 25% (22/85) +remote: Counting objects: 27% (23/85) +remote: Counting objects: 28% (24/85) +remote: Counting objects: 29% (25/85) +remote: Counting objects: 30% (26/85) +remote: Counting objects: 31% (27/85) +remote: Counting objects: 32% (28/85) +remote: Counting objects: 34% (29/85) +remote: Counting objects: 35% (30/85) +remote: Counting objects: 36% (31/85) +remote: Counting objects: 37% (32/85) +remote: Counting objects: 38% (33/85) +remote: Counting objects: 40% (34/85) +remote: Counting objects: 41% (35/85) +remote: Counting objects: 42% (36/85) +remote: Counting objects: 43% (37/85) +remote: Counting objects: 44% (38/85) +remote: Counting objects: 45% (39/85) +remote: Counting objects: 47% (40/85) +remote: Counting objects: 48% (41/85) +remote: Counting objects: 49% (42/85) +remote: Counting objects: 50% (43/85) +remote: Counting objects: 51% (44/85) +remote: Counting objects: 52% (45/85) +remote: Counting objects: 54% (46/85) +remote: Counting objects: 55% (47/85) +remote: Counting objects: 56% (48/85) +remote: Counting objects: 57% (49/85) +remote: Counting objects: 58% (50/85) +remote: Counting objects: 60% (51/85) +remote: Counting objects: 61% (52/85) +remote: Counting objects: 62% (53/85) +remote: Counting objects: 63% (54/85) +remote: Counting objects: 64% (55/85) +remote: Counting objects: 65% (56/85) +remote: Counting objects: 67% (57/85) +remote: Counting objects: 68% (58/85) +remote: Counting objects: 69% (59/85) +remote: Counting objects: 70% (60/85) +remote: Counting objects: 71% (61/85) +remote: Counting objects: 72% (62/85) +remote: Counting objects: 74% (63/85) +remote: Counting objects: 75% (64/85) +remote: Counting objects: 76% (65/85) +remote: Counting objects: 77% (66/85) +remote: Counting objects: 78% (67/85) +remote: Counting objects: 80% (68/85) +remote: Counting objects: 81% (69/85) +remote: Counting objects: 82% (70/85) +remote: Counting objects: 83% (71/85) +remote: Counting objects: 84% (72/85) +remote: Counting objects: 85% (73/85) +remote: Counting objects: 87% (74/85) +remote: Counting objects: 88% (75/85) +remote: Counting objects: 89% (76/85) +remote: Counting objects: 90% (77/85) +remote: Counting objects: 91% (78/85) +remote: Counting objects: 92% (79/85) +remote: Counting objects: 94% (80/85) +remote: Counting objects: 95% (81/85) +remote: Counting objects: 96% (82/85) +remote: Counting objects: 97% (83/85) +remote: Counting objects: 98% (84/85) +remote: Counting objects: 100% (85/85) +remote: Counting objects: 100% (85/85), done. + remote: Compressing objects: 3% (1/33) +remote: Compressing objects: 6% (2/33) +remote: Compressing objects: 9% (3/33) +remote: Compressing objects: 12% (4/33) +remote: Compressing objects: 15% (5/33) +remote: Compressing objects: 18% (6/33) +remote: Compressing objects: 21% (7/33) +remote: Compressing objects: 24% (8/33) +remote: Compressing objects: 27% (9/33) +remote: Compressing objects: 30% (10/33) +remote: Compressing objects: 33% (11/33) +remote: Compressing objects: 36% (12/33) +remote: Compressing objects: 39% (13/33) +remote: Compressing objects: 42% (14/33) +remote: Compressing objects: 45% (15/33) +remote: Compressing objects: 48% (16/33) +remote: Compressing objects: 51% (17/33) +remote: Compressing objects: 54% (18/33) +remote: Compressing objects: 57% (19/33) +remote: Compressing objects: 60% (20/33) +remote: Compressing objects: 63% (21/33) +remote: Compressing objects: 66% (22/33) +remote: Compressing objects: 69% (23/33) +remote: Compressing objects: 72% (24/33) +remote: Compressing objects: 75% (25/33) +remote: Compressing objects: 78% (26/33) +remote: Compressing objects: 81% (27/33) +remote: Compressing objects: 84% (28/33) +remote: Compressing objects: 87% (29/33) +remote: Compressing objects: 90% (30/33) +remote: Compressing objects: 93% (31/33) +remote: Compressing objects: 96% (32/33) +remote: Compressing objects: 100% (33/33) +remote: Compressing objects: 100% (33/33), done. + + +.. parsed-literal:: + + Receiving objects: 0% (1/424) +Receiving objects: 1% (5/424) + +.. parsed-literal:: + + Receiving objects: 2% (9/424) +Receiving objects: 3% (13/424) +Receiving objects: 4% (17/424) +Receiving objects: 5% (22/424) + +.. parsed-literal:: + + Receiving objects: 5% (24/424), 17.34 MiB | 17.34 MiB/s + +.. parsed-literal:: + + Receiving objects: 6% (26/424), 29.54 MiB | 19.69 MiB/s +Receiving objects: 7% (30/424), 29.54 MiB | 19.69 MiB/s +Receiving objects: 8% (34/424), 29.54 MiB | 19.69 MiB/s +Receiving objects: 9% (39/424), 29.54 MiB | 19.69 MiB/s +Receiving objects: 10% (43/424), 29.54 MiB | 19.69 MiB/s +Receiving objects: 11% (47/424), 29.54 MiB | 19.69 MiB/s +Receiving objects: 12% (51/424), 29.54 MiB | 19.69 MiB/s + +.. parsed-literal:: + + Receiving objects: 12% (54/424), 41.72 MiB | 20.86 MiB/s + +.. parsed-literal:: + + Receiving objects: 12% (54/424), 66.43 MiB | 22.08 MiB/s + +.. parsed-literal:: + + Receiving objects: 13% (56/424), 66.43 MiB | 22.08 MiB/s + +.. parsed-literal:: + + Receiving objects: 13% (56/424), 92.11 MiB | 22.90 MiB/s + +.. parsed-literal:: + + Receiving objects: 14% (60/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 15% (64/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 16% (68/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 17% (73/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 18% (77/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 19% (81/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 20% (85/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 21% (90/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 22% (94/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 23% (98/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 24% (102/424), 105.12 MiB | 23.20 MiB/s + +.. parsed-literal:: + + Receiving objects: 25% (106/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 26% (111/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 27% (115/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 28% (119/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 29% (123/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 30% (128/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 31% (132/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 32% (136/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 33% (140/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 34% (145/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 35% (149/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 36% (153/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 37% (157/424), 105.12 MiB | 23.20 MiB/s +Receiving objects: 38% (162/424), 105.12 MiB | 23.20 MiB/s + +.. parsed-literal:: + + Receiving objects: 38% (164/424), 118.14 MiB | 24.69 MiB/s + +.. parsed-literal:: + + Receiving objects: 38% (164/424), 144.35 MiB | 25.23 MiB/s + +.. parsed-literal:: + + Receiving objects: 38% (164/424), 170.95 MiB | 25.59 MiB/s + +.. parsed-literal:: + + Receiving objects: 38% (164/424), 197.61 MiB | 26.01 MiB/s + +.. parsed-literal:: + + Receiving objects: 39% (166/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 40% (170/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 41% (174/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 42% (179/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 43% (183/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 44% (187/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 45% (191/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 46% (196/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 47% (200/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 48% (204/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 49% (208/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 50% (212/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 51% (217/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 52% (221/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 53% (225/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 54% (229/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 55% (234/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 56% (238/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 57% (242/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 58% (246/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 59% (251/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 60% (255/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 61% (259/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 62% (263/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 63% (268/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 64% (272/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 65% (276/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 66% (280/424), 197.61 MiB | 26.01 MiB/s +Receiving objects: 67% (285/424), 197.61 MiB | 26.01 MiB/s + +.. parsed-literal:: + + Receiving objects: 67% (288/424), 222.04 MiB | 25.75 MiB/s + +.. parsed-literal:: + + Receiving objects: 67% (288/424), 240.28 MiB | 24.07 MiB/s + +.. parsed-literal:: + + Receiving objects: 68% (289/424), 240.28 MiB | 24.07 MiB/s +Receiving objects: 69% (293/424), 240.28 MiB | 24.07 MiB/s +Receiving objects: 70% (297/424), 240.28 MiB | 24.07 MiB/s +Receiving objects: 71% (302/424), 240.28 MiB | 24.07 MiB/s +Receiving objects: 72% (306/424), 240.28 MiB | 24.07 MiB/s +Receiving objects: 73% (310/424), 240.28 MiB | 24.07 MiB/s + +.. parsed-literal:: + + Receiving objects: 73% (313/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 74% (314/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 75% (318/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 76% (323/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 77% (327/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 78% (331/424), 259.66 MiB | 22.62 MiB/s + +.. parsed-literal:: + + Receiving objects: 79% (335/424), 259.66 MiB | 22.62 MiB/s + +.. parsed-literal:: + + remote: Total 424 (delta 76), reused 52 (delta 52), pack-reused 339 + Receiving objects: 80% (340/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 81% (344/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 82% (348/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 83% (352/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 84% (357/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 85% (361/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 86% (365/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 87% (369/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 88% (374/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 89% (378/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 90% (382/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 91% (386/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 92% (391/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 93% (395/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 94% (399/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 95% (403/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 96% (408/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 97% (412/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 98% (416/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 99% (420/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 100% (424/424), 259.66 MiB | 22.62 MiB/s +Receiving objects: 100% (424/424), 262.14 MiB | 23.41 MiB/s, done. + Resolving deltas: 0% (0/246) +Resolving deltas: 4% (10/246) +Resolving deltas: 6% (17/246) +Resolving deltas: 15% (37/246) +Resolving deltas: 18% (46/246) +Resolving deltas: 22% (56/246) +Resolving deltas: 23% (57/246) +Resolving deltas: 24% (60/246) +Resolving deltas: 26% (64/246) +Resolving deltas: 32% (81/246) +Resolving deltas: 36% (90/246) +Resolving deltas: 37% (92/246) +Resolving deltas: 38% (94/246) +Resolving deltas: 41% (101/246) + +.. parsed-literal:: + + Resolving deltas: 43% (108/246) +Resolving deltas: 45% (112/246) + +.. parsed-literal:: + + Resolving deltas: 48% (119/246) +Resolving deltas: 49% (121/246) +Resolving deltas: 51% (127/246) +Resolving deltas: 52% (128/246) +Resolving deltas: 54% (133/246) +Resolving deltas: 57% (142/246) +Resolving deltas: 61% (152/246) +Resolving deltas: 62% (154/246) +Resolving deltas: 65% (162/246) +Resolving deltas: 66% (164/246) +Resolving deltas: 67% (165/246) +Resolving deltas: 69% (172/246) +Resolving deltas: 70% (174/246) +Resolving deltas: 88% (217/246) +Resolving deltas: 96% (237/246) +Resolving deltas: 97% (240/246) +Resolving deltas: 98% (243/246) + +.. parsed-literal:: + + Resolving deltas: 99% (245/246) + +.. parsed-literal:: + + Resolving deltas: 100% (246/246) +Resolving deltas: 100% (246/246), done. + + +.. code:: ipython3 + + import torch + import numpy as np + import supervision as sv + import openvino as ov + from PIL import Image, ImageDraw, ImageFont + from typing import Union, List + import transformers + + core = ov.Core() + +Download checkpoints and load PyTorch models +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + IRS_PATH = Path("openvino_irs") + CKPT_BASE_PATH = Path("checkpoints") + os.makedirs(IRS_PATH, exist_ok=True) + os.makedirs(CKPT_BASE_PATH, exist_ok=True) + + PT_DEVICE = "cpu" + ov_dino_name = "openvino_grounding_dino" + ov_sam_name = "openvino_segment_anything" + + ground_dino_img_size = (1024, 1280) + + # GroundingDINO config and checkpoint + GROUNDING_DINO_CONFIG_PATH = f"{ground_dino_dir}/groundingdino/config/GroundingDINO_SwinT_OGC.py" + GROUNDING_DINO_CHECKPOINT_PATH = CKPT_BASE_PATH / "groundingdino_swint_ogc.pth" + + # Segment Anything checkpoint + SAM_CHECKPOINT_PATH = CKPT_BASE_PATH / "sam_vit_h_4b8939.pth" + + # Efficient Segment Anything checkpoint + EFFICIENT_SAM_CHECKPOINT_PATH = efficient_sam_dir / "weights/efficient_sam_vitt.pt" + +.. code:: ipython3 + + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file + + download_file( + "https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth", + directory=CKPT_BASE_PATH, + ) + if not use_efficient_sam: + download_file( + "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth", + directory=CKPT_BASE_PATH, + ) + + + +.. parsed-literal:: + + checkpoints/groundingdino_swint_ogc.pth: 0%| | 0.00/662M [00:00 torch.Tensor: + import groundingdino.datasets.transforms as T + + transform = T.Compose( + [ + T.RandomResize([800], max_size=1333), + T.ToTensor(), + T.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), + ] + ) + image, _ = transform(pil_image, None) # 3, h, w + return image + + + # detects boxes usding openvino optimized grounding dino model + def get_ov_grounding_output( + model: ov.CompiledModel, + pil_image: Image.Image, + caption: Union[str, List[str]], + box_threshold: float, + text_threshold: float, + dino_tokenizer: transformers.PreTrainedTokenizerBase = dino_tokenizer, + max_text_len: int = max_text_len, + ) -> (torch.Tensor, List[str], torch.Tensor): + # for text prompt pre-processing we reuse existing routines from GroundignDINO repo + if isinstance(caption, list): + caption = ". ".join(caption) + caption = caption.lower() + caption = caption.strip() + if not caption.endswith("."): + caption = caption + "." + captions = [caption] + + tokenized = dino_tokenizer(captions, padding="longest", return_tensors="pt") + specical_tokens = dino_tokenizer.convert_tokens_to_ids(["[CLS]", "[SEP]", ".", "?"]) + + ( + text_self_attention_masks, + position_ids, + cate_to_token_mask_list, + ) = generate_masks_with_special_tokens_and_transfer_map(tokenized, specical_tokens, dino_tokenizer) + + if text_self_attention_masks.shape[1] > max_text_len: + text_self_attention_masks = text_self_attention_masks[:, :max_text_len, :max_text_len] + + position_ids = position_ids[:, :max_text_len] + tokenized["input_ids"] = tokenized["input_ids"][:, :max_text_len] + tokenized["attention_mask"] = tokenized["attention_mask"][:, :max_text_len] + tokenized["token_type_ids"] = tokenized["token_type_ids"][:, :max_text_len] + + # inputs dictionary which will be fed into the ov.CompiledModel for inference + inputs = {} + inputs["attention_mask.1"] = tokenized["attention_mask"] + inputs["text_self_attention_masks"] = text_self_attention_masks + inputs["input_ids"] = tokenized["input_ids"] + inputs["position_ids"] = position_ids + inputs["token_type_ids"] = tokenized["token_type_ids"] + + # GroundingDINO fails to run with input shapes different than one used for conversion. + # As a workaround we resize input_image to the size used for conversion. Model does not rely + # on image resolution to know object sizes therefore no need to resize box_predictions + from torchvision.transforms.functional import resize, InterpolationMode + + input_img = resize( + transform_image(pil_image), + ground_dino_img_size, + interpolation=InterpolationMode.BICUBIC, + )[None, ...] + inputs["samples"] = input_img + + # OpenVINO inference + request = model.create_infer_request() + request.start_async(inputs, share_inputs=False) + request.wait() + + def sig(x): + return 1 / (1 + np.exp(-x)) + + logits = torch.from_numpy(sig(np.squeeze(request.get_tensor("pred_logits").data, 0))) + boxes = torch.from_numpy(np.squeeze(request.get_tensor("pred_boxes").data, 0)) + + # filter output + filt_mask = logits.max(dim=1)[0] > box_threshold + logits, boxes = logits[filt_mask], boxes[filt_mask] + + # get phrase and build predictions + tokenized = dino_tokenizer(caption) + pred_phrases = [] + for logit in logits: + pred_phrase = get_phrases_from_posmap(logit > text_threshold, tokenized, dino_tokenizer) + pred_phrases.append(pred_phrase + f"({str(logit.max().item())[:4]})") + + return boxes, pred_phrases, logits.max(dim=1)[0] + +.. code:: ipython3 + + SOURCE_IMAGE_PATH = f"{ground_dino_dir}/.asset/demo7.jpg" + BOX_THRESHOLD = 0.3 + TEXT_THRESHOLD = 0.25 + NMS_THRESHOLD = 0.8 + + pil_image = Image.open(SOURCE_IMAGE_PATH) + classes_prompt = ["Horse", "Cloud"] + +.. code:: ipython3 + + boxes_filt, pred_phrases, logits_filt = get_ov_grounding_output(ov_compiled_grounded_dino, pil_image, classes_prompt, BOX_THRESHOLD, TEXT_THRESHOLD) + + +.. parsed-literal:: + + 2024-04-17 23:56:30.569255: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:56:30.608409: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. + + +.. parsed-literal:: + + 2024-04-17 23:56:31.167736: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +Convert predicted boxes to supervision box detections format + +.. code:: ipython3 + + source_w, source_h = pil_image.size + detections = Model.post_process_result(source_h=source_h, source_w=source_w, boxes=boxes_filt, logits=logits_filt) + + class_id = Model.phrases2classes(phrases=pred_phrases, classes=list(map(str.lower, classes_prompt))) + detections.class_id = class_id + +Draw box detections + +.. code:: ipython3 + + box_annotator = sv.BoxAnnotator() + labels = [f"{classes_prompt[class_id] if class_id is not None else 'None'} {confidence:0.2f}" for _, _, confidence, class_id, _, _ in detections] + annotated_frame = box_annotator.annotate(scene=np.array(pil_image).copy(), detections=detections, labels=labels) + + Image.fromarray(annotated_frame) + + +.. parsed-literal:: + + SupervisionWarnings: BoxAnnotator is deprecated: `BoxAnnotator` is deprecated and will be removed in `supervision-0.22.0`. Use `BoundingBoxAnnotator` and `LabelAnnotator` instead + + + + +.. image:: grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_29_1.png + + + +Great! All clouds and horses are detected. Feel free to play around and +specify other objects you wish to detect. + +Convert SAM to OpenVINO IR +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +And now let’s feed those detection to ``SAM`` model. We will use +``EfficiendSAM`` for faster computation and to save ram, but feel free +to select vanilla ``SAM`` if you wish more detailed and precise +segmentation. First of all let’s convert ``SAM`` model to OpenVINO IR. + +.. code:: ipython3 + + ov_efficient_sam_name = "openvino_efficient_sam" + ov_efficient_sam_path = IRS_PATH / f"{ov_efficient_sam_name}.xml" + + # convert EfficientSAM to OpenVINO IR format + if not ov_efficient_sam_path.exists() and use_efficient_sam: + random_input_image = np.random.rand(1, 3, *pil_image.size[::-1]).astype(np.float32) + bounding_box = np.array([900, 100, 1000, 200]).reshape([1, 1, 2, 2]) + bbox_labels = np.array([2, 3]).reshape([1, 1, 2]) + efficient_sam_dummy_input = tuple(torch.from_numpy(x) for x in (random_input_image, bounding_box, bbox_labels)) + + ov_efficient_sam = ov.convert_model(efficient_sam_model, example_input=efficient_sam_dummy_input) + ov.save_model(ov_efficient_sam, ov_efficient_sam_path) + elif use_efficient_sam: + ov_efficient_sam = core.read_model(ov_efficient_sam_path) + + +.. parsed-literal:: + + WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. + + +.. parsed-literal:: + + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + TracerWarning: Converting a tensor to a Python float might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + + +.. parsed-literal:: + + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + + +Below is conversion of vanilla ``SAM``. This code is not used when +``EfficientSAM`` is selected for segmentation. + +.. code:: ipython3 + + # In order to convert to OpenVINO IR neeed to patch forward method or the torch.nn.Module for SAM + class SamMaskFromBoxes(torch.nn.Module): + def __init__( + self, + sam_predictor, + ) -> None: + super().__init__() + self.model = sam_predictor + + @torch.no_grad() + def forward( + self, + input_image: torch.Tensor, + transformed_boxes: torch.Tensor, + multimask_output: bool = False, + hq_token_only: bool = False, + ): + pre_processed_image = self.model.model.preprocess(input_image) + image_embeddings, interm_features = self.model.model.image_encoder(pre_processed_image) + + # Embed prompts + sparse_embeddings, dense_embeddings = self.model.model.prompt_encoder( + points=None, + boxes=transformed_boxes, + masks=None, + ) + + # Predict masks + low_res_masks, iou_predictions = self.model.model.mask_decoder( + image_embeddings=image_embeddings, + image_pe=self.model.model.prompt_encoder.get_dense_pe(), + sparse_prompt_embeddings=sparse_embeddings, + dense_prompt_embeddings=dense_embeddings, + multimask_output=multimask_output, + hq_token_only=hq_token_only, + interm_embeddings=interm_features, + ) + + return low_res_masks, iou_predictions + +.. code:: ipython3 + + ov_sam_path = IRS_PATH / f"{ov_sam_name}.xml" + + # example input for vanilla SAM + input_image_torch = torch.randint(0, 255, size=[1, 3, 683, 1024], dtype=torch.uint8) + dummy_transformed_boxes = torch.rand(1, 4, dtype=torch.float32) * 200 + + # convert vanilla SAM to OpenVINO IR format + if not ov_sam_path.exists() and not use_efficient_sam: + # Load pytorch model object and prepare example input for conversion + exportable = SamMaskFromBoxes(sam_predictor) + exportable.model.model.eval() + for par in exportable.model.model.parameters(): + par.requires_grad = False + + traced = torch.jit.trace(exportable, example_inputs=(input_image_torch, dummy_transformed_boxes)) + ov_sam = ov.convert_model(traced, example_input=(input_image_torch, dummy_transformed_boxes)) + ov.save_model(ov_sam, ov_sam_path) + elif not use_efficient_sam: + ov_sam = core.read_model(ov_sam_path) + +.. code:: ipython3 + + if use_efficient_sam: + compiled_efficient_sam = core.compile_model(ov_efficient_sam, device_name=device.value) + else: + compiled_vanilla_sam = core.compile_model(ov_sam, device_name=device.value) + +Combine GroundingDINO + SAM (GroundedSAM) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +We have OpenVINO IRs for both GroundingDINO and SAM models. Lets run the +segmentation using predictions from GroundingDINO. Same as above, use +``EfficientSAM`` by default. + +.. code:: ipython3 + + def predict_efficient_sam_mask(compiled_efficient_sam: ov.CompiledModel, image: Image.Image, bbox: torch.Tensor): + # input image is scaled so that none of the sizes is greater than 1024, same as in efficient-sam notebook + input_size = 1024 + w, h = image.size[:2] + scale = input_size / max(w, h) + new_w = int(w * scale) + new_h = int(h * scale) + image = image.resize((new_w, new_h)) + + numpy_image = np.array(image, dtype=np.float32) / 255.0 + numpy_image = np.transpose(numpy_image, (2, 0, 1))[None, ...] + + scaled_points = bbox * scale + + bounding_box = scaled_points.reshape([1, 1, 2, 2]) + bbox_labels = np.reshape(np.array([2, 3]), [1, 1, 2]) + + res = compiled_efficient_sam((numpy_image, bounding_box, bbox_labels)) + + predicted_logits, predicted_iou = res[0], res[1] + + all_masks = torch.ge(torch.sigmoid(torch.from_numpy(predicted_logits[0, 0, :, :, :])), 0.5).numpy() + predicted_iou = predicted_iou[0, 0, ...] + + # select the mask with the greatest IOU + max_predicted_iou = -1 + selected_mask_using_predicted_iou = None + for m in range(all_masks.shape[0]): + curr_predicted_iou = predicted_iou[m] + if curr_predicted_iou > max_predicted_iou or selected_mask_using_predicted_iou is None: + max_predicted_iou = curr_predicted_iou + selected_mask_using_predicted_iou = all_masks[m] + return selected_mask_using_predicted_iou + + + # If several detections are fed to EfficientSAM, it merges them to a single mask. Therefore, we call it one by one for each detection. + def predict_efficient_sam_masks(compiled_efficient_sam: ov.CompiledModel, pil_image: Image.Image, transformed_boxes) -> torch.Tensor: + masks = [] + for bbox in transformed_boxes: + mask = predict_efficient_sam_mask(compiled_efficient_sam, pil_image, bbox) + mask = Image.fromarray(mask).resize(pil_image.size) + masks.append(np.array(mask)) + masks = torch.from_numpy(np.array(masks)) + return masks + +.. code:: ipython3 + + def transform_boxes(sam_predictor: torch.nn.Module, boxes: torch.Tensor, size: tuple) -> torch.Tensor: + H, W = size[0], size[1] + for i in range(boxes.size(0)): + boxes[i] = boxes[i] * torch.Tensor([W, H, W, H]) + boxes[i][:2] -= boxes[i][2:] / 2 + boxes[i][2:] += boxes[i][:2] + + return sam_predictor.transform.apply_boxes_torch(boxes, size).to(PT_DEVICE) + + + def predict_vanilla_sam_masks( + compiled_vanilla_sam: ov.CompiledModel, + image: np.ndarray, + transformed_boxes: torch.Tensor, + ) -> torch.Tensor: + transfromed_image = exportable.model.transform.apply_image(image) + input_image_torch = torch.as_tensor(transfromed_image, device=PT_DEVICE) + input_image_torch = input_image_torch.permute(2, 0, 1).contiguous()[None, :, :, :] + + original_size = tuple(image.shape[:2]) + input_size = tuple(input_image_torch.shape[-2:]) + + low_res_masks = compiled_vanilla_sam((input_image_torch, transformed_boxes))[0] + + # Upscale the masks to the original image resolution + masks = exportable.model.model.postprocess_masks(torch.from_numpy(low_res_masks), input_size, original_size) + masks = masks > exportable.model.model.mask_threshold + return masks + +Run SAM model for the same image with the detected boxes from +GroundingDINO. + +Please note that vanilla SAM and EfficientSAM have slightly different +detection formats. But inputs for both of them originate from +``boxes_filt`` which is result of the ``get_ov_grounding_output``. For +EfficientSAM we use ``detections.xyxy`` boxes obtained after +``boxes_filt`` is fed to ``Model.post_process_result``. While vanilla +SAM has it’s own preprocessing function ``transform_boxes``. + +.. code:: ipython3 + + if use_efficient_sam: + masks = predict_efficient_sam_masks(compiled_efficient_sam, pil_image, detections.xyxy) + detections.mask = masks.numpy() + else: + transformed_boxes = transform_boxes(sam_predictor, boxes_filt, pil_image.size[::-1]) + masks = predict_vanilla_sam_masks(compiled_vanilla_sam, np.array(pil_image), transformed_boxes) + detections.mask = masks[:, 0].numpy() + +Combine both boxes and segmentation masks and draw them. + +.. code:: ipython3 + + box_annotator = sv.BoxAnnotator() + mask_annotator = sv.MaskAnnotator() + + annotated_image = np.array(pil_image) + annotated_image = mask_annotator.annotate(scene=np.array(pil_image).copy(), detections=detections) + annotated_image = box_annotator.annotate(scene=annotated_image, detections=detections, labels=labels) + + Image.fromarray(annotated_image) + + +.. parsed-literal:: + + SupervisionWarnings: BoxAnnotator is deprecated: `BoxAnnotator` is deprecated and will be removed in `supervision-0.22.0`. Use `BoundingBoxAnnotator` and `LabelAnnotator` instead + + + + +.. image:: grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_45_1.png + + + +Great! All detected horses and clouds are segmented as well. + +Interactive GroundedSAM +~~~~~~~~~~~~~~~~~~~~~~~ + + + +Now, you can try apply grounding sam on your own images using +interactive demo. The code below provides helper functions used in +demonstration. + +.. code:: ipython3 + + def draw_mask(mask, draw, random_color=False): + import random + + if random_color: + color = ( + random.randint(0, 255), + random.randint(0, 255), + random.randint(0, 255), + 153, + ) + else: + color = (30, 144, 255, 153) + + nonzero_coords = np.transpose(np.nonzero(mask)) + + for coord in nonzero_coords: + draw.point(coord[::-1], fill=color) + + + def draw_box(box, draw, label): + # random color + color = tuple(np.random.randint(0, 255, size=3).tolist()) + + draw.rectangle(((box[0], box[1]), (box[2], box[3])), outline=color, width=4) + + if label: + font = ImageFont.load_default(18) + if hasattr(font, "getbbox"): + bbox = draw.textbbox((box[0], box[1]), str(label), font, anchor="ld") + else: + w, h = draw.textsize(str(label), font) + bbox = (box[0], box[1], box[0] + w, box[1] + h) + draw.rectangle(bbox, fill=color) + draw.text((box[0], box[1]), str(label), fill="white", anchor="ld", font=font) + +.. code:: ipython3 + + """" + run_grounding_sam is called every time "Submit" button is clicked + """ + + + def run_grounding_sam(image, task_type, text_prompt, box_threshold, text_threshold): + pil_image = Image.fromarray(image) + size = image.shape[1], image.shape[0] # size is WH image.shape HWC + + boxes_filt, scores, pred_phrases = get_ov_grounding_output(ov_compiled_grounded_dino, pil_image, text_prompt, box_threshold, text_threshold) + + # process boxes + H, W = size[1], size[0] + for i in range(boxes_filt.size(0)): + boxes_filt[i] = boxes_filt[i] * torch.Tensor([W, H, W, H]) + boxes_filt[i][:2] -= boxes_filt[i][2:] / 2 + boxes_filt[i][2:] += boxes_filt[i][:2] + + if task_type == "seg": + if use_efficient_sam: + masks = predict_efficient_sam_masks(compiled_efficient_sam, pil_image, boxes_filt.numpy()) + else: + transformed_boxes = sam_predictor.transform.apply_boxes_torch(boxes_filt, image.shape[:2]).to(PT_DEVICE) + masks = predict_vanilla_sam_masks(compiled_vanilla_sam, image, transformed_boxes)[:, 0] + + mask_image = Image.new("RGBA", size, color=(0, 0, 0, 0)) + mask_draw = ImageDraw.Draw(mask_image) + for mask in masks: + draw_mask(mask.numpy(), mask_draw, random_color=True) + + image_draw = ImageDraw.Draw(pil_image) + for box, label in zip(boxes_filt, pred_phrases): + draw_box(box, image_draw, label) + + pil_image = pil_image.convert("RGBA") + pil_image.alpha_composite(mask_image) + + return [pil_image, mask_image] + if task_type == "det": + image_draw = ImageDraw.Draw(pil_image) + for box, label in zip(boxes_filt, pred_phrases): + draw_box(box, image_draw, label) + return [pil_image] + else: + gr.Warning(f"task_type:{task_type} error!") + +You can run interactive app with your own image and text prompts. To +define prompt specify comma (or conjunction) separated names of objects +you wish to segment. For demonstration, this demo already has two +predefined examples. If many object are crowded and overlapping please +increase threshold values in ``Advanced options``. + +.. code:: ipython3 + + import gradio as gr + + with gr.Accordion("Advanced options", open=False) as advanced: + box_threshold = gr.Slider(label="Box Threshold", minimum=0.0, maximum=1.0, value=0.3, step=0.05) + text_threshold = gr.Slider(label="Text Threshold", minimum=0.0, maximum=1.0, value=0.25, step=0.05) + + demo = gr.Interface( + run_grounding_sam, + [ + gr.Image(), + gr.Dropdown(["det", "seg"], value="seg", label="task_type"), + gr.Textbox(value="bears", label="Text Prompt"), + ], + additional_inputs=[ + box_threshold, + text_threshold, + ], + outputs=gr.Gallery(preview=True, object_fit="scale-down"), + examples=[ + [f"{ground_dino_dir}/.asset/demo2.jpg", "seg", "dog, forest"], + [f"{ground_dino_dir}/.asset/demo7.jpg", "seg", "horses and clouds"], + ], + additional_inputs_accordion=advanced, + ) + + try: + demo.launch(server_name="0.0.0.0", debug=False, height=1000) + except Exception: + demo.launch(share=True, debug=False, height=1000) + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # Read more in the docs: https://gradio.app/docs/ + + +.. parsed-literal:: + + Running on local URL: http://0.0.0.0:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + + +Cleanup +~~~~~~~ + + + +.. code:: ipython3 + + # import shutil + # shutil.rmtree(CKPT_BASE_PATH) + # shutil.rmtree(IRS_PATH) diff --git a/docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_29_0.jpg b/docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_29_1.jpg similarity index 100% rename from docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_29_0.jpg rename to docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_29_1.jpg diff --git a/docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_29_0.png b/docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_29_1.png similarity index 100% rename from docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_29_0.png rename to docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_29_1.png diff --git a/docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_45_0.jpg b/docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_45_1.jpg similarity index 100% rename from docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_45_0.jpg rename to docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_45_1.jpg diff --git a/docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_45_0.png b/docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_45_1.png similarity index 100% rename from docs/notebooks/288-grounded-segment-anything-with-output_files/288-grounded-segment-anything-with-output_45_0.png rename to docs/notebooks/grounded-segment-anything-with-output_files/grounded-segment-anything-with-output_45_1.png diff --git a/docs/notebooks/209-handwritten-ocr-with-output.rst b/docs/notebooks/handwritten-ocr-with-output.rst similarity index 89% rename from docs/notebooks/209-handwritten-ocr-with-output.rst rename to docs/notebooks/handwritten-ocr-with-output.rst index da48355aa51..d91540ce5bd 100644 --- a/docs/notebooks/209-handwritten-ocr-with-output.rst +++ b/docs/notebooks/handwritten-ocr-with-output.rst @@ -4,7 +4,7 @@ Handwritten Chinese and Japanese OCR with OpenVINO™ In this tutorial, we perform optical character recognition (OCR) for handwritten Chinese (simplified) and Japanese. An OCR tutorial using the Latin alphabet is available in `notebook -208 <208-optical-character-recognition-with-output.html>`__. +208 `__. This model is capable of processing only one line of symbols at a time. The models used in this notebook are @@ -39,8 +39,9 @@ Table of contents: .. code:: ipython3 import platform + # Install openvino-dev package - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" opencv-python tqdm if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -74,11 +75,13 @@ Imports import openvino as ov # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file Settings @@ -103,9 +106,7 @@ To group files, you have to define the collection. In this case, use .. code:: ipython3 - Language = namedtuple( - typename="Language", field_names=["model_name", "charlist_name", "demo_image_name"] - ) + Language = namedtuple(typename="Language", field_names=["model_name", "charlist_name", "demo_image_name"]) chinese_files = Language( model_name="handwritten-simplified-chinese-recognition-0001", charlist_name="chinese_charlist.txt", @@ -156,12 +157,12 @@ model file. .. code:: ipython3 path_to_model = download_file( - url=f'https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{selected_language.model_name}/{precision}/{selected_language.model_name}.xml', - directory=base_models_dir + url=f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{selected_language.model_name}/{precision}/{selected_language.model_name}.xml", + directory=base_models_dir, ) _ = download_file( - url=f'https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{selected_language.model_name}/{precision}/{selected_language.model_name}.bin', - directory=base_models_dir + url=f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{selected_language.model_name}/{precision}/{selected_language.model_name}.bin", + directory=base_models_dir, ) @@ -204,8 +205,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -255,7 +256,7 @@ keep letters proportional and meet input shape. # Download the image from the openvino_notebooks storage based on the selected model. file_name = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/" + selected_language.demo_image_name, - directory=data_folder + directory=data_folder, ) # Text detection models expect an image in grayscale format. @@ -274,14 +275,10 @@ keep letters proportional and meet input shape. scale_ratio = H / image_height # Resize the image to expected input sizes. - resized_image = cv2.resize( - image, None, fx=scale_ratio, fy=scale_ratio, interpolation=cv2.INTER_AREA - ) + resized_image = cv2.resize(image, None, fx=scale_ratio, fy=scale_ratio, interpolation=cv2.INTER_AREA) # Pad the image to match input size, without changing aspect ratio. - resized_image = np.pad( - resized_image, ((0, 0), (0, W - resized_image.shape[1])), mode="edge" - ) + resized_image = np.pad(resized_image, ((0, 0), (0, W - resized_image.shape[1])), mode="edge") # Reshape to network input shape. input_image = resized_image[None, None, :, :] @@ -308,7 +305,7 @@ After preprocessing, you can display the image. -.. image:: 209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_22_0.png +.. image:: handwritten-ocr-with-output_files/handwritten-ocr-with-output_22_0.png Prepare Charlist @@ -326,7 +323,7 @@ Chinese and Japanese models. # Download the image from the openvino_notebooks storage based on the selected model. used_charlist_file = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/text/" + selected_language.charlist_name, - directory=charlist_folder + directory=charlist_folder, ) @@ -426,5 +423,5 @@ the image with predicted text printed below. -.. image:: 209-handwritten-ocr-with-output_files/209-handwritten-ocr-with-output_32_1.png +.. image:: handwritten-ocr-with-output_files/handwritten-ocr-with-output_32_1.png diff --git a/docs/notebooks/handwritten-ocr-with-output_files/handwritten-ocr-with-output_22_0.png b/docs/notebooks/handwritten-ocr-with-output_files/handwritten-ocr-with-output_22_0.png new file mode 100644 index 00000000000..c712a34d825 --- /dev/null +++ b/docs/notebooks/handwritten-ocr-with-output_files/handwritten-ocr-with-output_22_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b33a1c6c4f57f798ae3f4b31dcb638cb618363ef6108e7f60cf81f1c5bdb151 +size 53571 diff --git a/docs/notebooks/handwritten-ocr-with-output_files/handwritten-ocr-with-output_32_1.png b/docs/notebooks/handwritten-ocr-with-output_files/handwritten-ocr-with-output_32_1.png new file mode 100644 index 00000000000..c712a34d825 --- /dev/null +++ b/docs/notebooks/handwritten-ocr-with-output_files/handwritten-ocr-with-output_32_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b33a1c6c4f57f798ae3f4b31dcb638cb618363ef6108e7f60cf81f1c5bdb151 +size 53571 diff --git a/docs/notebooks/004-hello-detection-with-output.rst b/docs/notebooks/hello-detection-with-output.rst similarity index 87% rename from docs/notebooks/004-hello-detection-with-output.rst rename to docs/notebooks/hello-detection-with-output.rst index 989fc9866bd..9c6e2259a74 100644 --- a/docs/notebooks/004-hello-detection-with-output.rst +++ b/docs/notebooks/hello-detection-with-output.rst @@ -30,7 +30,7 @@ Table of contents: .. code:: ipython3 # Install openvino package - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" opencv-python tqdm .. parsed-literal:: @@ -52,12 +52,14 @@ Imports from pathlib import Path # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file Download model weights @@ -70,8 +72,8 @@ Download model weights base_model_dir = Path("./model").expanduser() model_name = "horizontal-text-detection-0001" - model_xml_name = f'{model_name}.xml' - model_bin_name = f'{model_name}.bin' + model_xml_name = f"{model_name}.xml" + model_bin_name = f"{model_name}.bin" model_xml_path = base_model_dir / model_xml_name model_bin_path = base_model_dir / model_bin_name @@ -83,7 +85,7 @@ Download model weights download_file(model_xml_url, model_xml_name, base_model_dir) download_file(model_bin_url, model_bin_name, base_model_dir) else: - print(f'{model_name} already downloaded to {base_model_dir}') + print(f"{model_name} already downloaded to {base_model_dir}") @@ -112,8 +114,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -153,7 +155,7 @@ Load an Image # Download the image from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/intel_rnb.jpg", - directory="data" + directory="data", ) # Text detection models expect an image in BGR format. @@ -178,7 +180,7 @@ Load an Image -.. image:: 004-hello-detection-with-output_files/004-hello-detection-with-output_11_1.png +.. image:: hello-detection-with-output_files/hello-detection-with-output_11_1.png Do Inference @@ -208,7 +210,10 @@ Visualize Results colors = {"red": (255, 0, 0), "green": (0, 255, 0)} # Fetch the image shapes to calculate a ratio. - (real_y, real_x), (resized_y, resized_x) = bgr_image.shape[:2], resized_image.shape[:2] + (real_y, real_x), (resized_y, resized_x) = ( + bgr_image.shape[:2], + resized_image.shape[:2], + ) ratio_x, ratio_y = real_x / resized_x, real_y / resized_y # Convert the base image from BGR to RGB format. @@ -220,12 +225,10 @@ Visualize Results conf = box[-1] if conf > threshold: # Convert float to int and multiply corner position of each box by x and y ratio. - # If the bounding box is found at the top of the image, - # position the upper box bar little lower to make it visible on the image. + # If the bounding box is found at the top of the image, + # position the upper box bar little lower to make it visible on the image. (x_min, y_min, x_max, y_max) = [ - int(max(corner_position * ratio_y, 10)) if idx % 2 - else int(corner_position * ratio_x) - for idx, corner_position in enumerate(box[:-1]) + (int(max(corner_position * ratio_y, 10)) if idx % 2 else int(corner_position * ratio_x)) for idx, corner_position in enumerate(box[:-1]) ] # Draw a box based on the position, parameters in rectangle function are: image, start_point, end_point, color, thickness. @@ -255,5 +258,5 @@ Visualize Results -.. image:: 004-hello-detection-with-output_files/004-hello-detection-with-output_16_0.png +.. image:: hello-detection-with-output_files/hello-detection-with-output_16_0.png diff --git a/docs/notebooks/hello-detection-with-output_files/hello-detection-with-output_11_1.png b/docs/notebooks/hello-detection-with-output_files/hello-detection-with-output_11_1.png new file mode 100644 index 00000000000..435c1891121 --- /dev/null +++ b/docs/notebooks/hello-detection-with-output_files/hello-detection-with-output_11_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82b893e29e948379dac42c19763842f7ade2ccf03853c2c07f0b28bf2d58fe17 +size 305482 diff --git a/docs/notebooks/hello-detection-with-output_files/hello-detection-with-output_16_0.png b/docs/notebooks/hello-detection-with-output_files/hello-detection-with-output_16_0.png new file mode 100644 index 00000000000..e452c525ef0 --- /dev/null +++ b/docs/notebooks/hello-detection-with-output_files/hello-detection-with-output_16_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7caf8b68c4e2dfd446836e5049d842227ad718a4bbde287269617e324c7d0cef +size 457214 diff --git a/docs/notebooks/003-hello-segmentation-with-output.rst b/docs/notebooks/hello-segmentation-with-output.rst similarity index 75% rename from docs/notebooks/003-hello-segmentation-with-output.rst rename to docs/notebooks/hello-segmentation-with-output.rst index 16a5c9680c2..8eb9901014a 100644 --- a/docs/notebooks/003-hello-segmentation-with-output.rst +++ b/docs/notebooks/hello-segmentation-with-output.rst @@ -24,8 +24,20 @@ Table of contents: .. code:: ipython3 - # Install openvino package - %pip install -q "openvino>=2023.1.0" + import platform + + # Install required packages + %pip install -q "openvino>=2023.1.0" opencv-python tqdm + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -46,12 +58,14 @@ Imports import openvino as ov # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import segmentation_map_to_image, download_file Download model weights @@ -66,19 +80,23 @@ Download model weights base_model_dir = Path("./model").expanduser() model_name = "road-segmentation-adas-0001" - model_xml_name = f'{model_name}.xml' - model_bin_name = f'{model_name}.bin' + model_xml_name = f"{model_name}.xml" + model_bin_name = f"{model_name}.bin" model_xml_path = base_model_dir / model_xml_name if not model_xml_path.exists(): - model_xml_url = "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/road-segmentation-adas-0001/FP32/road-segmentation-adas-0001.xml" - model_bin_url = "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/road-segmentation-adas-0001/FP32/road-segmentation-adas-0001.bin" + model_xml_url = ( + "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/road-segmentation-adas-0001/FP32/road-segmentation-adas-0001.xml" + ) + model_bin_url = ( + "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/road-segmentation-adas-0001/FP32/road-segmentation-adas-0001.bin" + ) download_file(model_xml_url, model_xml_name, base_model_dir) download_file(model_bin_url, model_bin_name, base_model_dir) else: - print(f'{model_name} already downloaded to {base_model_dir}') + print(f"{model_name} already downloaded to {base_model_dir}") @@ -107,8 +125,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -141,7 +159,7 @@ Load the Model Load an Image ------------- -A sample image from the + A sample image from the `Mapillary Vistas `__ dataset is provided. @@ -150,7 +168,7 @@ is provided. # Download the image from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/empty_road_mapillary.jpg", - directory="data" + directory="data", ) # The segmentation network expects images in BGR format. @@ -166,9 +184,7 @@ is provided. resized_image = cv2.resize(image, (W, H)) # Reshape to the network input shape. - input_image = np.expand_dims( - resized_image.transpose(2, 0, 1), 0 - ) + input_image = np.expand_dims(resized_image.transpose(2, 0, 1), 0) plt.imshow(rgb_image) @@ -182,12 +198,12 @@ is provided. .. parsed-literal:: - + -.. image:: 003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_11_2.png +.. image:: hello-segmentation-with-output_files/hello-segmentation-with-output_11_2.png Do Inference @@ -209,12 +225,12 @@ Do Inference .. parsed-literal:: - + -.. image:: 003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_13_1.png +.. image:: hello-segmentation-with-output_files/hello-segmentation-with-output_13_1.png Prepare Data for Visualization @@ -252,7 +268,7 @@ Visualize data # Fill the subplot. for ax, (name, image) in zip(axs, data.items()): - ax.axis('off') + ax.axis("off") ax.set_title(name) ax.imshow(image) @@ -261,5 +277,5 @@ Visualize data -.. image:: 003-hello-segmentation-with-output_files/003-hello-segmentation-with-output_17_0.png +.. image:: hello-segmentation-with-output_files/hello-segmentation-with-output_17_0.png diff --git a/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_11_2.png b/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_11_2.png new file mode 100644 index 00000000000..12a0ec3dda0 --- /dev/null +++ b/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_11_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb21264c96554435f8c9331a342b9c3a20d8129dc0725f6ff226d789779645be +size 249032 diff --git a/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_13_1.png b/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_13_1.png new file mode 100644 index 00000000000..ec01c58bdf8 --- /dev/null +++ b/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_13_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:492235a08c36c9afbebabcb01c8325ac99dccff84174e7074ca321aba2ac7aac +size 20550 diff --git a/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_17_0.png b/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_17_0.png new file mode 100644 index 00000000000..f8d59545b65 --- /dev/null +++ b/docs/notebooks/hello-segmentation-with-output_files/hello-segmentation-with-output_17_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62376a2e159eca912bff4ce975d169f8ed71f9d9b75c4fd09937e7552120b14d +size 260045 diff --git a/docs/notebooks/001-hello-world-with-output.rst b/docs/notebooks/hello-world-with-output.rst similarity index 77% rename from docs/notebooks/001-hello-world-with-output.rst rename to docs/notebooks/hello-world-with-output.rst index 9104721f72f..ea0f5032f44 100644 --- a/docs/notebooks/001-hello-world-with-output.rst +++ b/docs/notebooks/hello-world-with-output.rst @@ -10,7 +10,7 @@ from `Open Model Zoo `__ is used in this tutorial. For more information about how OpenVINO IR models are created, refer to the `TensorFlow to -OpenVINO <101-tensorflow-classification-to-openvino-with-output.html>`__ +OpenVINO `__ tutorial. Table of contents: @@ -26,8 +26,22 @@ Table of contents: .. code:: ipython3 + import platform + # Install openvino package - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" opencv-python tqdm + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -50,12 +64,14 @@ Imports import openvino as ov # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file Download the Model and data samples @@ -65,21 +81,21 @@ Download the Model and data samples .. code:: ipython3 - base_artifacts_dir = Path('./artifacts').expanduser() + base_artifacts_dir = Path("./artifacts").expanduser() model_name = "v3-small_224_1.0_float" - model_xml_name = f'{model_name}.xml' - model_bin_name = f'{model_name}.bin' + model_xml_name = f"{model_name}.xml" + model_bin_name = f"{model_name}.bin" model_xml_path = base_artifacts_dir / model_xml_name - base_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/mobelinet-v3-tf/FP32/' + base_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/mobelinet-v3-tf/FP32/" if not model_xml_path.exists(): download_file(base_url + model_xml_name, model_xml_name, base_artifacts_dir) download_file(base_url + model_bin_name, model_bin_name, base_artifacts_dir) else: - print(f'{model_name} already downloaded to {base_artifacts_dir}') + print(f"{model_name} already downloaded to {base_artifacts_dir}") @@ -108,8 +124,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -147,7 +163,7 @@ Load an Image # Download the image from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - directory="data" + directory="data", ) # The MobileNet model expects images in RGB format. @@ -168,7 +184,7 @@ Load an Image -.. image:: 001-hello-world-with-output_files/001-hello-world-with-output_11_1.png +.. image:: hello-world-with-output_files/hello-world-with-output_11_1.png Do Inference @@ -185,7 +201,7 @@ Do Inference imagenet_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/datasets/imagenet/imagenet_2012.txt", - directory="data" + directory="data", ) imagenet_classes = imagenet_filename.read_text().splitlines() @@ -201,7 +217,7 @@ Do Inference # The model description states that for this model, class 0 is a background. # Therefore, a background must be added at the beginning of imagenet_classes. - imagenet_classes = ['background'] + imagenet_classes + imagenet_classes = ["background"] + imagenet_classes imagenet_classes[result_index] diff --git a/docs/notebooks/hello-world-with-output_files/hello-world-with-output_11_1.png b/docs/notebooks/hello-world-with-output_files/hello-world-with-output_11_1.png new file mode 100644 index 00000000000..cca7858e3bc --- /dev/null +++ b/docs/notebooks/hello-world-with-output_files/hello-world-with-output_11_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbd7b81cc8e7a73ea9bcb8be0c0575134f50b6af8f7de23ee9feed645a4cf66c +size 387941 diff --git a/docs/notebooks/124-hugging-face-hub-with-output.rst b/docs/notebooks/hugging-face-hub-with-output.rst similarity index 81% rename from docs/notebooks/124-hugging-face-hub-with-output.rst rename to docs/notebooks/hugging-face-hub-with-output.rst index 1c844096fe2..e7ed9c3e9a7 100644 --- a/docs/notebooks/124-hugging-face-hub-with-output.rst +++ b/docs/notebooks/hugging-face-hub-with-output.rst @@ -65,7 +65,7 @@ Installing Requirements .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "transformers[torch]>=4.33.0" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "transformers>=4.33.0" "torch>=2.1.0" %pip install -q ipywidgets %pip install -q "openvino>=2023.1.0" @@ -127,12 +127,6 @@ tutorials `__ to convert the model (this one is implemented in PyTorch) to OpenVINO @@ -188,7 +184,7 @@ Note how we reuse our real ``encoded_input``, passing it to the import openvino as ov - save_model_path = Path('./models/model.xml') + save_model_path = Path("./models/model.xml") if not save_model_path.exists(): ov_model = ov.convert_model(model, example_input=dict(encoded_input)) @@ -197,7 +193,7 @@ Note how we reuse our real ``encoded_input``, passing it to the .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( @@ -216,8 +212,8 @@ First, we pick a device to do the model inference device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -260,12 +256,10 @@ original model. This is a rather simple example as the pipeline includes just one encoder model. Contemporary state of the art pipelines often consist of several model, feel free to explore other OpenVINO tutorials: 1. `Stable -Diffusion -v2 `__ -2. `Zero-shot Image Classification with OpenAI -CLIP `__ -3. `Controllable Music Generation with -MusicGen `__ +Diffusion v2 <../stable-diffusion-v2>`__ 2. `Zero-shot Image +Classification with OpenAI +CLIP <../clip-zero-shot-image-classification>`__ 3. `Controllable Music +Generation with MusicGen <../music-generation>`__ The workflow for the ``diffusers`` package is exactly the same. The first example in the list above relies on the ``diffusers``. @@ -341,23 +335,20 @@ documentation `__. .. parsed-literal:: - huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks... - To disable this warning, you can either: - - Avoid using `tokenizers` before the fork if possible - - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false) - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' - - -.. parsed-literal:: - - 2024-03-12 22:53:48.040478: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:53:48.076125: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:58:07.506496: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:58:07.542304: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:53:48.672121: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:58:08.114190: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( Initialize and Convert the Model Automatically using OVModel class @@ -388,7 +379,7 @@ inference run. model = OVModelForSequenceClassification.from_pretrained(MODEL, export=True, device=device.value) # The save_pretrained() method saves the model weights to avoid conversion on the next load. - model.save_pretrained('./models/optimum_model') + model.save_pretrained("./models/optimum_model") .. parsed-literal:: @@ -405,13 +396,7 @@ inference run. .. parsed-literal:: - Using the export variant default. Available variants are: - - default: The default ONNX variant. - - -.. parsed-literal:: - - Using framework PyTorch: 2.1.0+cpu + Using framework PyTorch: 2.2.2+cpu .. parsed-literal:: @@ -431,7 +416,7 @@ inference run. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( @@ -491,7 +476,7 @@ Full list of supported arguments available via ``--help`` .. parsed-literal:: - 2024-03-12 22:54:00.822899: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:58:19.217675: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -505,6 +490,7 @@ Full list of supported arguments available via ``--help`` [--ratio RATIO] [--sym] [--group-size GROUP_SIZE] [--disable-stateful] [--convert-tokenizer] + [--library {transformers,diffusers,timm,sentence_transformers}] output optional arguments: @@ -521,21 +507,21 @@ Full list of supported arguments available via ``--help`` --task TASK The task to export the model for. If not specified, the task will be auto-inferred based on the model. Available tasks depend on the model, but are among: - ['audio-frame-classification', 'depth-estimation', - 'multiple-choice', 'automatic-speech-recognition', - 'text-to-audio', 'image-segmentation', 'feature- - extraction', 'stable-diffusion-xl', 'text2text- - generation', 'token-classification', 'stable- - diffusion', 'audio-xvector', 'image-to-text', - 'semantic-segmentation', 'text-classification', - 'image-classification', 'sentence-similarity', - 'question-answering', 'mask-generation', 'object- - detection', 'zero-shot-image-classification', 'image- - to-image', 'fill-mask', 'zero-shot-object-detection', - 'conversational', 'masked-im', 'text-generation', - 'audio-classification']. For decoder models, use `xxx- - with-past` to export the model using past key values - in the decoder. + ['masked-im', 'fill-mask', 'token-classification', + 'conversational', 'image-segmentation', 'zero-shot- + image-classification', 'audio-frame-classification', + 'audio-classification', 'feature-extraction', 'zero- + shot-object-detection', 'text2text-generation', + 'automatic-speech-recognition', 'text-generation', + 'image-to-text', 'semantic-segmentation', 'text- + classification', 'sentence-similarity', 'audio- + xvector', 'depth-estimation', 'object-detection', + 'stable-diffusion', 'image-classification', 'mask- + generation', 'multiple-choice', 'stable-diffusion-xl', + 'image-to-image', 'text-to-audio', 'question- + answering']. For decoder models, use `xxx-with-past` + to export the model using past key values in the + decoder. --cache_dir CACHE_DIR Path indicating where to store cache. --framework {pt,tf} The framework to use for the export. If not provided, @@ -579,6 +565,9 @@ Full list of supported arguments available via ``--help`` kv-cache inputs and outputs in the model. --convert-tokenizer Add converted tokenizer and detokenizer with OpenVINO Tokenizers + --library {transformers,diffusers,timm,sentence_transformers} + The library on the model. If not provided, will + attempt to infer the local checkpoint's library The command line export for model from example above with FP16 weights @@ -599,7 +588,7 @@ compression: .. parsed-literal:: - 2024-03-12 22:54:05.156908: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:58:23.821792: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -609,7 +598,8 @@ compression: .. parsed-literal:: - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( .. parsed-literal:: @@ -622,12 +612,6 @@ compression: Framework not specified. Using pt to export the model. -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage() - return self.fget.__get__(instance, owner)() - - .. parsed-literal:: Some weights of the model checkpoint at cardiffnlp/twitter-roberta-base-sentiment-latest were not used when initializing RobertaForSequenceClassification: ['roberta.pooler.dense.bias', 'roberta.pooler.dense.weight'] @@ -637,16 +621,10 @@ compression: .. parsed-literal:: - Using the export variant default. Available variants are: - - default: The default ONNX variant. - - -.. parsed-literal:: - - Using framework PyTorch: 2.1.0+cpu + Using framework PyTorch: 2.2.2+cpu Overriding 1 configuration item(s) - use_cache -> False - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( @@ -693,18 +671,15 @@ Model inference is exactly the same as for the original model! You can find more examples of using Optimum Intel here: 1. `Accelerate Inference of Sparse Transformer -Models `__ -2. `Grammatical Error Correction with -OpenVINO `__ -3. `Stable Diffusion v2.1 using Optimum-Intel -OpenVINO `__ +Models `__ 2. +`Grammatical Error Correction with +OpenVINO `__ 3. `Stable +Diffusion v2.1 using Optimum-Intel +OpenVINO `__ 4. `Image generation with Stable Diffusion -XL `__ -5. `Instruction following using Databricks Dolly -2.0 `__ -6. `Create LLM-powered Chatbot using -OpenVINO `__ -7. `Document Visual Question Answering Using Pix2Struct and -OpenVINO `__ -8. `Automatic speech recognition using Distil-Whisper and -OpenVINO `__ +XL <../stable-diffusion-xl>`__ 5. `Instruction following using +Databricks Dolly 2.0 <../dolly-2-instruction-following>`__ 6. `Create +LLM-powered Chatbot using OpenVINO <../llm-chatbot>`__ 7. `Document +Visual Question Answering Using Pix2Struct and +OpenVINO <../pix2struct-docvqa>`__ 8. `Automatic speech recognition +using Distil-Whisper and OpenVINO <../distil-whisper-asr>`__ diff --git a/docs/notebooks/239-image-bind-convert-with-output.rst b/docs/notebooks/image-bind-with-output.rst similarity index 99% rename from docs/notebooks/239-image-bind-convert-with-output.rst rename to docs/notebooks/image-bind-with-output.rst index 7825b73fa90..7f7b556e952 100644 --- a/docs/notebooks/239-image-bind-convert-with-output.rst +++ b/docs/notebooks/image-bind-with-output.rst @@ -85,7 +85,31 @@ Table of contents: - `Text-Audio classification <#text-audio-classification>`__ - `Image-Audio classification <#image-audio-classification>`__ -- `Next Steps <#next-steps>`__ +- `Post-Training Quantization of ImageBind model with + NNCF <#post-training-quantization-of-imagebind-model-with-nncf>`__ + + - `Prepare datasets <#prepare-datasets>`__ + - `Apply quantization <#apply-quantization>`__ + + - `Quantize ImageBind model for vision + modality. <#quantize-imagebind-model-for-vision-modality->`__ + - `Quantize ImageBind model for text + modality <#quantize-imagebind-model-for-text-modality>`__ + - `Quantize ImageBind model for audio + modality <#quantize-imagebind-model-for-audio-modality>`__ + + - `Compare results for the OpenVINO FP16 model and the quantized + model <#compare-results-for-the-openvino-fp16-model-and-the-quantized-model>`__ + + - `Select inference device <#select-inference-device>`__ + + - `Compare File Size <#compare-file-size>`__ + - `Compare inference time of the FP16 IR and quantized + models <#compare-inference-time-of-the-fp16-ir-and-quantized-models>`__ + + - `Vision model <#vision-model>`__ + - `Text model <#text-model>`__ + - `Audio model <#audio-model>`__ Prerequisites ------------- @@ -94,20 +118,11 @@ Prerequisites .. code:: ipython3 - import sys import platform - %pip install -q soundfile pytorchvideo ftfy "timm>=0.6.7" einops fvcore "openvino>=2023.1.0" numpy scipy --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "torch>=2.0.1" "torchvision>=0.15.2,<0.17.0" "torchaudio>=2.0.2" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q datasets librosa soundfile pytorchvideo ftfy "timm>=0.6.7" einops fvcore "openvino>=2024.0.0" "nncf>=2.9.0" numpy scipy --extra-index-url https://download.pytorch.org/whl/cpu - if sys.version_info.minor < 8: - %pip install -q "decord" - else: - %pip install -q "eva-decord" - - if sys.platform != "linux": - %pip install -q "torch>=2.0.1" "torchvision>=0.15.2,<0.17.0" "torchaudio>=2.0.2" - else: - %pip install -q "torch>=2.0.1" "torchvision>=0.15.2,<0.17.0" "torchaudio>=2.0.2" --index-url https://download.pytorch.org/whl/cpu if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -125,12 +140,6 @@ Prerequisites %cd {repo_dir} - -.. parsed-literal:: - - /home/ea/work/openvino_notebooks/notebooks/239-image-bind/ImageBind - - Instantiate PyTorch model ------------------------- @@ -161,11 +170,11 @@ card `__. .. parsed-literal:: - /home/ea/work/ov_venv/lib/python3.8/site-packages/torchvision/transforms/functional_tensor.py:5: UserWarning: The torchvision.transforms.functional_tensor module is deprecated in 0.15 and will be **removed in 0.17**. Please don't rely on it. You probably just need to use APIs in torchvision.transforms.functional or in torchvision.transforms.v2.functional. + /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/torchvision/transforms/functional_tensor.py:5: UserWarning: The torchvision.transforms.functional_tensor module is deprecated in 0.15 and will be **removed in 0.17**. Please don't rely on it. You probably just need to use APIs in torchvision.transforms.functional or in torchvision.transforms.v2.functional. warnings.warn( - /home/ea/work/ov_venv/lib/python3.8/site-packages/torchvision/transforms/_functional_video.py:6: UserWarning: The 'torchvision.transforms._functional_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms.functional' module instead. + /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/torchvision/transforms/_functional_video.py:6: UserWarning: The 'torchvision.transforms._functional_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms.functional' module instead. warnings.warn( - /home/ea/work/ov_venv/lib/python3.8/site-packages/torchvision/transforms/_transforms_video.py:22: UserWarning: The 'torchvision.transforms._transforms_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms' module instead. + /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/torchvision/transforms/_transforms_video.py:22: UserWarning: The 'torchvision.transforms._transforms_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms' module instead. warnings.warn( @@ -194,8 +203,16 @@ data reading and preprocessing for each modality. # Prepare inputs text_list = ["A car", "A bird", "A dog"] - image_paths = [".assets/dog_image.jpg", ".assets/car_image.jpg", ".assets/bird_image.jpg"] - audio_paths = [".assets/dog_audio.wav", ".assets/bird_audio.wav", ".assets/car_audio.wav"] + image_paths = [ + ".assets/dog_image.jpg", + ".assets/car_image.jpg", + ".assets/bird_image.jpg", + ] + audio_paths = [ + ".assets/dog_audio.wav", + ".assets/bird_audio.wav", + ".assets/car_audio.wav", + ] inputs = { ModalityType.TEXT: data.load_and_transform_text(text_list, "cpu"), @@ -229,7 +246,7 @@ embeddings. super().__init__() self.model = model self.modality = modality - + def forward(self, data): return self.model({self.modality: data}) @@ -252,8 +269,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -264,7 +281,7 @@ select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=3, options=('CPU', 'GPU.0', 'GPU.1', 'AUTO'), value='AUTO') @@ -287,23 +304,6 @@ select device from dropdown list for running inference using OpenVINO ov_model = core.read_model(ir_path) ov_modality_models[modality] = core.compile_model(ov_model, device.value) - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -.. parsed-literal:: - - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' - /home/ea/work/openvino_notebooks/notebooks/239-image-bind/ImageBind/imagebind/models/multimodal_preprocessors.py:433: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if x.shape[self.time_dim] == 1: - /home/ea/work/openvino_notebooks/notebooks/239-image-bind/ImageBind/imagebind/models/multimodal_preprocessors.py:259: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - assert tokens.shape[2] == self.embed_dim - /home/ea/work/openvino_notebooks/notebooks/239-image-bind/ImageBind/imagebind/models/multimodal_preprocessors.py:74: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if npatch_per_img == N: - - Zero-shot classification using ImageBind and OpenVINO ----------------------------------------------------- @@ -315,7 +315,7 @@ data. In the case of ImageBind, you can classify audio, images, and information in the other supported modalities. We already discussed how to perform zero-shot image classification using the CLIP model (please check this -`notebook <228-clip-zero-shot-image-classification-with-output.html>`__ +`notebook `__ for details), capabilities of ImageBind for this task wider, because it allows using any combinations of supported modalities for classification. @@ -357,15 +357,16 @@ they represent the same object. def visualize_prob_matrix(matrix, x_label, y_label): fig, ax = plt.subplots() - ax.matshow(matrix, cmap='winter') + ax.matshow(matrix, cmap="winter") for (i, j), z in np.ndenumerate(matrix): - ax.text(j, i, '{:0.3f}'.format(z), ha='center', va='center') + ax.text(j, i, "{:0.3f}".format(z), ha="center", va="center") ax.set_xticks(range(len(x_label)), x_label) ax.set_yticks(range(len(y_label)), y_label) - image_list = [img.split('/')[-1] for img in image_paths] - audio_list = [audio.split('/')[-1] for audio in audio_paths] + + image_list = [img.split("/")[-1] for img in image_paths] + audio_list = [audio.split("/")[-1] for audio in audio_paths] Text-Image classification ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -380,7 +381,7 @@ Text-Image classification -.. image:: 239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_20_0.png +.. image:: image-bind-with-output_files/image-bind-with-output_20_0.png Text-Audio classification @@ -396,7 +397,7 @@ Text-Audio classification -.. image:: 239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_22_0.png +.. image:: image-bind-with-output_files/image-bind-with-output_22_0.png Image-Audio classification @@ -412,7 +413,7 @@ Image-Audio classification -.. image:: 239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_24_0.png +.. image:: image-bind-with-output_files/image-bind-with-output_24_0.png Putting all together, we can match text, image, and sound for our data. @@ -421,9 +422,12 @@ Putting all together, we can match text, image, and sound for our data. import IPython.display as ipd from PIL import Image + text_image_ids = np.argmax(text_vision_scores, axis=0) text_audio_ids = np.argmax(text_audio_scores, axis=0) - print(f"Predicted label: {text_list[0]} \nprobability for image - {text_vision_scores[text_image_ids[0], 0]:.3f}\nprobability for audio - {text_audio_scores[0, text_audio_ids[0]]:.3f}") + print( + f"Predicted label: {text_list[0]} \nprobability for image - {text_vision_scores[text_image_ids[0], 0]:.3f}\nprobability for audio - {text_audio_scores[0, text_audio_ids[0]]:.3f}" + ) display(Image.open(image_paths[text_image_ids[0]])) ipd.Audio(audio_paths[text_audio_ids[0]]) @@ -436,7 +440,7 @@ Putting all together, we can match text, image, and sound for our data. -.. image:: 239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_26_1.png +.. image:: image-bind-with-output_files/image-bind-with-output_26_1.png @@ -454,7 +458,9 @@ Putting all together, we can match text, image, and sound for our data. .. code:: ipython3 - print(f"Predicted label: {text_list[1]} \nprobability for image - {text_vision_scores[text_image_ids[1], 1]:.3f}\nprobability for audio - {text_audio_scores[1, text_audio_ids[1]]:.3f}") + print( + f"Predicted label: {text_list[1]} \nprobability for image - {text_vision_scores[text_image_ids[1], 1]:.3f}\nprobability for audio - {text_audio_scores[1, text_audio_ids[1]]:.3f}" + ) display(Image.open(image_paths[text_image_ids[1]])) ipd.Audio(audio_paths[text_audio_ids[1]]) @@ -467,7 +473,7 @@ Putting all together, we can match text, image, and sound for our data. -.. image:: 239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_27_1.png +.. image:: image-bind-with-output_files/image-bind-with-output_27_1.png @@ -485,7 +491,9 @@ Putting all together, we can match text, image, and sound for our data. .. code:: ipython3 - print(f"Predicted label: {text_list[2]} \nprobability for image - {text_vision_scores[text_image_ids[2], 2]:.3f}\nprobability for audio - {text_audio_scores[2, text_audio_ids[2]]:.3f}") + print( + f"Predicted label: {text_list[2]} \nprobability for image - {text_vision_scores[text_image_ids[2], 2]:.3f}\nprobability for audio - {text_audio_scores[2, text_audio_ids[2]]:.3f}" + ) display(Image.open(image_paths[text_image_ids[2]])) ipd.Audio(audio_paths[text_audio_ids[2]]) @@ -498,7 +506,7 @@ Putting all together, we can match text, image, and sound for our data. -.. image:: 239-image-bind-convert-with-output_files/239-image-bind-convert-with-output_28_1.png +.. image:: image-bind-with-output_files/image-bind-with-output_28_1.png @@ -514,11 +522,501 @@ Putting all together, we can match text, image, and sound for our data. -Next Steps ----------- +Post-Training Quantization of ImageBind model with NNCF +------------------------------------------------------- -Open the `239-image-bind-quantize <239-image-bind-quantize-with-output.html>`__ -notebook to quantize the IR model with the Post-training Quantization -API of NNCF and compare ``FP16`` and ``INT8`` models. +The goal of this part of tutorial is to demonstrate how to speed up the +model by applying 8-bit post-training quantization from +`NNCF `__ (Neural Network +Compression Framework) and infer quantized model via OpenVINO™ Toolkit. + +The optimization process contains the following steps: 1. Prepare +quantization dataset 2. Quantize OpenVINO model with NNCF. 3. Compare +probability matrices between converted and quantized models on input +data examples. 4. Compare model size of converted and quantized models. +5. Compare performance of converted and quantized models. + +.. code:: ipython3 + + modalities = [ModalityType.TEXT, ModalityType.VISION, ModalityType.AUDIO] + fp_model_paths = {modality: Path(f"image-bind-{modality}") / f"image-bind-{modality}.xml" for modality in modalities} + int8_model_paths = {modality: Path(f"image-bind-{modality}") / f"image-bind-{modality}_int8.xml" for modality in modalities} + +Prepare datasets +~~~~~~~~~~~~~~~~ + + + +The `Conceptual +Captions `__ dataset +consisting of ~3.3M images annotated with captions. Dataset is used to +quantize image and text models. + +.. code:: ipython3 + + import imagebind.data as data + import os + import requests + import tempfile + + from requests.packages.urllib3.exceptions import InsecureRequestWarning + + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + + + def check_text_data(data): + """ + Check if the given data is text-based. + """ + if isinstance(data, str): + return True + if isinstance(data, list): + return all(isinstance(x, str) for x in data) + return False + + + def collate_fn(examples, image_column="image_url", text_column="caption"): + """ + Collates examples into a batch for processing. + Preprocesses each example by loading and transforming image and text data. + Checks if the text data in the example is valid by calling the `check_text_data` function. + Downloads the image specified by the URL in the image_column of the example dictionary. + Constructs and returns a dictionary representing the collated batch with the following keys: + - "pixel_values": The pixel values of the preprocessed example. + - "input_ids": The transformed text data of the preprocessed example. + """ + assert len(examples) == 1 + example = examples[0] + if not check_text_data(example[text_column]): + raise ValueError("Text data is not valid") + + url = example[image_column] + with tempfile.TemporaryDirectory() as tempdir: + f_name = os.path.join(tempdir, "image.jpg") + try: + response = requests.get(url, verify=False, timeout=20) + with open(f_name, "wb") as file: + file.write(response.content) + pixel_values = data.load_and_transform_vision_data([f_name], "cpu") + except Exception: + print(f"Can't load image from url: {url}") + return None + + text = data.load_and_transform_text([example[text_column]], "cpu") + + return {"pixel_values": pixel_values, "input_ids": text} + +.. code:: ipython3 + + from datasets import load_dataset + import itertools + import torch + from tqdm.notebook import tqdm + + + def collect_vision_text_data(dataloader, init_steps): + """ + This function collects vision and text data from a dataloader for a specified number of initialization steps. + It iterates over the dataloader, fetching batches and storing the relevant vision and text data. + Returns a tuple containing the collected vision_data and text_data lists. + """ + text_data = [] + vision_data = [] + print(f"Fetching {init_steps} for the initialization...") + counter = 0 + for batch in tqdm(dataloader): + if counter == init_steps: + break + with torch.no_grad(): + if batch: + counter += 1 + text_data.append(batch["input_ids"].to("cpu")) + vision_data.append(batch["pixel_values"].to("cpu")) + return vision_data, text_data + + + def prepare_vision_text_dataset(opt_init_steps=50): + """ + Prepares a vision-text dataset for quantization by collecting vision and text data. + """ + dataset = load_dataset("conceptual_captions", streaming=False) + train_dataset = dataset["train"].shuffle(seed=0) + dataloader = torch.utils.data.DataLoader(train_dataset, collate_fn=collate_fn, batch_size=1) + vision_data, text_data = collect_vision_text_data(dataloader, opt_init_steps) + return vision_data, text_data + +The `ESC-50 `__ dataset is +used to quantize the audio modality of the ImageBind model. Dataset is a +labeled collection of 2000 environmental audio recordings suitable for +benchmarking methods of environmental sound classification. The dataset +consists of 5-second-long recordings organized into 50 semantic classes. + +.. code:: ipython3 + + import numpy as np + import torchaudio + + + def collect_audio_data(dataloader, init_steps=300): + """ + This function collects audio data from a dataloader for a specified number of initialization steps. + It iterates over the dataloader, fetching batches and storing them in a list. + """ + audio_data = [] + for _, batch in tqdm(zip(range(init_steps), itertools.islice(dataloader, 0, init_steps))): + with torch.no_grad(): + audio_data.append(batch) + return audio_data + + + def prepare_audio_dataset(): + """ + Prepares an "ashraq/esc50" audio dataset for quantization by collecting audio data. + Collects audio data from the dataloader by calling the `collect_audio_data` function. + Returns a list containing the collected calibration audio data batches. + """ + audio_dataset = load_dataset("ashraq/esc50", streaming=True) + train_dataset = audio_dataset["train"].shuffle(seed=42, buffer_size=1000) + + def collate_fn(examples): + assert len(examples) == 1 + with tempfile.TemporaryDirectory() as tempdir: + f_name = os.path.join(tempdir, "audio.wav") + audio_data = examples[0]["audio"]["array"] + sample_rate = examples[0]["audio"]["sampling_rate"] + audio_data = torch.from_numpy(audio_data).to(torch.float32).unsqueeze(0) + torchaudio.save(f_name, audio_data, sample_rate) + return data.load_and_transform_audio_data([f_name], "cpu") + + dataloader = torch.utils.data.DataLoader(train_dataset, collate_fn=collate_fn, batch_size=1) + calibration_data = collect_audio_data(dataloader) + return calibration_data + +.. code:: ipython3 + + vision_data, text_data = [], [] + + if not int8_model_paths[ModalityType.TEXT].exists() or not int8_model_paths[ModalityType.VISION].exists(): + vision_data, text_data = prepare_vision_text_dataset() + +Apply quantization +~~~~~~~~~~~~~~~~~~ + + ### Apply quantization + +.. code:: ipython3 + + import logging + import nncf + import openvino as ov + + nncf.set_log_level(logging.ERROR) + + core = ov.Core() + + + def quantize_openvino_model(modality, calibration_data): + model_path = fp_model_paths[modality] + model = core.read_model(model_path) + quantized_model = nncf.quantize( + model=model, + calibration_dataset=calibration_data, + model_type=nncf.ModelType.TRANSFORMER, + ) + ov.save_model(quantized_model, int8_model_paths[modality]) + return quantized_model + + +.. parsed-literal:: + + INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino + + +Quantize ImageBind model for vision modality. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + + **NOTE**: Quantization is time and memory consuming operation. + Running quantization code below may take a long time. + +.. code:: ipython3 + + if not int8_model_paths[ModalityType.VISION].exists(): + if len(vision_data) == 0: + raise RuntimeError("Calibration dataset is empty. Please check internet connection and try to download images manually from the URLs above.") + + vision_dataset = nncf.Dataset(vision_data) + vision_quantized_model = quantize_openvino_model(modality=ModalityType.VISION, calibration_data=vision_dataset) + +Quantize ImageBind model for text modality +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + +.. code:: ipython3 + + if not int8_model_paths[ModalityType.TEXT].exists(): + text_dataset = nncf.Dataset(text_data) + text_quantized_model = quantize_openvino_model(modality=ModalityType.TEXT, calibration_data=text_dataset) + +Quantize ImageBind model for audio modality +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + #### Quantize ImageBind model +for audio modality + +.. code:: ipython3 + + if not int8_model_paths[ModalityType.AUDIO].exists(): + audio_calibration_data = prepare_audio_dataset() + audio_dataset = nncf.Dataset(audio_calibration_data) + audio_quantized_model = quantize_openvino_model(modality=ModalityType.AUDIO, calibration_data=audio_dataset) + +NNCF also supports quantization-aware training, and other algorithms +than quantization. See the `NNCF +documentation `__ +in the NNCF repository for more information. + +Compare results for the OpenVINO FP16 model and the quantized model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Compare the probability matrices for ``FP16`` and ``INT8`` models. + +.. code:: ipython3 + + # Prepare inputs + + text_list = ["A car", "A bird", "A dog"] + image_paths = [ + ".assets/dog_image.jpg", + ".assets/car_image.jpg", + ".assets/bird_image.jpg", + ] + audio_paths = [ + ".assets/dog_audio.wav", + ".assets/bird_audio.wav", + ".assets/car_audio.wav", + ] + + inputs = { + ModalityType.TEXT: data.load_and_transform_text(text_list, "cpu"), + ModalityType.VISION: data.load_and_transform_vision_data(image_paths, "cpu"), + ModalityType.AUDIO: data.load_and_transform_audio_data(audio_paths, "cpu"), + } + +Select inference device +^^^^^^^^^^^^^^^^^^^^^^^ + + + +select device from dropdown list for running inference using OpenVINO + +.. code:: ipython3 + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=3, options=('CPU', 'GPU.0', 'GPU.1', 'AUTO'), value='AUTO') + + + +.. code:: ipython3 + + embeddings = {} + for modality in modalities: + ov_model = core.compile_model(fp_model_paths[modality], device.value) + embeddings[modality] = ov_model(inputs[modality])[0] + + quantized_embeddings = {} + for modality in modalities: + model = core.compile_model(int8_model_paths[modality], device.value) + quantized_embeddings[modality] = model(inputs[modality])[0] + +.. code:: ipython3 + + def visualize_prob_matrices(fp_matrix, int_matrix, x_label, y_label): + fig, ax = plt.subplots(1, 2) + for i, matrix in enumerate([fp_matrix, int_matrix]): + ax[i].matshow(matrix, cmap="winter") + + for (k, j), z in np.ndenumerate(matrix): + ax[i].title.set_text("FP16 probs" if i == 0 else "INT8 probs") + ax[i].text(j, k, "{:0.3f}".format(z), ha="center", va="center") + ax[i].set_xticks(range(len(x_label)), x_label) + ax[i].set_yticks(range(len(y_label)), y_label) + fig.tight_layout() + + + image_list = [img.split("/")[-1] for img in image_paths] + audio_list = [audio.split("/")[-1] for audio in audio_paths] + +.. code:: ipython3 + + fp_text_vision_scores = softmax(embeddings[ModalityType.VISION] @ embeddings[ModalityType.TEXT].T, axis=-1) + int_text_vision_scores = softmax( + quantized_embeddings[ModalityType.VISION] @ quantized_embeddings[ModalityType.TEXT].T, + axis=-1, + ) + + visualize_prob_matrices(fp_text_vision_scores, int_text_vision_scores, text_list, image_list) + + + +.. image:: image-bind-with-output_files/image-bind-with-output_52_0.png + + +.. code:: ipython3 + + fp_text_audio_scores = softmax(embeddings[ModalityType.AUDIO] @ embeddings[ModalityType.TEXT].T, axis=-1) + int_text_audio_scores = softmax( + quantized_embeddings[ModalityType.AUDIO] @ quantized_embeddings[ModalityType.TEXT].T, + axis=-1, + ) + + visualize_prob_matrices(fp_text_audio_scores, int_text_audio_scores, text_list, image_list) + + + +.. image:: image-bind-with-output_files/image-bind-with-output_53_0.png + + +.. code:: ipython3 + + fp_audio_vision_scores = softmax(embeddings[ModalityType.VISION] @ embeddings[ModalityType.AUDIO].T, axis=-1) + int_audio_vision_scores = softmax( + quantized_embeddings[ModalityType.VISION] @ quantized_embeddings[ModalityType.AUDIO].T, + axis=-1, + ) + + visualize_prob_matrices(fp_audio_vision_scores, int_audio_vision_scores, text_list, image_list) + + + +.. image:: image-bind-with-output_files/image-bind-with-output_54_0.png + + +Compare File Size +~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + def calculate_compression_rate(modality): + fp16_ir_model_size = Path(fp_model_paths[modality]).with_suffix(".bin").stat().st_size / 1024 + quantized_model_size = Path(int8_model_paths[modality]).with_suffix(".bin").stat().st_size / 1024 + print(f"Modality: {modality}") + print(f" * FP16 IR model size: {fp16_ir_model_size:.2f} KB") + print(f" * INT8 model size: {quantized_model_size:.2f} KB") + print(f" * Model compression rate: {fp16_ir_model_size / quantized_model_size:.3f}") + + + for modality in modalities: + calculate_compression_rate(modality) + + +.. parsed-literal:: + + Modality: text + * FP16 IR model size: 691481.69 KB + * INT8 model size: 347006.66 KB + * Model compression rate: 1.993 + Modality: vision + * FP16 IR model size: 1235995.15 KB + * INT8 model size: 620132.79 KB + * Model compression rate: 1.993 + Modality: audio + * FP16 IR model size: 168429.15 KB + * INT8 model size: 84818.40 KB + * Model compression rate: 1.986 + + +Compare inference time of the FP16 IR and quantized models +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +To measure the inference performance of the ``FP16`` and ``INT8`` +models, we use median inference time on calibration dataset. So we can +approximately estimate the speed up of the dynamic quantized models. + + **NOTE**: For the most accurate performance estimation, it is + recommended to run ``benchmark_app`` in a terminal/command prompt + after closing other applications with static shapes. + +.. code:: ipython3 + + import time + + + def calculate_inference_time(model_path, calibration_data): + model = core.compile_model(model_path) + output_layer = model.output(0) + inference_time = [] + for batch in calibration_data: + start = time.perf_counter() + _ = model(batch)[output_layer] + end = time.perf_counter() + delta = end - start + inference_time.append(delta) + return np.median(inference_time) + +Vision model +^^^^^^^^^^^^ + + + +.. code:: ipython3 + + fp16_latency = calculate_inference_time(fp_model_paths[ModalityType.VISION], vision_data) + int8_latency = calculate_inference_time(int8_model_paths[ModalityType.VISION], vision_data) + print(f"Performance speed up: {fp16_latency / int8_latency:.3f}") + + +.. parsed-literal:: + + Performance speed up: 2.375 + + +Text model +^^^^^^^^^^ + + + +.. code:: ipython3 + + fp16_latency = calculate_inference_time(fp_model_paths[ModalityType.TEXT], text_data) + int8_latency = calculate_inference_time(int8_model_paths[ModalityType.TEXT], text_data) + print(f"Performance speed up: {fp16_latency / int8_latency:.3f}") + + +.. parsed-literal:: + + Performance speed up: 1.492 + + +Audio model +^^^^^^^^^^^ + + + +.. code:: ipython3 + + fp16_latency = calculate_inference_time(fp_model_paths[ModalityType.AUDIO], audio_calibration_data) + int8_latency = calculate_inference_time(int8_model_paths[ModalityType.AUDIO], audio_calibration_data) + print(f"Performance speed up: {fp16_latency / int8_latency:.3f}") + + +.. parsed-literal:: + + Performance speed up: 5.770 + diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_20_0.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_20_0.png new file mode 100644 index 00000000000..b61da5d71d0 --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_20_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:407f4039d44322edd717fb1eba4c0e029205b2c691614606f1a5b33ed31aa047 +size 15474 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_22_0.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_22_0.png new file mode 100644 index 00000000000..bf96c415a07 --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_22_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:098a56bdaf58b412fe6935d327bcd810942f01789ecd5c2efe834888eba3b819 +size 13795 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_24_0.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_24_0.png new file mode 100644 index 00000000000..54a9a687521 --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_24_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe454683f2419970a93baaea6a5beb973dd832627217464d87c14bf2a61e8032 +size 18633 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_26_1.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_26_1.png new file mode 100644 index 00000000000..6be4611dbc7 --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_26_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d09352f8474421fa78d601cc5afbe88df3d0403c157f91605d424b66a2f1809a +size 303014 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_27_1.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_27_1.png new file mode 100644 index 00000000000..174dcfdcbe8 --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_27_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:609e506939d69a89fb59d36622d72005d5b162afccf70c1e2463cd51d544d4dd +size 777583 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_28_1.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_28_1.png new file mode 100644 index 00000000000..a4b0b02a4d7 --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_28_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7509d532217e990ed721424c57aecbadfb634d397bd1c069852f873fee8741a9 +size 572170 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_52_0.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_52_0.png new file mode 100644 index 00000000000..9274858833d --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_52_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41c01dd2ebbddd60573c560ddcb00f7671b63bf1e49ca68497be1d39fd5cb86c +size 19998 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_53_0.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_53_0.png new file mode 100644 index 00000000000..76f09aa4eb8 --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_53_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acb5ca8757899c94fa8fd68a647975ea031ffa3f4955214b9a39d097b179ad27 +size 17315 diff --git a/docs/notebooks/image-bind-with-output_files/image-bind-with-output_54_0.png b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_54_0.png new file mode 100644 index 00000000000..f2f53fccfbd --- /dev/null +++ b/docs/notebooks/image-bind-with-output_files/image-bind-with-output_54_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e30a62c61037f25fa771225ab71ab9ecb407a0589103a79de2c5e0374583adf1 +size 22314 diff --git a/docs/notebooks/113-image-classification-quantization-with-output.rst b/docs/notebooks/image-classification-quantization-with-output.rst similarity index 79% rename from docs/notebooks/113-image-classification-quantization-with-output.rst rename to docs/notebooks/image-classification-quantization-with-output.rst index f237c801cd4..e4d56582cdf 100644 --- a/docs/notebooks/113-image-classification-quantization-with-output.rst +++ b/docs/notebooks/image-classification-quantization-with-output.rst @@ -8,7 +8,7 @@ MobileNet V2 model, trained on Cifar10 dataset. The code is designed to be extendable to custom models and datasets. The tutorial uses OpenVINO backend for performing model quantization in NNCF, if you interested how to apply quantization on PyTorch model, please check this -`tutorial <112-pytorch-post-training-quantization-nncf-with-output.html>`__. +`tutorial `__. This tutorial consists of the following steps: @@ -43,8 +43,20 @@ Table of contents: .. code:: ipython3 - # Install openvino package - %pip install -q "openvino>=2023.1.0" "nncf>=2.6.0" + import platform + + # Install required packages + %pip install -q "openvino>=2023.1.0" "nncf>=2.6.0" torch torchvision tqdm --extra-index-url https://download.pytorch.org/whl/cpu + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -58,8 +70,8 @@ Table of contents: # Set the data and model directories DATA_DIR = Path("data") - MODEL_DIR = Path('model') - model_repo = 'pytorch-cifar-models' + MODEL_DIR = Path("model") + model_repo = "pytorch-cifar-models" DATA_DIR.mkdir(exist_ok=True) MODEL_DIR.mkdir(exist_ok=True) @@ -364,10 +376,7 @@ Receiving objects: 63% (178/282) Receiving objects: 64% (181/282) Receiving objects: 65% (184/282) Receiving objects: 66% (187/282) - -.. parsed-literal:: - - Receiving objects: 67% (189/282) +Receiving objects: 67% (189/282) Receiving objects: 68% (192/282) Receiving objects: 69% (195/282) Receiving objects: 70% (198/282) @@ -384,80 +393,70 @@ Receiving objects: 75% (212/282) .. parsed-literal:: Receiving objects: 77% (218/282) +Receiving objects: 78% (220/282) +Receiving objects: 79% (223/282) +Receiving objects: 80% (226/282) .. parsed-literal:: - Receiving objects: 78% (220/282) + Receiving objects: 81% (229/282) +Receiving objects: 82% (232/282) +Receiving objects: 83% (235/282) .. parsed-literal:: - Receiving objects: 79% (223/282), 2.34 MiB | 4.38 MiB/s + Receiving objects: 84% (237/282) +Receiving objects: 85% (240/282) +Receiving objects: 86% (243/282) .. parsed-literal:: - Receiving objects: 80% (226/282), 2.34 MiB | 4.38 MiB/s + Receiving objects: 87% (246/282) .. parsed-literal:: - Receiving objects: 81% (229/282), 2.34 MiB | 4.38 MiB/s - -.. parsed-literal:: - - Receiving objects: 82% (232/282), 2.34 MiB | 4.38 MiB/s -Receiving objects: 83% (235/282), 2.34 MiB | 4.38 MiB/s - -.. parsed-literal:: - - Receiving objects: 84% (237/282), 2.34 MiB | 4.38 MiB/s -Receiving objects: 85% (240/282), 2.34 MiB | 4.38 MiB/s - -.. parsed-literal:: - - Receiving objects: 86% (243/282), 2.34 MiB | 4.38 MiB/s - -.. parsed-literal:: - - Receiving objects: 87% (246/282), 2.34 MiB | 4.38 MiB/s -Receiving objects: 88% (249/282), 2.34 MiB | 4.38 MiB/s - -.. parsed-literal:: - - Receiving objects: 89% (251/282), 8.63 MiB | 8.35 MiB/s + Receiving objects: 88% (249/282) +Receiving objects: 89% (251/282) remote: Total 282 (delta 135), reused 269 (delta 128), pack-reused 1 - Receiving objects: 90% (254/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 91% (257/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 92% (260/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 93% (263/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 94% (266/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 95% (268/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 96% (271/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 97% (274/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 98% (277/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 99% (280/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 100% (282/282), 8.63 MiB | 8.35 MiB/s -Receiving objects: 100% (282/282), 9.22 MiB | 8.26 MiB/s, done. + Receiving objects: 90% (254/282) +Receiving objects: 91% (257/282) +Receiving objects: 92% (260/282) +Receiving objects: 93% (263/282) +Receiving objects: 94% (266/282) +Receiving objects: 95% (268/282) +Receiving objects: 96% (271/282) +Receiving objects: 97% (274/282) +Receiving objects: 98% (277/282) +Receiving objects: 99% (280/282) +Receiving objects: 100% (282/282) +Receiving objects: 100% (282/282), 9.22 MiB | 21.40 MiB/s, done. Resolving deltas: 0% (0/135) -Resolving deltas: 3% (5/135) +Resolving deltas: 2% (4/135) +Resolving deltas: 4% (6/135) Resolving deltas: 5% (7/135) -Resolving deltas: 6% (9/135) -Resolving deltas: 13% (18/135) -Resolving deltas: 21% (29/135) +Resolving deltas: 14% (19/135) +Resolving deltas: 19% (26/135) +Resolving deltas: 20% (27/135) +Resolving deltas: 22% (31/135) Resolving deltas: 25% (34/135) +Resolving deltas: 27% (37/135) +Resolving deltas: 28% (38/135) Resolving deltas: 29% (40/135) Resolving deltas: 30% (41/135) Resolving deltas: 31% (42/135) Resolving deltas: 32% (44/135) -Resolving deltas: 33% (45/135) -Resolving deltas: 34% (46/135) +Resolving deltas: 34% (47/135) Resolving deltas: 40% (54/135) Resolving deltas: 45% (62/135) Resolving deltas: 46% (63/135) -Resolving deltas: 50% (68/135) +Resolving deltas: 51% (69/135) Resolving deltas: 57% (78/135) Resolving deltas: 58% (79/135) -Resolving deltas: 60% (81/135) -Resolving deltas: 62% (84/135) -Resolving deltas: 71% (96/135) +Resolving deltas: 59% (80/135) +Resolving deltas: 60% (82/135) +Resolving deltas: 61% (83/135) +Resolving deltas: 69% (94/135) +Resolving deltas: 71% (97/135) .. parsed-literal:: @@ -489,7 +488,7 @@ can be found on this model.eval() - ov_model = ov.convert_model(model, input=[1,3,32,32]) + ov_model = ov.convert_model(model, input=[1, 3, 32, 32]) ov.save_model(ov_model, MODEL_DIR / "mobilenet_v2.xml") @@ -510,7 +509,12 @@ Preprocessing for model obtained from training from torchvision import transforms from torchvision.datasets import CIFAR10 - transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.247, 0.243, 0.261))]) + transform = transforms.Compose( + [ + transforms.ToTensor(), + transforms.Normalize((0.4914, 0.4822, 0.4465), (0.247, 0.243, 0.261)), + ] + ) dataset = CIFAR10(root=DATA_DIR, train=False, transform=transform, download=True) val_loader = torch.utils.data.DataLoader( dataset, @@ -534,312 +538,322 @@ Preprocessing for model obtained from training .. parsed-literal:: - 0%| | 32768/170498071 [00:00<10:17, 275946.37it/s] + 0%| | 32768/170498071 [00:00<09:50, 288554.83it/s] .. parsed-literal:: - 0%| | 65536/170498071 [00:00<10:28, 271284.88it/s] + 0%| | 65536/170498071 [00:00<10:02, 282666.29it/s] .. parsed-literal:: - 0%| | 98304/170498071 [00:00<10:31, 269970.74it/s] + 0%| | 98304/170498071 [00:00<10:04, 281904.99it/s] .. parsed-literal:: - 0%| | 229376/170498071 [00:00<04:50, 586473.34it/s] + 0%| | 229376/170498071 [00:00<04:37, 614087.82it/s] .. parsed-literal:: - 0%| | 393216/170498071 [00:00<03:17, 859242.88it/s] + 0%| | 393216/170498071 [00:00<03:09, 898993.80it/s] .. parsed-literal:: - 0%| | 786432/170498071 [00:00<01:42, 1661012.29it/s] + 0%| | 819200/170498071 [00:00<01:32, 1832006.56it/s] .. parsed-literal:: - 1%| | 1507328/170498071 [00:00<00:55, 3048520.02it/s] + 1%| | 1605632/170498071 [00:00<00:49, 3430452.29it/s] .. parsed-literal:: - 2%|▏ | 3014656/170498071 [00:00<00:28, 5961632.12it/s] + 2%|▏ | 3211264/170498071 [00:00<00:24, 6709167.30it/s] .. parsed-literal:: - 3%|▎ | 5963776/170498071 [00:01<00:14, 11664878.14it/s] + 4%|▎ | 6324224/170498071 [00:01<00:12, 12963647.37it/s] .. parsed-literal:: - 6%|▌ | 9502720/170498071 [00:01<00:09, 16415065.07it/s] + 6%|▌ | 9994240/170498071 [00:01<00:08, 18035329.00it/s] .. parsed-literal:: - 7%|▋ | 12484608/170498071 [00:01<00:08, 18713452.56it/s] + 8%|▊ | 13107200/170498071 [00:01<00:07, 20305770.58it/s] .. parsed-literal:: - 9%|▉ | 15532032/170498071 [00:01<00:07, 20509245.76it/s] + 10%|▉ | 16285696/170498071 [00:01<00:06, 22104134.94it/s] .. parsed-literal:: - 11%|█ | 18513920/170498071 [00:01<00:07, 21529733.73it/s] + 11%|█▏ | 19365888/170498071 [00:01<00:06, 23124395.97it/s] .. parsed-literal:: - 13%|█▎ | 21692416/170498071 [00:01<00:06, 22662379.12it/s] + 13%|█▎ | 22478848/170498071 [00:01<00:06, 23948854.13it/s] .. parsed-literal:: - 15%|█▍ | 24805376/170498071 [00:01<00:06, 23237932.55it/s] + 15%|█▌ | 25722880/170498071 [00:01<00:05, 24802992.62it/s] .. parsed-literal:: - 16%|█▋ | 28016640/170498071 [00:01<00:05, 23916419.04it/s] + 17%|█▋ | 28835840/170498071 [00:01<00:05, 25083187.32it/s] .. parsed-literal:: - 18%|█▊ | 31195136/170498071 [00:02<00:05, 24165013.75it/s] + 18%|█▊ | 31358976/170498071 [00:02<00:07, 18085319.52it/s] .. parsed-literal:: - 20%|██ | 34373632/170498071 [00:02<00:05, 24570741.60it/s] + 21%|██ | 34963456/170498071 [00:02<00:06, 21073046.38it/s] .. parsed-literal:: - 22%|██▏ | 37617664/170498071 [00:02<00:05, 24839298.54it/s] + 22%|██▏ | 37322752/170498071 [00:02<00:08, 15989522.45it/s] .. parsed-literal:: - 24%|██▍ | 40763392/170498071 [00:02<00:05, 24899513.26it/s] + 24%|██▍ | 40566784/170498071 [00:02<00:06, 18605125.05it/s] .. parsed-literal:: - 26%|██▌ | 43909120/170498071 [00:02<00:05, 24859956.00it/s] + 26%|██▌ | 44630016/170498071 [00:02<00:05, 22608262.82it/s] .. parsed-literal:: - 28%|██▊ | 47054848/170498071 [00:02<00:04, 24910085.77it/s] + 28%|██▊ | 47874048/170498071 [00:02<00:05, 22840240.16it/s] .. parsed-literal:: - 30%|██▉ | 50462720/170498071 [00:02<00:04, 25342462.67it/s] + 30%|██▉ | 50429952/170498071 [00:03<00:06, 18450368.61it/s] .. parsed-literal:: - 32%|███▏ | 53772288/170498071 [00:03<00:04, 25549574.14it/s] + 31%|███ | 52723712/170498071 [00:03<00:06, 19207549.35it/s] .. parsed-literal:: - 33%|███▎ | 56983552/170498071 [00:03<00:04, 25497496.83it/s] + 33%|███▎ | 55574528/170498071 [00:03<00:05, 20537974.25it/s] .. parsed-literal:: - 35%|███▌ | 60129280/170498071 [00:03<00:04, 25318471.74it/s] + 34%|███▍ | 58327040/170498071 [00:03<00:05, 21165104.37it/s] .. parsed-literal:: - 37%|███▋ | 63864832/170498071 [00:03<00:04, 26188505.17it/s] + 36%|███▌ | 61243392/170498071 [00:03<00:04, 22232760.32it/s] .. parsed-literal:: - 39%|███▉ | 67076096/170498071 [00:03<00:04, 25607940.52it/s] + 38%|███▊ | 64159744/170498071 [00:03<00:04, 23057386.58it/s] .. parsed-literal:: - 41%|████ | 70221824/170498071 [00:03<00:03, 25164439.49it/s] + 39%|███▉ | 67108864/170498071 [00:03<00:04, 23641867.24it/s] .. parsed-literal:: - 43%|████▎ | 73269248/170498071 [00:03<00:03, 24814859.91it/s] + 41%|████ | 70057984/170498071 [00:03<00:04, 24152065.48it/s] .. parsed-literal:: - 45%|████▍ | 76316672/170498071 [00:03<00:03, 24363754.63it/s] + 43%|████▎ | 73039872/170498071 [00:04<00:03, 24552708.07it/s] .. parsed-literal:: - 46%|████▋ | 79233024/170498071 [00:04<00:03, 23924798.97it/s] + 45%|████▍ | 76054528/170498071 [00:04<00:03, 24853789.97it/s] .. parsed-literal:: - 48%|████▊ | 82247680/170498071 [00:04<00:03, 23837747.76it/s] + 46%|████▋ | 79101952/170498071 [00:04<00:03, 25166653.59it/s] .. parsed-literal:: - 50%|█████ | 85426176/170498071 [00:04<00:03, 24006567.90it/s] + 48%|████▊ | 82149376/170498071 [00:04<00:03, 25402742.97it/s] .. parsed-literal:: - 52%|█████▏ | 88539136/170498071 [00:04<00:03, 24061028.14it/s] + 50%|████▉ | 85196800/170498071 [00:04<00:03, 25611642.18it/s] .. parsed-literal:: - 54%|█████▍ | 91783168/170498071 [00:04<00:03, 24193022.36it/s] + 52%|█████▏ | 88276992/170498071 [00:04<00:03, 25763124.59it/s] .. parsed-literal:: - 56%|█████▌ | 94863360/170498071 [00:04<00:03, 24172569.31it/s] + 54%|█████▎ | 91324416/170498071 [00:04<00:03, 26057196.93it/s] .. parsed-literal:: - 57%|█████▋ | 97943552/170498071 [00:04<00:02, 24211561.34it/s] + 55%|█████▌ | 94404608/170498071 [00:04<00:02, 27330510.47it/s] .. parsed-literal:: - 59%|█████▉ | 101023744/170498071 [00:04<00:02, 24311644.55it/s] + 57%|█████▋ | 97157120/170498071 [00:04<00:02, 25996100.85it/s] .. parsed-literal:: - 61%|██████ | 104071168/170498071 [00:05<00:02, 24218216.60it/s] + 59%|█████▊ | 99876864/170498071 [00:05<00:02, 25118577.70it/s] .. parsed-literal:: - 63%|██████▎ | 107151360/170498071 [00:05<00:02, 24154999.17it/s] + 60%|██████ | 102989824/170498071 [00:05<00:02, 25307548.91it/s] .. parsed-literal:: - 65%|██████▍ | 110133248/170498071 [00:05<00:02, 24021903.66it/s] + 62%|██████▏ | 106102784/170498071 [00:05<00:02, 25384602.06it/s] .. parsed-literal:: - 66%|██████▋ | 113016832/170498071 [00:05<00:02, 23700128.22it/s] + 64%|██████▍ | 109150208/170498071 [00:05<00:02, 25329892.93it/s] .. parsed-literal:: - 68%|██████▊ | 116162560/170498071 [00:05<00:02, 23748863.27it/s] + 66%|██████▌ | 112263168/170498071 [00:05<00:02, 25438506.31it/s] .. parsed-literal:: - 70%|██████▉ | 119242752/170498071 [00:05<00:02, 23908673.56it/s] + 68%|██████▊ | 115441664/170498071 [00:05<00:02, 25587421.23it/s] .. parsed-literal:: - 72%|███████▏ | 122355712/170498071 [00:05<00:02, 23981194.75it/s] + 70%|██████▉ | 118554624/170498071 [00:05<00:02, 25602205.09it/s] .. parsed-literal:: - 74%|███████▎ | 125403136/170498071 [00:05<00:01, 23999264.79it/s] + 71%|███████▏ | 121733120/170498071 [00:05<00:01, 25724233.23it/s] .. parsed-literal:: - 75%|███████▌ | 128581632/170498071 [00:06<00:01, 24304776.88it/s] + 73%|███████▎ | 124846080/170498071 [00:06<00:01, 25687741.69it/s] .. parsed-literal:: - 77%|███████▋ | 131596288/170498071 [00:06<00:01, 24188415.22it/s] + 75%|███████▌ | 128024576/170498071 [00:06<00:01, 25727706.22it/s] .. parsed-literal:: - 79%|███████▉ | 134709248/170498071 [00:06<00:01, 24194648.52it/s] + 77%|███████▋ | 131203072/170498071 [00:06<00:01, 25822105.27it/s] .. parsed-literal:: - 81%|████████ | 137756672/170498071 [00:06<00:01, 24193549.64it/s] + 79%|███████▉ | 134381568/170498071 [00:06<00:01, 25850404.05it/s] .. parsed-literal:: - 83%|████████▎ | 141066240/170498071 [00:06<00:01, 24630062.43it/s] + 81%|████████ | 137560064/170498071 [00:06<00:01, 25910266.42it/s] .. parsed-literal:: - 85%|████████▍ | 144113664/170498071 [00:06<00:01, 24505080.69it/s] + 83%|████████▎ | 140738560/170498071 [00:06<00:01, 25956101.19it/s] .. parsed-literal:: - 86%|████████▋ | 147062784/170498071 [00:06<00:00, 24261709.76it/s] + 84%|████████▍ | 143917056/170498071 [00:06<00:01, 25956043.80it/s] .. parsed-literal:: - 88%|████████▊ | 150044672/170498071 [00:06<00:00, 24102172.86it/s] + 86%|████████▌ | 147030016/170498071 [00:06<00:00, 25801943.19it/s] .. parsed-literal:: - 90%|████████▉ | 153059328/170498071 [00:07<00:00, 23913295.27it/s] + 88%|████████▊ | 150142976/170498071 [00:07<00:00, 25826195.79it/s] .. parsed-literal:: - 92%|█████████▏| 156041216/170498071 [00:07<00:00, 23659468.91it/s] + 90%|████████▉ | 153321472/170498071 [00:07<00:00, 25694428.11it/s] .. parsed-literal:: - 93%|█████████▎| 158892032/170498071 [00:07<00:00, 23391139.06it/s] + 92%|█████████▏| 156434432/170498071 [00:07<00:00, 25546020.81it/s] .. parsed-literal:: - 95%|█████████▍| 161972224/170498071 [00:07<00:00, 23475130.31it/s] + 94%|█████████▎| 159481856/170498071 [00:07<00:00, 25542991.39it/s] .. parsed-literal:: - 97%|█████████▋| 164954112/170498071 [00:07<00:00, 23499014.41it/s] + 95%|█████████▌| 162529280/170498071 [00:07<00:00, 25274374.04it/s] .. parsed-literal:: - 99%|█████████▊| 168001536/170498071 [00:07<00:00, 23679867.24it/s] + 97%|█████████▋| 165085184/170498071 [00:07<00:00, 18172801.95it/s] .. parsed-literal:: - 100%|██████████| 170498071/170498071 [00:07<00:00, 21918964.93it/s] + 98%|█████████▊| 167182336/170498071 [00:07<00:00, 17754138.87it/s] + +.. parsed-literal:: + + + 99%|█████████▉| 169148416/170498071 [00:08<00:00, 17753225.67it/s] + +.. parsed-literal:: + + + 100%|██████████| 170498071/170498071 [00:08<00:00, 21123642.42it/s] @@ -882,10 +896,12 @@ model during quantization, in our case, to pick input tensor from pair import nncf + def transform_fn(data_item): image_tensor = data_item[0] return image_tensor.numpy() + quantization_dataset = nncf.Dataset(val_loader, transform_fn) @@ -913,14 +929,14 @@ about supported parameters can be found on this .. parsed-literal:: - 2024-03-12 22:43:46.333703: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:43:46.368061: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:59:04.099112: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:59:04.131641: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:43:46.930366: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:59:04.768491: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT @@ -988,10 +1004,11 @@ Compare Accuracy of the Original and Quantized Models from tqdm.notebook import tqdm import numpy as np + def test_accuracy(ov_model, data_loader): correct = 0 total = 0 - for (batch_imgs, batch_labels) in tqdm(data_loader): + for batch_imgs, batch_labels in tqdm(data_loader): result = ov_model(batch_imgs)[0] top_label = np.argmax(result) correct += top_label == batch_labels.numpy() @@ -1012,8 +1029,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -1091,6 +1108,10 @@ Tool =2023.1.0" "opencv-python" + %pip install -q "openvino>=2023.1.0" "opencv-python" tqdm if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -49,7 +49,6 @@ Table of contents: .. code:: ipython3 - import sys from pathlib import Path import cv2 @@ -58,8 +57,15 @@ Table of contents: from zipfile import ZipFile import openvino as ov - sys.path.append("../utils") - import notebook_utils as utils + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file Download the Model ~~~~~~~~~~~~~~~~~~ @@ -82,12 +88,17 @@ be obtained from original model checkpoint can be found in this model_path = Path(f"{base_model_dir}/public/{model_name}/frozen_model.pb") if not model_path.exists(): model_url = f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/public/2022.1/gmcnn-places2-tf/{model_name}.zip" - utils.download_file(model_url, model_name, base_model_dir) + download_file(model_url, model_name, base_model_dir) else: print("Already downloaded") - with ZipFile(f'{base_model_dir}/{model_name}' + '', "r") as zip_ref: - zip_ref.extractall(path=Path(base_model_dir, 'public', )) + with ZipFile(f"{base_model_dir}/{model_name}" + "", "r") as zip_ref: + zip_ref.extractall( + path=Path( + base_model_dir, + "public", + ) + ) .. parsed-literal:: @@ -108,12 +119,12 @@ This step is also skipped if the model is already converted. .. code:: ipython3 - model_dir = Path(base_model_dir, 'public', 'ir') + model_dir = Path(base_model_dir, "public", "ir") ir_path = Path(f"{model_dir}/frozen_model.xml") # Run model conversion API to convert model to OpenVINO IR FP32 format, if the IR file does not exist. if not ir_path.exists(): - ov_model = ov.convert_model(model_path, input=[[1,512,680,3],[1,512,680,1]]) + ov_model = ov.convert_model(model_path, input=[[1, 512, 680, 3], [1, 512, 680, 1]]) ov.save_model(ov_model, str(ir_path)) else: print(f"{ir_path} already exists.") @@ -152,8 +163,8 @@ Only a few lines of code are required to run the model: device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -213,11 +224,13 @@ original image. for _ in range(number): start_x = np.random.randint(image_width - size_x) start_y = np.random.randint(image_height - size_y) - cv2.rectangle(img=mask, - pt1=(start_x, start_y), - pt2=(start_x + size_x, start_y + size_y), - color=(1, 1, 1), - thickness=cv2.FILLED) + cv2.rectangle( + img=mask, + pt1=(start_x, start_y), + pt2=(start_x + size_x, start_y + size_y), + color=(1, 1, 1), + thickness=cv2.FILLED, + ) return mask .. code:: ipython3 @@ -230,7 +243,7 @@ original image. -.. image:: 215-image-inpainting-with-output_files/215-image-inpainting-with-output_15_0.png +.. image:: image-inpainting-with-output_files/image-inpainting-with-output_15_0.png Load and Resize the Image @@ -248,8 +261,13 @@ you like. Just change the URL below. if not img_path.exists(): # Download an image. url = "https://user-images.githubusercontent.com/29454499/281372079-fa8d84c4-8bf9-4a82-a1b9-5a74ad42ce47.png" - image_file = utils.download_file( - url, filename="laptop.png", directory="data", show_progress=False, silent=True, timeout=30 + image_file = download_file( + url, + filename="laptop.png", + directory="data", + show_progress=False, + silent=True, + timeout=30, ) # Read the image. @@ -261,7 +279,7 @@ you like. Just change the URL below. -.. image:: 215-image-inpainting-with-output_files/215-image-inpainting-with-output_17_0.png +.. image:: image-inpainting-with-output_files/image-inpainting-with-output_17_0.png Generating the Masked Image @@ -282,7 +300,7 @@ will be the first input to the GMCNN model. -.. image:: 215-image-inpainting-with-output_files/215-image-inpainting-with-output_19_0.png +.. image:: image-inpainting-with-output_files/image-inpainting-with-output_19_0.png Preprocessing @@ -317,7 +335,7 @@ restored image. -.. image:: 215-image-inpainting-with-output_files/215-image-inpainting-with-output_23_0.png +.. image:: image-inpainting-with-output_files/image-inpainting-with-output_23_0.png Save the Restored Image diff --git a/docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_15_0.png b/docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_15_0.png similarity index 100% rename from docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_15_0.png rename to docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_15_0.png diff --git a/docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_17_0.png b/docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_17_0.png similarity index 100% rename from docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_17_0.png rename to docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_17_0.png diff --git a/docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_19_0.png b/docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_19_0.png similarity index 100% rename from docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_19_0.png rename to docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_19_0.png diff --git a/docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_23_0.png b/docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_23_0.png similarity index 100% rename from docs/notebooks/215-image-inpainting-with-output_files/215-image-inpainting-with-output_23_0.png rename to docs/notebooks/image-inpainting-with-output_files/image-inpainting-with-output_23_0.png diff --git a/docs/notebooks/286-instant-id-with-output.rst b/docs/notebooks/instant-id-with-output.rst similarity index 91% rename from docs/notebooks/286-instant-id-with-output.rst rename to docs/notebooks/instant-id-with-output.rst index f68dc4c0641..4e1ab279c55 100644 --- a/docs/notebooks/286-instant-id-with-output.rst +++ b/docs/notebooks/instant-id-with-output.rst @@ -50,9 +50,11 @@ additional part demonstrates how to run optimization with `NNCF `__ to speed up pipeline. + Table of contents: ^^^^^^^^^^^^^^^^^^ + - `Prerequisites <#prerequisites>`__ - `Convert and prepare Face IdentityNet <#convert-and-prepare-face-identitynet>`__ @@ -110,7 +112,7 @@ Prerequisites .. code:: ipython3 - %pip install -q "openvino>=2023.3.0" opencv-python transformers diffusers accelerate gdown scikit-image gradio nncf "datasets>=2.14.6" + %pip install -q "openvino>=2023.3.0" opencv-python transformers diffusers accelerate gdown "scikit-image>=0.19.2" "gradio>=4.19" "nncf>=2.9.0" "datasets>=2.14.6" "peft==0.6.2" Convert and prepare Face IdentityNet ------------------------------------ @@ -299,14 +301,10 @@ recognition results. if key in self.center_cache: anchor_centers = self.center_cache[key] else: - anchor_centers = np.stack( - np.mgrid[:height, :width][::-1], axis=-1 - ).astype(np.float32) + anchor_centers = np.stack(np.mgrid[:height, :width][::-1], axis=-1).astype(np.float32) anchor_centers = (anchor_centers * stride).reshape((-1, 2)) if self._num_anchors > 1: - anchor_centers = np.stack( - [anchor_centers] * self._num_anchors, axis=1 - ).reshape((-1, 2)) + anchor_centers = np.stack([anchor_centers] * self._num_anchors, axis=1).reshape((-1, 2)) if len(self.center_cache) < 100: self.center_cache[key] = anchor_centers @@ -371,9 +369,7 @@ recognition results. if metric == "max": values = area else: - values = ( - area - offset_dist_squared * 2.0 - ) # some extra weight on the centering + values = area - offset_dist_squared * 2.0 # some extra weight on the centering bindex = np.argsort(values)[::-1] # some extra weight on the centering bindex = bindex[0:max_num] det = det[bindex, :] @@ -468,14 +464,7 @@ recognition results. if not isinstance(imgs, list): imgs = [imgs] input_size = self.input_size - blob = np.concatenate( - [ - prepare_input( - cv2.resize(img, input_size), self.input_mean, self.input_std, True - ) - for img in imgs - ] - ) + blob = np.concatenate([prepare_input(cv2.resize(img, input_size), self.input_mean, self.input_std, True) for img in imgs]) net_out = self.ov_model(blob)[0] return net_out @@ -503,9 +492,7 @@ recognition results. if kpss is not None: kps = kpss[i] embedding = self.embed_model.get(img, kps) - ret.append( - {"bbox": bbox, "score": det_score, "kps": kps, "embedding": embedding} - ) + ret.append({"bbox": bbox, "score": det_score, "kps": kps, "embedding": embedding}) return ret Now, let’s see models inference result @@ -513,7 +500,7 @@ Now, let’s see models inference result Select Inference Device for Face Recognition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -### Select Inference Device for + ### Select Inference Device for Face Recognition .. code:: ipython3 @@ -565,6 +552,7 @@ generated image import PIL.Image from pipeline_stable_diffusion_xl_instantid import draw_kps + def get_face_info(face_image: PIL.Image.Image): r""" Retrieve face information from the input face image. @@ -585,7 +573,8 @@ generated image if len(face_info) == 0: raise RuntimeError("Couldn't find the face on the image") face_info = sorted( - face_info, key=lambda x: (x["bbox"][2] - x["bbox"][0]) * x["bbox"][3] - x["bbox"][1] + face_info, + key=lambda x: (x["bbox"][2] - x["bbox"][0]) * x["bbox"][3] - x["bbox"][1], )[ -1 ] # only use the maximum face @@ -597,9 +586,7 @@ generated image from diffusers.utils import load_image - face_image = load_image( - "https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/vermeer.jpg" - ) + face_image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/vermeer.jpg") face_emb, face_kps = get_face_info(face_image) @@ -610,7 +597,7 @@ generated image -.. image:: 286-instant-id-with-output_files/286-instant-id-with-output_15_0.png +.. image:: instant-id-with-output_files/instant-id-with-output_15_0.png @@ -621,7 +608,7 @@ generated image -.. image:: 286-instant-id-with-output_files/286-instant-id-with-output_16_0.png +.. image:: instant-id-with-output_files/instant-id-with-output_16_0.png @@ -647,9 +634,7 @@ pose and IP-Adapter for adding face embeddings to prompt filename="ControlNetModel/diffusion_pytorch_model.safetensors", local_dir="./checkpoints", ) - hf_hub_download( - repo_id="InstantX/InstantID", filename="ip-adapter.bin", local_dir="./checkpoints" - ); + hf_hub_download(repo_id="InstantX/InstantID", filename="ip-adapter.bin", local_dir="./checkpoints"); As it was discussed in model description, InstantID does not required diffusion model fine-tuning and can be applied on existing Stable @@ -660,9 +645,8 @@ LoRA `__ to speedup the generation process. Previously, we already considered how to convert and run SDXL model for Text-to-Image and Image-to-Image generation using Optimum-Intel library (please check out this notebook -for -`details <248-stable-diffusion-xl-with-output.html>`__), -now we will use it in combination with ControlNet and convert it using +for `details `__ ), now +we will use it in combination with ControlNet and convert it using OpenVINO Model Conversion API. .. code:: ipython3 @@ -701,9 +685,7 @@ OpenVINO Model Conversion API. # load IdentityNet controlnet = ControlNetModel.from_pretrained(controlnet_path) - pipe = StableDiffusionXLInstantIDPipeline.from_pretrained( - sdxl_id, controlnet=controlnet - ) + pipe = StableDiffusionXLInstantIDPipeline.from_pretrained(sdxl_id, controlnet=controlnet) # load adapter pipe.load_ip_adapter_instantid(face_adapter) @@ -781,7 +763,7 @@ The pipeline consists of the following list of important parts: - Image Projection model for getting image prompt embeddings. It is similar with IP-Adapter approach described in `this - tutorial <278-stable-diffusion-ip-adapter-with-output.html>`__, + tutorial `__, but instead of image, it uses face embeddings as input for image prompt encoding. - Text Encoders for creating text embeddings to generate an image from @@ -802,7 +784,7 @@ paper. It provides a framework that enables support for various spatial contexts such as a depth map, a segmentation map, a scribble, and key points that can serve as additional conditionings to Diffusion models such as Stable Diffusion. In this -`tutorial <235-controlnet-stable-diffusion-with-output.html>`__ +`tutorial `__ we already considered how to convert and use ControlNet with Stable Diffusion pipeline. The process of usage ControlNet for Stable Diffusion XL remains without changes. @@ -838,9 +820,7 @@ XL remains without changes. if not ov_controlnet_path.exists(): controlnet.forward = partial(controlnet.forward, return_dict=False) with torch.no_grad(): - ov_controlnet = ov.convert_model( - controlnet, example_input=controlnet_example_input - ) + ov_controlnet = ov.convert_model(controlnet, example_input=controlnet_example_input) ov_controlnet.inputs[-1].get_node().set_element_type(ov.Type.f32) ov_controlnet.inputs[-1].get_node().set_partial_shape(ov.PartialShape([-1, 6])) ov_controlnet.validate_nodes_and_infer_types() @@ -850,9 +830,7 @@ XL remains without changes. gc.collect() if not ov_unet_path.exists(): - down_block_res_samples, mid_block_res_sample = controlnet( - **controlnet_example_input - ) + down_block_res_samples, mid_block_res_sample = controlnet(**controlnet_example_input) else: down_block_res_samples, mid_block_res_sample = None, None @@ -891,9 +869,7 @@ preparing model input for Unet. self.sample_dtype = sample_dtype self.timestep_dtype = timestep_dtype self.encoder_hidden_states_dtype = encoder_hidden_states_dtype - self.down_block_additional_residuals_dtype = ( - down_block_additional_residuals_dtype - ) + self.down_block_additional_residuals_dtype = down_block_additional_residuals_dtype self.mid_block_additional_residual_dtype = mid_block_additional_residual_dtype self.text_embeds_dtype = text_embeds_dtype self.time_ids_dtype = time_ids_dtype @@ -911,10 +887,7 @@ preparing model input for Unet. sample.to(self.sample_dtype) timestep.to(self.timestep_dtype) encoder_hidden_states.to(self.encoder_hidden_states_dtype) - down_block_additional_residuals = [ - res.to(self.down_block_additional_residuals_dtype) - for res in down_block_additional_residuals - ] + down_block_additional_residuals = [res.to(self.down_block_additional_residuals_dtype) for res in down_block_additional_residuals] mid_block_additional_residual.to(self.mid_block_additional_residual_dtype) added_cond_kwargs = { "text_embeds": text_embeds.to(self.text_embeds_dtype), @@ -983,9 +956,7 @@ image, it means that we can skip VAE encoder part conversion. vae_decoder = VAEDecoderWrapper(vae) with torch.no_grad(): - ov_vae_decoder = ov.convert_model( - vae_decoder, example_input=torch.zeros((1, 4, 64, 64)) - ) + ov_vae_decoder = ov.convert_model(vae_decoder, example_input=torch.zeros((1, 4, 64, 64))) ov.save_model(ov_vae_decoder, ov_vae_decoder_path) del ov_vae_decoder cleanup_torchscript_cache() @@ -1048,9 +1019,7 @@ image prompt embeddings if not ov_image_proj_encoder_path.exists(): with torch.no_grad(): - ov_image_encoder = ov.convert_model( - image_proj_model, example_input=torch.zeros((2, 1, 512)) - ) + ov_image_encoder = ov.convert_model(image_proj_model, example_input=torch.zeros((2, 1, 512))) ov.save_model(ov_image_encoder, ov_image_proj_encoder_path) del ov_image_encoder cleanup_torchscript_cache() @@ -1100,9 +1069,7 @@ Prepare OpenVINO InstantID Pipeline self.image_proj_model_in_features = 512 self.vae_scale_factor = 8 self.vae_scaling_factor = 0.13025 - self.image_processor = VaeImageProcessor( - vae_scale_factor=self.vae_scale_factor, do_convert_rgb=True - ) + self.image_processor = VaeImageProcessor(vae_scale_factor=self.vae_scale_factor, do_convert_rgb=True) self.control_image_processor = VaeImageProcessor( vae_scale_factor=self.vae_scale_factor, do_convert_rgb=True, @@ -1111,32 +1078,23 @@ Prepare OpenVINO InstantID Pipeline self._internal_dict = {} self._progress_bar_config = {} - - def _encode_prompt_image_emb( - self, prompt_image_emb, num_images_per_prompt, do_classifier_free_guidance - ): + def _encode_prompt_image_emb(self, prompt_image_emb, num_images_per_prompt, do_classifier_free_guidance): if isinstance(prompt_image_emb, torch.Tensor): prompt_image_emb = prompt_image_emb.clone().detach() else: prompt_image_emb = torch.tensor(prompt_image_emb) - prompt_image_emb = prompt_image_emb.reshape( - [1, -1, self.image_proj_model_in_features] - ) + prompt_image_emb = prompt_image_emb.reshape([1, -1, self.image_proj_model_in_features]) if do_classifier_free_guidance: - prompt_image_emb = torch.cat( - [torch.zeros_like(prompt_image_emb), prompt_image_emb], dim=0 - ) + prompt_image_emb = torch.cat([torch.zeros_like(prompt_image_emb), prompt_image_emb], dim=0) else: prompt_image_emb = torch.cat([prompt_image_emb], dim=0) prompt_image_emb = self.image_proj_model(prompt_image_emb)[0] bs_embed, seq_len, _ = prompt_image_emb.shape prompt_image_emb = np.tile(prompt_image_emb, (1, num_images_per_prompt, 1)) - prompt_image_emb = prompt_image_emb.reshape( - bs_embed * num_images_per_prompt, seq_len, -1 - ) + prompt_image_emb = prompt_image_emb.reshape(bs_embed * num_images_per_prompt, seq_len, -1) return prompt_image_emb @@ -1300,19 +1258,11 @@ Prepare OpenVINO InstantID Pipeline do_classifier_free_guidance = guidance_scale >= 1.0 # align format for control guidance - if not isinstance(control_guidance_start, list) and isinstance( - control_guidance_end, list - ): - control_guidance_start = len(control_guidance_end) * [ - control_guidance_start - ] - elif not isinstance(control_guidance_end, list) and isinstance( - control_guidance_start, list - ): + if not isinstance(control_guidance_start, list) and isinstance(control_guidance_end, list): + control_guidance_start = len(control_guidance_end) * [control_guidance_start] + elif not isinstance(control_guidance_end, list) and isinstance(control_guidance_start, list): control_guidance_end = len(control_guidance_start) * [control_guidance_end] - elif not isinstance(control_guidance_start, list) and not isinstance( - control_guidance_end, list - ): + elif not isinstance(control_guidance_start, list) and not isinstance(control_guidance_end, list): control_guidance_start, control_guidance_end = ( [control_guidance_start], [control_guidance_end], @@ -1347,9 +1297,7 @@ Prepare OpenVINO InstantID Pipeline ) # 3.2 Encode image prompt - prompt_image_emb = self._encode_prompt_image_emb( - image_embeds, num_images_per_prompt, do_classifier_free_guidance - ) + prompt_image_emb = self._encode_prompt_image_emb(image_embeds, num_images_per_prompt, do_classifier_free_guidance) # 4. Prepare image image = self.prepare_image( @@ -1385,10 +1333,7 @@ Prepare OpenVINO InstantID Pipeline # 7.1 Create tensor stating which controlnets to keep controlnet_keep = [] for i in range(len(timesteps)): - keeps = [ - 1.0 - float(i / len(timesteps) < s or (i + 1) / len(timesteps) > e) - for s, e in zip(control_guidance_start, control_guidance_end) - ] + keeps = [1.0 - float(i / len(timesteps) < s or (i + 1) / len(timesteps) > e) for s, e in zip(control_guidance_start, control_guidance_end)] controlnet_keep.append(keeps) # 7.2 Prepare added time ids & embeddings @@ -1422,29 +1367,19 @@ Prepare OpenVINO InstantID Pipeline negative_add_time_ids = add_time_ids if do_classifier_free_guidance: - prompt_embeds = np.concatenate( - [negative_prompt_embeds, prompt_embeds], axis=0 - ) - add_text_embeds = np.concatenate( - [negative_pooled_prompt_embeds, add_text_embeds], axis=0 - ) + prompt_embeds = np.concatenate([negative_prompt_embeds, prompt_embeds], axis=0) + add_text_embeds = np.concatenate([negative_pooled_prompt_embeds, add_text_embeds], axis=0) add_time_ids = np.concatenate([negative_add_time_ids, add_time_ids], axis=0) add_time_ids = np.tile(add_time_ids, (batch_size * num_images_per_prompt, 1)) - encoder_hidden_states = np.concatenate( - [prompt_embeds, prompt_image_emb], axis=1 - ) + encoder_hidden_states = np.concatenate([prompt_embeds, prompt_image_emb], axis=1) # 8. Denoising loop with self.progress_bar(total=num_inference_steps) as progress_bar: for i, t in enumerate(timesteps): # expand the latents if we are doing classifier free guidance - latent_model_input = ( - torch.cat([latents] * 2) if do_classifier_free_guidance else latents - ) - latent_model_input = self.scheduler.scale_model_input( - latent_model_input, t - ) + latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents + latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) # controlnet(s) inference control_model_input = latent_model_input @@ -1480,9 +1415,7 @@ Prepare OpenVINO InstantID Pipeline # perform guidance if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred[0], noise_pred[1] - noise_pred = noise_pred_uncond + guidance_scale * ( - noise_pred_text - noise_pred_uncond - ) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) # compute the previous noisy sample x_t -> x_t-1 latents = self.scheduler.step( @@ -1500,9 +1433,7 @@ Prepare OpenVINO InstantID Pipeline image = latents if not output_type == "latent": - image = self.image_processor.postprocess( - torch.from_numpy(image), output_type=output_type - ) + image = self.image_processor.postprocess(torch.from_numpy(image), output_type=output_type) if not return_dict: return (image,) @@ -1572,16 +1503,8 @@ Prepare OpenVINO InstantID Pipeline batch_size = prompt_embeds.shape[0] # Define tokenizers and text encoders - tokenizers = ( - [self.tokenizer, self.tokenizer_2] - if self.tokenizer is not None - else [self.tokenizer_2] - ) - text_encoders = ( - [self.text_encoder, self.text_encoder_2] - if self.text_encoder is not None - else [self.text_encoder_2] - ) + tokenizers = [self.tokenizer, self.tokenizer_2] if self.tokenizer is not None else [self.tokenizer_2] + text_encoders = [self.text_encoder, self.text_encoder_2] if self.text_encoder is not None else [self.text_encoder_2] if prompt_embeds is None: prompt_2 = prompt_2 or prompt @@ -1590,9 +1513,7 @@ Prepare OpenVINO InstantID Pipeline # textual inversion: procecss multi-vector tokens if necessary prompt_embeds_list = [] prompts = [prompt, prompt_2] - for prompt, tokenizer, text_encoder in zip( - prompts, tokenizers, text_encoders - ): + for prompt, tokenizer, text_encoder in zip(prompts, tokenizers, text_encoders): text_inputs = tokenizer( prompt, padding="max_length", @@ -1620,11 +1541,7 @@ Prepare OpenVINO InstantID Pipeline # get unconditional embeddings for classifier free guidance zero_out_negative_prompt = negative_prompt is None - if ( - do_classifier_free_guidance - and negative_prompt_embeds is None - and zero_out_negative_prompt - ): + if do_classifier_free_guidance and negative_prompt_embeds is None and zero_out_negative_prompt: negative_prompt_embeds = np.zeros_like(prompt_embeds) negative_pooled_prompt_embeds = np.zeros_like(pooled_prompt_embeds) elif do_classifier_free_guidance and negative_prompt_embeds is None: @@ -1632,23 +1549,12 @@ Prepare OpenVINO InstantID Pipeline negative_prompt_2 = negative_prompt_2 or negative_prompt # normalize str to list - negative_prompt = ( - batch_size * [negative_prompt] - if isinstance(negative_prompt, str) - else negative_prompt - ) - negative_prompt_2 = ( - batch_size * [negative_prompt_2] - if isinstance(negative_prompt_2, str) - else negative_prompt_2 - ) + negative_prompt = batch_size * [negative_prompt] if isinstance(negative_prompt, str) else negative_prompt + negative_prompt_2 = batch_size * [negative_prompt_2] if isinstance(negative_prompt_2, str) else negative_prompt_2 uncond_tokens: List[str] if prompt is not None and type(prompt) is not type(negative_prompt): - raise TypeError( - f"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=" - f" {type(prompt)}." - ) + raise TypeError(f"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=" f" {type(prompt)}.") elif batch_size != len(negative_prompt): raise ValueError( f"`negative_prompt`: {negative_prompt} has batch size {len(negative_prompt)}, but `prompt`:" @@ -1659,9 +1565,7 @@ Prepare OpenVINO InstantID Pipeline uncond_tokens = [negative_prompt, negative_prompt_2] negative_prompt_embeds_list = [] - for negative_prompt, tokenizer, text_encoder in zip( - uncond_tokens, tokenizers, text_encoders - ): + for negative_prompt, tokenizer, text_encoder in zip(uncond_tokens, tokenizers, text_encoders): max_length = prompt_embeds.shape[1] uncond_input = tokenizer( negative_prompt, @@ -1679,34 +1583,22 @@ Prepare OpenVINO InstantID Pipeline negative_prompt_embeds_list.append(negative_prompt_embeds) - negative_prompt_embeds = np.concatenate( - negative_prompt_embeds_list, axis=-1 - ) + negative_prompt_embeds = np.concatenate(negative_prompt_embeds_list, axis=-1) bs_embed, seq_len, _ = prompt_embeds.shape # duplicate text embeddings for each generation per prompt, using mps friendly method prompt_embeds = np.tile(prompt_embeds, (1, num_images_per_prompt, 1)) - prompt_embeds = prompt_embeds.reshape( - bs_embed * num_images_per_prompt, seq_len, -1 - ) + prompt_embeds = prompt_embeds.reshape(bs_embed * num_images_per_prompt, seq_len, -1) if do_classifier_free_guidance: # duplicate unconditional embeddings for each generation per prompt, using mps friendly method seq_len = negative_prompt_embeds.shape[1] - negative_prompt_embeds = np.tile( - negative_prompt_embeds, (1, num_images_per_prompt, 1) - ) - negative_prompt_embeds = negative_prompt_embeds.reshape( - batch_size * num_images_per_prompt, seq_len, -1 - ) + negative_prompt_embeds = np.tile(negative_prompt_embeds, (1, num_images_per_prompt, 1)) + negative_prompt_embeds = negative_prompt_embeds.reshape(batch_size * num_images_per_prompt, seq_len, -1) - pooled_prompt_embeds = np.tile( - pooled_prompt_embeds, (1, num_images_per_prompt) - ).reshape(bs_embed * num_images_per_prompt, -1) + pooled_prompt_embeds = np.tile(pooled_prompt_embeds, (1, num_images_per_prompt)).reshape(bs_embed * num_images_per_prompt, -1) if do_classifier_free_guidance: - negative_pooled_prompt_embeds = np.tile( - negative_pooled_prompt_embeds, (1, num_images_per_prompt) - ).reshape(bs_embed * num_images_per_prompt, -1) + negative_pooled_prompt_embeds = np.tile(negative_pooled_prompt_embeds, (1, num_images_per_prompt)).reshape(bs_embed * num_images_per_prompt, -1) return ( prompt_embeds, @@ -1725,9 +1617,7 @@ Prepare OpenVINO InstantID Pipeline do_classifier_free_guidance=False, guess_mode=False, ): - image = self.control_image_processor.preprocess( - image, height=height, width=width - ).to(dtype=torch.float32) + image = self.control_image_processor.preprocess(image, height=height, width=width).to(dtype=torch.float32) image_batch_size = image.shape[0] if image_batch_size == 1: @@ -1754,7 +1644,6 @@ Prepare OpenVINO InstantID Pipeline add_time_ids = torch.tensor([add_time_ids]) return add_time_ids - Run OpenVINO pipeline inference ------------------------------- @@ -1804,7 +1693,7 @@ Select inference device for InstantID Create pipeline ~~~~~~~~~~~~~~~ -### Create pipeline + ### Create pipeline .. code:: ipython3 @@ -1823,7 +1712,7 @@ Create pipeline Run inference ~~~~~~~~~~~~~ -### Run inference + ### Run inference .. code:: ipython3 @@ -1837,7 +1726,7 @@ Run inference num_inference_steps=4, negative_prompt=negative_prompt, guidance_scale=0.5, - generator=torch.Generator(device="cpu").manual_seed(1749781188) + generator=torch.Generator(device="cpu").manual_seed(1749781188), ).images[0] @@ -1854,7 +1743,7 @@ Run inference -.. image:: 286-instant-id-with-output_files/286-instant-id-with-output_41_0.png +.. image:: instant-id-with-output_files/instant-id-with-output_41_0.png @@ -1885,10 +1774,7 @@ improve model inference speed. .. code:: ipython3 - to_quantize = widgets.Checkbox( - value=True, - description='Quantization' - ) + to_quantize = widgets.Checkbox(value=True, description="Quantization") to_quantize @@ -1906,8 +1792,13 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipe = None @@ -2270,7 +2161,8 @@ pipelines. import matplotlib.pyplot as plt - def visualize_results(orig_img:Image, optimized_img:Image): + + def visualize_results(orig_img: Image, optimized_img: Image): """ Helper function for results visualization @@ -2283,7 +2175,7 @@ pipelines. orig_title = "FP16 pipeline" control_title = "INT8 pipeline" figsize = (20, 20) - fig, axs = plt.subplots(1, 2, figsize=figsize, sharex='all', sharey='all') + fig, axs = plt.subplots(1, 2, figsize=figsize, sharex="all", sharey="all") list_axes = list(axs.flat) for a in list_axes: a.set_xticklabels([]) @@ -2308,7 +2200,7 @@ pipelines. -.. image:: 286-instant-id-with-output_files/286-instant-id-with-output_66_0.png +.. image:: instant-id-with-output_files/instant-id-with-output_66_0.png Compare model file sizes @@ -2411,7 +2303,7 @@ to launch the interactive demo. use_quantized_models = widgets.Checkbox( value=quantized_models_present, - description='Use quantized models', + description="Use quantized models", disabled=not quantized_models_present, ) @@ -2423,6 +2315,7 @@ to launch the interactive demo. from typing import Tuple import random import PIL + import sys sys.path.append("./InstantID/gradio_demo") @@ -2439,7 +2332,7 @@ to launch the interactive demo. "https://huggingface.co/datasets/EnD-Diffusers/AI_Faces/resolve/main/images%207/00171-2728008415.png", "https://huggingface.co/datasets/EnD-Diffusers/AI_Faces/resolve/main/00003-3962843561.png", "https://huggingface.co/datasets/EnD-Diffusers/AI_Faces/resolve/main/00005-3104853215.png", - "https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/ai_face2.png" + "https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/ai_face2.png", ] examples_dir = Path("examples") @@ -2449,10 +2342,10 @@ to launch the interactive demo. [examples_dir / "face_1.png", "photo of a business lady", "Vibrant Color", ""], [examples_dir / "face_2.png", "famous rock star poster", "(No style)", ""], [examples_dir / "face_3.png", "a person", "Neon", ""], - [examples_dir / "face_4.png", "a girl", "Snow", ""] + [examples_dir / "face_4.png", "a girl", "Snow", ""], ] - pipeline = int8_pipe if use_quantized_model.value else ov_pipe + pipeline = int8_pipe if use_quantized_models.value else ov_pipe if not examples_dir.exists(): @@ -2500,9 +2393,7 @@ to launch the interactive demo. res = np.ones([max_side, max_side, 3], dtype=np.uint8) * 255 offset_x = (max_side - w_resize_new) // 2 offset_y = (max_side - h_resize_new) // 2 - res[ - offset_y : offset_y + h_resize_new, offset_x : offset_x + w_resize_new - ] = np.array(input_image) + res[offset_y : offset_y + h_resize_new, offset_x : offset_x + w_resize_new] = np.array(input_image) input_image = Image.fromarray(res) return input_image @@ -2539,9 +2430,7 @@ to launch the interactive demo. face_info = app.get(face_image_cv2) if len(face_info) == 0: - raise gr.Error( - "Cannot find any face in the image! Please upload another person image" - ) + raise gr.Error("Cannot find any face in the image! Please upload another person image") face_info = sorted( face_info, @@ -2560,9 +2449,7 @@ to launch the interactive demo. face_info = app.get(pose_image_cv2) if len(face_info) == 0: - raise gr.Error( - "Cannot find any face in the reference image! Please upload another person image" - ) + raise gr.Error("Cannot find any face in the reference image! Please upload another person image") face_info = face_info[-1] face_kps = draw_kps(pose_image, face_info["kps"]) @@ -2619,9 +2506,7 @@ to launch the interactive demo. face_file = gr.Image(label="Upload a photo of your face", type="pil") # optional: upload a reference pose image - pose_file = gr.Image( - label="Upload a reference pose image (optional)", type="pil" - ) + pose_file = gr.Image(label="Upload a reference pose image (optional)", type="pil") # prompt prompt = gr.Textbox( @@ -2632,9 +2517,7 @@ to launch the interactive demo. ) submit = gr.Button("Submit", variant="primary") - style = gr.Dropdown( - label="Style template", choices=STYLE_NAMES, value=DEFAULT_STYLE_NAME - ) + style = gr.Dropdown(label="Style template", choices=STYLE_NAMES, value=DEFAULT_STYLE_NAME) # strength identitynet_strength_ratio = gr.Slider( @@ -2658,9 +2541,7 @@ to launch the interactive demo. step=1, value=4, ) - guidance_scale = gr.Slider( - label="Guidance scale", minimum=0.1, maximum=10.0, step=0.1, value=0 - ) + guidance_scale = gr.Slider(label="Guidance scale", minimum=0.1, maximum=10.0, step=0.1, value=0) seed = gr.Slider( label="Seed", minimum=0, @@ -2700,7 +2581,7 @@ to launch the interactive demo. .. code:: ipython3 - if __name__ == '__main__': + if __name__ == "__main__": try: demo.launch(debug=False) except Exception: diff --git a/docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_15_0.jpg b/docs/notebooks/instant-id-with-output_files/instant-id-with-output_15_0.jpg similarity index 100% rename from docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_15_0.jpg rename to docs/notebooks/instant-id-with-output_files/instant-id-with-output_15_0.jpg diff --git a/docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_15_0.png b/docs/notebooks/instant-id-with-output_files/instant-id-with-output_15_0.png similarity index 100% rename from docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_15_0.png rename to docs/notebooks/instant-id-with-output_files/instant-id-with-output_15_0.png diff --git a/docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_16_0.jpg b/docs/notebooks/instant-id-with-output_files/instant-id-with-output_16_0.jpg similarity index 100% rename from docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_16_0.jpg rename to docs/notebooks/instant-id-with-output_files/instant-id-with-output_16_0.jpg diff --git a/docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_16_0.png b/docs/notebooks/instant-id-with-output_files/instant-id-with-output_16_0.png similarity index 100% rename from docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_16_0.png rename to docs/notebooks/instant-id-with-output_files/instant-id-with-output_16_0.png diff --git a/docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_41_0.jpg b/docs/notebooks/instant-id-with-output_files/instant-id-with-output_41_0.jpg similarity index 100% rename from docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_41_0.jpg rename to docs/notebooks/instant-id-with-output_files/instant-id-with-output_41_0.jpg diff --git a/docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_41_0.png b/docs/notebooks/instant-id-with-output_files/instant-id-with-output_41_0.png similarity index 100% rename from docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_41_0.png rename to docs/notebooks/instant-id-with-output_files/instant-id-with-output_41_0.png diff --git a/docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_66_0.png b/docs/notebooks/instant-id-with-output_files/instant-id-with-output_66_0.png similarity index 100% rename from docs/notebooks/286-instant-id-with-output_files/286-instant-id-with-output_66_0.png rename to docs/notebooks/instant-id-with-output_files/instant-id-with-output_66_0.png diff --git a/docs/notebooks/231-instruct-pix2pix-image-editing-with-output.rst b/docs/notebooks/instruct-pix2pix-image-editing-with-output.rst similarity index 85% rename from docs/notebooks/231-instruct-pix2pix-image-editing-with-output.rst rename to docs/notebooks/instruct-pix2pix-image-editing-with-output.rst index b8ca8b24102..c0c7787c271 100644 --- a/docs/notebooks/231-instruct-pix2pix-image-editing-with-output.rst +++ b/docs/notebooks/instruct-pix2pix-image-editing-with-output.rst @@ -60,8 +60,15 @@ Install necessary packages .. code:: ipython3 - %pip install -q "transformers>=4.25.1" accelerate gradio datasets diffusers --extra-index-url https://download.pytorch.org/whl/cpu + import platform + + %pip install -q "transformers>=4.25.1" torch accelerate "gradio>4.19" "datasets>=2.14.6" diffusers pillow opencv-python --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino>=2023.1.0" + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" Create Pytorch Models pipeline ------------------------------ @@ -71,7 +78,7 @@ Create Pytorch Models pipeline ``StableDiffusionInstructPix2PixPipeline`` is an end-to-end inference pipeline that you can use to edit images from text instructions with just a few lines of code provided as part -🤗🧨\ `diffusers `__ library. + `diffusers `__ library. First, we load the pre-trained weights of all components of the model. @@ -82,7 +89,11 @@ First, we load the pre-trained weights of all components of the model. .. code:: ipython3 import torch - from diffusers import StableDiffusionInstructPix2PixPipeline, EulerAncestralDiscreteScheduler + from diffusers import ( + StableDiffusionInstructPix2PixPipeline, + EulerAncestralDiscreteScheduler, + ) + model_id = "timbrooks/instruct-pix2pix" pipe = StableDiffusionInstructPix2PixPipeline.from_pretrained(model_id, torch_dtype=torch.float32, safety_checker=None) scheduler_config = pipe.scheduler.config @@ -111,7 +122,7 @@ The InstructPix2Pix model is based on Stable Diffusion, a large-scale text-to-image latent diffusion model. You can find more details about how to run Stable Diffusion for text-to-image generation with OpenVINO in a separate -`tutorial <225-stable-diffusion-text-to-image-with-output.html>`__. +`tutorial `__. The model consists of three important parts: @@ -151,6 +162,7 @@ hidden states. TEXT_ENCODER_OV_PATH = Path("text_encoder.xml") + def cleanup_torchscript_cache(): """ Helper for removing cached model representation @@ -160,11 +172,11 @@ hidden states. torch.jit._state._clear_class_state() - def convert_encoder(text_encoder: torch.nn.Module, ir_path:Path): + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ - Convert Text Encoder mode. - Function accepts text encoder model, and prepares example inputs for conversion, - Parameters: + Convert Text Encoder mode. + Function accepts text encoder model, and prepares example inputs for conversion, + Parameters: text_encoder (torch.nn.Module): text_encoder model from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -177,12 +189,18 @@ hidden states. # disable gradients calculation for reducing memory consumption with torch.no_grad(): # Export model to IR format - ov_model = ov.convert_model(text_encoder, example_input=input_ids, input=[(1,77),]) + ov_model = ov.convert_model( + text_encoder, + example_input=input_ids, + input=[ + (1, 77), + ], + ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'Text Encoder successfully converted to IR and saved to {ir_path}') - + print(f"Text Encoder successfully converted to IR and saved to {ir_path}") + if not TEXT_ENCODER_OV_PATH.exists(): convert_encoder(text_encoder, TEXT_ENCODER_OV_PATH) @@ -229,17 +247,19 @@ into two independent models. VAE_ENCODER_OV_PATH = Path("vae_encoder.xml") + def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for encoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: - vae (torch.nn.Module): VAE model from StableDiffusio pipeline + Convert VAE model for encoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: + vae (torch.nn.Module): VAE model from StableDiffusio pipeline ir_path (Path): File for storing model Returns: None """ + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -247,15 +267,16 @@ into two independent models. def forward(self, image): return self.vae.encode(x=image)["latent_dist"].sample() + vae_encoder = VAEEncoderWrapper(vae) vae_encoder.eval() image = torch.zeros((1, 3, 512, 512)) with torch.no_grad(): - ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1,3,512,512),)]) + ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1, 3, 512, 512),)]) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'VAE encoder successfully converted to IR and saved to {ir_path}') + print(f"VAE encoder successfully converted to IR and saved to {ir_path}") if not VAE_ENCODER_OV_PATH.exists(): @@ -263,19 +284,21 @@ into two independent models. else: print(f"VAE encoder will be loaded from {VAE_ENCODER_OV_PATH}") - VAE_DECODER_OV_PATH = Path('vae_decoder.xml') + VAE_DECODER_OV_PATH = Path("vae_decoder.xml") + def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for decoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: + Convert VAE model for decoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: vae (torch.nn.Module): VAE model frm StableDiffusion pipeline ir_path (Path): File for storing model Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -283,17 +306,17 @@ into two independent models. def forward(self, latents): return self.vae.decode(latents) - + vae_decoder = VAEDecoderWrapper(vae) latents = torch.zeros((1, 4, 64, 64)) vae_decoder.eval() with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1,4,64,64),)]) + ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1, 4, 64, 64),)]) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'VAE decoder successfully converted to IR and saved to {ir_path}') + print(f"VAE decoder successfully converted to IR and saved to {ir_path}") if not VAE_DECODER_OV_PATH.exists(): @@ -340,17 +363,14 @@ Model predicts the ``sample`` state for the next step. UNET_OV_PATH = Path("unet.xml") - dtype_mapping = { - torch.float32: ov.Type.f32, - torch.float64: ov.Type.f64 - } + dtype_mapping = {torch.float32: ov.Type.f32, torch.float64: ov.Type.f64} - def convert_unet(unet:torch.nn.Module, ir_path:Path): + def convert_unet(unet: torch.nn.Module, ir_path: Path): """ - Convert U-net model to IR format. - Function accepts unet model, prepares example inputs for conversion, - Parameters: + Convert U-net model to IR format. + Function accepts unet model, prepares example inputs for conversion, + Parameters: unet (StableDiffusionPipeline): unet from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -374,7 +394,7 @@ Model predicts the ``sample`` state for the next step. ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'Unet successfully converted to IR and saved to {ir_path}') + print(f"Unet successfully converted to IR and saved to {ir_path}") if not UNET_OV_PATH.exists(): @@ -437,11 +457,11 @@ decoder part of the variational auto encoder. import cv2 - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -461,7 +481,7 @@ decoder part of the variational auto encoder. then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (PIL.Image.Image): input image Returns: @@ -469,10 +489,8 @@ decoder part of the variational auto encoder. pad (Tuple[int]): pading size for each dimension for restoring image size in postprocessing """ src_width, src_height = image.size - dst_width, dst_height = scale_fit_to_window( - 512, 512, src_width, src_height) - image = np.array(image.resize((dst_width, dst_height), - resample=PIL.Image.Resampling.LANCZOS))[None, :] + dst_width, dst_height = scale_fit_to_window(512, 512, src_width, src_height) + image = np.array(image.resize((dst_width, dst_height), resample=PIL.Image.Resampling.LANCZOS))[None, :] pad_width = 512 - dst_width pad_height = 512 - dst_height pad = ((0, 0), (0, pad_height), (0, pad_width), (0, 0)) @@ -489,7 +507,7 @@ decoder part of the variational auto encoder. ): """ Helper function for generation random values tensor with given shape and data type - + Parameters: shape (Union[Tuple, List]): shape for filling random values dtype (np.dtype, *optiona*, np.float32): data type for result @@ -505,6 +523,7 @@ decoder part of the variational auto encoder. """ OpenVINO inference pipeline for InstructPix2Pix """ + def __init__( self, tokenizer: CLIPTokenizer, @@ -514,19 +533,26 @@ decoder part of the variational auto encoder. vae_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model, - device: str = "AUTO" + device: str = "AUTO", ): super().__init__() self.tokenizer = tokenizer self.vae_scale_factor = 8 self.scheduler = scheduler - self.load_models(core, device, text_encoder, - vae_encoder, unet, vae_decoder) + self.load_models(core, device, text_encoder, vae_encoder, unet, vae_decoder) - def load_models(self, core: ov.Core, device: str, text_encoder: ov.Model, vae_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model): + def load_models( + self, + core: ov.Core, + device: str, + text_encoder: ov.Model, + vae_encoder: ov.Model, + unet: ov.Model, + vae_decoder: ov.Model, + ): """ Function for loading models on device using OpenVINO - + Parameters: core (Core): OpenVINO runtime Core class instance device (str): inference device @@ -590,7 +616,7 @@ decoder part of the variational auto encoder. [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` or `np.array`. Returns: image ([List[Union[np.ndarray, PIL.Image.Image]]): generaited images - + """ # 1. Define call parameters @@ -638,18 +664,14 @@ decoder part of the variational auto encoder. # Expand the latents if we are doing classifier free guidance. # The latents are expanded 3 times because for pix2pix the guidance\ # is applied for both the text and the input image. - latent_model_input = np.concatenate( - [latents] * 3) if do_classifier_free_guidance else latents + latent_model_input = np.concatenate([latents] * 3) if do_classifier_free_guidance else latents # concat latents, image_latents in the channel dimension - scaled_latent_model_input = self.scheduler.scale_model_input( - latent_model_input, t) - scaled_latent_model_input = np.concatenate( - [scaled_latent_model_input, image_latents], axis=1) + scaled_latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) + scaled_latent_model_input = np.concatenate([scaled_latent_model_input, image_latents], axis=1) # predict the noise residual - noise_pred = self.unet([scaled_latent_model_input, t, text_embeddings])[ - self.unet_out] + noise_pred = self.unet([scaled_latent_model_input, t, text_embeddings])[self.unet_out] # Hack: # For karras style schedulers the model does classifier free guidance using the @@ -662,10 +684,15 @@ decoder part of the variational auto encoder. # perform guidance if do_classifier_free_guidance: - noise_pred_text, noise_pred_image, noise_pred_uncond = noise_pred[ - 0], noise_pred[1], noise_pred[2] + noise_pred_text, noise_pred_image, noise_pred_uncond = ( + noise_pred[0], + noise_pred[1], + noise_pred[2], + ) noise_pred = ( - noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_image) + image_guidance_scale * (noise_pred_image - noise_pred_uncond) + noise_pred_uncond + + guidance_scale * (noise_pred_text - noise_pred_image) + + image_guidance_scale * (noise_pred_image - noise_pred_uncond) ) # For karras style schedulers the model does classifier free guidance using the @@ -689,15 +716,18 @@ decoder part of the variational auto encoder. # 9. Convert to PIL if output_type == "pil": image = self.numpy_to_pil(image) - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True): + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + ): """ Encodes the prompt into text encoder hidden states. @@ -720,16 +750,13 @@ decoder part of the variational auto encoder. ) text_input_ids = text_inputs.input_ids - text_embeddings = self.text_encoder( - text_input_ids)[self.text_encoder_out] + text_embeddings = self.text_encoder(text_input_ids)[self.text_encoder_out] # duplicate text embeddings for each generation per prompt, using mps friendly method if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -744,30 +771,30 @@ decoder part of the variational auto encoder. return_tensors="np", ) - uncond_embeddings = self.text_encoder(uncond_input.input_ids)[ - self.text_encoder_out] + uncond_embeddings = self.text_encoder(uncond_input.input_ids)[self.text_encoder_out] # duplicate unconditional embeddings for each generation per prompt, using mps friendly method seq_len = uncond_embeddings.shape[1] - uncond_embeddings = np.tile( - uncond_embeddings, (1, num_images_per_prompt, 1)) - uncond_embeddings = np.reshape( - uncond_embeddings, (batch_size * num_images_per_prompt, seq_len, -1)) + uncond_embeddings = np.tile(uncond_embeddings, (1, num_images_per_prompt, 1)) + uncond_embeddings = np.reshape(uncond_embeddings, (batch_size * num_images_per_prompt, seq_len, -1)) # For classifier free guidance, you need to do two forward passes. # Here, you concatenate the unconditional and text embeddings into a single batch # to avoid doing two forward passes - text_embeddings = np.concatenate( - [text_embeddings, uncond_embeddings, uncond_embeddings]) + text_embeddings = np.concatenate([text_embeddings, uncond_embeddings, uncond_embeddings]) return text_embeddings def prepare_image_latents( - self, image, batch_size=1, num_images_per_prompt=1, do_classifier_free_guidance=True + self, + image, + batch_size=1, + num_images_per_prompt=1, + do_classifier_free_guidance=True, ): """ Encodes input image to latent space using VAE Encoder - + Parameters: image (np.ndarray): input image tensor num_image_per_prompt (int, *optional*, 1): number of image generated for promt @@ -784,12 +811,9 @@ decoder part of the variational auto encoder. if batch_size > image_latents.shape[0] and batch_size % image_latents.shape[0] == 0: # expand image_latents for batch_size additional_image_per_prompt = batch_size // image_latents.shape[0] - image_latents = np.concatenate( - [image_latents] * additional_image_per_prompt, axis=0) + image_latents = np.concatenate([image_latents] * additional_image_per_prompt, axis=0) elif batch_size > image_latents.shape[0] and batch_size % image_latents.shape[0] != 0: - raise ValueError( - f"Cannot duplicate `image` of batch size {image_latents.shape[0]} to {batch_size} text prompts." - ) + raise ValueError(f"Cannot duplicate `image` of batch size {image_latents.shape[0]} to {batch_size} text prompts.") else: image_latents = np.concatenate([image_latents], axis=0) @@ -799,11 +823,19 @@ decoder part of the variational auto encoder. return image_latents - def prepare_latents(self, batch_size:int, num_channels_latents:int, height:int, width:int, dtype:np.dtype = np.float32, latents:np.ndarray = None): + def prepare_latents( + self, + batch_size: int, + num_channels_latents: int, + height: int, + width: int, + dtype: np.dtype = np.float32, + latents: np.ndarray = None, + ): """ - Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, + Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, then prepared latents scaled by the standard deviation required by the scheduler - + Parameters: batch_size (int): input batch size num_channels_latents (int): number of channels for noise generation @@ -814,7 +846,12 @@ decoder part of the variational auto encoder. Returns: latents (np.ndarray): scaled initial noise for diffusion """ - shape = (batch_size, num_channels_latents, height // self.vae_scale_factor, width // self.vae_scale_factor) + shape = ( + batch_size, + num_channels_latents, + height // self.vae_scale_factor, + width // self.vae_scale_factor, + ) if latents is None: latents = randn_tensor(shape, dtype=dtype) else: @@ -824,10 +861,10 @@ decoder part of the variational auto encoder. latents = latents * self.scheduler.init_noise_sigma.numpy() return latents - def decode_latents(self, latents:np.array, pad:Tuple[int]): + def decode_latents(self, latents: np.array, pad: Tuple[int]): """ Decode predicted image from latent space using VAE Decoder and unpad image result - + Parameters: latents (np.ndarray): image encoded in diffusion latent space pad (Tuple[int]): each side padding sizes obtained on preprocessing step @@ -850,10 +887,15 @@ decoder part of the variational auto encoder. import matplotlib.pyplot as plt - def visualize_results(orig_img:PIL.Image.Image, processed_img:PIL.Image.Image, img1_title:str, img2_title:str): + def visualize_results( + orig_img: PIL.Image.Image, + processed_img: PIL.Image.Image, + img1_title: str, + img2_title: str, + ): """ Helper function for results visualization - + Parameters: orig_img (PIL.Image.Image): original image processed_img (PIL.Image.Image): processed image after editing @@ -865,8 +907,14 @@ decoder part of the variational auto encoder. im_w, im_h = orig_img.size is_horizontal = im_h <= im_w figsize = (20, 30) if is_horizontal else (30, 20) - fig, axs = plt.subplots(1 if is_horizontal else 2, 2 if is_horizontal else 1, figsize=figsize, sharex='all', sharey='all') - fig.patch.set_facecolor('white') + fig, axs = plt.subplots( + 1 if is_horizontal else 2, + 2 if is_horizontal else 1, + figsize=figsize, + sharex="all", + sharey="all", + ) + fig.patch.set_facecolor("white") list_axes = list(axs.flat) for a in list_axes: a.set_xticklabels([]) @@ -876,11 +924,11 @@ decoder part of the variational auto encoder. a.grid(False) list_axes[0].imshow(np.array(orig_img)) list_axes[1].imshow(np.array(processed_img)) - list_axes[0].set_title(img1_title, fontsize=20) + list_axes[0].set_title(img1_title, fontsize=20) list_axes[1].set_title(img2_title, fontsize=20) - fig.subplots_adjust(wspace=0.0 if is_horizontal else 0.01 , hspace=0.01 if is_horizontal else 0.0) + fig.subplots_adjust(wspace=0.0 if is_horizontal else 0.01, hspace=0.01 if is_horizontal else 0.0) fig.tight_layout() - fig.savefig("result.png", bbox_inches='tight') + fig.savefig("result.png", bbox_inches="tight") return fig Model tokenizer and scheduler are also important parts of the pipeline. @@ -893,8 +941,8 @@ can provide device selecting one from available in dropdown list. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -913,10 +961,19 @@ can provide device selecting one from available in dropdown list. from transformers import CLIPTokenizer - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") scheduler = EulerAncestralDiscreteScheduler.from_config(scheduler_config) - ov_pipe = OVInstructPix2PixPipeline(tokenizer, scheduler, core, TEXT_ENCODER_OV_PATH, VAE_ENCODER_OV_PATH, UNET_OV_PATH, VAE_DECODER_OV_PATH, device=device.value) + ov_pipe = OVInstructPix2PixPipeline( + tokenizer, + scheduler, + core, + TEXT_ENCODER_OV_PATH, + VAE_ENCODER_OV_PATH, + UNET_OV_PATH, + VAE_DECODER_OV_PATH, + device=device.value, + ) .. parsed-literal:: @@ -937,16 +994,11 @@ seed for latent state initialization and number of steps. .. code:: ipython3 - style = {'description_width': 'initial'} - text_prompt = widgets.Text(value=" Make it in galaxy", description='your text') - num_steps = widgets.IntSlider(min=1, max=100, value=10, description='steps:') - seed = widgets.IntSlider(min=0, max=1024, description='seed: ', value=42) - image_widget = widgets.FileUpload( - accept='', - multiple=False, - description='Upload image', - style=style - ) + style = {"description_width": "initial"} + text_prompt = widgets.Text(value=" Make it in galaxy", description="your text") + num_steps = widgets.IntSlider(min=1, max=100, value=10, description="steps:") + seed = widgets.IntSlider(min=0, max=1024, description="seed: ", value=42) + image_widget = widgets.FileUpload(accept="", multiple=False, description="Upload image", style=style) widgets.VBox([text_prompt, seed, num_steps, image_widget]) @@ -968,12 +1020,12 @@ seed for latent state initialization and number of steps. default_url = "https://user-images.githubusercontent.com/29454499/223343459-4ac944f0-502e-4acf-9813-8e9f0abc8a16.jpg" # read uploaded image - image = PIL.Image.open(io.BytesIO(image_widget.value[-1]['content']) if image_widget.value else requests.get(default_url, stream=True).raw) + image = PIL.Image.open(io.BytesIO(image_widget.value[-1]["content"]) if image_widget.value else requests.get(default_url, stream=True).raw) image = image.convert("RGB") - print('Pipeline settings') - print(f'Input text: {text_prompt.value}') - print(f'Seed: {seed.value}') - print(f'Number of steps: {num_steps.value}') + print("Pipeline settings") + print(f"Input text: {text_prompt.value}") + print(f"Seed: {seed.value}") + print(f"Number of steps: {num_steps.value}") np.random.seed(seed.value) processed_image = ov_pipe(text_prompt.value, image, num_steps.value) @@ -999,11 +1051,16 @@ generation. .. code:: ipython3 - fig = visualize_results(image, processed_image[0], img1_title="Original image", img2_title=f"Prompt: {text_prompt.value}") + fig = visualize_results( + image, + processed_image[0], + img1_title="Original image", + img2_title=f"Prompt: {text_prompt.value}", + ) -.. image:: 231-instruct-pix2pix-image-editing-with-output_files/231-instruct-pix2pix-image-editing-with-output_24_0.png +.. image:: instruct-pix2pix-image-editing-with-output_files/instruct-pix2pix-image-editing-with-output_24_0.png Nice. As you can see, the picture has quite a high definition 🔥. @@ -1039,7 +1096,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -1059,8 +1116,13 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension @@ -1227,7 +1289,7 @@ data. -.. image:: 231-instruct-pix2pix-image-editing-with-output_files/231-instruct-pix2pix-image-editing-with-output_36_2.png +.. image:: instruct-pix2pix-image-editing-with-output_files/instruct-pix2pix-image-editing-with-output_36_2.png Compare inference time of the FP16 and INT8 models @@ -1295,7 +1357,7 @@ Interactive demo with Gradio pipe_precision = widgets.Dropdown( options=["FP16"] if not to_quantize.value else ["FP16", "INT8"], value="FP16", - description='Precision:', + description="Precision:", disabled=False, ) @@ -1313,17 +1375,21 @@ Interactive demo with Gradio .. code:: ipython3 import gradio as gr - from urllib.request import urlretrieve from pathlib import Path import numpy as np default_url = "https://user-images.githubusercontent.com/29454499/223343459-4ac944f0-502e-4acf-9813-8e9f0abc8a16.jpg" path = Path("data/example.jpg") path.parent.mkdir(parents=True, exist_ok=True) - urlretrieve(default_url, path) + + r = requests.get(default_url) + + with path.open("wb") as f: + f.write(r.content) pipeline = int8_pipe if pipe_precision.value == "INT8" else ov_pipe + def generate(img, text, seed, num_steps, _=gr.Progress(track_tqdm=True)): if img is None: raise gr.Error("Please upload an image or choose one from the examples list") diff --git a/docs/notebooks/231-instruct-pix2pix-image-editing-with-output_files/231-instruct-pix2pix-image-editing-with-output_24_0.png b/docs/notebooks/instruct-pix2pix-image-editing-with-output_files/instruct-pix2pix-image-editing-with-output_24_0.png similarity index 100% rename from docs/notebooks/231-instruct-pix2pix-image-editing-with-output_files/231-instruct-pix2pix-image-editing-with-output_24_0.png rename to docs/notebooks/instruct-pix2pix-image-editing-with-output_files/instruct-pix2pix-image-editing-with-output_24_0.png diff --git a/docs/notebooks/231-instruct-pix2pix-image-editing-with-output_files/231-instruct-pix2pix-image-editing-with-output_36_2.png b/docs/notebooks/instruct-pix2pix-image-editing-with-output_files/instruct-pix2pix-image-editing-with-output_36_2.png similarity index 100% rename from docs/notebooks/231-instruct-pix2pix-image-editing-with-output_files/231-instruct-pix2pix-image-editing-with-output_36_2.png rename to docs/notebooks/instruct-pix2pix-image-editing-with-output_files/instruct-pix2pix-image-editing-with-output_36_2.png diff --git a/docs/notebooks/219-knowledge-graphs-conve-with-output.rst b/docs/notebooks/knowledge-graphs-conve-with-output.rst similarity index 88% rename from docs/notebooks/219-knowledge-graphs-conve-with-output.rst rename to docs/notebooks/knowledge-graphs-conve-with-output.rst index 0fc021ffa84..76b9841d31e 100644 --- a/docs/notebooks/219-knowledge-graphs-conve-with-output.rst +++ b/docs/notebooks/knowledge-graphs-conve-with-output.rst @@ -51,14 +51,9 @@ Table of contents: .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" torch scikit-learn tqdm --extra-index-url https://download.pytorch.org/whl/cpu -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -130,11 +125,13 @@ Import the packages needed for successful execution import openvino as ov # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ); + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file Settings: Including path to the serialized model files and input data files @@ -145,7 +142,7 @@ Settings: Including path to the serialized model files and input data files .. code:: ipython3 # Path to the pretrained model checkpoint - modelpath = Path('models/conve.pt') + modelpath = Path("models/conve.pt") # Entity and relation embedding dimensions EMB_DIM = 300 @@ -169,19 +166,19 @@ Settings: Including path to the serialized model files and input data files # Download the file containing the entities and entity IDs entdatapath = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/text/countries_S1/kg_training_entids.txt", - directory=data_folder + directory=data_folder, ) # Download the file containing the relations and relation IDs reldatapath = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/text/countries_S1/kg_training_relids.txt", - directory=data_folder + directory=data_folder, ) # Download the test data file testdatapath = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/json/countries_S1/e1rel_to_e2_ranking_test.json", - directory=data_folder + directory=data_folder, ) @@ -210,7 +207,7 @@ Download Model Checkpoint .. code:: ipython3 - model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/knowledge-graph-embeddings/conve.pt' + model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/knowledge-graph-embeddings/conve.pt" download_file(model_url, filename=modelpath.name, directory=modelpath.parent) @@ -225,7 +222,7 @@ Download Model Checkpoint .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/219-knowledge-graphs-conve/models/conve.pt') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/knowledge-graphs-conve/models/conve.pt') @@ -254,17 +251,17 @@ Defining the ConvE model class self.bn0 = torch.nn.BatchNorm2d(1) self.bn1 = torch.nn.BatchNorm2d(32) self.ln0 = torch.nn.LayerNorm(emb_dim) - self.register_parameter('b', Parameter(torch.zeros(num_entities))) + self.register_parameter("b", Parameter(torch.zeros(num_entities))) self.fc = torch.nn.Linear(16128, emb_dim) def init(self): - """ Initializes the model """ + """Initializes the model""" # Xavier initialization xavier_normal_(self.emb_e.weight.data) xavier_normal_(self.emb_rel.weight.data) def forward(self, e1, rel): - """ Forward pass on the model. + """Forward pass on the model. :param e1: source entity :param rel: relation between the source and target entities Returns the model predictions for the target entities @@ -296,7 +293,7 @@ Defining the dataloader .. code:: ipython3 - class DataLoader(): + class DataLoader: def __init__(self): super(DataLoader, self).__init__() @@ -308,27 +305,27 @@ Defining the dataloader self.test_triples_list = self.convert_triples(data_path=self.test_file) def load_data(self, data_path): - """ Creates a dictionary of data items with corresponding ids """ + """Creates a dictionary of data items with corresponding ids""" item_dict, ids_dict = {}, {} fp = open(data_path, "r") lines = fp.readlines() for line in lines: - name, id = line.strip().split('\t') + name, id = line.strip().split("\t") item_dict[name] = int(id) ids_dict[int(id)] = name fp.close() return item_dict, ids_dict def convert_triples(self, data_path): - """ Creates a triple of source entity, relation and target entities""" + """Creates a triple of source entity, relation and target entities""" triples_list = [] dp = open(data_path, "r") lines = dp.readlines() for line in lines: item_dict = json.loads(line.strip()) - h = item_dict['e1'] - r = item_dict['rel'] - t = item_dict['e2_multi1'].split('\t') + h = item_dict["e1"] + r = item_dict["rel"] + t = item_dict["e2_multi1"].split("\t") hrt_list = [] hrt_list.append(self.entity_ids[h]) hrt_list.append(self.rel_ids[r]) @@ -381,13 +378,13 @@ typical to use metrics such as Mean Reciprocal Rank, Hits@10 etc. pt_acc += accuracy_score(gt, pred) avg_pt_time = np.mean(pt_inf_times) * 1000 - print(f'Average time taken for inference: {avg_pt_time} ms') - print(f'Mean accuracy of the model on the test dataset: {pt_acc/num_test_samples}') + print(f"Average time taken for inference: {avg_pt_time} ms") + print(f"Mean accuracy of the model on the test dataset: {pt_acc/num_test_samples}") .. parsed-literal:: - Average time taken for inference: 0.6546974182128906 ms + Average time taken for inference: 0.6107787291208903 ms Mean accuracy of the model on the test dataset: 0.875 @@ -407,8 +404,8 @@ knowledge graph. entitynames_dict = data.ids2entities - ent = 'san_marino' - rel = 'locatedin' + ent = "san_marino" + rel = "locatedin" h_idx = data.entity_ids[ent] r_idx = data.rel_ids[rel] @@ -418,7 +415,7 @@ knowledge graph. for j, id in enumerate(pred[0].cpu().detach().numpy()): pred_entity = entitynames_dict[id] - print(f'Source Entity: {ent}, Relation: {rel}, Target entity prediction: {pred_entity}') + print(f"Source Entity: {ent}, Relation: {rel}, Target entity prediction: {pred_entity}") .. parsed-literal:: @@ -441,7 +438,7 @@ using ``ov.save_model``. .. code:: ipython3 - print('Converting the trained conve model to IR format') + print("Converting the trained conve model to IR format") ov_model = ov.convert_model(model, example_input=(torch.tensor(1), torch.tensor(1))) ov.save_model(ov_model, ir_path) @@ -485,8 +482,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -513,7 +510,10 @@ select device from dropdown list for running inference using OpenVINO for i in range(num_test_samples): test_sample = triples_list[i] source, relation, target = test_sample - model_inputs = {input_layer_source: np.int64(source), input_layer_relation: np.int64(relation)} + model_inputs = { + input_layer_source: np.int64(source), + input_layer_relation: np.int64(relation), + } start_time = time.time() result = compiled_model(model_inputs)[output_layer] end_time = time.time() @@ -525,13 +525,13 @@ select device from dropdown list for running inference using OpenVINO ov_acc += accuracy_score(gt, pred) avg_ov_time = np.mean(ov_inf_times) * 1000 - print(f'Average time taken for inference: {avg_ov_time} ms') - print(f'Mean accuracy of the model on the test dataset: {ov_acc/num_test_samples}') + print(f"Average time taken for inference: {avg_ov_time} ms") + print(f"Mean accuracy of the model on the test dataset: {ov_acc/num_test_samples}") .. parsed-literal:: - Average time taken for inference: 0.6280839443206787 ms + Average time taken for inference: 0.6598830223083496 ms Mean accuracy of the model on the test dataset: 0.10416666666666667 @@ -545,12 +545,12 @@ Determine the platform specific speedup obtained through OpenVINO graph optimiza # prevent division by zero delimiter = max(avg_ov_time, np.finfo(float).eps) - print(f'Speedup with OpenVINO optimizations: {round(float(avg_pt_time)/float(delimiter),2)} X') + print(f"Speedup with OpenVINO optimizations: {round(float(avg_pt_time)/float(delimiter),2)} X") .. parsed-literal:: - Speedup with OpenVINO optimizations: 1.04 X + Speedup with OpenVINO optimizations: 0.93 X Benchmark the converted OpenVINO model using benchmark app @@ -573,8 +573,8 @@ inference can also be obtained by looking at the benchmark app results. .. code:: ipython3 - print('Benchmark OpenVINO model using the benchmark app') - ! benchmark_app -m $ir_path -d $device.value -api async -t 10 -shape "input.1[1],input.2[1]" + print("Benchmark OpenVINO model using the benchmark app") + ! benchmark_app -m $ir_path -d $device.value -api async -t 10 -shape "input.1[1],input.2[1]" .. parsed-literal:: @@ -603,7 +603,7 @@ inference can also be obtained by looking at the benchmark app results. .. parsed-literal:: - [ INFO ] Read model took 13.40 ms + [ INFO ] Read model took 13.96 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] e1 (node: e1) : i64 / [...] / [] @@ -623,7 +623,7 @@ inference can also be obtained by looking at the benchmark app results. .. parsed-literal:: - [ INFO ] Compile model took 60.07 ms + [ INFO ] Compile model took 82.08 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model0 @@ -652,21 +652,21 @@ inference can also be obtained by looking at the benchmark app results. [ INFO ] Fill input 'rel' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 10000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 1.33 ms + [ INFO ] First inference took 1.43 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 101124 iterations - [ INFO ] Duration: 10001.56 ms + [ INFO ] Count: 101412 iterations + [ INFO ] Duration: 10001.13 ms [ INFO ] Latency: - [ INFO ] Median: 1.02 ms - [ INFO ] Average: 1.03 ms - [ INFO ] Min: 0.68 ms - [ INFO ] Max: 8.62 ms - [ INFO ] Throughput: 10110.83 FPS + [ INFO ] Median: 1.01 ms + [ INFO ] Average: 1.02 ms + [ INFO ] Min: 0.60 ms + [ INFO ] Max: 8.57 ms + [ INFO ] Throughput: 10140.06 FPS Conclusions diff --git a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output.rst b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output.rst similarity index 82% rename from docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output.rst rename to docs/notebooks/kosmos2-multimodal-large-language-model-with-output.rst index e60e39d5c04..8a39325ae71 100644 --- a/docs/notebooks/281-kosmos2-multimodal-large-language-model-with-output.rst +++ b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output.rst @@ -60,20 +60,15 @@ Install requirements %pip install --upgrade pip %pip install -q "openvino>=2024.0.0" - %pip install -q "transformers>=4.35" Pillow gradio opencv-python + %pip install -q "transformers>=4.35" Pillow "gradio>=4.19" opencv-python %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu torch torchvision .. parsed-literal:: - Requirement already satisfied: pip in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (24.0) + Requirement already satisfied: pip in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (24.0) -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -81,7 +76,12 @@ Install requirements .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -89,21 +89,6 @@ Install requirements Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -154,29 +139,29 @@ example `__ # Specify `cleanup_and_extract=False` in order to see the raw model generation. processed_text = processor.post_process_generation(generated_text, cleanup_and_extract=False) - print(f'Raw model generation: {processed_text}') + print(f"Raw model generation: {processed_text}") # ` An image of a snowman warming himself by a fire.` # By default, the generated text is cleanup and the entities are extracted. processed_text, entities = processor.post_process_generation(generated_text) - print(f'Cleaned up generated text: {processed_text=}') + print(f"Cleaned up generated text: {processed_text=}") # `An image of a snowman warming himself by a fire.` - print(f'Extracted entities: {entities}') + print(f"Extracted entities: {entities}") # `[('a snowman', (12, 21), [(0.390625, 0.046875, 0.984375, 0.828125)]), ('a fire', (41, 47), [(0.171875, 0.015625, 0.484375, 0.890625)])]` .. parsed-literal:: - 2024-03-13 00:30:30.974384: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:30:31.009208: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:01:02.253505: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:01:02.287838: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:30:31.601630: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:01:02.846922: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -237,8 +222,13 @@ draw their bounding bboxes on the image: text_spaces = 3 for entity_name, (start, end), bboxes in entities: - for (x1_norm, y1_norm, x2_norm, y2_norm) in bboxes: - orig_x1, orig_y1, orig_x2, orig_y2 = int(x1_norm * image_w), int(y1_norm * image_h), int(x2_norm * image_w), int(y2_norm * image_h) + for x1_norm, y1_norm, x2_norm, y2_norm in bboxes: + orig_x1, orig_y1, orig_x2, orig_y2 = ( + int(x1_norm * image_w), + int(y1_norm * image_h), + int(x2_norm * image_w), + int(y2_norm * image_h), + ) # draw bbox # random color color = tuple(np.random.randint(0, 255, size=3).tolist()) @@ -255,16 +245,24 @@ draw their bounding bboxes on the image: # add text background (text_width, text_height), _ = cv2.getTextSize(f" {entity_name}", cv2.FONT_HERSHEY_COMPLEX, text_size, text_line) - text_bg_x1, text_bg_y1, text_bg_x2, text_bg_y2 = x1, y1 - (text_height + text_offset_original + 2 * text_spaces), x1 + text_width, y1 + text_bg_x1, text_bg_y1, text_bg_x2, text_bg_y2 = ( + x1, + y1 - (text_height + text_offset_original + 2 * text_spaces), + x1 + text_width, + y1, + ) for prev_bbox in previous_bboxes: while is_overlapping((text_bg_x1, text_bg_y1, text_bg_x2, text_bg_y2), prev_bbox): - text_bg_y1 += (text_height + text_offset_original + 2 * text_spaces) - text_bg_y2 += (text_height + text_offset_original + 2 * text_spaces) - y1 += (text_height + text_offset_original + 2 * text_spaces) + text_bg_y1 += text_height + text_offset_original + 2 * text_spaces + text_bg_y2 += text_height + text_offset_original + 2 * text_spaces + y1 += text_height + text_offset_original + 2 * text_spaces if text_bg_y2 >= image_h: - text_bg_y1 = max(0, image_h - (text_height + text_offset_original + 2 * text_spaces)) + text_bg_y1 = max( + 0, + image_h - (text_height + text_offset_original + 2 * text_spaces), + ) text_bg_y2 = image_h y1 = image_h break @@ -282,7 +280,14 @@ draw their bounding bboxes on the image: new_image[i, j] = (alpha * new_image[i, j] + (1 - alpha) * np.array(bg_color)).astype(np.uint8) cv2.putText( - new_image, f" {entity_name}", (x1, y1 - text_offset_original - 1 * text_spaces), cv2.FONT_HERSHEY_COMPLEX, text_size, (0, 0, 0), text_line, cv2.LINE_AA + new_image, + f" {entity_name}", + (x1, y1 - text_offset_original - 1 * text_spaces), + cv2.FONT_HERSHEY_COMPLEX, + text_size, + (0, 0, 0), + text_line, + cv2.LINE_AA, ) # previous_locations.append((x1, y1)) previous_bboxes.append((text_bg_x1, text_bg_y1, text_bg_x2, text_bg_y2)) @@ -299,7 +304,7 @@ draw their bounding bboxes on the image: -.. image:: 281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_8_0.png +.. image:: kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_8_0.png Convert models to OpenVINO Intermediate representation (IR) format @@ -357,7 +362,7 @@ file. with torch.no_grad(): converted_model = ov.convert_model(model, example_input=example_input) ov.save_model(converted_model, xml_path, compress_to_fp16=False) - + cleanup_torchscript_cache() Convert the vision model @@ -384,15 +389,15 @@ Vision model accept ``pixel_values`` and returns ``image_embeds``. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:471: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:471: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:511: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:511: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_output.size() != (bsz * self.num_heads, tgt_len, self.head_dim): @@ -420,7 +425,7 @@ Convert Image To Text Projection model .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:165: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed. Its .grad attribute won't be populated during autograd.backward(). If you indeed want the .grad field to be populated for a non-leaf Tensor, use .retain_grad() on the non-leaf Tensor. If you access the non-leaf Tensor by mistake, make sure you access the leaf Tensor instead. See github.com/pytorch/pytorch/pull/30531 for more informations. (Triggered internally at aten/src/ATen/core/TensorBody.h:489.) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:165: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed. Its .grad attribute won't be populated during autograd.backward(). If you indeed want the .grad field to be populated for a non-leaf Tensor, use .retain_grad() on the non-leaf Tensor. If you access the non-leaf Tensor by mistake, make sure you access the leaf Tensor instead. See github.com/pytorch/pytorch/pull/30531 for more informations. (Triggered internally at aten/src/ATen/core/TensorBody.h:489.) if a.grad is not None: @@ -439,7 +444,9 @@ generated text by ``AutoProcessor``. from typing import Optional, List - from transformers.models.kosmos2.modeling_kosmos2 import create_position_ids_from_input_ids + from transformers.models.kosmos2.modeling_kosmos2 import ( + create_position_ids_from_input_ids, + ) def get_projecton_image_embeds(pixel_values): @@ -466,7 +473,13 @@ generated text by ``AutoProcessor``. return flatten_inputs - def postprocess_converted_model(ov_model, example_input=None, input_names=None, output_names=None, dynamic_shapes=None): + def postprocess_converted_model( + ov_model, + example_input=None, + input_names=None, + output_names=None, + dynamic_shapes=None, + ): """ Helper function for appling postprocessing on converted model with updating input names, shapes and output names acording to requested specification @@ -476,7 +489,7 @@ generated text by ``AutoProcessor``. if input_names: for inp_name, m_input, input_data in zip(input_names, ov_model.inputs, flatten_example_inputs): m_input.get_tensor().set_names({inp_name}) - + if output_names: for out, out_name in zip(ov_model.outputs, output_names): out.get_tensor().set_names({out_name}) @@ -489,15 +502,19 @@ generated text by ``AutoProcessor``. model.text_model.config.torchscript = True image_embeds = get_projecton_image_embeds(inputs["pixel_values"]) conv_inputs = { - 'input_ids': inputs["input_ids"], - 'attention_mask': inputs["attention_mask"], - 'image_embeds': image_embeds, - 'image_embeds_position_mask': inputs["image_embeds_position_mask"], + "input_ids": inputs["input_ids"], + "attention_mask": inputs["attention_mask"], + "image_embeds": image_embeds, + "image_embeds_position_mask": inputs["image_embeds_position_mask"], } outs = model.text_model.model(**conv_inputs) - inputs_ = ["input_ids", 'attention_mask'] + inputs_ = ["input_ids", "attention_mask"] outputs = ["logits"] - dynamic_shapes = {"input_ids": {1: "seq_len"}, "attention_mask": {1: "seq_len"}, "position_ids": {0: "seq_len"}} + dynamic_shapes = { + "input_ids": {1: "seq_len"}, + "attention_mask": {1: "seq_len"}, + "position_ids": {0: "seq_len"}, + } for idx in range(len(outs[1])): inputs_.extend([f"past_key_values.{idx}.key", f"past_key_values.{idx}.value"]) dynamic_shapes[inputs_[-1]] = {2: "past_sequence + sequence"} @@ -521,39 +538,39 @@ generated text by ``AutoProcessor``. example_input_second_stage = { "input_ids": inputs["input_ids"][:, -1:], "attention_mask": inputs["input_ids"].new_ones(1, inputs["input_ids"].shape[1] + 1), - 'position_ids': position_ids, + "position_ids": position_ids, "past_key_values": outs[1], } - + ov_model = ov.convert_model(model.text_model.model, example_input=example_input_second_stage) ov_model = postprocess_converted_model( - ov_model, - example_input=example_input_second_stage.values(), - input_names=inputs_, - output_names=outputs, - dynamic_shapes=dynamic_shapes + ov_model, + example_input=example_input_second_stage.values(), + input_names=inputs_, + output_names=outputs, + dynamic_shapes=dynamic_shapes, ) ov.save_model(ov_model, SECOND_STAGE_MODEL_PATH) del ov_model cleanup_torchscript_cache() - convert_text_model() + convert_text_model() .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:810: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:810: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if max_pos > self.weights.size(0): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:1119: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:1119: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if input_shape[-1] > 1: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:926: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:926: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attention_mask.size() != (batch_size, 1, seq_length, src_len): .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:1212: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/kosmos2/modeling_kosmos2.py:1212: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if past_key_values_length > 0: @@ -573,8 +590,8 @@ from the dropdown list: core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -597,7 +614,7 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. class WraperInternalVisionModel: post_layernorm = model.vision_model.model.post_layernorm - + class VisionModelWrapper(torch.nn.Module): def __init__(self, model_ir_path): @@ -609,7 +626,7 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. vision_model_output = self.vision_model(pixel_values)[0] return [torch.from_numpy(vision_model_output)] - + class ImageToTextProjectionModelWrapper(torch.nn.Module): def __init__(self, model_ir_path): @@ -625,26 +642,19 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. .. code:: ipython3 from transformers.generation import GenerationConfig, GenerationMixin - from transformers.models.kosmos2.modeling_kosmos2 import Kosmos2ForConditionalGenerationModelOutput + from transformers.models.kosmos2.modeling_kosmos2 import ( + Kosmos2ForConditionalGenerationModelOutput, + ) class KosmosForCausalLMWrapper(GenerationMixin): def __init__(self, first_stage_model_path, second_stage_model_path, device): - self.model_stage_1 = core.compile_model(first_stage_model_path, device.value) self.model_stage_2 = core.read_model(second_stage_model_path) - self.input_names = { - key.get_any_name(): idx for idx, key in enumerate(self.model_stage_2.inputs) - } - self.output_names = { - key.get_any_name(): idx for idx, key in enumerate(self.model_stage_2.outputs) - } - self.key_value_input_names = [ - key for key in self.input_names if "key_values" in key - ] - self.key_value_output_names = [ - key for key in self.output_names if "present" in key - ] + self.input_names = {key.get_any_name(): idx for idx, key in enumerate(self.model_stage_2.inputs)} + self.output_names = {key.get_any_name(): idx for idx, key in enumerate(self.model_stage_2.outputs)} + self.key_value_input_names = [key for key in self.input_names if "key_values" in key] + self.key_value_output_names = [key for key in self.output_names if "present" in key] self.model_stage_2 = core.compile_model(self.model_stage_2, device.value) self.request = self.model_stage_2.create_infer_request() @@ -653,7 +663,11 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. self.main_input_name = "input_ids" self.device = torch.device("cpu") self.num_pkv = 2 - self.lm_head = nn.Linear(in_features=model.text_model.config.embed_dim, out_features=model.text_model.config.vocab_size, bias=False) + self.lm_head = nn.Linear( + in_features=model.text_model.config.embed_dim, + out_features=model.text_model.config.vocab_size, + bias=False, + ) def get_input_embeddings(self) -> nn.Module: return self.model.embed_tokens @@ -682,7 +696,12 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. **kwargs, ): return self.forward( - input_ids, attention_mask, image_embeds, image_embeds_position_mask, position_ids, past_key_values + input_ids, + attention_mask, + image_embeds, + image_embeds_position_mask, + position_ids, + past_key_values, ) def forward( @@ -693,36 +712,30 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. image_embeds_position_mask: Optional[torch.Tensor] = None, position_ids=None, past_key_values: Optional[List[torch.FloatTensor]] = None, - - **kwargs + **kwargs, ): if past_key_values is None: - outs = self.model_stage_1( { - 'input_ids': input_ids, - 'attention_mask': attention_mask, - 'image_embeds': image_embeds, - 'image_embeds_position_mask': image_embeds_position_mask, + "input_ids": input_ids, + "attention_mask": attention_mask, + "image_embeds": image_embeds, + "image_embeds_position_mask": image_embeds_position_mask, } - ) + ) lm_logits = model.text_model.lm_head(torch.from_numpy(outs[0])) pkv = list(outs.values())[1:] pkv = tuple(pkv[i : i + 2] for i in range(0, len(pkv), 2)) return Kosmos2ForConditionalGenerationModelOutput(logits=lm_logits, past_key_values=pkv) - + if past_key_values is not None: - past_key_values = tuple( - past_key_value - for pkv_per_layer in past_key_values - for past_key_value in pkv_per_layer - ) + past_key_values = tuple(past_key_value for pkv_per_layer in past_key_values for past_key_value in pkv_per_layer) inputs_ = { "input_ids": input_ids[:, -1].unsqueeze(-1), "attention_mask": attention_mask, - 'position_ids': position_ids + "position_ids": position_ids, } inputs_.update(dict(zip(self.key_value_input_names, past_key_values))) @@ -734,18 +747,12 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. logits = model.text_model.lm_head(logits) # Tuple of length equal to : number of layer * number of past_key_value per decoder layer (2 corresponds to the self-attention layer) - past_key_values = tuple( - self.request.get_tensor(key).data for key in self.key_value_output_names - ) + past_key_values = tuple(self.request.get_tensor(key).data for key in self.key_value_output_names) # Tuple of tuple of length `n_layers`, with each tuple of length equal to 2 (k/v of self-attention) - past_key_values = tuple( - past_key_values[i : i + self.num_pkv] - for i in range(0, len(past_key_values), self.num_pkv) - ) - - return Kosmos2ForConditionalGenerationModelOutput(logits=logits, past_key_values=past_key_values) + past_key_values = tuple(past_key_values[i : i + self.num_pkv] for i in range(0, len(past_key_values), self.num_pkv)) + return Kosmos2ForConditionalGenerationModelOutput(logits=logits, past_key_values=past_key_values) def prepare_inputs_for_generation( self, @@ -781,7 +788,11 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. image_embeds_position_mask = torch.cat( ( image_embeds_position_mask, - torch.zeros(size=(batch_size, seq_len - mask_len), dtype=torch.bool, device=input_ids.device), + torch.zeros( + size=(batch_size, seq_len - mask_len), + dtype=torch.bool, + device=input_ids.device, + ), ), dim=1, ) @@ -790,25 +801,29 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. "input_ids": input_ids, "image_embeds": image_embeds, "image_embeds_position_mask": image_embeds_position_mask, - 'position_ids': position_ids, + "position_ids": position_ids, "past_key_values": past_key_values, "attention_mask": attention_mask, } - + @staticmethod # Copied from transformers.models.umt5.modeling_umt5.UMT5ForConditionalGeneration._reorder_cache def _reorder_cache(past_key_values, beam_idx): reordered_past = () for layer_past in past_key_values: - reordered_past += ( - tuple(past_state.index_select(0, beam_idx.to(past_state.device)) for past_state in layer_past), - ) + reordered_past += (tuple(past_state.index_select(0, beam_idx.to(past_state.device)) for past_state in layer_past),) return reordered_past class Kosmos2ForConditionalGenerationWrapper: - - def __init__(self, vision_model_path, image_to_text_projection_model_path, first_stage_model_path, second_stage_model_path, device): + def __init__( + self, + vision_model_path, + image_to_text_projection_model_path, + first_stage_model_path, + second_stage_model_path, + device, + ): self.vision_model = VisionModelWrapper(vision_model_path) self.image_to_text_projection = ImageToTextProjectionModelWrapper(image_to_text_projection_model_path) self.text_model = KosmosForCausalLMWrapper(first_stage_model_path, second_stage_model_path, device) @@ -840,7 +855,13 @@ return ``torch.Tensor``\ s instead of ``np.array``\ s. .. code:: ipython3 - ov_model = Kosmos2ForConditionalGenerationWrapper(VISION_MODEL_IR_PATH, IMAGE_TO_TEXT_PROJECTION_MODEL_IR_PATH, FIRST_STAGE_MODEL_PATH, SECOND_STAGE_MODEL_PATH, device) + ov_model = Kosmos2ForConditionalGenerationWrapper( + VISION_MODEL_IR_PATH, + IMAGE_TO_TEXT_PROJECTION_MODEL_IR_PATH, + FIRST_STAGE_MODEL_PATH, + SECOND_STAGE_MODEL_PATH, + device, + ) Inference --------- @@ -862,16 +883,16 @@ Inference # Specify `cleanup_and_extract=False` in order to see the raw model generation. processed_text = processor.post_process_generation(generated_text, cleanup_and_extract=False) - print(f'Raw model generation: {processed_text}') + print(f"Raw model generation: {processed_text}") # ` An image of a snowman warming himself by a fire.` # By default, the generated text is cleanup and the entities are extracted. processed_text, entities = processor.post_process_generation(generated_text) - print(f'Cleaned up generated text: {processed_text=}') + print(f"Cleaned up generated text: {processed_text=}") # `An image of a snowman warming himself by a fire.` - print(f'Extracted entities: {entities}') + print(f"Extracted entities: {entities}") # `[('a snowman', (12, 21), [(0.390625, 0.046875, 0.984375, 0.828125)]), ('a fire', (41, 47), [(0.171875, 0.015625, 0.484375, 0.890625)])]` @@ -889,7 +910,7 @@ Inference -.. image:: 281-kosmos2-multimodal-large-language-model-with-output_files/281-kosmos2-multimodal-large-language-model-with-output_29_0.png +.. image:: kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_29_0.png Interactive inference @@ -905,7 +926,7 @@ Interactive inference images = { "snowman.png": "https://huggingface.co/microsoft/kosmos-2-patch14-224/resolve/main/snowman.png", "two_dogs.jpg": "https://huggingface.co/microsoft/kosmos-2-patch14-224/resolve/main/two_dogs.jpg", - "six_planes.png": "https://ydshieh-kosmos-2.hf.space/file=/home/user/app/images/six_planes.png" + "six_planes.png": "https://ydshieh-kosmos-2.hf.space/file=/home/user/app/images/six_planes.png", } for image_name, url in images.items(): image = Image.open(requests.get(url, stream=True).raw) @@ -928,7 +949,7 @@ Interactive inference processed_text, entities = processor.post_process_generation(generated_text) new_image = draw_entity_boxes_on_image(Image.fromarray(image), entities) - + return new_image, processed_text @@ -937,13 +958,13 @@ Interactive inference [ gr.Image(label="Input image"), gr.Textbox(label="Prompt"), - gr.Checkbox(label="Show bounding boxes", value=True) + gr.Checkbox(label="Show bounding boxes", value=True), ], ["image", "text"], examples=[ ["snowman.png", "An image of"], ["two_dogs.jpg", "Describe this image in detail:"], - ["six_planes.png", "What is going on?"] + ["six_planes.png", "What is going on?"], ], allow_flagging="never", ) diff --git a/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_29_0.jpg b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_29_0.jpg new file mode 100644 index 00000000000..b400ee72fba --- /dev/null +++ b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_29_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0a83eb915195973a7315333a239ea60abf597988effc7fcca7dfea302afb625 +size 117636 diff --git a/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_29_0.png b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_29_0.png new file mode 100644 index 00000000000..d0b339f53bf --- /dev/null +++ b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_29_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d18af510a639c26185fec562aed50889b07e16f73465e7cd071b97634995d78 +size 1151036 diff --git a/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_8_0.jpg b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_8_0.jpg new file mode 100644 index 00000000000..4208969cbb7 --- /dev/null +++ b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_8_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9aca69f7a8aba308eed0932bb52ca703329c167786b855c33392c196775e3c7 +size 116335 diff --git a/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_8_0.png b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_8_0.png new file mode 100644 index 00000000000..4ee528c804a --- /dev/null +++ b/docs/notebooks/kosmos2-multimodal-large-language-model-with-output_files/kosmos2-multimodal-large-language-model-with-output_8_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a72aac750b87ad7318f3caad198955aea63148e2bfa01db73fc7ccb9585304f8 +size 1151306 diff --git a/docs/notebooks/105-language-quantize-bert-with-output.rst b/docs/notebooks/language-quantize-bert-with-output.rst similarity index 84% rename from docs/notebooks/105-language-quantize-bert-with-output.rst rename to docs/notebooks/language-quantize-bert-with-output.rst index d6f312c4d99..555d4dc3a07 100644 --- a/docs/notebooks/105-language-quantize-bert-with-output.rst +++ b/docs/notebooks/language-quantize-bert-with-output.rst @@ -42,8 +42,8 @@ Table of contents: .. code:: ipython3 - %pip install -q "nncf>=2.5.0" - %pip install -q transformers datasets evaluate --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "nncf>=2.5.0" + %pip install -q torch transformers "torch>=2.1" datasets evaluate tqdm --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino>=2023.1.0" @@ -86,24 +86,26 @@ Imports from transformers import BertForSequenceClassification, BertTokenizer # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file .. parsed-literal:: - 2024-03-12 22:22:23.157910: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:22:23.191787: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:02:10.199327: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:02:10.234239: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:22:23.830567: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:02:10.832965: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -173,7 +175,11 @@ PyTorch model formats are supported: torch_model = BertForSequenceClassification.from_pretrained(PRETRAINED_MODEL_DIR) torch_model.eval - input_info = [("input_ids", input_shape, np.int64),("attention_mask", input_shape, np.int64),("token_type_ids", input_shape, np.int64)] + input_info = [ + ("input_ids", input_shape, np.int64), + ("attention_mask", input_shape, np.int64), + ("token_type_ids", input_shape, np.int64), + ] default_input = torch.ones(1, MAX_SEQ_LENGTH, dtype=torch.int64) inputs = { "input_ids": default_input, @@ -189,12 +195,6 @@ PyTorch model formats are supported: model = core.read_model(ir_model_xml) -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage() - return self.fget.__get__(instance, owner)() - - .. parsed-literal:: WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. @@ -207,17 +207,12 @@ PyTorch model formats are supported: .. parsed-literal:: - WARNING:nncf:NNCF provides best results with torch==2.1.2, while current torch version is 2.1.0+cpu. If you encounter issues, consider switching to torch==2.1.2 + WARNING:nncf:NNCF provides best results with torch==2.1.2, while current torch version is 2.2.2+cpu. If you encounter issues, consider switching to torch==2.1.2 .. parsed-literal:: - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( @@ -234,18 +229,20 @@ tokenizer from HuggingFace. .. code:: ipython3 def create_data_source(): - raw_dataset = datasets.load_dataset('glue', 'mrpc', split='validation') + raw_dataset = datasets.load_dataset("glue", "mrpc", split="validation") tokenizer = BertTokenizer.from_pretrained(PRETRAINED_MODEL_DIR) def _preprocess_fn(examples): - texts = (examples['sentence1'], examples['sentence2']) - result = tokenizer(*texts, padding='max_length', max_length=MAX_SEQ_LENGTH, truncation=True) - result['labels'] = examples['label'] + texts = (examples["sentence1"], examples["sentence2"]) + result = tokenizer(*texts, padding="max_length", max_length=MAX_SEQ_LENGTH, truncation=True) + result["labels"] = examples["label"] return result + processed_dataset = raw_dataset.map(_preprocess_fn, batched=True, batch_size=1) return processed_dataset + data_source = create_data_source() Optimize model using NNCF Post-training Quantization API @@ -268,21 +265,20 @@ The optimization process contains the following steps: INPUT_NAMES = [key for key in inputs.keys()] + def transform_fn(data_item): """ Extract the model's input from the data item. The data item here is the data item that is returned from the data source per iteration. This function should be passed when the data item cannot be used as model's input. """ - inputs = { - name: np.asarray([data_item[name]], dtype=np.int64) for name in INPUT_NAMES - } + inputs = {name: np.asarray([data_item[name]], dtype=np.int64) for name in INPUT_NAMES} return inputs + calibration_dataset = nncf.Dataset(data_source, transform_fn) # Quantize the model. By specifying model_type, we specify additional transformer patterns in the model. - quantized_model = nncf.quantize(model, calibration_dataset, - model_type=ModelType.TRANSFORMER) + quantized_model = nncf.quantize(model, calibration_dataset, model_type=ModelType.TRANSFORMER) @@ -409,8 +405,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -440,7 +436,7 @@ changing ``sample_idx`` to another value (from 0 to 407). sample_idx = 5 sample = data_source[sample_idx] - inputs = {k: torch.unsqueeze(torch.tensor(sample[k]), 0) for k in ['input_ids', 'token_type_ids', 'attention_mask']} + inputs = {k: torch.unsqueeze(torch.tensor(sample[k]), 0) for k in ["input_ids", "token_type_ids", "attention_mask"]} result = compiled_quantized_model(inputs)[output_layer] result = np.argmax(result) @@ -466,33 +462,31 @@ Compare F1-score of FP32 and INT8 models def validate(model: ov.Model, dataset: Iterable[Any]) -> float: """ - Evaluate the model on GLUE dataset. + Evaluate the model on GLUE dataset. Returns F1 score metric. """ compiled_model = core.compile_model(model, device_name=device.value) output_layer = compiled_model.output(0) - metric = evaluate.load('glue', 'mrpc') + metric = evaluate.load("glue", "mrpc") for batch in dataset: - inputs = [ - np.expand_dims(np.asarray(batch[key], dtype=np.int64), 0) for key in INPUT_NAMES - ] + inputs = [np.expand_dims(np.asarray(batch[key], dtype=np.int64), 0) for key in INPUT_NAMES] outputs = compiled_model(inputs)[output_layer] predictions = outputs[0].argmax(axis=-1) - metric.add_batch(predictions=[predictions], references=[batch['labels']]) + metric.add_batch(predictions=[predictions], references=[batch["labels"]]) metrics = metric.compute() - f1_score = metrics['f1'] + f1_score = metrics["f1"] return f1_score - print('Checking the accuracy of the original model:') + print("Checking the accuracy of the original model:") metric = validate(model, data_source) - print(f'F1 score: {metric:.4f}') + print(f"F1 score: {metric:.4f}") - print('Checking the accuracy of the quantized model:') + print("Checking the accuracy of the quantized model:") metric = validate(quantized_model, data_source) - print(f'F1 score: {metric:.4f}') + print(f"F1 score: {metric:.4f}") .. parsed-literal:: @@ -530,7 +524,7 @@ Frames Per Second (FPS) for images. num_samples = 50 sample = data_source[0] - inputs = {k: torch.unsqueeze(torch.tensor(sample[k]), 0) for k in ['input_ids', 'token_type_ids', 'attention_mask']} + inputs = {k: torch.unsqueeze(torch.tensor(sample[k]), 0) for k in ["input_ids", "token_type_ids", "attention_mask"]} with torch.no_grad(): start = time.perf_counter() @@ -538,30 +532,21 @@ Frames Per Second (FPS) for images. torch_model(torch.vstack(list(inputs.values()))) end = time.perf_counter() time_torch = end - start - print( - f"PyTorch model on CPU: {time_torch / num_samples:.3f} seconds per sentence, " - f"SPS: {num_samples / time_torch:.2f}" - ) + print(f"PyTorch model on CPU: {time_torch / num_samples:.3f} seconds per sentence, " f"SPS: {num_samples / time_torch:.2f}") start = time.perf_counter() for _ in range(num_samples): compiled_model(inputs) end = time.perf_counter() time_ir = end - start - print( - f"IR FP32 model in OpenVINO Runtime/{device.value}: {time_ir / num_samples:.3f} " - f"seconds per sentence, SPS: {num_samples / time_ir:.2f}" - ) + print(f"IR FP32 model in OpenVINO Runtime/{device.value}: {time_ir / num_samples:.3f} " f"seconds per sentence, SPS: {num_samples / time_ir:.2f}") start = time.perf_counter() for _ in range(num_samples): compiled_quantized_model(inputs) end = time.perf_counter() time_ir = end - start - print( - f"OpenVINO IR INT8 model in OpenVINO Runtime/{device.value}: {time_ir / num_samples:.3f} " - f"seconds per sentence, SPS: {num_samples / time_ir:.2f}" - ) + print(f"OpenVINO IR INT8 model in OpenVINO Runtime/{device.value}: {time_ir / num_samples:.3f} " f"seconds per sentence, SPS: {num_samples / time_ir:.2f}") .. parsed-literal:: @@ -571,17 +556,17 @@ Frames Per Second (FPS) for images. .. parsed-literal:: - PyTorch model on CPU: 0.073 seconds per sentence, SPS: 13.63 + PyTorch model on CPU: 0.075 seconds per sentence, SPS: 13.34 .. parsed-literal:: - IR FP32 model in OpenVINO Runtime/AUTO: 0.020 seconds per sentence, SPS: 48.91 + IR FP32 model in OpenVINO Runtime/AUTO: 0.020 seconds per sentence, SPS: 48.84 .. parsed-literal:: - OpenVINO IR INT8 model in OpenVINO Runtime/AUTO: 0.009 seconds per sentence, SPS: 112.60 + OpenVINO IR INT8 model in OpenVINO Runtime/AUTO: 0.009 seconds per sentence, SPS: 113.21 Finally, measure the inference performance of OpenVINO ``FP32`` and @@ -622,7 +607,7 @@ in OpenVINO. Device with "device" name is not registered in the OpenVINO Runtime Traceback (most recent call last): - File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 166, in main + File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 166, in main supported_properties = benchmark.core.get_property(device, properties.supported_properties()) RuntimeError: Exception from src/inference/src/cpp/core.cpp:216: Exception from src/inference/src/dev/core_impl.cpp:556: @@ -655,7 +640,7 @@ in OpenVINO. Device with "device" name is not registered in the OpenVINO Runtime Traceback (most recent call last): - File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 166, in main + File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 166, in main supported_properties = benchmark.core.get_property(device, properties.supported_properties()) RuntimeError: Exception from src/inference/src/cpp/core.cpp:216: Exception from src/inference/src/dev/core_impl.cpp:556: diff --git a/docs/notebooks/109-latency-tricks-with-output.rst b/docs/notebooks/latency-tricks-with-output.rst similarity index 77% rename from docs/notebooks/109-latency-tricks-with-output.rst rename to docs/notebooks/latency-tricks-with-output.rst index 98ef8a83d89..cc27188b158 100644 --- a/docs/notebooks/109-latency-tricks-with-output.rst +++ b/docs/notebooks/latency-tricks-with-output.rst @@ -27,8 +27,7 @@ The quantization and pre-post-processing API are not included here as they change the precision (quantization) or processing graph (prepostprocessor). You can find examples of how to apply them to optimize performance on OpenVINO IR files in -`111-detection-quantization <111-detection-quantization-with-output.html>`__ and -`118-optimize-preprocessing <118-optimize-preprocessing-with-output.html>`__. +`optimize-preprocessing <../optimize-preprocessing>`__. |image0| @@ -44,7 +43,7 @@ optimize performance on OpenVINO IR files in result in different performance. A similar notebook focused on the throughput mode is available -`here <109-throughput-tricks-with-output.html>`__. +`here `__. Table of contents: ^^^^^^^^^^^^^^^^^^ @@ -80,7 +79,19 @@ Prerequisites .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" seaborn "ultralytics<=8.0.178" onnx --extra-index-url https://download.pytorch.org/whl/cpu + import platform + + %pip install -q "openvino>=2023.1.0" seaborn "ultralytics<=8.0.178" onnx opencv-python --extra-index-url https://download.pytorch.org/whl/cpu + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -96,11 +107,13 @@ Prerequisites from typing import Any, List, Tuple # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) import notebook_utils as utils Data @@ -134,14 +147,14 @@ requirements of this particular object detection model. -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_5_0.jpg +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_5_0.jpg .. parsed-literal:: - + @@ -180,7 +193,7 @@ PyTorch Hub and small enough to see the difference in performance. .. parsed-literal:: - YOLOv5 🚀 2023-4-21 Python-3.8.10 torch-2.1.0+cpu CPU + YOLOv5 🚀 2023-4-21 Python-3.8.10 torch-2.2.2+cpu CPU @@ -202,17 +215,17 @@ PyTorch Hub and small enough to see the difference in performance. .. parsed-literal:: - 8%|▊ | 304k/3.87M [00:00<00:01, 3.08MB/s] + 12%|█▏ | 480k/3.87M [00:00<00:00, 4.89MB/s] .. parsed-literal:: - 64%|██████▎ | 2.47M/3.87M [00:00<00:00, 14.6MB/s] + 81%|████████ | 3.14M/3.87M [00:00<00:00, 18.5MB/s] .. parsed-literal:: - 100%|██████████| 3.87M/3.87M [00:00<00:00, 18.6MB/s] + 100%|██████████| 3.87M/3.87M [00:00<00:00, 19.5MB/s] @@ -227,7 +240,7 @@ PyTorch Hub and small enough to see the difference in performance. .. parsed-literal:: - YOLOv5n summary: 213 layers, 1867405 parameters, 0 gradients + YOLOv5n summary: 213 layers, 1867405 parameters, 0 gradients, 4.5 GFLOPs .. parsed-literal:: @@ -312,14 +325,86 @@ the image. # https://gist.github.com/AruniRC/7b3dadd004da04c80198557db5da4bda classes = [ - "person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light", "fire hydrant", - "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", - "giraffe", "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", - "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", "fork", - "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", - "cake", "chair", "couch", "potted plant", "bed", "dining table", "toilet", "tv", "laptop", "mouse", "remote", "keyboard", - "cell phone", "microwave", "oven", "oaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", "teddy bear", - "hair drier", "toothbrush" + "person", + "bicycle", + "car", + "motorcycle", + "airplane", + "bus", + "train", + "truck", + "boat", + "traffic light", + "fire hydrant", + "stop sign", + "parking meter", + "bench", + "bird", + "cat", + "dog", + "horse", + "sheep", + "cow", + "elephant", + "bear", + "zebra", + "giraffe", + "backpack", + "umbrella", + "handbag", + "tie", + "suitcase", + "frisbee", + "skis", + "snowboard", + "sports ball", + "kite", + "baseball bat", + "baseball glove", + "skateboard", + "surfboard", + "tennis racket", + "bottle", + "wine glass", + "cup", + "fork", + "knife", + "spoon", + "bowl", + "banana", + "apple", + "sandwich", + "orange", + "broccoli", + "carrot", + "hot dog", + "pizza", + "donut", + "cake", + "chair", + "couch", + "potted plant", + "bed", + "dining table", + "toilet", + "tv", + "laptop", + "mouse", + "remote", + "keyboard", + "cell phone", + "microwave", + "oven", + "oaster", + "sink", + "refrigerator", + "book", + "clock", + "vase", + "scissors", + "teddy bear", + "hair drier", + "toothbrush", ] # Colors for the classes above (Rainbow Color Map). @@ -344,18 +429,14 @@ the image. score = obj[4] label = np.argmax(obj[5:]) # Create a box with pixels coordinates from the box with normalized coordinates [0,1]. - boxes.append( - tuple(map(int, (xmin - ww // 2, ymin - hh // 2, ww, hh))) - ) + boxes.append(tuple(map(int, (xmin - ww // 2, ymin - hh // 2, ww, hh)))) labels.append(int(label)) scores.append(float(score)) # Apply non-maximum suppression to get rid of many overlapping entities. # See https://paperswithcode.com/method/non-maximum-suppression # This algorithm returns indices of objects to keep. - indices = cv2.dnn.NMSBoxes( - bboxes=boxes, scores=scores, score_threshold=0.25, nms_threshold=0.5 - ) + indices = cv2.dnn.NMSBoxes(bboxes=boxes, scores=scores, score_threshold=0.25, nms_threshold=0.5) # If there are no boxes. if len(indices) == 0: @@ -425,21 +506,25 @@ optimizations applied. We will treat it as our baseline. with torch.no_grad(): result = pytorch_model(torch.as_tensor(input_image)).detach().numpy()[0] show_result(result) - pytorch_infer_time = benchmark_model(pytorch_model, input_data=torch.as_tensor(input_image).float(), benchmark_name="PyTorch model") + pytorch_infer_time = benchmark_model( + pytorch_model, + input_data=torch.as_tensor(input_image).float(), + benchmark_name="PyTorch model", + ) -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_15_0.jpg +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_15_0.jpg .. parsed-literal:: - PyTorch model on CPU. First inference time: 0.0266 seconds + PyTorch model on CPU. First inference time: 0.0269 seconds .. parsed-literal:: - PyTorch model on CPU: 0.0216 seconds per image (46.33 FPS) + PyTorch model on CPU: 0.0213 seconds per image (47.06 FPS) ONNX model @@ -484,17 +569,17 @@ Representation (IR) to leverage the OpenVINO Runtime. -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_18_0.jpg +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_18_0.jpg .. parsed-literal:: - ONNX model on CPU. First inference time: 0.0164 seconds + ONNX model on CPU. First inference time: 0.0173 seconds .. parsed-literal:: - ONNX model on CPU: 0.0125 seconds per image (80.25 FPS) + ONNX model on CPU: 0.0136 seconds per image (73.79 FPS) OpenVINO IR model @@ -526,17 +611,17 @@ accuracy drop. That’s why we skip that step in this notebook. -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_20_0.jpg +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_20_0.jpg .. parsed-literal:: - OpenVINO model on CPU. First inference time: 0.0163 seconds + OpenVINO model on CPU. First inference time: 0.0157 seconds .. parsed-literal:: - OpenVINO model on CPU: 0.0123 seconds per image (81.26 FPS) + OpenVINO model on CPU: 0.0122 seconds per image (81.74 FPS) OpenVINO IR model on GPU @@ -561,7 +646,12 @@ execution. result = ov_gpu_model(input_image)[ov_gpu_model.output(0)][0] show_result(result) - ov_gpu_infer_time = benchmark_model(model=ov_gpu_model, input_data=input_image, benchmark_name="OpenVINO model", device_name="GPU") + ov_gpu_infer_time = benchmark_model( + model=ov_gpu_model, + input_data=input_image, + benchmark_name="OpenVINO model", + device_name="GPU", + ) del ov_gpu_model # release resources @@ -586,23 +676,27 @@ If it is the case, don’t use it. result = ov_cpu_config_model(input_image)[ov_cpu_config_model.output(0)][0] show_result(result) - ov_cpu_config_infer_time = benchmark_model(model=ov_cpu_config_model, input_data=input_image, benchmark_name="OpenVINO model + more threads") + ov_cpu_config_infer_time = benchmark_model( + model=ov_cpu_config_model, + input_data=input_image, + benchmark_name="OpenVINO model + more threads", + ) del ov_cpu_config_model # release resources -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_24_0.jpg +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_24_0.jpg .. parsed-literal:: - OpenVINO model + more threads on CPU. First inference time: 0.0151 seconds + OpenVINO model + more threads on CPU. First inference time: 0.0157 seconds .. parsed-literal:: - OpenVINO model + more threads on CPU: 0.0124 seconds per image (80.94 FPS) + OpenVINO model + more threads on CPU: 0.0123 seconds per image (81.20 FPS) OpenVINO IR model in latency mode @@ -624,21 +718,26 @@ devices as well. result = ov_auto_model(input_image)[ov_auto_model.output(0)][0] show_result(result) - ov_auto_infer_time = benchmark_model(model=ov_auto_model, input_data=input_image, benchmark_name="OpenVINO model", device_name="AUTO") + ov_auto_infer_time = benchmark_model( + model=ov_auto_model, + input_data=input_image, + benchmark_name="OpenVINO model", + device_name="AUTO", + ) -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_26_0.jpg +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_26_0.jpg .. parsed-literal:: - OpenVINO model on AUTO. First inference time: 0.0158 seconds + OpenVINO model on AUTO. First inference time: 0.0157 seconds .. parsed-literal:: - OpenVINO model on AUTO: 0.0126 seconds per image (79.53 FPS) + OpenVINO model on AUTO: 0.0124 seconds per image (80.65 FPS) OpenVINO IR model in latency mode + shared memory @@ -662,23 +761,28 @@ performance! result = ov_auto_model(input_tensor)[ov_auto_model.output(0)][0] show_result(result) - ov_auto_shared_infer_time = benchmark_model(model=ov_auto_model, input_data=input_tensor, benchmark_name="OpenVINO model + shared memory", device_name="AUTO") + ov_auto_shared_infer_time = benchmark_model( + model=ov_auto_model, + input_data=input_tensor, + benchmark_name="OpenVINO model + shared memory", + device_name="AUTO", + ) del ov_auto_model # release resources -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_28_0.jpg +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_28_0.jpg .. parsed-literal:: - OpenVINO model + shared memory on AUTO. First inference time: 0.0103 seconds + OpenVINO model + shared memory on AUTO. First inference time: 0.0113 seconds .. parsed-literal:: - OpenVINO model + shared memory on AUTO: 0.0054 seconds per image (185.55 FPS) + OpenVINO model + shared memory on AUTO: 0.0054 seconds per image (186.74 FPS) Other tricks @@ -689,9 +793,8 @@ Other tricks There are other tricks for performance improvement, such as quantization and pre-post-processing or dedicated to throughput mode. To get even more from your model, please visit -`111-detection-quantization <111-detection-quantization-with-output.html>`__, -`118-optimize-preprocessing <118-optimize-preprocessing>`__, and -`109-throughput-tricks <109-throughput-tricks-with-output.html>`__. +`optimize-preprocessing <../optimize-preprocessing>`__, and +`throughput-tricks `__. Performance comparison ---------------------- @@ -710,11 +813,30 @@ steps, just skip them. from matplotlib import pyplot as plt - labels = ["PyTorch model", "ONNX model", "OpenVINO IR model", "OpenVINO IR model on GPU", "OpenVINO IR model + more inference threads", - "OpenVINO IR model in latency mode", "OpenVINO IR model in latency mode + shared memory"] + labels = [ + "PyTorch model", + "ONNX model", + "OpenVINO IR model", + "OpenVINO IR model on GPU", + "OpenVINO IR model + more inference threads", + "OpenVINO IR model in latency mode", + "OpenVINO IR model in latency mode + shared memory", + ] # make them milliseconds - times = list(map(lambda x: 1000 * x, [pytorch_infer_time, onnx_infer_time, ov_cpu_infer_time, ov_gpu_infer_time, ov_cpu_config_infer_time, - ov_auto_infer_time, ov_auto_shared_infer_time])) + times = list( + map( + lambda x: 1000 * x, + [ + pytorch_infer_time, + onnx_infer_time, + ov_cpu_infer_time, + ov_gpu_infer_time, + ov_cpu_config_infer_time, + ov_auto_infer_time, + ov_auto_shared_infer_time, + ], + ) + ) bar_colors = colors[::10] / 255.0 @@ -724,12 +846,12 @@ steps, just skip them. ax.set_ylabel("Inference time [ms]") ax.set_title("Performance difference") - plt.xticks(rotation='vertical') + plt.xticks(rotation="vertical") plt.show() -.. image:: 109-latency-tricks-with-output_files/109-latency-tricks-with-output_31_0.png +.. image:: latency-tricks-with-output_files/latency-tricks-with-output_31_0.png Conclusions diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_15_0.jpg b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_15_0.jpg similarity index 100% rename from docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_15_0.jpg rename to docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_15_0.jpg diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_18_0.jpg b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_18_0.jpg similarity index 100% rename from docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_18_0.jpg rename to docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_18_0.jpg diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_20_0.jpg b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_20_0.jpg similarity index 100% rename from docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_20_0.jpg rename to docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_20_0.jpg diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_24_0.jpg b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_24_0.jpg similarity index 100% rename from docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_24_0.jpg rename to docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_24_0.jpg diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_26_0.jpg b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_26_0.jpg similarity index 100% rename from docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_26_0.jpg rename to docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_26_0.jpg diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_28_0.jpg b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_28_0.jpg similarity index 100% rename from docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_28_0.jpg rename to docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_28_0.jpg diff --git a/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_31_0.png b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_31_0.png new file mode 100644 index 00000000000..c2b9c5013c2 --- /dev/null +++ b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_31_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e50d8a22c26feebfe2a2d322d21b370b0610cbf00740d0a5808a2644d62f7028 +size 57013 diff --git a/docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_5_0.jpg b/docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_5_0.jpg similarity index 100% rename from docs/notebooks/109-latency-tricks-with-output_files/109-latency-tricks-with-output_5_0.jpg rename to docs/notebooks/latency-tricks-with-output_files/latency-tricks-with-output_5_0.jpg diff --git a/docs/notebooks/263-latent-consistency-models-image-generation-with-output.rst b/docs/notebooks/latent-consistency-models-image-generation-with-output.rst similarity index 93% rename from docs/notebooks/263-latent-consistency-models-image-generation-with-output.rst rename to docs/notebooks/latent-consistency-models-image-generation-with-output.rst index 3a679731380..5f07a0906ff 100644 --- a/docs/notebooks/263-latent-consistency-models-image-generation-with-output.rst +++ b/docs/notebooks/latent-consistency-models-image-generation-with-output.rst @@ -80,8 +80,8 @@ Prerequisites .. code:: ipython3 - %pip install -q "torch" --index-url https://download.pytorch.org/whl/cpu - %pip install -q "openvino>=2023.1.0" transformers "diffusers>=0.23.1" pillow gradio "nncf>=2.7.0" datasets "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "torch>=2.1" --index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2023.1.0" transformers "diffusers>=0.23.1" pillow "gradio>=4.19" "nncf>=2.7.0" "datasets>=2.14.6" "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu Prepare models for OpenVINO format conversion --------------------------------------------- @@ -100,9 +100,10 @@ model is also integrated into Diffusers is the go-to library for state-of-the-art pretrained diffusion models for generating images, audio, and even 3D structures of molecules. This allows us to compare running original Stable Diffusion -(from this `notebook <225-stable-diffusion-text-to-image-with-output.html>`__) and -distilled using LCD. The distillation approach efficiently converts a -pre-trained guided diffusion model into a latent consistency model by +(from this +`notebook `__) +and distilled using LCD. The distillation approach efficiently converts +a pre-trained guided diffusion model into a latent consistency model by solving an augmented PF-ODE. For starting work with LCM, we should instantiate generation pipeline @@ -156,11 +157,7 @@ provide which module should be loaded for initialization using .. code:: ipython3 - skip_conversion = ( - TEXT_ENCODER_OV_PATH.exists() - and UNET_OV_PATH.exists() - and VAE_DECODER_OV_PATH.exists() - ) + skip_conversion = TEXT_ENCODER_OV_PATH.exists() and UNET_OV_PATH.exists() and VAE_DECODER_OV_PATH.exists() ( scheduler, @@ -548,7 +545,6 @@ decoded by the decoder part of the variational auto encoder. """ if prompt_embeds is None: - text_inputs = self.tokenizer( prompt, padding="max_length", @@ -557,16 +553,10 @@ decoded by the decoder part of the variational auto encoder. return_tensors="pt", ) text_input_ids = text_inputs.input_ids - untruncated_ids = self.tokenizer( - prompt, padding="longest", return_tensors="pt" - ).input_ids + untruncated_ids = self.tokenizer(prompt, padding="longest", return_tensors="pt").input_ids - if untruncated_ids.shape[-1] >= text_input_ids.shape[ - -1 - ] and not torch.equal(text_input_ids, untruncated_ids): - removed_text = self.tokenizer.batch_decode( - untruncated_ids[:, self.tokenizer.model_max_length - 1 : -1] - ) + if untruncated_ids.shape[-1] >= text_input_ids.shape[-1] and not torch.equal(text_input_ids, untruncated_ids): + removed_text = self.tokenizer.batch_decode(untruncated_ids[:, self.tokenizer.model_max_length - 1 : -1]) logger.warning( "The following part of your input was truncated because CLIP can only handle sequences up to" f" {self.tokenizer.model_max_length} tokens: {removed_text}" @@ -578,9 +568,7 @@ decoded by the decoder part of the variational auto encoder. bs_embed, seq_len, _ = prompt_embeds.shape # duplicate text embeddings for each generation per prompt prompt_embeds = prompt_embeds.repeat(1, num_images_per_prompt, 1) - prompt_embeds = prompt_embeds.view( - bs_embed * num_images_per_prompt, seq_len, -1 - ) + prompt_embeds = prompt_embeds.view(bs_embed * num_images_per_prompt, seq_len, -1) # Don't need to get uncond prompt embedding because of LCM Guided Distillation return prompt_embeds @@ -590,22 +578,14 @@ decoded by the decoder part of the variational auto encoder. has_nsfw_concept = None else: if torch.is_tensor(image): - feature_extractor_input = self.image_processor.postprocess( - image, output_type="pil" - ) + feature_extractor_input = self.image_processor.postprocess(image, output_type="pil") else: feature_extractor_input = self.image_processor.numpy_to_pil(image) - safety_checker_input = self.feature_extractor( - feature_extractor_input, return_tensors="pt" - ) - image, has_nsfw_concept = self.safety_checker( - images=image, clip_input=safety_checker_input.pixel_values.to(dtype) - ) + safety_checker_input = self.feature_extractor(feature_extractor_input, return_tensors="pt") + image, has_nsfw_concept = self.safety_checker(images=image, clip_input=safety_checker_input.pixel_values.to(dtype)) return image, has_nsfw_concept - def prepare_latents( - self, batch_size, num_channels_latents, height, width, dtype, latents=None - ): + def prepare_latents(self, batch_size, num_channels_latents, height, width, dtype, latents=None): shape = ( batch_size, num_channels_latents, @@ -657,7 +637,6 @@ decoded by the decoder part of the variational auto encoder. return_dict: bool = True, cross_attention_kwargs: Optional[Dict[str, Any]] = None, ): - # 1. Define call parameters if prompt is not None and isinstance(prompt, str): batch_size = 1 @@ -700,23 +679,22 @@ decoded by the decoder part of the variational auto encoder. # 6. LCM MultiStep Sampling Loop: with self.progress_bar(total=num_inference_steps) as progress_bar: for i, t in enumerate(timesteps): - ts = torch.full((bs,), t, dtype=torch.long) # model prediction (v-prediction, eps, x) - model_pred = self.unet([latents, ts, prompt_embeds, w_embedding], share_inputs=True, share_outputs=True)[0] + model_pred = self.unet( + [latents, ts, prompt_embeds, w_embedding], + share_inputs=True, + share_outputs=True, + )[0] # compute the previous noisy sample x_t -> x_t-1 - latents, denoised = self.scheduler.step( - torch.from_numpy(model_pred), t, latents, return_dict=False - ) + latents, denoised = self.scheduler.step(torch.from_numpy(model_pred), t, latents, return_dict=False) progress_bar.update() if not output_type == "latent": image = torch.from_numpy(self.vae_decoder(denoised / 0.18215, share_inputs=True, share_outputs=True)[0]) - image, has_nsfw_concept = self.run_safety_checker( - image, prompt_embeds.dtype - ) + image, has_nsfw_concept = self.run_safety_checker(image, prompt_embeds.dtype) else: image = denoised has_nsfw_concept = None @@ -726,16 +704,12 @@ decoded by the decoder part of the variational auto encoder. else: do_denormalize = [not has_nsfw for has_nsfw in has_nsfw_concept] - image = self.image_processor.postprocess( - image, output_type=output_type, do_denormalize=do_denormalize - ) + image = self.image_processor.postprocess(image, output_type=output_type, do_denormalize=do_denormalize) if not return_dict: return (image, has_nsfw_concept) - return StableDiffusionPipelineOutput( - images=image, nsfw_content_detected=has_nsfw_concept - ) + return StableDiffusionPipelineOutput(images=image, nsfw_content_detected=has_nsfw_concept) Configure Inference Pipeline ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -836,7 +810,7 @@ Now, let’s see model in action -.. image:: 263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_21_0.png +.. image:: latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_21_0.png @@ -875,7 +849,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -895,14 +869,18 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") - int8_pipe = None if to_quantize.value and "GPU" in device.value: to_quantize.value = False + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension Prepare calibration dataset @@ -1151,7 +1129,7 @@ data. -.. image:: 263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_34_1.png +.. image:: latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_34_1.png Compare inference time of the FP16 and INT8 models @@ -1270,6 +1248,7 @@ Interactive demo MAX_IMAGE_SIZE = 768 + def generate( pipeline: OVLatentConsistencyModelPipeline, prompt: str, @@ -1296,6 +1275,7 @@ Interactive demo ).images[0] return result, seed + generate_original = partial(generate, ov_pipe) generate_optimized = partial(generate, int8_pipe) quantized_model_present = int8_pipe is not None @@ -1312,16 +1292,21 @@ Interactive demo ) with gr.Row(): with gr.Column(): - result = gr.Image(label="Result (Original)" if quantized_model_present else "Image", type="pil") + result = gr.Image( + label="Result (Original)" if quantized_model_present else "Image", + type="pil", + ) run_button = gr.Button("Run") with gr.Column(visible=quantized_model_present): - result_optimized = gr.Image(label="Result (Optimized)", type="pil", visible=quantized_model_present) + result_optimized = gr.Image( + label="Result (Optimized)", + type="pil", + visible=quantized_model_present, + ) run_quantized_button = gr.Button(value="Run quantized", visible=quantized_model_present) with gr.Accordion("Advanced options", open=False): - seed = gr.Slider( - label="Seed", minimum=0, maximum=MAX_SEED, step=1, value=0, randomize=True - ) + seed = gr.Slider(label="Seed", minimum=0, maximum=MAX_SEED, step=1, value=0, randomize=True) randomize_seed = gr.Checkbox(label="Randomize seed across runs", value=True) with gr.Row(): width = gr.Slider( diff --git a/docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_21_0.jpg b/docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_21_0.jpg similarity index 100% rename from docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_21_0.jpg rename to docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_21_0.jpg diff --git a/docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_21_0.png b/docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_21_0.png similarity index 100% rename from docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_21_0.png rename to docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_21_0.png diff --git a/docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_34_1.jpg b/docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_34_1.jpg similarity index 100% rename from docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_34_1.jpg rename to docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_34_1.jpg diff --git a/docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_34_1.png b/docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_34_1.png similarity index 100% rename from docs/notebooks/263-latent-consistency-models-image-generation-with-output_files/263-latent-consistency-models-image-generation-with-output_34_1.png rename to docs/notebooks/latent-consistency-models-image-generation-with-output_files/latent-consistency-models-image-generation-with-output_34_1.png diff --git a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output.rst b/docs/notebooks/latent-consistency-models-optimum-demo-with-output.rst similarity index 76% rename from docs/notebooks/263-latent-consistency-models-optimum-demo-with-output.rst rename to docs/notebooks/latent-consistency-models-optimum-demo-with-output.rst index c6acc725570..7f0e13ffd06 100644 --- a/docs/notebooks/263-latent-consistency-models-optimum-demo-with-output.rst +++ b/docs/notebooks/latent-consistency-models-optimum-demo-with-output.rst @@ -50,34 +50,19 @@ Install required packages %pip install -q "openvino>=2023.3.0" %pip install -q "onnx>=1.11.0" - %pip install -q "optimum-intel[diffusers]@git+https://github.com/huggingface/optimum-intel.git" "ipywidgets" "transformers>=4.33.0" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "optimum-intel[diffusers]@git+https://github.com/huggingface/optimum-intel.git" "ipywidgets" "torch>=2.1" "transformers>=4.33.0" --extra-index-url https://download.pytorch.org/whl/cpu -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -86,7 +71,8 @@ Install required packages .. code:: ipython3 import warnings - warnings.filterwarnings('ignore') + + warnings.filterwarnings("ignore") Showing Info Available Devices ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -110,6 +96,7 @@ this .. code:: ipython3 import openvino as ov + core = ov.Core() devices = core.available_devices @@ -118,7 +105,6 @@ this print(f"{device}: {device_name}") - .. parsed-literal:: CPU: Intel(R) Core(TM) i9-10920X CPU @ 3.50GHz @@ -141,17 +127,16 @@ https://huggingface.co/docs/diffusers/en/api/pipelines/latent_consistency_models pipeline = LatentConsistencyModelPipeline.from_pretrained("SimianLuo/LCM_Dreamshaper_v7") - .. parsed-literal:: - 2024-03-13 00:06:35.851024: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:06:35.885328: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:04:08.916564: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:04:08.953118: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:06:36.470803: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:04:09.550802: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT @@ -164,9 +149,7 @@ https://huggingface.co/docs/diffusers/en/api/pipelines/latent_consistency_models prompt = "A cute squirrel in the forest, portrait, 8k" - image = pipeline( - prompt=prompt, num_inference_steps=4, guidance_scale=8.0 - ).images[0] + image = pipeline(prompt=prompt, num_inference_steps=4, guidance_scale=8.0).images[0] image.save("image_standard_pipeline.png") image @@ -179,7 +162,7 @@ https://huggingface.co/docs/diffusers/en/api/pipelines/latent_consistency_models -.. image:: 263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_8_1.png +.. image:: latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_8_1.png @@ -199,8 +182,8 @@ Select inference device for text-to-image generation device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -240,11 +223,6 @@ and there is no need to do it manually ov_pipeline.save_pretrained("./openvino_ir") -.. parsed-literal:: - - OpenVINO Tokenizer version is not compatible with OpenVINO version. Installed OpenVINO version: 2024.0.0,OpenVINO Tokenizers requires . OpenVINO Tokenizers models will not be added during export. - - .. parsed-literal:: INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino @@ -257,7 +235,7 @@ and there is no need to do it manually .. parsed-literal:: - Keyword arguments {'subfolder': '', 'use_auth_token': None, 'trust_remote_code': False} are not expected by StableDiffusionPipeline and will be ignored. + Keyword arguments {'subfolder': '', 'trust_remote_code': False} are not expected by StableDiffusionPipeline and will be ignored. @@ -268,7 +246,7 @@ and there is no need to do it manually .. parsed-literal:: - Using framework PyTorch: 2.2.1+cpu + Using framework PyTorch: 2.2.2+cpu .. parsed-literal:: @@ -283,17 +261,17 @@ and there is no need to do it manually .. parsed-literal:: - Using framework PyTorch: 2.2.1+cpu + Using framework PyTorch: 2.2.2+cpu .. parsed-literal:: - Using framework PyTorch: 2.2.1+cpu + Using framework PyTorch: 2.2.2+cpu .. parsed-literal:: - Using framework PyTorch: 2.2.1+cpu + Using framework PyTorch: 2.2.2+cpu .. code:: ipython3 @@ -314,12 +292,12 @@ and there is no need to do it manually .. parsed-literal:: - Compiling the text_encoder to CPU ... + Compiling the vae_encoder to CPU ... .. parsed-literal:: - Compiling the vae_encoder to CPU ... + Compiling the text_encoder to CPU ... .. code:: ipython3 @@ -339,7 +317,7 @@ and there is no need to do it manually -.. image:: 263-latent-consistency-models-optimum-demo-with-output_files/263-latent-consistency-models-optimum-demo-with-output_15_1.png +.. image:: latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_15_1.png diff --git a/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_15_1.jpg b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_15_1.jpg new file mode 100644 index 00000000000..46a6211f019 --- /dev/null +++ b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_15_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:978131b23cda8ee5f97efcd3c11e8853158abb75b93be87c596b70987c0abab4 +size 77604 diff --git a/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_15_1.png b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_15_1.png new file mode 100644 index 00000000000..cb21646d5ce --- /dev/null +++ b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_15_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:156d18fc303a7c9a92e356d1da39456c34ee8719291cc88cb225e6081c6c8a37 +size 1004233 diff --git a/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_8_1.jpg b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_8_1.jpg new file mode 100644 index 00000000000..96fb046ba7e --- /dev/null +++ b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_8_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b22f2298a9e2ddfd16462395c9d44657c7e8fd719eac2376f2dde5799e18a311 +size 74573 diff --git a/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_8_1.png b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_8_1.png new file mode 100644 index 00000000000..d801259215f --- /dev/null +++ b/docs/notebooks/latent-consistency-models-optimum-demo-with-output_files/latent-consistency-models-optimum-demo-with-output_8_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36c4842ee6b9a0232ddc779aa24e05bcca0dfd9bfa018a4e77c9c990e59b4383 +size 1004628 diff --git a/docs/notebooks/263-lcm-lora-controlnet-with-output.rst b/docs/notebooks/lcm-lora-controlnet-with-output.rst similarity index 89% rename from docs/notebooks/263-lcm-lora-controlnet-with-output.rst rename to docs/notebooks/lcm-lora-controlnet-with-output.rst index 384ed58b961..fb487c6c282 100644 --- a/docs/notebooks/263-lcm-lora-controlnet-with-output.rst +++ b/docs/notebooks/lcm-lora-controlnet-with-output.rst @@ -133,12 +133,12 @@ For more details regarding Stable Diffusion work, refer to the `project website `__. There is a tutorial for Stable Diffusion Text-to-Image generation with OpenVINO, see the following -`notebook <225-stable-diffusion-text-to-image-with-output.html>`__. +`notebook `__. ControlNet ~~~~~~~~~~ -ControlNet is a neural network + ControlNet is a neural network structure to control diffusion models by adding extra conditions. Using this new framework, we can capture a scene, structure, object, or subject pose from an inputted image, and then transfer that quality to @@ -225,7 +225,7 @@ Install required packages .. code:: ipython3 %pip install -q "torch" transformers "diffusers>=0.22.0" "controlnet-aux>=0.0.6" "peft==0.6.2" accelerate --extra-index-url https://download.pytorch.org/whl/cpu - %pip install -q "openvino>=2023.2.0" pillow gradio datasets "nncf>=2.7.0" + %pip install -q "openvino>=2023.2.0" pillow "gradio>=4.19" "datasets>=2.14.6" "nncf>=2.7.0" Prepare PyTorch models @@ -237,12 +237,12 @@ Prepare PyTorch models adapter_id = "latent-consistency/lcm-lora-sdv1-5" stable_diffusion_id = "runwayml/stable-diffusion-v1-5" - TEXT_ENCODER_OV_PATH = Path('model/text_encoder.xml') - UNET_OV_PATH = Path('model/unet_controlnet.xml') - CONTROLNET_OV_PATH = Path('model/controlnet-normalbae.xml') - VAE_DECODER_OV_PATH = Path('model/vae_decoder.xml') - TOKENIZER_PATH = Path('model/tokenizer') - SCHEDULER_PATH = Path('model/scheduler') + TEXT_ENCODER_OV_PATH = Path("model/text_encoder.xml") + UNET_OV_PATH = Path("model/unet_controlnet.xml") + CONTROLNET_OV_PATH = Path("model/controlnet-normalbae.xml") + VAE_DECODER_OV_PATH = Path("model/vae_decoder.xml") + TOKENIZER_PATH = Path("model/tokenizer") + SCHEDULER_PATH = Path("model/scheduler") skip_models = TEXT_ENCODER_OV_PATH.exists() and UNET_OV_PATH.exists() and CONTROLNET_OV_PATH.exists() and VAE_DECODER_OV_PATH.exists() @@ -276,7 +276,7 @@ ControlNet model 3. Load LoRA weights to the pipeline using import gc - def load_original_pytorch_pipeline_components(controlnet_id:str, stable_diffusion_id:str, adapter_id:str): + def load_original_pytorch_pipeline_components(controlnet_id: str, stable_diffusion_id: str, adapter_id: str): """ Helper function for loading Stable Diffusion ControlNet pipeline and applying LCM LoRA @@ -290,7 +290,7 @@ ControlNet model 3. Load LoRA weights to the pipeline using unet: Stable Diffusion U-Net vae: Stable Diffusion Variational Autoencoder (VAE) """ - + # load controlnet model controlnet = ControlNetModel.from_pretrained(controlnet_id) # load stable diffusion pipeline @@ -344,13 +344,15 @@ color-coded image. from controlnet_aux import NormalBaeDetector from diffusers.utils import load_image - from urllib.request import urlretrieve + import requests import matplotlib.pyplot as plt from PIL import Image import numpy as np example_image_url = "https://huggingface.co/lllyasviel/control_v11p_sd15_normalbae/resolve/main/images/input.png" - urlretrieve(example_image_url, "example.png") + r = requests.get(example_image_url) + with open("example.png", "wb") as f: + f.write(r.content) processor = NormalBaeDetector.from_pretrained("lllyasviel/Annotators") @@ -358,10 +360,15 @@ color-coded image. control_image = processor(image) - def visualize_results(orig_img:Image.Image, normal_img:Image.Image, result_img:Image.Image = None, save_fig:bool = False): + def visualize_results( + orig_img: Image.Image, + normal_img: Image.Image, + result_img: Image.Image = None, + save_fig: bool = False, + ): """ Helper function for results visualization - + Parameters: orig_img (Image.Image): original image normal_img (Image.Image): image with bwith surface normal information @@ -377,8 +384,14 @@ color-coded image. is_horizontal = im_h <= im_w figsize = (20, 20) num_images = 3 if result_img is not None else 2 - fig, axs = plt.subplots(num_images if is_horizontal else 1, 1 if is_horizontal else num_images, figsize=figsize, sharex='all', sharey='all') - fig.patch.set_facecolor('white') + fig, axs = plt.subplots( + num_images if is_horizontal else 1, + 1 if is_horizontal else num_images, + figsize=figsize, + sharex="all", + sharey="all", + ) + fig.patch.set_facecolor("white") list_axes = list(axs.flat) for a in list_axes: a.set_xticklabels([]) @@ -389,15 +402,15 @@ color-coded image. list_axes[0].imshow(np.array(orig_img)) list_axes[1].imshow(np.array(normal_img)) list_axes[0].set_title(orig_title, fontsize=15) - list_axes[1].set_title(control_title, fontsize=15) + list_axes[1].set_title(control_title, fontsize=15) if result_img is not None: list_axes[2].imshow(np.array(result_img)) list_axes[2].set_title("Result", fontsize=15) - - fig.subplots_adjust(wspace=0.01 if is_horizontal else 0.00 , hspace=0.01 if is_horizontal else 0.1) + + fig.subplots_adjust(wspace=0.01 if is_horizontal else 0.00, hspace=0.01 if is_horizontal else 0.1) fig.tight_layout() if save_fig: - fig.savefig("result.png", bbox_inches='tight') + fig.savefig("result.png", bbox_inches="tight") return fig @@ -411,7 +424,7 @@ color-coded image. -.. image:: 263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_10_1.png +.. image:: lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_10_1.png Convert models to OpenVINO Intermediate representation (IR) format @@ -459,6 +472,7 @@ blocks, which serves additional context for the UNet model. import openvino as ov from functools import partial + def cleanup_torchscript_cache(): """ Helper for removing cached model representation @@ -487,7 +501,7 @@ blocks, which serves additional context for the UNet model. torch.float32: ov.Type.f32, torch.float64: ov.Type.f64, torch.int32: ov.Type.i32, - torch.int64: ov.Type.i64 + torch.int64: ov.Type.i64, } @@ -512,17 +526,17 @@ blocks, which serves additional context for the UNet model. inputs = { "sample": torch.randn((1, 4, 64, 64)), "timestep": torch.tensor(1, dtype=torch.float32), - "encoder_hidden_states": torch.randn((1,77,768)), - "controlnet_cond": torch.randn((1,3,512,512)) + "encoder_hidden_states": torch.randn((1, 77, 768)), + "controlnet_cond": torch.randn((1, 3, 512, 512)), } # Prepare conditional inputs for U-Net - if not UNET_OV_PATH.exists(): + if not UNET_OV_PATH.exists(): controlnet.eval() with torch.no_grad(): down_block_res_samples, mid_block_res_sample = controlnet(**inputs, return_dict=False) - + if not CONTROLNET_OV_PATH.exists(): input_info = prepare_input_info(inputs) with torch.no_grad(): @@ -531,7 +545,7 @@ blocks, which serves additional context for the UNet model. ov.save_model(ov_model, CONTROLNET_OV_PATH) del ov_model cleanup_torchscript_cache() - print('ControlNet successfully converted to IR') + print("ControlNet successfully converted to IR") else: print(f"ControlNet will be loaded from {CONTROLNET_OV_PATH}") @@ -565,15 +579,16 @@ generated by ControlNet. from typing import Tuple + class UnetWrapper(torch.nn.Module): def __init__( - self, - unet, - sample_dtype=torch.float32, - timestep_dtype=torch.int64, - encoder_hidden_states=torch.float32, - down_block_additional_residuals=torch.float32, - mid_block_additional_residual=torch.float32 + self, + unet, + sample_dtype=torch.float32, + timestep_dtype=torch.int64, + encoder_hidden_states=torch.float32, + down_block_additional_residuals=torch.float32, + mid_block_additional_residual=torch.float32, ): super().__init__() self.unet = unet @@ -584,12 +599,12 @@ generated by ControlNet. self.mid_block_additional_residual_dtype = mid_block_additional_residual def forward( - self, - sample:torch.Tensor, - timestep:torch.Tensor, - encoder_hidden_states:torch.Tensor, - down_block_additional_residuals:Tuple[torch.Tensor], - mid_block_additional_residual:torch.Tensor + self, + sample: torch.Tensor, + timestep: torch.Tensor, + encoder_hidden_states: torch.Tensor, + down_block_additional_residuals: Tuple[torch.Tensor], + mid_block_additional_residual: torch.Tensor, ): sample.to(self.sample_dtype) timestep.to(self.timestep_dtype) @@ -597,15 +612,14 @@ generated by ControlNet. down_block_additional_residuals = [res.to(self.down_block_additional_residuals_dtype) for res in down_block_additional_residuals] mid_block_additional_residual.to(self.mid_block_additional_residual_dtype) return self.unet( - sample, - timestep, - encoder_hidden_states, - down_block_additional_residuals=down_block_additional_residuals, - mid_block_additional_residual=mid_block_additional_residual + sample, + timestep, + encoder_hidden_states, + down_block_additional_residuals=down_block_additional_residuals, + mid_block_additional_residual=mid_block_additional_residual, ) - if not UNET_OV_PATH.exists(): inputs.pop("controlnet_cond", None) inputs["down_block_additional_residuals"] = down_block_res_samples @@ -617,7 +631,7 @@ generated by ControlNet. with torch.no_grad(): ov_model = ov.convert_model(wrapped_unet, example_input=inputs) - + for (input_dtype, input_shape), input_tensor in zip(input_info, ov_model.inputs): input_tensor.get_node().set_partial_shape(ov.PartialShape(input_shape)) input_tensor.get_node().set_element_type(input_dtype) @@ -628,7 +642,7 @@ generated by ControlNet. del wrapped_unet del unet gc.collect() - print('Unet successfully converted to IR') + print("Unet successfully converted to IR") else: del unet print(f"Unet will be loaded from {UNET_OV_PATH}") @@ -668,11 +682,11 @@ hidden states. .. code:: ipython3 - def convert_encoder(text_encoder:torch.nn.Module, ir_path:Path): + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ - Convert Text Encoder model to OpenVINO IR. + Convert Text Encoder model to OpenVINO IR. Function accepts text encoder model, prepares example inputs for conversion, and convert it to OpenVINO Model - Parameters: + Parameters: text_encoder (torch.nn.Module): text_encoder model ir_path (Path): File for storing model Returns: @@ -688,13 +702,13 @@ hidden states. ov_model = ov.convert_model( text_encoder, # model instance example_input=input_ids, # inputs for model tracing - input=([1,77],) + input=([1, 77],), ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('Text Encoder successfully converted to IR') - + print("Text Encoder successfully converted to IR") + if not TEXT_ENCODER_OV_PATH.exists(): convert_encoder(text_encoder, TEXT_ENCODER_OV_PATH) @@ -735,21 +749,22 @@ process are converted back into images using the VAE decoder. During inference, we will see that we **only need the VAE decoder**. You can find instructions on how to convert the encoder part in a stable diffusion -`notebook <225-stable-diffusion-text-to-image-with-output.html>`__. +`notebook `__. .. code:: ipython3 def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model to IR format. - Function accepts pipeline, creates wrapper class for export only necessary for inference part, - prepares example inputs for convert, - Parameters: + Convert VAE model to IR format. + Function accepts pipeline, creates wrapper class for export only necessary for inference part, + prepares example inputs for convert, + Parameters: vae (torch.nn.Module): VAE model ir_path (Path): File for storing model Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -768,7 +783,7 @@ diffusion ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE decoder successfully converted to IR') + print("VAE decoder successfully converted to IR") if not VAE_DECODER_OV_PATH.exists(): @@ -791,8 +806,8 @@ Prepare Inference pipeline We already deeply discussed how the ControlNet-guided pipeline works on example pose-controlled generation in `controlnet -notebook <235-controlnet-stable-diffusion-with-output.html>`__. In our current -example, the pipeline remains without changes. Similarly to Diffusers +notebook <../controlnet-stable-diffusion>`__. In our current example, +the pipeline remains without changes. Similarly to Diffusers ``StableDiffusionControlNetPipeline``, we define our own ``OVControlNetStableDiffusionPipeline`` inference pipeline based on OpenVINO. @@ -805,11 +820,11 @@ OpenVINO. import cv2 - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -823,13 +838,13 @@ OpenVINO. return int(im_scale * image_width), int(im_scale * image_height) - def preprocess(image: Image.Image, dst_height:int = 512, dst_width:int = 512): + def preprocess(image: Image.Image, dst_height: int = 512, dst_width: int = 512): """ Image preprocessing function. Takes image in PIL.Image format, resizes it to keep aspect ration and fits to model input window 512x512, then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (Image.Image): input image dst_width: destination image width @@ -856,7 +871,7 @@ OpenVINO. ): """ Helper function for generation random values tensor with given shape and data type - + Parameters: shape (Union[Tuple, List]): shape for filling random values dtype (torch.dtype, *optiona*, torch.float32): data type for result @@ -871,6 +886,7 @@ OpenVINO. """ OpenVINO inference pipeline for Stable Diffusion with ControlNet guidence """ + def __init__( self, tokenizer: CLIPTokenizer, @@ -880,7 +896,7 @@ OpenVINO. text_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model, - device:str = "AUTO" + device: str = "AUTO", ): super().__init__() self.tokenizer = tokenizer @@ -888,10 +904,18 @@ OpenVINO. self.scheduler = scheduler self.load_models(core, device, controlnet, text_encoder, unet, vae_decoder) - def load_models(self, core: ov.Core, device: str, controlnet:ov.Model, text_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model): + def load_models( + self, + core: ov.Core, + device: str, + controlnet: ov.Model, + text_encoder: ov.Model, + unet: ov.Model, + vae_decoder: ov.Model, + ): """ Function for loading models on device using OpenVINO - + Parameters: core (Core): OpenVINO runtime Core class instance device (str): inference device @@ -913,8 +937,8 @@ OpenVINO. prompt: Union[str, List[str]], image: Image.Image, num_inference_steps: int = 4, - height:int = 512, - width:int = 512, + height: int = 512, + width: int = 512, negative_prompt: Union[str, List[str]] = None, guidance_scale: float = 0.5, controlnet_conditioning_scale: float = 1.0, @@ -951,7 +975,7 @@ OpenVINO. [PIL](https://pillow.readthedocs.io/en/stable/): `Image.Image` or `np.array`. Returns: image ([List[Union[np.ndarray, Image.Image]]): generaited images - + """ # 1. Define call parameters @@ -963,7 +987,11 @@ OpenVINO. # corresponds to doing no classifier free guidance. do_classifier_free_guidance = guidance_scale > 1.0 # 2. Encode input prompt - text_embeddings = self._encode_prompt(prompt, do_classifier_free_guidance=do_classifier_free_guidance, negative_prompt=negative_prompt) + text_embeddings = self._encode_prompt( + prompt, + do_classifier_free_guidance=do_classifier_free_guidance, + negative_prompt=negative_prompt, + ) # 3. Preprocess image orig_width, orig_height = image.size @@ -991,15 +1019,27 @@ OpenVINO. # Expand the latents if we are doing classifier free guidance. # The latents are expanded 3 times because for pix2pix the guidance\ # is applied for both the text and the input image. - latent_model_input = np.concatenate( - [latents] * 2) if do_classifier_free_guidance else latents + latent_model_input = np.concatenate([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) - result = self.controlnet([latent_model_input, t, text_embeddings, image], share_inputs=True, share_outputs=True) + result = self.controlnet( + [latent_model_input, t, text_embeddings, image], + share_inputs=True, + share_outputs=True, + ) down_and_mid_blok_samples = [sample * controlnet_conditioning_scale for _, sample in result.items()] # predict the noise residual - noise_pred = self.unet([latent_model_input, t, text_embeddings, *down_and_mid_blok_samples], share_inputs=True, share_outputs=True)[0] + noise_pred = self.unet( + [ + latent_model_input, + t, + text_embeddings, + *down_and_mid_blok_samples, + ], + share_inputs=True, + share_outputs=True, + )[0] # perform guidance if do_classifier_free_guidance: @@ -1018,12 +1058,17 @@ OpenVINO. image = self.numpy_to_pil(image) image = [img.resize((orig_width, orig_height), Image.Resampling.LANCZOS) for img in image] else: - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. @@ -1052,10 +1097,8 @@ OpenVINO. # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -1089,11 +1132,19 @@ OpenVINO. return text_embeddings - def prepare_latents(self, batch_size:int, num_channels_latents:int, height:int, width:int, dtype:np.dtype = torch.float32, latents:np.ndarray = None): + def prepare_latents( + self, + batch_size: int, + num_channels_latents: int, + height: int, + width: int, + dtype: np.dtype = torch.float32, + latents: np.ndarray = None, + ): """ - Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, + Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, then prepared latents scaled by the standard deviation required by the scheduler - + Parameters: batch_size (int): input batch size num_channels_latents (int): number of channels for noise generation @@ -1104,7 +1155,12 @@ OpenVINO. Returns: latents (np.ndarray): scaled initial noise for diffusion """ - shape = (batch_size, num_channels_latents, height // self.vae_scale_factor, width // self.vae_scale_factor) + shape = ( + batch_size, + num_channels_latents, + height // self.vae_scale_factor, + width // self.vae_scale_factor, + ) if latents is None: latents = randn_tensor(shape, dtype=dtype) else: @@ -1114,10 +1170,10 @@ OpenVINO. latents = latents * self.scheduler.init_noise_sigma return latents - def decode_latents(self, latents:np.array, pad:Tuple[int]): + def decode_latents(self, latents: np.array, pad: Tuple[int]): """ Decode predicted image from latent space using VAE Decoder and unpad image result - + Parameters: latents (np.ndarray): image encoded in diffusion latent space pad (Tuple[int]): each side padding sizes obtained on preprocessing step @@ -1186,8 +1242,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -1204,7 +1260,16 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 - ov_pipe = OVControlNetStableDiffusionPipeline(tokenizer, scheduler, core, CONTROLNET_OV_PATH, TEXT_ENCODER_OV_PATH, UNET_OV_PATH, VAE_DECODER_OV_PATH, device=device.value) + ov_pipe = OVControlNetStableDiffusionPipeline( + tokenizer, + scheduler, + core, + CONTROLNET_OV_PATH, + TEXT_ENCODER_OV_PATH, + UNET_OV_PATH, + VAE_DECODER_OV_PATH, + device=device.value, + ) Running Text-to-Image Generation with ControlNet Conditioning and OpenVINO -------------------------------------------------------------------------- @@ -1257,7 +1322,7 @@ Let’s see model in action -.. image:: 263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_27_2.png +.. image:: lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_27_2.png @@ -1267,7 +1332,7 @@ Let’s see model in action -.. image:: 263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_28_0.png +.. image:: lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_28_0.png Quantization @@ -1304,7 +1369,7 @@ improve model inference speed. is_gpu_device = "GPU" in device.value to_quantize = widgets.Checkbox( value=not is_gpu_device, - description='Quantization', + description="Quantization", disabled=is_gpu_device, ) @@ -1315,8 +1380,11 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipe = None @@ -1505,7 +1573,7 @@ the same input data. -.. image:: 263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_42_1.png +.. image:: lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_42_1.png Compare inference time of the FP16 and INT8 models @@ -1616,6 +1684,7 @@ options for generation: ``Guidance scale``, ``Seed`` and ``Steps``. .. code:: ipython3 import gradio as gr + MAX_SEED = np.iinfo(np.int32).max quantized_model_present = int8_pipe is not None @@ -1626,7 +1695,7 @@ options for generation: ``Guidance scale``, ``Seed`` and ``Steps``. with gr.Column(): inp_img = gr.Image(label="Input image") with gr.Column(visible=True) as step1: - out_normal = gr.Image(label="Normal Map", type='pil', interactive=False) + out_normal = gr.Image(label="Normal Map", type="pil", interactive=False) btn = gr.Button() inp_prompt = gr.Textbox(label="Prompt") inp_neg_prompt = gr.Textbox( @@ -1657,18 +1726,34 @@ options for generation: ``Guidance scale``, ``Seed`` and ``Steps``. def generate(img, prompt, negative_prompt, seed, num_steps, guidance_scale): torch.manual_seed(seed) control_img = extract_normal_map(img) - - result = ov_pipe(prompt, control_img, num_steps, guidance_scale=guidance_scale, negative_prompt=negative_prompt)[0] + + result = ov_pipe( + prompt, + control_img, + num_steps, + guidance_scale=guidance_scale, + negative_prompt=negative_prompt, + )[0] if int8_pipe is not None: torch.manual_seed(seed) - int8_result = int8_pipe(prompt, control_img, num_steps, guidance_scale=guidance_scale, negative_prompt=negative_prompt)[0] + int8_result = int8_pipe( + prompt, + control_img, + num_steps, + guidance_scale=guidance_scale, + negative_prompt=negative_prompt, + )[0] return control_img, result, int8_result return control_img, result output_images = [out_normal, out_result] if quantized_model_present: output_images.append(int_result) - btn.click(generate, [inp_img, inp_prompt, inp_neg_prompt, inp_seed, inp_steps, guidance_scale], output_images) + btn.click( + generate, + [inp_img, inp_prompt, inp_neg_prompt, inp_seed, inp_steps, guidance_scale], + output_images, + ) try: diff --git a/docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_10_1.png b/docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_10_1.png similarity index 100% rename from docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_10_1.png rename to docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_10_1.png diff --git a/docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_27_2.jpg b/docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_27_2.jpg similarity index 100% rename from docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_27_2.jpg rename to docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_27_2.jpg diff --git a/docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_27_2.png b/docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_27_2.png similarity index 100% rename from docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_27_2.png rename to docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_27_2.png diff --git a/docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_28_0.png b/docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_28_0.png similarity index 100% rename from docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_28_0.png rename to docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_28_0.png diff --git a/docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_42_1.png b/docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_42_1.png similarity index 100% rename from docs/notebooks/263-lcm-lora-controlnet-with-output_files/263-lcm-lora-controlnet-with-output_42_1.png rename to docs/notebooks/lcm-lora-controlnet-with-output_files/lcm-lora-controlnet-with-output_42_1.png diff --git a/docs/notebooks/121-legacy-mo-convert-to-openvino-with-output.rst b/docs/notebooks/legacy-mo-convert-to-openvino-with-output.rst similarity index 95% rename from docs/notebooks/121-legacy-mo-convert-to-openvino-with-output.rst rename to docs/notebooks/legacy-mo-convert-to-openvino-with-output.rst index 86231779d58..eaf936419c5 100644 --- a/docs/notebooks/121-legacy-mo-convert-to-openvino-with-output.rst +++ b/docs/notebooks/legacy-mo-convert-to-openvino-with-output.rst @@ -35,7 +35,7 @@ Table of contents: # Required imports. Please execute this cell first. %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu \ - "openvino-dev>=2024.0.0" "requests" "tqdm" "transformers[onnx]>=4.21.1" "torch" "torchvision" + "openvino-dev>=2024.0.0" "requests" "tqdm" "transformers[onnx]>=4.21.1" "torch>=2.1" "torchvision" .. parsed-literal:: @@ -119,7 +119,7 @@ documentation. conversion into IR. The legacy Frontend is Python based and is available for TensorFlow*, ONNX*, MXNet*, Caffe*, and Kaldi* models. - --input_model INPUT_MODEL, -m INPUT_MODEL, -w INPUT_MODEL + --input_model INPUT_MODEL, -w INPUT_MODEL, -m INPUT_MODEL Tensorflow*: a file with a pre-trained model (binary or text .pb file after freezing). Caffe*: a model proto file with model weights. @@ -714,18 +714,12 @@ NLP model from Hugging Face and export it in ONNX format: ONNX_NLP_MODEL_PATH = MODEL_DIRECTORY_PATH / "distilbert.onnx" # download model - hf_model = AutoModelForSequenceClassification.from_pretrained( - "distilbert-base-uncased-finetuned-sst-2-english" - ) + hf_model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english") # initialize tokenizer - tokenizer = AutoTokenizer.from_pretrained( - "distilbert-base-uncased-finetuned-sst-2-english" - ) + tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english") # get model onnx config function for output feature format sequence-classification - model_kind, model_onnx_config = FeaturesManager.check_supported_model_or_raise( - hf_model, feature="sequence-classification" - ) + model_kind, model_onnx_config = FeaturesManager.check_supported_model_or_raise(hf_model, feature="sequence-classification") # fill onnx config based on pytorch model config onnx_config = model_onnx_config(hf_model.config) @@ -741,19 +735,19 @@ NLP model from Hugging Face and export it in ONNX format: .. parsed-literal:: - 2024-03-12 22:51:16.046166: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:51:16.080867: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-17 23:28:06.943236: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 23:28:06.978999: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:51:16.593534: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-17 23:28:07.628516: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py:246: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py:246: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. mask, torch.tensor(torch.finfo(scores.dtype).min) @@ -978,9 +972,7 @@ Convert PyTorch model to ONNX format: else: with warnings.catch_warnings(): warnings.filterwarnings("ignore") - torch.onnx.export( - model=pytorch_model, args=torch.randn(1, 3, 780, 520), f=ONNX_CV_MODEL_PATH - ) + torch.onnx.export(model=pytorch_model, args=torch.randn(1, 3, 780, 520), f=ONNX_CV_MODEL_PATH) print(f"ONNX model exported to {ONNX_CV_MODEL_PATH}") @@ -1022,8 +1014,8 @@ To convert a model to OpenVINO IR, use the following command: .. parsed-literal:: [ SUCCESS ] Generated IR version 11 model. - [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/121-convert-to-openvino/model/distilbert.xml - [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/121-convert-to-openvino/model/distilbert.bin + [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/convert-to-openvino/model/distilbert.xml + [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/convert-to-openvino/model/distilbert.bin .. code:: ipython3 @@ -1122,8 +1114,8 @@ guide =2.1.0" "torchvision" "torchaudio" --index-url https://download.pytorch.org/whl/cpu - %pip install -q "openvino>=2023.2.0" "nncf>=2.7.0" "sentencepiece" "tokenizers>=0.12.1" "transformers>=4.37.2" "gradio" "einops" + %pip install -q "openvino>=2023.2.0" "nncf>=2.7.0" "sentencepiece" "tokenizers>=0.12.1" "transformers>=4.37.2" "gradio>=4.19" "einops" .. parsed-literal:: @@ -179,7 +179,7 @@ instruction. DEFAULT_IMAGE_PATCH_TOKEN, DEFAULT_IM_START_TOKEN, DEFAULT_IM_END_TOKEN, - DEFAULT_IMAGE_TOKEN + DEFAULT_IMAGE_TOKEN, ) mm_use_im_start_end = getattr(config, "mm_use_im_start_end", False) @@ -187,9 +187,7 @@ instruction. if mm_use_im_patch_token: tokenizer.add_tokens([DEFAULT_IMAGE_PATCH_TOKEN], special_tokens=True) if mm_use_im_start_end: - tokenizer.add_tokens( - [DEFAULT_IM_START_TOKEN, DEFAULT_IM_END_TOKEN], special_tokens=True - ) + tokenizer.add_tokens([DEFAULT_IM_START_TOKEN, DEFAULT_IM_END_TOKEN], special_tokens=True) if hasattr(config, "max_sequence_length"): context_len = config.max_sequence_length @@ -264,14 +262,15 @@ on disk using ``ov.save_model``. from typing import Optional, Tuple, List import torch.nn.functional as F - warnings.filterwarnings('ignore') + warnings.filterwarnings("ignore") class ModelWrapper(torch.nn.Module): """ Model wrapper class for export for spliting original forward logic on preparing multimodal data and inference using it. - That allows us to sperate image encoder and token embeddings model from general flow. + That allows us to sperate image encoder and token embeddings model from general flow. """ + def __init__(self, model): super().__init__() self.model = model @@ -300,14 +299,14 @@ on disk using ``ov.save_model``. return (logits, tuple(outputs.past_key_values)) - + def patch_model_forward(model): """ - Helper function for patching model forward for model with past. - It makes model more convinient for export to TorchScript format avoiding limitation + Helper function for patching model forward for model with past. + It makes model more convinient for export to TorchScript format avoiding limitation that list of tensors can not be correctly traced as model input """ - + orig_forward = model.forward @wraps(orig_forward) @@ -317,7 +316,11 @@ on disk using ``ov.save_model``. attention_mask: torch.LongTensor, ): pkv_list = list(past_key_values) - outs = orig_forward(input_ids=input_ids, past_key_values=pkv_list, attention_mask=attention_mask,) + outs = orig_forward( + input_ids=input_ids, + past_key_values=pkv_list, + attention_mask=attention_mask, + ) return outs model.forward = ts_patched_forward @@ -347,13 +350,20 @@ on disk using ``ov.save_model``. torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() torch.jit._state._clear_class_state() - def postprocess_converted_model(ov_model, example_input=None, input_names=None, output_names=None, dynamic_shapes=None): + + def postprocess_converted_model( + ov_model, + example_input=None, + input_names=None, + output_names=None, + dynamic_shapes=None, + ): """ Helper function for appling postprocessing on converted model with updating input names, shapes and output names acording to requested specification """ flatten_example_inputs = flattenize_inputs(example_input) if example_input else [] - + if input_names: for inp_name, m_input, input_data in zip(input_names, ov_model.inputs, flatten_example_inputs): input_node = m_input.get_node() @@ -365,7 +375,7 @@ on disk using ``ov.save_model``. shape[k] = -1 input_node.set_partial_shape(ov.PartialShape(shape)) m_input.get_tensor().set_names({inp_name}) - + if output_names: for out, out_name in zip(ov_model.outputs, output_names): out.get_tensor().set_names({out_name}) @@ -373,9 +383,12 @@ on disk using ``ov.save_model``. return ov_model - def convert_llava_mpt(pt_model: torch.nn.Module, model_path: Path, - image_encoder_wc_parameters: Optional[dict] = None, - llava_wc_parameters: Optional[dict] = None): + def convert_llava_mpt( + pt_model: torch.nn.Module, + model_path: Path, + image_encoder_wc_parameters: Optional[dict] = None, + llava_wc_parameters: Optional[dict] = None, + ): """ LLaVA MPT model conversion function @@ -396,7 +409,9 @@ on disk using ``ov.save_model``. if not image_encoder_path.exists(): model.forward = model.encode_images ov_model = ov.convert_model( - model, example_input=torch.zeros((1, 3, 224, 224)), input=[(-1, 3, 224, 224)] + model, + example_input=torch.zeros((1, 3, 224, 224)), + input=[(-1, 3, 224, 224)], ) if image_encoder_wc_parameters is not None: print("Applying weight compression to image encoder") @@ -409,9 +424,7 @@ on disk using ``ov.save_model``. if not token_embedding_model_path.exists(): model.forward = model.get_model().embed_tokens - ov_model = ov.convert_model( - model, example_input=torch.ones((1, 10), dtype=torch.long) - ) + ov_model = ov.convert_model(model, example_input=torch.ones((1, 10), dtype=torch.long)) ov.save_model(ov_model, token_embedding_model_path) cleanup_torchscript_cache() del ov_model @@ -439,9 +452,7 @@ on disk using ``ov.save_model``. inputs.extend(["attention_mask"]) if not first_stage_model_path.exists(): - ov_model = ov.convert_model( - model_wrap, example_input=example_input_first_stage - ) + ov_model = ov.convert_model(model_wrap, example_input=example_input_first_stage) ov_model = postprocess_converted_model(ov_model, output_names=outputs) if llava_wc_parameters is not None: print("Applying weight compression to first stage LLava model") @@ -450,22 +461,21 @@ on disk using ``ov.save_model``. cleanup_torchscript_cache() del ov_model gc.collect() - if not second_stage_model_path.exists(): model_wrap = patch_model_forward(model_wrap) example_input_second_stage = { "input_ids": torch.ones((1, 1), dtype=torch.long), "past_key_values": outs[1], - "attention_mask": torch.ones((1, outs[1][-1][-1].shape[-2] + 1), dtype=torch.long) + "attention_mask": torch.ones((1, outs[1][-1][-1].shape[-2] + 1), dtype=torch.long), } ov_model = ov.convert_model(model_wrap, example_input=example_input_second_stage) ov_model = postprocess_converted_model( - ov_model, - example_input=example_input_second_stage.values(), - input_names=inputs, - output_names=outputs, - dynamic_shapes=dynamic_shapes + ov_model, + example_input=example_input_second_stage.values(), + input_names=inputs, + output_names=outputs, + dynamic_shapes=dynamic_shapes, ) if llava_wc_parameters is not None: print("Applying weight compression to second stage LLava model") @@ -565,9 +575,9 @@ compression instead of INT8 weight compression. import ipywidgets as widgets compression_mode = widgets.Dropdown( - options=['INT4', 'INT8'], - value='INT4', - description='Compression mode:', + options=["INT4", "INT8"], + value="INT4", + description="Compression mode:", disabled=False, ) @@ -584,7 +594,7 @@ compression instead of INT8 weight compression. .. code:: ipython3 - if compression_mode.value == 'INT4': + if compression_mode.value == "INT4": compressed_model_dir = Path("llava-mpt/INT4_compressed_weights") llava_wc_parameters = dict(mode=nncf.CompressWeightsMode.INT4_ASYM, group_size=128, ratio=0.8) else: @@ -604,9 +614,12 @@ compression instead of INT8 weight compression. model.eval() with torch.no_grad(): - convert_llava_mpt(model, compressed_model_dir, - image_encoder_wc_parameters=dict(mode=nncf.CompressWeightsMode.INT8), - llava_wc_parameters=llava_wc_parameters) + convert_llava_mpt( + model, + compressed_model_dir, + image_encoder_wc_parameters=dict(mode=nncf.CompressWeightsMode.INT8), + llava_wc_parameters=llava_wc_parameters, + ) del model gc.collect(); @@ -804,21 +817,11 @@ documentation CausalLMOutputWithPast: - return self.forward( - input_ids, images, attention_mask, prefix_mask, past_key_values - ) + return self.forward(input_ids, images, attention_mask, prefix_mask, past_key_values) def forward( self, @@ -861,11 +862,7 @@ documentation 0: cur_image_features = image_features[cur_image_idx] image_token_start = image_token_indices[0] - if getattr(self.config, "tune_mm_mlp_adapter", False) and getattr( - self.config, "mm_use_im_start_end", False - ): + if getattr(self.config, "tune_mm_mlp_adapter", False) and getattr(self.config, "mm_use_im_start_end", False): embd = self.token_embed(cur_input_ids[: image_token_start - 1].unsqueeze(0))[0][0] cur_new_input_embeds.append(embd) embd = self.token_embed(cur_input_ids[image_token_start - 1 : image_token_start].unsqueeze(0))[0][0] @@ -941,17 +927,13 @@ documentation 0: - if getattr(self.config, "tune_mm_mlp_adapter", False) and getattr( - self.config, "mm_use_im_start_end", False - ): + if getattr(self.config, "tune_mm_mlp_adapter", False) and getattr(self.config, "mm_use_im_start_end", False): cur_new_input_embeds.append(self.token_embed(cur_input_ids.unsqueeze(0))[0][0]) else: cur_new_input_embeds.append(self.token_embed(cur_input_ids.unsqueeze(0))[0][0]) @@ -979,19 +961,23 @@ documentation Tuple[Tuple[torch.Tensor]]: + def _reorder_cache(self, past_key_values: Tuple[Tuple[torch.Tensor]], beam_idx: torch.Tensor) -> Tuple[Tuple[torch.Tensor]]: """ This function is used to re-order the `past_key_values` cache if [`~PreTrainedModel.beam_search`] or [`~PreTrainedModel.beam_sample`] is called. @@ -1045,10 +1033,7 @@ documentation ' not in text: - text = text + '\n' - text = (text, image, 'Resize') + if "" not in text: + text = text + "\n" + text = (text, image, "Resize") conv.append_message(conv.roles[0], text) conv.append_message(conv.roles[1], None) conv.skip_next = False @@ -1332,13 +1319,14 @@ Interactive demo # Initialize an empty string to store the generated text partial_text = "" for new_text in streamer: - if not new_text: + if not new_text: continue partial_text += new_text conv.messages[-1][-1] = partial_text history[-1][1] = partial_text yield history + with gr.Blocks(title="LLaVA") as demo: gr.Markdown(title_markdown) @@ -1346,16 +1334,42 @@ Interactive demo with gr.Column(): imagebox = gr.Image(type="pil") with gr.Accordion("Parameters", open=False, visible=True) as parameter_row: - temperature = gr.Slider(minimum=0.0, maximum=1.0, value=0.2, step=0.1, interactive=True, label="Temperature",) - top_p = gr.Slider(minimum=0.0, maximum=1.0, value=0.7, step=0.1, interactive=True, label="Top P",) - max_output_tokens = gr.Slider(minimum=0, maximum=1024, value=512, step=64, interactive=True, label="Max output tokens",) + temperature = gr.Slider( + minimum=0.0, + maximum=1.0, + value=0.2, + step=0.1, + interactive=True, + label="Temperature", + ) + top_p = gr.Slider( + minimum=0.0, + maximum=1.0, + value=0.7, + step=0.1, + interactive=True, + label="Top P", + ) + max_output_tokens = gr.Slider( + minimum=0, + maximum=1024, + value=512, + step=64, + interactive=True, + label="Max output tokens", + ) with gr.Column(scale=3): with gr.Column(scale=6): chatbot = gr.Chatbot(height=400) with gr.Row(): with gr.Column(scale=8): - textbox = gr.Textbox(show_label=False, placeholder="Enter text and press ENTER", visible=True, container=False) + textbox = gr.Textbox( + show_label=False, + placeholder="Enter text and press ENTER", + visible=True, + container=False, + ) with gr.Column(scale=1, min_width=60): submit_btn = gr.Button(value="Submit", visible=True) with gr.Row(visible=True) as button_row: @@ -1363,14 +1377,16 @@ Interactive demo gr.Markdown(tos_markdown) - submit_event = textbox.submit( fn=user, inputs=[textbox, chatbot], outputs=[textbox, chatbot], queue=False, ).then( - bot, [imagebox, chatbot, temperature, top_p, max_output_tokens], chatbot, queue=True + bot, + [imagebox, chatbot, temperature, top_p, max_output_tokens], + chatbot, + queue=True, ) # Register listeners clear_btn.click(clear_history, [textbox, imagebox, chatbot], [chatbot, textbox, imagebox]) @@ -1379,7 +1395,12 @@ Interactive demo inputs=[textbox, chatbot], outputs=[textbox, chatbot], queue=False, - ).then(bot, [imagebox, chatbot, temperature, top_p, max_output_tokens], chatbot, queue=True) + ).then( + bot, + [imagebox, chatbot, temperature, top_p, max_output_tokens], + chatbot, + queue=True, + ) # if you are launching remotely, specify server_name and server_port # demo.launch(server_name='your server name', server_port='server port in int') diff --git a/docs/notebooks/257-llava-multimodal-chatbot-with-output_files/257-llava-multimodal-chatbot-with-output_20_1.jpg b/docs/notebooks/llava-multimodal-chatbot-with-output_files/llava-multimodal-chatbot-with-output_20_1.jpg similarity index 100% rename from docs/notebooks/257-llava-multimodal-chatbot-with-output_files/257-llava-multimodal-chatbot-with-output_20_1.jpg rename to docs/notebooks/llava-multimodal-chatbot-with-output_files/llava-multimodal-chatbot-with-output_20_1.jpg diff --git a/docs/notebooks/257-llava-multimodal-chatbot-with-output_files/257-llava-multimodal-chatbot-with-output_20_1.png b/docs/notebooks/llava-multimodal-chatbot-with-output_files/llava-multimodal-chatbot-with-output_20_1.png similarity index 100% rename from docs/notebooks/257-llava-multimodal-chatbot-with-output_files/257-llava-multimodal-chatbot-with-output_20_1.png rename to docs/notebooks/llava-multimodal-chatbot-with-output_files/llava-multimodal-chatbot-with-output_20_1.png diff --git a/docs/notebooks/llava-next-multimodal-chatbot-with-output.rst b/docs/notebooks/llava-next-multimodal-chatbot-with-output.rst new file mode 100644 index 00000000000..510cc121ce8 --- /dev/null +++ b/docs/notebooks/llava-next-multimodal-chatbot-with-output.rst @@ -0,0 +1,1372 @@ +Visual-language assistant with LLaVA Next and OpenVINO +====================================================== + +`LLaVA-NeXT `__ +is new generation of LLaVA model family that marks breakthrough in +advanced language reasoning over images, introducing improved OCR and +expanded world knowledge. `LLaVA `__ (Large +Language and Vision Assistant) is large multimodal model that aims to +develop a general-purpose visual assistant that can follow both language +and image instructions to complete various real-world tasks. The idea is +to combine the power of large language models (LLMs) with vision +encoders like CLIP to create an end-to-end trained neural assistant that +understands and acts upon multimodal instructions. + +In this tutorial we consider how to convert and optimize LLaVA-NeXT +model from Transformers library for creating multimodal chatbot. We will +utilize the power of +`llava-v1.6-mistral-7b `__ +model for creating multimodal chatbot, but the similar actions are also +applicable to other models of LLaVA family compatible with HuggingFace +transformers implementation. Additionally, we demonstrate how to apply +stateful transformation on LLM part and model optimization techniques +like weights compression and quantization using +`NNCF `__ + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Download PyTorch model <#download-pytorch-model>`__ +- `Convert model to OpenVINO Intermediate + Representation <#convert-model-to-openvino-intermediate-representation>`__ + + - `Image Encoder <#image-encoder>`__ + - `Text Embedding <#text-embedding>`__ + - `Language Model <#language-model>`__ + +- `Compress Language Model Weights to 4 + bits <#compress-language-model-weights-to-4-bits>`__ +- `Quantize Image Encoder to 8 + bits <#quantize-image-encoder-to-8-bits>`__ + + - `Prepare datasets <#prepare-datasets>`__ + - `Perform quantization <#perform-quantization>`__ + +- `Prepare model inference + pipeline <#prepare-model-inference-pipeline>`__ +- `Run OpenVINO model inference <#run-openvino-model-inference>`__ + + - `Select device <#select-device>`__ + +- `Interactive demo <#interactive-demo>`__ + +Prerequisites +------------- + + + +.. code:: ipython3 + + %pip install -q "openvino>=2024.0.0" "nncf>=2.9.0" "torch>=2.1" "transformers>=4.39.1" "accelerate" "pillow" "gradio>=4.26" "datasets>=2.14.6" "tqdm" --extra-index-url https://download.pytorch.org/whl/cpu + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. code:: ipython3 + + from pathlib import Path + + MODEL_DIR = Path("model") + IMAGE_ENCODER_PATH = MODEL_DIR / "image_encoder.xml" + INPUT_EMBEDDING_PATH = MODEL_DIR / "input_embeddings.xml" + LANGUAGE_MODEL_PATH = MODEL_DIR / "language_model.xml" + + requires_pt_model_loading = not all([p.exists() for p in [IMAGE_ENCODER_PATH, INPUT_EMBEDDING_PATH, LANGUAGE_MODEL_PATH]]) + +Download PyTorch model +---------------------- + + + +.. code:: ipython3 + + from transformers import LlavaNextProcessor, LlavaNextForConditionalGeneration + import torch + import gc + + processor = LlavaNextProcessor.from_pretrained("llava-hf/llava-v1.6-mistral-7b-hf") + image_encoder_model, input_embedding_model, language_model = None, None, None + + + class ImageEncoder(torch.nn.Module): + def __init__(self, config, vision_tower, multi_modal_projector): + super().__init__() + self.config = config + self.vision_tower = vision_tower + self.multi_modal_projector = multi_modal_projector + + def forward(self, pixel_values): + batch_size, num_patches, num_channels, height, width = pixel_values.shape + reshaped_pixel_values = pixel_values.view(batch_size * num_patches, num_channels, height, width) + image_features = self.vision_tower(reshaped_pixel_values, output_hidden_states=True) + selected_image_feature = image_features.hidden_states[self.config.vision_feature_layer] + if self.config.vision_feature_select_strategy == "default": + selected_image_feature = selected_image_feature[:, 1:] + elif self.config.vision_feature_select_strategy == "full": + selected_image_feature = selected_image_feature + image_features = self.multi_modal_projector(selected_image_feature) + return image_features + + + if requires_pt_model_loading: + model = LlavaNextForConditionalGeneration.from_pretrained("llava-hf/llava-v1.6-mistral-7b-hf", low_cpu_mem_usage=True) + model.config.save_pretrained(MODEL_DIR) + image_encoder_model = ImageEncoder(model.config, model.vision_tower, model.multi_modal_projector) + input_embedding_model = input_embedding_model = model.get_input_embeddings() + language_model = model.language_model + del model + gc.collect() + + +.. parsed-literal:: + + 2024-04-04 12:27:23.875042: I tensorflow/core/util/port.cc:111] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-04 12:27:23.877406: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-04-04 12:27:23.907479: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered + 2024-04-04 12:27:23.907505: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered + 2024-04-04 12:27:23.907525: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered + 2024-04-04 12:27:23.913713: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-04-04 12:27:23.914384: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. + 2024-04-04 12:27:24.847675: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained. + + +OpenVINO## Convert model to OpenVINO Intermediate Representation + + +OpenVINO supports PyTorch models via conversion to OpenVINO Intermediate +Representation (IR). `OpenVINO model conversion +API `__ +should be used for these purposes. ``ov.convert_model`` function accepts +original PyTorch model instance and example input for tracing and +returns ``ov.Model`` representing this model in OpenVINO framework. +Converted model can be used for saving on disk using ``ov.save_model`` +function or directly loading on device using ``core.complie_model``. + +LLaVA-NeXT is autoregressive transformer generative model, it means that +each next model step depends from model output from previous step. The +generation approach is based on the assumption that the probability +distribution of a word sequence can be decomposed into the product of +conditional next word distributions. In other words, model predicts the +next token in the loop guided by previously generated tokens until the +stop-condition will be not reached (generated sequence of maximum length +or end of string token obtained). The way the next token will be +selected over predicted probabilities is driven by the selected decoding +methodology. You can find more information about the most popular +decoding methods in this +`blog `__. The entry point +for the generation process for models from the Hugging Face Transformers +library is the ``generate`` method. You can find more information about +its parameters and configuration in the +`documentation `__. +To preserve flexibility in the selection decoding methodology, we will +convert only model inference for one step. + +The inference flow has difference on first step and for the next. On the +first step, model accept preprocessed input instruction and image, that +transformed to the unified embedding space using ``input_embedding`` and +``image_encoder`` models, after that ``language model``, LLM-based part +of model, runs on input embeddings to predict probability of next +generated tokens. On the next step, ``language_model`` accepts only next +token id selected based on sampling strategy and processed by +``input_embedding`` model and cached attention key and values. Since the +output side is auto-regressive, an output token hidden state remains the +same once computed for every further generation step. Therefore, +recomputing it every time you want to generate a new token seems +wasteful. With the cache, the model saves the hidden state once it has +been computed. The model only computes the one for the most recently +generated output token at each time step, re-using the saved ones for +hidden tokens. This reduces the generation complexity from +:math:`O(n^3)` to :math:`O(n^2)` for a transformer model. More details +about how it works can be found in this +`article `__. + +To sum up above, model consists of 3 parts: + +- **Image Encoder** for encoding input images into embedding space +- **Input Embedding** for conversion input text tokens into embedding + space +- **Language Model** for generation answer based on input embeddings + provided by Image Encoder and Input Embedding models. + +Let’s convert each model part. + +Image Encoder +~~~~~~~~~~~~~ + + + +Image Encoder is represented in LLaVA by pretrained CLIP model. + +.. code:: ipython3 + + import torch + import openvino as ov + import gc + + + def cleanup_torchscript_cache(): + """ + Helper for removing cached model representation + """ + torch._C._jit_clear_class_registry() + torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() + torch.jit._state._clear_class_state() + + + if not IMAGE_ENCODER_PATH.exists(): + ov_image_encoder = ov.convert_model(image_encoder_model, example_input=torch.zeros((1, 5, 3, 336, 336))) + ov.save_model(ov_image_encoder, IMAGE_ENCODER_PATH) + del ov_image_encoder + cleanup_torchscript_cache() + + del image_encoder_model + gc.collect(); + +Text Embedding +~~~~~~~~~~~~~~ + + + +In LLMs, input embedding is a part of language model, but for LLaVA the +first step hidden state produced by this model part should be integrated +with image embeddings into common embedding space. For ability to reuse +this model part and avoid introduction of llm model instance, we will +use it separately. + +.. code:: ipython3 + + llm_input = None + + if not LANGUAGE_MODEL_PATH.exists(): + llm_input = input_embedding_model(torch.ones((2, 2), dtype=torch.int64)) + + if not INPUT_EMBEDDING_PATH.exists(): + ov_input_embeddings_model = ov.convert_model(input_embedding_model, example_input=torch.ones((2, 2), dtype=torch.int64)) + ov.save_model(ov_input_embeddings_model, INPUT_EMBEDDING_PATH) + del ov_input_embeddings_model + cleanup_torchscript_cache() + + del input_embedding_model + gc.collect(); + +Language Model +~~~~~~~~~~~~~~ + + + +Language Model is responsible for generation answer in LLaVA. This part +is very similar to standard LLM for text generation. Our model uses +`mistralai/Mistral-7B-Instruct-v0.2 `__ +as base LLM. To optimize the generation process and use memory more +efficiently, HuggingFace transformers API provides a mechanism for +caching model state externally using ``use_cache=True`` parameter and +``past_key_values`` argument in inputs and outputs. With the cache, the +model saves the hidden state once it has been computed. The model only +computes the one for the most recently generated output token at each +time step, re-using the saved ones for hidden tokens. This reduces the +generation complexity from :math:`O(n^3)` to :math:`O(n^2)` for a +transformer model. With this option, the model gets the previous step’s +hidden states (cached attention keys and values) as input and +additionally provides hidden states for the current step as output. It +means for all next iterations, it is enough to provide only a new token +obtained from the previous step and cached key values to get the next +token prediction. + +With increasing model size like in modern LLMs, we also can note an +increase in the number of attention blocks and size past key values +tensors respectively. The strategy for handling cache state as model +inputs and outputs in the inference cycle may become a bottleneck for +memory-bounded systems, especially with processing long input sequences, +for example in a chatbot scenario. OpenVINO suggests a transformation +that removes inputs and corresponding outputs with cache tensors from +the model keeping cache handling logic inside the model. Such models are +also called stateful. A stateful model is a model that implicitly +preserves data between two consecutive inference calls. The tensors +saved from one run are kept in an internal memory buffer called a +``state`` or a ``variable`` and may be passed to the next run, while +never being exposed as model output. Hiding the cache enables storing +and updating the cache values in a more device-friendly representation. +It helps to reduce memory consumption and additionally optimize model +performance. More details about stateful models and working with state +can be found in `OpenVINO +documentation `__. + +.. code:: ipython3 + + from typing import Optional, Tuple, List + from openvino.runtime import opset13 + import numpy as np + + + def model_has_state(ov_model: ov.Model): + # TODO: Provide a better way based on the variables availability, but OV Python API doesn't expose required methods + return len(ov_model.get_sinks()) > 0 + + + def model_has_input_output_name(ov_model: ov.Model, name: str): + """ + Helper function for checking that model has specified input or output name + + Parameters: + ov_model (ov.Model): # TODO: Can we derive the dimensions from the model topology? + name (str): + name of input or output + + Returns: + True if input or output with requested name exists else False + """ + return name in sum([list(t.get_names()) for t in ov_model.inputs + ov_model.outputs], []) + + + def fuse_cache_reorder( + ov_model: ov.Model, + not_kv_inputs: List[str], + key_value_input_names: List[str], + gather_dim: int, + ): + """ + Fuses reored_cache during generate cycle into ov.Model. Used with stateful models, because we can not modify model state directly. + + Adds a new beam_idx parameter and Gather op per each kv-cache input in a given model. + Should be run before make_stateful. Implements optimumum's _reorder_cache + inside the model in the beginning of each iteration. + Gather works along given gather_dim dimension that may vary from model to model. + KV-cache inputs are identified based on names in key_value_input_names. + Append the new beam_idx parameter to not_kv_inputs. + + Parameters: + ov_model (`ov.Model`): + openvino model for processing + not_kv_inputs (`List[str]`): + list of input nodes in model that not related to past key values + key_value_input_names (`List[str]`): + list of names for key value input layers + gather_dim (int): + dimension for gathering cache during reorder pass + """ + + if model_has_input_output_name(ov_model, "beam_idx"): + raise ValueError("Model already has fused cache") + input_batch = ov_model.input("inputs_embeds").get_partial_shape()[0] + beam_idx = opset13.parameter(name="beam_idx", dtype=ov.Type.i32, shape=ov.PartialShape([input_batch])) + beam_idx.output(0).get_tensor().add_names({"beam_idx"}) # why list is not accepted? + ov_model.add_parameters([beam_idx]) + not_kv_inputs.append(ov_model.inputs[-1]) + # Go over all cache parameters and fuse _reorder_cache with indices provided by the new parameter beam_idx + for input_name in key_value_input_names: + parameter_output_port = ov_model.input(input_name) + consumers = parameter_output_port.get_target_inputs() + gather = opset13.gather(parameter_output_port, beam_idx, opset13.constant(gather_dim)) + for consumer in consumers: + consumer.replace_source_output(gather.output(0)) + ov_model.validate_nodes_and_infer_types() + + + def build_state_initializer(ov_model: ov.Model, batch_dim: int): + """ + Build initialization ShapeOf Expression for all ReadValue ops + + Parameters: + ov_model (ov.Model): + openvino model + batch_dim (int): + index of dimension corresponding to batch size + """ + input_ids = ov_model.input("inputs_embeds") + batch = opset13.gather( + opset13.shape_of(input_ids, output_type="i64"), + opset13.constant([0]), + opset13.constant(0), + ) + for op in ov_model.get_ops(): + if op.get_type_name() == "ReadValue": + dims = [dim.min_length for dim in list(op.get_output_partial_shape(0))] + dims[batch_dim] = batch + dims = [(opset13.constant(np.array([dim], dtype=np.int64)) if isinstance(dim, int) else dim) for dim in dims] + shape = opset13.concat(dims, axis=0) + broadcast = opset13.broadcast(opset13.constant(0.0, dtype=op.get_output_element_type(0)), shape) + op.set_arguments([broadcast]) + ov_model.validate_nodes_and_infer_types() + + + def make_stateful( + ov_model: ov.Model, + not_kv_inputs: List[str], + key_value_input_names: List[str], + key_value_output_names: List[str], + batch_dim: int, + num_attention_heads: int, + num_beams_and_batch: int = None, + ): + """ + Hides kv-cache inputs and outputs inside the model as variables. + + Parameters: + ov_model (ov.Model): + openvino model + not_kv_inputs (`List[str]`): + list of input nodes in model that not related to past key values + key_value_input_names (`List[str]`): + list of names for key value input layers + key_value_output_names (`List[str]`): + list of names for key value input layers + batch_dim (int): + index of batch dimension in key value layers + num_attention_heads (int): + number of attention heads for batch dimension initialization + num_beams_an_batch (int): + precalculated number of beams and batch for shapes initialization + """ + from openvino._offline_transformations import apply_make_stateful_transformation + + input_output_map = {} + + if num_beams_and_batch is not None: + # Set batch size for input_ids and attention mask to avoid dynamic dimension got propagated from the end of the model back to ReadValue + for input in not_kv_inputs: + shape = input.get_partial_shape() + if shape.rank.get_length() <= 2: # == 1 for beam_index + shape[0] = num_beams_and_batch + input.get_node().set_partial_shape(shape) + for kv_name_pair in zip(key_value_input_names, key_value_output_names): + input_output_map[kv_name_pair[0]] = kv_name_pair[1] + if num_beams_and_batch is not None: + input = ov_model.input(kv_name_pair[0]) + shape = input.get_partial_shape() + shape[batch_dim] = num_beams_and_batch * num_attention_heads + input.get_node().set_partial_shape(shape) + + if num_beams_and_batch is not None: + # Re-validation model if shapes are altered above + ov_model.validate_nodes_and_infer_types() + + apply_make_stateful_transformation(ov_model, input_output_map) + if num_beams_and_batch is None: + build_state_initializer(ov_model, batch_dim) + + + def patch_stateful(ov_model): + key_value_input_names = [key.get_any_name() for key in ov_model.inputs[2:-1]] + key_value_output_names = [key.get_any_name() for key in ov_model.outputs[1:]] + not_kv_inputs = [input for input in ov_model.inputs if not any(name in key_value_input_names for name in input.get_names())] + if not key_value_input_names or not key_value_output_names: + return + batch_dim = 0 + num_attention_heads = 1 + + fuse_cache_reorder(ov_model, not_kv_inputs, key_value_input_names, batch_dim) + make_stateful( + ov_model, + not_kv_inputs, + key_value_input_names, + key_value_output_names, + batch_dim, + num_attention_heads, + None, + ) + +.. code:: ipython3 + + make_stateful_model = True + core = ov.Core() + + if not LANGUAGE_MODEL_PATH.exists(): + pkv = language_model(inputs_embeds=llm_input, attention_mask=torch.ones((2, 2), dtype=torch.int64))[1] + model_inputs = ["attention_mask", "position_ids"] + model_outputs = ["logits"] + for idx in range(len(pkv)): + model_inputs.extend([f"past_key_values.{idx}.key", f"past_key_values.{idx}.value"]) + model_outputs.extend([f"present.{idx}.key", f"present.{idx}.value"]) + model_inputs.append("inputs_embeds") + language_model.config.torchscript = True + position_ids = torch.tensor([[2, 3], [2, 3]]) + ov_model = ov.convert_model( + language_model, + example_input={ + "inputs_embeds": llm_input, + "attention_mask": torch.ones((2, 4)), + "past_key_values": pkv, + "position_ids": position_ids, + }, + ) + + for input, input_name in zip(ov_model.inputs, model_inputs): + input.get_tensor().set_names({input_name}) + + for output, output_name in zip(ov_model.outputs, model_outputs): + output.get_tensor().set_names({output_name}) + if make_stateful_model: + patch_stateful(ov_model) + ov.save_model(ov_model, LANGUAGE_MODEL_PATH) + del ov_model + cleanup_torchscript_cache() + del language_model + gc.collect() + +Compress Language Model Weights to 4 bits +----------------------------------------- + + + +For reducing memory consumption, weights compression optimization can be +applied using `NNCF `__. Weight +compression aims to reduce the memory footprint of a model. It can also +lead to significant performance improvement for large memory-bound +models, such as Large Language Models (LLMs). LLMs and other models, +which require extensive memory to store the weights during inference, +can benefit from weight compression in the following ways: + +- enabling the inference of exceptionally large models that cannot be + accommodated in the memory of the device; + +- improving the inference performance of the models by reducing the + latency of the memory access when computing the operations with + weights, for example, Linear layers. + +`Neural Network Compression Framework +(NNCF) `__ provides 4-bit / +8-bit mixed weight quantization as a compression method primarily +designed to optimize LLMs. The main difference between weights +compression and full model quantization (post-training quantization) is +that activations remain floating-point in the case of weights +compression which leads to a better accuracy. Weight compression for +LLMs provides a solid inference performance improvement which is on par +with the performance of the full model quantization. In addition, weight +compression is data-free and does not require a calibration dataset, +making it easy to use. + +``nncf.compress_weights`` function can be used for performing weights +compression. The function accepts an OpenVINO model and other +compression parameters. Compared to INT8 compression, INT4 compression +improves performance even more, but introduces a minor drop in +prediction quality. + +More details about weights compression, can be found in `OpenVINO +documentation `__. + + **Note:** weights compression process may require additional time and + memory for performing. You can disable it using widget below: + +.. code:: ipython3 + + import ipywidgets as widgets + + to_compress_weights = widgets.Checkbox( + value=True, + description="Weights Compression", + disabled=False, + ) + + to_compress_weights + + + + +.. parsed-literal:: + + Checkbox(value=True, description='Weights Compression') + + + +.. code:: ipython3 + + import nncf + + compression_configuration = { + "mode": nncf.CompressWeightsMode.INT4_SYM, + "group_size": 64, + "ratio": 0.6, + } + + LANGUAGE_MODEL_PATH_INT4 = LANGUAGE_MODEL_PATH.parent / LANGUAGE_MODEL_PATH.name.replace(".xml", "-int4.xml") + if to_compress_weights.value and not LANGUAGE_MODEL_PATH_INT4.exists(): + ov_model = core.read_model(LANGUAGE_MODEL_PATH) + ov_compressed_model = nncf.compress_weights(ov_model, **compression_configuration) + ov.save_model(ov_compressed_model, LANGUAGE_MODEL_PATH_INT4) + del ov_compressed_model + del ov_model + gc.collect() + + +.. parsed-literal:: + + INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino + + +Quantize Image Encoder to 8 bits +-------------------------------- + + + +The goal of this part of tutorial is to demonstrate how to speed up the +image encoder by applying 8-bit post-training quantization from +`NNCF `__ (Neural Network +Compression Framework) and infer quantized model via OpenVINO™ Toolkit. +`NNCF `__ enables +post-training quantization by adding quantization layers into model +graph and then using a subset of the training dataset to initialize the +parameters of these additional quantization layers. Quantized operations +are executed in ``INT8`` instead of ``FP32``/``FP16`` making model +inference faster. The optimization process contains the following steps: + +1. Prepare quantization dataset +2. Quantize the converted OpenVINO model with NNCF. +3. Save quantized model on disk for next usage. + +.. + + **Note:** quantization process may require additional time and memory + for performing. You can disable it using widget below: + +.. code:: ipython3 + + to_quantize = widgets.Checkbox( + value=True, + description="Quantization", + disabled=False, + ) + + to_quantize + + + + +.. parsed-literal:: + + Checkbox(value=True, description='Quantization') + + + +.. code:: ipython3 + + IMAGE_ENCODER_PATH_INT8 = IMAGE_ENCODER_PATH.parent / IMAGE_ENCODER_PATH.name.replace(".xml", "-int4.xml") + + + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) + + %load_ext skip_kernel_extension + +Prepare datasets +~~~~~~~~~~~~~~~~ + + + +The `Conceptual +Captions `__ dataset +consisting of ~3.3M images annotated with captions is used to quantize +model. + +.. code:: ipython3 + + %%skip not $to_quantize.value + + import requests + from io import BytesIO + import numpy as np + from PIL import Image + from requests.packages.urllib3.exceptions import InsecureRequestWarning + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + + + def get_pil_from_url(url): + """ + Downloads and converts an image from a URL to a PIL Image object. + """ + response = requests.get(url, verify=False, timeout=20) + image = Image.open(BytesIO(response.content)) + return image.convert("RGB") + + def collate_fn(example, image_column="image_url"): + """ + Preprocesses an example by loading and transforming image and text data. + Checks if the text data in the example is valid by calling the `check_text_data` function. + Downloads the image specified by the URL in the image_column by calling the `get_pil_from_url` function. + If there is any error during the download process, returns None. + Returns the preprocessed inputs with transformed image and text data. + """ + assert len(example) == 1 + example = example[0] + url = example[image_column] + try: + image = get_pil_from_url(url) + h, w = image.size + if h == 1 or w == 1: + return None + except Exception: + return None + + inputs = processor.image_processor(images=[image], return_tensors="pt") + return inputs + +.. code:: ipython3 + + %%skip not $to_quantize.value + + import torch + from datasets import load_dataset + from tqdm.notebook import tqdm + + def prepare_calibration_data(dataloader, init_steps): + """ + This function prepares calibration data from a dataloader for a specified number of initialization steps. + It iterates over the dataloader, fetching batches and storing the relevant data. + """ + data = [] + print(f"Fetching {init_steps} samples for the initialization...") + with tqdm(total=init_steps) as pbar: + for batch in dataloader: + if len(data) == init_steps: + break + if batch: + pbar.update(1) + with torch.no_grad(): + data.append( + { + "pixel_values": batch["pixel_values"].to("cpu") + } + ) + return data + + + def prepare_dataset(opt_init_steps=50, max_train_samples=1000): + """ + Prepares a vision-text dataset for quantization. + """ + dataset = load_dataset("conceptual_captions") + train_dataset = dataset["train"].shuffle(seed=42) + dataloader = torch.utils.data.DataLoader(train_dataset, collate_fn=collate_fn, batch_size=1) + calibration_data = prepare_calibration_data(dataloader, opt_init_steps) + return calibration_data + +.. code:: ipython3 + + %%skip not $to_quantize.value + + vcalibration_data = [] + if not IMAGE_ENCODER_PATH_INT8.exists(): + calibration_data = prepare_dataset() + +Perform quantization +~~~~~~~~~~~~~~~~~~~~ + + + +Create a quantized model from the pre-trained model. + + **NOTE**: Quantization is time and memory consuming operation. + Running quantization code below may take some time. + +.. code:: ipython3 + + %%skip not $to_quantize.value + + + if not IMAGE_ENCODER_PATH_INT8.exists(): + if len(calibration_data) == 0: + raise RuntimeError( + 'Calibration dataset is empty. Please check internet connection and try to download images manually.' + ) + + ov_model = core.read_model(IMAGE_ENCODER_PATH) + calibration_dataset = nncf.Dataset(calibration_data) + quantized_model = nncf.quantize( + model=ov_model, + calibration_dataset=calibration_dataset, + model_type=nncf.ModelType.TRANSFORMER, + subset_size=len(calibration_data), + # Smooth Quant algorithm reduces activation quantization error; optimal alpha value was obtained through grid search + advanced_parameters=nncf.AdvancedQuantizationParameters(smooth_quant_alpha=0.6) + ) + ov.save_model(quantized_model, IMAGE_ENCODER_PATH_INT8) + del ov_model + del quantized_model + gc.collect() + +Prepare model inference pipeline +-------------------------------- + + + +|image0| + +``OVLlavaForCausalLM`` class provides ease-to-use interface for using +model in generation scenario. It is based on +``transformers.generation.GenerationMixin`` that gives us opportunity to +reuse all reach capabilities for generation implemented in HuggingFace +Transformers library. More details about this interface can be found in +`HuggingFace +documentation `__. + +.. |image0| image:: https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/a562e9de-5b94-4e24-ac52-532019fc92d3 + +.. code:: ipython3 + + import torch + from transformers.generation import GenerationConfig, GenerationMixin + from transformers.modeling_outputs import CausalLMOutputWithPast + from transformers import AutoConfig + from transformers.models.llava_next.modeling_llava_next import ( + get_anyres_image_grid_shape, + unpad_image, + ) + import openvino as ov + + + class OVLlavaForCausalLM(GenerationMixin): + def __init__( + self, + core, + image_encoder_path, + input_embedding_path, + language_model_path, + device, + ): + self.image_encoder = core.compile_model(core.read_model(image_encoder_path), device) + self.input_embeddings = core.compile_model(core.read_model(input_embedding_path), device) + self.model = core.read_model(language_model_path) + self.input_names = {key.get_any_name(): idx for idx, key in enumerate(self.model.inputs)} + self.output_names = {idx: key for idx, key in enumerate(self.model.outputs)} + self.key_value_input_names = [key for key in list(self.input_names) if key not in ["beam_idx", "inputs_embeds", "attention_mask", "position_ids"]] + self.key_value_output_names = [key for key in list(self.output_names)[1:]] + self.stateful = len(self.key_value_input_names) == 0 + compiled_model = core.compile_model(self.model, device) + self.request = compiled_model.create_infer_request() + self.config = AutoConfig.from_pretrained(Path(language_model_path).parent) + self.generation_config = GenerationConfig.from_model_config(self.config) + self.main_input_name = "input_ids" + self.device = torch.device("cpu") + self.num_pkv = 2 + self.next_beam_idx = None + self.image_newline = torch.zeros(self.config.text_config.hidden_size, dtype=torch.float32) + self.pad_token_id = self.config.pad_token_id if self.config.pad_token_id is not None else -1 + self.past_len = 0 + + def can_generate(self): + """Returns True to validate the check that the model using `GenerationMixin.generate()` can indeed generate.""" + return True + + def __call__( + self, + input_ids: torch.LongTensor, + pixel_values: torch.Tensor, + attention_mask: Optional[torch.LongTensor] = None, + past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None, + position_ids: Optional[torch.LongTensor] = None, + image_sizes=None, + **kwargs, + ) -> CausalLMOutputWithPast: + return self.forward( + input_ids, + pixel_values, + attention_mask, + past_key_values, + position_ids, + image_sizes, + **kwargs, + ) + + def forward( + self, + input_ids: torch.LongTensor, + pixel_values: torch.Tensor, + attention_mask: Optional[torch.LongTensor] = None, + past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None, + position_ids: Optional[torch.LongTensor] = None, + image_sizes=None, + **kwargs, + ) -> CausalLMOutputWithPast: + """General inference method""" + inputs = {} + if past_key_values is not None: + inputs = {} + if not self.stateful: + past_key_values = tuple(past_key_value for pkv_per_layer in past_key_values for past_key_value in pkv_per_layer) + # Add the past_key_values to the decoder inputs + inputs = dict(zip(self.key_value_input_names, past_key_values)) + # input_ids = np.array(input_ids)[:, -1:] + inputs_embeds = self.input_embeddings(input_ids)[0] + inputs["inputs_embeds"] = inputs_embeds + # inputs["attention_mask"] = attention_mask + if "beam_idx" in self.input_names: + inputs["beam_idx"] = self.next_beam_idx if self.next_beam_idx is not None else np.arange(batch_size, dtype=int) + + if not self.stateful: + first_layer_past_key_value = torch.from_numpy(past_key_values[0][0][:, :, :, 0]) + else: + first_layer_past_key_value = torch.from_numpy(self.request.query_state()[0].state.data[:, :, :, 0]) + + # Sum all dimensions of head_dim (-2) to avoid random errors such as: https://github.com/huggingface/transformers/pull/28032#issuecomment-1863691941 + batch_index, non_attended_tokens = torch.where(first_layer_past_key_value.float().sum(-2) == 0) + + # Get the target length + target_length = input_ids.shape[1] + past_length = first_layer_past_key_value.shape[-1] + + extended_attention_mask = torch.ones( + (attention_mask.shape[0], past_length), + dtype=attention_mask.dtype, + device=attention_mask.device, + ) + + # Filter out only the tokens that can be un-attended, this can happen + # if one uses Llava + Fused modules where the cache on the + # first iteration is already big enough, or if one passes custom cache + valid_indices = non_attended_tokens < extended_attention_mask.size(-1) + new_batch_index = batch_index[valid_indices] + new_non_attended_tokens = non_attended_tokens[valid_indices] + + # Zero-out the places where we don't need to attend + extended_attention_mask[new_batch_index, new_non_attended_tokens] = 0 + + attention_mask = torch.cat((extended_attention_mask, attention_mask[:, -target_length:]), dim=1) + position_ids = torch.sum(attention_mask, dim=1).unsqueeze(-1) - 1 + inputs["attention_mask"] = attention_mask + inputs["position_ids"] = position_ids + + else: + inputs = self.prepare_multimodal_input(input_ids, pixel_values, attention_mask, position_ids, image_sizes) + + # Run inference + self.request.start_async(inputs, share_inputs=True) + self.request.wait() + + logits = torch.from_numpy(self.request.get_tensor(self.output_names[0]).data) + + if not self.stateful: + # Tuple of length equal to : number of layer * number of past_key_value per decoder layer (2 corresponds to the self-attention layer) + past_key_values = tuple(self.request.get_tensor(key).data for key in self.key_value_output_names) + # Tuple of tuple of length `n_layers`, with each tuple of length equal to 2 (k/v of self-attention) + past_key_values = tuple(past_key_values[i : i + self.num_pkv] for i in range(0, len(past_key_values), self.num_pkv)) + else: + past_key_values = ((),) + self.past_len += inputs["inputs_embeds"].shape[1] + return CausalLMOutputWithPast(logits=logits, past_key_values=past_key_values) + + def prepare_multimodal_input(self, input_ids, pixel_values, attention_mask, position_ids, image_sizes=None): + """Preprocessing function for embedding multimodal data""" + inputs = {} + inputs_embeds = torch.from_numpy(self.input_embeddings(input_ids)[0]) + batch_size = input_ids.shape[0] + if not self.stateful: + for input_name in self.key_value_input_names: + model_inputs = self.modeget_anyres_image_grid_shapel.input(input_name) + shape = model_inputs.get_partial_shape() + shape[0] = batch_size + if shape[2].is_dynamic: + shape[2] = 0 + else: + shape[1] = 0 + inputs[input_name] = ov.Tensor(model_inputs.get_element_type(), shape.get_shape()) + else: + self.past_len = 0 + self.request.reset_state() + # Set initial value for the next beam_idx input that will be used at the current iteration + # and will be optionally updated by _reorder_cache at the next iterations if beam_search is used + self.next_beam_idx = np.arange(batch_size, dtype=int) + + if "beam_idx" in self.input_names: + inputs["beam_idx"] = self.next_beam_idx if self.next_beam_idx is not None else np.arange(batch_size, dtype=int) + if pixel_values is None: + inputs["inputs_embeds"] = inputs_embeds + inputs["attention_mask"] = attention_mask + if position_ids is None: + position_ids = torch.cumsum(attention_mask, axis=1) - 1 + position_ids[attention_mask == 0] = 1 + inputs["position_ids"] = position_ids + res = self.image_encoder(pixel_values) + image_features = torch.from_numpy(res[0]) + split_sizes = [image.shape[0] for image in pixel_values] + image_features = torch.split(image_features, split_sizes, dim=0) + + # NOTE we only support multimodal_patch_merge_type == "spatial_unpad" + height = width = self.config.vision_config.image_size // self.config.vision_config.patch_size + + new_image_features = [] + for image_idx, image_feature in enumerate(image_features): + if image_feature.shape[0] > 1: + base_image_feature = image_feature[0] + image_feature = image_feature[1:] + + if height * width != base_image_feature.shape[0]: + raise ValueError("The number of patches is not consistent with the image size.") + num_patch_height, num_patch_width = get_anyres_image_grid_shape( + image_sizes[image_idx], + self.config.image_grid_pinpoints, + self.config.vision_config.image_size, + ) + image_feature = image_feature.view(num_patch_height, num_patch_width, height, width, -1) + image_feature = image_feature.permute(4, 0, 2, 1, 3).contiguous() + image_feature = image_feature.flatten(1, 2).flatten(2, 3) + image_feature = unpad_image(image_feature, image_sizes[image_idx]) + image_feature = torch.cat( + ( + image_feature, + self.image_newline[:, None, None].expand(*image_feature.shape[:-1], 1), + ), + dim=-1, + ) + image_feature = image_feature.flatten(1, 2).transpose(0, 1) + image_feature = torch.cat((base_image_feature, image_feature), dim=0) + else: + image_feature = image_feature[0] + image_feature = torch.cat((image_feature, self.image_newline[None]), dim=0) + new_image_features.append(image_feature) + image_features = torch.stack(new_image_features, dim=0) + + ( + inputs_embeds, + attention_mask, + position_ids, + ) = self._merge_input_ids_with_image_features(image_features, inputs_embeds, input_ids, attention_mask, None) + inputs["inputs_embeds"] = inputs_embeds + inputs["attention_mask"] = attention_mask + inputs["position_ids"] = position_ids + + return inputs + + def _merge_input_ids_with_image_features(self, image_features, inputs_embeds, input_ids, attention_mask, labels): + num_images, num_image_patches, embed_dim = image_features.shape + batch_size, sequence_length = input_ids.shape + left_padding = not torch.sum(input_ids[:, -1] == torch.tensor(self.pad_token_id)) + # 1. Create a mask to know where special image tokens are + special_image_token_mask = input_ids == self.config.image_token_index + num_special_image_tokens = torch.sum(special_image_token_mask, dim=-1) + # Compute the maximum embed dimension + max_embed_dim = (num_special_image_tokens.max() * (num_image_patches - 1)) + sequence_length + batch_indices, non_image_indices = torch.where(input_ids != self.config.image_token_index) + + # 2. Compute the positions where text should be written + # Calculate new positions for text tokens in merged image-text sequence. + # `special_image_token_mask` identifies image tokens. Each image token will be replaced by `nb_text_tokens_per_images - 1` text tokens. + # `torch.cumsum` computes how each image token shifts subsequent text token positions. + # - 1 to adjust for zero-based indexing, as `cumsum` inherently increases indices by one. + new_token_positions = torch.cumsum((special_image_token_mask * (num_image_patches - 1) + 1), -1) - 1 + nb_image_pad = max_embed_dim - 1 - new_token_positions[:, -1] + if left_padding: + new_token_positions += nb_image_pad[:, None] # offset for left padding + text_to_overwrite = new_token_positions[batch_indices, non_image_indices] + + # 3. Create the full embedding, already padded to the maximum position + final_embedding = torch.zeros( + batch_size, + max_embed_dim, + embed_dim, + dtype=inputs_embeds.dtype, + device=inputs_embeds.device, + ) + final_attention_mask = torch.zeros( + batch_size, + max_embed_dim, + dtype=attention_mask.dtype, + device=inputs_embeds.device, + ) + # In case the Vision model or the Language model has been offloaded to CPU, we need to manually + # set the corresponding tensors into their correct target device. + target_device = inputs_embeds.device + batch_indices, non_image_indices, text_to_overwrite = ( + batch_indices.to(target_device), + non_image_indices.to(target_device), + text_to_overwrite.to(target_device), + ) + attention_mask = attention_mask.to(target_device) + + # 4. Fill the embeddings based on the mask. If we have ["hey" "", "how", "are"] + # we need to index copy on [0, 577, 578, 579] for the text and [1:576] for the image features + final_embedding[batch_indices, text_to_overwrite] = inputs_embeds[batch_indices, non_image_indices] + final_attention_mask[batch_indices, text_to_overwrite] = attention_mask[batch_indices, non_image_indices] + if labels is not None: + final_labels[batch_indices, text_to_overwrite] = labels[batch_indices, non_image_indices] + + # 5. Fill the embeddings corresponding to the images. Anything that is still zeros needs filling + image_to_overwrite = torch.all(final_embedding == 0, dim=-1) + image_to_overwrite &= image_to_overwrite.cumsum(-1) - 1 >= nb_image_pad[:, None].to(target_device) + if image_to_overwrite.sum() != image_features.shape[:-1].numel(): + raise ValueError( + f"The input provided to the model are wrong. The number of image tokens is {torch.sum(special_image_token_mask)} while" + f" the number of image given to the model is {num_images}. This prevents correct indexing and breaks batch generation." + ) + + final_embedding[image_to_overwrite] = image_features.contiguous().reshape(-1, embed_dim).to(target_device) + final_attention_mask |= image_to_overwrite + position_ids = (final_attention_mask.cumsum(-1) - 1).masked_fill_((final_attention_mask == 0), 1) + + # 6. Mask out the embedding at padding positions, as we later use the past_key_value value to determine the non-attended tokens. + batch_indices, pad_indices = torch.where(input_ids == self.pad_token_id) + indices_to_mask = new_token_positions[batch_indices, pad_indices] + + final_embedding[batch_indices, indices_to_mask] = 0 + + return final_embedding, final_attention_mask, position_ids + + def prepare_inputs_for_generation( + self, + input_ids, + past_key_values=None, + inputs_embeds=None, + pixel_values=None, + image_sizes=None, + attention_mask=None, + **kwargs, + ): + if past_key_values is not None: + if not self.stateful: + cache_length = past_length = past_key_values[0][0].shape[2] + else: + cache_length = past_length = self.past_len + + # Keep only the unprocessed tokens: + # 1 - If the length of the attention_mask exceeds the length of input_ids, then we are in a setting where + # some of the inputs are exclusively passed as part of the cache (e.g. when passing input_embeds as + # input) + if attention_mask is not None and attention_mask.shape[1] > input_ids.shape[1]: + input_ids = input_ids[:, -(attention_mask.shape[1] - past_length) :] + # 2 - If the past_length is smaller than input_ids', then input_ids holds all input tokens. We can discard + # input_ids based on the past_length.llava + elif past_length < input_ids.shape[1]: + input_ids = input_ids[:, past_length:] + # 3 - Otherwise (past_length >= input_ids.shape[1]), let's assume input_ids only has unprocessed tokens. + elif self.config.image_token_index in input_ids: + input_ids = input_ids[:, input_ids.shape[1] - 1 :] + # If the cache has seen more tokens than it can hold, then the cache has a size limit. Let's discard the + # older attention values, as their corresponding values are not part of the input. + if cache_length < past_length and attention_mask is not None: + attention_mask = attention_mask[:, -(cache_length + input_ids.shape[1]) :] + + position_ids = kwargs.get("position_ids", None) + if attention_mask is not None and position_ids is None: + # create position_ids on the fly for batch gllavaenerationsubset_siz + position_ids = attention_mask.long().cumsum(-1) - 1 + position_ids.masked_fill_(attention_mask == 0, 1) + if past_key_values: + position_ids = position_ids[:, -input_ids.shape[1] :] + + # if `inputs_embeds` are passed, we only want to use them in the 1st generation step + if inputs_embeds is not None and past_key_values is None: + model_inputs = {"inputs_embeds": inputs_embeds} + else: + model_inputs = {"input_ids": input_ids} + + model_inputs.update( + { + "position_ids": position_ids, + "past_key_values": past_key_values, + "use_cache": kwargs.get("use_cache"), + "attention_mask": attention_mask, + "pixel_values": pixel_values, + "image_sizes": image_sizes, + } + ) + return model_inputs + +Run OpenVINO model inference +---------------------------- + + + +Select device +~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices, + value="CPU", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', options=('CPU', 'GPU.0', 'GPU.1'), value='CPU') + + + +.. code:: ipython3 + + use_int4_lang_model = widgets.Checkbox( + value=LANGUAGE_MODEL_PATH_INT4.exists(), + description="INT4 language model", + disabled=not LANGUAGE_MODEL_PATH_INT4.exists(), + ) + + use_int4_lang_model + + + + +.. parsed-literal:: + + Checkbox(value=True, description='INT4 language model') + + + +.. code:: ipython3 + + use_int8_image_encoder = widgets.Checkbox( + value=IMAGE_ENCODER_PATH_INT8.exists(), + description="INT4 language model", + disabled=not IMAGE_ENCODER_PATH_INT8.exists(), + ) + + use_int8_image_encoder + + + + +.. parsed-literal:: + + Checkbox(value=True, description='INT4 language model') + + + +.. code:: ipython3 + + lang_model_path = LANGUAGE_MODEL_PATH_INT4 if use_int4_lang_model.value else LANGUAGE_MODEL_PATH + image_encoder_path = IMAGE_ENCODER_PATH_INT8 if use_int8_image_encoder.value else IMAGE_ENCODER_PATH + + ov_llava_model = OVLlavaForCausalLM(core, image_encoder_path, INPUT_EMBEDDING_PATH, lang_model_path, device.value) + +.. code:: ipython3 + + from PIL import Image + import requests + + + from transformers import TextStreamer + + url = "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/d5fbbd1a-d484-415c-88cb-9986625b7b11" + image = Image.open(requests.get(url, stream=True).raw) + question = "What is unusual on this image?" + prompt = f"[INST] \n{question}[/INST]" + streamer = TextStreamer(processor, skip_special_tokens=True, skip_prompt=True) + + inputs = processor(prompt, image, return_tensors="pt") + print(f"Question:\n{question}") + image + + +.. parsed-literal:: + + Question: + What is unusual on this image? + + + + +.. image:: llava-next-multimodal-chatbot-with-output_files/llava-next-multimodal-chatbot-with-output_32_1.png + + + +.. code:: ipython3 + + print("Answer:") + streamer = TextStreamer(processor, skip_special_tokens=True, skip_prompt=True) + output = ov_llava_model.generate(**inputs, max_new_tokens=49, streamer=streamer) + + +.. parsed-literal:: + + Setting `pad_token_id` to `eos_token_id`:2 for open-end generation. + + +.. parsed-literal:: + + Answer: + The image shows a cat lying on its back inside a cardboard box. What's unusual is that the cat appears to be in a relaxed and somewhat human-like pose, with its paws up in the air and its belly exposed. + + +Interactive demo +---------------- + + + +.. code:: ipython3 + + import gradio as gr + from transformers import TextIteratorStreamer + from threading import Thread + from PIL import Image + import torch + + example_image_urls = [ + ( + "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/1d6a0188-5613-418d-a1fd-4560aae1d907", + "bee.jpg", + ), + ( + "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/6cc7feeb-0721-4b5d-8791-2576ed9d2863", + "baklava.png", + ), + ] + for url, file_name in example_image_urls: + Image.open(requests.get(url, stream=True).raw).save(file_name) + + + def bot_streaming(message, history): + print(message) + if message["files"]: + image = message["files"][-1]["path"] + else: + # if there's no image uploaded for this turn, look for images in the past turns + # kept inside tuples, take the last one + for hist in history: + if isinstance(hist[0], tuple): + image = hist[0][0] + + if image is None: + gr.Error("You need to upload an image for LLaVA to work.") + prompt = f"[INST] \n{message['text']} [/INST]" + image = Image.open(image).convert("RGB") + inputs = processor(prompt, image, return_tensors="pt") + + streamer = TextIteratorStreamer(processor, **{"skip_special_tokens": True}) + generation_kwargs = dict(inputs, streamer=streamer, max_new_tokens=100) + + thread = Thread(target=ov_llava_model.generate, kwargs=generation_kwargs) + thread.start() + + text_prompt = f"[INST] \n{message['text']} [/INST]" + + buffer = "" + for new_text in streamer: + buffer += new_text + generated_text_without_prompt = buffer[len(text_prompt) :] + yield generated_text_without_prompt + + + demo = gr.ChatInterface( + fn=bot_streaming, + title="LLaVA NeXT", + examples=[ + {"text": "What is on the flower?", "files": ["./bee.jpg"]}, + {"text": "How to make this pastry?", "files": ["./baklava.png"]}, + ], + description="Try [LLaVA NeXT](https://huggingface.co/docs/transformers/main/en/model_doc/llava_next) in this demo using OpenVINO. Upload an image and start chatting about it, or simply try one of the examples below. If you don't upload an image, you will receive an error.", + stop_btn="Stop Generation", + multimodal=True, + ) + + try: + demo.launch(debug=False) + except Exception: + demo.launch(debug=False, share=True) diff --git a/docs/notebooks/llava-next-multimodal-chatbot-with-output_files/llava-next-multimodal-chatbot-with-output_32_1.jpg b/docs/notebooks/llava-next-multimodal-chatbot-with-output_files/llava-next-multimodal-chatbot-with-output_32_1.jpg new file mode 100644 index 00000000000..c6aeec77cd3 --- /dev/null +++ b/docs/notebooks/llava-next-multimodal-chatbot-with-output_files/llava-next-multimodal-chatbot-with-output_32_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fc0d22d75f23474fb4f8aec8c0bf0fdf5d9377f3379e82a3887003e6da47e7e +size 60425 diff --git a/docs/notebooks/llava-next-multimodal-chatbot-with-output_files/llava-next-multimodal-chatbot-with-output_32_1.png b/docs/notebooks/llava-next-multimodal-chatbot-with-output_files/llava-next-multimodal-chatbot-with-output_32_1.png new file mode 100644 index 00000000000..c6673a757ab --- /dev/null +++ b/docs/notebooks/llava-next-multimodal-chatbot-with-output_files/llava-next-multimodal-chatbot-with-output_32_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c715d8adee4bf7519690de20b57ef2edaa2f914c86a64d107f99a919dcdad218 +size 854224 diff --git a/docs/notebooks/llm-agent-langchain-with-output.rst b/docs/notebooks/llm-agent-langchain-with-output.rst new file mode 100644 index 00000000000..2cb976bc13b --- /dev/null +++ b/docs/notebooks/llm-agent-langchain-with-output.rst @@ -0,0 +1,640 @@ +Create LLM Agent using OpenVINO +=============================== + +LLM are limited to the knowledge on which they have been trained and the +additional knowledge provided as context, as a result, if a useful piece +of information is missing the provided knowledge, the model cannot “go +around” and try to find it in other sources. This is the reason why we +need to introduce the concept of Agents. + +The core idea of agents is to use a language model to choose a sequence +of actions to take. In agents, a language model is used as a reasoning +engine to determine which actions to take and in which order. Agents can +be seen as applications powered by LLMs and integrated with a set of +tools like search engines, databases, websites, and so on. Within an +agent, the LLM is the reasoning engine that, based on the user input, is +able to plan and execute a set of actions that are needed to fulfill the +request. + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/91237924/22fa5396-8381-400f-a78f-97e25d57d807 + :alt: agent + + agent + +`LangChain `__ +is a framework for developing applications powered by language models. +LangChain comes with a number of built-in agents that are optimized for +different use cases. + +This notebook explores how to create an AI Agent step by step using +OpenVINO and LangChain. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Create tools <#create-tools>`__ +- `Create prompt template <#create-prompt-template>`__ +- `Create LLM <#create-llm>`__ + + - `Download model <#select-model>`__ + - `Select inference device for + LLM <#select-inference-device-for-llm>`__ + +- `Create agent <#create-agent>`__ +- `Run the agent <#run-agent>`__ +- `Interactive Demo <#interactive-demo>`__ + + - `Use built-in tool <#use-built-in-tool>`__ + +Prerequisites +------------- + + + +.. code:: ipython3 + + %pip uninstall -q -y openvino-dev openvino openvino-nightly optimum optimum-intel + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu\ + "git+https://github.com/huggingface/optimum-intel.git"\ + "git+https://github.com/openvinotoolkit/nncf.git"\ + "torch>=2.1"\ + "datasets"\ + "accelerate"\ + "openvino-nightly"\ + "gradio"\ + "transformers>=4.38.1" "langchain>=0.1.14" "wikipedia" + +Create a tools +-------------- + + + +First, we need to create some tools to call. In this example, we will +create 3 custom functions to do basic calculation. For `more +information `__ on +creating custom tools. + +.. code:: ipython3 + + from langchain_core.tools import tool + + + @tool + def multiply(first_int: int, second_int: int) -> int: + """Multiply two integers together.""" + return first_int * second_int + + + @tool + def add(first_int: int, second_int: int) -> int: + "Add two integers." + return first_int + second_int + + + @tool + def exponentiate(base: int, exponent: int) -> int: + "Exponentiate the base to the exponent power." + return base**exponent + +Tools are interfaces that an agent, chain, or LLM can use to interact +with the world. They combine a few things: + +1. The name of the tool +2. A description of what the tool is +3. JSON schema of what the inputs to the tool are +4. The function to call +5. Whether the result of a tool should be returned directly to the user + +.. code:: ipython3 + + print(f"name of `multiply` tool: {multiply.name}") + print(f"description of `multiply` tool: {multiply.description}") + + +.. parsed-literal:: + + name of `multiply` tool: multiply + description of `multiply` tool: multiply(first_int: int, second_int: int) -> int - Multiply two integers together. + + +Now that we have created all of them, and we can create a list of tools +that we will use downstream. + +.. code:: ipython3 + + tools = [multiply, add, exponentiate] + +Create prompt template +---------------------- + + + +A prompt for a language model is a set of instructions or input provided +by a user to guide the model’s response, helping it understand the +context and generate relevant and coherent language-based output, such +as answering questions, completing sentences, or engaging in a +conversation. + +Different agents have different prompting styles for reasoning. In this +example, we will use `ReAct agent `__ with +its typical prompt template. For a full list of built-in agents see +`agent +types `__. + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/91237924/a83bdf7f-bb9d-4b1f-9a0a-3fe4a76ba1ae + :alt: react + + react + +A ReAct prompt consists of few-shot task-solving trajectories, with +human-written text reasoning traces and actions, as well as environment +observations in response to actions. ReAct prompting is intuitive and +flexible to design, and achieves state-of-the-art few-shot performances +across a variety of tasks, from question answering to online shopping! + +In an prompt template for agent, ``agent_scratchpad`` should be a +sequence of messages that contains the previous agent tool invocations +and the corresponding tool outputs. + +.. code:: ipython3 + + from langchain.prompts import PromptTemplate + + prompt = PromptTemplate.from_template( + """Answer the following questions as best you can. You have access to the following tools: + + {tools} + + Use the following format: + + Question: the input question you must answer + Thought: you should always think about what to do + Action: the action to take, should be one of [{tool_names}] + Action Input: the input to the action\nObservation: the result of the action + ... (this Thought/Action/Action Input/Observation can repeat N times) + Thought: I now know the final answer + Final Answer: the final answer to the original input question + + Begin! + + Question: {input} + Thought:{agent_scratchpad}""" + ) + +Create LLM +---------- + + + +Large Language Models (LLMs) are a core component of LangChain. +LangChain does not serve its own LLMs, but rather provides a standard +interface for interacting with many different LLMs. In this example, we +select ``neural-chat-7b-v3-1`` as LLM in agent pipeline. + +**neural-chat-7b-v3-1** - Mistral-7b model fine-tuned using Intel Gaudi. +The model fine-tuned on the open source dataset +`Open-Orca/SlimOrca `__ +and aligned with `Direct Preference Optimization (DPO) +algorithm `__. More details can be +found in `model +card `__ and `blog +post `__. + +Download model +~~~~~~~~~~~~~~ + + + +To run LLM locally, we have to download the model in the first step. It +is possible to `export your +model `__ +to the OpenVINO IR format with the CLI, and load the model from local +folder. + +.. code:: ipython3 + + from pathlib import Path + + model_id = "Intel/neural-chat-7b-v3-1" + model_path = "neural-chat-7b-v3-1-ov-int4" + + if not Path(model_path).exists(): + !optimum-cli export openvino --model ${model_id} --weight-format int4 ${model_path} + +Select inference device for LLM +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + import openvino as ov + import ipywidgets as widgets + + core = ov.Core() + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="CPU", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', options=('CPU', 'GPU', 'AUTO'), value='CPU') + + + +OpenVINO models can be run locally through the ``HuggingFacePipeline`` +class in LangChain. To deploy a model with OpenVINO, you can specify the +``backend="openvino"`` parameter to trigger OpenVINO as backend +inference framework. For `more +information `__. + +You can get additional inference speed improvement with `Dynamic +Quantization of activations and KV-cache +quantization `__. +These options can be enabled with ``ov_config`` as follows: + +.. code:: ipython3 + + ov_config = { + "KV_CACHE_PRECISION": "u8", + "DYNAMIC_QUANTIZATION_GROUP_SIZE": "32", + "PERFORMANCE_HINT": "LATENCY", + "NUM_STREAMS": "1", + "CACHE_DIR": "", + } + +.. code:: ipython3 + + from langchain_community.llms.huggingface_pipeline import HuggingFacePipeline + + ov_llm = HuggingFacePipeline.from_model_id( + model_id=model_path, + task="text-generation", + backend="openvino", + model_kwargs={"device": device.value, "ov_config": ov_config}, + pipeline_kwargs={"max_new_tokens": 1024}, + ) + +Create agent +------------ + + + +Now that we have defined the tools, prompt template and LLM, we can +create the agent_executor. + +The agent executor is the runtime for an agent. This is what actually +calls the agent, executes the actions it chooses, passes the action +outputs back to the agent, and repeats. + +.. code:: ipython3 + + from custom_output_parser import ReActSingleInputOutputParser + from langchain.agents import AgentExecutor, create_react_agent + + output_parser = ReActSingleInputOutputParser() + + agent = create_react_agent(ov_llm, tools, prompt, output_parser=output_parser) + agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) + +Run the agent +------------- + + + +We can now run the agent with a math query. Before getting the final +answer, a agent executor will also produce intermediate steps of +reasoning and actions. The format of these messages will follow your +prompt template. + +.. code:: ipython3 + + agent_executor.invoke({"input": "Take 3 to the fifth power and multiply that by the sum of twelve and three"}) + + +.. parsed-literal:: + + Setting `pad_token_id` to `eos_token_id`:2 for open-end generation. + + +.. parsed-literal:: + + + + > Entering new AgentExecutor chain... + Answer the following questions as best you can. You have access to the following tools: + + multiply: multiply(first_int: int, second_int: int) -> int - Multiply two integers together. + add: add(first_int: int, second_int: int) -> int - Add two integers. + exponentiate: exponentiate(base: int, exponent: int) -> int - Exponentiate the base to the exponent power. + + Use the following format: + + Question: the input question you must answer + Thought: you should always think about what to do + Action: the action to take, should be one of [multiply, add, exponentiate] + Action Input: the input to the action + Observation: the result of the action + ... (this Thought/Action/Action Input/Observation can repeat N times) + Thought: I now know the final answer + Final Answer: the final answer to the original input question + + Begin! + + Question: Take 3 to the fifth power and multiply that by the sum of twelve and three + Thought: We need to exponentiate 3 to the power of 5, then multiply the result by the sum of 12 and 3 + Action: exponentiate + Action Input: base: 3, exponent: 5 + Observation: 243 + Action: add + Action Input: first_int: 12, second_int: 3 + Observation: 15 + Action: multiply + Action Input: first_int: 243, second_int: 15 + Observation: 3645 + Thought: I now know the final answer + Final Answer: 3645 + + > Finished chain. + + + + +.. parsed-literal:: + + {'input': 'Take 3 to the fifth power and multiply that by the sum of twelve and three', + 'output': '3645'} + + + +Interactive Demo +---------------- + + + +Let’s create a interactive agent using +`Gradio `__. + +Use built-in tool +~~~~~~~~~~~~~~~~~ + + + +LangChain has provided a list of all `built-in +tools `__. In +this example, we will use ``Wikipedia`` python package to query key +words generated by agent. + +.. code:: ipython3 + + from langchain.tools import WikipediaQueryRun + from langchain_community.utilities import WikipediaAPIWrapper + + + wikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper()) + print(f"description of `wikipedia` tool: {wikipedia.description}") + + tools = [wikipedia] + + agent = create_react_agent(ov_llm, tools, prompt, output_parser=output_parser) + agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) + + +.. parsed-literal:: + + description of `wikipedia` tool: A wrapper around Wikipedia. Useful for when you need to answer general questions about people, places, companies, facts, historical events, or other subjects. Input should be a search query. + + +.. code:: ipython3 + + from threading import Thread + import gradio as gr + from transformers import TextIteratorStreamer + + examples = [ + ["What is OpenVINO ?"], + ["Who is 44th presedent of USA ?"], + ["what is Obama's first name and who is him ?"], + ["How many people live in Canada ?"], + ["How tall is the Eiffel Tower ?"], + ] + + + def partial_text_processor(partial_text, new_text): + """ + helper for updating partially generated answer, used by default + + Params: + partial_text: text buffer for storing previosly generated text + new_text: text update for the current step + Returns: + updated text string + + """ + new_text = new_text.replace("[INST]", "").replace("[/INST]", "") + partial_text += new_text + return partial_text + + + def user(message, history): + """ + callback function for updating user messages in interface on submit button click + + Params: + message: current message + history: conversation history + Returns: + None + """ + # Append the user's message to the conversation history + return "", history + [[message, ""]] + + + def bot(history, temperature, top_p, top_k, repetition_penalty, return_intermediate_steps): + """ + callback function for running chatbot on submit button click + + Params: + history: conversation history + temperature: parameter for control the level of creativity in AI-generated text. + By adjusting the `temperature`, you can influence the AI model's probability distribution, making the text more focused or diverse. + top_p: parameter for control the range of tokens considered by the AI model based on their cumulative probability. + top_k: parameter for control the range of tokens considered by the AI model based on their cumulative probability, selecting number of tokens with highest probability. + repetition_penalty: parameter for penalizing tokens based on how frequently they occur in the text. + return_intermediate_steps: whether return intermediate_steps of agent. + + """ + streamer = TextIteratorStreamer( + ov_llm.pipeline.tokenizer, + timeout=60.0, + skip_prompt=True, + skip_special_tokens=True, + ) + + ov_llm.pipeline._forward_params = dict( + max_new_tokens=512, + temperature=temperature, + do_sample=temperature > 0.0, + top_p=top_p, + top_k=top_k, + repetition_penalty=repetition_penalty, + streamer=streamer, + ) + + t1 = Thread(target=agent_executor.invoke, args=({"input": history[-1][0]},)) + t1.start() + + # Initialize an empty string to store the generated text + partial_text = "" + final_answer = False + + for new_text in streamer: + if "Answer" in new_text: + final_answer = True + if final_answer or return_intermediate_steps: + partial_text = partial_text_processor(partial_text, new_text) + history[-1][1] = partial_text + yield history + + + def request_cancel(): + ov_llm.pipeline.model.request.cancel() + + + with gr.Blocks( + theme=gr.themes.Soft(), + css=".disclaimer {font-variant-caps: all-small-caps;}", + ) as demo: + gr.Markdown(f"""

OpenVINO Agent for {wikipedia.name}

""") + chatbot = gr.Chatbot(height=500) + with gr.Row(): + with gr.Column(): + msg = gr.Textbox( + label="Chat Message Box", + placeholder="Chat Message Box", + show_label=False, + container=False, + ) + with gr.Column(): + with gr.Row(): + return_cot = gr.Checkbox(value=True, label="Return intermediate steps") + submit = gr.Button("Submit") + stop = gr.Button("Stop") + clear = gr.Button("Clear") + with gr.Row(): + with gr.Accordion("Advanced Options:", open=False): + with gr.Row(): + with gr.Column(): + with gr.Row(): + temperature = gr.Slider( + label="Temperature", + value=0.1, + minimum=0.0, + maximum=1.0, + step=0.1, + interactive=True, + info="Higher values produce more diverse outputs", + ) + with gr.Column(): + with gr.Row(): + top_p = gr.Slider( + label="Top-p (nucleus sampling)", + value=1.0, + minimum=0.0, + maximum=1, + step=0.01, + interactive=True, + info=( + "Sample from the smallest possible set of tokens whose cumulative probability " + "exceeds top_p. Set to 1 to disable and sample from all tokens." + ), + ) + with gr.Column(): + with gr.Row(): + top_k = gr.Slider( + label="Top-k", + value=50, + minimum=0.0, + maximum=200, + step=1, + interactive=True, + info="Sample from a shortlist of top-k tokens — 0 to disable and sample from all tokens.", + ) + with gr.Column(): + with gr.Row(): + repetition_penalty = gr.Slider( + label="Repetition Penalty", + value=1.1, + minimum=1.0, + maximum=2.0, + step=0.1, + interactive=True, + info="Penalize repetition — 1.0 to disable.", + ) + gr.Examples(examples, inputs=msg, label="Click on any example and press the 'Submit' button") + + submit_event = msg.submit( + fn=user, + inputs=[msg, chatbot], + outputs=[msg, chatbot], + queue=False, + ).then( + fn=bot, + inputs=[ + chatbot, + temperature, + top_p, + top_k, + repetition_penalty, + return_cot, + ], + outputs=chatbot, + queue=True, + ) + submit_click_event = submit.click( + fn=user, + inputs=[msg, chatbot], + outputs=[msg, chatbot], + queue=False, + ).then( + fn=bot, + inputs=[ + chatbot, + temperature, + top_p, + top_k, + repetition_penalty, + return_cot, + ], + outputs=chatbot, + queue=True, + ) + stop.click( + fn=request_cancel, + inputs=None, + outputs=None, + cancels=[submit_event, submit_click_event], + queue=False, + ) + clear.click(lambda: None, None, chatbot, queue=False) + + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # if you have any issue to launch on your platform, you can pass share=True to launch method: + # demo.launch(share=True) + # it creates a publicly shareable link for the interface. Read more in the docs: https://gradio.app/docs/ + demo.launch() + +.. code:: ipython3 + + # please run this cell for stopping gradio interface + demo.close() diff --git a/docs/notebooks/254-llm-chatbot-with-output.rst b/docs/notebooks/llm-chatbot-with-output.rst similarity index 70% rename from docs/notebooks/254-llm-chatbot-with-output.rst rename to docs/notebooks/llm-chatbot-with-output.rst index 01a0d26f1cf..931bfeb371b 100644 --- a/docs/notebooks/254-llm-chatbot-with-output.rst +++ b/docs/notebooks/llm-chatbot-with-output.rst @@ -18,7 +18,7 @@ accuracy. Previously, we already discussed how to build an instruction-following pipeline using OpenVINO and Optimum Intel, please check out `Dolly -example <240-dolly-2-instruction-following-with-output.html>`__ for reference. In this +example <../dolly-2-instruction-following>`__ for reference. In this tutorial, we consider how to use the power of OpenVINO for running Large Language Models for chat. We will use a pre-trained model from the `Hugging Face @@ -43,19 +43,17 @@ Table of contents: - `Prerequisites <#prerequisites>`__ - `Select model for inference <#select-model-for-inference>`__ -- `login to huggingfacehub to get access to pretrained - model <#login-to-huggingfacehub-to-get-access-to-pretrained-model>`__ -- `Instantiate Model using Optimum - Intel <#instantiate-model-using-optimum-intel>`__ +- `Convert model using Optimum-CLI + tool <#convert-model-using-optimum-cli-tool>`__ - `Compress model weights <#compress-model-weights>`__ - - `Weights Compression using Optimum - Intel <#weights-compression-using-optimum-intel>`__ - `Weights Compression using - NNCF <#weights-compression-using-nncf>`__ + Optimum-CLI <#weights-compression-using-optimum-cli>`__ - `Select device for inference and model variant <#select-device-for-inference-and-model-variant>`__ +- `Instantiate Model using Optimum + Intel <#instantiate-model-using-optimum-intel>`__ - `Run Chatbot <#run-chatbot>`__ Prerequisites @@ -71,26 +69,31 @@ Install required dependencies %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu\ "git+https://github.com/huggingface/optimum-intel.git"\ "git+https://github.com/openvinotoolkit/nncf.git"\ + "torch>=2.1"\ "datasets" \ "accelerate"\ "openvino-nightly"\ - "gradio"\ + "gradio>=4.19"\ "onnx" "einops" "transformers_stream_generator" "tiktoken" "transformers>=4.38.1" "bitsandbytes" +.. code:: ipython3 -.. parsed-literal:: - - WARNING: Skipping openvino-dev as it is not installed. - WARNING: Skipping openvino as it is not installed. - WARNING: Skipping openvino-nightly as it is not installed. - WARNING: Skipping optimum as it is not installed. - WARNING: Skipping optimum-intel as it is not installed. - Note: you may need to restart the kernel to use updated packages. + import shutil + from pathlib import Path + import requests - [notice] A new release of pip is available: 23.1.2 -> 24.0 - [notice] To update, run: pip install --upgrade pip - Note: you may need to restart the kernel to use updated packages. - + # fetch model configuration + + config_shared_path = Path("../../utils/llm_config.py") + config_dst_path = Path("llm_config.py") + + if not config_dst_path.exists(): + if config_shared_path.exists(): + shutil.copy(config_shared_path, config_dst_path) + else: + r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/llm_config.py") + with open("llm_config.py", "w") as f: + f.write(r.text) Select model for inference -------------------------- @@ -327,7 +330,7 @@ The available options are: .. code:: ipython3 - from config import SUPPORTED_LLM_MODELS + from llm_config import SUPPORTED_LLM_MODELS import ipywidgets as widgets .. code:: ipython3 @@ -370,7 +373,7 @@ The available options are: .. parsed-literal:: - Dropdown(description='Model:', options=('qwen1.5-0.5b-chat', 'qwen1.5-1.8b-chat', 'qwen1.5-7b-chat', 'qwen-7b-… + Dropdown(description='Model:', options=('tiny-llama-1b-chat', 'gemma-2b-it', 'red-pajama-3b-chat', 'gemma-7b-i… @@ -382,142 +385,83 @@ The available options are: .. parsed-literal:: - Selected model qwen-7b-chat + Selected model tiny-llama-1b-chat -Instantiate Model using Optimum Intel -------------------------------------- +Convert model using Optimum-CLI tool +------------------------------------ -Optimum Intel can be used to load optimized models from the `Hugging -Face Hub `__ and -create pipelines to run an inference with OpenVINO Runtime using Hugging -Face APIs. The Optimum Inference models are API compatible with Hugging -Face Transformers models. This means we just need to replace -``AutoModelForXxx`` class with the corresponding ``OVModelForXxx`` -class. +`Optimum Intel `__ is +the interface between the +`Transformers `__ and +`Diffusers `__ libraries +and OpenVINO to accelerate end-to-end pipelines on Intel architectures. +It provides ease-to-use cli interface for exporting models to `OpenVINO +Intermediate Representation +(IR) `__ +format. -Below is an example of the RedPajama model +The command bellow demonstrates basic command for model export with +``optimum-cli`` -.. code:: diff +:: - -from transformers import AutoModelForCausalLM - +from optimum.intel.openvino import OVModelForCausalLM - from transformers import AutoTokenizer, pipeline - - model_id = "togethercomputer/RedPajama-INCITE-Chat-3B-v1" - -model = AutoModelForCausalLM.from_pretrained(model_id) - +model = OVModelForCausalLM.from_pretrained(model_id, export=True) - -Model class initialization starts with calling ``from_pretrained`` -method. When downloading and converting Transformers model, the -parameter ``export=True`` should be added. We can save the converted -model for the next usage with the ``save_pretrained`` method. Tokenizer -class and pipelines API are compatible with Optimum models. - -To optimize the generation process and use memory more efficiently, the -``use_cache=True`` option is enabled. Since the output side is -auto-regressive, an output token hidden state remains the same once -computed for every further generation step. Therefore, recomputing it -every time you want to generate a new token seems wasteful. With the -cache, the model saves the hidden state once it has been computed. The -model only computes the one for the most recently generated output token -at each time step, re-using the saved ones for hidden tokens. This -reduces the generation complexity from :math:`O(n^3)` to :math:`O(n^2)` -for a transformer model. More details about how it works can be found in -this -`article `__. -With this option, the model gets the previous step’s hidden states -(cached attention keys and values) as input and additionally provides -hidden states for the current step as output. It means for all next -iterations, it is enough to provide only a new token obtained from the -previous step and cached key values to get the next token prediction. - -In our case, MPT, Qwen and ChatGLM model currently is not covered by -Optimum Intel, we will convert it manually and create wrapper compatible -with Optimum Intel. - -.. code:: ipython3 - - from transformers import AutoModelForCausalLM, AutoConfig - from optimum.intel.openvino import OVModelForCausalLM - import openvino as ov - from pathlib import Path - import shutil - import torch - import logging - import nncf - import gc - from converter import converters, register_configs - - register_configs() - - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -.. parsed-literal:: - - 2024-03-07 02:52:02.115283: I tensorflow/core/util/port.cc:111] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-07 02:52:02.118993: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-03-07 02:52:02.161204: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered - 2024-03-07 02:52:02.161239: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered - 2024-03-07 02:52:02.161273: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered - 2024-03-07 02:52:02.169740: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-03-07 02:52:02.171079: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2024-03-07 02:52:03.108737: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + optimum-cli export openvino --model --task +where ``--model`` argument is model id from HuggingFace Hub or local +directory with model (saved using ``.save_pretrained`` method), +``--task`` is one of `supported +task `__ +that exported model should solve. For LLMs it will be +``text-generation-with-past``. If model initialization requires to use +remote code, ``--trust-remote-code`` flag additionally should be passed. Compress model weights ---------------------- +The `Weights +Compression `__ +algorithm is aimed at compressing the weights of the models and can be +used to optimize the model footprint and performance of large models +where the size of weights is relatively larger than the size of +activations, for example, Large Language Models (LLM). Compared to INT8 +compression, INT4 compression improves performance even more, but +introduces a minor drop in prediction quality. - -The Weights Compression algorithm is aimed at compressing the weights of -the models and can be used to optimize the model footprint and -performance of large models where the size of weights is relatively -larger than the size of activations, for example, Large Language Models -(LLM). Compared to INT8 compression, INT4 compression improves -performance even more, but introduces a minor drop in prediction -quality. - -Weights Compression using Optimum Intel -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Weights Compression using Optimum-CLI +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Optimum Intel supports weight compression via NNCF out of the box. For -8-bit compression we pass ``load_in_8bit=True`` to ``from_pretrained()`` -method of ``OVModelForCausalLM``. For 4 bit compression we provide -``quantization_config=OVWeightQuantizationConfig(bits=4, ...)`` argument -containing number of bits and other compression parameters. We will -consider how to do it on RedPajama, LLAMA and Zephyr examples. +You can also apply fp16, 8-bit or 4-bit weight compression on the +Linear, Convolutional and Embedding layers when exporting your model +with the CLI by setting ``--weight-format`` to respectively fp16, int8 +or int4. This type of optimization allows to reduce the memory footprint +and inference latency. By default the quantization scheme for int8/int4 +will be +`asymmetric `__, +to make it +`symmetric `__ +you can add ``--sym``. + +For INT4 quantization you can also specify the following arguments : - +The ``--group-size`` parameter will define the group size to use for +quantization, -1 it will results in per-column quantization. - The +``--ratio`` parameter controls the ratio between 4-bit and 8-bit +quantization. If set to 0.9, it means that 90% of the layers will be +quantized to int4 while 10% will be quantized to int8. + +Smaller group_size and ratio values usually improve accuracy at the +sacrifice of the model size and inference latency. **Note**: There may be no speedup for INT4/INT8 compressed models on dGPU. -Weights Compression using NNCF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -You also can perform weights compression for OpenVINO models using NNCF -directly. ``nncf.compress_weights`` function accepts OpenVINO model -instance and compresses its weights for Linear and Embedding layers. We -will consider this variant based on MPT model. - - **Note**: This tutorial involves conversion model for FP16 and - INT4/INT8 weights compression scenarios. It may be memory and - time-consuming in the first run. You can manually control the - compression precision below. - .. code:: ipython3 - from IPython.display import display + from IPython.display import Markdown, display prepare_int4_model = widgets.Checkbox( value=True, @@ -562,13 +506,10 @@ We can now save floating point and compressed model variants .. code:: ipython3 - from optimum.intel import OVWeightQuantizationConfig - - nncf.set_log_level(logging.ERROR) + from pathlib import Path pt_model_id = model_configuration["model_id"] pt_model_name = model_id.value.split("-")[0] - model_type = AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True).model_type fp16_model_dir = Path(model_id.value) / "FP16" int8_model_dir = Path(model_id.value) / "INT8_compressed_weights" int4_model_dir = Path(model_id.value) / "INT4_compressed_weights" @@ -577,66 +518,28 @@ We can now save floating point and compressed model variants def convert_to_fp16(): if (fp16_model_dir / "openvino_model.xml").exists(): return - if not model_configuration["remote"]: - remote_code = model_configuration.get("remote_code", False) - model_kwargs = {} - if remote_code: - model_kwargs = { - "trust_remote_code": True, - "config": AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True) - } - ov_model = OVModelForCausalLM.from_pretrained( - pt_model_id, export=True, compile=False, load_in_8bit=False, **model_kwargs - ) - ov_model.half() - ov_model.save_pretrained(fp16_model_dir) - del ov_model - else: - model_kwargs = {} - if "revision" in model_configuration: - model_kwargs["revision"] = model_configuration["revision"] - model = AutoModelForCausalLM.from_pretrained( - model_configuration["model_id"], - torch_dtype=torch.float32, - trust_remote_code=True, - **model_kwargs - ) - converters[pt_model_name](model, fp16_model_dir) - del model - gc.collect() + remote_code = model_configuration.get("remote_code", False) + export_command_base = "optimum-cli export openvino --model {} --task text-generation-with-past --weight-format fp16".format(pt_model_id) + if remote_code: + export_command_base += " --trust-remote-code" + export_command = export_command_base + " " + str(fp16_model_dir) + display(Markdown("**Export command:**")) + display(Markdown(f"`{export_command}`")) + ! $export_command def convert_to_int8(): if (int8_model_dir / "openvino_model.xml").exists(): return int8_model_dir.mkdir(parents=True, exist_ok=True) - if not model_configuration["remote"]: - remote_code = model_configuration.get("remote_code", False) - model_kwargs = {} - if remote_code: - model_kwargs = { - "trust_remote_code": True, - "config": AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True) - } - ov_model = OVModelForCausalLM.from_pretrained( - pt_model_id, export=True, compile=False, load_in_8bit=True, **model_kwargs - ) - ov_model.save_pretrained(int8_model_dir) - del ov_model - else: - convert_to_fp16() - ov_model = ov.Core().read_model(fp16_model_dir / "openvino_model.xml") - shutil.copy(fp16_model_dir / "config.json", int8_model_dir / "config.json") - configuration_file = fp16_model_dir / f"configuration_{model_type}.py" - if configuration_file.exists(): - shutil.copy( - configuration_file, int8_model_dir / f"configuration_{model_type}.py" - ) - compressed_model = nncf.compress_weights(ov_model) - ov.save_model(compressed_model, int8_model_dir / "openvino_model.xml") - del ov_model - del compressed_model - gc.collect() + remote_code = model_configuration.get("remote_code", False) + export_command_base = "optimum-cli export openvino --model {} --task text-generation-with-past --weight-format int8".format(pt_model_id) + if remote_code: + export_command_base += " --trust-remote-code" + export_command = export_command_base + " " + str(int8_model_dir) + display(Markdown("**Export command:**")) + display(Markdown(f"`{export_command}`")) + ! $export_command def convert_to_int4(): @@ -686,12 +589,8 @@ We can now save floating point and compressed model variants "group_size": 128, "ratio": 0.72, }, - "qwen-7b-chat": { - "sym": True, - "group_size": 128, - "ratio": 0.6 - }, - 'red-pajama-3b-chat': { + "qwen-7b-chat": {"sym": True, "group_size": 128, "ratio": 0.6}, + "red-pajama-3b-chat": { "sym": False, "group_size": 128, "ratio": 0.5, @@ -703,44 +602,21 @@ We can now save floating point and compressed model variants }, } - model_compression_params = compression_configs.get( - model_id.value, compression_configs["default"] - ) + model_compression_params = compression_configs.get(model_id.value, compression_configs["default"]) if (int4_model_dir / "openvino_model.xml").exists(): return - int4_model_dir.mkdir(parents=True, exist_ok=True) - if not model_configuration["remote"]: - remote_code = model_configuration.get("remote_code", False) - model_kwargs = {} - if remote_code: - model_kwargs = { - "trust_remote_code" : True, - "config": AutoConfig.from_pretrained(pt_model_id, trust_remote_code=True) - } - ov_model = OVModelForCausalLM.from_pretrained( - pt_model_id, export=True, compile=False, - quantization_config=OVWeightQuantizationConfig(bits=4, **model_compression_params), - **model_kwargs - ) - ov_model.save_pretrained(int4_model_dir) - del ov_model - else: - convert_to_fp16() - ov_model = ov.Core().read_model(fp16_model_dir / "openvino_model.xml") - shutil.copy(fp16_model_dir / "config.json", int4_model_dir / "config.json") - configuration_file = fp16_model_dir / f"configuration_{model_type}.py" - if configuration_file.exists(): - shutil.copy( - configuration_file, int4_model_dir / f"configuration_{model_type}.py" - ) - mode = nncf.CompressWeightsMode.INT4_SYM if model_compression_params["sym"] else \ - nncf.CompressWeightsMode.INT4_ASYM - del model_compression_params["sym"] - compressed_model = nncf.compress_weights(ov_model, mode=mode, **model_compression_params) - ov.save_model(compressed_model, int4_model_dir / "openvino_model.xml") - del ov_model - del compressed_model - gc.collect() + remote_code = model_configuration.get("remote_code", False) + export_command_base = "optimum-cli export openvino --model {} --task text-generation-with-past --weight-format int4".format(pt_model_id) + int4_compression_args = " --group-size {} --ratio {}".format(model_compression_params["group_size"], model_compression_params["ratio"]) + if model_compression_params["sym"]: + int4_compression_args += " --sym" + export_command_base += int4_compression_args + if remote_code: + export_command_base += " --trust-remote-code" + export_command = export_command_base + " " + str(int4_model_dir) + display(Markdown("**Export command:**")) + display(Markdown(f"`{export_command}`")) + ! $export_command if prepare_fp16_model.value: @@ -752,61 +628,55 @@ We can now save floating point and compressed model variants -.. parsed-literal:: +**Export command:** - modeling_qwen.py: 0%| | 0.00/55.6k [00:00 True + /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( - /home/ethan/.cache/huggingface/modules/transformers_modules/Qwen/Qwen-7B-Chat/8d24619bab456ea5abe2823c1d05fc5edec19174/modeling_qwen.py:811: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if batch_size <= 0: - /home/ethan/.cache/huggingface/modules/transformers_modules/Qwen/Qwen-7B-Chat/8d24619bab456ea5abe2823c1d05fc5edec19174/modeling_qwen.py:835: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - elif kv_seq_len != hidden_states.size()[1]: - /home/ethan/.cache/huggingface/modules/transformers_modules/Qwen/Qwen-7B-Chat/8d24619bab456ea5abe2823c1d05fc5edec19174/modeling_qwen.py:1288: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if seqlen > self._seq_len_cached or ntk_alpha != self._ntk_alpha_cached: - /home/ethan/.cache/huggingface/modules/transformers_modules/Qwen/Qwen-7B-Chat/8d24619bab456ea5abe2823c1d05fc5edec19174/modeling_qwen.py:482: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if key_size > self.seq_length and self.use_logn_attn and not self.training: - /home/ethan/.cache/huggingface/modules/transformers_modules/Qwen/Qwen-7B-Chat/8d24619bab456ea5abe2823c1d05fc5edec19174/modeling_qwen.py:502: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! - if query.size(1) == key_size: - /home/ethan/intel/openvino_notebooks/openvino_env/lib/python3.11/site-packages/torch/jit/_trace.py:160: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed. Its .grad attribute won't be populated during autograd.backward(). If you indeed want the .grad field to be populated for a non-leaf Tensor, use .retain_grad() on the non-leaf Tensor. If you access the non-leaf Tensor by mistake, make sure you access the leaf Tensor instead. See github.com/pytorch/pytorch/pull/30531 for more informations. (Triggered internally at aten/src/ATen/core/TensorBody.h:489.) - if a.grad is not None: - + The cos_cached attribute will be removed in 4.39. Bear in mind that its contents changed in v4.38. Use the forward method of RoPE from now on instead. It is not used in the `LlamaAttention` class + The sin_cached attribute will be removed in 4.39. Bear in mind that its contents changed in v4.38. Use the forward method of RoPE from now on instead. It is not used in the `LlamaAttention` class + /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/optimum/exporters/openvino/model_patcher.py:311: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + if sequence_length != 1: + Mixed-Precision assignment ━━━━━━━━━━━━━━━━━━━━ 100% 154/154 • 0:00:11 • 0:00:00;0;104;181m0:00:01181m0:00:01 + INFO:nncf:Statistics of the bitwidth distribution: + ┍━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑ + │ Num bits (N) │ % all parameters (layers) │ % ratio-defining parameters (layers) │ + ┝━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ + │ 8 │ 30% (42 / 156) │ 20% (40 / 154) │ + ├────────────────┼─────────────────────────────┼────────────────────────────────────────┤ + │ 4 │ 70% (114 / 156) │ 80% (114 / 154) │ + ┕━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙ + Applying Weight Compression ━━━━━━━━━━━━━━━━━━━ 100% 156/156 • 0:00:26 • 0:00:00;0;104;181m0:00:01181m0:00:02 + Let’s compare model size for different compression types @@ -820,18 +690,14 @@ Let’s compare model size for different compression types print(f"Size of FP16 model is {fp16_weights.stat().st_size / 1024 / 1024:.2f} MB") for precision, compressed_weights in zip([8, 4], [int8_weights, int4_weights]): if compressed_weights.exists(): - print( - f"Size of model with INT{precision} compressed weights is {compressed_weights.stat().st_size / 1024 / 1024:.2f} MB" - ) + print(f"Size of model with INT{precision} compressed weights is {compressed_weights.stat().st_size / 1024 / 1024:.2f} MB") if compressed_weights.exists() and fp16_weights.exists(): - print( - f"Compression rate for INT{precision} model: {fp16_weights.stat().st_size / compressed_weights.stat().st_size:.3f}" - ) + print(f"Compression rate for INT{precision} model: {fp16_weights.stat().st_size / compressed_weights.stat().st_size:.3f}") .. parsed-literal:: - Size of FP16 model is 14729.26 MB + Size of model with INT4 compressed weights is 696.19 MB Select device for inference and model variant @@ -844,7 +710,10 @@ Select device for inference and model variant .. code:: ipython3 + import openvino as ov + core = ov.Core() + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], value="CPU", @@ -859,17 +728,10 @@ Select device for inference and model variant .. parsed-literal:: - Dropdown(description='Device:', options=('CPU', 'AUTO'), value='CPU') + Dropdown(description='Device:', options=('CPU', 'GPU.0', 'GPU.1', 'AUTO'), value='CPU') -The cell below create ``OVMPTModel`` and ``OVCHATGLM2Model`` wrapper -based on ``OVModelForCausalLM`` model. - -.. code:: ipython3 - - from ov_llm_model import model_classes - The cell below demonstrates how to instantiate model based on selected variant of model weights and inference device @@ -897,13 +759,50 @@ variant of model weights and inference device .. parsed-literal:: - Dropdown(description='Model to run:', options=('FP16',), value='FP16') + Dropdown(description='Model to run:', options=('INT4',), value='INT4') +Instantiate Model using Optimum Intel +------------------------------------- + + + +Optimum Intel can be used to load optimized models from the `Hugging +Face Hub `__ and +create pipelines to run an inference with OpenVINO Runtime using Hugging +Face APIs. The Optimum Inference models are API compatible with Hugging +Face Transformers models. This means we just need to replace +``AutoModelForXxx`` class with the corresponding ``OVModelForXxx`` +class. + +Below is an example of the RedPajama model + +.. code:: diff + + -from transformers import AutoModelForCausalLM + +from optimum.intel.openvino import OVModelForCausalLM + from transformers import AutoTokenizer, pipeline + + model_id = "togethercomputer/RedPajama-INCITE-Chat-3B-v1" + -model = AutoModelForCausalLM.from_pretrained(model_id) + +model = OVModelForCausalLM.from_pretrained(model_id, export=True) + +Model class initialization starts with calling ``from_pretrained`` +method. When downloading and converting Transformers model, the +parameter ``export=True`` should be added (as we already converted model +before, we do not need to provide this parameter). We can save the +converted model for the next usage with the ``save_pretrained`` method. +Tokenizer class and pipelines API are compatible with Optimum models. + +You can find more details about OpenVINO LLM inference using HuggingFace +Optimum API in `LLM inference +guide `__. + .. code:: ipython3 - from transformers import AutoTokenizer + from transformers import AutoConfig, AutoTokenizer + from optimum.intel.openvino import OVModelForCausalLM if model_to_run.value == "INT4": model_dir = int4_model_dir @@ -921,15 +820,9 @@ variant of model weights and inference device ov_config["INFERENCE_PRECISION_HINT"] = "f32" model_name = model_configuration["model_id"] - class_key = model_id.value.split("-")[0] - tok = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) + tok = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True) - model_class = ( - OVModelForCausalLM - if not model_configuration["remote"] - else model_classes[class_key] - ) - ov_model = model_class.from_pretrained( + ov_model = OVModelForCausalLM.from_pretrained( model_dir, device=device.value, ov_config=ov_config, @@ -937,18 +830,6 @@ variant of model weights and inference device trust_remote_code=True, ) - -.. parsed-literal:: - - Loading model from qwen-7b-chat/FP16 - - -.. parsed-literal:: - - The argument `trust_remote_code` is to be used along with export=True. It will be ignored. - Compiling the model to CPU ... - - .. code:: ipython3 tokenizer_kwargs = model_configuration.get("tokenizer_kwargs", {}) @@ -960,7 +841,12 @@ variant of model weights and inference device .. parsed-literal:: - 2 + 2 = (1 + Setting `pad_token_id` to `eos_token_id`:2 for open-end generation. + + +.. parsed-literal:: + + 2 + 2 = 4 Run Chatbot @@ -991,7 +877,7 @@ decoding methods in this generation updates conversation history for next conversation step. it makes stronger connection of next question with previously provided and allows user to make clarifications regarding previously provided -answers. +answers.https://docs.openvino.ai/2024/learn-openvino/llm_inference_guide.html | There are several parameters that can control text generation quality: \* ``Temperature`` is a parameter used to control the level of @@ -1041,10 +927,12 @@ answers. A token that has already appeared five times is penalized more heavily than a token that has appeared only one time. A value of 1 means that there is no penalty and values larger than 1 discourage - repeated tokens. + repeated + tokens.https://docs.openvino.ai/2024/learn-openvino/llm_inference_guide.html .. code:: ipython3 + import torch from threading import Event, Thread from uuid import uuid4 from typing import List, Tuple @@ -1081,9 +969,7 @@ answers. ["Can you explain to me briefly what is Python programming language?"], ["Explain the plot of Cinderella in a sentence."], ["What are some common mistakes to avoid when writing code?"], - [ - "Write a 100-word blog post on “Benefits of Artificial Intelligence and OpenVINO“" - ], + ["Write a 100-word blog post on “Benefits of Artificial Intelligence and OpenVINO“"], ] japanese_examples = [ @@ -1096,13 +982,7 @@ answers. ["人工知能と「OpenVINOの利点」について100語程度のブログ記事を書いてください。"], ] - examples = ( - chinese_examples - if (model_language.value == "Chinese") - else japanese_examples - if (model_language.value == "Japanese") - else english_examples - ) + examples = chinese_examples if (model_language.value == "Chinese") else japanese_examples if (model_language.value == "Japanese") else english_examples max_new_tokens = 256 @@ -1111,9 +991,7 @@ answers. def __init__(self, token_ids): self.token_ids = token_ids - def __call__( - self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs - ) -> bool: + def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool: for stop_id in self.token_ids: if input_ids[0][-1] == stop_id: return True @@ -1142,9 +1020,7 @@ answers. return partial_text - text_processor = model_configuration.get( - "partial_text_processor", default_partial_text_processor - ) + text_processor = model_configuration.get("partial_text_processor", default_partial_text_processor) def convert_history_to_token(history: List[Tuple[str, str]]): @@ -1158,7 +1034,7 @@ answers. if pt_model_name == "baichuan2": system_tokens = tok.encode(start_message) history_tokens = [] - for (old_query, response) in history[:-1]: + for old_query, response in history[:-1]: round_tokens = [] round_tokens.append(195) round_tokens.extend(tok.encode(old_query)) @@ -1180,23 +1056,11 @@ answers. messages.append({"role": "user", "content": user_msg}) if model_msg: messages.append({"role": "assistant", "content": model_msg}) - - input_token = tok.apply_chat_template(messages, - add_generation_prompt=True, - tokenize=True, - return_tensors="pt") + + input_token = tok.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_tensors="pt") else: text = start_message + "".join( - [ - "".join( - [ - history_template.format( - num=round, user=item[0], assistant=item[1] - ) - ] - ) - for round, item in enumerate(history[:-1]) - ] + ["".join([history_template.format(num=round, user=item[0], assistant=item[1])]) for round, item in enumerate(history[:-1])] ) text += "".join( [ @@ -1250,9 +1114,7 @@ answers. if input_ids.shape[1] > 2000: history = [history[-1]] input_ids = convert_history_to_token(history) - streamer = TextIteratorStreamer( - tok, timeout=30.0, skip_prompt=True, skip_special_tokens=True - ) + streamer = TextIteratorStreamer(tok, timeout=30.0, skip_prompt=True, skip_special_tokens=True) generate_kwargs = dict( input_ids=input_ids, max_new_tokens=max_new_tokens, @@ -1264,8 +1126,7 @@ answers. streamer=streamer, ) if stop_tokens is not None: - generate_kwargs["stopping_criteria"] = StoppingCriteriaList( - stop_tokens) + generate_kwargs["stopping_criteria"] = StoppingCriteriaList(stop_tokens) stream_complete = Event() @@ -1304,8 +1165,7 @@ answers. css=".disclaimer {font-variant-caps: all-small-caps;}", ) as demo: conversation_id = gr.State(get_uuid) - gr.Markdown( - f"""

OpenVINO {model_id.value} Chatbot

""") + gr.Markdown(f"""

OpenVINO {model_id.value} Chatbot

""") chatbot = gr.Chatbot(height=500) with gr.Row(): with gr.Column(): @@ -1370,9 +1230,7 @@ answers. interactive=True, info="Penalize repetition — 1.0 to disable.", ) - gr.Examples( - examples, inputs=msg, label="Click on any example and press the 'Submit' button" - ) + gr.Examples(examples, inputs=msg, label="Click on any example and press the 'Submit' button") submit_event = msg.submit( fn=user, @@ -1431,8 +1289,11 @@ answers. # please uncomment and run this cell for stopping gradio interface # demo.close() +Next Step +~~~~~~~~~ -.. parsed-literal:: - - Closing server running on port: 5467 - +Besides chatbot, we can use LangChain to augmenting LLM knowledge with +additional data, which allow you to build AI applications that can +reason about private data or data introduced after a model’s cutoff +date. You can find this solution in `Retrieval-augmented generation +(RAG) example <../llm-rag-langchain/>`__. diff --git a/docs/notebooks/275-llm-question-answering-with-output.rst b/docs/notebooks/llm-question-answering-with-output.rst similarity index 90% rename from docs/notebooks/275-llm-question-answering-with-output.rst rename to docs/notebooks/llm-question-answering-with-output.rst index a28ba2c40c0..272d5c9b7a2 100644 --- a/docs/notebooks/275-llm-question-answering-with-output.rst +++ b/docs/notebooks/llm-question-answering-with-output.rst @@ -67,7 +67,7 @@ Prerequisites .. code:: ipython3 %pip uninstall -q -y openvino openvino-dev openvino-nightly optimum optimum-intel - %pip install -q openvino-nightly "nncf>=2.7" "transformers>=4.36.0" onnx "optimum>=1.16.1" "accelerate" "datasets" gradio "git+https://github.com/huggingface/optimum-intel.git" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "torch>=2.1" openvino-nightly "nncf>=2.7" "transformers>=4.36.0" onnx "optimum>=1.16.1" "accelerate" "datasets>=2.14.6" "gradio>=4.19" "git+https://github.com/huggingface/optimum-intel.git" --extra-index-url https://download.pytorch.org/whl/cpu Select model for inference -------------------------- @@ -219,7 +219,7 @@ previous step and cached key values to get the next token prediction. Compress model weights ---------------------- -The Weights Compression + The Weights Compression algorithm is aimed at compressing the weights of the models and can be used to optimize the model footprint and performance of large models where the size of weights is relatively larger than the size of @@ -238,7 +238,7 @@ method of ``OVModelForCausalLM``. For 4 bit compression we provide ``quantization_config=OVWeightQuantizationConfig(bits=4, ...)`` argument containing number of bits and other compression parameters. An example of this approach usage you can find in `llm-chatbot -notebook <254-llm-chatbot-with-output.html>`__ +notebook <../llm-chatbot>`__ Weights Compression using NNCF ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -310,7 +310,7 @@ compression. from optimum.utils import NormalizedTextConfig, NormalizedConfigManager import gc - NormalizedConfigManager._conf['phi'] = NormalizedTextConfig + NormalizedConfigManager._conf["phi"] = NormalizedTextConfig nncf.set_log_level(logging.ERROR) @@ -321,6 +321,7 @@ compression. core = ov.Core() + def convert_to_fp16(): if (fp16_model_dir / "openvino_model.xml").exists(): return @@ -347,16 +348,12 @@ compression. "group_size": 64, "ratio": 0.6, }, - 'red-pajama-3b-instruct': { + "red-pajama-3b-instruct": { "sym": False, "group_size": 128, "ratio": 0.5, }, - "dolly-v2-3b": { - "sym": False, - "group_size": 32, - "ratio": 0.5 - }, + "dolly-v2-3b": {"sym": False, "group_size": 32, "ratio": 0.5}, "default": { "sym": False, "group_size": 128, @@ -364,14 +361,14 @@ compression. }, } - model_compression_params = compression_configs.get( - model_id.value, compression_configs["default"] - ) + model_compression_params = compression_configs.get(model_id.value, compression_configs["default"]) if (int4_model_dir / "openvino_model.xml").exists(): return ov_model = OVModelForCausalLM.from_pretrained( - pt_model_id, export=True, compile=False, - quantization_config=OVWeightQuantizationConfig(bits=4, **model_compression_params) + pt_model_id, + export=True, + compile=False, + quantization_config=OVWeightQuantizationConfig(bits=4, **model_compression_params), ) ov_model.save_pretrained(int4_model_dir) del ov_model @@ -410,13 +407,9 @@ Let’s compare model size for different compression types print(f"Size of FP16 model is {fp16_weights.stat().st_size / 1024 / 1024:.2f} MB") for precision, compressed_weights in zip([8, 4], [int8_weights, int4_weights]): if compressed_weights.exists(): - print( - f"Size of model with INT{precision} compressed weights is {compressed_weights.stat().st_size / 1024 / 1024:.2f} MB" - ) + print(f"Size of model with INT{precision} compressed weights is {compressed_weights.stat().st_size / 1024 / 1024:.2f} MB") if compressed_weights.exists() and fp16_weights.exists(): - print( - f"Compression rate for INT{precision} model: {fp16_weights.stat().st_size / compressed_weights.stat().st_size:.3f}" - ) + print(f"Compression rate for INT{precision} model: {fp16_weights.stat().st_size / compressed_weights.stat().st_size:.3f}") .. parsed-literal:: @@ -670,11 +663,15 @@ into model with providing additional context. raise ValueError(f"Expected only a single token for '{key}' but found {token_ids}") return token_ids[0] + response_key = model_configuration.get("response_key") tokenizer_response_key = None if response_key is not None: - tokenizer_response_key = next((token for token in tokenizer.additional_special_tokens if token.startswith(response_key)), None) + tokenizer_response_key = next( + (token for token in tokenizer.additional_special_tokens if token.startswith(response_key)), + None, + ) end_key_token_id = None if tokenizer_response_key: @@ -707,10 +704,17 @@ parameter and returns model response. .. code:: ipython3 - def run_generation(user_text:str, top_p:float, temperature:float, top_k:int, max_new_tokens:int, perf_text:str): + def run_generation( + user_text: str, + top_p: float, + temperature: float, + top_k: int, + max_new_tokens: int, + perf_text: str, + ): """ Text generation function - + Parameters: user_text (str): User-provided instruction for a generation. top_p (float): Nucleus sampling. If set to < 1, only the smallest set of most probable tokens with probabilities that add up to top_p or higher are kept for a generation. @@ -722,10 +726,10 @@ parameter and returns model response. model_output (str) - model-generated text perf_text (str) - updated perf text filed content """ - + # Prepare input prompt according to model expected template prompt_text = prompt_template.format(instruction=user_text) - + # Tokenize the user text. model_inputs = tokenizer(prompt_text, return_tensors="pt", **tokenizer_kwargs) @@ -741,7 +745,7 @@ parameter and returns model response. temperature=float(temperature), top_k=top_k, eos_token_id=end_key_token_id, - pad_token_id=pad_token_id + pad_token_id=pad_token_id, ) t = Thread(target=ov_model.generate, kwargs=generate_kwargs) t.start() @@ -770,17 +774,23 @@ elements. .. code:: ipython3 - def estimate_latency(current_time:float, current_perf_text:str, new_gen_text:str, per_token_time:List[float], num_tokens:int): + def estimate_latency( + current_time: float, + current_perf_text: str, + new_gen_text: str, + per_token_time: List[float], + num_tokens: int, + ): """ Helper function for performance estimation - + Parameters: current_time (float): This step time in seconds. current_perf_text (str): Current content of performance UI field. new_gen_text (str): New generated text. per_token_time (List[float]): history of performance from previous steps. num_tokens (int): Total number of generated tokens. - + Returns: update for performance text field update for a total number of tokens @@ -790,18 +800,22 @@ elements. per_token_time.append(num_current_toks / current_time) if len(per_token_time) > 10 and len(per_token_time) % 4 == 0: current_bucket = per_token_time[:-10] - return f"Average generation speed: {np.mean(current_bucket):.2f} tokens/s. Total generated tokens: {num_tokens}", num_tokens + return ( + f"Average generation speed: {np.mean(current_bucket):.2f} tokens/s. Total generated tokens: {num_tokens}", + num_tokens, + ) return current_perf_text, num_tokens - def reset_textbox(instruction:str, response:str, perf:str): + + def reset_textbox(instruction: str, response: str, perf: str): """ Helper function for resetting content of all text fields - + Parameters: instruction (str): Content of user instruction field. response (str): Content of model response field. perf (str): Content of performance info filed - + Returns: empty string for each placeholder """ @@ -846,7 +860,6 @@ generation parameters: ] - with gr.Blocks() as demo: gr.Markdown( "# Question Answering with " + model_id.value + " and OpenVINO.\n" @@ -857,7 +870,7 @@ generation parameters: with gr.Column(scale=4): user_text = gr.Textbox( placeholder="Write an email about an alpaca that likes flan", - label="User instruction" + label="User instruction", ) model_output = gr.Textbox(label="Model response", interactive=False) performance = gr.Textbox(label="Performance", lines=1, interactive=False) @@ -867,21 +880,53 @@ generation parameters: gr.Examples(examples, user_text) with gr.Column(scale=1): max_new_tokens = gr.Slider( - minimum=1, maximum=1000, value=256, step=1, interactive=True, label="Max New Tokens", + minimum=1, + maximum=1000, + value=256, + step=1, + interactive=True, + label="Max New Tokens", ) top_p = gr.Slider( - minimum=0.05, maximum=1.0, value=0.92, step=0.05, interactive=True, label="Top-p (nucleus sampling)", + minimum=0.05, + maximum=1.0, + value=0.92, + step=0.05, + interactive=True, + label="Top-p (nucleus sampling)", ) top_k = gr.Slider( - minimum=0, maximum=50, value=0, step=1, interactive=True, label="Top-k", + minimum=0, + maximum=50, + value=0, + step=1, + interactive=True, + label="Top-k", ) temperature = gr.Slider( - minimum=0.1, maximum=5.0, value=0.8, step=0.1, interactive=True, label="Temperature", + minimum=0.1, + maximum=5.0, + value=0.8, + step=0.1, + interactive=True, + label="Temperature", ) - user_text.submit(run_generation, [user_text, top_p, temperature, top_k, max_new_tokens, performance], [model_output, performance]) - button_submit.click(run_generation, [user_text, top_p, temperature, top_k, max_new_tokens, performance], [model_output, performance]) - button_clear.click(reset_textbox, [user_text, model_output, performance], [user_text, model_output, performance]) + user_text.submit( + run_generation, + [user_text, top_p, temperature, top_k, max_new_tokens, performance], + [model_output, performance], + ) + button_submit.click( + run_generation, + [user_text, top_p, temperature, top_k, max_new_tokens, performance], + [model_output, performance], + ) + button_clear.click( + reset_textbox, + [user_text, model_output, performance], + [user_text, model_output, performance], + ) if __name__ == "__main__": demo.queue() diff --git a/docs/notebooks/llm-rag-langchain-with-output.rst b/docs/notebooks/llm-rag-langchain-with-output.rst new file mode 100644 index 00000000000..bed0e01fc09 --- /dev/null +++ b/docs/notebooks/llm-rag-langchain-with-output.rst @@ -0,0 +1,1269 @@ +Create a RAG system using OpenVINO and LangChain +================================================ + +**Retrieval-augmented generation (RAG)** is a technique for augmenting +LLM knowledge with additional, often private or real-time, data. LLMs +can reason about wide-ranging topics, but their knowledge is limited to +the public data up to a specific point in time that they were trained +on. If you want to build AI applications that can reason about private +data or data introduced after a model’s cutoff date, you need to augment +the knowledge of the model with the specific information it needs. The +process of bringing the appropriate information and inserting it into +the model prompt is known as Retrieval Augmented Generation (RAG). + +`LangChain `__ +is a framework for developing applications powered by language models. +It has a number of components specifically designed to help build RAG +applications. In this tutorial, we’ll build a simple question-answering +application over a text data source. + +The tutorial consists of the following steps: + +- Install prerequisites +- Download and convert the model from a public source using the + `OpenVINO integration with Hugging Face + Optimum `__. +- Compress model weights to 4-bit or 8-bit data types using + `NNCF `__ +- Create a RAG chain pipeline +- Run Q&A pipeline + +In this example, the customized RAG pipeline consists of following +components in order, where embedding, rerank and LLM will be deployed +with OpenVINO to optimize their inference performance. + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/91237924/0076f6c7-75e4-4c2e-9015-87b355e5ca28 + :alt: RAG + + RAG + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Select model for inference <#select-model-for-inference>`__ +- `login to huggingfacehub to get access to pretrained + model <#login-to-huggingfacehub-to-get-access-to-pretrained-model>`__ +- `Convert model and compress model + weights <#convert-model-and-compress-model-weights>`__ + + - `Convert LLM model <#convert-llm-model>`__ + - `Weights Compression using + Optimum-CLI <#weights-compression-using-optimum-cli>`__ + - `Convert embedding model <#convert-embedding-model>`__ + - `Convert rerank model <#convert-rerank-model>`__ + +- `Select device for inference and model + variant <#select-device-for-inference-and-model-variant>`__ + + - `Select device for embedding model + inference <#select-device-for-embedding-model-inference>`__ + - `Select device for rerank model + inference <#select-device-for-rerank-model-inference>`__ + - `Select device for LLM model + inference <#select-device-for-llm-model-inference>`__ + +- `Load model <#load-model>`__ + + - `Load embedding model <#load-embedding-model>`__ + - `Load rerank model <#load-rerank-model>`__ + - `Load LLM model <#load-llm-model>`__ + +- `Run QA over Document <#run-qa-over-document>`__ + +Prerequisites +------------- + + + +Install required dependencies + +.. code:: ipython3 + + %pip uninstall -q -y openvino-dev openvino openvino-nightly optimum optimum-intel + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu\ + "git+https://github.com/huggingface/optimum-intel.git"\ + "git+https://github.com/openvinotoolkit/nncf.git"\ + "datasets"\ + "accelerate"\ + "openvino-nightly"\ + "gradio"\ + "onnx" "einops" "transformers_stream_generator" "tiktoken" "transformers>=4.38.1" "bitsandbytes" "chromadb" "sentence_transformers" "langchain>=0.1.15" "langchainhub" "unstructured" "scikit-learn" "python-docx" "pdfminer.six" + +.. code:: ipython3 + + import shutil + from pathlib import Path + import requests + + # fetch model configuration + + config_shared_path = Path("../../utils/llm_config.py") + config_dst_path = Path("llm_config.py") + + if not config_dst_path.exists(): + if config_shared_path.exists(): + shutil.copy(config_shared_path, config_dst_path) + else: + r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/llm_config.py") + with open("llm_config.py", "w") as f: + f.write(r.text) + +Select model for inference +-------------------------- + + + +The tutorial supports different models, you can select one from the +provided options to compare the quality of open source LLM solutions. + + **Note**: conversion of some models can require additional actions + from user side and at least 64GB RAM for conversion. + +The available embedding model options are: + +- `bge-small-en-v1.5 `__ +- `bge-small-zh-v1.5 `__ +- `bge-large-en-v1.5 `__ +- `bge-large-zh-v1.5 `__ + +BGE embedding is a general Embedding Model. The model is pre-trained +using RetroMAE and trained on large-scale pair data using contrastive +learning. + +The available rerank model options are: + +- `bge-reranker-large `__ +- `bge-reranker-base `__ + +Reranker model with cross-encoder will perform full-attention over the +input pair, which is more accurate than embedding model (i.e., +bi-encoder) but more time-consuming than embedding model. Therefore, it +can be used to re-rank the top-k documents returned by embedding model. + +You can also find available LLM model options in +`llm-chatbot <../llm-chatbot/README.md>`__ notebook. + +.. code:: ipython3 + + from pathlib import Path + from optimum.intel.openvino import ( + OVModelForSequenceClassification, + OVModelForFeatureExtraction, + ) + import openvino as ov + import torch + import ipywidgets as widgets + from transformers import ( + AutoTokenizer, + TextIteratorStreamer, + StoppingCriteria, + StoppingCriteriaList, + ) + +Convert model and compress model weights +---------------------------------------- + + + +The Weights Compression algorithm is aimed at compressing the weights of +the models and can be used to optimize the model footprint and +performance of large models where the size of weights is relatively +larger than the size of activations, for example, Large Language Models +(LLM). Compared to INT8 compression, INT4 compression improves +performance even more, but introduces a minor drop in prediction +quality. + +Convert LLM model +~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + from llm_config import ( + SUPPORTED_EMBEDDING_MODELS, + SUPPORTED_RERANK_MODELS, + SUPPORTED_LLM_MODELS, + ) + + model_languages = list(SUPPORTED_LLM_MODELS) + + model_language = widgets.Dropdown( + options=model_languages, + value=model_languages[0], + description="Model Language:", + disabled=False, + ) + + model_language + +.. code:: ipython3 + + llm_model_ids = [model_id for model_id, model_config in SUPPORTED_LLM_MODELS[model_language.value].items() if model_config.get("rag_prompt_template")] + + llm_model_id = widgets.Dropdown( + options=llm_model_ids, + value=llm_model_ids[-1], + description="Model:", + disabled=False, + ) + + llm_model_id + +.. code:: ipython3 + + llm_model_configuration = SUPPORTED_LLM_MODELS[model_language.value][llm_model_id.value] + print(f"Selected LLM model {llm_model_id.value}") + +`Optimum Intel `__ is +the interface between the +`Transformers `__ and +`Diffusers `__ libraries +and OpenVINO to accelerate end-to-end pipelines on Intel architectures. +It provides ease-to-use cli interface for exporting models to `OpenVINO +Intermediate Representation +(IR) `__ +format. + +The command bellow demonstrates basic command for model export with +``optimum-cli`` + +:: + + optimum-cli export openvino --model --task + +where ``--model`` argument is model id from HuggingFace Hub or local +directory with model (saved using ``.save_pretrained`` method), +``--task`` is one of `supported +task `__ +that exported model should solve. For LLMs it will be +``text-generation-with-past``. If model initialization requires to use +remote code, ``--trust-remote-code`` flag additionally should be passed. + +Weights Compression using Optimum-CLI +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +You can also apply fp16, 8-bit or 4-bit weight compression on the +Linear, Convolutional and Embedding layers when exporting your model +with the CLI by setting ``--weight-format`` to respectively fp16, int8 +or int4. This type of optimization allows to reduce the memory footprint +and inference latency. By default the quantization scheme for int8/int4 +will be +`asymmetric `__, +to make it +`symmetric `__ +you can add ``--sym``. + +For INT4 quantization you can also specify the following arguments : + +- The ``--group-size`` parameter will define the group size to use for + quantization, -1 it will results in per-column quantization. +- The ``--ratio`` parameter controls the ratio between 4-bit and 8-bit + quantization. If set to 0.9, it means that 90% of the layers will be + quantized to int4 while 10% will be quantized to int8. + +Smaller group_size and ratio values usually improve accuracy at the +sacrifice of the model size and inference latency. + + **Note**: There may be no speedup for INT4/INT8 compressed models on + dGPU. + +.. code:: ipython3 + + from IPython.display import Markdown, display + + prepare_int4_model = widgets.Checkbox( + value=True, + description="Prepare INT4 model", + disabled=False, + ) + prepare_int8_model = widgets.Checkbox( + value=False, + description="Prepare INT8 model", + disabled=False, + ) + prepare_fp16_model = widgets.Checkbox( + value=False, + description="Prepare FP16 model", + disabled=False, + ) + + display(prepare_int4_model) + display(prepare_int8_model) + display(prepare_fp16_model) + +.. code:: ipython3 + + pt_model_id = llm_model_configuration["model_id"] + pt_model_name = llm_model_id.value.split("-")[0] + fp16_model_dir = Path(llm_model_id.value) / "FP16" + int8_model_dir = Path(llm_model_id.value) / "INT8_compressed_weights" + int4_model_dir = Path(llm_model_id.value) / "INT4_compressed_weights" + + + def convert_to_fp16(): + if (fp16_model_dir / "openvino_model.xml").exists(): + return + remote_code = llm_model_configuration.get("remote_code", False) + export_command_base = "optimum-cli export openvino --model {} --task text-generation-with-past --weight-format fp16".format(pt_model_id) + if remote_code: + export_command_base += " --trust-remote-code" + export_command = export_command_base + " " + str(fp16_model_dir) + display(Markdown("**Export command:**")) + display(Markdown(f"`{export_command}`")) + ! $export_command + + + def convert_to_int8(): + if (int8_model_dir / "openvino_model.xml").exists(): + return + int8_model_dir.mkdir(parents=True, exist_ok=True) + remote_code = llm_model_configuration.get("remote_code", False) + export_command_base = "optimum-cli export openvino --model {} --task text-generation-with-past --weight-format int8".format(pt_model_id) + if remote_code: + export_command_base += " --trust-remote-code" + export_command = export_command_base + " " + str(int8_model_dir) + display(Markdown("**Export command:**")) + display(Markdown(f"`{export_command}`")) + ! $export_command + + + def convert_to_int4(): + compression_configs = { + "zephyr-7b-beta": { + "sym": True, + "group_size": 64, + "ratio": 0.6, + }, + "mistral-7b": { + "sym": True, + "group_size": 64, + "ratio": 0.6, + }, + "minicpm-2b-dpo": { + "sym": True, + "group_size": 64, + "ratio": 0.6, + }, + "gemma-2b-it": { + "sym": True, + "group_size": 64, + "ratio": 0.6, + }, + "notus-7b-v1": { + "sym": True, + "group_size": 64, + "ratio": 0.6, + }, + "neural-chat-7b-v3-1": { + "sym": True, + "group_size": 64, + "ratio": 0.6, + }, + "llama-2-chat-7b": { + "sym": True, + "group_size": 128, + "ratio": 0.8, + }, + "gemma-7b-it": { + "sym": True, + "group_size": 128, + "ratio": 0.8, + }, + "chatglm2-6b": { + "sym": True, + "group_size": 128, + "ratio": 0.72, + }, + "qwen-7b-chat": {"sym": True, "group_size": 128, "ratio": 0.6}, + "red-pajama-3b-chat": { + "sym": False, + "group_size": 128, + "ratio": 0.5, + }, + "default": { + "sym": False, + "group_size": 128, + "ratio": 0.8, + }, + } + + model_compression_params = compression_configs.get(llm_model_id.value, compression_configs["default"]) + if (int4_model_dir / "openvino_model.xml").exists(): + return + remote_code = llm_model_configuration.get("remote_code", False) + export_command_base = "optimum-cli export openvino --model {} --task text-generation-with-past --weight-format int4".format(pt_model_id) + int4_compression_args = " --group-size {} --ratio {}".format(model_compression_params["group_size"], model_compression_params["ratio"]) + if model_compression_params["sym"]: + int4_compression_args += " --sym" + export_command_base += int4_compression_args + if remote_code: + export_command_base += " --trust-remote-code" + export_command = export_command_base + " " + str(int4_model_dir) + display(Markdown("**Export command:**")) + display(Markdown(f"`{export_command}`")) + ! $export_command + + + if prepare_fp16_model.value: + convert_to_fp16() + if prepare_int8_model.value: + convert_to_int8() + if prepare_int4_model.value: + convert_to_int4() + +Let’s compare model size for different compression types + +.. code:: ipython3 + + fp16_weights = fp16_model_dir / "openvino_model.bin" + int8_weights = int8_model_dir / "openvino_model.bin" + int4_weights = int4_model_dir / "openvino_model.bin" + + if fp16_weights.exists(): + print(f"Size of FP16 model is {fp16_weights.stat().st_size / 1024 / 1024:.2f} MB") + for precision, compressed_weights in zip([8, 4], [int8_weights, int4_weights]): + if compressed_weights.exists(): + print(f"Size of model with INT{precision} compressed weights is {compressed_weights.stat().st_size / 1024 / 1024:.2f} MB") + if compressed_weights.exists() and fp16_weights.exists(): + print(f"Compression rate for INT{precision} model: {fp16_weights.stat().st_size / compressed_weights.stat().st_size:.3f}") + +Convert embedding model +~~~~~~~~~~~~~~~~~~~~~~~ + + + +Since some embedding models can only support limited languages, we can +filter them out according the LLM you selected. + +.. code:: ipython3 + + embedding_model_id = list(SUPPORTED_EMBEDDING_MODELS[model_language.value]) + + embedding_model_id = widgets.Dropdown( + options=embedding_model_id, + value=embedding_model_id[0], + description="Embedding Model:", + disabled=False, + ) + + embedding_model_id + +.. code:: ipython3 + + embedding_model_configuration = SUPPORTED_EMBEDDING_MODELS[model_language.value][embedding_model_id.value] + print(f"Selected {embedding_model_id.value} model") + +Optimum Intel can be used to load optimized models from the `Hugging +Face Hub `__ and +create pipelines to run an inference with OpenVINO Runtime using Hugging +Face APIs. The Optimum Inference models are API compatible with Hugging +Face Transformers models. This means we just need to replace +``AutoModelForXxx`` class with the corresponding ``OVModelForXxx`` +class. In this example, we can use ``OVModelForFeatureExtraction`` to +load and export embedding model. + +.. code:: ipython3 + + if not Path(embedding_model_id.value).exists(): + ov_model = OVModelForFeatureExtraction.from_pretrained(embedding_model_configuration["model_id"], compile=False, export=True) + tokenizer = AutoTokenizer.from_pretrained(embedding_model_configuration["model_id"]) + ov_model.half() + ov_model.save_pretrained(embedding_model_id.value) + tokenizer.save_pretrained(embedding_model_id.value) + +Convert rerank model +~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + rerank_model_id = list(SUPPORTED_RERANK_MODELS) + + rerank_model_id = widgets.Dropdown( + options=rerank_model_id, + value=rerank_model_id[0], + description="Rerank Model:", + disabled=False, + ) + + rerank_model_id + +.. code:: ipython3 + + rerank_model_configuration = SUPPORTED_RERANK_MODELS[rerank_model_id.value] + print(f"Selected {rerank_model_id.value} model") + +Since ``rerank`` model is sort of sentence classification task, we can +use ``OVModelForSequenceClassification`` to load and export rerank +model. + +.. code:: ipython3 + + if not Path(rerank_model_id.value).exists(): + ov_model = OVModelForSequenceClassification.from_pretrained(rerank_model_configuration["model_id"], compile=False, export=True) + tokenizer = AutoTokenizer.from_pretrained(rerank_model_configuration["model_id"]) + ov_model.half() + ov_model.save_pretrained(rerank_model_id.value) + tokenizer.save_pretrained(rerank_model_id.value) + +Select device for inference and model variant +--------------------------------------------- + + + + **Note**: There may be no speedup for INT4/INT8 compressed models on + dGPU. + +Select device for embedding model inference +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + core = ov.Core() + embedding_device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="CPU", + description="Device:", + disabled=False, + ) + + embedding_device + +.. code:: ipython3 + + print(f"Embedding model will be loaded to {embedding_device.value} device for text embedding") + +Select device for rerank model inference +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + rerank_device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="CPU", + description="Device:", + disabled=False, + ) + + rerank_device + +.. code:: ipython3 + + print(f"Rerenk model will be loaded to {rerank_device.value} device for text reranking") + +Select device for LLM model inference +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + llm_device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="CPU", + description="Device:", + disabled=False, + ) + + llm_device + +.. code:: ipython3 + + print(f"LLM model will be loaded to {llm_device.value} device for response generation") + +Load models +----------- + + + +Load embedding model +~~~~~~~~~~~~~~~~~~~~ + + + +Now a Hugging Face embedding model can be supported by OpenVINO through +`OpenVINOEmbeddings `__ +and +`OpenVINOBgeEmbeddings `__\ classes +of LangChain. + +.. code:: ipython3 + + from langchain_community.embeddings import OpenVINOBgeEmbeddings + + embedding_model_name = embedding_model_id.value + embedding_model_kwargs = {"device": embedding_device.value} + encode_kwargs = { + "mean_pooling": embedding_model_configuration["mean_pooling"], + "normalize_embeddings": embedding_model_configuration["normalize_embeddings"], + } + + embedding = OpenVINOBgeEmbeddings( + model_name_or_path=embedding_model_name, + model_kwargs=embedding_model_kwargs, + encode_kwargs=encode_kwargs, + ) + + text = "This is a test document." + embedding_result = embedding.embed_query(text) + embedding_result[:3] + +Load rerank model +~~~~~~~~~~~~~~~~~ + + + +Now a Hugging Face embedding model can be supported by OpenVINO through +`OpenVINOReranker `__ +class of LangChain. + + **Note**: Rerank can be skipped in RAG. + +.. code:: ipython3 + + from langchain_community.document_compressors.openvino_rerank import OpenVINOReranker + + rerank_model_name = rerank_model_id.value + rerank_model_kwargs = {"device": rerank_device.value} + rerank_top_n = 2 + + reranker = OpenVINOReranker( + model_name_or_path=rerank_model_name, + model_kwargs=rerank_model_kwargs, + top_n=rerank_top_n, + ) + +Load LLM model +~~~~~~~~~~~~~~ + + + +OpenVINO models can be run locally through the ``HuggingFacePipeline`` +class. To deploy a model with OpenVINO, you can specify the +``backend="openvino"`` parameter to trigger OpenVINO as backend +inference framework. + +.. code:: ipython3 + + available_models = [] + if int4_model_dir.exists(): + available_models.append("INT4") + if int8_model_dir.exists(): + available_models.append("INT8") + if fp16_model_dir.exists(): + available_models.append("FP16") + + model_to_run = widgets.Dropdown( + options=available_models, + value=available_models[0], + description="Model to run:", + disabled=False, + ) + + model_to_run + +OpenVINO models can be run locally through the ``HuggingFacePipeline`` +class in +`LangChain `__. +To deploy a model with OpenVINO, you can specify the +``backend="openvino"`` parameter to trigger OpenVINO as backend +inference framework. + +.. code:: ipython3 + + from langchain_community.llms.huggingface_pipeline import HuggingFacePipeline + + if model_to_run.value == "INT4": + model_dir = int4_model_dir + elif model_to_run.value == "INT8": + model_dir = int8_model_dir + else: + model_dir = fp16_model_dir + print(f"Loading model from {model_dir}") + + ov_config = {"PERFORMANCE_HINT": "LATENCY", "NUM_STREAMS": "1", "CACHE_DIR": ""} + + # On a GPU device a model is executed in FP16 precision. For red-pajama-3b-chat model there known accuracy + # issues caused by this, which we avoid by setting precision hint to "f32". + if llm_model_id.value == "red-pajama-3b-chat" and "GPU" in core.available_devices and llm_device.value in ["GPU", "AUTO"]: + ov_config["INFERENCE_PRECISION_HINT"] = "f32" + + llm = HuggingFacePipeline.from_model_id( + model_id=str(model_dir), + task="text-generation", + backend="openvino", + model_kwargs={ + "device": llm_device.value, + "ov_config": ov_config, + "trust_remote_code": True, + }, + pipeline_kwargs={"max_new_tokens": 2}, + ) + + llm.invoke("2 + 2 =") + +Run QA over Document +-------------------- + + + +Now, when model created, we can setup Chatbot interface using +`Gradio `__. + +A typical RAG application has two main components: + +- **Indexing**: a pipeline for ingesting data from a source and + indexing it. This usually happen offline. + +- **Retrieval and generation**: the actual RAG chain, which takes the + user query at run time and retrieves the relevant data from the + index, then passes that to the model. + +The most common full sequence from raw data to answer looks like: + +**Indexing** + +1. ``Load``: First we need to load our data. We’ll use DocumentLoaders + for this. +2. ``Split``: Text splitters break large Documents into smaller chunks. + This is useful both for indexing data and for passing it in to a + model, since large chunks are harder to search over and won’t in a + model’s finite context window. +3. ``Store``: We need somewhere to store and index our splits, so that + they can later be searched over. This is often done using a + VectorStore and Embeddings model. + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/91237924/dfed2ba3-0c3a-4e0e-a2a7-01638730486a + :alt: Indexing pipeline + + Indexing pipeline + +**Retrieval and generation** + +1. ``Retrieve``: Given a user input, relevant splits are retrieved from + storage using a Retriever. +2. ``Generate``: A LLM produces an answer using a prompt that includes + the question and the retrieved data. + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/91237924/f0545ddc-c0cd-4569-8c86-9879fdab105a + :alt: Retrieval and generation pipeline + + Retrieval and generation pipeline + +.. code:: ipython3 + + from typing import List + from langchain.text_splitter import ( + CharacterTextSplitter, + RecursiveCharacterTextSplitter, + MarkdownTextSplitter, + ) + from langchain.document_loaders import ( + CSVLoader, + EverNoteLoader, + PDFMinerLoader, + TextLoader, + UnstructuredEPubLoader, + UnstructuredHTMLLoader, + UnstructuredMarkdownLoader, + UnstructuredODTLoader, + UnstructuredPowerPointLoader, + UnstructuredWordDocumentLoader, + ) + + + class ChineseTextSplitter(CharacterTextSplitter): + def __init__(self, pdf: bool = False, **kwargs): + super().__init__(**kwargs) + self.pdf = pdf + + def split_text(self, text: str) -> List[str]: + if self.pdf: + text = re.sub(r"\n{3,}", "\n", text) + text = text.replace("\n\n", "") + sent_sep_pattern = re.compile('([﹒﹔﹖﹗.。!?]["’”」』]{0,2}|(?=["‘“「『]{1,2}|$))') + sent_list = [] + for ele in sent_sep_pattern.split(text): + if sent_sep_pattern.match(ele) and sent_list: + sent_list[-1] += ele + elif ele: + sent_list.append(ele) + return sent_list + + + TEXT_SPLITERS = { + "Character": CharacterTextSplitter, + "RecursiveCharacter": RecursiveCharacterTextSplitter, + "Markdown": MarkdownTextSplitter, + "Chinese": ChineseTextSplitter, + } + + + LOADERS = { + ".csv": (CSVLoader, {}), + ".doc": (UnstructuredWordDocumentLoader, {}), + ".docx": (UnstructuredWordDocumentLoader, {}), + ".enex": (EverNoteLoader, {}), + ".epub": (UnstructuredEPubLoader, {}), + ".html": (UnstructuredHTMLLoader, {}), + ".md": (UnstructuredMarkdownLoader, {}), + ".odt": (UnstructuredODTLoader, {}), + ".pdf": (PDFMinerLoader, {}), + ".ppt": (UnstructuredPowerPointLoader, {}), + ".pptx": (UnstructuredPowerPointLoader, {}), + ".txt": (TextLoader, {"encoding": "utf8"}), + } + +We can build a RAG pipeline of LangChain through +`create_retrieval_chain `__, +which will help to create a chain to connect RAG components including: + +- `Vector stores `__\ , +- `Retrievers `__ +- `LLM `__ +- `Embedding `__ + +.. code:: ipython3 + + from langchain.prompts import PromptTemplate + from langchain.vectorstores import Chroma + from langchain.chains.retrieval import create_retrieval_chain + from langchain.chains.combine_documents import create_stuff_documents_chain + from langchain.docstore.document import Document + from langchain.retrievers import ContextualCompressionRetriever + from threading import Thread + import gradio as gr + + stop_tokens = llm_model_configuration.get("stop_tokens") + + + class StopOnTokens(StoppingCriteria): + def __init__(self, token_ids): + self.token_ids = token_ids + + def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool: + for stop_id in self.token_ids: + if input_ids[0][-1] == stop_id: + return True + return False + + + if stop_tokens is not None: + if isinstance(stop_tokens[0], str): + stop_tokens = llm.pipeline.tokenizer.convert_tokens_to_ids(stop_tokens) + + stop_tokens = [StopOnTokens(stop_tokens)] + + + def load_single_document(file_path: str) -> List[Document]: + """ + helper for loading a single document + + Params: + file_path: document path + Returns: + documents loaded + + """ + ext = "." + file_path.rsplit(".", 1)[-1] + if ext in LOADERS: + loader_class, loader_args = LOADERS[ext] + loader = loader_class(file_path, **loader_args) + return loader.load() + + raise ValueError(f"File does not exist '{ext}'") + + + def default_partial_text_processor(partial_text: str, new_text: str): + """ + helper for updating partially generated answer, used by default + + Params: + partial_text: text buffer for storing previosly generated text + new_text: text update for the current step + Returns: + updated text string + + """ + partial_text += new_text + return partial_text + + + text_processor = llm_model_configuration.get("partial_text_processor", default_partial_text_processor) + + + def create_vectordb( + docs, + spliter_name, + chunk_size, + chunk_overlap, + vector_search_top_k, + vector_search_top_n, + run_rerank, + ): + """ + Initialize a vector database + + Params: + doc: orignal documents provided by user + chunk_size: size of a single sentence chunk + chunk_overlap: overlap size between 2 chunks + vector_search_top_k: Vector search top k + + """ + documents = [] + for doc in docs: + documents.extend(load_single_document(doc.name)) + + text_splitter = TEXT_SPLITERS[spliter_name](chunk_size=chunk_size, chunk_overlap=chunk_overlap) + + texts = text_splitter.split_documents(documents) + + global db + db = Chroma.from_documents(texts, embedding) + + global retriever + retriever = db.as_retriever(search_kwargs={"k": vector_search_top_k}) + if run_rerank: + reranker.top_n = vector_search_top_n + retriever = ContextualCompressionRetriever(base_compressor=reranker, base_retriever=retriever) + prompt = PromptTemplate.from_template(llm_model_configuration["rag_prompt_template"]) + + global combine_docs_chain + combine_docs_chain = create_stuff_documents_chain(llm, prompt) + global rag_chain + rag_chain = create_retrieval_chain(retriever, combine_docs_chain) + + return "Vector database is Ready" + + + def update_retriever(vector_search_top_k, vector_rerank_top_n, run_rerank, search_method): + """ + Update retriever + + Params: + vector_search_top_k: size of searching results + vector_rerank_top_n: size of rerank results + run_rerank: whether run rerank step + search_method: search method used by vector store + + """ + global retriever + global db + global rag_chain + global combine_docs_chain + + retriever = db.as_retriever(search_kwargs={"k": vector_search_top_k}, search_type=search_method) + if run_rerank: + retriever = ContextualCompressionRetriever(base_compressor=reranker, base_retriever=retriever) + reranker.top_n = vector_rerank_top_n + rag_chain = create_retrieval_chain(retriever, combine_docs_chain) + + + def user(message, history): + """ + callback function for updating user messages in interface on submit button click + + Params: + message: current message + history: conversation history + Returns: + None + """ + # Append the user's message to the conversation history + return "", history + [[message, ""]] + + + def bot(history, temperature, top_p, top_k, repetition_penalty, hide_full_prompt): + """ + callback function for running chatbot on submit button click + + Params: + history: conversation history + temperature: parameter for control the level of creativity in AI-generated text. + By adjusting the `temperature`, you can influence the AI model's probability distribution, making the text more focused or diverse. + top_p: parameter for control the range of tokens considered by the AI model based on their cumulative probability. + top_k: parameter for control the range of tokens considered by the AI model based on their cumulative probability, selecting number of tokens with highest probability. + repetition_penalty: parameter for penalizing tokens based on how frequently they occur in the text. + hide_full_prompt: whether to show searching results in promopt. + + """ + streamer = TextIteratorStreamer( + llm.pipeline.tokenizer, + timeout=60.0, + skip_prompt=hide_full_prompt, + skip_special_tokens=True, + ) + llm.pipeline._forward_params = dict( + max_new_tokens=512, + temperature=temperature, + do_sample=temperature > 0.0, + top_p=top_p, + top_k=top_k, + repetition_penalty=repetition_penalty, + streamer=streamer, + ) + if stop_tokens is not None: + llm.pipeline._forward_params["stopping_criteria"] = StoppingCriteriaList(stop_tokens) + + t1 = Thread(target=rag_chain.invoke, args=({"input": history[-1][0]},)) + t1.start() + + # Initialize an empty string to store the generated text + partial_text = "" + for new_text in streamer: + partial_text = text_processor(partial_text, new_text) + history[-1][1] = partial_text + yield history + + + def request_cancel(): + llm.pipeline.model.request.cancel() + + + with gr.Blocks( + theme=gr.themes.Soft(), + css=".disclaimer {font-variant-caps: all-small-caps;}", + ) as demo: + gr.Markdown("""

QA over Document

""") + gr.Markdown(f"""
Powered by OpenVINO and {llm_model_id.value}
""") + with gr.Row(): + with gr.Column(scale=1): + docs = gr.File( + label="Step 1: Load text files", + file_count="multiple", + file_types=[ + ".csv", + ".doc", + ".docx", + ".enex", + ".epub", + ".html", + ".md", + ".odt", + ".pdf", + ".ppt", + ".pptx", + ".txt", + ], + ) + load_docs = gr.Button("Step 2: Build Vector Store") + db_argument = gr.Accordion("Vector Store Configuration", open=False) + with db_argument: + spliter = gr.Dropdown( + ["Character", "RecursiveCharacter", "Markdown", "Chinese"], + value="RecursiveCharacter", + label="Text Spliter", + info="Method used to splite the documents", + multiselect=False, + ) + + chunk_size = gr.Slider( + label="Chunk size", + value=700, + minimum=100, + maximum=2000, + step=50, + interactive=True, + info="Size of sentence chunk", + ) + + chunk_overlap = gr.Slider( + label="Chunk overlap", + value=100, + minimum=0, + maximum=400, + step=10, + interactive=True, + info=("Overlap between 2 chunks"), + ) + + langchain_status = gr.Textbox( + label="Vector Store Status", + value="Vector Store is Not ready", + interactive=False, + ) + with gr.Accordion("Generation Configuration", open=False): + with gr.Row(): + with gr.Column(): + with gr.Row(): + temperature = gr.Slider( + label="Temperature", + value=0.1, + minimum=0.0, + maximum=1.0, + step=0.1, + interactive=True, + info="Higher values produce more diverse outputs", + ) + with gr.Column(): + with gr.Row(): + top_p = gr.Slider( + label="Top-p (nucleus sampling)", + value=1.0, + minimum=0.0, + maximum=1, + step=0.01, + interactive=True, + info=( + "Sample from the smallest possible set of tokens whose cumulative probability " + "exceeds top_p. Set to 1 to disable and sample from all tokens." + ), + ) + with gr.Column(): + with gr.Row(): + top_k = gr.Slider( + label="Top-k", + value=50, + minimum=0.0, + maximum=200, + step=1, + interactive=True, + info="Sample from a shortlist of top-k tokens — 0 to disable and sample from all tokens.", + ) + with gr.Column(): + with gr.Row(): + repetition_penalty = gr.Slider( + label="Repetition Penalty", + value=1.1, + minimum=1.0, + maximum=2.0, + step=0.1, + interactive=True, + info="Penalize repetition — 1.0 to disable.", + ) + with gr.Column(scale=4): + chatbot = gr.Chatbot( + height=600, + label="Step 3: Input Query", + ) + with gr.Row(): + with gr.Column(): + with gr.Row(): + msg = gr.Textbox( + label="QA Message Box", + placeholder="Chat Message Box", + show_label=False, + container=False, + ) + with gr.Column(): + with gr.Row(): + submit = gr.Button("Submit") + stop = gr.Button("Stop") + clear = gr.Button("Clear") + retriever_argument = gr.Accordion("Retriever Configuration", open=True) + with retriever_argument: + with gr.Row(): + with gr.Row(): + do_rerank = gr.Checkbox( + value=True, + label="Rerank searching result", + interactive=True, + ) + hide_context = gr.Checkbox( + value=True, + label="Hide searching result in prompt", + interactive=True, + ) + with gr.Row(): + search_method = gr.Dropdown( + ["similarity", "mmr"], + value="similarity", + label="Searching Method", + info="Method used to search vector store", + multiselect=False, + interactive=True, + ) + with gr.Row(): + vector_rerank_top_n = gr.Slider( + 1, + 10, + value=2, + step=1, + label="Rerank top n", + info="Number of rerank results", + interactive=True, + ) + with gr.Row(): + vector_search_top_k = gr.Slider( + 1, + 50, + value=10, + step=1, + label="Search top k", + info="Number of searching results, must >= Rerank top n", + interactive=True, + ) + load_docs.click( + create_vectordb, + inputs=[ + docs, + spliter, + chunk_size, + chunk_overlap, + vector_search_top_k, + vector_rerank_top_n, + do_rerank, + ], + outputs=[langchain_status], + queue=False, + ) + submit_event = msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then( + bot, + [chatbot, temperature, top_p, top_k, repetition_penalty, hide_context], + chatbot, + queue=True, + ) + submit_click_event = submit.click(user, [msg, chatbot], [msg, chatbot], queue=False).then( + bot, + [chatbot, temperature, top_p, top_k, repetition_penalty, hide_context], + chatbot, + queue=True, + ) + stop.click( + fn=request_cancel, + inputs=None, + outputs=None, + cancels=[submit_event, submit_click_event], + queue=False, + ) + clear.click(lambda: None, None, chatbot, queue=False) + vector_search_top_k.change( + update_retriever, + [vector_search_top_k, vector_rerank_top_n, do_rerank, search_method], + ) + vector_rerank_top_n.change( + update_retriever, + [vector_search_top_k, vector_rerank_top_n, do_rerank, search_method], + ) + do_rerank.change( + update_retriever, + [vector_search_top_k, vector_rerank_top_n, do_rerank, search_method], + ) + search_method.change( + update_retriever, + [vector_search_top_k, vector_rerank_top_n, do_rerank, search_method], + ) + + + demo.queue() + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # if you have any issue to launch on your platform, you can pass share=True to launch method: + # demo.launch(share=True) + # it creates a publicly shareable link for the interface. Read more in the docs: https://gradio.app/docs/ + demo.launch() + +.. code:: ipython3 + + # please run this cell for stopping gradio interface + demo.close() diff --git a/docs/notebooks/125-lraspp-segmentation-with-output.rst b/docs/notebooks/lraspp-segmentation-with-output.rst similarity index 77% rename from docs/notebooks/125-lraspp-segmentation-with-output.rst rename to docs/notebooks/lraspp-segmentation-with-output.rst index 2920db91b5e..ddd384c280c 100644 --- a/docs/notebooks/125-lraspp-segmentation-with-output.rst +++ b/docs/notebooks/lraspp-segmentation-with-output.rst @@ -61,14 +61,29 @@ Prerequisites .. parsed-literal:: - Note: you may need to restart the kernel to use updated packages. - + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -90,23 +105,26 @@ First of all lets get a test image from an open dataset. .. code:: ipython3 - import urllib.request + import requests from torchvision.io import read_image import torchvision.transforms as transforms - img_path = 'cats_image.jpeg' - urllib.request.urlretrieve( - url='https://huggingface.co/datasets/huggingface/cats-image/resolve/main/cats_image.jpeg', - filename=img_path + img_path = "cats_image.jpeg" + r = requests.get( + url="https://huggingface.co/datasets/huggingface/cats-image/resolve/main/cats_image.jpeg", ) + + with open(img_path, "wb") as f: + f.write(r.content) + image = read_image(img_path) display(transforms.ToPILImage()(image)) -.. image:: 125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_5_0.png +.. image:: lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_5_0.png Download and prepare a model @@ -191,7 +209,7 @@ Run an inference on the PyTorch model model.eval() with torch.no_grad(): - result_torch = model(torch.as_tensor(input_data).float())['out'] + result_torch = model(torch.as_tensor(input_data).float())["out"] Convert the original model to OpenVINO IR Format ------------------------------------------------ @@ -205,7 +223,7 @@ directory. For more information on how to convert models, see this .. code:: ipython3 - ov_model_xml_path = Path('models/ov_lraspp_model.xml') + ov_model_xml_path = Path("models/ov_lraspp_model.xml") if not ov_model_xml_path.exists(): @@ -230,8 +248,8 @@ Select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -277,7 +295,7 @@ visualize the image with a ``cat`` mask for the PyTorch model. import torchvision.transforms.functional as F - plt.rcParams["savefig.bbox"] = 'tight' + plt.rcParams["savefig.bbox"] = "tight" def show(imgs): @@ -295,21 +313,39 @@ Prepare and display a cat mask. .. code:: ipython3 sem_classes = [ - '__background__', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', - 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', - 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor' + "__background__", + "aeroplane", + "bicycle", + "bird", + "boat", + "bottle", + "bus", + "car", + "cat", + "chair", + "cow", + "diningtable", + "dog", + "horse", + "motorbike", + "person", + "pottedplant", + "sheep", + "sofa", + "train", + "tvmonitor", ] sem_class_to_idx = {cls: idx for (idx, cls) in enumerate(sem_classes)} normalized_mask = torch.nn.functional.softmax(result_torch, dim=1) - cat_mask = normalized_mask[0, sem_class_to_idx['cat']] + cat_mask = normalized_mask[0, sem_class_to_idx["cat"]] show(cat_mask) -.. image:: 125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_28_0.png +.. image:: lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_28_0.png The @@ -322,7 +358,7 @@ following: .. code:: ipython3 class_dim = 1 - boolean_cat_mask = (normalized_mask.argmax(class_dim) == sem_class_to_idx['cat']) + boolean_cat_mask = normalized_mask.argmax(class_dim) == sem_class_to_idx["cat"] And now we can plot a boolean mask on top of the original image. @@ -330,11 +366,11 @@ And now we can plot a boolean mask on top of the original image. from torchvision.utils import draw_segmentation_masks - show(draw_segmentation_masks(image, masks=boolean_cat_mask, alpha=0.7, colors='yellow')) + show(draw_segmentation_masks(image, masks=boolean_cat_mask, alpha=0.7, colors="yellow")) -.. image:: 125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_32_0.png +.. image:: lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_32_0.png Show results for the OpenVINO IR model @@ -345,10 +381,10 @@ Show results for the OpenVINO IR model .. code:: ipython3 normalized_mask = torch.nn.functional.softmax(torch.from_numpy(res_ir), dim=1) - boolean_cat_mask = (normalized_mask.argmax(class_dim) == sem_class_to_idx['cat']) - show(draw_segmentation_masks(image, masks=boolean_cat_mask, alpha=0.7, colors='yellow')) + boolean_cat_mask = normalized_mask.argmax(class_dim) == sem_class_to_idx["cat"] + show(draw_segmentation_masks(image, masks=boolean_cat_mask, alpha=0.7, colors="yellow")) -.. image:: 125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_34_0.png +.. image:: lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_34_0.png diff --git a/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_28_0.png b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_28_0.png new file mode 100644 index 00000000000..fcd66628777 --- /dev/null +++ b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_28_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95d793138fdc24454e9f7499ddbe5eea3e6a4d0b5700e5ed0d643839c3ff1996 +size 87576 diff --git a/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_32_0.png b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_32_0.png new file mode 100644 index 00000000000..3601a35a2bf --- /dev/null +++ b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_32_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cb37ba3ed5d8529d6669019dfdbf3f2287890603f347fad9699da417c9068fd +size 385522 diff --git a/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_34_0.png b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_34_0.png new file mode 100644 index 00000000000..d8b1d0fe5ef --- /dev/null +++ b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_34_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5474002d82c8e70a73650967a1cc02dc57bf6c0c8fb31b415cba9edfcadebb3 +size 385520 diff --git a/docs/notebooks/125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_5_0.jpg b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_5_0.jpg similarity index 100% rename from docs/notebooks/125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_5_0.jpg rename to docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_5_0.jpg diff --git a/docs/notebooks/125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_5_0.png b/docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_5_0.png similarity index 100% rename from docs/notebooks/125-lraspp-segmentation-with-output_files/125-lraspp-segmentation-with-output_5_0.png rename to docs/notebooks/lraspp-segmentation-with-output_files/lraspp-segmentation-with-output_5_0.png diff --git a/docs/notebooks/221-machine-translation-with-output.rst b/docs/notebooks/machine-translation-with-output.rst similarity index 80% rename from docs/notebooks/221-machine-translation-with-output.rst rename to docs/notebooks/machine-translation-with-output.rst index c7431e97707..ba5b6d33ee2 100644 --- a/docs/notebooks/221-machine-translation-with-output.rst +++ b/docs/notebooks/machine-translation-with-output.rst @@ -31,25 +31,15 @@ Table of contents: .. code:: ipython3 # # Install requirements - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" tqdm %pip install -q tokenizers -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -58,14 +48,20 @@ Table of contents: .. code:: ipython3 import time - import sys import openvino as ov import numpy as np import itertools from pathlib import Path from tokenizers import SentencePieceBPETokenizer - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file Downloading model @@ -89,8 +85,16 @@ Make sure you have run ``pip install openvino-dev`` beforehand. src_tok_dir.mkdir(exist_ok=True) target_tok_dir.mkdir(exist_ok=True) - download_file(base_url + f'/{model_name}/{precision}/{model_name}.xml', f"{model_name}.xml", model_base_dir) - download_file(base_url + f'/{model_name}/{precision}/{model_name}.bin', f"{model_name}.bin", model_base_dir) + download_file( + base_url + f"/{model_name}/{precision}/{model_name}.xml", + f"{model_name}.xml", + model_base_dir, + ) + download_file( + base_url + f"/{model_name}/{precision}/{model_name}.bin", + f"{model_name}.bin", + model_base_dir, + ) download_file(f"{base_url}/{model_name}/tokenizer_src/merges.txt", "merges.txt", src_tok_dir) download_file(f"{base_url}/{model_name}/tokenizer_tgt/merges.txt", "merges.txt", target_tok_dir) download_file(f"{base_url}/{model_name}/tokenizer_src/vocab.json", "vocab.json", src_tok_dir) @@ -165,8 +169,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -205,14 +209,8 @@ Initialize the tokenizer for the input ``src_tokenizer`` and the output .. code:: ipython3 - src_tokenizer = SentencePieceBPETokenizer.from_file( - str(src_tok_dir / 'vocab.json'), - str(src_tok_dir / 'merges.txt') - ) - tgt_tokenizer = SentencePieceBPETokenizer.from_file( - str(target_tok_dir / 'vocab.json'), - str(target_tok_dir / 'merges.txt') - ) + src_tokenizer = SentencePieceBPETokenizer.from_file(str(src_tok_dir / "vocab.json"), str(src_tok_dir / "merges.txt")) + tgt_tokenizer = SentencePieceBPETokenizer.from_file(str(target_tok_dir / "vocab.json"), str(target_tok_dir / "merges.txt")) Perform translation ------------------- @@ -236,14 +234,13 @@ The following function translates a sentence in English to German. assert len(sentence) > 0 tokens = src_tokenizer.encode(sentence).ids # Transform the tokenized sentence into the model's input format - tokens = [src_tokenizer.token_to_id('')] + \ - tokens + [src_tokenizer.token_to_id('')] + tokens = [src_tokenizer.token_to_id("")] + tokens + [src_tokenizer.token_to_id("")] pad_length = max_tokens - len(tokens) # If the sentence size is less than the maximum allowed tokens, # fill the remaining tokens with ''. if pad_length > 0: - tokens = tokens + [src_tokenizer.token_to_id('')] * pad_length + tokens = tokens + [src_tokenizer.token_to_id("")] * pad_length assert len(tokens) == max_tokens, "input sentence is too long" encoded_sentence = np.array(tokens).reshape(1, -1) @@ -257,8 +254,8 @@ The following function translates a sentence in English to German. # Remove tokens, as well as '' and '' tokens which mark the # beginning and ending of the sentence. - for s in ['', '', '']: - sentence = sentence.replace(s, '') + for s in ["", "", ""]: + sentence = sentence.replace(s, "") # Transform sentence into lower case and join words by a white space sentence = sentence.lower().split() @@ -289,8 +286,8 @@ The following function is a basic loop that translates sentences. start_time = time.perf_counter() translated = translate(input_sentence) end_time = time.perf_counter() - print(f'Translated: {translated}') - print(f'Time: {end_time - start_time:.2f}s') + print(f"Translated: {translated}") + print(f"Time: {end_time - start_time:.2f}s") .. code:: ipython3 @@ -308,7 +305,7 @@ German .. code:: ipython3 sentence = "My name is openvino" - print(f'Translated: {translate(sentence)}') + print(f"Translated: {translate(sentence)}") .. parsed-literal:: diff --git a/docs/notebooks/magika-content-type-recognition-with-output.rst b/docs/notebooks/magika-content-type-recognition-with-output.rst new file mode 100644 index 00000000000..690fe008efa --- /dev/null +++ b/docs/notebooks/magika-content-type-recognition-with-output.rst @@ -0,0 +1,392 @@ +Magika: AI powered fast and efficient file type identification using OpenVINO +============================================================================= + +Magika is a novel AI powered file type detection tool that relies on the +recent advance of deep learning to provide accurate detection. Under the +hood, Magika employs a custom, highly optimized model that only weighs +about 1MB, and enables precise file identification within milliseconds, +even when running on a single CPU. + +Why identifying file type is difficult +-------------------------------------- + +Since the early days of computing, accurately detecting file types has +been crucial in determining how to process files. Linux comes equipped +with ``libmagic`` and the ``file`` utility, which have served as the de +facto standard for file type identification for over 50 years. Today web +browsers, code editors, and countless other software rely on file-type +detection to decide how to properly render a file. For example, modern +code editors use file-type detection to choose which syntax coloring +scheme to use as the developer starts typing in a new file. + +Accurate file-type detection is a notoriously difficult problem because +each file format has a different structure, or no structure at all. This +is particularly challenging for textual formats and programming +languages as they have very similar constructs. So far, ``libmagic`` and +most other file-type-identification software have been relying on a +handcrafted collection of heuristics and custom rules to detect each +file format. + +This manual approach is both time consuming and error prone as it is +hard for humans to create generalized rules by hand. In particular for +security applications, creating dependable detection is especially +challenging as attackers are constantly attempting to confuse detection +with adversarially-crafted payloads. + +To address this issue and provide fast and accurate file-type detection +Magika was developed. More details about approach and model can be found +in original `repo `__ and `Google’s +blog +post `__. + +In this tutorial we consider how to bring OpenVINO power into Magika. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Define model loading class <#define-model-loading-class>`__ +- `Run OpenVINO model inference <#run-openvino-model-inference>`__ + + - `Select device <#select-device>`__ + - `Create model <#create-model>`__ + - `Run inference on bytes input <#run-inference-on-bytes-input>`__ + - `Run inference on file input <#run-inference-on-file-input>`__ + +- `Interactive demo <#interactive-demo>`__ + +Prerequisites +------------- + + ## Prerequisites + +.. code:: ipython3 + + %pip uninstall -q -y openvino-dev openvino openvino-nightly + %pip install -q magika openvino-nightly "gradio>=4.19" + + +.. parsed-literal:: + + WARNING: Skipping openvino-nightly as it is not installed. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. + tensorflow 2.12.0 requires numpy<1.24,>=1.22, but you have numpy 1.24.4 which is incompatible. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Define model loading class +-------------------------- + + + +At inference time Magika uses ONNX as an inference engine to ensure +files are identified in a matter of milliseconds, almost as fast as a +non-AI tool even on CPU. The code below extending original Magika +inference class with OpenVINO API. The provided code is fully compatible +with original `Magika Python +API `__. + +.. code:: ipython3 + + import time + from pathlib import Path + from functools import partial + from typing import List, Tuple, Optional, Dict + + from magika import Magika + from magika.types import ModelFeatures, ModelOutput, MagikaResult + from magika.prediction_mode import PredictionMode + import numpy.typing as npt + import numpy as np + + import openvino as ov + + + class OVMagika(Magika): + def __init__( + self, + model_dir: Optional[Path] = None, + prediction_mode: PredictionMode = PredictionMode.HIGH_CONFIDENCE, + no_dereference: bool = False, + verbose: bool = False, + debug: bool = False, + use_colors: bool = False, + device="CPU", + ) -> None: + self._device = device + super().__init__(model_dir, prediction_mode, no_dereference, verbose, debug, use_colors) + + def _init_onnx_session(self): + # overload model loading using OpenVINO + start_time = time.time() + core = ov.Core() + ov_model = core.compile_model(self._model_path, self._device.upper()) + elapsed_time = 1000 * (time.time() - start_time) + self._log.debug(f'ONNX DL model "{self._model_path}" loaded in {elapsed_time:.03f} ms on {self._device}') + return ov_model + + def _get_raw_predictions(self, features: List[Tuple[Path, ModelFeatures]]) -> npt.NDArray: + """ + Given a list of (path, features), return a (files_num, features_size) + matrix encoding the predictions. + """ + + dataset_format = self._model_config["train_dataset_info"]["dataset_format"] + assert dataset_format == "int-concat/one-hot" + start_time = time.time() + X_bytes = [] + for _, fs in features: + sample_bytes = [] + if self._input_sizes["beg"] > 0: + sample_bytes.extend(fs.beg[: self._input_sizes["beg"]]) + if self._input_sizes["mid"] > 0: + sample_bytes.extend(fs.mid[: self._input_sizes["mid"]]) + if self._input_sizes["end"] > 0: + sample_bytes.extend(fs.end[-self._input_sizes["end"] :]) + X_bytes.append(sample_bytes) + X = np.array(X_bytes).astype(np.float32) + elapsed_time = time.time() - start_time + self._log.debug(f"DL input prepared in {elapsed_time:.03f} seconds") + + start_time = time.time() + raw_predictions_list = [] + samples_num = X.shape[0] + + max_internal_batch_size = 1000 + batches_num = samples_num // max_internal_batch_size + if samples_num % max_internal_batch_size != 0: + batches_num += 1 + + for batch_idx in range(batches_num): + self._log.debug(f"Getting raw predictions for (internal) batch {batch_idx+1}/{batches_num}") + start_idx = batch_idx * max_internal_batch_size + end_idx = min((batch_idx + 1) * max_internal_batch_size, samples_num) + batch_raw_predictions = self._onnx_session({"bytes": X[start_idx:end_idx, :]})["target_label"] + raw_predictions_list.append(batch_raw_predictions) + elapsed_time = time.time() - start_time + self._log.debug(f"DL raw prediction in {elapsed_time:.03f} seconds") + return np.concatenate(raw_predictions_list) + + def _get_topk_model_outputs_from_features(self, all_features: List[Tuple[Path, ModelFeatures]], k: int = 5) -> List[Tuple[Path, List[ModelOutput]]]: + """ + Helper function for getting top k the highest ranked model results for each feature + """ + raw_preds = self._get_raw_predictions(all_features) + top_preds_idxs = np.argsort(raw_preds, axis=1)[:, -k:][:, ::-1] + scores = [raw_preds[i, idx] for i, idx in enumerate(top_preds_idxs)] + results = [] + for (path, _), scores, top_idxes in zip(all_features, raw_preds, top_preds_idxs): + model_outputs_for_path = [] + for idx in top_idxes: + ct_label = self._target_labels_space_np[idx] + score = scores[idx] + model_outputs_for_path.append(ModelOutput(ct_label=ct_label, score=float(score))) + results.append((path, model_outputs_for_path)) + return results + + def _get_results_from_features_topk(self, all_features: List[Tuple[Path, ModelFeatures]], top_k=5) -> Dict[str, MagikaResult]: + """ + Helper function for getting top k the highest ranked model results for each feature + """ + # We now do inference for those files that need it. + + if len(all_features) == 0: + # nothing to be done + return {} + + outputs: Dict[str, MagikaResult] = {} + + for path, model_output in self._get_topk_model_outputs_from_features(all_features, top_k): + # In additional to the content type label from the DL model, we + # also allow for other logic to overwrite such result. For + # debugging and information purposes, the JSON output stores + # both the raw DL model output and the final output we return to + # the user. + results = [] + for out in model_output: + output_ct_label = self._get_output_ct_label_from_dl_result(out.ct_label, out.score) + + results.append( + self._get_result_from_labels_and_score( + path, + dl_ct_label=out.ct_label, + output_ct_label=output_ct_label, + score=out.score, + ) + ) + outputs[str(path)] = results + + return outputs + + def identify_bytes_topk(self, content: bytes, top_k=5) -> MagikaResult: + # Helper function for getting topk results from bytes + _get_results_from_features = self._get_results_from_features + self._get_results_from_features = partial(self._get_results_from_features_topk, top_k=top_k) + result = super().identify_bytes(content) + self._get_results_from_features = _get_results_from_features + return result + +Run OpenVINO model inference +---------------------------- + + + +Now let’s check model inference result. + +Select device +~~~~~~~~~~~~~ + + + +For starting work, please, select one of represented devices from +dropdown list. + +.. code:: ipython3 + + import ipywidgets as widgets + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Create model +~~~~~~~~~~~~ + + + +As we discussed above, our OpenVINO extended ``OVMagika`` class has the +same API like original one. Let’s try to create interface instance and +launch it on different input formats + +.. code:: ipython3 + + ov_magika = OVMagika(device=device.value) + +Run inference on bytes input +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + result = ov_magika.identify_bytes(b"# Example\nThis is an example of markdown!") + print(f"Content type: {result.output.ct_label} - {result.output.score * 100:.4}%") + + +.. parsed-literal:: + + Content type: markdown - 99.29% + + +Run inference on file input +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + import requests + + input_file = Path("./README.md") + if not input_file.exists(): + r = requests.get("https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/README.md") + with open("README.md", "w") as f: + f.write(r.text) + result = ov_magika.identify_path(input_file) + print(f"Content type: {result.output.ct_label} - {result.output.score * 100:.4}%") + + +.. parsed-literal:: + + Content type: markdown - 100.0% + + +Interactive demo +---------------- + + + +Now, you can try model on own files. Upload file into input file window, +click submit button and look on predicted file types. + +.. code:: ipython3 + + import gradio as gr + + + def classify(file_path): + """Classify file using classes listing. + Args: + file_path): path to input file + Returns: + (dict): Mapping between class labels and class probabilities. + """ + results = ov_magika.identify_bytes_topk(file_path) + + return {result.dl.ct_label: float(result.output.score) for result in results} + + + demo = gr.Interface( + classify, + [ + gr.File(label="Input file", type="binary"), + ], + gr.Label(label="Result"), + examples=[["./README.md"]], + allow_flagging="never", + ) + try: + demo.launch(debug=False) + except Exception: + demo.launch(share=True, debug=False) + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # Read more in the docs: https://gradio.app/docs/ + + +.. parsed-literal:: + + Running on local URL: http://127.0.0.1:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + diff --git a/docs/notebooks/203-meter-reader-with-output.rst b/docs/notebooks/meter-reader-with-output.rst similarity index 85% rename from docs/notebooks/203-meter-reader-with-output.rst rename to docs/notebooks/meter-reader-with-output.rst index bd4cc0975af..7bf9b2c083f 100644 --- a/docs/notebooks/203-meter-reader-with-output.rst +++ b/docs/notebooks/meter-reader-with-output.rst @@ -46,7 +46,7 @@ Table of contents: import platform # Install openvino package - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" opencv-python tqdm if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -72,7 +72,6 @@ Import .. code:: ipython3 import os - import sys from pathlib import Path import numpy as np import math @@ -81,13 +80,20 @@ Import import matplotlib.pyplot as plt import openvino as ov - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file, segmentation_map_to_image Prepare the Model and Test Image -------------------------------- -Download PPYOLOv2 and + Download PPYOLOv2 and DeepLabV3P pre-trained models from PaddlePaddle community. .. code:: ipython3 @@ -108,7 +114,7 @@ DeepLabV3P pre-trained models from PaddlePaddle community. file = tarfile.open(f"model/{DET_FILE_NAME}") res = file.extractall("model") if not res: - print(f"Detection Model Extracted to \"./{MODEL_DIR}\".") + print(f'Detection Model Extracted to "./{MODEL_DIR}".') else: print("Error Extracting the Detection model. Please check the network.") @@ -116,13 +122,13 @@ DeepLabV3P pre-trained models from PaddlePaddle community. file = tarfile.open(f"model/{SEG_FILE_NAME}") res = file.extractall("model") if not res: - print(f"Segmentation Model Extracted to \"./{MODEL_DIR}\".") + print(f'Segmentation Model Extracted to "./{MODEL_DIR}".') else: print("Error Extracting the Segmentation model. Please check the network.") download_file(IMG_LINK, directory=DATA_DIR, show_progress=True) if IMG_PATH.is_file(): - print(f"Test Image Saved to \"./{DATA_DIR}\".") + print(f'Test Image Saved to "./{DATA_DIR}".') else: print("Error Downloading the Test Image. Please check the network.") @@ -163,13 +169,13 @@ DeepLabV3P pre-trained models from PaddlePaddle community. Configuration ------------- -Add parameter configuration for + Add parameter configuration for reading calculation. .. code:: ipython3 - METER_SHAPE = [512, 512] - CIRCLE_CENTER = [256, 256] + METER_SHAPE = [512, 512] + CIRCLE_CENTER = [256, 256] CIRCLE_RADIUS = 250 PI = math.pi RECTANGLE_HEIGHT = 120 @@ -178,22 +184,17 @@ reading calculation. COLORMAP = np.array([[28, 28, 28], [238, 44, 44], [250, 250, 250]]) # There are 2 types of meters in test image datasets - METER_CONFIG = [{ - 'scale_interval_value': 25.0 / 50.0, - 'range': 25.0, - 'unit': "(MPa)" - }, { - 'scale_interval_value': 1.6 / 32.0, - 'range': 1.6, - 'unit': "(MPa)" - }] + METER_CONFIG = [ + {"scale_interval_value": 25.0 / 50.0, "range": 25.0, "unit": "(MPa)"}, + {"scale_interval_value": 1.6 / 32.0, "range": 1.6, "unit": "(MPa)"}, + ] - SEG_LABEL = {'background': 0, 'pointer': 1, 'scale': 2} + SEG_LABEL = {"background": 0, "pointer": 1, "scale": 2} Load the Models --------------- -Define a common class for model + Define a common class for model loading and inference .. code:: ipython3 @@ -207,11 +208,12 @@ loading and inference This class represents a OpenVINO model object. """ + def __init__(self, model_path, new_shape, device="CPU"): """ Initialize the model object - - Param: + + Param: model_path (string): path of inference model new_shape (dict): new shape of model input @@ -224,10 +226,10 @@ loading and inference def predict(self, input_image): """ Run inference - - Param: + + Param: input_image (np.array): input data - + Retuns: result (np.array)): model output data """ @@ -237,7 +239,7 @@ loading and inference Data Process ------------ -Including the preprocessing and + Including the preprocessing and postprocessing tasks of each model. .. code:: ipython3 @@ -246,12 +248,12 @@ postprocessing tasks of each model. """ Preprocessing the input data for detection task - Param: + Param: input_image (np.array): input data size (int): the image size required by model input layer Retuns: img.astype (np.array): preprocessed image - + """ img = cv2.resize(input_image, (target_size, target_size)) img = np.transpose(img, [2, 0, 1]) / 255 @@ -273,7 +275,7 @@ postprocessing tasks of each model. Retuns: filtered_results (list[dict]): filter detection results - + """ filtered_results = [] for i in range(len(det_results)): @@ -295,14 +297,19 @@ postprocessing tasks of each model. Retuns: roi_imgs (list[np.array]): the list of meter images loc (list[int]): the list of meter locations - + """ roi_imgs = [] loc = [] for result in results: bbox = result[2:] - xmin, ymin, xmax, ymax = [int(bbox[0] * scale_x), int(bbox[1] * scale_y), int(bbox[2] * scale_x), int(bbox[3] * scale_y)] - sub_img = image[ymin:(ymax + 1), xmin:(xmax + 1), :] + xmin, ymin, xmax, ymax = [ + int(bbox[0] * scale_x), + int(bbox[1] * scale_y), + int(bbox[2] * scale_x), + int(bbox[3] * scale_y), + ] + sub_img = image[ymin : (ymax + 1), xmin : (xmax + 1), :] roi_imgs.append(sub_img) loc.append([xmin, ymin, xmax, ymax]) return roi_imgs, loc @@ -321,7 +328,7 @@ postprocessing tasks of each model. Retuns: img_list (list[np.array]):the list of processed images resize_img (list[np.array]): for visualization - + """ img_list = list() resize_list = list() @@ -350,7 +357,7 @@ postprocessing tasks of each model. Return: eroded_results (list[dict]): the lab map of eroded_results - + """ kernel = np.ones((erode_kernel, erode_kernel), np.uint8) eroded_results = seg_results @@ -379,7 +386,7 @@ postprocessing tasks of each model. for row in range(RECTANGLE_HEIGHT): for col in range(RECTANGLE_WIDTH): theta = PI * 2 * (col + 1) / RECTANGLE_WIDTH - + # The radius of meter circle will be mapped to the height of rectangle image rho = CIRCLE_RADIUS - row - 1 y = int(CIRCLE_CENTER[0] + rho * math.cos(theta) + 0.5) @@ -409,9 +416,9 @@ postprocessing tasks of each model. line_pointer = np.zeros((width), dtype=np.uint8) for col in range(width): for row in range(height): - if rectangle_meter[row, col] == SEG_LABEL['pointer']: + if rectangle_meter[row, col] == SEG_LABEL["pointer"]: line_pointer[col] += 1 - elif rectangle_meter[row, col] == SEG_LABEL['scale']: + elif rectangle_meter[row, col] == SEG_LABEL["scale"]: line_scale[col] += 1 line_scales.append(line_scale) line_pointers.append(line_pointer) @@ -505,7 +512,7 @@ postprocessing tasks of each model. pointer_start = j find_start = True if find_start: - if line_pointer[j] == 0 and line_pointer[j + 1] == 0 : + if line_pointer[j] == 0 and line_pointer[j + 1] == 0: pointer_end = j - 1 location = (pointer_start + pointer_end) / 2 find_start = False @@ -526,18 +533,17 @@ postprocessing tasks of each model. pointed_scales (list[dict]): a list of dict with: 'num_scales': total number of scales 'pointed_scale': predicted number of scales - + """ pointed_scales = list() - for scale_location, pointer_location in zip(scale_locations, - pointer_locations): + for scale_location, pointer_location in zip(scale_locations, pointer_locations): num_scales = len(scale_location) pointed_scale = -1 if num_scales > 0: for i in range(num_scales - 1): if scale_location[i] <= pointer_location < scale_location[i + 1]: pointed_scale = i + (pointer_location - scale_location[i]) / (scale_location[i + 1] - scale_location[i] + 1e-05) + 1 - result = {'num_scales': num_scales, 'pointed_scale': pointed_scale} + result = {"num_scales": num_scales, "pointed_scale": pointed_scale} pointed_scales.append(result) return pointed_scales @@ -551,17 +557,17 @@ postprocessing tasks of each model. Return: readings (list[float]): the list of values read from meter - + """ readings = list() batch_size = len(pointed_scales) for i in range(batch_size): pointed_scale = pointed_scales[i] # find the type of meter according the total number of scales - if pointed_scale['num_scales'] > TYPE_THRESHOLD: - reading = pointed_scale['pointed_scale'] * METER_CONFIG[0]['scale_interval_value'] + if pointed_scale["num_scales"] > TYPE_THRESHOLD: + reading = pointed_scale["pointed_scale"] * METER_CONFIG[0]["scale_interval_value"] else: - reading = pointed_scale['pointed_scale'] * METER_CONFIG[1]['scale_interval_value'] + reading = pointed_scale["pointed_scale"] * METER_CONFIG[1]["scale_interval_value"] readings.append(reading) return readings @@ -583,8 +589,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -612,9 +618,13 @@ bounds of input batch size. img_file = f"{DATA_DIR}/{IMG_FILE_NAME}" det_model_path = f"{MODEL_DIR}/meter_det_model/model.pdmodel" - det_model_shape = {'image': [1, 3, 608, 608], 'im_shape': [1, 2], 'scale_factor': [1, 2]} + det_model_shape = { + "image": [1, 3, 608, 608], + "im_shape": [1, 2], + "scale_factor": [1, 2], + } seg_model_path = f"{MODEL_DIR}/meter_seg_model/model.pdmodel" - seg_model_shape = {'image': [ov.Dimension(1, 2), 3, 512, 512]} + seg_model_shape = {"image": [ov.Dimension(1, 2), 3, 512, 512]} erode_kernel = 4 score_threshold = 0.5 @@ -635,27 +645,27 @@ bounds of input batch size. .. parsed-literal:: - + -.. image:: 203-meter-reader-with-output_files/203-meter-reader-with-output_16_1.png +.. image:: meter-reader-with-output_files/meter-reader-with-output_16_1.png Run meter detection model ~~~~~~~~~~~~~~~~~~~~~~~~~ -Detect the location of the + Detect the location of the meter and prepare the ROI images for segmentation. .. code:: ipython3 # Prepare the input data for meter detection model - im_shape = np.array([[input_shape, input_shape]]).astype('float32') - scale_factor = np.array([[1, 2]]).astype('float32') + im_shape = np.array([[input_shape, input_shape]]).astype("float32") + scale_factor = np.array([[1, 2]]).astype("float32") input_image = det_preprocess(image, input_shape) - inputs_dict = {'image': input_image, "im_shape": im_shape, "scale_factor": scale_factor} + inputs_dict = {"image": input_image, "im_shape": im_shape, "scale_factor": scale_factor} # Run meter detection model det_results = detector.predict(inputs_dict) @@ -675,7 +685,7 @@ meter and prepare the ROI images for segmentation. roi_stack = np.hstack(resize_imgs) if cv2.imwrite(f"{DATA_DIR}/detection_results.jpg", roi_stack): - print("The detection result image has been saved as \"detection_results.jpg\" in data") + print('The detection result image has been saved as "detection_results.jpg" in data') plt.imshow(cv2.cvtColor(roi_stack, cv2.COLOR_BGR2RGB)) @@ -685,13 +695,13 @@ meter and prepare the ROI images for segmentation. -.. image:: 203-meter-reader-with-output_files/203-meter-reader-with-output_18_1.png +.. image:: meter-reader-with-output_files/meter-reader-with-output_18_1.png Run meter segmentation model ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Get the results of segmentation + Get the results of segmentation task on detected ROI. .. code:: ipython3 @@ -707,7 +717,7 @@ task on detected ROI. seg_results.extend(seg_result) results = [] for i in range(len(seg_results)): - results.append(np.argmax(seg_results[i], axis=0)) + results.append(np.argmax(seg_results[i], axis=0)) seg_results = erode(results, erode_kernel) # Create the pictures of segmentation results @@ -716,7 +726,7 @@ task on detected ROI. mask_stack = np.hstack(mask_list) if cv2.imwrite(f"{DATA_DIR}/segmentation_results.jpg", cv2.cvtColor(mask_stack, cv2.COLOR_RGB2BGR)): - print("The segmentation result image has been saved as \"segmentation_results.jpg\" in data") + print('The segmentation result image has been saved as "segmentation_results.jpg" in data') plt.imshow(mask_stack) @@ -726,18 +736,18 @@ task on detected ROI. -.. image:: 203-meter-reader-with-output_files/203-meter-reader-with-output_20_1.png +.. image:: meter-reader-with-output_files/meter-reader-with-output_20_1.png Postprocess the models result and calculate the final readings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Use OpenCV function to find the + Use OpenCV function to find the location of the pointer in a scale map. .. code:: ipython3 - # Find the pointer location in scale map and calculate the meters reading + # Find the pointer location in scale map and calculate the meters reading rectangle_meters = circle_to_rectangle(seg_results) line_scales, line_pointers = rectangle_to_line(rectangle_meters) binaried_scales = mean_binarization(line_scales) @@ -753,8 +763,11 @@ location of the pointer in a scale map. rectangle_list.append(segmentation_map_to_image(rectangle_meters[i], COLORMAP)) rectangle_meters_stack = np.hstack(rectangle_list) - if cv2.imwrite(f"{DATA_DIR}/rectangle_meters.jpg", cv2.cvtColor(rectangle_meters_stack, cv2.COLOR_RGB2BGR)): - print("The rectangle_meters result image has been saved as \"rectangle_meters.jpg\" in data") + if cv2.imwrite( + f"{DATA_DIR}/rectangle_meters.jpg", + cv2.cvtColor(rectangle_meters_stack, cv2.COLOR_RGB2BGR), + ): + print('The rectangle_meters result image has been saved as "rectangle_meters.jpg" in data') plt.imshow(rectangle_meters_stack) @@ -764,7 +777,7 @@ location of the pointer in a scale map. -.. image:: 203-meter-reader-with-output_files/203-meter-reader-with-output_22_1.png +.. image:: meter-reader-with-output_files/meter-reader-with-output_22_1.png Get the reading result on the meter picture @@ -777,15 +790,30 @@ Get the reading result on the meter picture # Create a final result photo with reading for i in range(len(meter_readings)): print("Meter {}: {:.3f}".format(i + 1, meter_readings[i])) - + result_image = image.copy() for i in range(len(loc)): - cv2.rectangle(result_image,(loc[i][0], loc[i][1]), (loc[i][2], loc[i][3]), (0, 150, 0), 3) + cv2.rectangle(result_image, (loc[i][0], loc[i][1]), (loc[i][2], loc[i][3]), (0, 150, 0), 3) font = cv2.FONT_HERSHEY_SIMPLEX - cv2.rectangle(result_image, (loc[i][0], loc[i][1]), (loc[i][0] + 100, loc[i][1] + 40), (0, 150, 0), -1) - cv2.putText(result_image, "#{:.3f}".format(meter_readings[i]), (loc[i][0],loc[i][1] + 25), font, 0.8, (255, 255, 255), 2, cv2.LINE_AA) + cv2.rectangle( + result_image, + (loc[i][0], loc[i][1]), + (loc[i][0] + 100, loc[i][1] + 40), + (0, 150, 0), + -1, + ) + cv2.putText( + result_image, + "#{:.3f}".format(meter_readings[i]), + (loc[i][0], loc[i][1] + 25), + font, + 0.8, + (255, 255, 255), + 2, + cv2.LINE_AA, + ) if cv2.imwrite(f"{DATA_DIR}/reading_results.jpg", result_image): - print("The reading results image has been saved as \"reading_results.jpg\" in data") + print('The reading results image has been saved as "reading_results.jpg" in data') plt.imshow(cv2.cvtColor(result_image, cv2.COLOR_BGR2RGB)) @@ -797,7 +825,7 @@ Get the reading result on the meter picture -.. image:: 203-meter-reader-with-output_files/203-meter-reader-with-output_24_1.png +.. image:: meter-reader-with-output_files/meter-reader-with-output_24_1.png Try it with your meter photos! diff --git a/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_16_1.png b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_16_1.png new file mode 100644 index 00000000000..f5f465e5e0d --- /dev/null +++ b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_16_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5277177823d4b99e277b1ecd207f67b850c5fd312974c2e691e260e016811526 +size 170121 diff --git a/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_18_1.png b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_18_1.png new file mode 100644 index 00000000000..373f323c93b --- /dev/null +++ b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_18_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:889b083b05c7dd518506e68c76a9c7e78d2cbc1273606e1edbd3c2f308a49d9e +size 190271 diff --git a/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_20_1.png b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_20_1.png new file mode 100644 index 00000000000..6c3df0677c7 --- /dev/null +++ b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_20_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8594e7ed5ce58de7b10de8aa066fa4f9adc43308be46e2ef4dd208da4913301e +size 26914 diff --git a/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_22_1.png b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_22_1.png new file mode 100644 index 00000000000..20a9bb7513c --- /dev/null +++ b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_22_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eafe2bfb1d91093d1208523063def5d5b4d13285153568d173c302b3d600adfa +size 8966 diff --git a/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_24_1.png b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_24_1.png new file mode 100644 index 00000000000..4647a76e34c --- /dev/null +++ b/docs/notebooks/meter-reader-with-output_files/meter-reader-with-output_24_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91a9b23ec86373699c0dbbb252a2cb1b9351ebb08b771a79a4fec4bffbb1787d +size 170338 diff --git a/docs/notebooks/255-mms-massively-multilingual-speech-with-output.rst b/docs/notebooks/mms-massively-multilingual-speech-with-output.rst similarity index 99% rename from docs/notebooks/255-mms-massively-multilingual-speech-with-output.rst rename to docs/notebooks/mms-massively-multilingual-speech-with-output.rst index a8443cb6c78..46f9e8619d8 100644 --- a/docs/notebooks/255-mms-massively-multilingual-speech-with-output.rst +++ b/docs/notebooks/mms-massively-multilingual-speech-with-output.rst @@ -73,8 +73,8 @@ Prerequisites .. code:: ipython3 %pip install -q --upgrade pip - %pip install -q "transformers>=4.33.1" "openvino>=2023.1.0" "numpy>=1.21.0,<=1.24" "nncf>=2.7.0" - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu torch datasets accelerate soundfile librosa gradio jiwer + %pip install -q "transformers>=4.33.1" "torch>=2.1" "openvino>=2023.1.0" "numpy>=1.21.0" "nncf>=2.9.0" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu torch "datasets>=2.14.6" accelerate soundfile librosa "gradio>=4.19" jiwer .. code:: ipython3 @@ -103,9 +103,9 @@ Choose one of them. SAMPLE_LANG = widgets.Dropdown( - options=['german', 'dutch', 'french', 'spanish', 'italian', 'portuguese', 'polish'], - value='german', - description='Dataset language:', + options=["german", "dutch", "french", "spanish", "italian", "portuguese", "polish"], + value="german", + description="Dataset language:", disabled=False, ) @@ -150,8 +150,8 @@ transcription. import IPython.display as ipd - print(example['text']) - ipd.Audio(example['audio']['array'], rate=16_000) + print(example["text"]) + ipd.Audio(example["audio"]["array"], rate=16_000) .. parsed-literal:: @@ -201,7 +201,7 @@ Use the original model to run an inference .. code:: ipython3 - inputs = lid_processor(example['audio']['array'], sampling_rate=16_000, return_tensors="pt") + inputs = lid_processor(example["audio"]["array"], sampling_rate=16_000, return_tensors="pt") with torch.no_grad(): outputs = lid_model(**inputs).logits @@ -229,8 +229,8 @@ Select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -251,14 +251,15 @@ Convert model to OpenVINO format and compile it MAX_SEQ_LENGTH = 30480 - lid_model_xml_path = Path('models/ov_lid_model.xml') + lid_model_xml_path = Path("models/ov_lid_model.xml") + def get_lid_model(model_path, compiled=True): input_values = torch.zeros([1, MAX_SEQ_LENGTH], dtype=torch.float) if not model_path.exists() and model_path == lid_model_xml_path: lid_model_xml_path.parent.mkdir(parents=True, exist_ok=True) - converted_model = ov.convert_model(lid_model, example_input={'input_values': input_values}) + converted_model = ov.convert_model(lid_model, example_input={"input_values": input_values}) ov.save_model(converted_model, lid_model_xml_path) if not compiled: return converted_model @@ -266,6 +267,7 @@ Convert model to OpenVINO format and compile it return core.compile_model(model_path, device_name=device.value) return core.read_model(model_path) + compiled_lid_model = get_lid_model(lid_model_xml_path) @@ -283,17 +285,17 @@ Now it is possible to run an inference. def detect_language(compiled_model, audio_data): inputs = lid_processor(audio_data, sampling_rate=16_000, return_tensors="pt") - - outputs = compiled_model(inputs['input_values'])[0] - + + outputs = compiled_model(inputs["input_values"])[0] + lang_id = torch.argmax(torch.from_numpy(outputs), dim=-1)[0].item() detected_lang = lid_model.config.id2label[lang_id] - + return detected_lang .. code:: ipython3 - detect_language(compiled_lid_model, example['audio']['array']) + detect_language(compiled_lid_model, example["audio"]["array"]) @@ -309,9 +311,9 @@ Let’s check another language. .. code:: ipython3 SAMPLE_LANG = widgets.Dropdown( - options=['german', 'dutch', 'french', 'spanish', 'italian', 'portuguese', 'polish'], - value='french', - description='Dataset language:', + options=["german", "dutch", "french", "spanish", "italian", "portuguese", "polish"], + value="french", + description="Dataset language:", disabled=False, ) @@ -332,8 +334,8 @@ Let’s check another language. mls_dataset = iter(mls_dataset) example = next(mls_dataset) - print(example['text']) - ipd.Audio(example['audio']['array'], rate=16_000) + print(example["text"]) + ipd.Audio(example["audio"]["array"], rate=16_000) .. parsed-literal:: @@ -356,7 +358,7 @@ Let’s check another language. .. code:: ipython3 - language_id = detect_language(compiled_lid_model, example['audio']['array']) + language_id = detect_language(compiled_lid_model, example["audio"]["array"]) print(language_id) @@ -388,6 +390,7 @@ language later. .. code:: ipython3 from transformers import Wav2Vec2ForCTC, AutoProcessor + model_id = "facebook/mms-1b-all" asr_processor = AutoProcessor.from_pretrained(model_id) @@ -434,7 +437,7 @@ Use the original model for inference .. code:: ipython3 - inputs = asr_processor(example['audio']['array'], sampling_rate=16_000, return_tensors="pt") + inputs = asr_processor(example["audio"]["array"], sampling_rate=16_000, return_tensors="pt") with torch.no_grad(): outputs = asr_model(**inputs).logits @@ -461,7 +464,7 @@ for these purposes. .. code:: ipython3 - asr_model_xml_path_template = 'models/ov_asr_{}_model.xml' + asr_model_xml_path_template = "models/ov_asr_{}_model.xml" def get_asr_model(model_path_template, language_id, compiled=True): @@ -471,9 +474,9 @@ for these purposes. asr_processor.tokenizer.set_target_lang(language_id) if not model_path.exists() and model_path_template == asr_model_xml_path_template: asr_model.load_adapter(language_id) - + model_path.parent.mkdir(parents=True, exist_ok=True) - converted_model = ov.convert_model(asr_model, example_input={'input_values': input_values}) + converted_model = ov.convert_model(asr_model, example_input={"input_values": input_values}) ov.save_model(converted_model, model_path) if not compiled: return converted_model @@ -500,16 +503,16 @@ Run inference. def recognize_audio(compiled_model, src_audio): inputs = asr_processor(src_audio, sampling_rate=16_000, return_tensors="pt") - outputs = compiled_model(inputs['input_values'])[0] - + outputs = compiled_model(inputs["input_values"])[0] + ids = torch.argmax(torch.from_numpy(outputs), dim=-1)[0] transcription = asr_processor.decode(ids) return transcription - transcription = recognize_audio(compiled_asr_model, example['audio']['array']) - print("Original text:", example['text']) + transcription = recognize_audio(compiled_asr_model, example["audio"]["array"]) + print("Original text:", example["text"]) print("Transcription:", transcription) @@ -550,7 +553,7 @@ The optimization process contains the following steps: to_quantize = widgets.Checkbox( value=False, - description='Quantization', + description="Quantization", disabled=False, ) @@ -570,8 +573,13 @@ not selected .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension @@ -883,16 +891,18 @@ data is sampled to 16000 kHz. import time - title = 'MMS with Gradio' - description = 'Gradio Demo for MMS and OpenVINO™. Upload a source audio, then click the "Submit" button to detect a language ID and a transcription. ' \ - 'Make sure that the audio data is sampled to 16000 kHz. If this language has not been used before, it may take some time to prepare the ASR model.' \ - '\n' \ - '> Note: In order to run quantized model to transcribe some language, first the quantized model for that specific language must be prepared.' + title = "MMS with Gradio" + description = ( + 'Gradio Demo for MMS and OpenVINO™. Upload a source audio, then click the "Submit" button to detect a language ID and a transcription. ' + "Make sure that the audio data is sampled to 16000 kHz. If this language has not been used before, it may take some time to prepare the ASR model." + "\n" + "> Note: In order to run quantized model to transcribe some language, first the quantized model for that specific language must be prepared." + ) current_state = { "fp32": {"model": None, "language": None}, - "int8": {"model": None, "language": None} + "int8": {"model": None, "language": None}, } @@ -909,21 +919,24 @@ data is sampled to 16000 kHz. if detected_language_id != state["language"]: template_path = quantized_asr_model_xml_path_template if quantized else asr_model_xml_path_template try: - gr.Info(f"Loading {'quantized' if quantized else ''} ASR model for '{detected_language_id}' language. " - "This will take some time.") + gr.Info(f"Loading {'quantized' if quantized else ''} ASR model for '{detected_language_id}' language. " "This will take some time.") state["model"] = get_asr_model(template_path, detected_language_id) state["language"] = detected_language_id except RuntimeError as e: if "Unable to read the model:" in str(e) and quantized: - raise gr.Error(f"There is no quantized ASR model for '{detected_language_id}' language. " - "Please run quantization for this language first.") + raise gr.Error(f"There is no quantized ASR model for '{detected_language_id}' language. " "Please run quantization for this language first.") start_time = time.perf_counter() transcription = recognize_audio(state["model"], src_audio) end_time = time.perf_counter() transcription_delta_time = f"{end_time - start_time:.2f}" - return detected_language_id, transcription, identification_delta_time, transcription_delta_time + return ( + detected_language_id, + transcription, + identification_delta_time, + transcription_delta_time, + ) with gr.Blocks() as demo: @@ -943,7 +956,7 @@ data is sampled to 16000 kHz. with gr.Row(): with gr.Column(): if not quantized: - audio = gr.Audio(label="Source Audio", type='filepath') + audio = gr.Audio(label="Source Audio", type="filepath") run_button_name = "Run INT8" if quantized else "Run FP32" if to_quantize.value else "Run" run_button[quantized] = gr.Button(value=run_button_name) with gr.Column(): @@ -952,13 +965,27 @@ data is sampled to 16000 kHz. identification_time[quantized] = gr.Textbox(label=f"Identification time{' (Quantized)' if quantized else ''}") transcription_time[quantized] = gr.Textbox(label=f"Transcription time{' (Quantized)' if quantized else ''}") - run_button[False].click(infer, - inputs=[audio, gr.Number(0, visible=False)], - outputs=[detected_language[False], transcription[False], identification_time[False], transcription_time[False]]) + run_button[False].click( + infer, + inputs=[audio, gr.Number(0, visible=False)], + outputs=[ + detected_language[False], + transcription[False], + identification_time[False], + transcription_time[False], + ], + ) if to_quantize.value: - run_button[True].click(infer, - inputs=[audio, gr.Number(1, visible=False)], - outputs=[detected_language[True], transcription[True], identification_time[True], transcription_time[True]]) + run_button[True].click( + infer, + inputs=[audio, gr.Number(1, visible=False)], + outputs=[ + detected_language[True], + transcription[True], + identification_time[True], + transcription_time[True], + ], + ) try: diff --git a/docs/notebooks/289-mobileclip-video-search-with-output.rst b/docs/notebooks/mobileclip-video-search-with-output.rst similarity index 82% rename from docs/notebooks/289-mobileclip-video-search-with-output.rst rename to docs/notebooks/mobileclip-video-search-with-output.rst index 2a3840f83a3..41af1e469da 100644 --- a/docs/notebooks/289-mobileclip-video-search-with-output.rst +++ b/docs/notebooks/mobileclip-video-search-with-output.rst @@ -47,14 +47,14 @@ Table of contents: Prerequisites ------------- -## Prerequisites + ## Prerequisites .. code:: ipython3 from pathlib import Path repo_dir = Path("./ml-mobileclip") - + if not repo_dir.exists(): !git clone https://github.com/apple/ml-mobileclip.git @@ -155,11 +155,11 @@ Unpacking objects: 4% (2/45) Unpacking objects: 6% (3/45) Unpacking objects: 8% (4/45) Unpacking objects: 11% (5/45) +Unpacking objects: 13% (6/45) .. parsed-literal:: - Unpacking objects: 13% (6/45) -Unpacking objects: 15% (7/45) + Unpacking objects: 15% (7/45) Unpacking objects: 17% (8/45) Unpacking objects: 20% (9/45) Unpacking objects: 22% (10/45) @@ -202,26 +202,28 @@ Unpacking objects: 93% (42/45) Unpacking objects: 95% (43/45) Unpacking objects: 97% (44/45) Unpacking objects: 100% (45/45) -Unpacking objects: 100% (45/45), 428.50 KiB | 2.86 MiB/s, done. +Unpacking objects: 100% (45/45), 428.50 KiB | 3.04 MiB/s, done. .. code:: ipython3 - %pip install -q "./ml-mobileclip" --extra-index-url "https://download.pytorch.org/whl/cpu" - %pip install -q "openvino>=2024.0.0" "gradio" "matplotlib" "Pillow" "altair" "pandas" "opencv-python" + %pip install -q "./ml-mobileclip" --no-deps + + %pip install -q "clip-benchmark>=1.4.0" "datasets>=2.8.0" "open-clip-torch>=2.20.0" "timm>=0.9.5" "torch>=1.13.1" "torchvision>=0.14.1" --extra-index-url https://download.pytorch.org/whl/cpu + + %pip install -q "openvino>=2024.0.0" "gradio>=4.19" "matplotlib" "Pillow" "altair" "pandas" "opencv-python" "tqdm" .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - + Note: you may need to restart the kernel to use updated packages. + .. parsed-literal:: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - pyannote-audio 2.0.1 requires torchaudio<1.0,>=0.10, but you have torchaudio 2.2.1+cpu which is incompatible. - pytorch-lightning 1.6.5 requires protobuf<=3.20.1, but you have protobuf 4.25.3 which is incompatible. - torchaudio 2.2.1+cpu requires torch==2.2.1, but you have torch 1.13.1+cpu which is incompatible. + mobileclip 0.1.0 requires torch==1.13.1, but you have torch 2.2.2+cpu which is incompatible. + mobileclip 0.1.0 requires torchvision==0.14.1, but you have torchvision 0.17.2+cpu which is incompatible. .. parsed-literal:: @@ -231,7 +233,7 @@ Unpacking objects: 100% (45/45), 428.50 KiB | 2.86 MiB/s, done. .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: @@ -288,23 +290,71 @@ comparison purposes, you can select different models among: supported_models = { "MobileCLIP": { - "mobileclip_s0": {"model_name": "mobileclip_s0", "pretrained": model_dir / "mobileclip_s0.pt", "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_s0.pt", "image_size": 256}, - "mobileclip_s1": {"model_name": "mobileclip_s1", "pretrained": model_dir / "mobileclip_s1.pt", "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_s1.pt", "image_size": 256}, - "mobileclip_s2": {"model_name": "mobileclip_s0", "pretrained": model_dir / "mobileclip_s2.pt", "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_s2.pt", "image_size": 256}, - "mobileclip_b": {"model_name": "mobileclip_b", "pretrained": model_dir / "mobileclip_b.pt", "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_b.pt", "image_size": 224}, - "mobileclip_blt": {"model_name": "mobileclip_b", "pretrained": model_dir / "mobileclip_blt.pt", "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_blt.pt", "image_size": 224}, + "mobileclip_s0": { + "model_name": "mobileclip_s0", + "pretrained": model_dir / "mobileclip_s0.pt", + "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_s0.pt", + "image_size": 256, + }, + "mobileclip_s1": { + "model_name": "mobileclip_s1", + "pretrained": model_dir / "mobileclip_s1.pt", + "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_s1.pt", + "image_size": 256, + }, + "mobileclip_s2": { + "model_name": "mobileclip_s0", + "pretrained": model_dir / "mobileclip_s2.pt", + "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_s2.pt", + "image_size": 256, + }, + "mobileclip_b": { + "model_name": "mobileclip_b", + "pretrained": model_dir / "mobileclip_b.pt", + "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_b.pt", + "image_size": 224, + }, + "mobileclip_blt": { + "model_name": "mobileclip_b", + "pretrained": model_dir / "mobileclip_blt.pt", + "url": "https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_blt.pt", + "image_size": 224, + }, }, "CLIP": { - "clip-vit-b-32": {"model_name": "ViT-B-32", "pretrained": "laion2b_s34b_b79k", "image_size": 224}, - "clip-vit-b-16": {"image_name": "ViT-B-16", "pretrained": "openai", "image_size": 224}, - "clip-vit-l-14": {"image_name": "ViT-L-14", "pretrained": "datacomp_xl_s13b_b90k", "image_size": 224}, - "clip-vit-h-14": {"image_name": "ViT-H-14", "pretrained": "laion2b_s32b_b79k", "image_size": 224}, + "clip-vit-b-32": { + "model_name": "ViT-B-32", + "pretrained": "laion2b_s34b_b79k", + "image_size": 224, + }, + "clip-vit-b-16": { + "image_name": "ViT-B-16", + "pretrained": "openai", + "image_size": 224, + }, + "clip-vit-l-14": { + "image_name": "ViT-L-14", + "pretrained": "datacomp_xl_s13b_b90k", + "image_size": 224, + }, + "clip-vit-h-14": { + "image_name": "ViT-H-14", + "pretrained": "laion2b_s32b_b79k", + "image_size": 224, + }, }, "SigLIP": { - "siglip-vit-b-16": {"model_name": "ViT-B-16-SigLIP", "pretrained": "webli", "image_size": 224}, - "siglip-vit-l-16": {"model_name": "ViT-L-16-SigLIP-256", "pretrained": "webli", "image_size": 256}, - } - + "siglip-vit-b-16": { + "model_name": "ViT-B-16-SigLIP", + "pretrained": "webli", + "image_size": 224, + }, + "siglip-vit-l-16": { + "model_name": "ViT-L-16-SigLIP-256", + "pretrained": "webli", + "image_size": 256, + }, + }, } @@ -324,7 +374,11 @@ comparison purposes, you can select different models among: available_models = supported_models[model_type.value] - model_checkpoint = widgets.Dropdown(options=available_models.keys(), default=list(available_models), description="Model:") + model_checkpoint = widgets.Dropdown( + options=available_models.keys(), + default=list(available_models), + description="Model:", + ) model_checkpoint @@ -339,12 +393,14 @@ comparison purposes, you can select different models among: .. code:: ipython3 - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file model_config = available_models[model_checkpoint.value] @@ -383,7 +439,7 @@ Prepare image gallery from PIL import Image - def visualize_result(images:List, query:str = "", selected:List[int] = None): + def visualize_result(images: List, query: str = "", selected: List[int] = None): """ Utility function for visualization classification results params: @@ -393,9 +449,9 @@ Prepare image gallery returns: matplotlib.Figure """ - figsize = (20, 5) - fig, axs = plt.subplots(1, 4, figsize=figsize, sharex='all', sharey='all') - fig.patch.set_facecolor('white') + figsize = (20, 5) + fig, axs = plt.subplots(1, 4, figsize=figsize, sharex="all", sharey="all") + fig.patch.set_facecolor("white") list_axes = list(axs.flat) if query: fig.suptitle(query, fontsize=20) @@ -408,15 +464,15 @@ Prepare image gallery a.imshow(images[idx]) if selected is not None and idx not in selected: mask = np.ones_like(np.array(images[idx])) - a.imshow(mask, 'jet', interpolation='none', alpha=0.75) + a.imshow(mask, "jet", interpolation="none", alpha=0.75) return fig images_urls = [ - "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/282ce53e-912d-41aa-ab48-2a001c022d74", + "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/282ce53e-912d-41aa-ab48-2a001c022d74", "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/9bb40168-82b5-4b11-ada6-d8df104c736c", "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/0747b6db-12c3-4252-9a6a-057dcf8f3d4e", - "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bricks.png" + "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bricks.png", ] image_names = ["red_panda.png", "cat.png", "raccoon.png", "dog.png"] sample_path = Path("data") @@ -429,7 +485,7 @@ Prepare image gallery download_file(image_url, filename=image_name, directory=sample_path) images.append(Image.open(image_path).convert("RGB").resize((640, 420))) - input_labels = ['cat'] + input_labels = ["cat"] text_descriptions = [f"This is a photo of a {label}" for label in input_labels] visualize_result(images, "image gallery"); @@ -460,7 +516,7 @@ Prepare image gallery -.. image:: 289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_10_4.png +.. image:: mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_10_4.png Prepare model @@ -511,7 +567,6 @@ Perform search with torch.no_grad(): - # calculate image embeddings image_encoding_start = time.perf_counter() image_features = model.encode_image(image_tensor) @@ -536,12 +591,12 @@ Perform search .. parsed-literal:: - Image encoding took 0.101 ms - Text encoding took 0.0102 ms + Image encoding took 0.109 ms + Text encoding took 0.0108 ms -.. image:: 289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_14_1.png +.. image:: mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_14_1.png Convert Model to OpenVINO Intermediate Representation format @@ -591,7 +646,11 @@ be used separately. Let’s convert each part to OpenVINO. if "mobileclip_s" in model_name: model.image_encoder.model.conv_exp.se.forward = types.MethodType(se_block_forward, model.image_encoder.model.conv_exp.se) model.forward = model.encode_image - ov_image_encoder = ov.convert_model(model, example_input=image_tensor, input=[-1, 3, image_tensor.shape[2], image_tensor.shape[3]]) + ov_image_encoder = ov.convert_model( + model, + example_input=image_tensor, + input=[-1, 3, image_tensor.shape[2], image_tensor.shape[3]], + ) ov.save_model(ov_image_encoder, image_encoder_path) del ov_image_encoder gc.collect() @@ -611,7 +670,7 @@ be used separately. Let’s convert each part to OpenVINO. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/mobileclip/modules/common/transformer.py:125: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/mobileclip/modules/common/transformer.py:125: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if seq_len != self.num_embeddings: @@ -633,8 +692,8 @@ Select device for image encoder device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -703,12 +762,12 @@ Perform search .. parsed-literal:: - Image encoding took 0.0306 ms - Text encoding took 0.0058 ms + Image encoding took 0.0309 ms + Text encoding took 0.00586 ms -.. image:: 289-mobileclip-video-search-with-output_files/289-mobileclip-video-search-with-output_25_1.png +.. image:: mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_25_1.png Interactive Demo @@ -745,8 +804,16 @@ searching frames in the video by text query or image. Upload v available_converted_models = [model_file.name.split("_im_encoder")[0] for model_file in ov_models_dir.glob("*_im_encoder.xml")] available_devices = list(core.available_devices) + ["AUTO"] - download_file("https://github.com/intel-iot-devkit/sample-videos/raw/master/car-detection.mp4", directory=sample_path) - download_file("https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/Coco%20Walking%20in%20Berkeley.mp4", directory=sample_path, filename="coco.mp4") + download_file( + "https://github.com/intel-iot-devkit/sample-videos/raw/master/car-detection.mp4", + directory=sample_path, + ) + download_file( + "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/Coco%20Walking%20in%20Berkeley.mp4", + directory=sample_path, + filename="coco.mp4", + ) + def get_preprocess_and_tokenizer(model_name): if "mobileclip" in model_name: @@ -770,7 +837,7 @@ searching frames in the video by text query or image. Upload v tokenizer = open_clip.get_tokenizer(model_configs[model_name]["model_name"]) return preprocess, tokenizer - + def run( path: str, @@ -782,11 +849,8 @@ searching frames in the video by text query or image. Upload v stride: int, batch_size: int, ): - assert path, "An input video should be provided" - assert ( - text_search is not None or image_search is not None - ), "A text or image query should be provided" + assert text_search is not None or image_search is not None, "A text or image query should be provided" global current_model global current_device global preprocess @@ -794,7 +858,6 @@ searching frames in the video by text query or image. Upload v global ov_compiled_image_encoder global ov_compiled_text_encoder - if current_model != model_name or device != current_device: ov_compiled_image_encoder = core.compile_model(ov_models_dir / f"{model_name}_im_encoder.xml", device) ov_compiled_text_encoder = core.compile_model(ov_models_dir / f"{model_name}_text_encoder.xml", device) @@ -803,10 +866,8 @@ searching frames in the video by text query or image. Upload v current_device = device # Load video dataset = LoadVideo(path, transforms=preprocess, vid_stride=stride) - dataloader = DataLoader( - dataset, batch_size=batch_size, shuffle=False, num_workers=0 - ) - + dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=False, num_workers=0) + # Get image query features if image_search: image = preprocess(image_search).unsqueeze(0) @@ -862,21 +923,20 @@ searching frames in the video by text query or image. Upload v selected_frames = np.argsort(-1 * np.array(matches_probs))[:20] matched_sorted_frames = [matches[idx] for idx in selected_frames] - - return lines + rule, matched_sorted_frames # Only return up to 20 images to not crash the UI + return ( + lines + rule, + matched_sorted_frames, + ) # Only return up to 20 images to not crash the UI class LoadVideo(Dataset): def __init__(self, path, transforms, vid_stride=1): - self.transforms = transforms self.vid_stride = vid_stride self.cur_frame = 0 self.cap = cv2.VideoCapture(path) - self.total_frames = int( - self.cap.get(cv2.CAP_PROP_FRAME_COUNT) / self.vid_stride - ) + self.total_frames = int(self.cap.get(cv2.CAP_PROP_FRAME_COUNT) / self.vid_stride) def __getitem__(self, _): # Read video @@ -900,9 +960,8 @@ searching frames in the video by text query or image. Upload v def __len__(self): return self.total_frames - - - + + desc_text = """ Search the content's of a video with a text description. __Note__: Long videos (over a few minutes) may cause UI performance issues. @@ -914,7 +973,11 @@ searching frames in the video by text query or image. Upload v gr.Video(label="Video"), gr.Textbox(label="Text Search Query"), gr.Image(label="Image Search Query", visible=False), - gr.Dropdown(label="Model", choices=available_converted_models, value=model_checkpoint.value), + gr.Dropdown( + label="Model", + choices=available_converted_models, + value=model_checkpoint.value, + ), gr.Dropdown(label="Device", choices=available_devices, value=device.value), gr.Slider(label="Threshold", maximum=1.0, value=0.2), gr.Slider(label="Frame-rate Stride", value=4, step=1), @@ -922,7 +985,7 @@ searching frames in the video by text query or image. Upload v ], outputs=[ gr.Plot(label="Similarity Plot"), - gr.Gallery(label="Matched Frames", columns=2, object_fit="contain", height="auto") + gr.Gallery(label="Matched Frames", columns=2, object_fit="contain", height="auto"), ], examples=[[sample_path / "car-detection.mp4", "white car"]], allow_flagging="never", @@ -939,7 +1002,11 @@ searching frames in the video by text query or image. Upload v gr.Video(label="Video"), gr.Textbox(label="Text Search Query", visible=False), gr.Image(label="Image Search Query", type="pil"), - gr.Dropdown(label="Model", choices=available_converted_models, value=model_checkpoint.value), + gr.Dropdown( + label="Model", + choices=available_converted_models, + value=model_checkpoint.value, + ), gr.Dropdown(label="Device", choices=available_devices, value=device.value), gr.Slider(label="Threshold", maximum=1.0, value=0.2), gr.Slider(label="Frame-rate Stride", value=4, step=1), @@ -947,18 +1014,18 @@ searching frames in the video by text query or image. Upload v ], outputs=[ gr.Plot(label="Similarity Plot"), - gr.Gallery(label="Matched Frames", columns=2, object_fit="contain", height="auto") + gr.Gallery(label="Matched Frames", columns=2, object_fit="contain", height="auto"), ], allow_flagging="never", - examples=[[sample_path / "coco.mp4", None, sample_path / "dog.png"]] + examples=[[sample_path / "coco.mp4", None, sample_path / "dog.png"]], ) demo = gr.TabbedInterface( interface_list=[text_app, image_app], tab_names=["Text Query Search", "Image Query Search"], title="CLIP Video Content Search", ) - - + + try: demo.launch(debug=False) except Exception: diff --git a/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_10_4.png b/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_10_4.png new file mode 100644 index 00000000000..3097711be91 --- /dev/null +++ b/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_10_4.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:012ab44a6e4292be32171ccb588f72c75c17a662e04cf27f271e5ddd33c89b99 +size 627462 diff --git a/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_14_1.png b/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_14_1.png new file mode 100644 index 00000000000..7d60b0ba72d --- /dev/null +++ b/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_14_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc816c6ac9360e9432eb81eca13dd8f4afa0c0ad90312c876fad89dbbb80a65e +size 449871 diff --git a/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_25_1.png b/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_25_1.png new file mode 100644 index 00000000000..7d60b0ba72d --- /dev/null +++ b/docs/notebooks/mobileclip-video-search-with-output_files/mobileclip-video-search-with-output_25_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc816c6ac9360e9432eb81eca13dd8f4afa0c0ad90312c876fad89dbbb80a65e +size 449871 diff --git a/docs/notebooks/279-mobilevlm-language-assistant-with-output.rst b/docs/notebooks/mobilevlm-language-assistant-with-output.rst similarity index 85% rename from docs/notebooks/279-mobilevlm-language-assistant-with-output.rst rename to docs/notebooks/mobilevlm-language-assistant-with-output.rst index 2299f32c7f6..d20f84bfff8 100644 --- a/docs/notebooks/279-mobilevlm-language-assistant-with-output.rst +++ b/docs/notebooks/mobilevlm-language-assistant-with-output.rst @@ -48,15 +48,10 @@ Install requirements .. code:: ipython3 - %pip install -q "torch>=2.0.1" "timm>=0.9.12" --extra-index-url "https://download.pytorch.org/whl/cpu" - %pip install -q "transformers>=4.33.1,<4.35.0" accelerate "sentencepiece>=0.1.99" "openvino>=2023.2.0" "nncf>=2.7.0" ipywidgets numpy gradio + %pip install -q "torch>=2.1.0" "timm>=0.9.12" --extra-index-url "https://download.pytorch.org/whl/cpu" + %pip install -q "transformers>=4.33.1,<4.35.0" accelerate "sentencepiece>=0.1.99" "openvino>=2023.2.0" "nncf>=2.7.0" ipywidgets numpy "gradio>=4.19" -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -64,16 +59,15 @@ Install requirements .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + WARNING: typer 0.12.3 does not provide the extra 'all' .. parsed-literal:: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - datasets 2.18.0 requires huggingface-hub>=0.19.4, but you have huggingface-hub 0.17.3 which is incompatible. - diffusers 0.26.3 requires huggingface-hub>=0.20.2, but you have huggingface-hub 0.17.3 which is incompatible. - optimum-intel 1.16.0.dev0 requires transformers<4.39.0,>=4.36.0, but you have transformers 4.34.1 which is incompatible. - pyannote-audio 2.0.1 requires torchaudio<1.0,>=0.10, but you have torchaudio 2.2.1+cpu which is incompatible. + mobileclip 0.1.0 requires torch==1.13.1, but you have torch 2.2.2+cpu which is incompatible. + mobileclip 0.1.0 requires torchvision==0.14.1, but you have torchvision 0.17.2+cpu which is incompatible. + optimum-intel 1.17.0.dev0+aca2b6c requires transformers<4.40.0,>=4.36.0, but you have transformers 4.33.3 which is incompatible. .. parsed-literal:: @@ -90,6 +84,7 @@ Clone MobileVLM repository from pathlib import Path import sys + MOBILEVLM_REPO_DIR = Path("./MobileVLM") if not MOBILEVLM_REPO_DIR.exists(): !git clone -q "https://github.com/Meituan-AutoML/MobileVLM.git" @@ -128,26 +123,26 @@ Import required packages .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/utils/generic.py:311: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/utils/generic.py:311: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. torch.utils._pytree._register_pytree_node( .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/utils/generic.py:311: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. - torch.utils._pytree._register_pytree_node( - - -.. parsed-literal:: - - 2024-03-13 00:18:55.454952: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:18:55.489108: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:08:44.504815: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:08:44.539140: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:18:55.998695: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:08:45.045243: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/utils/generic.py:311: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( .. parsed-literal:: @@ -158,7 +153,7 @@ Import required packages .. code:: ipython3 MODELS_DIR = Path("./models") - MODEL_PATH = 'mtgv/MobileVLM-1.7B' + MODEL_PATH = "mtgv/MobileVLM-1.7B" TEMPERATURE = 0.2 TOP_P = None @@ -179,13 +174,19 @@ image processor to convert images to appropriate tensors. .. code:: ipython3 - model_name = MODEL_PATH.split('/')[-1] + model_name = MODEL_PATH.split("/")[-1] disable_torch_init() with warnings.catch_warnings(): warnings.simplefilter("ignore") tokenizer, model, image_processor, _ = load_pretrained_model(MODEL_PATH, device="cpu") model = model.to(dtype=torch.float32) + +.. parsed-literal:: + + You are resizing the embedding layer without providing a `pad_to_multiple_of` parameter. This means that the new embedding dimension will be 32000. This might induce some performance reduction as *Tensor Cores* will not be available. For more details about this, or help on choosing the correct value for resizing, refer to this guide: https://docs.nvidia.com/deeplearning/performance/dl-performance-matrix-multiplication/index.html#requirements-tc + + Convert model to OpenVINO Intermediate Representation (IR) ---------------------------------------------------------- @@ -243,9 +244,9 @@ compression instead of INT8 weight compression. .. code:: ipython3 compression_mode = widgets.Dropdown( - options=['INT4', 'INT8'], - value='INT4', - description='Compression mode:', + options=["INT4", "INT8"], + value="INT4", + description="Compression mode:", disabled=False, ) @@ -267,7 +268,7 @@ compression instead of INT8 weight compression. .. code:: ipython3 - if compression_mode.value == 'INT4': + if compression_mode.value == "INT4": wc_parameters = dict(mode=nncf.CompressWeightsMode.INT4_ASYM, group_size=128, ratio=0.8) else: wc_parameters = dict(mode=nncf.CompressWeightsMode.INT8) @@ -284,13 +285,13 @@ compression instead of INT8 weight compression. input_ids: torch.LongTensor = None, attention_mask: Optional[torch.Tensor] = None, past_key_values: Optional[List[torch.FloatTensor]] = None, - inputs_embeds: Optional[torch.FloatTensor] = None + inputs_embeds: Optional[torch.FloatTensor] = None, ): outputs = self.model.model( input_ids=input_ids, attention_mask=attention_mask, past_key_values=past_key_values, - inputs_embeds=inputs_embeds + inputs_embeds=inputs_embeds, ) hidden_states = outputs[0] logits = self.model.lm_head(hidden_states) @@ -303,10 +304,7 @@ compression instead of INT8 weight compression. input_names = [ "input_ids", "attention_mask", - *itertools.chain.from_iterable( - [f"past_key_values.{idx}.key", f"past_key_values.{idx}.value"] - for idx, _ in enumerate(past_key_values) - ), + *itertools.chain.from_iterable([f"past_key_values.{idx}.key", f"past_key_values.{idx}.value"] for idx, _ in enumerate(past_key_values)), ] assert len(input_names) == len(model.inputs) for _input, input_name in zip(model.inputs, input_names): @@ -317,10 +315,7 @@ compression instead of INT8 weight compression. def set_output_names(model, past_key_values): output_names = [ "logits", - *itertools.chain.from_iterable( - [f"present.{idx}.key", f"present.{idx}.value"] - for idx, _ in enumerate(past_key_values) - ), + *itertools.chain.from_iterable([f"present.{idx}.key", f"present.{idx}.value"] for idx, _ in enumerate(past_key_values)), ] assert len(output_names) == len(model.outputs) for out, out_name in zip(ov_model.outputs, output_names): @@ -358,20 +353,20 @@ compression instead of INT8 weight compression. .. parsed-literal:: - WARNING:nncf:NNCF provides best results with torch==2.1.2, while current torch version is 2.2.1+cpu. If you encounter issues, consider switching to torch==2.1.2 + WARNING:nncf:NNCF provides best results with torch==2.1.2, while current torch version is 2.2.2+cpu. If you encounter issues, consider switching to torch==2.1.2 .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:808: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:595: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if input_shape[-1] > 1: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:146: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:119: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if seq_len > self.max_seq_len_cached: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:375: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:348: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_weights.size() != (bsz, self.num_heads, q_len, kv_seq_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:382: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:355: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attention_mask.size() != (bsz, 1, q_len, kv_seq_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:392: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/llama/modeling_llama.py:365: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim): @@ -454,7 +449,7 @@ compression instead of INT8 weight compression. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:165: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed. Its .grad attribute won't be populated during autograd.backward(). If you indeed want the .grad field to be populated for a non-leaf Tensor, use .retain_grad() on the non-leaf Tensor. If you access the non-leaf Tensor by mistake, make sure you access the leaf Tensor instead. See github.com/pytorch/pytorch/pull/30531 for more informations. (Triggered internally at aten/src/ATen/core/TensorBody.h:489.) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:165: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed. Its .grad attribute won't be populated during autograd.backward(). If you indeed want the .grad field to be populated for a non-leaf Tensor, use .retain_grad() on the non-leaf Tensor. If you access the non-leaf Tensor by mistake, make sure you access the leaf Tensor instead. See github.com/pytorch/pytorch/pull/30531 for more informations. (Triggered internally at aten/src/ATen/core/TensorBody.h:489.) if a.grad is not None: @@ -591,11 +586,7 @@ documentation `__, including its `post-installation `__ steps, on your development system. To verify installation, test it, @@ -120,7 +120,7 @@ image and a message. Step 2: Preparing a Model Repository ------------------------------------ -The models need to be placed + The models need to be placed and mounted in a particular directory structure and according to the following rules: @@ -170,18 +170,27 @@ following rules: .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" + import platform + + %pip install -q "openvino>=2023.1.0" opencv-python tqdm + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" .. code:: ipython3 import os # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file dedicated_dir = "models" @@ -192,8 +201,12 @@ following rules: XML_PATH = "horizontal-text-detection-0001.xml" BIN_PATH = "horizontal-text-detection-0001.bin" os.makedirs(MODEL_DIR, exist_ok=True) - model_xml_url = "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.3/models_bin/1/horizontal-text-detection-0001/FP32/horizontal-text-detection-0001.xml" - model_bin_url = "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.3/models_bin/1/horizontal-text-detection-0001/FP32/horizontal-text-detection-0001.bin" + model_xml_url = ( + "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.3/models_bin/1/horizontal-text-detection-0001/FP32/horizontal-text-detection-0001.xml" + ) + model_bin_url = ( + "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.3/models_bin/1/horizontal-text-detection-0001/FP32/horizontal-text-detection-0001.bin" + ) download_file(model_xml_url, XML_PATH, MODEL_DIR) download_file(model_bin_url, BIN_PATH, MODEL_DIR) @@ -215,14 +228,14 @@ following rules: .. parsed-literal:: - PosixPath('/home/ethan/intel/openvino_notebooks/notebooks/117-model-server/models/detection/1/horizontal-text-detection-0001.bin') + PosixPath('/home/ethan/intel/openvino_notebooks/notebooks/model-server/models/detection/1/horizontal-text-detection-0001.bin') Step 3: Start the Model Server Container ---------------------------------------- -Pull and start the container: + Pull and start the container: Searching for an available serving port in local. @@ -231,13 +244,13 @@ Searching for an available serving port in local. import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.bind(('localhost', 0)) + sock.bind(("localhost", 0)) sock.listen(1) port = sock.getsockname()[1] sock.close() print(f"Port {port} is available") - os.environ['port'] = str(port) + os.environ["port"] = str(port) .. parsed-literal:: @@ -692,7 +705,7 @@ available port on your system. For example:\ ``-p 9020:9000`` Step 4: Prepare the Example Client Components --------------------------------------------- -OpenVINO Model Server exposes + OpenVINO Model Server exposes two sets of APIs: one compatible with ``TensorFlow Serving`` and another one, with ``KServe API``, for inference. Both APIs work on ``gRPC`` and ``REST``\ interfaces. Supporting two sets of APIs makes OpenVINO Model @@ -775,7 +788,7 @@ Load input image # Download the image from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/intel_rnb.jpg", - directory="data" + directory="data", ) # Text detection models expect an image in BGR format. @@ -783,7 +796,7 @@ Load input image fp_image = image.astype("float32") # Resize the image to meet network expected input sizes. - input_shape = model_metadata['inputs']['image']['shape'] + input_shape = model_metadata["inputs"]["image"]["shape"] height, width = input_shape[2], input_shape[3] resized_image = cv2.resize(fp_image, (height, width)) @@ -807,7 +820,7 @@ Load input image -.. image:: 117-model-server-with-output_files/117-model-server-with-output_23_2.png +.. image:: model-server-with-output_files/model-server-with-output_23_2.png Request Prediction on a Numpy Array @@ -820,7 +833,7 @@ Request Prediction on a Numpy Array inputs = {"image": input_image} # Run inference on model server and receive the result data - boxes = client.predict(inputs=inputs, model_name=model_name)['boxes'] + boxes = client.predict(inputs=inputs, model_name=model_name)["boxes"] # Remove zero only boxes. boxes = boxes[~np.all(boxes == 0, axis=1)] @@ -851,7 +864,10 @@ Visualization colors = {"red": (255, 0, 0), "green": (0, 255, 0)} # Fetch the image shapes to calculate a ratio. - (real_y, real_x), (resized_y, resized_x) = bgr_image.shape[:2], resized_image.shape[:2] + (real_y, real_x), (resized_y, resized_x) = ( + bgr_image.shape[:2], + resized_image.shape[:2], + ) ratio_x, ratio_y = real_x / resized_x, real_y / resized_y # Convert the base image from BGR to RGB format. @@ -863,12 +879,10 @@ Visualization conf = box[-1] if conf > threshold: # Convert float to int and multiply corner position of each box by x and y ratio. - # If the bounding box is found at the top of the image, - # position the upper box bar little lower to make it visible on the image. + # If the bounding box is found at the top of the image, + # position the upper box bar little lower to make it visible on the image. (x_min, y_min, x_max, y_max) = [ - int(max(corner_position * ratio_y, 10)) if idx % 2 - else int(corner_position * ratio_x) - for idx, corner_position in enumerate(box[:-1]) + (int(max(corner_position * ratio_y, 10)) if idx % 2 else int(corner_position * ratio_x)) for idx, corner_position in enumerate(box[:-1]) ] # Draw a box based on the position, parameters in rectangle function are: image, start_point, end_point, color, thickness. @@ -906,7 +920,7 @@ Visualization -.. image:: 117-model-server-with-output_files/117-model-server-with-output_28_1.png +.. image:: model-server-with-output_files/model-server-with-output_28_1.png To stop and remove the model server container, you can use the following diff --git a/docs/notebooks/117-model-server-with-output_files/117-model-server-with-output_23_2.png b/docs/notebooks/model-server-with-output_files/model-server-with-output_23_2.png similarity index 100% rename from docs/notebooks/117-model-server-with-output_files/117-model-server-with-output_23_2.png rename to docs/notebooks/model-server-with-output_files/model-server-with-output_23_2.png diff --git a/docs/notebooks/117-model-server-with-output_files/117-model-server-with-output_28_1.png b/docs/notebooks/model-server-with-output_files/model-server-with-output_28_1.png similarity index 100% rename from docs/notebooks/117-model-server-with-output_files/117-model-server-with-output_28_1.png rename to docs/notebooks/model-server-with-output_files/model-server-with-output_28_1.png diff --git a/docs/notebooks/model-tools-with-output.rst b/docs/notebooks/model-tools-with-output.rst new file mode 100644 index 00000000000..c11484d170c --- /dev/null +++ b/docs/notebooks/model-tools-with-output.rst @@ -0,0 +1,1025 @@ +Working with Open Model Zoo Models +================================== + +This tutorial shows how to download a model from `Open Model +Zoo `__, convert it +to OpenVINO™ IR format, show information about the model, and benchmark +the model. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `OpenVINO and Open Model Zoo + Tools <#openvino-and-open-model-zoo-tools>`__ +- `Preparation <#preparation>`__ + + - `Model Name <#model-name>`__ + - `Imports <#imports>`__ + - `Settings and Configuration <#settings-and-configuration>`__ + +- `Download a Model from Open Model + Zoo <#download-a-model-from-open-model-zoo>`__ +- `Convert a Model to OpenVINO IR + format <#convert-a-model-to-openvino-ir-format>`__ +- `Get Model Information <#get-model-information>`__ +- `Run Benchmark Tool <#run-benchmark-tool>`__ + + - `Benchmark with Different + Settings <#benchmark-with-different-settings>`__ + +OpenVINO and Open Model Zoo Tools +--------------------------------- + + + +OpenVINO and Open Model Zoo tools are listed in the table below. + ++------------+--------------+-----------------------------------------+ +| Tool | Command | Description | ++============+==============+=========================================+ +| Model | ``omz_downlo | Download models from Open Model Zoo. | +| Downloader | ader`` | | ++------------+--------------+-----------------------------------------+ +| Model | ``omz_conver | Convert Open Model Zoo models to | +| Converter | ter`` | OpenVINO’s IR format. | ++------------+--------------+-----------------------------------------+ +| Info | ``omz_info_d | Print information about Open Model Zoo | +| Dumper | umper`` | models. | ++------------+--------------+-----------------------------------------+ +| Benchmark | ``benchmark_ | Benchmark model performance by | +| Tool | app`` | computing inference time. | ++------------+--------------+-----------------------------------------+ + +.. code:: ipython3 + + # Install openvino package + %pip install -q "openvino-dev>=2024.0.0" torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Preparation +----------- + + + +Model Name +~~~~~~~~~~ + + + +Set ``model_name`` to the name of the Open Model Zoo model to use in +this notebook. Refer to the list of +`public `__ +and +`Intel `__ +pre-trained models for a full list of models that can be used. Set +``model_name`` to the model you want to use. + +.. code:: ipython3 + + # model_name = "resnet-50-pytorch" + model_name = "mobilenet-v2-pytorch" + +Imports +~~~~~~~ + + + +.. code:: ipython3 + + import json + from pathlib import Path + + import openvino as ov + from IPython.display import Markdown, display + + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import DeviceNotFoundAlert, NotebookAlert + +Settings and Configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Set the file and directory paths. By default, this notebook downloads +models from Open Model Zoo to the ``open_model_zoo_models`` directory in +your ``$HOME`` directory. On Windows, the $HOME directory is usually +``c:\users\username``, on Linux ``/home/username``. To change the +folder, change ``base_model_dir`` in the cell below. + +The following settings can be changed: + +- ``base_model_dir``: Models will be downloaded into the ``intel`` and + ``public`` folders in this directory. +- ``omz_cache_dir``: Cache folder for Open Model Zoo. Specifying a + cache directory is not required for Model Downloader and Model + Converter, but it speeds up subsequent downloads. +- ``precision``: If specified, only models with this precision will be + downloaded and converted. + +.. code:: ipython3 + + base_model_dir = Path("model") + omz_cache_dir = Path("cache") + precision = "FP16" + + # Check if an GPU is available on this system to use with Benchmark App. + core = ov.Core() + gpu_available = "GPU" in core.available_devices + + print(f"base_model_dir: {base_model_dir}, omz_cache_dir: {omz_cache_dir}, gpu_availble: {gpu_available}") + + +.. parsed-literal:: + + base_model_dir: model, omz_cache_dir: cache, gpu_availble: False + + +Download a Model from Open Model Zoo +------------------------------------ + + + +Specify, display and run the Model Downloader command to download the +model. + +.. code:: ipython3 + + ## Uncomment the next line to show help in omz_downloader which explains the command-line options. + + # !omz_downloader --help + +.. code:: ipython3 + + download_command = f"omz_downloader --name {model_name} --output_dir {base_model_dir} --cache_dir {omz_cache_dir}" + display(Markdown(f"Download command: `{download_command}`")) + display(Markdown(f"Downloading {model_name}...")) + ! $download_command + + + +Download command: +``omz_downloader --name mobilenet-v2-pytorch --output_dir model --cache_dir cache`` + + + +Downloading mobilenet-v2-pytorch… + + +.. parsed-literal:: + + ################|| Downloading mobilenet-v2-pytorch ||################ + + ========== Downloading model/public/mobilenet-v2-pytorch/mobilenet_v2-b0353104.pth + + +.. parsed-literal:: + + ... 0%, 32 KB, 954 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 64 KB, 986 KB/s, 0 seconds passed +... 0%, 96 KB, 1460 KB/s, 0 seconds passed +... 0%, 128 KB, 1315 KB/s, 0 seconds passed +... 1%, 160 KB, 1628 KB/s, 0 seconds passed +... 1%, 192 KB, 1916 KB/s, 0 seconds passed +... 1%, 224 KB, 2215 KB/s, 0 seconds passed +... 1%, 256 KB, 2510 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 2%, 288 KB, 2214 KB/s, 0 seconds passed +... 2%, 320 KB, 2450 KB/s, 0 seconds passed +... 2%, 352 KB, 2672 KB/s, 0 seconds passed +... 2%, 384 KB, 2894 KB/s, 0 seconds passed +... 2%, 416 KB, 3115 KB/s, 0 seconds passed +... 3%, 448 KB, 3332 KB/s, 0 seconds passed +... 3%, 480 KB, 3548 KB/s, 0 seconds passed +... 3%, 512 KB, 3763 KB/s, 0 seconds passed +... 3%, 544 KB, 3959 KB/s, 0 seconds passed +... 4%, 576 KB, 4178 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 4%, 608 KB, 3723 KB/s, 0 seconds passed +... 4%, 640 KB, 3907 KB/s, 0 seconds passed +... 4%, 672 KB, 4092 KB/s, 0 seconds passed +... 5%, 704 KB, 4274 KB/s, 0 seconds passed +... 5%, 736 KB, 4456 KB/s, 0 seconds passed +... 5%, 768 KB, 4638 KB/s, 0 seconds passed +... 5%, 800 KB, 4820 KB/s, 0 seconds passed +... 5%, 832 KB, 4998 KB/s, 0 seconds passed +... 6%, 864 KB, 5177 KB/s, 0 seconds passed +... 6%, 896 KB, 5355 KB/s, 0 seconds passed +... 6%, 928 KB, 5535 KB/s, 0 seconds passed +... 6%, 960 KB, 5712 KB/s, 0 seconds passed +... 7%, 992 KB, 5889 KB/s, 0 seconds passed +... 7%, 1024 KB, 6067 KB/s, 0 seconds passed +... 7%, 1056 KB, 6244 KB/s, 0 seconds passed +... 7%, 1088 KB, 6422 KB/s, 0 seconds passed +... 8%, 1120 KB, 6599 KB/s, 0 seconds passed +... 8%, 1152 KB, 6753 KB/s, 0 seconds passed +... 8%, 1184 KB, 6924 KB/s, 0 seconds passed +... 8%, 1216 KB, 7097 KB/s, 0 seconds passed +... 8%, 1248 KB, 6362 KB/s, 0 seconds passed +... 9%, 1280 KB, 6509 KB/s, 0 seconds passed +... 9%, 1312 KB, 6657 KB/s, 0 seconds passed +... 9%, 1344 KB, 6806 KB/s, 0 seconds passed +... 9%, 1376 KB, 6952 KB/s, 0 seconds passed +... 10%, 1408 KB, 7096 KB/s, 0 seconds passed +... 10%, 1440 KB, 7243 KB/s, 0 seconds passed +... 10%, 1472 KB, 7392 KB/s, 0 seconds passed +... 10%, 1504 KB, 7542 KB/s, 0 seconds passed +... 11%, 1536 KB, 7691 KB/s, 0 seconds passed +... 11%, 1568 KB, 7686 KB/s, 0 seconds passed +... 11%, 1600 KB, 7827 KB/s, 0 seconds passed +... 11%, 1632 KB, 7969 KB/s, 0 seconds passed +... 11%, 1664 KB, 8109 KB/s, 0 seconds passed +... 12%, 1696 KB, 8249 KB/s, 0 seconds passed +... 12%, 1728 KB, 8389 KB/s, 0 seconds passed +... 12%, 1760 KB, 8528 KB/s, 0 seconds passed +... 12%, 1792 KB, 8667 KB/s, 0 seconds passed +... 13%, 1824 KB, 8805 KB/s, 0 seconds passed +... 13%, 1856 KB, 8944 KB/s, 0 seconds passed +... 13%, 1888 KB, 9081 KB/s, 0 seconds passed +... 13%, 1920 KB, 9218 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 14%, 1952 KB, 9354 KB/s, 0 seconds passed +... 14%, 1984 KB, 9491 KB/s, 0 seconds passed +... 14%, 2016 KB, 9627 KB/s, 0 seconds passed +... 14%, 2048 KB, 9762 KB/s, 0 seconds passed +... 14%, 2080 KB, 9897 KB/s, 0 seconds passed +... 15%, 2112 KB, 10030 KB/s, 0 seconds passed +... 15%, 2144 KB, 10162 KB/s, 0 seconds passed +... 15%, 2176 KB, 10296 KB/s, 0 seconds passed +... 15%, 2208 KB, 10429 KB/s, 0 seconds passed +... 16%, 2240 KB, 10565 KB/s, 0 seconds passed +... 16%, 2272 KB, 10701 KB/s, 0 seconds passed +... 16%, 2304 KB, 10837 KB/s, 0 seconds passed +... 16%, 2336 KB, 10973 KB/s, 0 seconds passed +... 17%, 2368 KB, 11108 KB/s, 0 seconds passed +... 17%, 2400 KB, 11243 KB/s, 0 seconds passed +... 17%, 2432 KB, 11377 KB/s, 0 seconds passed +... 17%, 2464 KB, 11512 KB/s, 0 seconds passed +... 17%, 2496 KB, 10926 KB/s, 0 seconds passed +... 18%, 2528 KB, 11043 KB/s, 0 seconds passed +... 18%, 2560 KB, 11164 KB/s, 0 seconds passed +... 18%, 2592 KB, 11288 KB/s, 0 seconds passed +... 18%, 2624 KB, 11012 KB/s, 0 seconds passed +... 19%, 2656 KB, 11120 KB/s, 0 seconds passed +... 19%, 2688 KB, 11233 KB/s, 0 seconds passed +... 19%, 2720 KB, 11348 KB/s, 0 seconds passed +... 19%, 2752 KB, 11463 KB/s, 0 seconds passed +... 20%, 2784 KB, 11578 KB/s, 0 seconds passed +... 20%, 2816 KB, 11693 KB/s, 0 seconds passed +... 20%, 2848 KB, 11807 KB/s, 0 seconds passed +... 20%, 2880 KB, 11920 KB/s, 0 seconds passed +... 20%, 2912 KB, 12033 KB/s, 0 seconds passed +... 21%, 2944 KB, 12146 KB/s, 0 seconds passed +... 21%, 2976 KB, 12258 KB/s, 0 seconds passed +... 21%, 3008 KB, 12370 KB/s, 0 seconds passed +... 21%, 3040 KB, 12483 KB/s, 0 seconds passed +... 22%, 3072 KB, 12595 KB/s, 0 seconds passed +... 22%, 3104 KB, 12705 KB/s, 0 seconds passed +... 22%, 3136 KB, 12816 KB/s, 0 seconds passed +... 22%, 3168 KB, 12926 KB/s, 0 seconds passed +... 23%, 3200 KB, 13037 KB/s, 0 seconds passed +... 23%, 3232 KB, 13146 KB/s, 0 seconds passed +... 23%, 3264 KB, 13256 KB/s, 0 seconds passed +... 23%, 3296 KB, 13364 KB/s, 0 seconds passed +... 23%, 3328 KB, 13474 KB/s, 0 seconds passed +... 24%, 3360 KB, 13584 KB/s, 0 seconds passed +... 24%, 3392 KB, 13694 KB/s, 0 seconds passed +... 24%, 3424 KB, 13802 KB/s, 0 seconds passed +... 24%, 3456 KB, 13912 KB/s, 0 seconds passed +... 25%, 3488 KB, 14021 KB/s, 0 seconds passed +... 25%, 3520 KB, 14130 KB/s, 0 seconds passed +... 25%, 3552 KB, 14239 KB/s, 0 seconds passed +... 25%, 3584 KB, 14346 KB/s, 0 seconds passed +... 26%, 3616 KB, 14454 KB/s, 0 seconds passed +... 26%, 3648 KB, 14559 KB/s, 0 seconds passed +... 26%, 3680 KB, 14664 KB/s, 0 seconds passed +... 26%, 3712 KB, 14771 KB/s, 0 seconds passed +... 26%, 3744 KB, 14879 KB/s, 0 seconds passed +... 27%, 3776 KB, 14990 KB/s, 0 seconds passed +... 27%, 3808 KB, 15101 KB/s, 0 seconds passed +... 27%, 3840 KB, 15211 KB/s, 0 seconds passed +... 27%, 3872 KB, 15322 KB/s, 0 seconds passed +... 28%, 3904 KB, 15430 KB/s, 0 seconds passed +... 28%, 3936 KB, 15540 KB/s, 0 seconds passed +... 28%, 3968 KB, 15650 KB/s, 0 seconds passed +... 28%, 4000 KB, 15759 KB/s, 0 seconds passed +... 29%, 4032 KB, 15869 KB/s, 0 seconds passed +... 29%, 4064 KB, 15977 KB/s, 0 seconds passed +... 29%, 4096 KB, 16086 KB/s, 0 seconds passed +... 29%, 4128 KB, 16195 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 29%, 4160 KB, 15477 KB/s, 0 seconds passed +... 30%, 4192 KB, 15566 KB/s, 0 seconds passed +... 30%, 4224 KB, 15661 KB/s, 0 seconds passed +... 30%, 4256 KB, 15757 KB/s, 0 seconds passed +... 30%, 4288 KB, 15850 KB/s, 0 seconds passed +... 31%, 4320 KB, 15946 KB/s, 0 seconds passed +... 31%, 4352 KB, 16042 KB/s, 0 seconds passed +... 31%, 4384 KB, 16138 KB/s, 0 seconds passed +... 31%, 4416 KB, 16232 KB/s, 0 seconds passed +... 32%, 4448 KB, 16327 KB/s, 0 seconds passed +... 32%, 4480 KB, 16420 KB/s, 0 seconds passed +... 32%, 4512 KB, 16515 KB/s, 0 seconds passed +... 32%, 4544 KB, 16609 KB/s, 0 seconds passed +... 32%, 4576 KB, 16703 KB/s, 0 seconds passed +... 33%, 4608 KB, 16797 KB/s, 0 seconds passed +... 33%, 4640 KB, 16888 KB/s, 0 seconds passed +... 33%, 4672 KB, 16980 KB/s, 0 seconds passed +... 33%, 4704 KB, 17073 KB/s, 0 seconds passed +... 34%, 4736 KB, 17166 KB/s, 0 seconds passed +... 34%, 4768 KB, 17257 KB/s, 0 seconds passed +... 34%, 4800 KB, 17350 KB/s, 0 seconds passed +... 34%, 4832 KB, 17443 KB/s, 0 seconds passed +... 35%, 4864 KB, 17537 KB/s, 0 seconds passed +... 35%, 4896 KB, 17631 KB/s, 0 seconds passed +... 35%, 4928 KB, 17722 KB/s, 0 seconds passed +... 35%, 4960 KB, 17813 KB/s, 0 seconds passed +... 35%, 4992 KB, 17905 KB/s, 0 seconds passed +... 36%, 5024 KB, 17997 KB/s, 0 seconds passed +... 36%, 5056 KB, 18089 KB/s, 0 seconds passed +... 36%, 5088 KB, 18181 KB/s, 0 seconds passed +... 36%, 5120 KB, 18273 KB/s, 0 seconds passed +... 37%, 5152 KB, 18365 KB/s, 0 seconds passed +... 37%, 5184 KB, 18455 KB/s, 0 seconds passed +... 37%, 5216 KB, 18546 KB/s, 0 seconds passed +... 37%, 5248 KB, 18636 KB/s, 0 seconds passed +... 38%, 5280 KB, 18726 KB/s, 0 seconds passed +... 38%, 5312 KB, 18817 KB/s, 0 seconds passed +... 38%, 5344 KB, 18907 KB/s, 0 seconds passed +... 38%, 5376 KB, 18996 KB/s, 0 seconds passed +... 38%, 5408 KB, 19086 KB/s, 0 seconds passed +... 39%, 5440 KB, 19175 KB/s, 0 seconds passed +... 39%, 5472 KB, 19265 KB/s, 0 seconds passed +... 39%, 5504 KB, 19355 KB/s, 0 seconds passed +... 39%, 5536 KB, 19444 KB/s, 0 seconds passed +... 40%, 5568 KB, 19533 KB/s, 0 seconds passed +... 40%, 5600 KB, 19623 KB/s, 0 seconds passed +... 40%, 5632 KB, 19712 KB/s, 0 seconds passed +... 40%, 5664 KB, 19800 KB/s, 0 seconds passed +... 41%, 5696 KB, 19887 KB/s, 0 seconds passed +... 41%, 5728 KB, 19982 KB/s, 0 seconds passed +... 41%, 5760 KB, 20077 KB/s, 0 seconds passed +... 41%, 5792 KB, 20173 KB/s, 0 seconds passed +... 41%, 5824 KB, 20268 KB/s, 0 seconds passed +... 42%, 5856 KB, 20363 KB/s, 0 seconds passed +... 42%, 5888 KB, 20458 KB/s, 0 seconds passed +... 42%, 5920 KB, 20552 KB/s, 0 seconds passed +... 42%, 5952 KB, 20646 KB/s, 0 seconds passed +... 43%, 5984 KB, 20740 KB/s, 0 seconds passed +... 43%, 6016 KB, 20834 KB/s, 0 seconds passed +... 43%, 6048 KB, 20928 KB/s, 0 seconds passed +... 43%, 6080 KB, 21023 KB/s, 0 seconds passed +... 44%, 6112 KB, 21116 KB/s, 0 seconds passed +... 44%, 6144 KB, 21210 KB/s, 0 seconds passed +... 44%, 6176 KB, 21303 KB/s, 0 seconds passed +... 44%, 6208 KB, 21397 KB/s, 0 seconds passed +... 44%, 6240 KB, 21488 KB/s, 0 seconds passed +... 45%, 6272 KB, 21581 KB/s, 0 seconds passed +... 45%, 6304 KB, 21674 KB/s, 0 seconds passed +... 45%, 6336 KB, 21768 KB/s, 0 seconds passed +... 45%, 6368 KB, 21860 KB/s, 0 seconds passed +... 46%, 6400 KB, 21953 KB/s, 0 seconds passed +... 46%, 6432 KB, 22045 KB/s, 0 seconds passed +... 46%, 6464 KB, 22137 KB/s, 0 seconds passed +... 46%, 6496 KB, 22229 KB/s, 0 seconds passed +... 47%, 6528 KB, 22321 KB/s, 0 seconds passed +... 47%, 6560 KB, 22413 KB/s, 0 seconds passed +... 47%, 6592 KB, 22505 KB/s, 0 seconds passed +... 47%, 6624 KB, 22597 KB/s, 0 seconds passed +... 47%, 6656 KB, 22689 KB/s, 0 seconds passed +... 48%, 6688 KB, 22779 KB/s, 0 seconds passed +... 48%, 6720 KB, 22871 KB/s, 0 seconds passed +... 48%, 6752 KB, 22962 KB/s, 0 seconds passed +... 48%, 6784 KB, 23053 KB/s, 0 seconds passed +... 49%, 6816 KB, 23143 KB/s, 0 seconds passed +... 49%, 6848 KB, 23232 KB/s, 0 seconds passed +... 49%, 6880 KB, 23322 KB/s, 0 seconds passed +... 49%, 6912 KB, 23413 KB/s, 0 seconds passed +... 50%, 6944 KB, 23501 KB/s, 0 seconds passed +... 50%, 6976 KB, 23591 KB/s, 0 seconds passed +... 50%, 7008 KB, 23680 KB/s, 0 seconds passed +... 50%, 7040 KB, 23769 KB/s, 0 seconds passed +... 50%, 7072 KB, 23858 KB/s, 0 seconds passed +... 51%, 7104 KB, 23948 KB/s, 0 seconds passed +... 51%, 7136 KB, 24038 KB/s, 0 seconds passed +... 51%, 7168 KB, 24134 KB/s, 0 seconds passed +... 51%, 7200 KB, 24229 KB/s, 0 seconds passed +... 52%, 7232 KB, 24324 KB/s, 0 seconds passed +... 52%, 7264 KB, 24420 KB/s, 0 seconds passed +... 52%, 7296 KB, 24515 KB/s, 0 seconds passed +... 52%, 7328 KB, 24609 KB/s, 0 seconds passed +... 53%, 7360 KB, 24703 KB/s, 0 seconds passed +... 53%, 7392 KB, 24798 KB/s, 0 seconds passed +... 53%, 7424 KB, 24893 KB/s, 0 seconds passed +... 53%, 7456 KB, 24986 KB/s, 0 seconds passed +... 53%, 7488 KB, 25080 KB/s, 0 seconds passed +... 54%, 7520 KB, 25174 KB/s, 0 seconds passed +... 54%, 7552 KB, 25268 KB/s, 0 seconds passed +... 54%, 7584 KB, 25362 KB/s, 0 seconds passed +... 54%, 7616 KB, 25455 KB/s, 0 seconds passed +... 55%, 7648 KB, 25549 KB/s, 0 seconds passed +... 55%, 7680 KB, 25643 KB/s, 0 seconds passed +... 55%, 7712 KB, 25735 KB/s, 0 seconds passed +... 55%, 7744 KB, 25819 KB/s, 0 seconds passed +... 56%, 7776 KB, 25904 KB/s, 0 seconds passed +... 56%, 7808 KB, 25983 KB/s, 0 seconds passed +... 56%, 7840 KB, 26066 KB/s, 0 seconds passed +... 56%, 7872 KB, 26150 KB/s, 0 seconds passed +... 56%, 7904 KB, 26229 KB/s, 0 seconds passed +... 57%, 7936 KB, 26317 KB/s, 0 seconds passed +... 57%, 7968 KB, 26395 KB/s, 0 seconds passed +... 57%, 8000 KB, 26478 KB/s, 0 seconds passed +... 57%, 8032 KB, 26560 KB/s, 0 seconds passed +... 58%, 8064 KB, 26639 KB/s, 0 seconds passed +... 58%, 8096 KB, 26721 KB/s, 0 seconds passed +... 58%, 8128 KB, 26803 KB/s, 0 seconds passed +... 58%, 8160 KB, 26881 KB/s, 0 seconds passed +... 59%, 8192 KB, 26958 KB/s, 0 seconds passed +... 59%, 8224 KB, 27040 KB/s, 0 seconds passed +... 59%, 8256 KB, 27122 KB/s, 0 seconds passed +... 59%, 8288 KB, 27199 KB/s, 0 seconds passed +... 59%, 8320 KB, 27280 KB/s, 0 seconds passed +... 60%, 8352 KB, 27362 KB/s, 0 seconds passed +... 60%, 8384 KB, 27443 KB/s, 0 seconds passed +... 60%, 8416 KB, 27524 KB/s, 0 seconds passed +... 60%, 8448 KB, 27605 KB/s, 0 seconds passed +... 61%, 8480 KB, 27686 KB/s, 0 seconds passed +... 61%, 8512 KB, 27765 KB/s, 0 seconds passed +... 61%, 8544 KB, 27841 KB/s, 0 seconds passed +... 61%, 8576 KB, 27922 KB/s, 0 seconds passed +... 62%, 8608 KB, 28002 KB/s, 0 seconds passed +... 62%, 8640 KB, 28077 KB/s, 0 seconds passed +... 62%, 8672 KB, 28152 KB/s, 0 seconds passed +... 62%, 8704 KB, 28228 KB/s, 0 seconds passed +... 62%, 8736 KB, 28307 KB/s, 0 seconds passed +... 63%, 8768 KB, 28387 KB/s, 0 seconds passed +... 63%, 8800 KB, 28462 KB/s, 0 seconds passed +... 63%, 8832 KB, 28541 KB/s, 0 seconds passed +... 63%, 8864 KB, 28615 KB/s, 0 seconds passed +... 64%, 8896 KB, 28694 KB/s, 0 seconds passed +... 64%, 8928 KB, 28778 KB/s, 0 seconds passed +... 64%, 8960 KB, 28852 KB/s, 0 seconds passed +... 64%, 8992 KB, 28931 KB/s, 0 seconds passed +... 65%, 9024 KB, 29009 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 65%, 9056 KB, 29087 KB/s, 0 seconds passed +... 65%, 9088 KB, 29161 KB/s, 0 seconds passed +... 65%, 9120 KB, 29239 KB/s, 0 seconds passed +... 65%, 9152 KB, 29317 KB/s, 0 seconds passed +... 66%, 9184 KB, 29278 KB/s, 0 seconds passed +... 66%, 9216 KB, 29355 KB/s, 0 seconds passed +... 66%, 9248 KB, 29433 KB/s, 0 seconds passed +... 66%, 9280 KB, 29505 KB/s, 0 seconds passed +... 67%, 9312 KB, 29582 KB/s, 0 seconds passed +... 67%, 9344 KB, 29659 KB/s, 0 seconds passed +... 67%, 9376 KB, 29731 KB/s, 0 seconds passed +... 67%, 9408 KB, 29807 KB/s, 0 seconds passed +... 68%, 9440 KB, 29874 KB/s, 0 seconds passed +... 68%, 9472 KB, 29950 KB/s, 0 seconds passed +... 68%, 9504 KB, 30022 KB/s, 0 seconds passed +... 68%, 9536 KB, 30102 KB/s, 0 seconds passed +... 68%, 9568 KB, 30174 KB/s, 0 seconds passed +... 69%, 9600 KB, 30250 KB/s, 0 seconds passed +... 69%, 9632 KB, 30325 KB/s, 0 seconds passed +... 69%, 9664 KB, 30400 KB/s, 0 seconds passed +... 69%, 9696 KB, 30476 KB/s, 0 seconds passed +... 70%, 9728 KB, 30551 KB/s, 0 seconds passed +... 70%, 9760 KB, 30621 KB/s, 0 seconds passed +... 70%, 9792 KB, 30696 KB/s, 0 seconds passed +... 70%, 9824 KB, 30772 KB/s, 0 seconds passed +... 71%, 9856 KB, 30831 KB/s, 0 seconds passed +... 71%, 9888 KB, 30906 KB/s, 0 seconds passed +... 71%, 9920 KB, 30980 KB/s, 0 seconds passed +... 71%, 9952 KB, 31055 KB/s, 0 seconds passed +... 71%, 9984 KB, 31124 KB/s, 0 seconds passed +... 72%, 10016 KB, 31198 KB/s, 0 seconds passed +... 72%, 10048 KB, 31273 KB/s, 0 seconds passed +... 72%, 10080 KB, 31346 KB/s, 0 seconds passed +... 72%, 10112 KB, 29928 KB/s, 0 seconds passed +... 73%, 10144 KB, 29976 KB/s, 0 seconds passed +... 73%, 10176 KB, 30032 KB/s, 0 seconds passed +... 73%, 10208 KB, 30090 KB/s, 0 seconds passed +... 73%, 10240 KB, 30151 KB/s, 0 seconds passed +... 74%, 10272 KB, 30213 KB/s, 0 seconds passed +... 74%, 10304 KB, 30275 KB/s, 0 seconds passed +... 74%, 10336 KB, 30337 KB/s, 0 seconds passed +... 74%, 10368 KB, 30399 KB/s, 0 seconds passed +... 74%, 10400 KB, 30460 KB/s, 0 seconds passed +... 75%, 10432 KB, 30521 KB/s, 0 seconds passed +... 75%, 10464 KB, 30581 KB/s, 0 seconds passed +... 75%, 10496 KB, 30638 KB/s, 0 seconds passed +... 75%, 10528 KB, 30698 KB/s, 0 seconds passed +... 76%, 10560 KB, 30759 KB/s, 0 seconds passed +... 76%, 10592 KB, 30820 KB/s, 0 seconds passed +... 76%, 10624 KB, 30880 KB/s, 0 seconds passed +... 76%, 10656 KB, 30941 KB/s, 0 seconds passed +... 77%, 10688 KB, 31001 KB/s, 0 seconds passed +... 77%, 10720 KB, 31059 KB/s, 0 seconds passed +... 77%, 10752 KB, 31117 KB/s, 0 seconds passed +... 77%, 10784 KB, 31177 KB/s, 0 seconds passed +... 77%, 10816 KB, 31236 KB/s, 0 seconds passed +... 78%, 10848 KB, 31292 KB/s, 0 seconds passed +... 78%, 10880 KB, 31351 KB/s, 0 seconds passed +... 78%, 10912 KB, 31410 KB/s, 0 seconds passed +... 78%, 10944 KB, 31473 KB/s, 0 seconds passed +... 79%, 10976 KB, 31537 KB/s, 0 seconds passed +... 79%, 11008 KB, 31603 KB/s, 0 seconds passed +... 79%, 11040 KB, 31668 KB/s, 0 seconds passed +... 79%, 11072 KB, 31733 KB/s, 0 seconds passed +... 80%, 11104 KB, 31798 KB/s, 0 seconds passed +... 80%, 11136 KB, 31863 KB/s, 0 seconds passed +... 80%, 11168 KB, 31926 KB/s, 0 seconds passed +... 80%, 11200 KB, 31991 KB/s, 0 seconds passed +... 80%, 11232 KB, 32051 KB/s, 0 seconds passed +... 81%, 11264 KB, 32113 KB/s, 0 seconds passed +... 81%, 11296 KB, 32178 KB/s, 0 seconds passed +... 81%, 11328 KB, 32242 KB/s, 0 seconds passed +... 81%, 11360 KB, 32306 KB/s, 0 seconds passed +... 82%, 11392 KB, 32370 KB/s, 0 seconds passed +... 82%, 11424 KB, 32434 KB/s, 0 seconds passed +... 82%, 11456 KB, 32498 KB/s, 0 seconds passed +... 82%, 11488 KB, 32560 KB/s, 0 seconds passed +... 82%, 11520 KB, 32624 KB/s, 0 seconds passed +... 83%, 11552 KB, 32688 KB/s, 0 seconds passed +... 83%, 11584 KB, 32751 KB/s, 0 seconds passed +... 83%, 11616 KB, 32815 KB/s, 0 seconds passed +... 83%, 11648 KB, 32878 KB/s, 0 seconds passed +... 84%, 11680 KB, 32939 KB/s, 0 seconds passed +... 84%, 11712 KB, 33003 KB/s, 0 seconds passed +... 84%, 11744 KB, 33064 KB/s, 0 seconds passed +... 84%, 11776 KB, 33127 KB/s, 0 seconds passed +... 85%, 11808 KB, 33187 KB/s, 0 seconds passed +... 85%, 11840 KB, 33249 KB/s, 0 seconds passed +... 85%, 11872 KB, 33312 KB/s, 0 seconds passed +... 85%, 11904 KB, 33373 KB/s, 0 seconds passed +... 85%, 11936 KB, 33437 KB/s, 0 seconds passed +... 86%, 11968 KB, 33497 KB/s, 0 seconds passed +... 86%, 12000 KB, 33560 KB/s, 0 seconds passed +... 86%, 12032 KB, 33630 KB/s, 0 seconds passed +... 86%, 12064 KB, 33700 KB/s, 0 seconds passed +... 87%, 12096 KB, 33771 KB/s, 0 seconds passed +... 87%, 12128 KB, 33841 KB/s, 0 seconds passed +... 87%, 12160 KB, 33911 KB/s, 0 seconds passed +... 87%, 12192 KB, 33982 KB/s, 0 seconds passed +... 88%, 12224 KB, 34050 KB/s, 0 seconds passed +... 88%, 12256 KB, 34120 KB/s, 0 seconds passed +... 88%, 12288 KB, 34190 KB/s, 0 seconds passed +... 88%, 12320 KB, 34261 KB/s, 0 seconds passed +... 88%, 12352 KB, 34331 KB/s, 0 seconds passed +... 89%, 12384 KB, 34400 KB/s, 0 seconds passed +... 89%, 12416 KB, 34468 KB/s, 0 seconds passed +... 89%, 12448 KB, 34537 KB/s, 0 seconds passed +... 89%, 12480 KB, 34603 KB/s, 0 seconds passed +... 90%, 12512 KB, 34673 KB/s, 0 seconds passed +... 90%, 12544 KB, 34742 KB/s, 0 seconds passed +... 90%, 12576 KB, 34811 KB/s, 0 seconds passed +... 90%, 12608 KB, 34880 KB/s, 0 seconds passed +... 91%, 12640 KB, 34949 KB/s, 0 seconds passed +... 91%, 12672 KB, 35019 KB/s, 0 seconds passed +... 91%, 12704 KB, 35088 KB/s, 0 seconds passed +... 91%, 12736 KB, 35156 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 91%, 12768 KB, 35223 KB/s, 0 seconds passed +... 92%, 12800 KB, 35291 KB/s, 0 seconds passed +... 92%, 12832 KB, 35360 KB/s, 0 seconds passed +... 92%, 12864 KB, 35428 KB/s, 0 seconds passed +... 92%, 12896 KB, 35497 KB/s, 0 seconds passed +... 93%, 12928 KB, 35567 KB/s, 0 seconds passed +... 93%, 12960 KB, 35635 KB/s, 0 seconds passed +... 93%, 12992 KB, 35702 KB/s, 0 seconds passed +... 93%, 13024 KB, 35771 KB/s, 0 seconds passed +... 94%, 13056 KB, 35840 KB/s, 0 seconds passed +... 94%, 13088 KB, 35909 KB/s, 0 seconds passed +... 94%, 13120 KB, 35977 KB/s, 0 seconds passed +... 94%, 13152 KB, 36045 KB/s, 0 seconds passed +... 94%, 13184 KB, 36114 KB/s, 0 seconds passed +... 95%, 13216 KB, 36181 KB/s, 0 seconds passed +... 95%, 13248 KB, 36248 KB/s, 0 seconds passed +... 95%, 13280 KB, 36316 KB/s, 0 seconds passed +... 95%, 13312 KB, 36385 KB/s, 0 seconds passed +... 96%, 13344 KB, 36452 KB/s, 0 seconds passed +... 96%, 13376 KB, 36514 KB/s, 0 seconds passed +... 96%, 13408 KB, 36574 KB/s, 0 seconds passed +... 96%, 13440 KB, 36635 KB/s, 0 seconds passed +... 97%, 13472 KB, 36696 KB/s, 0 seconds passed +... 97%, 13504 KB, 36752 KB/s, 0 seconds passed +... 97%, 13536 KB, 36814 KB/s, 0 seconds passed +... 97%, 13568 KB, 36875 KB/s, 0 seconds passed +... 97%, 13600 KB, 36930 KB/s, 0 seconds passed +... 98%, 13632 KB, 36991 KB/s, 0 seconds passed +... 98%, 13664 KB, 37051 KB/s, 0 seconds passed +... 98%, 13696 KB, 37112 KB/s, 0 seconds passed +... 98%, 13728 KB, 37166 KB/s, 0 seconds passed +... 99%, 13760 KB, 37226 KB/s, 0 seconds passed +... 99%, 13792 KB, 37282 KB/s, 0 seconds passed +... 99%, 13824 KB, 37341 KB/s, 0 seconds passed +... 99%, 13856 KB, 37401 KB/s, 0 seconds passed +... 100%, 13879 KB, 37444 KB/s, 0 seconds passed + + + + +Convert a Model to OpenVINO IR format +------------------------------------- + + + +Specify, display and run the Model Converter command to convert the +model to OpenVINO IR format. Model conversion may take a while. The +output of the Model Converter command will be displayed. When the +conversion is successful, the last lines of the output will include: +``[ SUCCESS ] Generated IR version 11 model.`` For downloaded models +that are already in OpenVINO IR format, conversion will be skipped. + +.. code:: ipython3 + + ## Uncomment the next line to show Help in omz_converter which explains the command-line options. + + # !omz_converter --help + +.. code:: ipython3 + + convert_command = f"omz_converter --name {model_name} --precisions {precision} --download_dir {base_model_dir} --output_dir {base_model_dir}" + display(Markdown(f"Convert command: `{convert_command}`")) + display(Markdown(f"Converting {model_name}...")) + + ! $convert_command + + + +Convert command: +``omz_converter --name mobilenet-v2-pytorch --precisions FP16 --download_dir model --output_dir model`` + + + +Converting mobilenet-v2-pytorch… + + +.. parsed-literal:: + + ========== Converting mobilenet-v2-pytorch to ONNX + Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-name=mobilenet_v2 --weights=model/public/mobilenet-v2-pytorch/mobilenet_v2-b0353104.pth --import-module=torchvision.models --input-shape=1,3,224,224 --output-file=model/public/mobilenet-v2-pytorch/mobilenet-v2.onnx --input-names=data --output-names=prob + + + +.. parsed-literal:: + + ONNX check passed successfully. + + +.. parsed-literal:: + + + ========== Converting mobilenet-v2-pytorch to IR (FP16) + Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=model/public/mobilenet-v2-pytorch/FP16 --model_name=mobilenet-v2-pytorch --input=data '--mean_values=data[123.675,116.28,103.53]' '--scale_values=data[58.624,57.12,57.375]' --reverse_input_channels --output=prob --input_model=model/public/mobilenet-v2-pytorch/mobilenet-v2.onnx '--layout=data(NCHW)' '--input_shape=[1, 3, 224, 224]' --compress_to_fp16=True + + + +.. parsed-literal:: + + [ INFO ] Generated IR will be compressed to FP16. If you get lower accuracy, please consider disabling compression explicitly by adding argument --compress_to_fp16=False. + Find more information about compression to FP16 at https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_FP16_Compression.html + [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. + Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html + [ SUCCESS ] Generated IR version 11 model. + [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/model-tools/model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml + [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/model-tools/model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.bin + + + + + +Get Model Information +--------------------- + + + +The Info Dumper prints the following information for Open Model Zoo +models: + +- Model name +- Description +- Framework that was used to train the model +- License URL +- Precisions supported by the model +- Subdirectory: the location of the downloaded model +- Task type + +This information can be shown by running +``omz_info_dumper --name model_name`` in a terminal. The information can +also be parsed and used in scripts. + +In the next cell, run Info Dumper and use ``json`` to load the +information in a dictionary. + +.. code:: ipython3 + + model_info_output = %sx omz_info_dumper --name $model_name + model_info = json.loads(model_info_output.get_nlstr()) + + if len(model_info) > 1: + NotebookAlert( + f"There are multiple IR files for the {model_name} model. The first model in the " + "omz_info_dumper output will be used for benchmarking. Change " + "`selected_model_info` in the cell below to select a different model from the list.", + "warning", + ) + + model_info + + + + +.. parsed-literal:: + + [{'name': 'mobilenet-v2-pytorch', + 'composite_model_name': None, + 'description': 'MobileNet V2 is image classification model pre-trained on ImageNet dataset. This is a PyTorch* implementation of MobileNetV2 architecture as described in the paper "Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation" .\nThe model input is a blob that consists of a single image of "1, 3, 224, 224" in "RGB" order.\nThe model output is typical object classifier for the 1000 different classifications matching with those in the ImageNet database.', + 'framework': 'pytorch', + 'license_url': 'https://raw.githubusercontent.com/pytorch/vision/master/LICENSE', + 'accuracy_config': '/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/models/public/mobilenet-v2-pytorch/accuracy-check.yml', + 'model_config': '/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/models/public/mobilenet-v2-pytorch/model.yml', + 'precisions': ['FP16', 'FP32'], + 'subdirectory': 'public/mobilenet-v2-pytorch', + 'task_type': 'classification', + 'input_info': [{'name': 'data', + 'shape': [1, 3, 224, 224], + 'layout': 'NCHW'}], + 'model_stages': []}] + + + +Having information of the model in a JSON file enables extraction of the +path to the model directory, and building the path to the OpenVINO IR +file. + +.. code:: ipython3 + + selected_model_info = model_info[0] + model_path = base_model_dir / Path(selected_model_info["subdirectory"]) / Path(f"{precision}/{selected_model_info['name']}.xml") + print(model_path, "exists:", model_path.exists()) + + +.. parsed-literal:: + + model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml exists: True + + +Run Benchmark Tool +------------------ + + + +By default, Benchmark Tool runs inference for 60 seconds in asynchronous +mode on CPU. It returns inference speed as latency (milliseconds per +image) and throughput values (frames per second). + +.. code:: ipython3 + + ## Uncomment the next line to show Help in benchmark_app which explains the command-line options. + # !benchmark_app --help + +.. code:: ipython3 + + benchmark_command = f"benchmark_app -m {model_path} -t 15" + display(Markdown(f"Benchmark command: `{benchmark_command}`")) + display(Markdown(f"Benchmarking {model_name} on CPU with async inference for 15 seconds...")) + + ! $benchmark_command + + + +Benchmark command: +``benchmark_app -m model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml -t 15`` + + + +Benchmarking mobilenet-v2-pytorch on CPU with async inference for 15 +seconds… + + +.. parsed-literal:: + + [Step 1/11] Parsing and validating input arguments + [ INFO ] Parsing input parameters + [Step 2/11] Loading OpenVINO Runtime + + +.. parsed-literal:: + + [ INFO ] OpenVINO: + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 + [ INFO ] + [ INFO ] Device info: + [ INFO ] CPU + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 + [ INFO ] + [ INFO ] + [Step 3/11] Setting device configuration + [ WARNING ] Performance hint was not explicitly specified in command line. Device(CPU) performance hint will be set to PerformanceMode.THROUGHPUT. + [Step 4/11] Reading model files + [ INFO ] Loading model files + + +.. parsed-literal:: + + [ INFO ] Read model took 28.84 ms + [ INFO ] Original model I/O parameters: + [ INFO ] Model inputs: + [ INFO ] data (node: data) : f32 / [N,C,H,W] / [1,3,224,224] + [ INFO ] Model outputs: + [ INFO ] prob (node: prob) : f32 / [...] / [1,1000] + [Step 5/11] Resizing model to match image sizes and given batch + [ INFO ] Model batch size: 1 + [Step 6/11] Configuring input of the model + [ INFO ] Model inputs: + [ INFO ] data (node: data) : u8 / [N,C,H,W] / [1,3,224,224] + [ INFO ] Model outputs: + [ INFO ] prob (node: prob) : f32 / [...] / [1,1000] + [Step 7/11] Loading the model to the device + + +.. parsed-literal:: + + [ INFO ] Compile model took 154.21 ms + [Step 8/11] Querying optimal runtime parameters + [ INFO ] Model: + [ INFO ] NETWORK_NAME: main_graph + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 + [ INFO ] NUM_STREAMS: 6 + [ INFO ] AFFINITY: Affinity.CORE + [ INFO ] INFERENCE_NUM_THREADS: 24 + [ INFO ] PERF_COUNT: NO + [ INFO ] INFERENCE_PRECISION_HINT: + [ INFO ] PERFORMANCE_HINT: THROUGHPUT + [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE + [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 + [ INFO ] ENABLE_CPU_PINNING: True + [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE + [ INFO ] ENABLE_HYPER_THREADING: True + [ INFO ] EXECUTION_DEVICES: ['CPU'] + [ INFO ] CPU_DENORMALS_OPTIMIZATION: False + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 + [ INFO ] KV_CACHE_PRECISION: + [Step 9/11] Creating infer requests and preparing input tensors + [ WARNING ] No input files were given for input 'data'!. This input will be filled with random values! + [ INFO ] Fill input 'data' with random values + [Step 10/11] Measuring performance (Start inference asynchronously, 6 inference requests, limits: 15000 ms duration) + [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). + [ INFO ] First inference took 6.50 ms + + +.. parsed-literal:: + + [Step 11/11] Dumping statistics report + [ INFO ] Execution Devices:['CPU'] + [ INFO ] Count: 20394 iterations + [ INFO ] Duration: 15004.33 ms + [ INFO ] Latency: + [ INFO ] Median: 4.29 ms + [ INFO ] Average: 4.29 ms + [ INFO ] Min: 2.36 ms + [ INFO ] Max: 12.12 ms + [ INFO ] Throughput: 1359.21 FPS + + +Benchmark with Different Settings +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +The ``benchmark_app`` tool displays logging information that is not +always necessary. A more compact result is achieved when the output is +parsed with ``json``. + +The following cells show some examples of ``benchmark_app`` with +different parameters. Below are some useful parameters: + +- ``-d`` A device to use for inference. For example: CPU, GPU, MULTI. + Default: CPU. +- ``-t`` Time expressed in number of seconds to run inference. Default: + 60. +- ``-api`` Use asynchronous (async) or synchronous (sync) inference. + Default: async. +- ``-b`` Batch size. Default: 1. + +Run ``! benchmark_app --help`` to get an overview of all possible +command-line parameters. + +In the next cell, define the ``benchmark_model()`` function that calls +``benchmark_app``. This makes it easy to try different combinations. In +the cell below that, you display available devices on the system. + + **Note**: In this notebook, ``benchmark_app`` runs for 15 seconds to + give a quick indication of performance. For more accurate + performance, it is recommended to run inference for at least one + minute by setting the ``t`` parameter to 60 or higher, and run + ``benchmark_app`` in a terminal/command prompt after closing other + applications. Copy the **benchmark command** and paste it in a + command prompt where you have activated the ``openvino_env`` + environment. + +.. code:: ipython3 + + def benchmark_model(model_xml, device="CPU", seconds=60, api="async", batch=1): + core = ov.Core() + model_path = Path(model_xml) + if ("GPU" in device) and ("GPU" not in core.available_devices): + DeviceNotFoundAlert("GPU") + else: + benchmark_command = f"benchmark_app -m {model_path} -d {device} -t {seconds} -api {api} -b {batch}" + display(Markdown(f"**Benchmark {model_path.name} with {device} for {seconds} seconds with {api} inference**")) + display(Markdown(f"Benchmark command: `{benchmark_command}`")) + + benchmark_output = %sx $benchmark_command + print("command ended") + benchmark_result = [line for line in benchmark_output if not (line.startswith(r"[") or line.startswith(" ") or line == "")] + print("\n".join(benchmark_result)) + +.. code:: ipython3 + + core = ov.Core() + + # Show devices available for OpenVINO Runtime + for device in core.available_devices: + device_name = core.get_property(device, "FULL_DEVICE_NAME") + print(f"{device}: {device_name}") + + +.. parsed-literal:: + + CPU: Intel(R) Core(TM) i9-10920X CPU @ 3.50GHz + + +You can select inference device using device widget + +.. code:: ipython3 + + import ipywidgets as widgets + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="CPU", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', options=('CPU', 'AUTO'), value='CPU') + + + +.. code:: ipython3 + + benchmark_model(model_path, device=device.value, seconds=15, api="async") + + + +**Benchmark mobilenet-v2-pytorch.xml with CPU for 15 seconds with async +inference** + + + +Benchmark command: +``benchmark_app -m model/public/mobilenet-v2-pytorch/FP16/mobilenet-v2-pytorch.xml -d CPU -t 15 -api async -b 1`` + + +.. parsed-literal:: + + command ended + + diff --git a/docs/notebooks/music-generation-with-output.rst b/docs/notebooks/music-generation-with-output.rst new file mode 100644 index 00000000000..53702235dbd --- /dev/null +++ b/docs/notebooks/music-generation-with-output.rst @@ -0,0 +1,717 @@ +Controllable Music Generation with MusicGen and OpenVINO +======================================================== + +MusicGen is a single-stage auto-regressive Transformer model capable of +generating high-quality music samples conditioned on text descriptions +or audio prompts. The text prompt is passed to a text encoder model (T5) +to obtain a sequence of hidden-state representations. These hidden +states are fed to MusicGen, which predicts discrete audio tokens (audio +codes). Finally, audio tokens are then decoded using an audio +compression model (EnCodec) to recover the audio waveform. + +.. figure:: https://user-images.githubusercontent.com/76463150/260439306-81c81c8d-1f9c-41d0-b881-9491766def8e.png + :alt: pipeline + + pipeline + +`The MusicGen model `__ does not +require a self-supervised semantic representation of the text/audio +prompts; it operates over several streams of compressed discrete music +representation with efficient token interleaving patterns, thus +eliminating the need to cascade multiple models to predict a set of +codebooks (e.g. hierarchically or upsampling). Unlike prior models +addressing music generation, it is able to generate all the codebooks in +a single forward pass. + +In this tutorial, we consider how to run the MusicGen model using +OpenVINO. + +We will use a model implementation from the `Hugging Face +Transformers `__ +library. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ + + - `Install requirements <#install-requirements>`__ + - `Imports <#imports>`__ + +- `MusicGen in HF Transformers <#musicgen-in-hf-transformers>`__ + + - `Original Pipeline Inference <#original-pipeline-inference>`__ + +- `Convert models to OpenVINO Intermediate representation (IR) + format <#convert-models-to-openvino-intermediate-representation-ir-format>`__ + + - `0. Set Up Variables <#0--set-up-variables>`__ + - `1. Convert Text Encoder <#1--convert-text-encoder>`__ + - `2. Convert MusicGen Language + Model <#2--convert-musicgen-language-model>`__ + - `3. Convert Audio Decoder <#3--convert-audio-decoder>`__ + +- `Embedding the converted models into the original + pipeline <#embedding-the-converted-models-into-the-original-pipeline>`__ + + - `Select inference device <#select-inference-device>`__ + - `Adapt OpenVINO models to the original + pipeline <#adapt-openvino-models-to-the-original-pipeline>`__ + +- `Try out the converted pipeline <#try-out-the-converted-pipeline>`__ + +Prerequisites +------------- + + + +Install requirements +~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + %pip install -q "openvino>=2023.3.0" + %pip install -q "torch>=2.1" "gradio>=4.19" transformers --extra-index-url https://download.pytorch.org/whl/cpu + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Imports +~~~~~~~ + + + +.. code:: ipython3 + + from collections import namedtuple + from functools import partial + import gc + from pathlib import Path + from typing import Optional, Tuple + import warnings + + from IPython.display import Audio + import openvino as ov + import numpy as np + import torch + from torch.jit import TracerWarning + from transformers import AutoProcessor, MusicgenForConditionalGeneration + from transformers.modeling_outputs import ( + BaseModelOutputWithPastAndCrossAttentions, + CausalLMOutputWithCrossAttentions, + ) + + # Ignore tracing warnings + warnings.filterwarnings("ignore", category=TracerWarning) + + +.. parsed-literal:: + + 2024-04-18 00:11:58.655998: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:11:58.690632: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. + + +.. parsed-literal:: + + 2024-04-18 00:11:59.179380: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/utils/generic.py:311: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/utils/generic.py:311: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( + + +MusicGen in HF Transformers +--------------------------- + + + +To work with +`MusicGen `__ by Meta +AI, we will use `Hugging Face Transformers +package `__. Transformers +package exposes the ``MusicgenForConditionalGeneration`` class, +simplifying the model instantiation and weights loading. The code below +demonstrates how to create a ``MusicgenForConditionalGeneration`` and +generate a text-conditioned music sample. + +.. code:: ipython3 + + # Load the pipeline + model = MusicgenForConditionalGeneration.from_pretrained("facebook/musicgen-small", torchscript=True, return_dict=False) + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/utils/generic.py:311: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:28: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. + warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.") + + +In the cell below user is free to change the desired music sample +length. + +.. code:: ipython3 + + sample_length = 8 # seconds + + n_tokens = sample_length * model.config.audio_encoder.frame_rate + 3 + sampling_rate = model.config.audio_encoder.sampling_rate + print("Sampling rate is", sampling_rate, "Hz") + + model.to("cpu") + model.eval(); + + +.. parsed-literal:: + + Sampling rate is 32000 Hz + + +Original Pipeline Inference +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Text Preprocessing prepares the text prompt to be fed into the model, +the ``processor`` object abstracts this step for us. Text tokenization +is performed under the hood, it assigning tokens or IDs to the words; in +other words, token IDs are just indices of the words in the model +vocabulary. It helps the model understand the context of a sentence. + +.. code:: ipython3 + + processor = AutoProcessor.from_pretrained("facebook/musicgen-small") + + inputs = processor( + text=["80s pop track with bassy drums and synth"], + return_tensors="pt", + ) + + audio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=n_tokens) + + Audio(audio_values[0].cpu().numpy(), rate=sampling_rate) + + + + +.. raw:: html + + + + + + + +Convert models to OpenVINO Intermediate representation (IR) format +------------------------------------------------------------------ + + + +Model conversion API enables direct conversion of PyTorch models. We +will utilize the ``openvino.convert_model`` method to acquire OpenVINO +IR versions of the models. The method requires a model object and +example input for model tracing. Under the hood, the converter will use +the PyTorch JIT compiler, to build a frozen model graph. + +The pipeline consists of three important parts: + +- The `T5 text encoder `__ + that translates user prompts into vectors in the latent space that + the next model - the MusicGen decoder can utilize. +- The `MusicGen Language + Model `__ + that auto-regressively generates audio tokens (codes). +- The `EnCodec model `__ + (we will use only the decoder part of it) is used to decode the audio + waveform from the audio tokens predicted by the MusicGen Language + Model. + +Let us convert each model step by step. + +0. Set Up Variables +~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + models_dir = Path("./models") + t5_ir_path = models_dir / "t5.xml" + musicgen_0_ir_path = models_dir / "mg_0.xml" + musicgen_ir_path = models_dir / "mg.xml" + audio_decoder_ir_path = models_dir / "encodec.xml" + +1. Convert Text Encoder +~~~~~~~~~~~~~~~~~~~~~~~ + + + +The text encoder is responsible for converting the input prompt, such as +“90s rock song with loud guitars and heavy drums” into an embedding +space that can be fed to the next model. Typically, it is a +transformer-based encoder that maps a sequence of input tokens to a +sequence of text embeddings. + +The input for the text encoder consists of a tensor ``input_ids``, which +contains token indices from the text processed by the tokenizer and +``attention_mask`` that we will ignore as we will process one prompt at +a time and this vector will just consist of ones. + +We use OpenVINO Converter (OVC) below to convert the PyTorch model to +the OpenVINO Intermediate Representation format (IR), which you can +infer later with `OpenVINO +runtime `__ + +.. code:: ipython3 + + if not t5_ir_path.exists(): + t5_ov = ov.convert_model(model.text_encoder, example_input={"input_ids": inputs["input_ids"]}) + + ov.save_model(t5_ov, t5_ir_path) + del t5_ov + gc.collect() + + +.. parsed-literal:: + + WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. + + +.. parsed-literal:: + + [ WARNING ] Please fix your imports. Module %s has been moved to %s. The old module will be deleted in version %s. + + +2. Convert MusicGen Language Model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +This model is the central part of the whole pipeline, it takes the +embedded text representation and generates audio codes that can be then +decoded into actual music. The model outputs several streams of audio +codes - tokens sampled from the pre-trained codebooks representing music +efficiently with a lower frame rate. The model employs innovative codes +intervaling strategy, that makes single-stage generation possible. + +On the 0th generation step the model accepts ``input_ids`` representing +the indices of audio codes, ``encoder_hidden_states`` and +``encoder_attention_mask`` that were provided by the text encoder. + +.. code:: ipython3 + + # Set model config `torchscript` to True, so the model returns a tuple as output + model.decoder.config.torchscript = True + + if not musicgen_0_ir_path.exists(): + decoder_input = { + "input_ids": torch.ones(8, 1, dtype=torch.int64), + "encoder_hidden_states": torch.ones(2, 12, 1024, dtype=torch.float32), + "encoder_attention_mask": torch.ones(2, 12, dtype=torch.int64), + } + mg_ov_0_step = ov.convert_model(model.decoder, example_input=decoder_input) + + ov.save_model(mg_ov_0_step, musicgen_0_ir_path) + del mg_ov_0_step + gc.collect() + +On further iterations, the model is also provided with a +``past_key_values`` argument that contains previous outputs of the +attention block, it allows us to save on computations. But for us, it +means that the signature of the model’s ``forward`` method changed. +Models in OpenVINO IR have frozen calculation graphs and do not allow +optional arguments, that is why the MusicGen model must be converted a +second time, with an increased number of inputs. + +.. code:: ipython3 + + # Add additional argument to the example_input dict + if not musicgen_ir_path.exists(): + # Add `past_key_values` to the converted model signature + decoder_input["past_key_values"] = tuple( + [ + ( + torch.ones(2, 16, 1, 64, dtype=torch.float32), + torch.ones(2, 16, 1, 64, dtype=torch.float32), + torch.ones(2, 16, 12, 64, dtype=torch.float32), + torch.ones(2, 16, 12, 64, dtype=torch.float32), + ) + ] + * 24 + ) + + mg_ov = ov.convert_model(model.decoder, example_input=decoder_input) + for input in mg_ov.inputs[3:]: + input.get_node().set_partial_shape(ov.PartialShape([-1, 16, -1, 64])) + input.get_node().set_element_type(ov.Type.f32) + + mg_ov.validate_nodes_and_infer_types() + + ov.save_model(mg_ov, musicgen_ir_path) + del mg_ov + gc.collect() + +3. Convert Audio Decoder +~~~~~~~~~~~~~~~~~~~~~~~~ + + + +The audio decoder which is a part of the EnCodec model is used to +recover the audio waveform from the audio tokens predicted by the +MusicGen decoder. To learn more about the model please refer to the +corresponding `OpenVINO example <../encodec-audio-compression>`__. + +.. code:: ipython3 + + if not audio_decoder_ir_path.exists(): + + class AudioDecoder(torch.nn.Module): + def __init__(self, model): + super().__init__() + self.model = model + + def forward(self, output_ids): + return self.model.decode(output_ids, [None]) + + audio_decoder_input = {"output_ids": torch.ones((1, 1, 4, n_tokens - 3), dtype=torch.int64)} + + with torch.no_grad(): + audio_decoder_ov = ov.convert_model(AudioDecoder(model.audio_encoder), example_input=audio_decoder_input) + ov.save_model(audio_decoder_ov, audio_decoder_ir_path) + del audio_decoder_ov + gc.collect() + +Embedding the converted models into the original pipeline +--------------------------------------------------------- + + + +OpenVINO™ Runtime Python API is used to compile the model in OpenVINO IR +format. The +`Core `__ +class provides access to the OpenVINO Runtime API. The ``core`` object, +which is an instance of the ``Core`` class represents the API and it is +used to compile the model. + +.. code:: ipython3 + + core = ov.Core() + +Select inference device +^^^^^^^^^^^^^^^^^^^^^^^ + + + +Select device that will be used to do models inference using OpenVINO +from the dropdown list: + +.. code:: ipython3 + + import ipywidgets as widgets + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Adapt OpenVINO models to the original pipeline +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Here we create wrapper classes for all three OpenVINO models that we +want to embed in the original inference pipeline. Here are some of the +things to consider when adapting an OV model: - Make sure that +parameters passed by the original pipeline are forwarded to the compiled +OV model properly; sometimes the OV model uses only a portion of the +input arguments and some are ignored, sometimes you need to convert the +argument to another data type or unwrap some data structures such as +tuples or dictionaries. - Guarantee that the wrapper class returns +results to the pipeline in an expected format. In the example below you +can see how we pack OV model outputs into special classes declared in +the HF repo. - Pay attention to the model method used in the original +pipeline for calling the model - it may be not the ``forward`` method! +Refer to the ``AudioDecoderWrapper`` to see how we wrap OV model +inference into the ``decode`` method. + +.. code:: ipython3 + + class TextEncoderWrapper(torch.nn.Module): + def __init__(self, encoder_ir, config): + super().__init__() + self.encoder = core.compile_model(encoder_ir, device.value) + self.config = config + + def forward(self, input_ids, **kwargs): + last_hidden_state = self.encoder(input_ids)[self.encoder.outputs[0]] + last_hidden_state = torch.tensor(last_hidden_state) + return BaseModelOutputWithPastAndCrossAttentions(last_hidden_state=last_hidden_state) + + + class MusicGenWrapper(torch.nn.Module): + def __init__( + self, + music_gen_lm_0_ir, + music_gen_lm_ir, + config, + num_codebooks, + build_delay_pattern_mask, + apply_delay_pattern_mask, + ): + super().__init__() + self.music_gen_lm_0 = core.compile_model(music_gen_lm_0_ir, device.value) + self.music_gen_lm = core.compile_model(music_gen_lm_ir, device.value) + self.config = config + self.num_codebooks = num_codebooks + self.build_delay_pattern_mask = build_delay_pattern_mask + self.apply_delay_pattern_mask = apply_delay_pattern_mask + + def forward( + self, + input_ids: torch.LongTensor = None, + encoder_hidden_states: torch.FloatTensor = None, + encoder_attention_mask: torch.LongTensor = None, + past_key_values: Optional[Tuple[torch.FloatTensor]] = None, + **kwargs + ): + if past_key_values is None: + model = self.music_gen_lm_0 + arguments = (input_ids, encoder_hidden_states, encoder_attention_mask) + else: + model = self.music_gen_lm + arguments = ( + input_ids, + encoder_hidden_states, + encoder_attention_mask, + *past_key_values, + ) + + output = model(arguments) + return CausalLMOutputWithCrossAttentions( + logits=torch.tensor(output[model.outputs[0]]), + past_key_values=tuple([output[model.outputs[i]] for i in range(1, 97)]), + ) + + + class AudioDecoderWrapper(torch.nn.Module): + def __init__(self, decoder_ir, config): + super().__init__() + self.decoder = core.compile_model(decoder_ir, device.value) + self.config = config + self.output_type = namedtuple("AudioDecoderOutput", ["audio_values"]) + + def decode(self, output_ids, audio_scales): + output = self.decoder(output_ids)[self.decoder.outputs[0]] + return self.output_type(audio_values=torch.tensor(output)) + +Now we initialize the wrapper objects and load them to the HF pipeline + +.. code:: ipython3 + + text_encode_ov = TextEncoderWrapper(t5_ir_path, model.text_encoder.config) + musicgen_decoder_ov = MusicGenWrapper( + musicgen_0_ir_path, + musicgen_ir_path, + model.decoder.config, + model.decoder.num_codebooks, + model.decoder.build_delay_pattern_mask, + model.decoder.apply_delay_pattern_mask, + ) + audio_encoder_ov = AudioDecoderWrapper(audio_decoder_ir_path, model.audio_encoder.config) + + del model.text_encoder + del model.decoder + del model.audio_encoder + gc.collect() + + model.text_encoder = text_encode_ov + model.decoder = musicgen_decoder_ov + model.audio_encoder = audio_encoder_ov + + + def prepare_inputs_for_generation( + self, + decoder_input_ids, + past_key_values=None, + attention_mask=None, + head_mask=None, + decoder_attention_mask=None, + decoder_head_mask=None, + cross_attn_head_mask=None, + use_cache=None, + encoder_outputs=None, + decoder_delay_pattern_mask=None, + guidance_scale=None, + **kwargs, + ): + if decoder_delay_pattern_mask is None: + ( + decoder_input_ids, + decoder_delay_pattern_mask, + ) = self.decoder.build_delay_pattern_mask( + decoder_input_ids, + self.generation_config.pad_token_id, + max_length=self.generation_config.max_length, + ) + + # apply the delay pattern mask + decoder_input_ids = self.decoder.apply_delay_pattern_mask(decoder_input_ids, decoder_delay_pattern_mask) + + if guidance_scale is not None and guidance_scale > 1: + # for classifier free guidance we need to replicate the decoder args across the batch dim (we'll split these + # before sampling) + decoder_input_ids = decoder_input_ids.repeat((2, 1)) + if decoder_attention_mask is not None: + decoder_attention_mask = decoder_attention_mask.repeat((2, 1)) + + if past_key_values is not None: + # cut decoder_input_ids if past is used + decoder_input_ids = decoder_input_ids[:, -1:] + + return { + "input_ids": None, # encoder_outputs is defined. input_ids not needed + "encoder_outputs": encoder_outputs, + "past_key_values": past_key_values, + "decoder_input_ids": decoder_input_ids, + "attention_mask": attention_mask, + "decoder_attention_mask": decoder_attention_mask, + "head_mask": head_mask, + "decoder_head_mask": decoder_head_mask, + "cross_attn_head_mask": cross_attn_head_mask, + "use_cache": use_cache, + } + + + model.prepare_inputs_for_generation = partial(prepare_inputs_for_generation, model) + +We can now infer the pipeline backed by OpenVINO models. + +.. code:: ipython3 + + processor = AutoProcessor.from_pretrained("facebook/musicgen-small") + + inputs = processor( + text=["80s pop track with bassy drums and synth"], + return_tensors="pt", + ) + + audio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=n_tokens) + + Audio(audio_values[0].cpu().numpy(), rate=sampling_rate) + + + + +.. raw:: html + + + + + + + +Try out the converted pipeline +------------------------------ + + + +The demo app below is created using `Gradio +package `__ + +.. code:: ipython3 + + def _generate(prompt): + inputs = processor( + text=[ + prompt, + ], + padding=True, + return_tensors="pt", + ) + audio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=n_tokens) + waveform = audio_values[0].cpu().squeeze() * 2**15 + return (sampling_rate, waveform.numpy().astype(np.int16)) + +.. code:: ipython3 + + import gradio as gr + + demo = gr.Interface( + _generate, + inputs=[ + gr.Textbox(label="Text Prompt"), + ], + outputs=["audio"], + examples=[ + ["80s pop track with bassy drums and synth"], + ["Earthy tones, environmentally conscious, ukulele-infused, harmonic, breezy, easygoing, organic instrumentation, gentle grooves"], + ["90s rock song with loud guitars and heavy drums"], + ["Heartful EDM with beautiful synths and chords"], + ], + ) + try: + demo.launch(debug=False) + except Exception: + demo.launch(share=True, debug=False) + + # If you are launching remotely, specify server_name and server_port + # EXAMPLE: `demo.launch(server_name='your server name', server_port='server port in int')` + # To learn more please refer to the Gradio docs: https://gradio.app/docs/ + + +.. parsed-literal:: + + Running on local URL: http://127.0.0.1:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + diff --git a/docs/notebooks/named-entity-recognition-with-output.rst b/docs/notebooks/named-entity-recognition-with-output.rst new file mode 100644 index 00000000000..8572c7a0968 --- /dev/null +++ b/docs/notebooks/named-entity-recognition-with-output.rst @@ -0,0 +1,440 @@ +Named entity recognition with OpenVINO™ +======================================= + +The Named Entity Recognition(NER) is a natural language processing +method that involves the detecting of key information in the +unstructured text and categorizing it into pre-defined categories. These +categories or named entities refer to the key subjects of text, such as +names, locations, companies and etc. + +NER is a good method for the situations when a high-level overview of a +large amount of text is needed. NER can be helpful with such task as +analyzing key information in unstructured text or automates the +information extraction of large amounts of data. + +This tutorial shows how to perform named entity recognition using +OpenVINO. We will use the pre-trained model +`elastic/distilbert-base-cased-finetuned-conll03-english `__. +It is DistilBERT based model, trained on +`conll03 english dataset `__. +The model can recognize four named entities in text: persons, locations, +organizations and names of miscellaneous entities that do not belong to +the previous three groups. The model is sensitive to capital letters. + +To simplify the user experience, the `Hugging Face +Optimum `__ library is used to +convert the model to OpenVINO™ IR format and quantize it. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Download the NER model <#download-the-ner-model>`__ +- `Quantize the model, using Hugging Face Optimum + API <#quantize-the-model-using-hugging-face-optimum-api>`__ +- `Compare the Original and Quantized + Models <#compare-the-original-and-quantized-models>`__ + + - `Compare performance <#compare-performance>`__ + - `Compare size of the models <#compare-size-of-the-models>`__ + +- `Prepare demo for Named Entity Recognition OpenVINO + Runtime <#prepare-demo-for-named-entity-recognition-openvino-runtime>`__ + +Prerequisites +------------- + + + +.. code:: ipython3 + + %pip install -q "diffusers>=0.17.1" "openvino>=2023.1.0" "nncf>=2.5.0" "gradio>=4.19" "onnx>=1.11.0" "transformers>=4.33.0" "torch>=2.1" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "git+https://github.com/huggingface/optimum-intel.git" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + Note: you may need to restart the kernel to use updated packages. + + +Download the NER model +---------------------- + + + +We load the +`distilbert-base-cased-finetuned-conll03-english `__ +model from the `Hugging Face Hub `__ with +`Hugging Face Transformers +library `__\ and Optimum +Intel with OpenVINO integration. + +``OVModelForTokenClassification`` is represent model class for Named +Entity Recognition task in Optimum Intel. Model class initialization +starts with calling ``from_pretrained`` method. For conversion original +PyTorch model to OpenVINO format on the fly, ``export=True`` parameter +should be used. To easily save the model, you can use the +``save_pretrained()`` method. After saving the model on disk, we can use +pre-converted model for next usage, and speedup deployment process. + +.. code:: ipython3 + + from pathlib import Path + from transformers import AutoTokenizer + from optimum.intel import OVModelForTokenClassification + + original_ner_model_dir = Path("original_ner_model") + + model_id = "elastic/distilbert-base-cased-finetuned-conll03-english" + if not original_ner_model_dir.exists(): + model = OVModelForTokenClassification.from_pretrained(model_id, export=True) + + model.save_pretrained(original_ner_model_dir) + else: + model = OVModelForTokenClassification.from_pretrained(model_id, export=True) + + tokenizer = AutoTokenizer.from_pretrained(model_id) + + +.. parsed-literal:: + + INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino + + +.. parsed-literal:: + + No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' + 2024-04-05 18:35:04.594311: I tensorflow/core/util/port.cc:111] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-05 18:35:04.596755: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-04-05 18:35:04.628293: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered + 2024-04-05 18:35:04.628326: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered + 2024-04-05 18:35:04.628349: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered + 2024-04-05 18:35:04.634704: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-04-05 18:35:04.635314: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. + 2024-04-05 18:35:05.607762: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + /home/ea/miniconda3/lib/python3.11/site-packages/transformers/utils/import_utils.py:519: FutureWarning: `is_torch_tpu_available` is deprecated and will be removed in 4.41.0. Please use the `is_torch_xla_available` instead. + warnings.warn( + Framework not specified. Using pt to export the model. + Using the export variant default. Available variants are: + - default: The default ONNX variant. + Using framework PyTorch: 2.1.2+cpu + /home/ea/miniconda3/lib/python3.11/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + warnings.warn( + /home/ea/miniconda3/lib/python3.11/site-packages/nncf/torch/dynamic_graph/wrappers.py:80: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + op1 = operator(\*args, \*\*kwargs) + Compiling the model to CPU ... + + +Quantize the model, using Hugging Face Optimum API +-------------------------------------------------- + + + +Post-training static quantization introduces an additional calibration +step where data is fed through the network in order to compute the +activations quantization parameters. For quantization it will be used +`Hugging Face Optimum Intel +API `__. + +To handle the NNCF quantization process we use class +`OVQuantizer `__. +The quantization with Hugging Face Optimum Intel API contains the next +steps: \* Model class initialization starts with calling +``from_pretrained()`` method. \* Next we create calibration dataset with +``get_calibration_dataset()`` to use for the post-training static +quantization calibration step. \* After we quantize a model and save the +resulting model in the OpenVINO IR format to save_directory with +``quantize()`` method. \* Then we load the quantized model. The Optimum +Inference models are API compatible with Hugging Face Transformers +models and we can just replace ``AutoModelForXxx`` class with the +corresponding ``OVModelForXxx`` class. So we use +``OVModelForTokenClassification`` to load the model. + +.. code:: ipython3 + + from functools import partial + from optimum.intel import OVQuantizer, OVConfig, OVQuantizationConfig + + from optimum.intel import OVModelForTokenClassification + + + def preprocess_fn(data, tokenizer): + examples = [] + for data_chunk in data["tokens"]: + examples.append(" ".join(data_chunk)) + + return tokenizer(examples, padding=True, truncation=True, max_length=128) + + + quantizer = OVQuantizer.from_pretrained(model) + calibration_dataset = quantizer.get_calibration_dataset( + "conll2003", + preprocess_function=partial(preprocess_fn, tokenizer=tokenizer), + num_samples=100, + dataset_split="train", + preprocess_batch=True, + ) + + # The directory where the quantized model will be saved + quantized_ner_model_dir = "quantized_ner_model" + + # Apply static quantization and save the resulting model in the OpenVINO IR format + ov_config = OVConfig(quantization_config=OVQuantizationConfig(num_samples=len(calibration_dataset))) + quantizer.quantize( + calibration_dataset=calibration_dataset, + save_directory=quantized_ner_model_dir, + ov_config=ov_config, + ) + + +.. parsed-literal:: + + /home/ea/miniconda3/lib/python3.11/site-packages/datasets/load.py:2516: FutureWarning: 'use_auth_token' was deprecated in favor of 'token' in version 2.14.0 and will be removed in 3.0.0. + You can remove this warning by passing 'token=' instead. + warnings.warn( + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + INFO:nncf:18 ignored nodes were found by name in the NNCFGraph + INFO:nncf:25 ignored nodes were found by name in the NNCFGraph + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. code:: ipython3 + + import ipywidgets as widgets + import openvino as ov + + core = ov.Core() + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=3, options=('CPU', 'GPU.0', 'GPU.1', 'AUTO'), value='AUTO') + + + +.. code:: ipython3 + + # Load the quantized model + optimized_model = OVModelForTokenClassification.from_pretrained(quantized_ner_model_dir, device=device.value) + + +.. parsed-literal:: + + Compiling the model to AUTO ... + + +Compare the Original and Quantized Models +----------------------------------------- + + + +Compare the original +`distilbert-base-cased-finetuned-conll03-english `__ +model with quantized and converted to OpenVINO IR format models to see +the difference. + +Compare performance +~~~~~~~~~~~~~~~~~~~ + + + +As the Optimum Inference models are API compatible with Hugging Face +Transformers models, we can just use ``pipleine()`` from `Hugging Face +Transformers API `__ for +inference. + +.. code:: ipython3 + + from transformers import pipeline + + ner_pipeline_optimized = pipeline("token-classification", model=optimized_model, tokenizer=tokenizer) + + ner_pipeline_original = pipeline("token-classification", model=model, tokenizer=tokenizer) + +.. code:: ipython3 + + import time + import numpy as np + + + def calc_perf(ner_pipeline): + inference_times = [] + + for data in calibration_dataset: + text = " ".join(data["tokens"]) + start = time.perf_counter() + ner_pipeline(text) + end = time.perf_counter() + inference_times.append(end - start) + + return np.median(inference_times) + + + print(f"Median inference time of quantized model: {calc_perf(ner_pipeline_optimized)} ") + + print(f"Median inference time of original model: {calc_perf(ner_pipeline_original)} ") + + +.. parsed-literal:: + + Median inference time of quantized model: 0.0063508255407214165 + Median inference time of original model: 0.007429798366501927 + + +Compare size of the models +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + from pathlib import Path + + fp_model_file = Path(original_ner_model_dir) / "openvino_model.bin" + print(f"Size of original model in Bytes is {fp_model_file.stat().st_size}") + print(f'Size of quantized model in Bytes is {Path(quantized_ner_model_dir, "openvino_model.bin").stat().st_size}') + + +.. parsed-literal:: + + Size of original model in Bytes is 260795516 + Size of quantized model in Bytes is 65802712 + + +Prepare demo for Named Entity Recognition OpenVINO Runtime +---------------------------------------------------------- + + + +Now, you can try NER model on own text. Put your sentence to input text +box, click Submit button, the model label the recognized entities in the +text. + +.. code:: ipython3 + + import gradio as gr + + examples = [ + "My name is Wolfgang and I live in Berlin.", + ] + + + def run_ner(text): + output = ner_pipeline_optimized(text) + return {"text": text, "entities": output} + + + demo = gr.Interface( + run_ner, + gr.Textbox(placeholder="Enter sentence here...", label="Input Text"), + gr.HighlightedText(label="Output Text"), + examples=examples, + allow_flagging="never", + ) + + if __name__ == "__main__": + try: + demo.launch(debug=False) + except Exception: + demo.launch(share=True, debug=False) + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # Read more in the docs: https://gradio.app/docs/ diff --git a/docs/notebooks/notebook_utils-with-output.rst b/docs/notebooks/notebook_utils-with-output.rst deleted file mode 100644 index fe056cc382f..00000000000 --- a/docs/notebooks/notebook_utils-with-output.rst +++ /dev/null @@ -1,564 +0,0 @@ -Notebook Utils -============== - -This notebook contains helper functions and classes for use with -OpenVINO™ Notebooks. The code is synchronized with the -``notebook_utils.py`` file in the same directory as this notebook. - -There are four categories: - -- `Files <#files>`__ -- `Images <#images>`__ -- `Videos <#videos>`__ -- `Visualization <#visualization>`__ -- `Checks and Alerts <#checks-and-alerts>`__ - -Each category contains a test cell that also shows how to use the -functions in the section. #### Table of contents: - -- `Files <#files>`__ - - - `Test File Functions <#test-file-functions>`__ - -- `Images <#images>`__ - - - `Convert Pixel Data <#convert-pixel-data>`__ - - `Test Data Conversion - Functions <#test-data-conversion-functions>`__ - -- `Videos <#videos>`__ - - - `Video Player <#video-player>`__ - - `Test Video Player <#test-video-player>`__ - -- `Visualization <#visualization>`__ - - - `Segmentation <#segmentation>`__ - - `Network Results <#network-results>`__ - - `Test Visualization Functions <#test-visualization-functions>`__ - -- `Checks and Alerts <#checks-and-alerts>`__ - - - `Test Alerts <#test-alerts>`__ - -.. code:: ipython3 - - # Install requirements - %pip install -q "openvino>=2023.1.0" opencv-python - %pip install -q pillow tqdm requests matplotlib - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - - -Files ------ - - - -Load an image, download a file, download an OpenVINO IR model, and -create a progress bar to show download progress. - -.. code:: ipython3 - - import os - import shutil - from PIL import Image - from notebook_utils import load_image, download_file, download_ir_model - -.. code:: ipython3 - - ??load_image - -.. code:: ipython3 - - ??download_file - -.. code:: ipython3 - - ??download_ir_model - -Test File Functions -~~~~~~~~~~~~~~~~~~~ - - - -.. code:: ipython3 - - model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/segmentation.xml" - download_ir_model(model_url, "model") - - assert os.path.exists("model/segmentation.xml") - assert os.path.exists("model/segmentation.bin") - - - -.. parsed-literal:: - - model/segmentation.bin: 0%| | 0.00/1.09M [00:00Hello, world! - - - -.. raw:: html - -
Running this cell requires a GPU device, which is not available on this system. The following device is available: CPU - - -.. code:: ipython3 - - assert check_device("CPU") - -.. code:: ipython3 - - if check_device("HELLOWORLD"): - print("Hello World device found.") - - - -.. raw:: html - -
Running this cell requires a HELLOWORLD device, which is not available on this system. The following device is available: CPU - - -.. code:: ipython3 - - check_openvino_version("2022.1"); - - - -.. raw:: html - -
This notebook requires OpenVINO 2022.1. The version on your system is: 2024.0.0-14509-34caeefd078-releases/2024/0.
Please run pip install --upgrade -r requirements.txt in the openvino_env environment to install this version. See the OpenVINO Notebooks README for detailed instructions - diff --git a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_12_0.jpg b/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_12_0.jpg deleted file mode 100644 index abe8cb45ca2..00000000000 --- a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_12_0.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a58493845ebd3e98186df7a1ea042b20545bb3c2a5b4a326163da6c9eb5e7d9 -size 121563 diff --git a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_12_0.png b/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_12_0.png deleted file mode 100644 index 7e54dbb3aea..00000000000 --- a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_12_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:424fc2648066c2099de23ab84f8934e7ab4cc1a1d9e5e4bd40d6c502d534955b -size 869307 diff --git a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_26_0.png b/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_26_0.png deleted file mode 100644 index 67a13f6330c..00000000000 --- a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_26_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4745c6dc8406be50994d82c4282a6711ab2a572bf8c3db5d5b316d4df72608b4 -size 47001 diff --git a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_0.png b/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_0.png deleted file mode 100644 index d022b38c27a..00000000000 --- a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_0.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e0f78557c07083a28654138a88b15a216662b52c8a2654f12c0d15a9e6d587af -size 10059 diff --git a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_1.png b/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_1.png deleted file mode 100644 index 4d746f90d39..00000000000 --- a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e75c19da665e7d912ee739226b934e0eff99360dbd43a75efc8c02d0d7739806 -size 37584 diff --git a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_2.png b/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_2.png deleted file mode 100644 index 12ebf91b8bc..00000000000 --- a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:271a93dabe8d99326e2d136119ea8b5851e3f18f8cba8ea90f2ec18fbaba65e1 -size 16690 diff --git a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_3.png b/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_3.png deleted file mode 100644 index 6f6de682522..00000000000 --- a/docs/notebooks/notebook_utils-with-output_files/notebook_utils-with-output_41_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14b78643e4c0c62d033398374d54c4d1bf23ebe7acfbdc0a1479d7559a844c4a -size 38992 diff --git a/docs/notebooks/notebooks_tags.json b/docs/notebooks/notebooks_tags.json index f9bbba854d7..fc712c32db8 100644 --- a/docs/notebooks/notebooks_tags.json +++ b/docs/notebooks/notebooks_tags.json @@ -1,630 +1,11 @@ { - "002-openvino-api": [ - "ONNX", - "Pytorch", - "Reshape Model", - "Torchvision" - ], - "101-tensorflow-classification-to-openvino": [ - "Tensorflow" - ], - "102-pytorch-onnx-to-openvino": [ - "ONNX", - "Pytorch", - "Torchvision" - ], - "102-pytorch-to-openvino": [ - "Pytorch", - "Torchvision" - ], - "103-paddle-to-openvino-classification": [ - "Paddle" - ], - "104-model-tools": [ - "Benchmark Model", - "Convert Model", - "Download Model", - "OMZ Info Dumper", - "ONNX" - ], - "105-language-quantize-bert": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "106-auto-device": [ - "Async Inference", - "Pytorch", - "Torchvision" - ], - "107-speech-recognition-quantization-data2vec": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "107-speech-recognition-quantization-wav2vec2": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "108-gpu-device": [ - "Async Inference", - "Benchmark Model", - "Optimize Model" - ], - "109-latency-tricks": [ - "Benchmark Model", - "ONNX", - "Pytorch" - ], - "109-throughput-tricks": [ - "Async Inference", - "Benchmark Model", - "ONNX", - "Pytorch" - ], - "110-ct-scan-live-inference": [ - "Async Inference", - "Benchmark Model" - ], - "110-ct-segmentation-quantize-nncf": [ - "Benchmark Model", - "NNCF", - "ONNX", - "Pytorch" - ], - "112-pytorch-post-training-quantization-nncf": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Torchvision" - ], - "113-image-classification-quantization": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Torchvision" - ], - "115-async-api": [ - "Async Inference", - "Download Model" - ], - "116-sparsity-optimization": [ - "Benchmark Model", - "Transformers" - ], - "117-model-server": [ - "ONNX" - ], - "118-optimize-preprocessing": [ - "Tensorflow" - ], - "119-tflite-to-openvino": [ - "Benchmark Model" - ], - "121-convert-to-openvino": [ - "Dynamic Shape", - "ONNX", - "Pytorch", - "Tensorflow", - "Torchvision", - "Transformers" - ], - "121-legacy-mo-convert-to-openvino": [ - "ONNX", - "Pytorch", - "Torchvision", - "Transformers" - ], - "122-speech-recognition-quantization-wav2vec2": [ - "NNCF", - "Pytorch", - "Transformers" - ], - "122-yolov8-quantization-with-accuracy-control": [ - "Benchmark Model", - "NNCF", - "Pytorch" - ], - "123-detectron2-to-openvino": [ - "Pytorch" - ], - "124-hugging-face-hub": [ - "Pytorch", - "Transformers" - ], - "125-convnext-classification": [ - "Pytorch", - "Torchvision" - ], - "125-lraspp-segmentation": [ - "Pytorch", - "Torchvision" - ], - "126-tensorflow-hub": [ - "Tensorflow" - ], - "127-tensorflow-bit-image-classification-nncf-quantization": [ - "NNCF", - "Reshape Model", - "Tensorflow", - "Train Model" - ], - "128-opnevino-tokenizers": [ - "Async Inference", - "Transformers" - ], - "203-meter-reader": [ - "Dynamic Shape", - "Reshape Model" - ], - "204-segmenter-semantic-segmentation": [ - "Benchmark Model", - "Pytorch", - "Torchvision" - ], - "205-vision-background-removal": [ - "Pytorch" - ], - "206-vision-paddlegan-anime": [ - "ONNX", - "Paddle" - ], - "207-vision-paddlegan-superresolution": [ - "ONNX", - "Paddle" - ], - "208-optical-character-recognition": [ + "3D-pose-estimation": [ "Convert Model", "Download Model", "ONNX" ], - "210-slowfast-video-recognition": [ - "Pytorch" - ], - "211-speech-to-text": [ - "Convert Model", - "Download Model", - "Dynamic Shape", - "Pytorch", - "Reshape Model" - ], - "212-pyannote-speaker-diarization": [ - "ONNX", - "Pytorch" - ], - "214-grammar-correction": [ - "Async Inference", - "Transformers" - ], - "216-attention-center": [ - "Tensorflow" - ], - "219-knowledge-graphs-conve": [ - "Benchmark Model", - "Pytorch" - ], - "220-cross-lingual-books-alignment": [ - "Async Inference", - "Pytorch", - "Transformers" - ], - "222-vision-image-colorization": [ - "Convert Model", - "Download Model" - ], - "223-text-prediction": [ - "Dynamic Shape", - "Pytorch", - "Transformers" - ], - "224-3D-segmentation-point-clouds": [ + "3D-segmentation-point-clouds": [ "Dynamic Shape", "ONNX" - ], - "225-stable-diffusion-text-to-image": [ - "Pytorch", - "Transformers" - ], - "226-yolov7-optimization": [ - "Benchmark Model", - "NNCF", - "ONNX", - "Pytorch" - ], - "227-whisper-convert": [ - "Pytorch" - ], - "227-whisper-nncf-quantize": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "228-clip-zero-shot-classification": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "229-distilbert-sequence-classification": [ - "Pytorch", - "Transformers" - ], - "230-yolov8-instance-segmentation": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Reshape Model" - ], - "230-yolov8-keypoint-detection": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Reshape Model" - ], - "230-yolov8-object-detection": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Reshape Model" - ], - "231-instruct-pix2pix-image-editing": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "232-clip-language-saliency-map": [ - "Async Inference", - "Pytorch", - "Transformers" - ], - "233-blip-visual-language-processing": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "234-encodec-audio-compression": [ - "Pytorch" - ], - "235-controlnet-stable-diffusion": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Reshape Model", - "Transformers" - ], - "236-stable-diffusion-v2-infinite-zoom": [ - "Pytorch", - "Transformers" - ], - "236-stable-diffusion-v2-text-to-image-demo": [ - "Transformers" - ], - "236-stable-diffusion-v2-text-to-image": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "237-segment-anything": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Torchvision" - ], - "238-deep-floyd-if-convert": [ - "Pytorch", - "Reshape Model" - ], - "238-deep-floyd-if-optimize": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Reshape Model" - ], - "239-image-bind-convert": [ - "Pytorch" - ], - "239-image-bind-quantize": [ - "Benchmark Model", - "NNCF", - "Pytorch" - ], - "240-dolly-2-instruction-following": [ - "Transformers" - ], - "241-riffusion-text-to-music": [ - "Pytorch", - "Transformers" - ], - "242-freevc-voice-conversion": [ - "ONNX", - "Pytorch" - ], - "244-named-entity-recognition": [ - "Transformers" - ], - "245-typo-detector": [ - "Transformers" - ], - "246-depth-estimation-videpth": [ - "Pytorch", - "Torchvision" - ], - "247-code-language-id": [ - "ONNX", - "Transformers" - ], - "248-segmind-vegart": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "248-ssd-b1": [ - "Pytorch" - ], - "248-stable-diffusion-xl": [ - "Transformers" - ], - "249-oneformer-segmentation": [ - "NNCF", - "Pytorch", - "Transformers" - ], - "250-music-generation": [ - "Pytorch", - "Transformers" - ], - "251-tiny-sd-image-generation": [ - "Pytorch", - "Transformers" - ], - "252-fastcomposer-image-generation": [ - "Pytorch", - "Torchvision", - "Transformers" - ], - "253-zeroscope-text2video": [ - "Pytorch", - "Transformers" - ], - "254-llm-chatbot": [ - "NNCF", - "Pytorch", - "Transformers" - ], - "254-rag-chatbot": [ - "NNCF", - "Pytorch", - "Transformers" - ], - "255-mms-massively-multilingual-speech": [ - "NNCF", - "Pytorch", - "Transformers" - ], - "256-bark-text-to-audio": [ - "Dynamic Shape", - "Pytorch" - ], - "257-llava-multimodal-chatbot": [ - "Async Inference", - "NNCF", - "Pytorch", - "Transformers" - ], - "257-videollava-multimodal-chatbot": [ - "Async Inference", - "NNCF", - "Pytorch", - "Transformers" - ], - "258-blip-diffusion-subject-generation": [ - "Dynamic Shape", - "Pytorch" - ], - "259-decidiffusion-image-generation": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "260-pix2struct-docvqa": [ - "Async Inference", - "Transformers" - ], - "261-fast-segment-anything": [ - "NNCF", - "ONNX", - "Pytorch" - ], - "262-softvc-voice-conversion": [ - "Pytorch" - ], - "263-latent-consistency-models-image-generation": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "263-lcm-lora-controlnet": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "264-qrcode-monster": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "265-wuerstchen-image-generation": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "266-speculative-sampling": [ - "Pytorch", - "Transformers" - ], - "267-distil-whisper-asr": [ - "Async Inference", - "NNCF", - "Transformers" - ], - "268-table-question-answering": [ - "Pytorch", - "Transformers" - ], - "269-film-slowmo": [ - "Tensorflow" - ], - "270-sound-generation-audioldm2": [ - "Pytorch" - ], - "271-sdxl-turbo": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "272-paint-by-example": [ - "NNCF", - "Pytorch", - "Transformers" - ], - "273-stable-zephyr-3b-chatbot": [ - "Pytorch", - "Transformers" - ], - "274-efficient-sam": [ - "Benchmark Model", - "NNCF", - "Pytorch" - ], - "275-llm-question-answering": [ - "NNCF", - "Transformers" - ], - "276-stable-diffusion-torchdynamo-backend": [ - "Pytorch" - ], - "277-amused-lightweight-text-to-image": [ - "Pytorch" - ], - "278-stable-diffusion-ip-adapter": [ - "Pytorch", - "Transformers" - ], - "279-mobilevlm-language-assistant": [ - "Async Inference", - "NNCF", - "Pytorch", - "Transformers" - ], - "280-depth-anything": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Torchvision" - ], - "281-kosmos2-multimodal-large-language-model": [ - "Async Inference", - "Pytorch", - "Transformers" - ], - "282-siglip-zero-shot-image-classification": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Transformers" - ], - "283-photo-maker": [ - "Pytorch" - ], - "284-openvoice": [ - "Pytorch" - ], - "285-surya-line-level-text-detection": [ - "Pytorch" - ], - "286-instant-id": [ - "Benchmark Model", - "Dynamic Shape", - "NNCF", - "ONNX", - "Pytorch", - "Transformers" - ], - "287-yolov9-optimization": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Reshape Model" - ], - "288-grounded-segment-anything": [ - "Async Inference", - "Pytorch", - "Torchvision", - "Transformers" - ], - "289-mobileclip-video-search": [ - "Pytorch", - "Torchvision" - ], - "301-tensorflow-training-openvino-nncf": [ - "Benchmark Model", - "NNCF", - "Tensorflow" - ], - "301-tensorflow-training-openvino": [ - "Tensorflow", - "Train Model" - ], - "302-pytorch-quantization-aware-training": [ - "Benchmark Model", - "NNCF", - "Pytorch", - "Torchvision", - "Train Model" - ], - "305-tensorflow-quantization-aware-training": [ - "Benchmark Model", - "NNCF", - "Tensorflow", - "Train Model" - ], - "401-object-detection": [ - "Optimize Model" - ], - "402-pose-estimation": [ - "Dynamic Shape" - ], - "404-style-transfer": [ - "ONNX" - ], - "405-paddle-ocr-webcam": [ - "Dynamic Shape", - "Paddle", - "Reshape Model" - ], - "406-3D-pose-estimation": [ - "Convert Model", - "Download Model", - "ONNX" - ], - "407-person-tracking": [ - "Download Model", - "Dynamic Shape", - "Reshape Model" ] } diff --git a/docs/notebooks/notebooks_with_binder_buttons.txt b/docs/notebooks/notebooks_with_binder_buttons.txt index 91ef87ec6f6..1b2c6975e35 100644 --- a/docs/notebooks/notebooks_with_binder_buttons.txt +++ b/docs/notebooks/notebooks_with_binder_buttons.txt @@ -1,55 +1,49 @@ -001-hello-world -002-openvino-api -003-hello-segmentation -004-hello-detection -101-tensorflow-classification-to-openvino -102-pytorch-onnx-to-openvino -102-pytorch-onnx-to-openvino -103-paddle-to-openvino-classification -104-model-tools -106-auto-device -110-ct-scan-live-inference -110-ct-scan-live-inference -110-ct-scan-live-inference -110-ct-scan-live-inference -113-image-classification-quantization -115-async-api -120-tensorflow-instance-segmentation-to-openvino -120-tensorflow-object-detection-to-openvino -120-tensorflow-instance-segmentation-to-openvino -120-tensorflow-object-detection-to-openvino -121-convert-to-openvino -121-convert-to-openvino -123-detectron2-to-openvino -124-hugging-face-hub -128-opnevino-tokenizers -201-vision-monodepth -202-vision-superresolution-image -202-vision-superresolution-video -202-vision-superresolution-image -202-vision-superresolution-video -203-meter-reader -205-vision-background-removal -209-handwritten-ocr -211-speech-to-text -213-question-answering -215-image-inpainting -218-vehicle-detection-and-recognition -219-knowledge-graphs-conve -220-cross-lingual-books-alignment -221-machine-translation -222-vision-image-colorization -224-3D-segmentation-point-clouds -229-distilbert-sequence-classification -243-tflite-selfie-segmentation -250-music-generation -261-fast-segment-anything -280-depth-anything -284-openvoice -401-object-detection -402-pose-estimation -403-action-recognition-webcam -404-style-transfer -405-paddle-ocr-webcam -406-3D-pose-estimation -407-person-tracking +3D-pose-estimation +3D-segmentation-point-clouds +action-recognition-webcam +async-api +auto-device +convert-to-openvino +cross-lingual-books-alignment +ct-scan-live-inference +depth-anything +detectron2-to-openvino +distilbert-sequence-classification +fast-segment-anything +handwritten-ocr +hello-detection +hello-segmentation +hello-world +hugging-face-hub +image-classification-quantization +image-inpainting +knowledge-graphs-conve +machine-translation +magika-content-type-recognition +meter-reader +model-tools +music-generation +object-detection +openvino-api +openvino-tokenizers +openvoice +paddle-ocr-webcam +paddle-to-openvino-classification +person-tracking +pose-estimation +pytorch-onnx-to-openvino +question-answering +291-rmbg-background-removal +speech-to-text +style-transfer +tensorflow-classification-to-openvino +tensorflow-hub +tensorflow-instance-segmentation-to-openvino +tensorflow-object-detection-to-openvino +tflite-selfie-segmentation +vehicle-detection-and-recognition +vision-background-removal +vision-image-colorization +vision-monodepth +vision-superresolution-image +vision-superresolution-video diff --git a/docs/notebooks/notebooks_with_colab_buttons.txt b/docs/notebooks/notebooks_with_colab_buttons.txt index b91884e8f10..7c144834866 100644 --- a/docs/notebooks/notebooks_with_colab_buttons.txt +++ b/docs/notebooks/notebooks_with_colab_buttons.txt @@ -1,87 +1,72 @@ -001-hello-world -002-openvino-api -003-hello-segmentation -004-hello-detection -101-tensorflow-classification-to-openvino -102-pytorch-onnx-to-openvino -102-pytorch-to-openvino -102-pytorch-onnx-to-openvino -102-pytorch-to-openvino -103-paddle-to-openvino-classification -104-model-tools -105-language-quantize-bert -106-auto-device -107-speech-recognition-quantization-data2vec -107-speech-recognition-quantization-data2vec -109-latency-tricks -109-throughput-tricks -109-latency-tricks -109-throughput-tricks -113-image-classification-quantization -115-async-api -116-sparsity-optimization -118-optimize-preprocessing -119-tflite-to-openvino -120-tensorflow-instance-segmentation-to-openvino -120-tensorflow-object-detection-to-openvino -120-tensorflow-instance-segmentation-to-openvino -120-tensorflow-object-detection-to-openvino -121-convert-to-openvino -121-convert-to-openvino -123-detectron2-to-openvino -124-hugging-face-hub -126-tensorflow-hub -128-opnevino-tokenizers -201-vision-monodepth -202-vision-superresolution-image -202-vision-superresolution-video -202-vision-superresolution-image -202-vision-superresolution-video -204-segmenter-semantic-segmentation -205-vision-background-removal -206-vision-paddlegan-anime -207-vision-paddlegan-superresolution -208-optical-character-recognition -209-handwritten-ocr -211-speech-to-text -213-question-answering -216-attention-center -219-knowledge-graphs-conve -220-cross-lingual-books-alignment -221-machine-translation -223-text-prediction -224-3D-segmentation-point-clouds -227-whisper-convert -227-whisper-convert -229-distilbert-sequence-classification -230-yolov8-instance-segmentation -230-yolov8-keypoint-detection -230-yolov8-object-detection -230-yolov8-instance-segmentation -230-yolov8-keypoint-detection -230-yolov8-object-detection -230-yolov8-instance-segmentation -230-yolov8-keypoint-detection -230-yolov8-object-detection -232-clip-language-saliency-map -243-tflite-selfie-segmentation -244-named-entity-recognition -250-music-generation -251-tiny-sd-image-generation -260-pix2struct-docvqa -261-fast-segment-anything -262-softvc-voice-conversion -266-speculative-sampling -268-table-question-answering -277-amused-lightweight-text-to-image -280-depth-anything -282-siglip-zero-shot-image-classification -284-openvoice -285-surya-line-level-text-detection -288-grounded-segment-anything -289-mobileclip-video-search -305-tensorflow-quantization-aware-training -401-object-detection -404-style-transfer -405-paddle-ocr-webcam -407-person-tracking +3D-segmentation-point-clouds +amused-lightweight-text-to-image +async-api +attention-center +auto-device +clip-language-saliency-map +convert-to-openvino +cross-lingual-books-alignment +depth-anything +detectron2-to-openvino +distilbert-sequence-classification +fast-segment-anything +grounded-segment-anything +handwritten-ocr +hello-detection +hello-segmentation +hello-world +hugging-face-hub +image-classification-quantization +knowledge-graphs-conve +language-quantize-bert +machine-translation +magika-content-type-recognition +mobileclip-video-search +model-tools +music-generation +named-entity-recognition +object-detection +openvino-api +openvino-tokenizers +optical-character-recognition +optimize-preprocessing +paddle-ocr-webcam +paddle-to-openvino-classification +latency-tricks +throughput-tricks +person-tracking +pix2struct-docvqa +pytorch-onnx-to-openvino +pytorch-to-openvino +question-answering +291-rmbg-background-removal +segmenter-semantic-segmentation +siglip-zero-shot-image-classification +softvc-voice-conversion +sparsity-optimization +speculative-sampling +speech-recognition-quantization-data2vec +speech-to-text +style-transfer +surya-line-level-text-detection +table-question-answering +tensorflow-classification-to-openvino +tensorflow-hub +tensorflow-instance-segmentation-to-openvino +tensorflow-object-detection-to-openvino +tensorflow-quantization-aware-training +text-prediction +tflite-selfie-segmentation +tflite-to-openvino +tiny-sd-image-generation +vision-background-removal +vision-monodepth +vision-paddlegan-anime +vision-paddlegan-superresolution +vision-superresolution-image +vision-superresolution-video +whisper-convert +yolov8-instance-segmentation +yolov8-keypoint-detection +yolov8-obb +yolov8-object-detection diff --git a/docs/notebooks/401-object-detection-with-output.rst b/docs/notebooks/object-detection-with-output.rst similarity index 79% rename from docs/notebooks/401-object-detection-with-output.rst rename to docs/notebooks/object-detection-with-output.rst index e41434f9b75..95510bc8bb0 100644 --- a/docs/notebooks/401-object-detection-with-output.rst +++ b/docs/notebooks/object-detection-with-output.rst @@ -56,17 +56,14 @@ Install requirements %pip install -q opencv-python requests tqdm # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) - - -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + open("notebook_utils.py", "w").write(r.text) + .. parsed-literal:: @@ -75,7 +72,11 @@ Install requirements .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. + magika 0.5.1 requires numpy<2.0,>=1.24; python_version >= "3.8" and python_version < "3.9", but you have numpy 1.23.5 which is incompatible. + mobileclip 0.1.0 requires torch==1.13.1, but you have torch 2.2.2+cpu which is incompatible. + mobileclip 0.1.0 requires torchvision==0.14.1, but you have torchvision 0.17.2+cpu which is incompatible. + optimum-intel 1.17.0.dev0+aca2b6c requires transformers<4.40.0,>=4.36.0, but you have transformers 4.33.3 which is incompatible. .. parsed-literal:: @@ -83,11 +84,6 @@ Install requirements Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -97,7 +93,7 @@ Install requirements .. parsed-literal:: - ('notebook_utils.py', ) + 21503 @@ -193,11 +189,11 @@ converted, this step is skipped. trans_config_path = Path(ov_tf_front.__file__).parent / "ssd_v2_support.json" if not converted_model_path.exists(): ov_model = mo.convert_model( - tf_model_path, - compress_to_fp16=(precision == 'FP16'), + tf_model_path, + compress_to_fp16=(precision == "FP16"), transformations_config=trans_config_path, - tensorflow_object_detection_api_pipeline_config=tf_model_path.parent / "pipeline.config", - reverse_input_channels=True + tensorflow_object_detection_api_pipeline_config=tf_model_path.parent / "pipeline.config", + reverse_input_channels=True, ) ov.save_model(ov_model, converted_model_path) del ov_model @@ -230,8 +226,8 @@ best performance. For that purpose, just use ``AUTO``. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -300,18 +296,98 @@ threshold (0.5). Finally, draw boxes and labels inside them. # https://tech.amikelive.com/node-718/what-object-categories-labels-are-in-coco-dataset/ classes = [ - "background", "person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", - "truck", "boat", "traffic light", "fire hydrant", "street sign", "stop sign", - "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", - "bear", "zebra", "giraffe", "hat", "backpack", "umbrella", "shoe", "eye glasses", - "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", - "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", - "plate", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana", "apple", - "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", "chair", - "couch", "potted plant", "bed", "mirror", "dining table", "window", "desk", "toilet", - "door", "tv", "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", - "toaster", "sink", "refrigerator", "blender", "book", "clock", "vase", "scissors", - "teddy bear", "hair drier", "toothbrush", "hair brush" + "background", + "person", + "bicycle", + "car", + "motorcycle", + "airplane", + "bus", + "train", + "truck", + "boat", + "traffic light", + "fire hydrant", + "street sign", + "stop sign", + "parking meter", + "bench", + "bird", + "cat", + "dog", + "horse", + "sheep", + "cow", + "elephant", + "bear", + "zebra", + "giraffe", + "hat", + "backpack", + "umbrella", + "shoe", + "eye glasses", + "handbag", + "tie", + "suitcase", + "frisbee", + "skis", + "snowboard", + "sports ball", + "kite", + "baseball bat", + "baseball glove", + "skateboard", + "surfboard", + "tennis racket", + "bottle", + "plate", + "wine glass", + "cup", + "fork", + "knife", + "spoon", + "bowl", + "banana", + "apple", + "sandwich", + "orange", + "broccoli", + "carrot", + "hot dog", + "pizza", + "donut", + "cake", + "chair", + "couch", + "potted plant", + "bed", + "mirror", + "dining table", + "window", + "desk", + "toilet", + "door", + "tv", + "laptop", + "mouse", + "remote", + "keyboard", + "cell phone", + "microwave", + "oven", + "toaster", + "sink", + "refrigerator", + "blender", + "book", + "clock", + "vase", + "scissors", + "teddy bear", + "hair drier", + "toothbrush", + "hair brush", ] # Colors for the classes above (Rainbow Color Map). @@ -331,18 +407,14 @@ threshold (0.5). Finally, draw boxes and labels inside them. scores = [] for _, label, score, xmin, ymin, xmax, ymax in results: # Create a box with pixels coordinates from the box with normalized coordinates [0,1]. - boxes.append( - tuple(map(int, (xmin * w, ymin * h, (xmax - xmin) * w, (ymax - ymin) * h))) - ) + boxes.append(tuple(map(int, (xmin * w, ymin * h, (xmax - xmin) * w, (ymax - ymin) * h)))) labels.append(int(label)) scores.append(float(score)) # Apply non-maximum suppression to get rid of many overlapping entities. # See https://paperswithcode.com/method/non-maximum-suppression # This algorithm returns indices of objects to keep. - indices = cv2.dnn.NMSBoxes( - bboxes=boxes, scores=scores, score_threshold=thresh, nms_threshold=0.6 - ) + indices = cv2.dnn.NMSBoxes(bboxes=boxes, scores=scores, score_threshold=thresh, nms_threshold=0.6) # If there are no boxes. if len(indices) == 0: @@ -390,16 +462,12 @@ file. player = None try: # Create a video player to play with target fps. - player = utils.VideoPlayer( - source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames - ) + player = utils.VideoPlayer(source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames) # Start capturing. player.start() if use_popup: title = "Press ESC to Exit" - cv2.namedWindow( - winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE - ) + cv2.namedWindow(winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE) processing_times = collections.deque() while True: @@ -420,9 +488,7 @@ file. ) # Resize the image and change dims to fit neural network input. - input_img = cv2.resize( - src=frame, dsize=(width, height), interpolation=cv2.INTER_AREA - ) + input_img = cv2.resize(src=frame, dsize=(width, height), interpolation=cv2.INTER_AREA) # Create a batch of images (size = 1). input_img = input_img[np.newaxis, ...] @@ -467,9 +533,7 @@ file. break else: # Encode numpy array to jpg. - _, encoded_img = cv2.imencode( - ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100] - ) + _, encoded_img = cv2.imencode(ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image. i = display.Image(data=encoded_img) # Display the image in this notebook. @@ -531,7 +595,7 @@ Run the object detection: -.. image:: 401-object-detection-with-output_files/401-object-detection-with-output_19_0.png +.. image:: object-detection-with-output_files/object-detection-with-output_19_0.png .. parsed-literal:: diff --git a/docs/notebooks/object-detection-with-output_files/object-detection-with-output_19_0.png b/docs/notebooks/object-detection-with-output_files/object-detection-with-output_19_0.png new file mode 100644 index 00000000000..600e198bfd5 --- /dev/null +++ b/docs/notebooks/object-detection-with-output_files/object-detection-with-output_19_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5fec4c23a0eb6bd04219e80f3a8d1abaacb24d50b44a6df123cc577e33fef5 +size 175119 diff --git a/docs/notebooks/249-oneformer-segmentation-with-output.rst b/docs/notebooks/oneformer-segmentation-with-output.rst similarity index 88% rename from docs/notebooks/249-oneformer-segmentation-with-output.rst rename to docs/notebooks/oneformer-segmentation-with-output.rst index b809244c88f..0a356d389e9 100644 --- a/docs/notebooks/249-oneformer-segmentation-with-output.rst +++ b/docs/notebooks/oneformer-segmentation-with-output.rst @@ -54,7 +54,7 @@ Install required libraries import platform - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "transformers>=4.26.0" "openvino>=2023.1.0" "nncf>=2.7.0" gradio torch scipy ipywidgets Pillow + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "transformers>=4.26.0" "openvino>=2023.1.0" "nncf>=2.7.0" "gradio>=4.19" "torch>=2.1" scipy ipywidgets Pillow tqdm if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -80,10 +80,11 @@ variables. import warnings from collections import defaultdict from pathlib import Path - import sys from transformers import OneFormerProcessor, OneFormerForUniversalSegmentation - from transformers.models.oneformer.modeling_oneformer import OneFormerForUniversalSegmentationOutput + from transformers.models.oneformer.modeling_oneformer import ( + OneFormerForUniversalSegmentationOutput, + ) import torch import matplotlib.pyplot as plt import matplotlib.patches as mpatches @@ -92,13 +93,20 @@ variables. import openvino - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file .. code:: ipython3 IR_PATH = Path("oneformer.xml") - OUTPUT_NAMES = ['class_queries_logits', 'masks_queries_logits'] + OUTPUT_NAMES = ["class_queries_logits", "masks_queries_logits"] Load OneFormer fine-tuned on COCO for universal segmentation ------------------------------------------------------------ @@ -139,7 +147,7 @@ images and post-process model outputs for visualization. shape = (800, 800) dummy_input = { "pixel_values": torch.randn(1, 3, *shape), - "task_inputs": torch.randn(1, task_seq_length) + "task_inputs": torch.randn(1, task_seq_length), } Convert the model to OpenVINO IR format @@ -195,8 +203,8 @@ Select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -224,8 +232,8 @@ images and text to solve image segmentation. image = ImageOps.pad(image, shape) inputs = processor(image, [task], return_tensors="pt") converted = { - 'pixel_values': inputs['pixel_values'], - 'task_inputs': inputs['task_inputs'] + "pixel_values": inputs["pixel_values"], + "task_inputs": inputs["task_inputs"], } return converted @@ -233,9 +241,7 @@ images and text to solve image segmentation. def process_output(d): """Convert OpenVINO model output to HuggingFace representation for visualization""" - hf_kwargs = { - output_name: torch.tensor(d[output_name]) for output_name in OUTPUT_NAMES - } + hf_kwargs = {output_name: torch.tensor(d[output_name]) for output_name in OUTPUT_NAMES} return OneFormerForUniversalSegmentationOutput(**hf_kwargs) @@ -259,15 +265,15 @@ the inference results. @staticmethod def extract_legend(handles): fig = plt.figure() - fig.legend(handles=handles, ncol=len(handles) // 20 + 1, loc='center') + fig.legend(handles=handles, ncol=len(handles) // 20 + 1, loc="center") fig.tight_layout() return fig - + @staticmethod def predicted_semantic_map_to_figure(predicted_map): segmentation = predicted_map[0] # get the used color map - viridis = plt.get_cmap('viridis', max(1, torch.max(segmentation))) + viridis = plt.get_cmap("viridis", max(1, torch.max(segmentation))) # get all the unique numbers labels_ids = torch.unique(segmentation).tolist() fig, ax = plt.subplots() @@ -281,13 +287,13 @@ the inference results. fig_legend = Visualizer.extract_legend(handles=handles) fig.tight_layout() return fig, fig_legend - + @staticmethod def predicted_instance_map_to_figure(predicted_map): - segmentation = predicted_map[0]['segmentation'] - segments_info = predicted_map[0]['segments_info'] + segmentation = predicted_map[0]["segmentation"] + segments_info = predicted_map[0]["segments_info"] # get the used color map - viridis = plt.get_cmap('viridis', max(torch.max(segmentation), 1)) + viridis = plt.get_cmap("viridis", max(torch.max(segmentation), 1)) fig, ax = plt.subplots() ax.imshow(segmentation) ax.set_axis_off() @@ -295,24 +301,24 @@ the inference results. handles = [] # for each segment, draw its legend for segment in segments_info: - segment_id = segment['id'] - segment_label_id = segment['label_id'] + segment_id = segment["id"] + segment_label_id = segment["label_id"] segment_label = id2label[segment_label_id] label = f"{segment_label}-{instances_counter[segment_label_id]}" instances_counter[segment_label_id] += 1 color = viridis(segment_id) handles.append(mpatches.Patch(color=color, label=label)) - + fig_legend = Visualizer.extract_legend(handles) fig.tight_layout() return fig, fig_legend @staticmethod def predicted_panoptic_map_to_figure(predicted_map): - segmentation = predicted_map[0]['segmentation'] - segments_info = predicted_map[0]['segments_info'] + segmentation = predicted_map[0]["segmentation"] + segments_info = predicted_map[0]["segments_info"] # get the used color map - viridis = plt.get_cmap('viridis', max(torch.max(segmentation), 1)) + viridis = plt.get_cmap("viridis", max(torch.max(segmentation), 1)) fig, ax = plt.subplots() ax.imshow(segmentation) ax.set_axis_off() @@ -320,21 +326,24 @@ the inference results. handles = [] # for each segment, draw its legend for segment in segments_info: - segment_id = segment['id'] - segment_label_id = segment['label_id'] + segment_id = segment["id"] + segment_label_id = segment["label_id"] segment_label = id2label[segment_label_id] label = f"{segment_label}-{instances_counter[segment_label_id]}" instances_counter[segment_label_id] += 1 color = viridis(segment_id) handles.append(mpatches.Patch(color=color, label=label)) - + fig_legend = Visualizer.extract_legend(handles) fig.tight_layout() return fig, fig_legend @staticmethod def figures_to_images(fig, fig_legend, name_suffix=""): - seg_filename, leg_filename = f"segmentation{name_suffix}.png", f"legend{name_suffix}.png" + seg_filename, leg_filename = ( + f"segmentation{name_suffix}.png", + f"legend{name_suffix}.png", + ) fig.savefig(seg_filename, bbox_inches="tight") fig_legend.savefig(leg_filename, bbox_inches="tight") segmentation = Image.open(seg_filename) @@ -358,9 +367,7 @@ the inference results. inputs = prepare_inputs(img, task) outputs = model(inputs) hf_output = process_output(outputs) - predicted_map = getattr(processor, f"post_process_{task}_segmentation")( - hf_output, target_sizes=[img.size[::-1]] - ) + predicted_map = getattr(processor, f"post_process_{task}_segmentation")(hf_output, target_sizes=[img.size[::-1]]) return getattr(Visualizer, f"predicted_{task}_map_to_figure")(predicted_map) .. code:: ipython3 @@ -378,7 +385,7 @@ the inference results. -.. image:: 249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_23_1.png +.. image:: oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_23_1.png @@ -411,14 +418,17 @@ Inference .. code:: ipython3 import matplotlib + matplotlib.use("Agg") # disable showing figures + def stack_images_horizontally(img1: Image, img2: Image): - res = Image.new("RGB", (img1.width + img2.width, max(img1.height, img2.height)), (255, 255,255)) + res = Image.new("RGB", (img1.width + img2.width, max(img1.height, img2.height)), (255, 255, 255)) res.paste(img1, (0, 0)) res.paste(img2, (img1.width, 0)) return res + segmentation_fig, legend_fig = segment(compiled_model, image, task.value) segmentation_image, legend_image = Visualizer.figures_to_images(segmentation_fig, legend_fig) plt.close("all") @@ -428,7 +438,7 @@ Inference -.. image:: 249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_27_0.png +.. image:: oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_27_0.png @@ -461,7 +471,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=False, - description='Quantization', + description="Quantization", disabled=False, ) @@ -481,8 +491,11 @@ not selected .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) %load_ext skip_kernel_extension @@ -624,7 +637,7 @@ Let’s see quantized model prediction next to original model prediction. -.. image:: 249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_1.png +.. image:: oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_1.png .. parsed-literal:: @@ -633,7 +646,7 @@ Let’s see quantized model prediction next to original model prediction. -.. image:: 249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_3.png +.. image:: oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_3.png Compare model size and performance @@ -725,6 +738,7 @@ Interactive Demo if quantized_model_present: compiled_quantized_model = core.compile_model(model=quantized_model, device_name=device) + def segment_wrapper(image, task, run_quantized=False): current_model = compiled_quantized_model if run_quantized else compiled_model @@ -743,43 +757,44 @@ Interactive Demo with gr.Row(): with gr.Column(): inp_img = gr.Image(label="Image", type="pil") - inp_task = gr.Radio( - ["semantic", "instance", "panoptic"], label="Task", value="semantic" - ) - inp_device = gr.Dropdown( - label="Device", choices=core.available_devices + ["AUTO"], value="AUTO" - ) + inp_task = gr.Radio(["semantic", "instance", "panoptic"], label="Task", value="semantic") + inp_device = gr.Dropdown(label="Device", choices=core.available_devices + ["AUTO"], value="AUTO") with gr.Column(): out_result = gr.Image(label="Result (Original)" if quantized_model_present else "Result") inference_time = gr.Textbox(label="Time (seconds)") out_result_quantized = gr.Image(label="Result (Quantized)", visible=quantized_model_present) inference_time_quantized = gr.Textbox(label="Time (seconds)", visible=quantized_model_present) run_button = gr.Button(value="Run") - run_button.click(segment_wrapper, [inp_img, inp_task, gr.Number(0, visible=False)], [out_result, inference_time]) - run_quantized_button = gr.Button(value="Run quantized", visible=quantized_model_present) - run_quantized_button.click(segment_wrapper, [inp_img, inp_task, gr.Number(1, visible=False)], [out_result_quantized, inference_time_quantized]) - gr.Examples( - examples=[["sample.jpg", "semantic"]], inputs=[inp_img, inp_task] + run_button.click( + segment_wrapper, + [inp_img, inp_task, gr.Number(0, visible=False)], + [out_result, inference_time], ) - + run_quantized_button = gr.Button(value="Run quantized", visible=quantized_model_present) + run_quantized_button.click( + segment_wrapper, + [inp_img, inp_task, gr.Number(1, visible=False)], + [out_result_quantized, inference_time_quantized], + ) + gr.Examples(examples=[["sample.jpg", "semantic"]], inputs=[inp_img, inp_task]) def on_device_change_begin(): return ( run_button.update(value="Changing device...", interactive=False), run_quantized_button.update(value="Changing device...", interactive=False), - inp_device.update(interactive=False) + inp_device.update(interactive=False), ) def on_device_change_end(): return ( run_button.update(value="Run", interactive=True), run_quantized_button.update(value="Run quantized", interactive=True), - inp_device.update(interactive=True) + inp_device.update(interactive=True), ) - inp_device.change(on_device_change_begin, outputs=[run_button, run_quantized_button, inp_device]).then( - compile_model, inp_device - ).then(on_device_change_end, outputs=[run_button, run_quantized_button, inp_device]) + inp_device.change(on_device_change_begin, outputs=[run_button, run_quantized_button, inp_device]).then(compile_model, inp_device).then( + on_device_change_end, outputs=[run_button, run_quantized_button, inp_device] + ) try: demo.launch(debug=False) diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_23_1.jpg b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_23_1.jpg similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_23_1.jpg rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_23_1.jpg diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_23_1.png b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_23_1.png similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_23_1.png rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_23_1.png diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_27_0.jpg b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_27_0.jpg similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_27_0.jpg rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_27_0.jpg diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_27_0.png b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_27_0.png similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_27_0.png rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_27_0.png diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_1.jpg b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_1.jpg similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_1.jpg rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_1.jpg diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_1.png b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_1.png similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_1.png rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_1.png diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_3.jpg b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_3.jpg similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_3.jpg rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_3.jpg diff --git a/docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_3.png b/docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_3.png similarity index 100% rename from docs/notebooks/249-oneformer-segmentation-with-output_files/249-oneformer-segmentation-with-output_39_3.png rename to docs/notebooks/oneformer-segmentation-with-output_files/oneformer-segmentation-with-output_39_3.png diff --git a/docs/notebooks/002-openvino-api-with-output.rst b/docs/notebooks/openvino-api-with-output.rst similarity index 87% rename from docs/notebooks/002-openvino-api-with-output.rst rename to docs/notebooks/openvino-api-with-output.rst index e88ae2e7add..7e24190b738 100644 --- a/docs/notebooks/002-openvino-api-with-output.rst +++ b/docs/notebooks/openvino-api-with-output.rst @@ -41,16 +41,18 @@ Table of contents: .. code:: ipython3 # Required imports. Please execute this cell first. - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" %pip install -q requests tqdm ipywidgets # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file @@ -110,7 +112,7 @@ inference using this widget device = widgets.Dropdown( options=core.available_devices, value=core.available_devices[0], - description='Device:', + description="Device:", disabled=False, ) @@ -165,19 +167,19 @@ to be more suitable for inference, for example, by alternating input shapes, embedding preprocessing and cutting training parts off. For information on how to convert your existing TensorFlow, PyTorch or ONNX model to OpenVINO IR format with model conversion API, refer to the -`tensorflow-to-openvino <101-tensorflow-classification-to-openvino-with-output.html>`__ +`tensorflow-to-openvino `__ and -`pytorch-onnx-to-openvino <102-pytorch-onnx-to-openvino-with-output.html>`__ +`pytorch-onnx-to-openvino `__ notebooks. .. code:: ipython3 - ir_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/' - ir_model_name_xml = 'classification.xml' - ir_model_name_bin = 'classification.bin' + ir_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/" + ir_model_name_xml = "classification.xml" + ir_model_name_bin = "classification.bin" - download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory='model') - download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory='model') + download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory="model") + download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory="model") @@ -196,7 +198,7 @@ notebooks. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/classification.bin') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/classification.bin') @@ -229,10 +231,10 @@ points to the filename of an ONNX model. .. code:: ipython3 - onnx_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/segmentation.onnx' - onnx_model_name = 'segmentation.onnx' + onnx_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/segmentation.onnx" + onnx_model_name = "segmentation.onnx" - download_file(onnx_model_url, filename=onnx_model_name, directory='model') + download_file(onnx_model_url, filename=onnx_model_name, directory="model") @@ -245,7 +247,7 @@ points to the filename of an ONNX model. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/segmentation.onnx') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/segmentation.onnx') @@ -277,12 +279,16 @@ without any conversion step. Pass the filename with extension to .. code:: ipython3 - paddle_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/' - paddle_model_name = 'inference.pdmodel' - paddle_params_name = 'inference.pdiparams' + paddle_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/" + paddle_model_name = "inference.pdmodel" + paddle_params_name = "inference.pdiparams" - download_file(paddle_model_url + paddle_model_name, filename=paddle_model_name, directory='model') - download_file(paddle_model_url + paddle_params_name, filename=paddle_params_name, directory='model') + download_file(paddle_model_url + paddle_model_name, filename=paddle_model_name, directory="model") + download_file( + paddle_model_url + paddle_params_name, + filename=paddle_params_name, + directory="model", + ) @@ -301,7 +307,7 @@ without any conversion step. Pass the filename with extension to .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/inference.pdiparams') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/inference.pdiparams') @@ -310,7 +316,7 @@ without any conversion step. Pass the filename with extension to import openvino as ov core = ov.Core() - paddle_model_path = 'model/inference.pdmodel' + paddle_model_path = "model/inference.pdmodel" model_paddle = core.read_model(model=paddle_model_path) compiled_model_paddle = core.compile_model(model=model_paddle, device_name=device.value) @@ -329,10 +335,10 @@ TensorFlow models saved in frozen graph format can also be passed to .. code:: ipython3 - pb_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/classification.pb' - pb_model_name = 'classification.pb' + pb_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/classification.pb" + pb_model_name = "classification.pb" - download_file(pb_model_url, filename=pb_model_name, directory='model') + download_file(pb_model_url, filename=pb_model_name, directory="model") @@ -345,7 +351,7 @@ TensorFlow models saved in frozen graph format can also be passed to .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/classification.pb') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/classification.pb') @@ -381,10 +387,14 @@ It is pre-trained model optimized to work with TensorFlow Lite. from pathlib import Path - tflite_model_url = 'https://www.kaggle.com/models/tensorflow/inception/frameworks/tfLite/variations/v4-quant/versions/1?lite-format=tflite' - tflite_model_path = Path('model/classification.tflite') + tflite_model_url = "https://www.kaggle.com/models/tensorflow/inception/frameworks/tfLite/variations/v4-quant/versions/1?lite-format=tflite" + tflite_model_path = Path("model/classification.tflite") - download_file(tflite_model_url, filename=tflite_model_path.name, directory=tflite_model_path.parent) + download_file( + tflite_model_url, + filename=tflite_model_path.name, + directory=tflite_model_path.parent, + ) @@ -397,7 +407,7 @@ It is pre-trained model optimized to work with TensorFlow Lite. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/classification.tflite') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/classification.tflite') @@ -422,8 +432,8 @@ PyTorch Model `PyTorch `__ models can not be directly passed to ``core.read_model``. ``ov.Model`` for model objects from this framework can be obtained using ``ov.convert_model`` API. You can find more -details in `pytorch-to-openvino <102-pytorch-to-openvino-with-output.html>`__ -notebook. In this tutorial we will use +details in `pytorch-to-openvino <../pytorch-to-openvino>`__ notebook. In +this tutorial we will use `resnet18 `__ model form torchvision library. After conversion model using ``ov.convert_model``, it can be compiled on device using @@ -460,12 +470,12 @@ Information about the inputs and outputs of the model are in .. code:: ipython3 - ir_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/' - ir_model_name_xml = 'classification.xml' - ir_model_name_bin = 'classification.bin' + ir_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/" + ir_model_name_xml = "classification.xml" + ir_model_name_bin = "classification.bin" - download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory='model') - download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory='model') + download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory="model") + download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory="model") .. parsed-literal:: @@ -482,7 +492,7 @@ Information about the inputs and outputs of the model are in .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/classification.bin') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/classification.bin') @@ -634,7 +644,7 @@ Doing Inference on a Model **NOTE** this notebook demonstrates only the basic synchronous inference API. For an async inference example, please refer to `Async - API notebook <115-async-api-with-output.html>`__ + API notebook `__ The diagram below shows a typical inference pipeline with OpenVINO @@ -670,12 +680,12 @@ produced data as values. .. code:: ipython3 - ir_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/' - ir_model_name_xml = 'classification.xml' - ir_model_name_bin = 'classification.bin' + ir_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/" + ir_model_name_xml = "classification.xml" + ir_model_name_bin = "classification.bin" - download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory='model') - download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory='model') + download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory="model") + download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory="model") .. parsed-literal:: @@ -692,7 +702,7 @@ produced data as values. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/classification.bin') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/classification.bin') @@ -719,7 +729,7 @@ the input layout of the network. image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_hollywood.jpg", - directory="data" + directory="data", ) image = cv2.imread(str(image_filename)) image.shape @@ -835,7 +845,7 @@ from the output, use the ``.data`` parameter. The output shape is (1,1001), which is the expected output shape. This shape indicates that the network returns probabilities for 1001 classes. To learn more about this notion, refer to the `hello world -notebook <001-hello-world-with-output.html>`__. +notebook `__. Reshaping and Resizing ---------------------- @@ -857,12 +867,12 @@ input shape. .. code:: ipython3 - ir_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/' - ir_model_name_xml = 'segmentation.xml' - ir_model_name_bin = 'segmentation.bin' + ir_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/" + ir_model_name_xml = "segmentation.xml" + ir_model_name_bin = "segmentation.bin" - download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory='model') - download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory='model') + download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory="model") + download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory="model") @@ -881,7 +891,7 @@ input shape. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/segmentation.bin') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/segmentation.bin') @@ -905,10 +915,7 @@ input shape. # help(segmentation_compiled_model) print("~~~~ RESHAPED MODEL ~~~~") print(f"model input shape: {segmentation_input_layer.shape}") - print( - f"compiled_model input shape: " - f"{segmentation_compiled_model.input(index=0).shape}" - ) + print(f"compiled_model input shape: " f"{segmentation_compiled_model.input(index=0).shape}") print(f"compiled_model output shape: {segmentation_output_layer.shape}") @@ -1022,12 +1029,12 @@ the cache. .. code:: ipython3 - ir_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/' - ir_model_name_xml = 'classification.xml' - ir_model_name_bin = 'classification.bin' + ir_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/002-example-models/" + ir_model_name_xml = "classification.xml" + ir_model_name_bin = "classification.bin" - download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory='model') - download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory='model') + download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory="model") + download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory="model") .. parsed-literal:: @@ -1044,7 +1051,7 @@ the cache. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/002-openvino-api/model/classification.bin') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvino-api/model/classification.bin') @@ -1074,7 +1081,7 @@ the cache. .. parsed-literal:: - Loading the network to the CPU device took 0.16 seconds. + Loading the network to the CPU device took 0.15 seconds. After running the previous cell, we know the model exists in the cache @@ -1092,5 +1099,5 @@ measure the time it takes now. .. parsed-literal:: - Loading the network to the CPU device took 0.09 seconds. + Loading the network to the CPU device took 0.07 seconds. diff --git a/docs/notebooks/128-opnevino-tokenizers-with-output.rst b/docs/notebooks/openvino-tokenizers-with-output.rst similarity index 78% rename from docs/notebooks/128-opnevino-tokenizers-with-output.rst rename to docs/notebooks/openvino-tokenizers-with-output.rst index 5cd079c954e..65494af5ccc 100644 --- a/docs/notebooks/128-opnevino-tokenizers-with-output.rst +++ b/docs/notebooks/openvino-tokenizers-with-output.rst @@ -96,7 +96,8 @@ use ``pip install openvino-tokenizers[transformers]``. %pip install -Uq pip %pip uninstall -y openvino openvino-nightly openvino-dev - %pip install -Uq openvino-tokenizers[transformers] + %pip install --pre -Uq openvino-tokenizers[transformers] --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly + %pip install "torch>=2.1" --extra-index-url https://download.pytorch.org/whl/cpu .. parsed-literal:: @@ -108,18 +109,24 @@ use ``pip install openvino-tokenizers[transformers]``. Found existing installation: openvino 2024.0.0 Uninstalling openvino-2024.0.0: + Successfully uninstalled openvino-2024.0.0 .. parsed-literal:: - Successfully uninstalled openvino-2024.0.0 - WARNING: Skipping openvino-nightly as it is not installed. + Found existing installation: openvino-nightly 2024.2.0.dev20240416 + Uninstalling openvino-nightly-2024.2.0.dev20240416: + Successfully uninstalled openvino-nightly-2024.2.0.dev20240416 Found existing installation: openvino-dev 2024.0.0 .. parsed-literal:: Uninstalling openvino-dev-2024.0.0: + + +.. parsed-literal:: + Successfully uninstalled openvino-dev-2024.0.0 @@ -128,6 +135,36 @@ use ``pip install openvino-tokenizers[transformers]``. Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. + mobileclip 0.1.0 requires torch==1.13.1, but you have torch 2.2.2+cpu which is incompatible. + mobileclip 0.1.0 requires torchvision==0.14.1, but you have torchvision 0.17.2+cpu which is incompatible. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cpu + Requirement already satisfied: torch>=2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2.2.2+cpu) + Requirement already satisfied: filelock in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (3.13.4) + Requirement already satisfied: typing-extensions>=4.8.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (4.11.0) + Requirement already satisfied: sympy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (1.12) + Requirement already satisfied: networkx in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (3.1) + Requirement already satisfied: jinja2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (3.1.3) + Requirement already satisfied: fsspec in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1) (2024.2.0) + + +.. parsed-literal:: + + Requirement already satisfied: MarkupSafe>=2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jinja2->torch>=2.1) (2.1.5) + Requirement already satisfied: mpmath>=0.19 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from sympy->torch>=2.1) (1.3.0) + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -216,7 +253,7 @@ The other method is to pass HuggingFace ``hf_tokenizer`` object to ]>, + ] outputs[ @@ -287,14 +324,14 @@ one: .. parsed-literal:: - 2024-03-12 23:13:39.058345: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 23:13:39.093394: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:15:48.664233: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:15:48.699390: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 23:13:39.592323: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:15:49.303976: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -326,17 +363,17 @@ command is commented. # converting the original model # %pip install -U "git+https://github.com/huggingface/optimum-intel.git" "nncf>=2.8.0" onnx # %optimum-cli export openvino -m $model_id --task text-generation-with-past $model_dir - + # load already converted model from huggingface_hub import hf_hub_download hf_hub_download( - "chgk13/TinyLlama-1.1B-intermediate-step-1431k-3T", + "chgk13/TinyLlama-1.1B-intermediate-step-1431k-3T", filename="openvino_model.xml", local_dir=model_dir, ) hf_hub_download( - "chgk13/TinyLlama-1.1B-intermediate-step-1431k-3T", + "chgk13/TinyLlama-1.1B-intermediate-step-1431k-3T", filename="openvino_model.bin", local_dir=model_dir, ) @@ -346,15 +383,20 @@ command is commented. import numpy as np from tqdm.notebook import trange from pathlib import Path - import openvino_tokenizers # noqa: F401 - from openvino import compile_model + from openvino_tokenizers import add_greedy_decoding + from openvino_tokenizers.constants import EOS_TOKEN_ID_NAME + from openvino import Core - compiled_model = compile_model(model_dir / "openvino_model.xml") + core = Core() + + # add the greedy decoding subgraph on top of LLM to get the most probable token as an output + ov_model = add_greedy_decoding(core.read_model(model_dir / "openvino_model.xml")) + compiled_model = core.compile_model(ov_model) infer_request = compiled_model.create_infer_request() -The ``infer_reques``\ t object provides control over the model’s state - -a Key-Value cache that speeds up inference by reducing computations +The ``infer_request`` object provides control over the model’s state - a +Key-Value cache that speeds up inference by reducing computations Multiple inference requests can be created, and each request maintains a distinct and separate state.. @@ -369,9 +411,9 @@ distinct and separate state.. # no beam search, set idx to 0 model_input["beam_idx"] = np.array([0], dtype=np.int32) - # end of sentence token is that model signifies the end of text generation will be available in next version, - # for now, can be obtained from the original tokenizer `original_tokenizer.eos_token_id` - eos_token = 2 + # end of sentence token is that model signifies the end of text generation + # read EOS token ID from rt_info of tokenizer/detokenizer ov.Model object + eos_token = ov_tokenizer.get_rt_info(EOS_TOKEN_ID_NAME).value tokens_result = np.array([[]], dtype=np.int64) @@ -383,17 +425,20 @@ distinct and separate state.. infer_request.start_async(model_input) infer_request.wait() - # use greedy decoding to get the most probable token as the model prediction - output_token = np.argmax(infer_request.get_output_tensor().data[:, -1, :], axis=-1, keepdims=True) + # get a prediction for the last token on the first inference + output_token = infer_request.get_output_tensor().data[:, -1:] tokens_result = np.hstack((tokens_result, output_token)) - if output_token[0][0] == eos_token: + if output_token[0, 0] == eos_token: break - + # prepare input for new inference model_input["input_ids"] = output_token model_input["attention_mask"] = np.hstack((model_input["attention_mask"].data, [[1]])) model_input["position_ids"] = np.hstack( - (model_input["position_ids"].data, [[model_input["position_ids"].data.shape[-1]]]) + ( + model_input["position_ids"].data, + [[model_input["position_ids"].data.shape[-1]]], + ) ) text_result = detokenizer(tokens_result)["string_output"] @@ -485,12 +530,12 @@ models and tokenizers simplifies memory management. .. parsed-literal:: - 2024-03-12 23:13:56.117320: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:16:04.729219: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: - OpenVINO Tokenizer version is not compatible with OpenVINO version. Installed OpenVINO version: 2024.0.0,OpenVINO Tokenizers requires . OpenVINO Tokenizers models will not be added during export. + OpenVINO Tokenizer version is not compatible with OpenVINO version. Installed OpenVINO version: 2024.2.0,OpenVINO Tokenizers requires . OpenVINO Tokenizers models will not be added during export. .. parsed-literal:: @@ -500,7 +545,8 @@ models and tokenizers simplifies memory management. .. parsed-literal:: - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( .. parsed-literal:: @@ -510,16 +556,10 @@ models and tokenizers simplifies memory management. .. parsed-literal:: - Using the export variant default. Available variants are: - - default: The default ONNX variant. - - -.. parsed-literal:: - - Using framework PyTorch: 2.1.0+cpu + Using framework PyTorch: 2.2.2+cpu Overriding 1 configuration item(s) - use_cache -> False - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( @@ -539,12 +579,6 @@ models and tokenizers simplifies memory management. .. parsed-literal:: Converting Huggingface Tokenizer to OpenVINO... - RegexNormalization pattern is not supported, operation output might differ from the original tokenizer. - - -.. parsed-literal:: - - /tmp/tmpctejxcqg/build/third_party/re2/src/extern_re2/re2/re2.cc:205: Error parsing '((?=[^\n\t\r])\p{Cc})|((?=[^\n\t\r])\p{Cf})': invalid perl operator: (?= .. parsed-literal:: @@ -572,12 +606,6 @@ models and tokenizers simplifies memory management. print(f"Logits: {openvino_output['logits']}") -.. parsed-literal:: - - /tmp/tmpctejxcqg/build/third_party/re2/src/extern_re2/re2/re2.cc:205: Error parsing '((?=[^\n\t\r])\p{Cc})|((?=[^\n\t\r])\p{Cf})': invalid perl operator: (?= - /tmp/tmpctejxcqg/build/third_party/re2/src/extern_re2/re2/re2.cc:205: Error parsing '((?=[^\n\t\r])\p{Cc})|((?=[^\n\t\r])\p{Cf})': invalid perl operator: (?= - - .. parsed-literal:: Logits: [[ 1.2007061 -1.4698029]] diff --git a/docs/notebooks/openvoice-with-output.rst b/docs/notebooks/openvoice-with-output.rst new file mode 100644 index 00000000000..a0e386268ec --- /dev/null +++ b/docs/notebooks/openvoice-with-output.rst @@ -0,0 +1,1378 @@ +Voice tone cloning with OpenVoice and OpenVINO +============================================== + +OpenVoice is a versatile instant voice tone transferring and generating +speech in various languages with just a brief audio snippet from the +source speaker. OpenVoice has three main features: (i) high quality tone +color replication with multiple languages and accents; (ii) it provides +fine-tuned control over voice styles, including emotions, accents, as +well as other parameters such as rhythm, pauses, and intonation. (iii) +OpenVoice achieves zero-shot cross-lingual voice cloning, eliminating +the need for the generated speech and the reference speech to be part of +a massive-speaker multilingual training dataset. + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/5703039/ca7eab80-148d-45b0-84e8-a5a279846b51 + :alt: image + + image + +More details about model can be found in `project web +page `__, +`paper `__, and official +`repository `__ + +This notebook provides example of converting `PyTorch OpenVoice +model `__ to OpenVINO IR. In +this tutorial we will explore how to convert and run OpenVoice using +OpenVINO. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Clone repository and install + requirements <#clone-repository-and-install-requirements>`__ +- `Download checkpoints and load PyTorch + model <#download-checkpoints-and-load-pytorch-model>`__ +- `Convert models to OpenVINO IR <#convert-models-to-openvino-ir>`__ +- `Inference <#inference>`__ + + - `Select inference device <#select-inference-device>`__ + - `Select reference tone <#select-reference-tone>`__ + - `Run inference <#run-inference>`__ + +- `Run OpenVoice Gradio interactive + demo <#run-openvoice-gradio-interactive-demo>`__ +- `Cleanup <#cleanup>`__ + +Clone repository and install requirements +----------------------------------------- + + + +.. code:: ipython3 + + import sys + from pathlib import Path + + repo_dir = Path("OpenVoice") + + if not repo_dir.exists(): + !git clone https://github.com/myshell-ai/OpenVoice + orig_english_path = Path("OpenVoice/openvoice/text/_orig_english.py") + english_path = Path("OpenVoice/openvoice/text/english.py") + + english_path.rename(orig_english_path) + + with orig_english_path.open("r") as f: + data = f.read() + data = data.replace("unidecode", "anyascii") + with english_path.open("w") as out_f: + out_f.write(data) + # append to sys.path so that modules from the repo could be imported + sys.path.append(str(repo_dir)) + + %pip install -q "librosa>=0.8.1" "wavmark>=0.0.3" "faster-whisper>=0.9.0" "pydub>=0.25.1" "whisper-timestamped>=1.14.2" "tqdm" "inflect>=7.0.0" "eng_to_ipa>=0.0.2" "pypinyin>=0.50.0" \ + "cn2an>=0.5.22" "jieba>=0.42.1" "langid>=1.1.6" "gradio>=4.15" "ipywebrtc" "anyascii" "openvino>=2023.3" "torch>=2.1" + + +.. parsed-literal:: + + Cloning into 'OpenVoice'... + + +.. parsed-literal:: + + remote: Enumerating objects: 396, done. + remote: Counting objects: 0% (1/182) +remote: Counting objects: 1% (2/182) +remote: Counting objects: 2% (4/182) +remote: Counting objects: 3% (6/182) +remote: Counting objects: 4% (8/182) +remote: Counting objects: 5% (10/182) +remote: Counting objects: 6% (11/182) +remote: Counting objects: 7% (13/182) +remote: Counting objects: 8% (15/182) +remote: Counting objects: 9% (17/182) +remote: Counting objects: 10% (19/182) +remote: Counting objects: 11% (21/182) +remote: Counting objects: 12% (22/182) +remote: Counting objects: 13% (24/182) +remote: Counting objects: 14% (26/182) +remote: Counting objects: 15% (28/182) +remote: Counting objects: 16% (30/182) +remote: Counting objects: 17% (31/182) +remote: Counting objects: 18% (33/182) +remote: Counting objects: 19% (35/182) +remote: Counting objects: 20% (37/182) +remote: Counting objects: 21% (39/182) +remote: Counting objects: 22% (41/182) +remote: Counting objects: 23% (42/182) +remote: Counting objects: 24% (44/182) +remote: Counting objects: 25% (46/182) +remote: Counting objects: 26% (48/182) +remote: Counting objects: 27% (50/182) +remote: Counting objects: 28% (51/182) +remote: Counting objects: 29% (53/182) +remote: Counting objects: 30% (55/182) +remote: Counting objects: 31% (57/182) +remote: Counting objects: 32% (59/182) +remote: Counting objects: 33% (61/182) +remote: Counting objects: 34% (62/182) +remote: Counting objects: 35% (64/182) +remote: Counting objects: 36% (66/182) +remote: Counting objects: 37% (68/182) +remote: Counting objects: 38% (70/182) +remote: Counting objects: 39% (71/182) +remote: Counting objects: 40% (73/182) +remote: Counting objects: 41% (75/182) +remote: Counting objects: 42% (77/182) +remote: Counting objects: 43% (79/182) +remote: Counting objects: 44% (81/182) +remote: Counting objects: 45% (82/182) +remote: Counting objects: 46% (84/182) +remote: Counting objects: 47% (86/182) +remote: Counting objects: 48% (88/182) +remote: Counting objects: 49% (90/182) +remote: Counting objects: 50% (91/182) +remote: Counting objects: 51% (93/182) +remote: Counting objects: 52% (95/182) +remote: Counting objects: 53% (97/182) +remote: Counting objects: 54% (99/182) +remote: Counting objects: 55% (101/182) +remote: Counting objects: 56% (102/182) +remote: Counting objects: 57% (104/182) +remote: Counting objects: 58% (106/182) +remote: Counting objects: 59% (108/182) +remote: Counting objects: 60% (110/182) +remote: Counting objects: 61% (112/182) +remote: Counting objects: 62% (113/182) +remote: Counting objects: 63% (115/182) +remote: Counting objects: 64% (117/182) +remote: Counting objects: 65% (119/182) +remote: Counting objects: 66% (121/182) +remote: Counting objects: 67% (122/182) +remote: Counting objects: 68% (124/182) +remote: Counting objects: 69% (126/182) +remote: Counting objects: 70% (128/182) +remote: Counting objects: 71% (130/182) +remote: Counting objects: 72% (132/182) +remote: Counting objects: 73% (133/182) +remote: Counting objects: 74% (135/182) +remote: Counting objects: 75% (137/182) +remote: Counting objects: 76% (139/182) +remote: Counting objects: 77% (141/182) +remote: Counting objects: 78% (142/182) +remote: Counting objects: 79% (144/182) +remote: Counting objects: 80% (146/182) +remote: Counting objects: 81% (148/182) +remote: Counting objects: 82% (150/182) +remote: Counting objects: 83% (152/182) +remote: Counting objects: 84% (153/182) +remote: Counting objects: 85% (155/182) +remote: Counting objects: 86% (157/182) +remote: Counting objects: 87% (159/182) +remote: Counting objects: 88% (161/182) +remote: Counting objects: 89% (162/182) +remote: Counting objects: 90% (164/182) +remote: Counting objects: 91% (166/182) +remote: Counting objects: 92% (168/182) +remote: Counting objects: 93% (170/182) +remote: Counting objects: 94% (172/182) +remote: Counting objects: 95% (173/182) +remote: Counting objects: 96% (175/182) +remote: Counting objects: 97% (177/182) +remote: Counting objects: 98% (179/182) +remote: Counting objects: 99% (181/182) +remote: Counting objects: 100% (182/182) +remote: Counting objects: 100% (182/182), done. + remote: Compressing objects: 1% (1/86) +remote: Compressing objects: 2% (2/86) +remote: Compressing objects: 3% (3/86) +remote: Compressing objects: 4% (4/86) +remote: Compressing objects: 5% (5/86) +remote: Compressing objects: 6% (6/86) +remote: Compressing objects: 8% (7/86) +remote: Compressing objects: 9% (8/86) +remote: Compressing objects: 10% (9/86) +remote: Compressing objects: 11% (10/86) +remote: Compressing objects: 12% (11/86) +remote: Compressing objects: 13% (12/86) +remote: Compressing objects: 15% (13/86) +remote: Compressing objects: 16% (14/86) +remote: Compressing objects: 17% (15/86) +remote: Compressing objects: 18% (16/86) +remote: Compressing objects: 19% (17/86) +remote: Compressing objects: 20% (18/86) +remote: Compressing objects: 22% (19/86) +remote: Compressing objects: 23% (20/86) +remote: Compressing objects: 24% (21/86) +remote: Compressing objects: 25% (22/86) +remote: Compressing objects: 26% (23/86) +remote: Compressing objects: 27% (24/86) +remote: Compressing objects: 29% (25/86) +remote: Compressing objects: 30% (26/86) +remote: Compressing objects: 31% (27/86) +remote: Compressing objects: 32% (28/86) +remote: Compressing objects: 33% (29/86) +remote: Compressing objects: 34% (30/86) +remote: Compressing objects: 36% (31/86) +remote: Compressing objects: 37% (32/86) +remote: Compressing objects: 38% (33/86) +remote: Compressing objects: 39% (34/86) +remote: Compressing objects: 40% (35/86) +remote: Compressing objects: 41% (36/86) +remote: Compressing objects: 43% (37/86) +remote: Compressing objects: 44% (38/86) +remote: Compressing objects: 45% (39/86) +remote: Compressing objects: 46% (40/86) +remote: Compressing objects: 47% (41/86) +remote: Compressing objects: 48% (42/86) +remote: Compressing objects: 50% (43/86) +remote: Compressing objects: 51% (44/86) +remote: Compressing objects: 52% (45/86) +remote: Compressing objects: 53% (46/86) +remote: Compressing objects: 54% (47/86) +remote: Compressing objects: 55% (48/86) +remote: Compressing objects: 56% (49/86) +remote: Compressing objects: 58% (50/86) +remote: Compressing objects: 59% (51/86) +remote: Compressing objects: 60% (52/86) +remote: Compressing objects: 61% (53/86) +remote: Compressing objects: 62% (54/86) +remote: Compressing objects: 63% (55/86) +remote: Compressing objects: 65% (56/86) +remote: Compressing objects: 66% (57/86) +remote: Compressing objects: 67% (58/86) +remote: Compressing objects: 68% (59/86) +remote: Compressing objects: 69% (60/86) +remote: Compressing objects: 70% (61/86) +remote: Compressing objects: 72% (62/86) +remote: Compressing objects: 73% (63/86) +remote: Compressing objects: 74% (64/86) +remote: Compressing objects: 75% (65/86) +remote: Compressing objects: 76% (66/86) +remote: Compressing objects: 77% (67/86) +remote: Compressing objects: 79% (68/86) +remote: Compressing objects: 80% (69/86) +remote: Compressing objects: 81% (70/86) +remote: Compressing objects: 82% (71/86) +remote: Compressing objects: 83% (72/86) +remote: Compressing objects: 84% (73/86) +remote: Compressing objects: 86% (74/86) +remote: Compressing objects: 87% (75/86) +remote: Compressing objects: 88% (76/86) +remote: Compressing objects: 89% (77/86) +remote: Compressing objects: 90% (78/86) +remote: Compressing objects: 91% (79/86) +remote: Compressing objects: 93% (80/86) +remote: Compressing objects: 94% (81/86) +remote: Compressing objects: 95% (82/86) +remote: Compressing objects: 96% (83/86) +remote: Compressing objects: 97% (84/86) +remote: Compressing objects: 98% (85/86) +remote: Compressing objects: 100% (86/86) +remote: Compressing objects: 100% (86/86), done. + Receiving objects: 0% (1/396) +Receiving objects: 1% (4/396) +Receiving objects: 2% (8/396) + +.. parsed-literal:: + + Receiving objects: 3% (12/396) +Receiving objects: 4% (16/396) +Receiving objects: 5% (20/396) +Receiving objects: 6% (24/396) +Receiving objects: 7% (28/396) +Receiving objects: 8% (32/396) +Receiving objects: 9% (36/396) +Receiving objects: 10% (40/396) + +.. parsed-literal:: + + Receiving objects: 11% (44/396) +Receiving objects: 12% (48/396) + +.. parsed-literal:: + + Receiving objects: 13% (52/396) +Receiving objects: 14% (56/396) +Receiving objects: 15% (60/396) +Receiving objects: 16% (64/396) +Receiving objects: 17% (68/396) +Receiving objects: 18% (72/396) +Receiving objects: 19% (76/396) +Receiving objects: 20% (80/396) +Receiving objects: 21% (84/396) +Receiving objects: 22% (88/396) +Receiving objects: 23% (92/396) +Receiving objects: 24% (96/396) +Receiving objects: 25% (99/396) +Receiving objects: 26% (103/396) +Receiving objects: 27% (107/396) +Receiving objects: 28% (111/396) +Receiving objects: 29% (115/396) +Receiving objects: 30% (119/396) +Receiving objects: 31% (123/396) +Receiving objects: 32% (127/396) +Receiving objects: 33% (131/396) +Receiving objects: 34% (135/396) + +.. parsed-literal:: + + Receiving objects: 35% (139/396) +Receiving objects: 36% (143/396) +Receiving objects: 37% (147/396) +Receiving objects: 38% (151/396) +Receiving objects: 39% (155/396) +Receiving objects: 40% (159/396) +Receiving objects: 41% (163/396) +Receiving objects: 42% (167/396) +Receiving objects: 43% (171/396) +Receiving objects: 44% (175/396) +Receiving objects: 45% (179/396) +Receiving objects: 46% (183/396) +Receiving objects: 47% (187/396) +Receiving objects: 48% (191/396) +Receiving objects: 49% (195/396) +remote: Total 396 (delta 132), reused 104 (delta 96), pack-reused 214 + Receiving objects: 50% (198/396) +Receiving objects: 51% (202/396) +Receiving objects: 52% (206/396) +Receiving objects: 53% (210/396) +Receiving objects: 54% (214/396) +Receiving objects: 55% (218/396) +Receiving objects: 56% (222/396) +Receiving objects: 57% (226/396) +Receiving objects: 58% (230/396) +Receiving objects: 59% (234/396) +Receiving objects: 60% (238/396) +Receiving objects: 61% (242/396) +Receiving objects: 62% (246/396) +Receiving objects: 63% (250/396) +Receiving objects: 64% (254/396) +Receiving objects: 65% (258/396) +Receiving objects: 66% (262/396) +Receiving objects: 67% (266/396) +Receiving objects: 68% (270/396) +Receiving objects: 69% (274/396) +Receiving objects: 70% (278/396) +Receiving objects: 71% (282/396) +Receiving objects: 72% (286/396) +Receiving objects: 73% (290/396) +Receiving objects: 74% (294/396) +Receiving objects: 75% (297/396) +Receiving objects: 76% (301/396) +Receiving objects: 77% (305/396) +Receiving objects: 78% (309/396) +Receiving objects: 79% (313/396) +Receiving objects: 80% (317/396) +Receiving objects: 81% (321/396) +Receiving objects: 82% (325/396) +Receiving objects: 83% (329/396) +Receiving objects: 84% (333/396) +Receiving objects: 85% (337/396) +Receiving objects: 86% (341/396) +Receiving objects: 87% (345/396) +Receiving objects: 88% (349/396) +Receiving objects: 89% (353/396) +Receiving objects: 90% (357/396) +Receiving objects: 91% (361/396) +Receiving objects: 92% (365/396) +Receiving objects: 93% (369/396) +Receiving objects: 94% (373/396) +Receiving objects: 95% (377/396) +Receiving objects: 96% (381/396) +Receiving objects: 97% (385/396) +Receiving objects: 98% (389/396) +Receiving objects: 99% (393/396) +Receiving objects: 100% (396/396) +Receiving objects: 100% (396/396), 2.92 MiB | 14.97 MiB/s, done. + Resolving deltas: 0% (0/197) +Resolving deltas: 1% (2/197) +Resolving deltas: 2% (5/197) +Resolving deltas: 3% (7/197) +Resolving deltas: 8% (16/197) +Resolving deltas: 10% (21/197) +Resolving deltas: 15% (30/197) +Resolving deltas: 18% (37/197) +Resolving deltas: 19% (38/197) +Resolving deltas: 21% (42/197) +Resolving deltas: 22% (45/197) +Resolving deltas: 23% (47/197) +Resolving deltas: 24% (48/197) +Resolving deltas: 28% (57/197) +Resolving deltas: 29% (58/197) +Resolving deltas: 35% (69/197) +Resolving deltas: 37% (74/197) +Resolving deltas: 39% (77/197) +Resolving deltas: 58% (116/197) +Resolving deltas: 63% (125/197) +Resolving deltas: 78% (154/197) +Resolving deltas: 82% (162/197) +Resolving deltas: 86% (170/197) +Resolving deltas: 87% (172/197) +Resolving deltas: 88% (174/197) +Resolving deltas: 90% (179/197) +Resolving deltas: 91% (180/197) +Resolving deltas: 98% (194/197) +Resolving deltas: 100% (197/197) +Resolving deltas: 100% (197/197), done. + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Download checkpoints and load PyTorch model +------------------------------------------- + + + +.. code:: ipython3 + + import os + import torch + import openvino as ov + import ipywidgets as widgets + from IPython.display import Audio + + core = ov.Core() + + from openvoice.api import BaseSpeakerTTS, ToneColorConverter, OpenVoiceBaseClass + import openvoice.se_extractor as se_extractor + + +.. parsed-literal:: + + Importing the dtw module. When using in academic works please cite: + T. Giorgino. Computing and Visualizing Dynamic Time Warping Alignments in R: The dtw Package. + J. Stat. Soft., doi:10.18637/jss.v031.i07. + + + +.. code:: ipython3 + + CKPT_BASE_PATH = "checkpoints" + + en_suffix = f"{CKPT_BASE_PATH}/base_speakers/EN" + zh_suffix = f"{CKPT_BASE_PATH}/base_speakers/ZH" + converter_suffix = f"{CKPT_BASE_PATH}/converter" + +To make notebook lightweight by default model for Chinese speech is not +activated, in order turn on please set flag ``enable_chinese_lang`` to +True + +.. code:: ipython3 + + enable_chinese_lang = False + +.. code:: ipython3 + + def download_from_hf_hub(filename, local_dir="./"): + from huggingface_hub import hf_hub_download + + os.makedirs(local_dir, exist_ok=True) + hf_hub_download(repo_id="myshell-ai/OpenVoice", filename=filename, local_dir=local_dir) + + + download_from_hf_hub(f"{converter_suffix}/checkpoint.pth") + download_from_hf_hub(f"{converter_suffix}/config.json") + download_from_hf_hub(f"{en_suffix}/checkpoint.pth") + download_from_hf_hub(f"{en_suffix}/config.json") + + download_from_hf_hub(f"{en_suffix}/en_default_se.pth") + download_from_hf_hub(f"{en_suffix}/en_style_se.pth") + + if enable_chinese_lang: + download_from_hf_hub(f"{zh_suffix}/checkpoint.pth") + download_from_hf_hub(f"{zh_suffix}/config.json") + download_from_hf_hub(f"{zh_suffix}/zh_default_se.pth") + +.. code:: ipython3 + + pt_device = "cpu" + + en_base_speaker_tts = BaseSpeakerTTS(f"{en_suffix}/config.json", device=pt_device) + en_base_speaker_tts.load_ckpt(f"{en_suffix}/checkpoint.pth") + + tone_color_converter = ToneColorConverter(f"{converter_suffix}/config.json", device=pt_device) + tone_color_converter.load_ckpt(f"{converter_suffix}/checkpoint.pth") + + if enable_chinese_lang: + zh_base_speaker_tts = BaseSpeakerTTS(f"{zh_suffix}/config.json", device=pt_device) + zh_base_speaker_tts.load_ckpt(f"{zh_suffix}/checkpoint.pth") + else: + zh_base_speaker_tts = None + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:28: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm. + warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.") + + +.. parsed-literal:: + + Loaded checkpoint 'checkpoints/base_speakers/EN/checkpoint.pth' + missing/unexpected keys: [] [] + + +.. parsed-literal:: + + Loaded checkpoint 'checkpoints/converter/checkpoint.pth' + missing/unexpected keys: [] [] + + +Convert models to OpenVINO IR +----------------------------- + + + +There are 2 models in OpenVoice: first one is responsible for speech +generation ``BaseSpeakerTTS`` and the second one ``ToneColorConverter`` +imposes arbitrary voice tone to the original speech. To convert to +OpenVino IR format first we need to get acceptable ``torch.nn.Module`` +object. Both ToneColorConverter, BaseSpeakerTTS instead of using +``self.forward`` as the main entry point use custom ``infer`` and +``convert_voice`` methods respectively, therefore need to wrap them with +a custom class that is inherited from torch.nn.Module. + +.. code:: ipython3 + + class OVOpenVoiceBase(torch.nn.Module): + """ + Base class for both TTS and voice tone conversion model: constructor is same for both of them. + """ + + def __init__(self, voice_model: OpenVoiceBaseClass): + super().__init__() + self.voice_model = voice_model + for par in voice_model.model.parameters(): + par.requires_grad = False + + + class OVOpenVoiceTTS(OVOpenVoiceBase): + """ + Constructor of this class accepts BaseSpeakerTTS object for speech generation and wraps it's 'infer' method with forward. + """ + + def get_example_input(self): + stn_tst = self.voice_model.get_text("this is original text", self.voice_model.hps, False) + x_tst = stn_tst.unsqueeze(0) + x_tst_lengths = torch.LongTensor([stn_tst.size(0)]) + speaker_id = torch.LongTensor([1]) + noise_scale = torch.tensor(0.667) + length_scale = torch.tensor(1.0) + noise_scale_w = torch.tensor(0.6) + return ( + x_tst, + x_tst_lengths, + speaker_id, + noise_scale, + length_scale, + noise_scale_w, + ) + + def forward(self, x, x_lengths, sid, noise_scale, length_scale, noise_scale_w): + return self.voice_model.model.infer(x, x_lengths, sid, noise_scale, length_scale, noise_scale_w) + + + class OVOpenVoiceConverter(OVOpenVoiceBase): + """ + Constructor of this class accepts ToneColorConverter object for voice tone conversion and wraps it's 'voice_conversion' method with forward. + """ + + def get_example_input(self): + y = torch.randn([1, 513, 238], dtype=torch.float32) + y_lengths = torch.LongTensor([y.size(-1)]) + target_se = torch.randn(*(1, 256, 1)) + source_se = torch.randn(*(1, 256, 1)) + tau = torch.tensor(0.3) + return (y, y_lengths, source_se, target_se, tau) + + def forward(self, y, y_lengths, sid_src, sid_tgt, tau): + return self.voice_model.model.voice_conversion(y, y_lengths, sid_src, sid_tgt, tau) + +Convert to OpenVino IR and save to IRs_path folder for the future use. +If IRs already exist skip conversion and read them directly + +.. code:: ipython3 + + IRS_PATH = "openvino_irs/" + EN_TTS_IR = f"{IRS_PATH}/openvoice_en_tts.xml" + ZH_TTS_IR = f"{IRS_PATH}/openvoice_zh_tts.xml" + VOICE_CONVERTER_IR = f"{IRS_PATH}/openvoice_tone_conversion.xml" + + paths = [EN_TTS_IR, VOICE_CONVERTER_IR] + models = [ + OVOpenVoiceTTS(en_base_speaker_tts), + OVOpenVoiceConverter(tone_color_converter), + ] + if enable_chinese_lang: + models.append(OVOpenVoiceTTS(zh_base_speaker_tts)) + paths.append(ZH_TTS_IR) + ov_models = [] + + for model, path in zip(models, paths): + if not os.path.exists(path): + ov_model = ov.convert_model(model, example_input=model.get_example_input()) + ov.save_model(ov_model, path) + else: + ov_model = core.read_model(path) + ov_models.append(ov_model) + + ov_en_tts, ov_voice_conversion = ov_models[:2] + if enable_chinese_lang: + ov_zh_tts = ov_models[-1] + + +.. parsed-literal:: + + this is original text. + length:22 + length:21 + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/attentions.py:283: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + assert ( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/attentions.py:346: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + pad_length = max(length - (self.window_size + 1), 0) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/attentions.py:347: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + slice_start_position = max((self.window_size + 1) - length, 0) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/attentions.py:349: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + if pad_length > 0: + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/transforms.py:114: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + if torch.min(inputs) < left or torch.max(inputs) > right: + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/transforms.py:119: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + if min_bin_width * num_bins > 1.0: + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/transforms.py:121: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + if min_bin_height * num_bins > 1.0: + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/transforms.py:171: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + assert (discriminant >= 0).all() + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Trace had nondeterministic nodes. Did you forget call .eval() on your model? Nodes: + %3293 : Float(1, 2, 43, strides=[86, 43, 1], requires_grad=0, device=cpu) = aten::randn(%3288, %3289, %3290, %3291, %3292) # /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/models.py:175:0 + %5559 : Float(1, 192, 156, strides=[29952, 1, 192], requires_grad=0, device=cpu) = aten::randn_like(%m_p, %5554, %5555, %5556, %5557, %5558) # /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/models.py:487:0 + This may cause errors in trace checking. To disable trace checking, pass check_trace=False to torch.jit.trace() + _check_trace( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: + The values for attribute 'shape' do not match: torch.Size([1, 1, 39680]) != torch.Size([1, 1, 38656]). + _check_trace( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 2. of the traced function does not match the corresponding output of the Python function. Detailed error: + The values for attribute 'shape' do not match: torch.Size([1, 1, 155, 43]) != torch.Size([1, 1, 151, 43]). + _check_trace( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 3. of the traced function does not match the corresponding output of the Python function. Detailed error: + The values for attribute 'shape' do not match: torch.Size([1, 1, 155]) != torch.Size([1, 1, 151]). + _check_trace( + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Trace had nondeterministic nodes. Did you forget call .eval() on your model? Nodes: + %1596 : Float(1, 192, 238, strides=[91392, 238, 1], requires_grad=0, device=cpu) = aten::randn_like(%m, %1591, %1592, %1593, %1594, %1595) # /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/openvoice/OpenVoice/openvoice/models.py:220:0 + This may cause errors in trace checking. To disable trace checking, pass check_trace=False to torch.jit.trace() + _check_trace( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: + Tensor-likes are not close! + + Mismatched elements: 21517 / 60928 (35.3%) + Greatest absolute difference: 0.014645109884440899 at index (0, 0, 55667) (up to 1e-05 allowed) + Greatest relative difference: 17421.664948453606 at index (0, 0, 4696) (up to 1e-05 allowed) + _check_trace( + + +Inference +--------- + + + +Select inference device +~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Select reference tone +~~~~~~~~~~~~~~~~~~~~~ + + + +First of all, select the reference tone of voice to which the generated +text will be converted: your can select from existing ones, record your +own by selecting ``record_manually`` or upload you own file by +``load_manually`` + +.. code:: ipython3 + + REFERENCE_VOICES_PATH = f"{repo_dir}/resources/" + reference_speakers = [ + *[path for path in os.listdir(REFERENCE_VOICES_PATH) if os.path.splitext(path)[-1] == ".mp3"], + "record_manually", + "load_manually", + ] + + ref_speaker = widgets.Dropdown( + options=reference_speakers, + value=reference_speakers[0], + description="reference voice from which tone color will be copied", + disabled=False, + ) + + ref_speaker + + + + +.. parsed-literal:: + + Dropdown(description='reference voice from which tone color will be copied', options=('demo_speaker2.mp3', 'de… + + + +.. code:: ipython3 + + OUTPUT_DIR = "outputs/" + os.makedirs(OUTPUT_DIR, exist_ok=True) + +.. code:: ipython3 + + ref_speaker_path = f"{REFERENCE_VOICES_PATH}/{ref_speaker.value}" + allowed_audio_types = ".mp4,.mp3,.wav,.wma,.aac,.m4a,.m4b,.webm" + + if ref_speaker.value == "record_manually": + ref_speaker_path = f"{OUTPUT_DIR}/custom_example_sample.webm" + from ipywebrtc import AudioRecorder, CameraStream + + camera = CameraStream(constraints={"audio": True, "video": False}) + recorder = AudioRecorder(stream=camera, filename=ref_speaker_path, autosave=True) + display(recorder) + elif ref_speaker.value == "load_manually": + upload_ref = widgets.FileUpload( + accept=allowed_audio_types, + multiple=False, + description="Select audio with reference voice", + ) + display(upload_ref) + +Play the reference voice sample before cloning it’s tone to another +speech + +.. code:: ipython3 + + def save_audio(voice_source: widgets.FileUpload, out_path: str): + with open(out_path, "wb") as output_file: + assert len(voice_source.value) > 0, "Please select audio file" + output_file.write(voice_source.value[0]["content"]) + + + if ref_speaker.value == "load_manually": + ref_speaker_path = f"{OUTPUT_DIR}/{upload_ref.value[0].name}" + save_audio(upload_ref, ref_speaker_path) + +.. code:: ipython3 + + Audio(ref_speaker_path) + + + + +.. raw:: html + + + + + + + +Load speaker embeddings + +.. code:: ipython3 + + en_source_default_se = torch.load(f"{en_suffix}/en_default_se.pth") + en_source_style_se = torch.load(f"{en_suffix}/en_style_se.pth") + zh_source_se = torch.load(f"{zh_suffix}/zh_default_se.pth") if enable_chinese_lang else None + + target_se, audio_name = se_extractor.get_se(ref_speaker_path, tone_color_converter, target_dir=OUTPUT_DIR, vad=True) + + +.. parsed-literal:: + + OpenVoice version: v1 + + +.. parsed-literal:: + + [(0.0, 8.178), (9.326, 12.914), (13.262, 16.402), (16.654, 29.49225)] + + +.. parsed-literal:: + + after vad: dur = 27.743990929705216 + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/functional.py:660: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error. + Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at ../aten/src/ATen/native/SpectralOps.cpp:874.) + return _VF.stft(input, n_fft, hop_length, win_length, window, # type: ignore[attr-defined] + + +Replace original infer methods of ``OpenVoiceBaseClass`` with optimized +OpenVINO inference. + +There are pre and post processings that are not traceable and could not +be offloaded to OpenVINO, instead of writing such processing ourselves +we will rely on the already existing ones. We just replace infer and +voice conversion functions of ``OpenVoiceBaseClass`` so that the the +most computationally expensive part is done in OpenVINO. + +.. code:: ipython3 + + def get_pathched_infer(ov_model: ov.Model, device: str) -> callable: + compiled_model = core.compile_model(ov_model, device) + + def infer_impl(x, x_lengths, sid, noise_scale, length_scale, noise_scale_w): + ov_output = compiled_model((x, x_lengths, sid, noise_scale, length_scale, noise_scale_w)) + return (torch.tensor(ov_output[0]),) + + return infer_impl + + + def get_patched_voice_conversion(ov_model: ov.Model, device: str) -> callable: + compiled_model = core.compile_model(ov_model, device) + + def voice_conversion_impl(y, y_lengths, sid_src, sid_tgt, tau): + ov_output = compiled_model((y, y_lengths, sid_src, sid_tgt, tau)) + return (torch.tensor(ov_output[0]),) + + return voice_conversion_impl + + + en_base_speaker_tts.model.infer = get_pathched_infer(ov_en_tts, device.value) + tone_color_converter.model.voice_conversion = get_patched_voice_conversion(ov_voice_conversion, device.value) + if enable_chinese_lang: + zh_base_speaker_tts.model.infer = get_pathched_infer(ov_zh_tts, device.value) + +Run inference +~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + voice_source = widgets.Dropdown( + options=["use TTS", "choose_manually"], + value="use TTS", + description="Voice source", + disabled=False, + ) + + voice_source + + + + +.. parsed-literal:: + + Dropdown(description='Voice source', options=('use TTS', 'choose_manually'), value='use TTS') + + + +.. code:: ipython3 + + if voice_source.value == "choose_manually": + upload_orig_voice = widgets.FileUpload( + accept=allowed_audio_types, + multiple=False, + description="audo whose tone will be replaced", + ) + display(upload_orig_voice) + +.. code:: ipython3 + + if voice_source.value == "choose_manually": + orig_voice_path = f"{OUTPUT_DIR}/{upload_orig_voice.value[0].name}" + save_audio(upload_orig_voice, orig_voice_path) + source_se, _ = se_extractor.get_se(orig_voice_path, tone_color_converter, target_dir=OUTPUT_DIR, vad=True) + else: + text = """ + OpenVINO toolkit is a comprehensive toolkit for quickly developing applications and solutions that solve + a variety of tasks including emulation of human vision, automatic speech recognition, natural language processing, + recommendation systems, and many others. + """ + source_se = en_source_default_se + orig_voice_path = f"{OUTPUT_DIR}/tmp.wav" + en_base_speaker_tts.tts(text, orig_voice_path, speaker="default", language="English") + + +.. parsed-literal:: + + > Text splitted to sentences. + OpenVINO toolkit is a comprehensive toolkit for quickly developing applications and solutions that solve a variety of tasks including emulation of human vision, + automatic speech recognition, natural language processing, recommendation systems, and many others. + > =========================== + ˈoʊpən vino* toolkit* ɪz ə ˌkɑmpɹiˈhɛnsɪv toolkit* fəɹ kˈwɪkli dɪˈvɛləpɪŋ ˌæpləˈkeɪʃənz ənd səˈluʃənz ðət sɑɫv ə vəɹˈaɪəti əv tæsks ˌɪnˈkludɪŋ ˌɛmjəˈleɪʃən əv ˈjumən ˈvɪʒən, + length:173 + length:173 + + +.. parsed-literal:: + + ˌɔtəˈmætɪk spitʃ ˌɹɛkɪgˈnɪʃən, ˈnætʃəɹəɫ ˈlæŋgwɪdʒ ˈpɹɑsɛsɪŋ, ˌɹɛkəmənˈdeɪʃən ˈsɪstəmz, ənd ˈmɛni ˈəðəɹz. + length:105 + length:105 + + +And finally, run voice tone conversion with OpenVINO optimized model + +.. code:: ipython3 + + tau_slider = widgets.FloatSlider( + value=0.3, + min=0.01, + max=2.0, + step=0.01, + description="tau", + disabled=False, + readout_format=".2f", + ) + tau_slider + + + + +.. parsed-literal:: + + FloatSlider(value=0.3, description='tau', max=2.0, min=0.01, step=0.01) + + + +.. code:: ipython3 + + resulting_voice_path = f"{OUTPUT_DIR}/output_with_cloned_voice_tone.wav" + + tone_color_converter.convert( + audio_src_path=orig_voice_path, + src_se=source_se, + tgt_se=target_se, + output_path=resulting_voice_path, + tau=tau_slider.value, + message="@MyShell", + ) + +.. code:: ipython3 + + Audio(orig_voice_path) + + + + +.. raw:: html + + + + + + + +.. code:: ipython3 + + Audio(resulting_voice_path) + + + + +.. raw:: html + + + + + + + +Run OpenVoice Gradio interactive demo +------------------------------------- + + + +We can also use `Gradio `__ app to run TTS and +voice tone conversion online. + +.. code:: ipython3 + + import gradio as gr + import langid + + supported_languages = ["zh", "en"] + + + def build_predict( + output_dir, + tone_color_converter, + en_tts_model, + zh_tts_model, + en_source_default_se, + en_source_style_se, + zh_source_se, + ): + def predict(prompt, style, audio_file_pth, agree): + return predict_impl( + prompt, + style, + audio_file_pth, + agree, + output_dir, + tone_color_converter, + en_tts_model, + zh_tts_model, + en_source_default_se, + en_source_style_se, + zh_source_se, + ) + + return predict + + + def predict_impl( + prompt, + style, + audio_file_pth, + agree, + output_dir, + tone_color_converter, + en_tts_model, + zh_tts_model, + en_source_default_se, + en_source_style_se, + zh_source_se, + ): + text_hint = "" + if not agree: + text_hint += "[ERROR] Please accept the Terms & Condition!\n" + gr.Warning("Please accept the Terms & Condition!") + return ( + text_hint, + None, + None, + ) + + language_predicted = langid.classify(prompt)[0].strip() + print(f"Detected language:{language_predicted}") + + if language_predicted not in supported_languages: + text_hint += f"[ERROR] The detected language {language_predicted} for your input text is not in our Supported Languages: {supported_languages}\n" + gr.Warning(f"The detected language {language_predicted} for your input text is not in our Supported Languages: {supported_languages}") + + return ( + text_hint, + None, + ) + + if language_predicted == "zh": + tts_model = zh_tts_model + if zh_tts_model is None: + gr.Warning("TTS model for Chinece language was not loaded please set 'enable_chinese_lang=True`") + return ( + text_hint, + None, + ) + source_se = zh_source_se + language = "Chinese" + if style not in ["default"]: + text_hint += f"[ERROR] The style {style} is not supported for Chinese, which should be in ['default']\n" + gr.Warning(f"The style {style} is not supported for Chinese, which should be in ['default']") + return ( + text_hint, + None, + ) + else: + tts_model = en_tts_model + if style == "default": + source_se = en_source_default_se + else: + source_se = en_source_style_se + language = "English" + supported_styles = [ + "default", + "whispering", + "shouting", + "excited", + "cheerful", + "terrified", + "angry", + "sad", + "friendly", + ] + if style not in supported_styles: + text_hint += f"[ERROR] The style {style} is not supported for English, which should be in {*supported_styles,}\n" + gr.Warning(f"The style {style} is not supported for English, which should be in {*supported_styles,}") + return ( + text_hint, + None, + ) + + speaker_wav = audio_file_pth + + if len(prompt) < 2: + text_hint += "[ERROR] Please give a longer prompt text \n" + gr.Warning("Please give a longer prompt text") + return ( + text_hint, + None, + ) + if len(prompt) > 200: + text_hint += ( + "[ERROR] Text length limited to 200 characters for this demo, please try shorter text. You can clone our open-source repo and try for your usage \n" + ) + gr.Warning("Text length limited to 200 characters for this demo, please try shorter text. You can clone our open-source repo for your usage") + return ( + text_hint, + None, + ) + + # note diffusion_conditioning not used on hifigan (default mode), it will be empty but need to pass it to model.inference + try: + target_se, audio_name = se_extractor.get_se(speaker_wav, tone_color_converter, target_dir=OUTPUT_DIR, vad=True) + except Exception as e: + text_hint += f"[ERROR] Get target tone color error {str(e)} \n" + gr.Warning("[ERROR] Get target tone color error {str(e)} \n") + return ( + text_hint, + None, + ) + + src_path = f"{output_dir}/tmp.wav" + tts_model.tts(prompt, src_path, speaker=style, language=language) + + save_path = f"{output_dir}/output.wav" + encode_message = "@MyShell" + tone_color_converter.convert( + audio_src_path=src_path, + src_se=source_se, + tgt_se=target_se, + output_path=save_path, + message=encode_message, + ) + + text_hint += "Get response successfully \n" + + return ( + text_hint, + src_path, + save_path, + ) + + + description = """ + # OpenVoice accelerated by OpenVINO: + + a versatile instant voice cloning approach that requires only a short audio clip from the reference speaker to replicate their voice and generate speech in multiple languages. OpenVoice enables granular control over voice styles, including emotion, accent, rhythm, pauses, and intonation, in addition to replicating the tone color of the reference speaker. OpenVoice also achieves zero-shot cross-lingual voice cloning for languages not included in the massive-speaker training set. + """ + + content = """ +
+ If the generated voice does not sound like the reference voice, please refer to this QnA. For multi-lingual & cross-lingual examples, please refer to this jupyter notebook. + This online demo mainly supports English. The default style also supports Chinese. But OpenVoice can adapt to any other language as long as a base speaker is provided. +
+ """ + wrapped_markdown_content = f"
{content}
" + + + examples = [ + [ + "今天天气真好,我们一起出去吃饭吧。", + "default", + "OpenVoice/resources/demo_speaker1.mp3", + True, + ], + [ + "This audio is generated by open voice with a half-performance model.", + "whispering", + "OpenVoice/resources/demo_speaker2.mp3", + True, + ], + [ + "He hoped there would be stew for dinner, turnips and carrots and bruised potatoes and fat mutton pieces to be ladled out in thick, peppered, flour-fattened sauce.", + "sad", + "OpenVoice/resources/demo_speaker0.mp3", + True, + ], + ] + + + def get_demo( + output_dir, + tone_color_converter, + en_tts_model, + zh_tts_model, + en_source_default_se, + en_source_style_se, + zh_source_se, + ): + with gr.Blocks(analytics_enabled=False) as demo: + with gr.Row(): + gr.Markdown(description) + with gr.Row(): + gr.HTML(wrapped_markdown_content) + + with gr.Row(): + with gr.Column(): + input_text_gr = gr.Textbox( + label="Text Prompt", + info="One or two sentences at a time is better. Up to 200 text characters.", + value="He hoped there would be stew for dinner, turnips and carrots and bruised potatoes and fat mutton pieces to be ladled out in thick, peppered, flour-fattened sauce.", + ) + style_gr = gr.Dropdown( + label="Style", + info="Select a style of output audio for the synthesised speech. (Chinese only support 'default' now)", + choices=[ + "default", + "whispering", + "cheerful", + "terrified", + "angry", + "sad", + "friendly", + ], + max_choices=1, + value="default", + ) + ref_gr = gr.Audio( + label="Reference Audio", + type="filepath", + value="OpenVoice/resources/demo_speaker2.mp3", + ) + tos_gr = gr.Checkbox( + label="Agree", + value=False, + info="I agree to the terms of the cc-by-nc-4.0 license-: https://github.com/myshell-ai/OpenVoice/blob/main/LICENSE", + ) + + tts_button = gr.Button("Send", elem_id="send-btn", visible=True) + + with gr.Column(): + out_text_gr = gr.Text(label="Info") + audio_orig_gr = gr.Audio(label="Synthesised Audio", autoplay=False) + audio_gr = gr.Audio(label="Audio with cloned voice", autoplay=True) + # ref_audio_gr = gr.Audio(label="Reference Audio Used") + predict = build_predict( + output_dir, + tone_color_converter, + en_tts_model, + zh_tts_model, + en_source_default_se, + en_source_style_se, + zh_source_se, + ) + + gr.Examples( + examples, + label="Examples", + inputs=[input_text_gr, style_gr, ref_gr, tos_gr], + outputs=[out_text_gr, audio_gr], + fn=predict, + cache_examples=False, + ) + tts_button.click( + predict, + [input_text_gr, style_gr, ref_gr, tos_gr], + outputs=[out_text_gr, audio_orig_gr, audio_gr], + ) + return demo + +.. code:: ipython3 + + demo = get_demo( + OUTPUT_DIR, + tone_color_converter, + en_base_speaker_tts, + zh_base_speaker_tts, + en_source_default_se, + en_source_style_se, + zh_source_se, + ) + demo.queue(max_size=2) + + try: + demo.launch(debug=False, height=1000) + except Exception: + demo.launch(share=True, debug=False, height=1000) + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # Read more in the docs: https://gradio.app/docs/ + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/gradio/components/dropdown.py:93: UserWarning: The `max_choices` parameter is ignored when `multiselect` is False. + warnings.warn( + + +.. parsed-literal:: + + Running on local URL: http://127.0.0.1:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + + +Cleanup +------- + + + +.. code:: ipython3 + + # import shutil + # shutil.rmtree(CKPT_BASE_PATH) + # shutil.rmtree(IRS_PATH) + # shutil.rmtree(OUTPUT_DIR) diff --git a/docs/notebooks/optical-character-recognition-with-output.rst b/docs/notebooks/optical-character-recognition-with-output.rst new file mode 100644 index 00000000000..bb91fd98644 --- /dev/null +++ b/docs/notebooks/optical-character-recognition-with-output.rst @@ -0,0 +1,23663 @@ +Optical Character Recognition (OCR) with OpenVINO™ +================================================== + +This tutorial demonstrates how to perform optical character recognition +(OCR) with OpenVINO models. It is a continuation of the +`hello-detection `__ tutorial, +which shows only text detection. + +The +`horizontal-text-detection-0001 `__ +and +`text-recognition-resnet `__ +models are used together for text detection and then text recognition. + +In this tutorial, Open Model Zoo tools including Model Downloader, Model +Converter and Info Dumper are used to download and convert the models +from `Open Model +Zoo `__. For more +information, refer to the +`model-tools `__ tutorial. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Imports <#imports>`__ +- `Settings <#settings>`__ +- `Download Models <#download-models>`__ +- `Convert Models <#convert-models>`__ +- `Select inference device <#select-inference-device>`__ +- `Object Detection <#object-detection>`__ + + - `Load a Detection Model <#load-a-detection-model>`__ + - `Load an Image <#load-an-image>`__ + - `Do Inference <#do-inference>`__ + - `Get Detection Results <#get-detection-results>`__ + +- `Text Recognition <#text-recognition>`__ + + - `Load Text Recognition Model <#load-text-recognition-model>`__ + - `Do Inference <#do-inference>`__ + +- `Show Results <#show-results>`__ + + - `Show Detected Text Boxes and OCR Results for the + Image <#show-detected-text-boxes-and-ocr-results-for-the-image>`__ + - `Show the OCR Result per Bounding + Box <#show-the-ocr-result-per-bounding-box>`__ + - `Print Annotations in Plain Text + Format <#print-annotations-in-plain-text-format>`__ + +.. code:: ipython3 + + import platform + + # Install openvino-dev package + %pip install -q "openvino-dev>=2024.0.0" onnx torch pillow opencv-python --extra-index-url https://download.pytorch.org/whl/cpu + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. + openvino-tokenizers 2024.2.0.0.dev20240416 requires openvino~=2024.2.0.0.dev, but you have openvino 2024.0.0 which is incompatible. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Imports +------- + + + +.. code:: ipython3 + + from pathlib import Path + + import cv2 + import matplotlib.pyplot as plt + import numpy as np + import openvino as ov + from IPython.display import Markdown, display + from PIL import Image + + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import load_image + +Settings +-------- + + + +.. code:: ipython3 + + core = ov.Core() + + model_dir = Path("model") + precision = "FP16" + detection_model = "horizontal-text-detection-0001" + recognition_model = "text-recognition-resnet-fc" + + model_dir.mkdir(exist_ok=True) + +Download Models +--------------- + + + +The next cells will run Model Downloader to download the detection and +recognition models. If the models have been downloaded before, they will +not be downloaded again. + +.. code:: ipython3 + + download_command = ( + f"omz_downloader --name {detection_model},{recognition_model} --output_dir {model_dir} --cache_dir {model_dir} --precision {precision} --num_attempts 5" + ) + display(Markdown(f"Download command: `{download_command}`")) + display(Markdown(f"Downloading {detection_model}, {recognition_model}...")) + !$download_command + display(Markdown(f"Finished downloading {detection_model}, {recognition_model}.")) + + detection_model_path = (model_dir / "intel/horizontal-text-detection-0001" / precision / detection_model).with_suffix(".xml") + recognition_model_path = (model_dir / "public/text-recognition-resnet-fc" / precision / recognition_model).with_suffix(".xml") + + + +Download command: +``omz_downloader --name horizontal-text-detection-0001,text-recognition-resnet-fc --output_dir model --cache_dir model --precision FP16 --num_attempts 5`` + + + +Downloading horizontal-text-detection-0001, text-recognition-resnet-fc… + + +.. parsed-literal:: + + ################|| Downloading horizontal-text-detection-0001 ||################ + + ========== Downloading model/intel/horizontal-text-detection-0001/FP16/horizontal-text-detection-0001.xml + + +.. parsed-literal:: + + ... 3%, 32 KB, 977 KB/s, 0 seconds passed +... 7%, 64 KB, 1012 KB/s, 0 seconds passed +... 11%, 96 KB, 1492 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 15%, 128 KB, 1350 KB/s, 0 seconds passed +... 19%, 160 KB, 1667 KB/s, 0 seconds passed +... 23%, 192 KB, 1967 KB/s, 0 seconds passed +... 27%, 224 KB, 2255 KB/s, 0 seconds passed +... 31%, 256 KB, 2515 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 35%, 288 KB, 2281 KB/s, 0 seconds passed +... 39%, 320 KB, 2524 KB/s, 0 seconds passed +... 43%, 352 KB, 2760 KB/s, 0 seconds passed +... 47%, 384 KB, 3000 KB/s, 0 seconds passed +... 51%, 416 KB, 3239 KB/s, 0 seconds passed +... 54%, 448 KB, 3477 KB/s, 0 seconds passed +... 58%, 480 KB, 3704 KB/s, 0 seconds passed +... 62%, 512 KB, 3938 KB/s, 0 seconds passed +... 66%, 544 KB, 4073 KB/s, 0 seconds passed +... 70%, 576 KB, 4292 KB/s, 0 seconds passed +... 74%, 608 KB, 3784 KB/s, 0 seconds passed +... 78%, 640 KB, 3969 KB/s, 0 seconds passed +... 82%, 672 KB, 4156 KB/s, 0 seconds passed +... 86%, 704 KB, 4342 KB/s, 0 seconds passed +... 90%, 736 KB, 4529 KB/s, 0 seconds passed +... 94%, 768 KB, 4717 KB/s, 0 seconds passed +... 98%, 800 KB, 4904 KB/s, 0 seconds passed +... 100%, 815 KB, 4986 KB/s, 0 seconds passed + + + ========== Downloading model/intel/horizontal-text-detection-0001/FP16/horizontal-text-detection-0001.bin + + +.. parsed-literal:: + + ... 0%, 32 KB, 970 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 1%, 64 KB, 966 KB/s, 0 seconds passed +... 2%, 96 KB, 1434 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 3%, 128 KB, 1267 KB/s, 0 seconds passed +... 4%, 160 KB, 1574 KB/s, 0 seconds passed +... 5%, 192 KB, 1880 KB/s, 0 seconds passed +... 5%, 224 KB, 2186 KB/s, 0 seconds passed +... 6%, 256 KB, 2490 KB/s, 0 seconds passed +... 7%, 288 KB, 2156 KB/s, 0 seconds passed +... 8%, 320 KB, 2385 KB/s, 0 seconds passed +... 9%, 352 KB, 2614 KB/s, 0 seconds passed +... 10%, 384 KB, 2842 KB/s, 0 seconds passed +... 10%, 416 KB, 3069 KB/s, 0 seconds passed +... 11%, 448 KB, 3295 KB/s, 0 seconds passed +... 12%, 480 KB, 3523 KB/s, 0 seconds passed +... 13%, 512 KB, 3747 KB/s, 0 seconds passed +... 14%, 544 KB, 3971 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 15%, 576 KB, 3458 KB/s, 0 seconds passed +... 16%, 608 KB, 3638 KB/s, 0 seconds passed +... 16%, 640 KB, 3819 KB/s, 0 seconds passed +... 17%, 672 KB, 4000 KB/s, 0 seconds passed +... 18%, 704 KB, 4179 KB/s, 0 seconds passed +... 19%, 736 KB, 4358 KB/s, 0 seconds passed +... 20%, 768 KB, 4537 KB/s, 0 seconds passed +... 21%, 800 KB, 4714 KB/s, 0 seconds passed +... 21%, 832 KB, 4892 KB/s, 0 seconds passed +... 22%, 864 KB, 5068 KB/s, 0 seconds passed +... 23%, 896 KB, 5244 KB/s, 0 seconds passed +... 24%, 928 KB, 5418 KB/s, 0 seconds passed +... 25%, 960 KB, 5593 KB/s, 0 seconds passed +... 26%, 992 KB, 5769 KB/s, 0 seconds passed +... 27%, 1024 KB, 5945 KB/s, 0 seconds passed +... 27%, 1056 KB, 6119 KB/s, 0 seconds passed +... 28%, 1088 KB, 6294 KB/s, 0 seconds passed +... 29%, 1120 KB, 6468 KB/s, 0 seconds passed +... 30%, 1152 KB, 6641 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 31%, 1184 KB, 5912 KB/s, 0 seconds passed +... 32%, 1216 KB, 6056 KB/s, 0 seconds passed +... 32%, 1248 KB, 6201 KB/s, 0 seconds passed +... 33%, 1280 KB, 6348 KB/s, 0 seconds passed +... 34%, 1312 KB, 6493 KB/s, 0 seconds passed +... 35%, 1344 KB, 6638 KB/s, 0 seconds passed +... 36%, 1376 KB, 6784 KB/s, 0 seconds passed +... 37%, 1408 KB, 6929 KB/s, 0 seconds passed +... 38%, 1440 KB, 7073 KB/s, 0 seconds passed +... 38%, 1472 KB, 7216 KB/s, 0 seconds passed +... 39%, 1504 KB, 7359 KB/s, 0 seconds passed +... 40%, 1536 KB, 7500 KB/s, 0 seconds passed +... 41%, 1568 KB, 7642 KB/s, 0 seconds passed +... 42%, 1600 KB, 7784 KB/s, 0 seconds passed +... 43%, 1632 KB, 7925 KB/s, 0 seconds passed +... 43%, 1664 KB, 8067 KB/s, 0 seconds passed +... 44%, 1696 KB, 8207 KB/s, 0 seconds passed +... 45%, 1728 KB, 8347 KB/s, 0 seconds passed +... 46%, 1760 KB, 8485 KB/s, 0 seconds passed +... 47%, 1792 KB, 8624 KB/s, 0 seconds passed +... 48%, 1824 KB, 8761 KB/s, 0 seconds passed +... 49%, 1856 KB, 8898 KB/s, 0 seconds passed +... 49%, 1888 KB, 9035 KB/s, 0 seconds passed +... 50%, 1920 KB, 9171 KB/s, 0 seconds passed +... 51%, 1952 KB, 9306 KB/s, 0 seconds passed +... 52%, 1984 KB, 9442 KB/s, 0 seconds passed +... 53%, 2016 KB, 9576 KB/s, 0 seconds passed +... 54%, 2048 KB, 9711 KB/s, 0 seconds passed +... 54%, 2080 KB, 9850 KB/s, 0 seconds passed +... 55%, 2112 KB, 9989 KB/s, 0 seconds passed +... 56%, 2144 KB, 10129 KB/s, 0 seconds passed +... 57%, 2176 KB, 10270 KB/s, 0 seconds passed +... 58%, 2208 KB, 10411 KB/s, 0 seconds passed +... 59%, 2240 KB, 10552 KB/s, 0 seconds passed +... 60%, 2272 KB, 10692 KB/s, 0 seconds passed +... 60%, 2304 KB, 10833 KB/s, 0 seconds passed +... 61%, 2336 KB, 10031 KB/s, 0 seconds passed +... 62%, 2368 KB, 10148 KB/s, 0 seconds passed +... 63%, 2400 KB, 10010 KB/s, 0 seconds passed +... 64%, 2432 KB, 10119 KB/s, 0 seconds passed +... 65%, 2464 KB, 10233 KB/s, 0 seconds passed +... 65%, 2496 KB, 10349 KB/s, 0 seconds passed +... 66%, 2528 KB, 10465 KB/s, 0 seconds passed +... 67%, 2560 KB, 10581 KB/s, 0 seconds passed +... 68%, 2592 KB, 10697 KB/s, 0 seconds passed +... 69%, 2624 KB, 10812 KB/s, 0 seconds passed +... 70%, 2656 KB, 10927 KB/s, 0 seconds passed +... 70%, 2688 KB, 11041 KB/s, 0 seconds passed +... 71%, 2720 KB, 11155 KB/s, 0 seconds passed +... 72%, 2752 KB, 11268 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 73%, 2784 KB, 11379 KB/s, 0 seconds passed +... 74%, 2816 KB, 11492 KB/s, 0 seconds passed +... 75%, 2848 KB, 11605 KB/s, 0 seconds passed +... 76%, 2880 KB, 11717 KB/s, 0 seconds passed +... 76%, 2912 KB, 11829 KB/s, 0 seconds passed +... 77%, 2944 KB, 11941 KB/s, 0 seconds passed +... 78%, 2976 KB, 12051 KB/s, 0 seconds passed +... 79%, 3008 KB, 12163 KB/s, 0 seconds passed +... 80%, 3040 KB, 12273 KB/s, 0 seconds passed +... 81%, 3072 KB, 12384 KB/s, 0 seconds passed +... 81%, 3104 KB, 12494 KB/s, 0 seconds passed +... 82%, 3136 KB, 12602 KB/s, 0 seconds passed +... 83%, 3168 KB, 12712 KB/s, 0 seconds passed +... 84%, 3200 KB, 12820 KB/s, 0 seconds passed +... 85%, 3232 KB, 12928 KB/s, 0 seconds passed +... 86%, 3264 KB, 13036 KB/s, 0 seconds passed +... 87%, 3296 KB, 13145 KB/s, 0 seconds passed +... 87%, 3328 KB, 13253 KB/s, 0 seconds passed +... 88%, 3360 KB, 13368 KB/s, 0 seconds passed +... 89%, 3392 KB, 13482 KB/s, 0 seconds passed +... 90%, 3424 KB, 13596 KB/s, 0 seconds passed +... 91%, 3456 KB, 13709 KB/s, 0 seconds passed +... 92%, 3488 KB, 13824 KB/s, 0 seconds passed +... 92%, 3520 KB, 13939 KB/s, 0 seconds passed +... 93%, 3552 KB, 14055 KB/s, 0 seconds passed +... 94%, 3584 KB, 14171 KB/s, 0 seconds passed +... 95%, 3616 KB, 14286 KB/s, 0 seconds passed +... 96%, 3648 KB, 14401 KB/s, 0 seconds passed +... 97%, 3680 KB, 14516 KB/s, 0 seconds passed +... 98%, 3712 KB, 14631 KB/s, 0 seconds passed +... 98%, 3744 KB, 14744 KB/s, 0 seconds passed +... 99%, 3776 KB, 14859 KB/s, 0 seconds passed +... 100%, 3786 KB, 14886 KB/s, 0 seconds passed + + + ################|| Downloading text-recognition-resnet-fc ||################ + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 309 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 692 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/model.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 2779 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/weight_init.py + + +.. parsed-literal:: + + ... 100%, 3 KB, 13587 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 277 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 914 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 855 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/fc_head.py + + +.. parsed-literal:: + + ... 100%, 1 KB, 7239 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/heads/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 260 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1434 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1467 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 410 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/body.py + + +.. parsed-literal:: + + ... 100%, 1 KB, 5073 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/component.py + + +.. parsed-literal:: + + ... 100%, 1 KB, 5198 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 582 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1716 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 648 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 763 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 2412 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 452 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 890 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 291 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 747 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/bricks.py + + +.. parsed-literal:: + + ... 100%, 6 KB, 22379 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1443 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 309 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 585 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1965 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 409 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 858 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 304 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/resnet.py + + +.. parsed-literal:: + + ... 100%, 8 KB, 27456 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 341 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1071 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 384 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 996 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/builder.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1503 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/conv_module.py + + +.. parsed-literal:: + + ... 100%, 7 KB, 21875 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/fc_module.py + + +.. parsed-literal:: + + ... 100%, 2 KB, 10623 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/norm.py + + +.. parsed-literal:: + + ... 100%, 1 KB, 6890 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/models/utils/registry.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 270 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1188 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/common.py + + +.. parsed-literal:: + + ... 100%, 3 KB, 12197 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/registry.py + + +.. parsed-literal:: + + ... 100%, 1 KB, 4685 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/utils/config.py + + +.. parsed-literal:: + + ... 100%, 5 KB, 17370 KB/s, 0 seconds passed + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/configs/resnet_fc.py + + +.. parsed-literal:: + + ... 100%, 8 KB, 25990 KB/s, 0 seconds passed + + + + +.. parsed-literal:: + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/ckpt/resnet_fc.pth + + +.. parsed-literal:: + + ... 0%, 32 KB, 695 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 64 KB, 653 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 96 KB, 672 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 128 KB, 682 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 160 KB, 761 KB/s, 0 seconds passed +... 0%, 192 KB, 911 KB/s, 0 seconds passed +... 0%, 224 KB, 1060 KB/s, 0 seconds passed +... 0%, 256 KB, 1209 KB/s, 0 seconds passed +... 0%, 288 KB, 1358 KB/s, 0 seconds passed +... 0%, 320 KB, 1506 KB/s, 0 seconds passed +... 0%, 352 KB, 1654 KB/s, 0 seconds passed +... 0%, 384 KB, 1800 KB/s, 0 seconds passed +... 0%, 416 KB, 1947 KB/s, 0 seconds passed +... 0%, 448 KB, 2093 KB/s, 0 seconds passed +... 0%, 480 KB, 2238 KB/s, 0 seconds passed +... 0%, 512 KB, 2383 KB/s, 0 seconds passed +... 0%, 544 KB, 2527 KB/s, 0 seconds passed +... 0%, 576 KB, 2671 KB/s, 0 seconds passed +... 0%, 608 KB, 2814 KB/s, 0 seconds passed +... 0%, 640 KB, 2957 KB/s, 0 seconds passed +... 0%, 672 KB, 3099 KB/s, 0 seconds passed +... 0%, 704 KB, 3240 KB/s, 0 seconds passed +... 0%, 736 KB, 3381 KB/s, 0 seconds passed +... 0%, 768 KB, 3522 KB/s, 0 seconds passed +... 0%, 800 KB, 3662 KB/s, 0 seconds passed +... 0%, 832 KB, 3802 KB/s, 0 seconds passed +... 0%, 864 KB, 3941 KB/s, 0 seconds passed +... 0%, 896 KB, 4080 KB/s, 0 seconds passed +... 0%, 928 KB, 4218 KB/s, 0 seconds passed +... 0%, 960 KB, 4356 KB/s, 0 seconds passed +... 0%, 992 KB, 4493 KB/s, 0 seconds passed +... 0%, 1024 KB, 4630 KB/s, 0 seconds passed +... 0%, 1056 KB, 4766 KB/s, 0 seconds passed +... 0%, 1088 KB, 4902 KB/s, 0 seconds passed +... 0%, 1120 KB, 5038 KB/s, 0 seconds passed +... 0%, 1152 KB, 5174 KB/s, 0 seconds passed +... 0%, 1184 KB, 5309 KB/s, 0 seconds passed +... 0%, 1216 KB, 5446 KB/s, 0 seconds passed +... 0%, 1248 KB, 5583 KB/s, 0 seconds passed +... 0%, 1280 KB, 5719 KB/s, 0 seconds passed +... 0%, 1312 KB, 5856 KB/s, 0 seconds passed +... 0%, 1344 KB, 5991 KB/s, 0 seconds passed +... 0%, 1376 KB, 6127 KB/s, 0 seconds passed +... 0%, 1408 KB, 6263 KB/s, 0 seconds passed +... 0%, 1440 KB, 6398 KB/s, 0 seconds passed +... 0%, 1472 KB, 6533 KB/s, 0 seconds passed +... 0%, 1504 KB, 6667 KB/s, 0 seconds passed +... 0%, 1536 KB, 6801 KB/s, 0 seconds passed +... 0%, 1568 KB, 6935 KB/s, 0 seconds passed +... 0%, 1600 KB, 7069 KB/s, 0 seconds passed +... 0%, 1632 KB, 7203 KB/s, 0 seconds passed +... 0%, 1664 KB, 7335 KB/s, 0 seconds passed +... 0%, 1696 KB, 7468 KB/s, 0 seconds passed +... 0%, 1728 KB, 7600 KB/s, 0 seconds passed +... 0%, 1760 KB, 7733 KB/s, 0 seconds passed +... 0%, 1792 KB, 7866 KB/s, 0 seconds passed +... 0%, 1824 KB, 7998 KB/s, 0 seconds passed +... 0%, 1856 KB, 8129 KB/s, 0 seconds passed +... 0%, 1888 KB, 8260 KB/s, 0 seconds passed +... 0%, 1920 KB, 8391 KB/s, 0 seconds passed +... 0%, 1952 KB, 8521 KB/s, 0 seconds passed +... 0%, 1984 KB, 8652 KB/s, 0 seconds passed +... 0%, 2016 KB, 8782 KB/s, 0 seconds passed +... 0%, 2048 KB, 8913 KB/s, 0 seconds passed +... 0%, 2080 KB, 9043 KB/s, 0 seconds passed +... 0%, 2112 KB, 9172 KB/s, 0 seconds passed +... 0%, 2144 KB, 9301 KB/s, 0 seconds passed +... 0%, 2176 KB, 9429 KB/s, 0 seconds passed +... 0%, 2208 KB, 9558 KB/s, 0 seconds passed +... 0%, 2240 KB, 9685 KB/s, 0 seconds passed +... 0%, 2272 KB, 9813 KB/s, 0 seconds passed +... 0%, 2304 KB, 9941 KB/s, 0 seconds passed +... 0%, 2336 KB, 10069 KB/s, 0 seconds passed +... 0%, 2368 KB, 10196 KB/s, 0 seconds passed +... 0%, 2400 KB, 10324 KB/s, 0 seconds passed +... 0%, 2432 KB, 10450 KB/s, 0 seconds passed +... 0%, 2464 KB, 10579 KB/s, 0 seconds passed +... 0%, 2496 KB, 10709 KB/s, 0 seconds passed +... 0%, 2528 KB, 10838 KB/s, 0 seconds passed +... 0%, 2560 KB, 10967 KB/s, 0 seconds passed +... 0%, 2592 KB, 11097 KB/s, 0 seconds passed +... 0%, 2624 KB, 11226 KB/s, 0 seconds passed +... 0%, 2656 KB, 11354 KB/s, 0 seconds passed +... 0%, 2688 KB, 11482 KB/s, 0 seconds passed +... 0%, 2720 KB, 11610 KB/s, 0 seconds passed +... 0%, 2752 KB, 11739 KB/s, 0 seconds passed +... 0%, 2784 KB, 11867 KB/s, 0 seconds passed +... 0%, 2816 KB, 11995 KB/s, 0 seconds passed +... 0%, 2848 KB, 12123 KB/s, 0 seconds passed +... 0%, 2880 KB, 12251 KB/s, 0 seconds passed +... 0%, 2912 KB, 12378 KB/s, 0 seconds passed +... 0%, 2944 KB, 12504 KB/s, 0 seconds passed +... 0%, 2976 KB, 12631 KB/s, 0 seconds passed +... 0%, 3008 KB, 12758 KB/s, 0 seconds passed +... 0%, 3040 KB, 12885 KB/s, 0 seconds passed +... 0%, 3072 KB, 13011 KB/s, 0 seconds passed +... 0%, 3104 KB, 13138 KB/s, 0 seconds passed +... 0%, 3136 KB, 13264 KB/s, 0 seconds passed +... 0%, 3168 KB, 13384 KB/s, 0 seconds passed +... 0%, 3200 KB, 13504 KB/s, 0 seconds passed +... 0%, 3232 KB, 13624 KB/s, 0 seconds passed +... 0%, 3264 KB, 13741 KB/s, 0 seconds passed +... 0%, 3296 KB, 13860 KB/s, 0 seconds passed +... 0%, 3328 KB, 13980 KB/s, 0 seconds passed +... 0%, 3360 KB, 14098 KB/s, 0 seconds passed +... 0%, 3392 KB, 14217 KB/s, 0 seconds passed +... 0%, 3424 KB, 14332 KB/s, 0 seconds passed +... 0%, 3456 KB, 14455 KB/s, 0 seconds passed +... 0%, 3488 KB, 14575 KB/s, 0 seconds passed +... 0%, 3520 KB, 14689 KB/s, 0 seconds passed +... 0%, 3552 KB, 14806 KB/s, 0 seconds passed +... 0%, 3584 KB, 14923 KB/s, 0 seconds passed +... 0%, 3616 KB, 15037 KB/s, 0 seconds passed +... 0%, 3648 KB, 15143 KB/s, 0 seconds passed +... 0%, 3680 KB, 15249 KB/s, 0 seconds passed +... 0%, 3712 KB, 15362 KB/s, 0 seconds passed +... 0%, 3744 KB, 15484 KB/s, 0 seconds passed +... 0%, 3776 KB, 15606 KB/s, 0 seconds passed +... 0%, 3808 KB, 15718 KB/s, 0 seconds passed +... 0%, 3840 KB, 15833 KB/s, 0 seconds passed +... 0%, 3872 KB, 15947 KB/s, 0 seconds passed +... 0%, 3904 KB, 16061 KB/s, 0 seconds passed +... 0%, 3936 KB, 16171 KB/s, 0 seconds passed +... 0%, 3968 KB, 16286 KB/s, 0 seconds passed +... 0%, 4000 KB, 16400 KB/s, 0 seconds passed +... 0%, 4032 KB, 16509 KB/s, 0 seconds passed +... 0%, 4064 KB, 16623 KB/s, 0 seconds passed +... 0%, 4096 KB, 16736 KB/s, 0 seconds passed +... 0%, 4128 KB, 16845 KB/s, 0 seconds passed +... 0%, 4160 KB, 16958 KB/s, 0 seconds passed +... 0%, 4192 KB, 17067 KB/s, 0 seconds passed +... 0%, 4224 KB, 17179 KB/s, 0 seconds passed +... 0%, 4256 KB, 17291 KB/s, 0 seconds passed +... 0%, 4288 KB, 17398 KB/s, 0 seconds passed +... 0%, 4320 KB, 17509 KB/s, 0 seconds passed +... 0%, 4352 KB, 17616 KB/s, 0 seconds passed +... 0%, 4384 KB, 17728 KB/s, 0 seconds passed +... 0%, 4416 KB, 17839 KB/s, 0 seconds passed +... 0%, 4448 KB, 17949 KB/s, 0 seconds passed +... 0%, 4480 KB, 18059 KB/s, 0 seconds passed +... 0%, 4512 KB, 18176 KB/s, 0 seconds passed +... 0%, 4544 KB, 18271 KB/s, 0 seconds passed +... 0%, 4576 KB, 18371 KB/s, 0 seconds passed +... 0%, 4608 KB, 18467 KB/s, 0 seconds passed +... 0%, 4640 KB, 18580 KB/s, 0 seconds passed +... 0%, 4672 KB, 18698 KB/s, 0 seconds passed +... 0%, 4704 KB, 18813 KB/s, 0 seconds passed +... 0%, 4736 KB, 18918 KB/s, 0 seconds passed +... 0%, 4768 KB, 19026 KB/s, 0 seconds passed +... 0%, 4800 KB, 19141 KB/s, 0 seconds passed +... 0%, 4832 KB, 19231 KB/s, 0 seconds passed +... 0%, 4864 KB, 19333 KB/s, 0 seconds passed +... 0%, 4896 KB, 19451 KB/s, 0 seconds passed +... 0%, 4928 KB, 19564 KB/s, 0 seconds passed +... 0%, 4960 KB, 19670 KB/s, 0 seconds passed +... 0%, 4992 KB, 19773 KB/s, 0 seconds passed +... 0%, 5024 KB, 19878 KB/s, 0 seconds passed +... 0%, 5056 KB, 19968 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 5088 KB, 20064 KB/s, 0 seconds passed +... 0%, 5120 KB, 20160 KB/s, 0 seconds passed +... 0%, 5152 KB, 20256 KB/s, 0 seconds passed +... 0%, 5184 KB, 20352 KB/s, 0 seconds passed +... 0%, 5216 KB, 20449 KB/s, 0 seconds passed +... 0%, 5248 KB, 20545 KB/s, 0 seconds passed +... 0%, 5280 KB, 20640 KB/s, 0 seconds passed +... 0%, 5312 KB, 20734 KB/s, 0 seconds passed +... 0%, 5344 KB, 20830 KB/s, 0 seconds passed +... 0%, 5376 KB, 20924 KB/s, 0 seconds passed +... 0%, 5408 KB, 21017 KB/s, 0 seconds passed +... 0%, 5440 KB, 21113 KB/s, 0 seconds passed +... 0%, 5472 KB, 21206 KB/s, 0 seconds passed +... 0%, 5504 KB, 21298 KB/s, 0 seconds passed +... 0%, 5536 KB, 21392 KB/s, 0 seconds passed +... 0%, 5568 KB, 21484 KB/s, 0 seconds passed +... 0%, 5600 KB, 21575 KB/s, 0 seconds passed +... 0%, 5632 KB, 21666 KB/s, 0 seconds passed +... 0%, 5664 KB, 21759 KB/s, 0 seconds passed +... 0%, 5696 KB, 21852 KB/s, 0 seconds passed +... 0%, 5728 KB, 21943 KB/s, 0 seconds passed +... 0%, 5760 KB, 22035 KB/s, 0 seconds passed +... 0%, 5792 KB, 22126 KB/s, 0 seconds passed +... 0%, 5824 KB, 22217 KB/s, 0 seconds passed +... 0%, 5856 KB, 22308 KB/s, 0 seconds passed +... 0%, 5888 KB, 22400 KB/s, 0 seconds passed +... 0%, 5920 KB, 22502 KB/s, 0 seconds passed +... 0%, 5952 KB, 22606 KB/s, 0 seconds passed +... 0%, 5984 KB, 22711 KB/s, 0 seconds passed +... 0%, 6016 KB, 22815 KB/s, 0 seconds passed +... 0%, 6048 KB, 22920 KB/s, 0 seconds passed +... 0%, 6080 KB, 23024 KB/s, 0 seconds passed +... 0%, 6112 KB, 23127 KB/s, 0 seconds passed +... 0%, 6144 KB, 23231 KB/s, 0 seconds passed +... 0%, 6176 KB, 23267 KB/s, 0 seconds passed +... 0%, 6208 KB, 23362 KB/s, 0 seconds passed +... 0%, 6240 KB, 23460 KB/s, 0 seconds passed +... 0%, 6272 KB, 23559 KB/s, 0 seconds passed +... 0%, 6304 KB, 23648 KB/s, 0 seconds passed +... 0%, 6336 KB, 23744 KB/s, 0 seconds passed +... 0%, 6368 KB, 23838 KB/s, 0 seconds passed +... 0%, 6400 KB, 23936 KB/s, 0 seconds passed +... 0%, 6432 KB, 24033 KB/s, 0 seconds passed +... 0%, 6464 KB, 24124 KB/s, 0 seconds passed +... 0%, 6496 KB, 24221 KB/s, 0 seconds passed +... 0%, 6528 KB, 24319 KB/s, 0 seconds passed +... 0%, 6560 KB, 24416 KB/s, 0 seconds passed +... 0%, 6592 KB, 24512 KB/s, 0 seconds passed +... 0%, 6624 KB, 24604 KB/s, 0 seconds passed +... 0%, 6656 KB, 24699 KB/s, 0 seconds passed +... 0%, 6688 KB, 24793 KB/s, 0 seconds passed +... 0%, 6720 KB, 24883 KB/s, 0 seconds passed +... 0%, 6752 KB, 24977 KB/s, 0 seconds passed +... 0%, 6784 KB, 25070 KB/s, 0 seconds passed +... 0%, 6816 KB, 25164 KB/s, 0 seconds passed +... 0%, 6848 KB, 25252 KB/s, 0 seconds passed +... 0%, 6880 KB, 25336 KB/s, 0 seconds passed +... 0%, 6912 KB, 25429 KB/s, 0 seconds passed +... 0%, 6944 KB, 25517 KB/s, 0 seconds passed +... 1%, 6976 KB, 25610 KB/s, 0 seconds passed +... 1%, 7008 KB, 25702 KB/s, 0 seconds passed +... 1%, 7040 KB, 25790 KB/s, 0 seconds passed +... 1%, 7072 KB, 25881 KB/s, 0 seconds passed +... 1%, 7104 KB, 25975 KB/s, 0 seconds passed +... 1%, 7136 KB, 26065 KB/s, 0 seconds passed +... 1%, 7168 KB, 26159 KB/s, 0 seconds passed +... 1%, 7200 KB, 26251 KB/s, 0 seconds passed +... 1%, 7232 KB, 26342 KB/s, 0 seconds passed +... 1%, 7264 KB, 26424 KB/s, 0 seconds passed +... 1%, 7296 KB, 26499 KB/s, 0 seconds passed +... 1%, 7328 KB, 26592 KB/s, 0 seconds passed +... 1%, 7360 KB, 26692 KB/s, 0 seconds passed +... 1%, 7392 KB, 26789 KB/s, 0 seconds passed +... 1%, 7424 KB, 26880 KB/s, 0 seconds passed +... 1%, 7456 KB, 26970 KB/s, 0 seconds passed +... 1%, 7488 KB, 27039 KB/s, 0 seconds passed +... 1%, 7520 KB, 27113 KB/s, 0 seconds passed +... 1%, 7552 KB, 27205 KB/s, 0 seconds passed +... 1%, 7584 KB, 27303 KB/s, 0 seconds passed +... 1%, 7616 KB, 27399 KB/s, 0 seconds passed +... 1%, 7648 KB, 27488 KB/s, 0 seconds passed +... 1%, 7680 KB, 27578 KB/s, 0 seconds passed +... 1%, 7712 KB, 27666 KB/s, 0 seconds passed +... 1%, 7744 KB, 27755 KB/s, 0 seconds passed +... 1%, 7776 KB, 27838 KB/s, 0 seconds passed +... 1%, 7808 KB, 27926 KB/s, 0 seconds passed +... 1%, 7840 KB, 28015 KB/s, 0 seconds passed +... 1%, 7872 KB, 28103 KB/s, 0 seconds passed +... 1%, 7904 KB, 28190 KB/s, 0 seconds passed +... 1%, 7936 KB, 28273 KB/s, 0 seconds passed +... 1%, 7968 KB, 28360 KB/s, 0 seconds passed +... 1%, 8000 KB, 28447 KB/s, 0 seconds passed +... 1%, 8032 KB, 28535 KB/s, 0 seconds passed +... 1%, 8064 KB, 28622 KB/s, 0 seconds passed +... 1%, 8096 KB, 28703 KB/s, 0 seconds passed +... 1%, 8128 KB, 28773 KB/s, 0 seconds passed +... 1%, 8160 KB, 28845 KB/s, 0 seconds passed +... 1%, 8192 KB, 28915 KB/s, 0 seconds passed +... 1%, 8224 KB, 28993 KB/s, 0 seconds passed +... 1%, 8256 KB, 29074 KB/s, 0 seconds passed +... 1%, 8288 KB, 29155 KB/s, 0 seconds passed +... 1%, 8320 KB, 29236 KB/s, 0 seconds passed +... 1%, 8352 KB, 29316 KB/s, 0 seconds passed +... 1%, 8384 KB, 29395 KB/s, 0 seconds passed +... 1%, 8416 KB, 29475 KB/s, 0 seconds passed +... 1%, 8448 KB, 29555 KB/s, 0 seconds passed +... 1%, 8480 KB, 29634 KB/s, 0 seconds passed +... 1%, 8512 KB, 29713 KB/s, 0 seconds passed +... 1%, 8544 KB, 29794 KB/s, 0 seconds passed +... 1%, 8576 KB, 29871 KB/s, 0 seconds passed +... 1%, 8608 KB, 29949 KB/s, 0 seconds passed +... 1%, 8640 KB, 30027 KB/s, 0 seconds passed +... 1%, 8672 KB, 30107 KB/s, 0 seconds passed +... 1%, 8704 KB, 30186 KB/s, 0 seconds passed +... 1%, 8736 KB, 30262 KB/s, 0 seconds passed +... 1%, 8768 KB, 30340 KB/s, 0 seconds passed +... 1%, 8800 KB, 30419 KB/s, 0 seconds passed +... 1%, 8832 KB, 30497 KB/s, 0 seconds passed +... 1%, 8864 KB, 30575 KB/s, 0 seconds passed +... 1%, 8896 KB, 30651 KB/s, 0 seconds passed +... 1%, 8928 KB, 30730 KB/s, 0 seconds passed +... 1%, 8960 KB, 30808 KB/s, 0 seconds passed +... 1%, 8992 KB, 30883 KB/s, 0 seconds passed +... 1%, 9024 KB, 30960 KB/s, 0 seconds passed +... 1%, 9056 KB, 31034 KB/s, 0 seconds passed +... 1%, 9088 KB, 31112 KB/s, 0 seconds passed +... 1%, 9120 KB, 31194 KB/s, 0 seconds passed +... 1%, 9152 KB, 31277 KB/s, 0 seconds passed +... 1%, 9184 KB, 31356 KB/s, 0 seconds passed +... 1%, 9216 KB, 31434 KB/s, 0 seconds passed +... 1%, 9248 KB, 31510 KB/s, 0 seconds passed +... 1%, 9280 KB, 31586 KB/s, 0 seconds passed +... 1%, 9312 KB, 31673 KB/s, 0 seconds passed +... 1%, 9344 KB, 31762 KB/s, 0 seconds passed +... 1%, 9376 KB, 31848 KB/s, 0 seconds passed +... 1%, 9408 KB, 31932 KB/s, 0 seconds passed +... 1%, 9440 KB, 32019 KB/s, 0 seconds passed +... 1%, 9472 KB, 32106 KB/s, 0 seconds passed +... 1%, 9504 KB, 32191 KB/s, 0 seconds passed +... 1%, 9536 KB, 32277 KB/s, 0 seconds passed +... 1%, 9568 KB, 32356 KB/s, 0 seconds passed +... 1%, 9600 KB, 32435 KB/s, 0 seconds passed +... 1%, 9632 KB, 32509 KB/s, 0 seconds passed +... 1%, 9664 KB, 32576 KB/s, 0 seconds passed +... 1%, 9696 KB, 32655 KB/s, 0 seconds passed +... 1%, 9728 KB, 32728 KB/s, 0 seconds passed +... 1%, 9760 KB, 32807 KB/s, 0 seconds passed +... 1%, 9792 KB, 32885 KB/s, 0 seconds passed +... 1%, 9824 KB, 32958 KB/s, 0 seconds passed +... 1%, 9856 KB, 33036 KB/s, 0 seconds passed +... 1%, 9888 KB, 33114 KB/s, 0 seconds passed +... 1%, 9920 KB, 33186 KB/s, 0 seconds passed +... 1%, 9952 KB, 33264 KB/s, 0 seconds passed +... 1%, 9984 KB, 33335 KB/s, 0 seconds passed +... 1%, 10016 KB, 33413 KB/s, 0 seconds passed +... 1%, 10048 KB, 33491 KB/s, 0 seconds passed +... 1%, 10080 KB, 33568 KB/s, 0 seconds passed +... 1%, 10112 KB, 33639 KB/s, 0 seconds passed +... 1%, 10144 KB, 33716 KB/s, 0 seconds passed +... 1%, 10176 KB, 33793 KB/s, 0 seconds passed +... 1%, 10208 KB, 33870 KB/s, 0 seconds passed +... 1%, 10240 KB, 33940 KB/s, 0 seconds passed +... 1%, 10272 KB, 34016 KB/s, 0 seconds passed +... 1%, 10304 KB, 34093 KB/s, 0 seconds passed +... 1%, 10336 KB, 34163 KB/s, 0 seconds passed +... 1%, 10368 KB, 34239 KB/s, 0 seconds passed +... 1%, 10400 KB, 34314 KB/s, 0 seconds passed +... 1%, 10432 KB, 34390 KB/s, 0 seconds passed +... 1%, 10464 KB, 34460 KB/s, 0 seconds passed +... 1%, 10496 KB, 34537 KB/s, 0 seconds passed +... 1%, 10528 KB, 34612 KB/s, 0 seconds passed +... 1%, 10560 KB, 34681 KB/s, 0 seconds passed +... 1%, 10592 KB, 34757 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 1%, 10624 KB, 34843 KB/s, 0 seconds passed +... 1%, 10656 KB, 34901 KB/s, 0 seconds passed +... 1%, 10688 KB, 34976 KB/s, 0 seconds passed +... 1%, 10720 KB, 35044 KB/s, 0 seconds passed +... 1%, 10752 KB, 35119 KB/s, 0 seconds passed +... 1%, 10784 KB, 35193 KB/s, 0 seconds passed +... 1%, 10816 KB, 35261 KB/s, 0 seconds passed +... 1%, 10848 KB, 35335 KB/s, 0 seconds passed +... 1%, 10880 KB, 35410 KB/s, 0 seconds passed +... 1%, 10912 KB, 35484 KB/s, 0 seconds passed +... 1%, 10944 KB, 35552 KB/s, 0 seconds passed +... 1%, 10976 KB, 35625 KB/s, 0 seconds passed +... 1%, 11008 KB, 35693 KB/s, 0 seconds passed +... 1%, 11040 KB, 35767 KB/s, 0 seconds passed +... 1%, 11072 KB, 35840 KB/s, 0 seconds passed +... 1%, 11104 KB, 35913 KB/s, 0 seconds passed +... 1%, 11136 KB, 35980 KB/s, 0 seconds passed +... 1%, 11168 KB, 36053 KB/s, 0 seconds passed +... 1%, 11200 KB, 36119 KB/s, 0 seconds passed +... 1%, 11232 KB, 36192 KB/s, 0 seconds passed +... 1%, 11264 KB, 36265 KB/s, 0 seconds passed +... 1%, 11296 KB, 36331 KB/s, 0 seconds passed +... 1%, 11328 KB, 36403 KB/s, 0 seconds passed +... 1%, 11360 KB, 36487 KB/s, 0 seconds passed +... 1%, 11392 KB, 36560 KB/s, 0 seconds passed +... 1%, 11424 KB, 36619 KB/s, 0 seconds passed +... 1%, 11456 KB, 36672 KB/s, 0 seconds passed +... 1%, 11488 KB, 36741 KB/s, 0 seconds passed +... 1%, 11520 KB, 36825 KB/s, 0 seconds passed +... 1%, 11552 KB, 36909 KB/s, 0 seconds passed +... 1%, 11584 KB, 36974 KB/s, 0 seconds passed +... 1%, 11616 KB, 37046 KB/s, 0 seconds passed +... 1%, 11648 KB, 37110 KB/s, 0 seconds passed +... 1%, 11680 KB, 37164 KB/s, 0 seconds passed +... 1%, 11712 KB, 37235 KB/s, 0 seconds passed +... 1%, 11744 KB, 37315 KB/s, 0 seconds passed +... 1%, 11776 KB, 37379 KB/s, 0 seconds passed +... 1%, 11808 KB, 37450 KB/s, 0 seconds passed +... 1%, 11840 KB, 37521 KB/s, 0 seconds passed +... 1%, 11872 KB, 37573 KB/s, 0 seconds passed +... 1%, 11904 KB, 37628 KB/s, 0 seconds passed +... 1%, 11936 KB, 37703 KB/s, 0 seconds passed +... 1%, 11968 KB, 37787 KB/s, 0 seconds passed +... 1%, 12000 KB, 37863 KB/s, 0 seconds passed +... 1%, 12032 KB, 37933 KB/s, 0 seconds passed +... 1%, 12064 KB, 37978 KB/s, 0 seconds passed +... 1%, 12096 KB, 38033 KB/s, 0 seconds passed +... 1%, 12128 KB, 38088 KB/s, 0 seconds passed +... 1%, 12160 KB, 38147 KB/s, 0 seconds passed +... 1%, 12192 KB, 38230 KB/s, 0 seconds passed +... 1%, 12224 KB, 38313 KB/s, 0 seconds passed +... 1%, 12256 KB, 38380 KB/s, 0 seconds passed +... 1%, 12288 KB, 38433 KB/s, 0 seconds passed +... 1%, 12320 KB, 38508 KB/s, 0 seconds passed +... 1%, 12352 KB, 38592 KB/s, 0 seconds passed +... 1%, 12384 KB, 38671 KB/s, 0 seconds passed +... 1%, 12416 KB, 38733 KB/s, 0 seconds passed +... 1%, 12448 KB, 38802 KB/s, 0 seconds passed +... 1%, 12480 KB, 38869 KB/s, 0 seconds passed +... 1%, 12512 KB, 38918 KB/s, 0 seconds passed +... 1%, 12544 KB, 38981 KB/s, 0 seconds passed +... 1%, 12576 KB, 39034 KB/s, 0 seconds passed +... 1%, 12608 KB, 39082 KB/s, 0 seconds passed +... 1%, 12640 KB, 39146 KB/s, 0 seconds passed +... 1%, 12672 KB, 39227 KB/s, 0 seconds passed +... 1%, 12704 KB, 39309 KB/s, 0 seconds passed +... 1%, 12736 KB, 39388 KB/s, 0 seconds passed +... 1%, 12768 KB, 39437 KB/s, 0 seconds passed +... 1%, 12800 KB, 39522 KB/s, 0 seconds passed +... 1%, 12832 KB, 39584 KB/s, 0 seconds passed +... 1%, 12864 KB, 39650 KB/s, 0 seconds passed +... 1%, 12896 KB, 39711 KB/s, 0 seconds passed +... 1%, 12928 KB, 39778 KB/s, 0 seconds passed +... 1%, 12960 KB, 39845 KB/s, 0 seconds passed +... 1%, 12992 KB, 39892 KB/s, 0 seconds passed +... 1%, 13024 KB, 39970 KB/s, 0 seconds passed +... 1%, 13056 KB, 40037 KB/s, 0 seconds passed +... 1%, 13088 KB, 40097 KB/s, 0 seconds passed +... 1%, 13120 KB, 40163 KB/s, 0 seconds passed +... 1%, 13152 KB, 40202 KB/s, 0 seconds passed +... 1%, 13184 KB, 40247 KB/s, 0 seconds passed +... 1%, 13216 KB, 40304 KB/s, 0 seconds passed +... 1%, 13248 KB, 40387 KB/s, 0 seconds passed +... 1%, 13280 KB, 40463 KB/s, 0 seconds passed +... 1%, 13312 KB, 40522 KB/s, 0 seconds passed +... 1%, 13344 KB, 40570 KB/s, 0 seconds passed +... 1%, 13376 KB, 40615 KB/s, 0 seconds passed +... 1%, 13408 KB, 40663 KB/s, 0 seconds passed +... 1%, 13440 KB, 40732 KB/s, 0 seconds passed +... 1%, 13472 KB, 40815 KB/s, 0 seconds passed +... 1%, 13504 KB, 40898 KB/s, 0 seconds passed +... 1%, 13536 KB, 40965 KB/s, 0 seconds passed +... 1%, 13568 KB, 41023 KB/s, 0 seconds passed +... 1%, 13600 KB, 41066 KB/s, 0 seconds passed +... 1%, 13632 KB, 41114 KB/s, 0 seconds passed +... 1%, 13664 KB, 41177 KB/s, 0 seconds passed +... 1%, 13696 KB, 41258 KB/s, 0 seconds passed +... 1%, 13728 KB, 41340 KB/s, 0 seconds passed +... 1%, 13760 KB, 41396 KB/s, 0 seconds passed +... 1%, 13792 KB, 41443 KB/s, 0 seconds passed +... 1%, 13824 KB, 41518 KB/s, 0 seconds passed +... 1%, 13856 KB, 41587 KB/s, 0 seconds passed +... 1%, 13888 KB, 41644 KB/s, 0 seconds passed +... 2%, 13920 KB, 41703 KB/s, 0 seconds passed +... 2%, 13952 KB, 41769 KB/s, 0 seconds passed +... 2%, 13984 KB, 41845 KB/s, 0 seconds passed +... 2%, 14016 KB, 41889 KB/s, 0 seconds passed +... 2%, 14048 KB, 41943 KB/s, 0 seconds passed +... 2%, 14080 KB, 41986 KB/s, 0 seconds passed +... 2%, 14112 KB, 42067 KB/s, 0 seconds passed +... 2%, 14144 KB, 42130 KB/s, 0 seconds passed +... 2%, 14176 KB, 42185 KB/s, 0 seconds passed +... 2%, 14208 KB, 42230 KB/s, 0 seconds passed +... 2%, 14240 KB, 42299 KB/s, 0 seconds passed +... 2%, 14272 KB, 42381 KB/s, 0 seconds passed +... 2%, 14304 KB, 42445 KB/s, 0 seconds passed +... 2%, 14336 KB, 42503 KB/s, 0 seconds passed +... 2%, 14368 KB, 42547 KB/s, 0 seconds passed +... 2%, 14400 KB, 42610 KB/s, 0 seconds passed +... 2%, 14432 KB, 42685 KB/s, 0 seconds passed +... 2%, 14464 KB, 42747 KB/s, 0 seconds passed +... 2%, 14496 KB, 42802 KB/s, 0 seconds passed +... 2%, 14528 KB, 42863 KB/s, 0 seconds passed +... 2%, 14560 KB, 42924 KB/s, 0 seconds passed +... 2%, 14592 KB, 42979 KB/s, 0 seconds passed +... 2%, 14624 KB, 43041 KB/s, 0 seconds passed +... 2%, 14656 KB, 43080 KB/s, 0 seconds passed +... 2%, 14688 KB, 43122 KB/s, 0 seconds passed +... 2%, 14720 KB, 43198 KB/s, 0 seconds passed +... 2%, 14752 KB, 43254 KB/s, 0 seconds passed +... 2%, 14784 KB, 43315 KB/s, 0 seconds passed +... 2%, 14816 KB, 43376 KB/s, 0 seconds passed +... 2%, 14848 KB, 43430 KB/s, 0 seconds passed +... 2%, 14880 KB, 43490 KB/s, 0 seconds passed +... 2%, 14912 KB, 43551 KB/s, 0 seconds passed +... 2%, 14944 KB, 43611 KB/s, 0 seconds passed +... 2%, 14976 KB, 43665 KB/s, 0 seconds passed +... 2%, 15008 KB, 43725 KB/s, 0 seconds passed +... 2%, 15040 KB, 43798 KB/s, 0 seconds passed +... 2%, 15072 KB, 43832 KB/s, 0 seconds passed +... 2%, 15104 KB, 43896 KB/s, 0 seconds passed +... 2%, 15136 KB, 43950 KB/s, 0 seconds passed +... 2%, 15168 KB, 44010 KB/s, 0 seconds passed +... 2%, 15200 KB, 44069 KB/s, 0 seconds passed +... 2%, 15232 KB, 44129 KB/s, 0 seconds passed +... 2%, 15264 KB, 44182 KB/s, 0 seconds passed +... 2%, 15296 KB, 44241 KB/s, 0 seconds passed +... 2%, 15328 KB, 44294 KB/s, 0 seconds passed +... 2%, 15360 KB, 44353 KB/s, 0 seconds passed +... 2%, 15392 KB, 44411 KB/s, 0 seconds passed +... 2%, 15424 KB, 44471 KB/s, 0 seconds passed +... 2%, 15456 KB, 44536 KB/s, 0 seconds passed +... 2%, 15488 KB, 44595 KB/s, 0 seconds passed +... 2%, 15520 KB, 44647 KB/s, 0 seconds passed +... 2%, 15552 KB, 44706 KB/s, 0 seconds passed +... 2%, 15584 KB, 44765 KB/s, 0 seconds passed +... 2%, 15616 KB, 44816 KB/s, 0 seconds passed +... 2%, 15648 KB, 44875 KB/s, 0 seconds passed +... 2%, 15680 KB, 44933 KB/s, 0 seconds passed +... 2%, 15712 KB, 44964 KB/s, 0 seconds passed +... 2%, 15744 KB, 45004 KB/s, 0 seconds passed +... 2%, 15776 KB, 45043 KB/s, 0 seconds passed +... 2%, 15808 KB, 45086 KB/s, 0 seconds passed +... 2%, 15840 KB, 45161 KB/s, 0 seconds passed +... 2%, 15872 KB, 45239 KB/s, 0 seconds passed +... 2%, 15904 KB, 45316 KB/s, 0 seconds passed +... 2%, 15936 KB, 45370 KB/s, 0 seconds passed +... 2%, 15968 KB, 45408 KB/s, 0 seconds passed +... 2%, 16000 KB, 45485 KB/s, 0 seconds passed +... 2%, 16032 KB, 45536 KB/s, 0 seconds passed +... 2%, 16064 KB, 45566 KB/s, 0 seconds passed +... 2%, 16096 KB, 45606 KB/s, 0 seconds passed +... 2%, 16128 KB, 45645 KB/s, 0 seconds passed +... 2%, 16160 KB, 45685 KB/s, 0 seconds passed +... 2%, 16192 KB, 45728 KB/s, 0 seconds passed +... 2%, 16224 KB, 45774 KB/s, 0 seconds passed +... 2%, 16256 KB, 45816 KB/s, 0 seconds passed +... 2%, 16288 KB, 45857 KB/s, 0 seconds passed +... 2%, 16320 KB, 45903 KB/s, 0 seconds passed +... 2%, 16352 KB, 45947 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 2%, 16384 KB, 45991 KB/s, 0 seconds passed +... 2%, 16416 KB, 46035 KB/s, 0 seconds passed +... 2%, 16448 KB, 46077 KB/s, 0 seconds passed +... 2%, 16480 KB, 46122 KB/s, 0 seconds passed +... 2%, 16512 KB, 46161 KB/s, 0 seconds passed +... 2%, 16544 KB, 46207 KB/s, 0 seconds passed +... 2%, 16576 KB, 46252 KB/s, 0 seconds passed +... 2%, 16608 KB, 46292 KB/s, 0 seconds passed +... 2%, 16640 KB, 46334 KB/s, 0 seconds passed +... 2%, 16672 KB, 46377 KB/s, 0 seconds passed +... 2%, 16704 KB, 46416 KB/s, 0 seconds passed +... 2%, 16736 KB, 46459 KB/s, 0 seconds passed +... 2%, 16768 KB, 46501 KB/s, 0 seconds passed +... 2%, 16800 KB, 46545 KB/s, 0 seconds passed +... 2%, 16832 KB, 46584 KB/s, 0 seconds passed +... 2%, 16864 KB, 46627 KB/s, 0 seconds passed +... 2%, 16896 KB, 46670 KB/s, 0 seconds passed +... 2%, 16928 KB, 46713 KB/s, 0 seconds passed +... 2%, 16960 KB, 46754 KB/s, 0 seconds passed +... 2%, 16992 KB, 46793 KB/s, 0 seconds passed +... 2%, 17024 KB, 46836 KB/s, 0 seconds passed +... 2%, 17056 KB, 46881 KB/s, 0 seconds passed +... 2%, 17088 KB, 46940 KB/s, 0 seconds passed +... 2%, 17120 KB, 46998 KB/s, 0 seconds passed +... 2%, 17152 KB, 47057 KB/s, 0 seconds passed +... 2%, 17184 KB, 47117 KB/s, 0 seconds passed +... 2%, 17216 KB, 47175 KB/s, 0 seconds passed +... 2%, 17248 KB, 47232 KB/s, 0 seconds passed +... 2%, 17280 KB, 47290 KB/s, 0 seconds passed +... 2%, 17312 KB, 47349 KB/s, 0 seconds passed +... 2%, 17344 KB, 47405 KB/s, 0 seconds passed +... 2%, 17376 KB, 47464 KB/s, 0 seconds passed +... 2%, 17408 KB, 47519 KB/s, 0 seconds passed +... 2%, 17440 KB, 47577 KB/s, 0 seconds passed +... 2%, 17472 KB, 47634 KB/s, 0 seconds passed +... 2%, 17504 KB, 47693 KB/s, 0 seconds passed +... 2%, 17536 KB, 47748 KB/s, 0 seconds passed +... 2%, 17568 KB, 47807 KB/s, 0 seconds passed +... 2%, 17600 KB, 47865 KB/s, 0 seconds passed +... 2%, 17632 KB, 47921 KB/s, 0 seconds passed +... 2%, 17664 KB, 47979 KB/s, 0 seconds passed +... 2%, 17696 KB, 48037 KB/s, 0 seconds passed +... 2%, 17728 KB, 48094 KB/s, 0 seconds passed +... 2%, 17760 KB, 48152 KB/s, 0 seconds passed +... 2%, 17792 KB, 48209 KB/s, 0 seconds passed +... 2%, 17824 KB, 48267 KB/s, 0 seconds passed +... 2%, 17856 KB, 48324 KB/s, 0 seconds passed +... 2%, 17888 KB, 48381 KB/s, 0 seconds passed +... 2%, 17920 KB, 48438 KB/s, 0 seconds passed +... 2%, 17952 KB, 48496 KB/s, 0 seconds passed +... 2%, 17984 KB, 48552 KB/s, 0 seconds passed +... 2%, 18016 KB, 48609 KB/s, 0 seconds passed +... 2%, 18048 KB, 48666 KB/s, 0 seconds passed +... 2%, 18080 KB, 48722 KB/s, 0 seconds passed +... 2%, 18112 KB, 48778 KB/s, 0 seconds passed +... 2%, 18144 KB, 48834 KB/s, 0 seconds passed +... 2%, 18176 KB, 48890 KB/s, 0 seconds passed +... 2%, 18208 KB, 48946 KB/s, 0 seconds passed +... 2%, 18240 KB, 49003 KB/s, 0 seconds passed +... 2%, 18272 KB, 49061 KB/s, 0 seconds passed +... 2%, 18304 KB, 49119 KB/s, 0 seconds passed +... 2%, 18336 KB, 49181 KB/s, 0 seconds passed +... 2%, 18368 KB, 49242 KB/s, 0 seconds passed +... 2%, 18400 KB, 46820 KB/s, 0 seconds passed +... 2%, 18432 KB, 46849 KB/s, 0 seconds passed +... 2%, 18464 KB, 46883 KB/s, 0 seconds passed +... 2%, 18496 KB, 46920 KB/s, 0 seconds passed +... 2%, 18528 KB, 46959 KB/s, 0 seconds passed +... 2%, 18560 KB, 46998 KB/s, 0 seconds passed +... 2%, 18592 KB, 47033 KB/s, 0 seconds passed +... 2%, 18624 KB, 47071 KB/s, 0 seconds passed +... 2%, 18656 KB, 47109 KB/s, 0 seconds passed +... 2%, 18688 KB, 47147 KB/s, 0 seconds passed +... 2%, 18720 KB, 47185 KB/s, 0 seconds passed +... 2%, 18752 KB, 47223 KB/s, 0 seconds passed +... 2%, 18784 KB, 47255 KB/s, 0 seconds passed +... 2%, 18816 KB, 47293 KB/s, 0 seconds passed +... 2%, 18848 KB, 47331 KB/s, 0 seconds passed +... 2%, 18880 KB, 47369 KB/s, 0 seconds passed +... 2%, 18912 KB, 47407 KB/s, 0 seconds passed +... 2%, 18944 KB, 47443 KB/s, 0 seconds passed +... 2%, 18976 KB, 47480 KB/s, 0 seconds passed +... 2%, 19008 KB, 47517 KB/s, 0 seconds passed +... 2%, 19040 KB, 47554 KB/s, 0 seconds passed +... 2%, 19072 KB, 47592 KB/s, 0 seconds passed +... 2%, 19104 KB, 47629 KB/s, 0 seconds passed +... 2%, 19136 KB, 47667 KB/s, 0 seconds passed +... 2%, 19168 KB, 47702 KB/s, 0 seconds passed +... 2%, 19200 KB, 47740 KB/s, 0 seconds passed +... 2%, 19232 KB, 47778 KB/s, 0 seconds passed +... 2%, 19264 KB, 47815 KB/s, 0 seconds passed +... 2%, 19296 KB, 47850 KB/s, 0 seconds passed +... 2%, 19328 KB, 47887 KB/s, 0 seconds passed +... 2%, 19360 KB, 47928 KB/s, 0 seconds passed +... 2%, 19392 KB, 47980 KB/s, 0 seconds passed +... 2%, 19424 KB, 48032 KB/s, 0 seconds passed +... 2%, 19456 KB, 48082 KB/s, 0 seconds passed +... 2%, 19488 KB, 48133 KB/s, 0 seconds passed +... 2%, 19520 KB, 48186 KB/s, 0 seconds passed +... 2%, 19552 KB, 48239 KB/s, 0 seconds passed +... 2%, 19584 KB, 48290 KB/s, 0 seconds passed +... 2%, 19616 KB, 48342 KB/s, 0 seconds passed +... 2%, 19648 KB, 48394 KB/s, 0 seconds passed +... 2%, 19680 KB, 48445 KB/s, 0 seconds passed +... 2%, 19712 KB, 48495 KB/s, 0 seconds passed +... 2%, 19744 KB, 48545 KB/s, 0 seconds passed +... 2%, 19776 KB, 48596 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 2%, 19808 KB, 48645 KB/s, 0 seconds passed +... 2%, 19840 KB, 48694 KB/s, 0 seconds passed +... 2%, 19872 KB, 48746 KB/s, 0 seconds passed +... 2%, 19904 KB, 48794 KB/s, 0 seconds passed +... 2%, 19936 KB, 48846 KB/s, 0 seconds passed +... 2%, 19968 KB, 48897 KB/s, 0 seconds passed +... 2%, 20000 KB, 48946 KB/s, 0 seconds passed +... 2%, 20032 KB, 48997 KB/s, 0 seconds passed +... 2%, 20064 KB, 49048 KB/s, 0 seconds passed +... 2%, 20096 KB, 49097 KB/s, 0 seconds passed +... 2%, 20128 KB, 49148 KB/s, 0 seconds passed +... 2%, 20160 KB, 49199 KB/s, 0 seconds passed +... 2%, 20192 KB, 49250 KB/s, 0 seconds passed +... 2%, 20224 KB, 49299 KB/s, 0 seconds passed +... 2%, 20256 KB, 49349 KB/s, 0 seconds passed +... 2%, 20288 KB, 49399 KB/s, 0 seconds passed +... 2%, 20320 KB, 49449 KB/s, 0 seconds passed +... 2%, 20352 KB, 49497 KB/s, 0 seconds passed +... 2%, 20384 KB, 49548 KB/s, 0 seconds passed +... 2%, 20416 KB, 49596 KB/s, 0 seconds passed +... 2%, 20448 KB, 49646 KB/s, 0 seconds passed +... 2%, 20480 KB, 49695 KB/s, 0 seconds passed +... 2%, 20512 KB, 49745 KB/s, 0 seconds passed +... 2%, 20544 KB, 49794 KB/s, 0 seconds passed +... 2%, 20576 KB, 49844 KB/s, 0 seconds passed +... 2%, 20608 KB, 49893 KB/s, 0 seconds passed +... 2%, 20640 KB, 49941 KB/s, 0 seconds passed +... 2%, 20672 KB, 49991 KB/s, 0 seconds passed +... 2%, 20704 KB, 50040 KB/s, 0 seconds passed +... 2%, 20736 KB, 50088 KB/s, 0 seconds passed +... 2%, 20768 KB, 50135 KB/s, 0 seconds passed +... 2%, 20800 KB, 50195 KB/s, 0 seconds passed +... 2%, 20832 KB, 50253 KB/s, 0 seconds passed +... 2%, 20864 KB, 50313 KB/s, 0 seconds passed +... 3%, 20896 KB, 50371 KB/s, 0 seconds passed +... 3%, 20928 KB, 50430 KB/s, 0 seconds passed +... 3%, 20960 KB, 50476 KB/s, 0 seconds passed +... 3%, 20992 KB, 50522 KB/s, 0 seconds passed +... 3%, 21024 KB, 50567 KB/s, 0 seconds passed +... 3%, 21056 KB, 50606 KB/s, 0 seconds passed +... 3%, 21088 KB, 50651 KB/s, 0 seconds passed +... 3%, 21120 KB, 50689 KB/s, 0 seconds passed +... 3%, 21152 KB, 50735 KB/s, 0 seconds passed +... 3%, 21184 KB, 50779 KB/s, 0 seconds passed +... 3%, 21216 KB, 50824 KB/s, 0 seconds passed +... 3%, 21248 KB, 50863 KB/s, 0 seconds passed +... 3%, 21280 KB, 50908 KB/s, 0 seconds passed +... 3%, 21312 KB, 50933 KB/s, 0 seconds passed +... 3%, 21344 KB, 50978 KB/s, 0 seconds passed +... 3%, 21376 KB, 51034 KB/s, 0 seconds passed +... 3%, 21408 KB, 51079 KB/s, 0 seconds passed +... 3%, 21440 KB, 51117 KB/s, 0 seconds passed +... 3%, 21472 KB, 51162 KB/s, 0 seconds passed +... 3%, 21504 KB, 51187 KB/s, 0 seconds passed +... 3%, 21536 KB, 51225 KB/s, 0 seconds passed +... 3%, 21568 KB, 51252 KB/s, 0 seconds passed +... 3%, 21600 KB, 51281 KB/s, 0 seconds passed +... 3%, 21632 KB, 51310 KB/s, 0 seconds passed +... 3%, 21664 KB, 51349 KB/s, 0 seconds passed +... 3%, 21696 KB, 51406 KB/s, 0 seconds passed +... 3%, 21728 KB, 51464 KB/s, 0 seconds passed +... 3%, 21760 KB, 51521 KB/s, 0 seconds passed +... 3%, 21792 KB, 51578 KB/s, 0 seconds passed +... 3%, 21824 KB, 51622 KB/s, 0 seconds passed +... 3%, 21856 KB, 51666 KB/s, 0 seconds passed +... 3%, 21888 KB, 51703 KB/s, 0 seconds passed +... 3%, 21920 KB, 51747 KB/s, 0 seconds passed +... 3%, 21952 KB, 51790 KB/s, 0 seconds passed +... 3%, 21984 KB, 51828 KB/s, 0 seconds passed +... 3%, 22016 KB, 51871 KB/s, 0 seconds passed +... 3%, 22048 KB, 51895 KB/s, 0 seconds passed +... 3%, 22080 KB, 51939 KB/s, 0 seconds passed +... 3%, 22112 KB, 51983 KB/s, 0 seconds passed +... 3%, 22144 KB, 51996 KB/s, 0 seconds passed +... 3%, 22176 KB, 52051 KB/s, 0 seconds passed +... 3%, 22208 KB, 52090 KB/s, 0 seconds passed +... 3%, 22240 KB, 52121 KB/s, 0 seconds passed +... 3%, 22272 KB, 52170 KB/s, 0 seconds passed +... 3%, 22304 KB, 52228 KB/s, 0 seconds passed +... 3%, 22336 KB, 52275 KB/s, 0 seconds passed +... 3%, 22368 KB, 52319 KB/s, 0 seconds passed +... 3%, 22400 KB, 52363 KB/s, 0 seconds passed +... 3%, 22432 KB, 52378 KB/s, 0 seconds passed +... 3%, 22464 KB, 52411 KB/s, 0 seconds passed +... 3%, 22496 KB, 52442 KB/s, 0 seconds passed +... 3%, 22528 KB, 52470 KB/s, 0 seconds passed +... 3%, 22560 KB, 52502 KB/s, 0 seconds passed +... 3%, 22592 KB, 52555 KB/s, 0 seconds passed +... 3%, 22624 KB, 52616 KB/s, 0 seconds passed +... 3%, 22656 KB, 52676 KB/s, 0 seconds passed +... 3%, 22688 KB, 52723 KB/s, 0 seconds passed +... 3%, 22720 KB, 52730 KB/s, 0 seconds passed +... 3%, 22752 KB, 52754 KB/s, 0 seconds passed +... 3%, 22784 KB, 52782 KB/s, 0 seconds passed +... 3%, 22816 KB, 52829 KB/s, 0 seconds passed +... 3%, 22848 KB, 52890 KB/s, 0 seconds passed +... 3%, 22880 KB, 51124 KB/s, 0 seconds passed +... 3%, 22912 KB, 51142 KB/s, 0 seconds passed +... 3%, 22944 KB, 51169 KB/s, 0 seconds passed +... 3%, 22976 KB, 51194 KB/s, 0 seconds passed +... 3%, 23008 KB, 51228 KB/s, 0 seconds passed +... 3%, 23040 KB, 51227 KB/s, 0 seconds passed +... 3%, 23072 KB, 51257 KB/s, 0 seconds passed +... 3%, 23104 KB, 51288 KB/s, 0 seconds passed +... 3%, 23136 KB, 51319 KB/s, 0 seconds passed +... 3%, 23168 KB, 51345 KB/s, 0 seconds passed +... 3%, 23200 KB, 51375 KB/s, 0 seconds passed +... 3%, 23232 KB, 51405 KB/s, 0 seconds passed +... 3%, 23264 KB, 51434 KB/s, 0 seconds passed +... 3%, 23296 KB, 51462 KB/s, 0 seconds passed +... 3%, 23328 KB, 51493 KB/s, 0 seconds passed +... 3%, 23360 KB, 51522 KB/s, 0 seconds passed +... 3%, 23392 KB, 51552 KB/s, 0 seconds passed +... 3%, 23424 KB, 51582 KB/s, 0 seconds passed +... 3%, 23456 KB, 51611 KB/s, 0 seconds passed +... 3%, 23488 KB, 51640 KB/s, 0 seconds passed +... 3%, 23520 KB, 51667 KB/s, 0 seconds passed +... 3%, 23552 KB, 51696 KB/s, 0 seconds passed +... 3%, 23584 KB, 51724 KB/s, 0 seconds passed +... 3%, 23616 KB, 51753 KB/s, 0 seconds passed +... 3%, 23648 KB, 51783 KB/s, 0 seconds passed +... 3%, 23680 KB, 51813 KB/s, 0 seconds passed +... 3%, 23712 KB, 51840 KB/s, 0 seconds passed +... 3%, 23744 KB, 51869 KB/s, 0 seconds passed +... 3%, 23776 KB, 51897 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 3%, 23808 KB, 51927 KB/s, 0 seconds passed +... 3%, 23840 KB, 51955 KB/s, 0 seconds passed +... 3%, 23872 KB, 51982 KB/s, 0 seconds passed +... 3%, 23904 KB, 52010 KB/s, 0 seconds passed +... 3%, 23936 KB, 52038 KB/s, 0 seconds passed +... 3%, 23968 KB, 52066 KB/s, 0 seconds passed +... 3%, 24000 KB, 52095 KB/s, 0 seconds passed +... 3%, 24032 KB, 52123 KB/s, 0 seconds passed +... 3%, 24064 KB, 52152 KB/s, 0 seconds passed +... 3%, 24096 KB, 52180 KB/s, 0 seconds passed +... 3%, 24128 KB, 52209 KB/s, 0 seconds passed +... 3%, 24160 KB, 52235 KB/s, 0 seconds passed +... 3%, 24192 KB, 52263 KB/s, 0 seconds passed +... 3%, 24224 KB, 52290 KB/s, 0 seconds passed +... 3%, 24256 KB, 52317 KB/s, 0 seconds passed +... 3%, 24288 KB, 52346 KB/s, 0 seconds passed +... 3%, 24320 KB, 52375 KB/s, 0 seconds passed +... 3%, 24352 KB, 52403 KB/s, 0 seconds passed +... 3%, 24384 KB, 52430 KB/s, 0 seconds passed +... 3%, 24416 KB, 52466 KB/s, 0 seconds passed +... 3%, 24448 KB, 52509 KB/s, 0 seconds passed +... 3%, 24480 KB, 52551 KB/s, 0 seconds passed +... 3%, 24512 KB, 52593 KB/s, 0 seconds passed +... 3%, 24544 KB, 52636 KB/s, 0 seconds passed +... 3%, 24576 KB, 52679 KB/s, 0 seconds passed +... 3%, 24608 KB, 52722 KB/s, 0 seconds passed +... 3%, 24640 KB, 52765 KB/s, 0 seconds passed +... 3%, 24672 KB, 52805 KB/s, 0 seconds passed +... 3%, 24704 KB, 52847 KB/s, 0 seconds passed +... 3%, 24736 KB, 52890 KB/s, 0 seconds passed +... 3%, 24768 KB, 52932 KB/s, 0 seconds passed +... 3%, 24800 KB, 52974 KB/s, 0 seconds passed +... 3%, 24832 KB, 53016 KB/s, 0 seconds passed +... 3%, 24864 KB, 53059 KB/s, 0 seconds passed +... 3%, 24896 KB, 53100 KB/s, 0 seconds passed +... 3%, 24928 KB, 53143 KB/s, 0 seconds passed +... 3%, 24960 KB, 53186 KB/s, 0 seconds passed +... 3%, 24992 KB, 53227 KB/s, 0 seconds passed +... 3%, 25024 KB, 53269 KB/s, 0 seconds passed +... 3%, 25056 KB, 53310 KB/s, 0 seconds passed +... 3%, 25088 KB, 53352 KB/s, 0 seconds passed +... 3%, 25120 KB, 53394 KB/s, 0 seconds passed +... 3%, 25152 KB, 53435 KB/s, 0 seconds passed +... 3%, 25184 KB, 53476 KB/s, 0 seconds passed +... 3%, 25216 KB, 53515 KB/s, 0 seconds passed +... 3%, 25248 KB, 53557 KB/s, 0 seconds passed +... 3%, 25280 KB, 53598 KB/s, 0 seconds passed +... 3%, 25312 KB, 53640 KB/s, 0 seconds passed +... 3%, 25344 KB, 53682 KB/s, 0 seconds passed +... 3%, 25376 KB, 53728 KB/s, 0 seconds passed +... 3%, 25408 KB, 53774 KB/s, 0 seconds passed +... 3%, 25440 KB, 53821 KB/s, 0 seconds passed +... 3%, 25472 KB, 53868 KB/s, 0 seconds passed +... 3%, 25504 KB, 53914 KB/s, 0 seconds passed +... 3%, 25536 KB, 53960 KB/s, 0 seconds passed +... 3%, 25568 KB, 54007 KB/s, 0 seconds passed +... 3%, 25600 KB, 50837 KB/s, 0 seconds passed +... 3%, 25632 KB, 50860 KB/s, 0 seconds passed +... 3%, 25664 KB, 50851 KB/s, 0 seconds passed +... 3%, 25696 KB, 50875 KB/s, 0 seconds passed +... 3%, 25728 KB, 50900 KB/s, 0 seconds passed +... 3%, 25760 KB, 50926 KB/s, 0 seconds passed +... 3%, 25792 KB, 50948 KB/s, 0 seconds passed +... 3%, 25824 KB, 50973 KB/s, 0 seconds passed +... 3%, 25856 KB, 50997 KB/s, 0 seconds passed +... 3%, 25888 KB, 51028 KB/s, 0 seconds passed +... 3%, 25920 KB, 51060 KB/s, 0 seconds passed +... 3%, 25952 KB, 50991 KB/s, 0 seconds passed +... 3%, 25984 KB, 51012 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 3%, 26016 KB, 51035 KB/s, 0 seconds passed +... 3%, 26048 KB, 51057 KB/s, 0 seconds passed +... 3%, 26080 KB, 51081 KB/s, 0 seconds passed +... 3%, 26112 KB, 51106 KB/s, 0 seconds passed +... 3%, 26144 KB, 51131 KB/s, 0 seconds passed +... 3%, 26176 KB, 51156 KB/s, 0 seconds passed +... 3%, 26208 KB, 51180 KB/s, 0 seconds passed +... 3%, 26240 KB, 51205 KB/s, 0 seconds passed +... 3%, 26272 KB, 51231 KB/s, 0 seconds passed +... 3%, 26304 KB, 51255 KB/s, 0 seconds passed +... 3%, 26336 KB, 51280 KB/s, 0 seconds passed +... 3%, 26368 KB, 51306 KB/s, 0 seconds passed +... 3%, 26400 KB, 51331 KB/s, 0 seconds passed +... 3%, 26432 KB, 51356 KB/s, 0 seconds passed +... 3%, 26464 KB, 51380 KB/s, 0 seconds passed +... 3%, 26496 KB, 51403 KB/s, 0 seconds passed +... 3%, 26528 KB, 51433 KB/s, 0 seconds passed +... 3%, 26560 KB, 51465 KB/s, 0 seconds passed +... 3%, 26592 KB, 51498 KB/s, 0 seconds passed +... 3%, 26624 KB, 51530 KB/s, 0 seconds passed +... 3%, 26656 KB, 51561 KB/s, 0 seconds passed +... 3%, 26688 KB, 51593 KB/s, 0 seconds passed +... 3%, 26720 KB, 51623 KB/s, 0 seconds passed +... 3%, 26752 KB, 51655 KB/s, 0 seconds passed +... 3%, 26784 KB, 51685 KB/s, 0 seconds passed +... 3%, 26816 KB, 51717 KB/s, 0 seconds passed +... 3%, 26848 KB, 51749 KB/s, 0 seconds passed +... 3%, 26880 KB, 51779 KB/s, 0 seconds passed +... 3%, 26912 KB, 51811 KB/s, 0 seconds passed +... 3%, 26944 KB, 51841 KB/s, 0 seconds passed +... 3%, 26976 KB, 51874 KB/s, 0 seconds passed +... 3%, 27008 KB, 51905 KB/s, 0 seconds passed +... 3%, 27040 KB, 51936 KB/s, 0 seconds passed +... 3%, 27072 KB, 51968 KB/s, 0 seconds passed +... 3%, 27104 KB, 51998 KB/s, 0 seconds passed +... 3%, 27136 KB, 52030 KB/s, 0 seconds passed +... 3%, 27168 KB, 52061 KB/s, 0 seconds passed +... 3%, 27200 KB, 52092 KB/s, 0 seconds passed +... 3%, 27232 KB, 52124 KB/s, 0 seconds passed +... 3%, 27264 KB, 52156 KB/s, 0 seconds passed +... 3%, 27296 KB, 52184 KB/s, 0 seconds passed +... 3%, 27328 KB, 52214 KB/s, 0 seconds passed +... 3%, 27360 KB, 52245 KB/s, 0 seconds passed +... 3%, 27392 KB, 52276 KB/s, 0 seconds passed +... 3%, 27424 KB, 52307 KB/s, 0 seconds passed +... 3%, 27456 KB, 52338 KB/s, 0 seconds passed +... 3%, 27488 KB, 52370 KB/s, 0 seconds passed +... 3%, 27520 KB, 52404 KB/s, 0 seconds passed +... 3%, 27552 KB, 52443 KB/s, 0 seconds passed +... 3%, 27584 KB, 52481 KB/s, 0 seconds passed +... 3%, 27616 KB, 52522 KB/s, 0 seconds passed +... 3%, 27648 KB, 52563 KB/s, 0 seconds passed +... 3%, 27680 KB, 52603 KB/s, 0 seconds passed +... 3%, 27712 KB, 52641 KB/s, 0 seconds passed +... 3%, 27744 KB, 52682 KB/s, 0 seconds passed +... 3%, 27776 KB, 52721 KB/s, 0 seconds passed +... 3%, 27808 KB, 52758 KB/s, 0 seconds passed +... 4%, 27840 KB, 52798 KB/s, 0 seconds passed +... 4%, 27872 KB, 52840 KB/s, 0 seconds passed +... 4%, 27904 KB, 52878 KB/s, 0 seconds passed +... 4%, 27936 KB, 52919 KB/s, 0 seconds passed +... 4%, 27968 KB, 52959 KB/s, 0 seconds passed +... 4%, 28000 KB, 52997 KB/s, 0 seconds passed +... 4%, 28032 KB, 53037 KB/s, 0 seconds passed +... 4%, 28064 KB, 53077 KB/s, 0 seconds passed +... 4%, 28096 KB, 53117 KB/s, 0 seconds passed +... 4%, 28128 KB, 53158 KB/s, 0 seconds passed +... 4%, 28160 KB, 53197 KB/s, 0 seconds passed +... 4%, 28192 KB, 53237 KB/s, 0 seconds passed +... 4%, 28224 KB, 53276 KB/s, 0 seconds passed +... 4%, 28256 KB, 53316 KB/s, 0 seconds passed +... 4%, 28288 KB, 53354 KB/s, 0 seconds passed +... 4%, 28320 KB, 53393 KB/s, 0 seconds passed +... 4%, 28352 KB, 53433 KB/s, 0 seconds passed +... 4%, 28384 KB, 53474 KB/s, 0 seconds passed +... 4%, 28416 KB, 53510 KB/s, 0 seconds passed +... 4%, 28448 KB, 53549 KB/s, 0 seconds passed +... 4%, 28480 KB, 53589 KB/s, 0 seconds passed +... 4%, 28512 KB, 53627 KB/s, 0 seconds passed +... 4%, 28544 KB, 53666 KB/s, 0 seconds passed +... 4%, 28576 KB, 53705 KB/s, 0 seconds passed +... 4%, 28608 KB, 53744 KB/s, 0 seconds passed +... 4%, 28640 KB, 53783 KB/s, 0 seconds passed +... 4%, 28672 KB, 53822 KB/s, 0 seconds passed +... 4%, 28704 KB, 53862 KB/s, 0 seconds passed +... 4%, 28736 KB, 53895 KB/s, 0 seconds passed +... 4%, 28768 KB, 53928 KB/s, 0 seconds passed +... 4%, 28800 KB, 53962 KB/s, 0 seconds passed +... 4%, 28832 KB, 53996 KB/s, 0 seconds passed +... 4%, 28864 KB, 54023 KB/s, 0 seconds passed +... 4%, 28896 KB, 54056 KB/s, 0 seconds passed +... 4%, 28928 KB, 54090 KB/s, 0 seconds passed +... 4%, 28960 KB, 54117 KB/s, 0 seconds passed +... 4%, 28992 KB, 54151 KB/s, 0 seconds passed +... 4%, 29024 KB, 52632 KB/s, 0 seconds passed +... 4%, 29056 KB, 52641 KB/s, 0 seconds passed +... 4%, 29088 KB, 52660 KB/s, 0 seconds passed +... 4%, 29120 KB, 52681 KB/s, 0 seconds passed +... 4%, 29152 KB, 52704 KB/s, 0 seconds passed +... 4%, 29184 KB, 52726 KB/s, 0 seconds passed +... 4%, 29216 KB, 52748 KB/s, 0 seconds passed +... 4%, 29248 KB, 52767 KB/s, 0 seconds passed +... 4%, 29280 KB, 52789 KB/s, 0 seconds passed +... 4%, 29312 KB, 52809 KB/s, 0 seconds passed +... 4%, 29344 KB, 52831 KB/s, 0 seconds passed +... 4%, 29376 KB, 52852 KB/s, 0 seconds passed +... 4%, 29408 KB, 52875 KB/s, 0 seconds passed +... 4%, 29440 KB, 52896 KB/s, 0 seconds passed +... 4%, 29472 KB, 52918 KB/s, 0 seconds passed +... 4%, 29504 KB, 52940 KB/s, 0 seconds passed +... 4%, 29536 KB, 52959 KB/s, 0 seconds passed +... 4%, 29568 KB, 52980 KB/s, 0 seconds passed +... 4%, 29600 KB, 53003 KB/s, 0 seconds passed +... 4%, 29632 KB, 53024 KB/s, 0 seconds passed +... 4%, 29664 KB, 53045 KB/s, 0 seconds passed +... 4%, 29696 KB, 53067 KB/s, 0 seconds passed +... 4%, 29728 KB, 53088 KB/s, 0 seconds passed +... 4%, 29760 KB, 53111 KB/s, 0 seconds passed +... 4%, 29792 KB, 53133 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 4%, 29824 KB, 53154 KB/s, 0 seconds passed +... 4%, 29856 KB, 53176 KB/s, 0 seconds passed +... 4%, 29888 KB, 53198 KB/s, 0 seconds passed +... 4%, 29920 KB, 53221 KB/s, 0 seconds passed +... 4%, 29952 KB, 53243 KB/s, 0 seconds passed +... 4%, 29984 KB, 53265 KB/s, 0 seconds passed +... 4%, 30016 KB, 53285 KB/s, 0 seconds passed +... 4%, 30048 KB, 53307 KB/s, 0 seconds passed +... 4%, 30080 KB, 53329 KB/s, 0 seconds passed +... 4%, 30112 KB, 53351 KB/s, 0 seconds passed +... 4%, 30144 KB, 53372 KB/s, 0 seconds passed +... 4%, 30176 KB, 53394 KB/s, 0 seconds passed +... 4%, 30208 KB, 53427 KB/s, 0 seconds passed +... 4%, 30240 KB, 53460 KB/s, 0 seconds passed +... 4%, 30272 KB, 53494 KB/s, 0 seconds passed +... 4%, 30304 KB, 53525 KB/s, 0 seconds passed +... 4%, 30336 KB, 53557 KB/s, 0 seconds passed +... 4%, 30368 KB, 53591 KB/s, 0 seconds passed +... 4%, 30400 KB, 53627 KB/s, 0 seconds passed +... 4%, 30432 KB, 53662 KB/s, 0 seconds passed +... 4%, 30464 KB, 53691 KB/s, 0 seconds passed +... 4%, 30496 KB, 53726 KB/s, 0 seconds passed +... 4%, 30528 KB, 53764 KB/s, 0 seconds passed +... 4%, 30560 KB, 53801 KB/s, 0 seconds passed +... 4%, 30592 KB, 53839 KB/s, 0 seconds passed +... 4%, 30624 KB, 53877 KB/s, 0 seconds passed +... 4%, 30656 KB, 53915 KB/s, 0 seconds passed +... 4%, 30688 KB, 53954 KB/s, 0 seconds passed +... 4%, 30720 KB, 53421 KB/s, 0 seconds passed +... 4%, 30752 KB, 53443 KB/s, 0 seconds passed +... 4%, 30784 KB, 53465 KB/s, 0 seconds passed +... 4%, 30816 KB, 53489 KB/s, 0 seconds passed +... 4%, 30848 KB, 53512 KB/s, 0 seconds passed +... 4%, 30880 KB, 53538 KB/s, 0 seconds passed +... 4%, 30912 KB, 53564 KB/s, 0 seconds passed +... 4%, 30944 KB, 53590 KB/s, 0 seconds passed +... 4%, 30976 KB, 53615 KB/s, 0 seconds passed +... 4%, 31008 KB, 53639 KB/s, 0 seconds passed +... 4%, 31040 KB, 53665 KB/s, 0 seconds passed +... 4%, 31072 KB, 53689 KB/s, 0 seconds passed +... 4%, 31104 KB, 53708 KB/s, 0 seconds passed +... 4%, 31136 KB, 53733 KB/s, 0 seconds passed +... 4%, 31168 KB, 53756 KB/s, 0 seconds passed +... 4%, 31200 KB, 53780 KB/s, 0 seconds passed +... 4%, 31232 KB, 53805 KB/s, 0 seconds passed +... 4%, 31264 KB, 53831 KB/s, 0 seconds passed +... 4%, 31296 KB, 53854 KB/s, 0 seconds passed +... 4%, 31328 KB, 53880 KB/s, 0 seconds passed +... 4%, 31360 KB, 53903 KB/s, 0 seconds passed +... 4%, 31392 KB, 53926 KB/s, 0 seconds passed +... 4%, 31424 KB, 53948 KB/s, 0 seconds passed +... 4%, 31456 KB, 53972 KB/s, 0 seconds passed +... 4%, 31488 KB, 53995 KB/s, 0 seconds passed +... 4%, 31520 KB, 54020 KB/s, 0 seconds passed +... 4%, 31552 KB, 54045 KB/s, 0 seconds passed +... 4%, 31584 KB, 54068 KB/s, 0 seconds passed +... 4%, 31616 KB, 54092 KB/s, 0 seconds passed +... 4%, 31648 KB, 54114 KB/s, 0 seconds passed +... 4%, 31680 KB, 54137 KB/s, 0 seconds passed +... 4%, 31712 KB, 54169 KB/s, 0 seconds passed +... 4%, 31744 KB, 54204 KB/s, 0 seconds passed +... 4%, 31776 KB, 54239 KB/s, 0 seconds passed +... 4%, 31808 KB, 54273 KB/s, 0 seconds passed +... 4%, 31840 KB, 54307 KB/s, 0 seconds passed +... 4%, 31872 KB, 54344 KB/s, 0 seconds passed +... 4%, 31904 KB, 54380 KB/s, 0 seconds passed +... 4%, 31936 KB, 54414 KB/s, 0 seconds passed +... 4%, 31968 KB, 54447 KB/s, 0 seconds passed +... 4%, 32000 KB, 54482 KB/s, 0 seconds passed +... 4%, 32032 KB, 54517 KB/s, 0 seconds passed +... 4%, 32064 KB, 54552 KB/s, 0 seconds passed +... 4%, 32096 KB, 54585 KB/s, 0 seconds passed +... 4%, 32128 KB, 54620 KB/s, 0 seconds passed +... 4%, 32160 KB, 54653 KB/s, 0 seconds passed +... 4%, 32192 KB, 54687 KB/s, 0 seconds passed +... 4%, 32224 KB, 54713 KB/s, 0 seconds passed +... 4%, 32256 KB, 54743 KB/s, 0 seconds passed +... 4%, 32288 KB, 54768 KB/s, 0 seconds passed +... 4%, 32320 KB, 54793 KB/s, 0 seconds passed +... 4%, 32352 KB, 54822 KB/s, 0 seconds passed +... 4%, 32384 KB, 54840 KB/s, 0 seconds passed +... 4%, 32416 KB, 54864 KB/s, 0 seconds passed +... 4%, 32448 KB, 54893 KB/s, 0 seconds passed +... 4%, 32480 KB, 54923 KB/s, 0 seconds passed +... 4%, 32512 KB, 54953 KB/s, 0 seconds passed +... 4%, 32544 KB, 53812 KB/s, 0 seconds passed +... 4%, 32576 KB, 53822 KB/s, 0 seconds passed +... 4%, 32608 KB, 53836 KB/s, 0 seconds passed +... 4%, 32640 KB, 53853 KB/s, 0 seconds passed +... 4%, 32672 KB, 53873 KB/s, 0 seconds passed +... 4%, 32704 KB, 53896 KB/s, 0 seconds passed +... 4%, 32736 KB, 53894 KB/s, 0 seconds passed +... 4%, 32768 KB, 53909 KB/s, 0 seconds passed +... 4%, 32800 KB, 53928 KB/s, 0 seconds passed +... 4%, 32832 KB, 53946 KB/s, 0 seconds passed +... 4%, 32864 KB, 53965 KB/s, 0 seconds passed +... 4%, 32896 KB, 53984 KB/s, 0 seconds passed +... 4%, 32928 KB, 54003 KB/s, 0 seconds passed +... 4%, 32960 KB, 54023 KB/s, 0 seconds passed +... 4%, 32992 KB, 54043 KB/s, 0 seconds passed +... 4%, 33024 KB, 54062 KB/s, 0 seconds passed +... 4%, 33056 KB, 54079 KB/s, 0 seconds passed +... 4%, 33088 KB, 54095 KB/s, 0 seconds passed +... 4%, 33120 KB, 54114 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 4%, 33152 KB, 54132 KB/s, 0 seconds passed +... 4%, 33184 KB, 54152 KB/s, 0 seconds passed +... 4%, 33216 KB, 54177 KB/s, 0 seconds passed +... 4%, 33248 KB, 54204 KB/s, 0 seconds passed +... 4%, 33280 KB, 54230 KB/s, 0 seconds passed +... 4%, 33312 KB, 54257 KB/s, 0 seconds passed +... 4%, 33344 KB, 54218 KB/s, 0 seconds passed +... 4%, 33376 KB, 54232 KB/s, 0 seconds passed +... 4%, 33408 KB, 54259 KB/s, 0 seconds passed +... 4%, 33440 KB, 54285 KB/s, 0 seconds passed +... 4%, 33472 KB, 54312 KB/s, 0 seconds passed +... 4%, 33504 KB, 54338 KB/s, 0 seconds passed +... 4%, 33536 KB, 54364 KB/s, 0 seconds passed +... 4%, 33568 KB, 54391 KB/s, 0 seconds passed +... 4%, 33600 KB, 54416 KB/s, 0 seconds passed +... 4%, 33632 KB, 54444 KB/s, 0 seconds passed +... 4%, 33664 KB, 54470 KB/s, 0 seconds passed +... 4%, 33696 KB, 54494 KB/s, 0 seconds passed +... 4%, 33728 KB, 54521 KB/s, 0 seconds passed +... 4%, 33760 KB, 54549 KB/s, 0 seconds passed +... 4%, 33792 KB, 54571 KB/s, 0 seconds passed +... 4%, 33824 KB, 54598 KB/s, 0 seconds passed +... 4%, 33856 KB, 54627 KB/s, 0 seconds passed +... 4%, 33888 KB, 54656 KB/s, 0 seconds passed +... 4%, 33920 KB, 54686 KB/s, 0 seconds passed +... 4%, 33952 KB, 54715 KB/s, 0 seconds passed +... 4%, 33984 KB, 54742 KB/s, 0 seconds passed +... 4%, 34016 KB, 54772 KB/s, 0 seconds passed +... 4%, 34048 KB, 54800 KB/s, 0 seconds passed +... 4%, 34080 KB, 54828 KB/s, 0 seconds passed +... 4%, 34112 KB, 54855 KB/s, 0 seconds passed +... 4%, 34144 KB, 54884 KB/s, 0 seconds passed +... 4%, 34176 KB, 54913 KB/s, 0 seconds passed +... 4%, 34208 KB, 54941 KB/s, 0 seconds passed +... 4%, 34240 KB, 54969 KB/s, 0 seconds passed +... 4%, 34272 KB, 54996 KB/s, 0 seconds passed +... 4%, 34304 KB, 55025 KB/s, 0 seconds passed +... 4%, 34336 KB, 55053 KB/s, 0 seconds passed +... 4%, 34368 KB, 55066 KB/s, 0 seconds passed +... 4%, 34400 KB, 55094 KB/s, 0 seconds passed +... 4%, 34432 KB, 55121 KB/s, 0 seconds passed +... 4%, 34464 KB, 55150 KB/s, 0 seconds passed +... 4%, 34496 KB, 55178 KB/s, 0 seconds passed +... 4%, 34528 KB, 55210 KB/s, 0 seconds passed +... 4%, 34560 KB, 55240 KB/s, 0 seconds passed +... 4%, 34592 KB, 55268 KB/s, 0 seconds passed +... 4%, 34624 KB, 55297 KB/s, 0 seconds passed +... 4%, 34656 KB, 55325 KB/s, 0 seconds passed +... 4%, 34688 KB, 55330 KB/s, 0 seconds passed +... 4%, 34720 KB, 55347 KB/s, 0 seconds passed +... 4%, 34752 KB, 55378 KB/s, 0 seconds passed +... 5%, 34784 KB, 55414 KB/s, 0 seconds passed +... 5%, 34816 KB, 55446 KB/s, 0 seconds passed +... 5%, 34848 KB, 55475 KB/s, 0 seconds passed +... 5%, 34880 KB, 55503 KB/s, 0 seconds passed +... 5%, 34912 KB, 55531 KB/s, 0 seconds passed +... 5%, 34944 KB, 55559 KB/s, 0 seconds passed +... 5%, 34976 KB, 55588 KB/s, 0 seconds passed +... 5%, 35008 KB, 55616 KB/s, 0 seconds passed +... 5%, 35040 KB, 55624 KB/s, 0 seconds passed +... 5%, 35072 KB, 55652 KB/s, 0 seconds passed +... 5%, 35104 KB, 55680 KB/s, 0 seconds passed +... 5%, 35136 KB, 55708 KB/s, 0 seconds passed +... 5%, 35168 KB, 55736 KB/s, 0 seconds passed +... 5%, 35200 KB, 55763 KB/s, 0 seconds passed +... 5%, 35232 KB, 55792 KB/s, 0 seconds passed +... 5%, 35264 KB, 55820 KB/s, 0 seconds passed +... 5%, 35296 KB, 55848 KB/s, 0 seconds passed +... 5%, 35328 KB, 55876 KB/s, 0 seconds passed +... 5%, 35360 KB, 55880 KB/s, 0 seconds passed +... 5%, 35392 KB, 55898 KB/s, 0 seconds passed +... 5%, 35424 KB, 55915 KB/s, 0 seconds passed +... 5%, 35456 KB, 55938 KB/s, 0 seconds passed +... 5%, 35488 KB, 55973 KB/s, 0 seconds passed +... 5%, 35520 KB, 56010 KB/s, 0 seconds passed +... 5%, 35552 KB, 56025 KB/s, 0 seconds passed +... 5%, 35584 KB, 56045 KB/s, 0 seconds passed +... 5%, 35616 KB, 56058 KB/s, 0 seconds passed +... 5%, 35648 KB, 56078 KB/s, 0 seconds passed +... 5%, 35680 KB, 56108 KB/s, 0 seconds passed +... 5%, 35712 KB, 56143 KB/s, 0 seconds passed +... 5%, 35744 KB, 56179 KB/s, 0 seconds passed +... 5%, 35776 KB, 56207 KB/s, 0 seconds passed +... 5%, 35808 KB, 56232 KB/s, 0 seconds passed +... 5%, 35840 KB, 54806 KB/s, 0 seconds passed +... 5%, 35872 KB, 54817 KB/s, 0 seconds passed +... 5%, 35904 KB, 54832 KB/s, 0 seconds passed +... 5%, 35936 KB, 54850 KB/s, 0 seconds passed +... 5%, 35968 KB, 54322 KB/s, 0 seconds passed +... 5%, 36000 KB, 54325 KB/s, 0 seconds passed +... 5%, 36032 KB, 54337 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 5%, 36064 KB, 54350 KB/s, 0 seconds passed +... 5%, 36096 KB, 54366 KB/s, 0 seconds passed +... 5%, 36128 KB, 54382 KB/s, 0 seconds passed +... 5%, 36160 KB, 54399 KB/s, 0 seconds passed +... 5%, 36192 KB, 54415 KB/s, 0 seconds passed +... 5%, 36224 KB, 54430 KB/s, 0 seconds passed +... 5%, 36256 KB, 54446 KB/s, 0 seconds passed +... 5%, 36288 KB, 54465 KB/s, 0 seconds passed +... 5%, 36320 KB, 54480 KB/s, 0 seconds passed +... 5%, 36352 KB, 54495 KB/s, 0 seconds passed +... 5%, 36384 KB, 54510 KB/s, 0 seconds passed +... 5%, 36416 KB, 54526 KB/s, 0 seconds passed +... 5%, 36448 KB, 54541 KB/s, 0 seconds passed +... 5%, 36480 KB, 54557 KB/s, 0 seconds passed +... 5%, 36512 KB, 54574 KB/s, 0 seconds passed +... 5%, 36544 KB, 54591 KB/s, 0 seconds passed +... 5%, 36576 KB, 54608 KB/s, 0 seconds passed +... 5%, 36608 KB, 54629 KB/s, 0 seconds passed +... 5%, 36640 KB, 54653 KB/s, 0 seconds passed +... 5%, 36672 KB, 54676 KB/s, 0 seconds passed +... 5%, 36704 KB, 54666 KB/s, 0 seconds passed +... 5%, 36736 KB, 54682 KB/s, 0 seconds passed +... 5%, 36768 KB, 54700 KB/s, 0 seconds passed +... 5%, 36800 KB, 54715 KB/s, 0 seconds passed +... 5%, 36832 KB, 54730 KB/s, 0 seconds passed +... 5%, 36864 KB, 54745 KB/s, 0 seconds passed +... 5%, 36896 KB, 54762 KB/s, 0 seconds passed +... 5%, 36928 KB, 54779 KB/s, 0 seconds passed +... 5%, 36960 KB, 54796 KB/s, 0 seconds passed +... 5%, 36992 KB, 54816 KB/s, 0 seconds passed +... 5%, 37024 KB, 54831 KB/s, 0 seconds passed +... 5%, 37056 KB, 54849 KB/s, 0 seconds passed +... 5%, 37088 KB, 54866 KB/s, 0 seconds passed +... 5%, 37120 KB, 54883 KB/s, 0 seconds passed +... 5%, 37152 KB, 54905 KB/s, 0 seconds passed +... 5%, 37184 KB, 54933 KB/s, 0 seconds passed +... 5%, 37216 KB, 54960 KB/s, 0 seconds passed +... 5%, 37248 KB, 54985 KB/s, 0 seconds passed +... 5%, 37280 KB, 55011 KB/s, 0 seconds passed +... 5%, 37312 KB, 55026 KB/s, 0 seconds passed +... 5%, 37344 KB, 55047 KB/s, 0 seconds passed +... 5%, 37376 KB, 55058 KB/s, 0 seconds passed +... 5%, 37408 KB, 55079 KB/s, 0 seconds passed +... 5%, 37440 KB, 55091 KB/s, 0 seconds passed +... 5%, 37472 KB, 53992 KB/s, 0 seconds passed +... 5%, 37504 KB, 53901 KB/s, 0 seconds passed +... 5%, 37536 KB, 53913 KB/s, 0 seconds passed +... 5%, 37568 KB, 53926 KB/s, 0 seconds passed +... 5%, 37600 KB, 53942 KB/s, 0 seconds passed +... 5%, 37632 KB, 53961 KB/s, 0 seconds passed +... 5%, 37664 KB, 53728 KB/s, 0 seconds passed +... 5%, 37696 KB, 53691 KB/s, 0 seconds passed +... 5%, 37728 KB, 53704 KB/s, 0 seconds passed +... 5%, 37760 KB, 53588 KB/s, 0 seconds passed +... 5%, 37792 KB, 53603 KB/s, 0 seconds passed +... 5%, 37824 KB, 53617 KB/s, 0 seconds passed +... 5%, 37856 KB, 53634 KB/s, 0 seconds passed +... 5%, 37888 KB, 53649 KB/s, 0 seconds passed +... 5%, 37920 KB, 53664 KB/s, 0 seconds passed +... 5%, 37952 KB, 53681 KB/s, 0 seconds passed +... 5%, 37984 KB, 53695 KB/s, 0 seconds passed +... 5%, 38016 KB, 53712 KB/s, 0 seconds passed +... 5%, 38048 KB, 53730 KB/s, 0 seconds passed +... 5%, 38080 KB, 53751 KB/s, 0 seconds passed +... 5%, 38112 KB, 53769 KB/s, 0 seconds passed +... 5%, 38144 KB, 53788 KB/s, 0 seconds passed +... 5%, 38176 KB, 53771 KB/s, 0 seconds passed +... 5%, 38208 KB, 53782 KB/s, 0 seconds passed +... 5%, 38240 KB, 53795 KB/s, 0 seconds passed +... 5%, 38272 KB, 53813 KB/s, 0 seconds passed +... 5%, 38304 KB, 53831 KB/s, 0 seconds passed +... 5%, 38336 KB, 53848 KB/s, 0 seconds passed +... 5%, 38368 KB, 53862 KB/s, 0 seconds passed +... 5%, 38400 KB, 53876 KB/s, 0 seconds passed +... 5%, 38432 KB, 53893 KB/s, 0 seconds passed +... 5%, 38464 KB, 53911 KB/s, 0 seconds passed +... 5%, 38496 KB, 53934 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 5%, 38528 KB, 53877 KB/s, 0 seconds passed +... 5%, 38560 KB, 53691 KB/s, 0 seconds passed +... 5%, 38592 KB, 53711 KB/s, 0 seconds passed +... 5%, 38624 KB, 53732 KB/s, 0 seconds passed +... 5%, 38656 KB, 53682 KB/s, 0 seconds passed +... 5%, 38688 KB, 53696 KB/s, 0 seconds passed +... 5%, 38720 KB, 53696 KB/s, 0 seconds passed +... 5%, 38752 KB, 53691 KB/s, 0 seconds passed +... 5%, 38784 KB, 53709 KB/s, 0 seconds passed +... 5%, 38816 KB, 53730 KB/s, 0 seconds passed +... 5%, 38848 KB, 53751 KB/s, 0 seconds passed +... 5%, 38880 KB, 53760 KB/s, 0 seconds passed +... 5%, 38912 KB, 53769 KB/s, 0 seconds passed +... 5%, 38944 KB, 53779 KB/s, 0 seconds passed +... 5%, 38976 KB, 53789 KB/s, 0 seconds passed +... 5%, 39008 KB, 53804 KB/s, 0 seconds passed +... 5%, 39040 KB, 53813 KB/s, 0 seconds passed +... 5%, 39072 KB, 53823 KB/s, 0 seconds passed +... 5%, 39104 KB, 53834 KB/s, 0 seconds passed +... 5%, 39136 KB, 53845 KB/s, 0 seconds passed +... 5%, 39168 KB, 53849 KB/s, 0 seconds passed +... 5%, 39200 KB, 53864 KB/s, 0 seconds passed +... 5%, 39232 KB, 53877 KB/s, 0 seconds passed +... 5%, 39264 KB, 53895 KB/s, 0 seconds passed +... 5%, 39296 KB, 53916 KB/s, 0 seconds passed +... 5%, 39328 KB, 53938 KB/s, 0 seconds passed +... 5%, 39360 KB, 53961 KB/s, 0 seconds passed +... 5%, 39392 KB, 53983 KB/s, 0 seconds passed +... 5%, 39424 KB, 54006 KB/s, 0 seconds passed +... 5%, 39456 KB, 53636 KB/s, 0 seconds passed +... 5%, 39488 KB, 53640 KB/s, 0 seconds passed +... 5%, 39520 KB, 53658 KB/s, 0 seconds passed +... 5%, 39552 KB, 53672 KB/s, 0 seconds passed +... 5%, 39584 KB, 53691 KB/s, 0 seconds passed +... 5%, 39616 KB, 53705 KB/s, 0 seconds passed +... 5%, 39648 KB, 53722 KB/s, 0 seconds passed +... 5%, 39680 KB, 53738 KB/s, 0 seconds passed +... 5%, 39712 KB, 53757 KB/s, 0 seconds passed +... 5%, 39744 KB, 53774 KB/s, 0 seconds passed +... 5%, 39776 KB, 53789 KB/s, 0 seconds passed +... 5%, 39808 KB, 53808 KB/s, 0 seconds passed +... 5%, 39840 KB, 53825 KB/s, 0 seconds passed +... 5%, 39872 KB, 53843 KB/s, 0 seconds passed +... 5%, 39904 KB, 53862 KB/s, 0 seconds passed +... 5%, 39936 KB, 53879 KB/s, 0 seconds passed +... 5%, 39968 KB, 53898 KB/s, 0 seconds passed +... 5%, 40000 KB, 53916 KB/s, 0 seconds passed +... 5%, 40032 KB, 53933 KB/s, 0 seconds passed +... 5%, 40064 KB, 53952 KB/s, 0 seconds passed +... 5%, 40096 KB, 53970 KB/s, 0 seconds passed +... 5%, 40128 KB, 53986 KB/s, 0 seconds passed +... 5%, 40160 KB, 54005 KB/s, 0 seconds passed +... 5%, 40192 KB, 54022 KB/s, 0 seconds passed +... 5%, 40224 KB, 54039 KB/s, 0 seconds passed +... 5%, 40256 KB, 54057 KB/s, 0 seconds passed +... 5%, 40288 KB, 54073 KB/s, 0 seconds passed +... 5%, 40320 KB, 54092 KB/s, 0 seconds passed +... 5%, 40352 KB, 54109 KB/s, 0 seconds passed +... 5%, 40384 KB, 54127 KB/s, 0 seconds passed +... 5%, 40416 KB, 54145 KB/s, 0 seconds passed +... 5%, 40448 KB, 54172 KB/s, 0 seconds passed +... 5%, 40480 KB, 54198 KB/s, 0 seconds passed +... 5%, 40512 KB, 54223 KB/s, 0 seconds passed +... 5%, 40544 KB, 54249 KB/s, 0 seconds passed +... 5%, 40576 KB, 54275 KB/s, 0 seconds passed +... 5%, 40608 KB, 54301 KB/s, 0 seconds passed +... 5%, 40640 KB, 54327 KB/s, 0 seconds passed +... 5%, 40672 KB, 54353 KB/s, 0 seconds passed +... 5%, 40704 KB, 54380 KB/s, 0 seconds passed +... 5%, 40736 KB, 54405 KB/s, 0 seconds passed +... 5%, 40768 KB, 54431 KB/s, 0 seconds passed +... 5%, 40800 KB, 54456 KB/s, 0 seconds passed +... 5%, 40832 KB, 54482 KB/s, 0 seconds passed +... 5%, 40864 KB, 54508 KB/s, 0 seconds passed +... 5%, 40896 KB, 54533 KB/s, 0 seconds passed +... 5%, 40928 KB, 54559 KB/s, 0 seconds passed +... 5%, 40960 KB, 54584 KB/s, 0 seconds passed +... 5%, 40992 KB, 54610 KB/s, 0 seconds passed +... 5%, 41024 KB, 54635 KB/s, 0 seconds passed +... 5%, 41056 KB, 54660 KB/s, 0 seconds passed +... 5%, 41088 KB, 54686 KB/s, 0 seconds passed +... 5%, 41120 KB, 54712 KB/s, 0 seconds passed +... 5%, 41152 KB, 54737 KB/s, 0 seconds passed +... 5%, 41184 KB, 54763 KB/s, 0 seconds passed +... 5%, 41216 KB, 54789 KB/s, 0 seconds passed +... 5%, 41248 KB, 54815 KB/s, 0 seconds passed +... 5%, 41280 KB, 54841 KB/s, 0 seconds passed +... 5%, 41312 KB, 54867 KB/s, 0 seconds passed +... 5%, 41344 KB, 54892 KB/s, 0 seconds passed +... 5%, 41376 KB, 54918 KB/s, 0 seconds passed +... 5%, 41408 KB, 54945 KB/s, 0 seconds passed +... 5%, 41440 KB, 54971 KB/s, 0 seconds passed +... 5%, 41472 KB, 54995 KB/s, 0 seconds passed +... 5%, 41504 KB, 55020 KB/s, 0 seconds passed +... 5%, 41536 KB, 55046 KB/s, 0 seconds passed +... 5%, 41568 KB, 55071 KB/s, 0 seconds passed +... 5%, 41600 KB, 55095 KB/s, 0 seconds passed +... 5%, 41632 KB, 55121 KB/s, 0 seconds passed +... 5%, 41664 KB, 55146 KB/s, 0 seconds passed +... 5%, 41696 KB, 55172 KB/s, 0 seconds passed +... 5%, 41728 KB, 55197 KB/s, 0 seconds passed +... 6%, 41760 KB, 55224 KB/s, 0 seconds passed +... 6%, 41792 KB, 55252 KB/s, 0 seconds passed +... 6%, 41824 KB, 55283 KB/s, 0 seconds passed +... 6%, 41856 KB, 55315 KB/s, 0 seconds passed +... 6%, 41888 KB, 55336 KB/s, 0 seconds passed +... 6%, 41920 KB, 55360 KB/s, 0 seconds passed +... 6%, 41952 KB, 55383 KB/s, 0 seconds passed +... 6%, 41984 KB, 55407 KB/s, 0 seconds passed +... 6%, 42016 KB, 55430 KB/s, 0 seconds passed +... 6%, 42048 KB, 55454 KB/s, 0 seconds passed +... 6%, 42080 KB, 55477 KB/s, 0 seconds passed +... 6%, 42112 KB, 55502 KB/s, 0 seconds passed +... 6%, 42144 KB, 55525 KB/s, 0 seconds passed +... 6%, 42176 KB, 55548 KB/s, 0 seconds passed +... 6%, 42208 KB, 55550 KB/s, 0 seconds passed +... 6%, 42240 KB, 55565 KB/s, 0 seconds passed +... 6%, 42272 KB, 55580 KB/s, 0 seconds passed +... 6%, 42304 KB, 55600 KB/s, 0 seconds passed +... 6%, 42336 KB, 55631 KB/s, 0 seconds passed +... 6%, 42368 KB, 55663 KB/s, 0 seconds passed +... 6%, 42400 KB, 55694 KB/s, 0 seconds passed +... 6%, 42432 KB, 55700 KB/s, 0 seconds passed +... 6%, 42464 KB, 55731 KB/s, 0 seconds passed +... 6%, 42496 KB, 55747 KB/s, 0 seconds passed +... 6%, 42528 KB, 55766 KB/s, 0 seconds passed +... 6%, 42560 KB, 55782 KB/s, 0 seconds passed +... 6%, 42592 KB, 55796 KB/s, 0 seconds passed +... 6%, 42624 KB, 55828 KB/s, 0 seconds passed +... 6%, 42656 KB, 55857 KB/s, 0 seconds passed +... 6%, 42688 KB, 55886 KB/s, 0 seconds passed +... 6%, 42720 KB, 55909 KB/s, 0 seconds passed +... 6%, 42752 KB, 55932 KB/s, 0 seconds passed +... 6%, 42784 KB, 55956 KB/s, 0 seconds passed +... 6%, 42816 KB, 55958 KB/s, 0 seconds passed +... 6%, 42848 KB, 55974 KB/s, 0 seconds passed +... 6%, 42880 KB, 56001 KB/s, 0 seconds passed +... 6%, 42912 KB, 56031 KB/s, 0 seconds passed +... 6%, 42944 KB, 56054 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 6%, 42976 KB, 56077 KB/s, 0 seconds passed +... 6%, 43008 KB, 56101 KB/s, 0 seconds passed +... 6%, 43040 KB, 56124 KB/s, 0 seconds passed +... 6%, 43072 KB, 56128 KB/s, 0 seconds passed +... 6%, 43104 KB, 56150 KB/s, 0 seconds passed +... 6%, 43136 KB, 56174 KB/s, 0 seconds passed +... 6%, 43168 KB, 56180 KB/s, 0 seconds passed +... 6%, 43200 KB, 56202 KB/s, 0 seconds passed +... 6%, 43232 KB, 56226 KB/s, 0 seconds passed +... 6%, 43264 KB, 56248 KB/s, 0 seconds passed +... 6%, 43296 KB, 56271 KB/s, 0 seconds passed +... 6%, 43328 KB, 56294 KB/s, 0 seconds passed +... 6%, 43360 KB, 56317 KB/s, 0 seconds passed +... 6%, 43392 KB, 56340 KB/s, 0 seconds passed +... 6%, 43424 KB, 56363 KB/s, 0 seconds passed +... 6%, 43456 KB, 56368 KB/s, 0 seconds passed +... 6%, 43488 KB, 56391 KB/s, 0 seconds passed +... 6%, 43520 KB, 56414 KB/s, 0 seconds passed +... 6%, 43552 KB, 56437 KB/s, 0 seconds passed +... 6%, 43584 KB, 56460 KB/s, 0 seconds passed +... 6%, 43616 KB, 56482 KB/s, 0 seconds passed +... 6%, 43648 KB, 56505 KB/s, 0 seconds passed +... 6%, 43680 KB, 56528 KB/s, 0 seconds passed +... 6%, 43712 KB, 56528 KB/s, 0 seconds passed +... 6%, 43744 KB, 56544 KB/s, 0 seconds passed +... 6%, 43776 KB, 56574 KB/s, 0 seconds passed +... 6%, 43808 KB, 56600 KB/s, 0 seconds passed +... 6%, 43840 KB, 56615 KB/s, 0 seconds passed +... 6%, 43872 KB, 56624 KB/s, 0 seconds passed +... 6%, 43904 KB, 56650 KB/s, 0 seconds passed +... 6%, 43936 KB, 56672 KB/s, 0 seconds passed +... 6%, 43968 KB, 56695 KB/s, 0 seconds passed +... 6%, 44000 KB, 56658 KB/s, 0 seconds passed +... 6%, 44032 KB, 56674 KB/s, 0 seconds passed +... 6%, 44064 KB, 56688 KB/s, 0 seconds passed +... 6%, 44096 KB, 56700 KB/s, 0 seconds passed +... 6%, 44128 KB, 56714 KB/s, 0 seconds passed +... 6%, 44160 KB, 56730 KB/s, 0 seconds passed +... 6%, 44192 KB, 56747 KB/s, 0 seconds passed +... 6%, 44224 KB, 56761 KB/s, 0 seconds passed +... 6%, 44256 KB, 56779 KB/s, 0 seconds passed +... 6%, 44288 KB, 56794 KB/s, 0 seconds passed +... 6%, 44320 KB, 56808 KB/s, 0 seconds passed +... 6%, 44352 KB, 56825 KB/s, 0 seconds passed +... 6%, 44384 KB, 56840 KB/s, 0 seconds passed +... 6%, 44416 KB, 56854 KB/s, 0 seconds passed +... 6%, 44448 KB, 56871 KB/s, 0 seconds passed +... 6%, 44480 KB, 56884 KB/s, 0 seconds passed +... 6%, 44512 KB, 56902 KB/s, 0 seconds passed +... 6%, 44544 KB, 56918 KB/s, 0 seconds passed +... 6%, 44576 KB, 56933 KB/s, 0 seconds passed +... 6%, 44608 KB, 56949 KB/s, 0 seconds passed +... 6%, 44640 KB, 56968 KB/s, 0 seconds passed +... 6%, 44672 KB, 56986 KB/s, 0 seconds passed +... 6%, 44704 KB, 57002 KB/s, 0 seconds passed +... 6%, 44736 KB, 57017 KB/s, 0 seconds passed +... 6%, 44768 KB, 57031 KB/s, 0 seconds passed +... 6%, 44800 KB, 57045 KB/s, 0 seconds passed +... 6%, 44832 KB, 57057 KB/s, 0 seconds passed +... 6%, 44864 KB, 57071 KB/s, 0 seconds passed +... 6%, 44896 KB, 57086 KB/s, 0 seconds passed +... 6%, 44928 KB, 57098 KB/s, 0 seconds passed +... 6%, 44960 KB, 57110 KB/s, 0 seconds passed +... 6%, 44992 KB, 57124 KB/s, 0 seconds passed +... 6%, 45024 KB, 57142 KB/s, 0 seconds passed +... 6%, 45056 KB, 57164 KB/s, 0 seconds passed +... 6%, 45088 KB, 57187 KB/s, 0 seconds passed +... 6%, 45120 KB, 57209 KB/s, 0 seconds passed +... 6%, 45152 KB, 57231 KB/s, 0 seconds passed +... 6%, 45184 KB, 57252 KB/s, 0 seconds passed +... 6%, 45216 KB, 57275 KB/s, 0 seconds passed +... 6%, 45248 KB, 57297 KB/s, 0 seconds passed +... 6%, 45280 KB, 57320 KB/s, 0 seconds passed +... 6%, 45312 KB, 57342 KB/s, 0 seconds passed +... 6%, 45344 KB, 57364 KB/s, 0 seconds passed +... 6%, 45376 KB, 57385 KB/s, 0 seconds passed +... 6%, 45408 KB, 57408 KB/s, 0 seconds passed +... 6%, 45440 KB, 57428 KB/s, 0 seconds passed +... 6%, 45472 KB, 57451 KB/s, 0 seconds passed +... 6%, 45504 KB, 57473 KB/s, 0 seconds passed +... 6%, 45536 KB, 57495 KB/s, 0 seconds passed +... 6%, 45568 KB, 57518 KB/s, 0 seconds passed +... 6%, 45600 KB, 57540 KB/s, 0 seconds passed +... 6%, 45632 KB, 57562 KB/s, 0 seconds passed +... 6%, 45664 KB, 57585 KB/s, 0 seconds passed +... 6%, 45696 KB, 57607 KB/s, 0 seconds passed +... 6%, 45728 KB, 57629 KB/s, 0 seconds passed +... 6%, 45760 KB, 57651 KB/s, 0 seconds passed +... 6%, 45792 KB, 57674 KB/s, 0 seconds passed +... 6%, 45824 KB, 57695 KB/s, 0 seconds passed +... 6%, 45856 KB, 57718 KB/s, 0 seconds passed +... 6%, 45888 KB, 57740 KB/s, 0 seconds passed +... 6%, 45920 KB, 57762 KB/s, 0 seconds passed +... 6%, 45952 KB, 57783 KB/s, 0 seconds passed +... 6%, 45984 KB, 57805 KB/s, 0 seconds passed +... 6%, 46016 KB, 57827 KB/s, 0 seconds passed +... 6%, 46048 KB, 57853 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 6%, 46080 KB, 56329 KB/s, 0 seconds passed +... 6%, 46112 KB, 56331 KB/s, 0 seconds passed +... 6%, 46144 KB, 56341 KB/s, 0 seconds passed +... 6%, 46176 KB, 56350 KB/s, 0 seconds passed +... 6%, 46208 KB, 56361 KB/s, 0 seconds passed +... 6%, 46240 KB, 56374 KB/s, 0 seconds passed +... 6%, 46272 KB, 56386 KB/s, 0 seconds passed +... 6%, 46304 KB, 56398 KB/s, 0 seconds passed +... 6%, 46336 KB, 56412 KB/s, 0 seconds passed +... 6%, 46368 KB, 56426 KB/s, 0 seconds passed +... 6%, 46400 KB, 56437 KB/s, 0 seconds passed +... 6%, 46432 KB, 56450 KB/s, 0 seconds passed +... 6%, 46464 KB, 56461 KB/s, 0 seconds passed +... 6%, 46496 KB, 56473 KB/s, 0 seconds passed +... 6%, 46528 KB, 56484 KB/s, 0 seconds passed +... 6%, 46560 KB, 56497 KB/s, 0 seconds passed +... 6%, 46592 KB, 56509 KB/s, 0 seconds passed +... 6%, 46624 KB, 56520 KB/s, 0 seconds passed +... 6%, 46656 KB, 56532 KB/s, 0 seconds passed +... 6%, 46688 KB, 56544 KB/s, 0 seconds passed +... 6%, 46720 KB, 56555 KB/s, 0 seconds passed +... 6%, 46752 KB, 56573 KB/s, 0 seconds passed +... 6%, 46784 KB, 56584 KB/s, 0 seconds passed +... 6%, 46816 KB, 56597 KB/s, 0 seconds passed +... 6%, 46848 KB, 56614 KB/s, 0 seconds passed +... 6%, 46880 KB, 56631 KB/s, 0 seconds passed +... 6%, 46912 KB, 56649 KB/s, 0 seconds passed +... 6%, 46944 KB, 56665 KB/s, 0 seconds passed +... 6%, 46976 KB, 56682 KB/s, 0 seconds passed +... 6%, 47008 KB, 56701 KB/s, 0 seconds passed +... 6%, 47040 KB, 56720 KB/s, 0 seconds passed +... 6%, 47072 KB, 56737 KB/s, 0 seconds passed +... 6%, 47104 KB, 56755 KB/s, 0 seconds passed +... 6%, 47136 KB, 56773 KB/s, 0 seconds passed +... 6%, 47168 KB, 56791 KB/s, 0 seconds passed +... 6%, 47200 KB, 56807 KB/s, 0 seconds passed +... 6%, 47232 KB, 56821 KB/s, 0 seconds passed +... 6%, 47264 KB, 56838 KB/s, 0 seconds passed +... 6%, 47296 KB, 56854 KB/s, 0 seconds passed +... 6%, 47328 KB, 56873 KB/s, 0 seconds passed +... 6%, 47360 KB, 56889 KB/s, 0 seconds passed +... 6%, 47392 KB, 56908 KB/s, 0 seconds passed +... 6%, 47424 KB, 56925 KB/s, 0 seconds passed +... 6%, 47456 KB, 56943 KB/s, 0 seconds passed +... 6%, 47488 KB, 56959 KB/s, 0 seconds passed +... 6%, 47520 KB, 56977 KB/s, 0 seconds passed +... 6%, 47552 KB, 56996 KB/s, 0 seconds passed +... 6%, 47584 KB, 57014 KB/s, 0 seconds passed +... 6%, 47616 KB, 57031 KB/s, 0 seconds passed +... 6%, 47648 KB, 57048 KB/s, 0 seconds passed +... 6%, 47680 KB, 57064 KB/s, 0 seconds passed +... 6%, 47712 KB, 57082 KB/s, 0 seconds passed +... 6%, 47744 KB, 57099 KB/s, 0 seconds passed +... 6%, 47776 KB, 57117 KB/s, 0 seconds passed +... 6%, 47808 KB, 57137 KB/s, 0 seconds passed +... 6%, 47840 KB, 57160 KB/s, 0 seconds passed +... 6%, 47872 KB, 57187 KB/s, 0 seconds passed +... 6%, 47904 KB, 57214 KB/s, 0 seconds passed +... 6%, 47936 KB, 57241 KB/s, 0 seconds passed +... 6%, 47968 KB, 57268 KB/s, 0 seconds passed +... 6%, 48000 KB, 57294 KB/s, 0 seconds passed +... 6%, 48032 KB, 57317 KB/s, 0 seconds passed +... 6%, 48064 KB, 57342 KB/s, 0 seconds passed +... 6%, 48096 KB, 57366 KB/s, 0 seconds passed +... 6%, 48128 KB, 57390 KB/s, 0 seconds passed +... 6%, 48160 KB, 57414 KB/s, 0 seconds passed +... 6%, 48192 KB, 57438 KB/s, 0 seconds passed +... 6%, 48224 KB, 57461 KB/s, 0 seconds passed +... 6%, 48256 KB, 57485 KB/s, 0 seconds passed +... 6%, 48288 KB, 57509 KB/s, 0 seconds passed +... 6%, 48320 KB, 57534 KB/s, 0 seconds passed +... 6%, 48352 KB, 57554 KB/s, 0 seconds passed +... 6%, 48384 KB, 57574 KB/s, 0 seconds passed +... 6%, 48416 KB, 57594 KB/s, 0 seconds passed +... 6%, 48448 KB, 57611 KB/s, 0 seconds passed +... 6%, 48480 KB, 57630 KB/s, 0 seconds passed +... 6%, 48512 KB, 57647 KB/s, 0 seconds passed +... 6%, 48544 KB, 57671 KB/s, 0 seconds passed +... 6%, 48576 KB, 57694 KB/s, 0 seconds passed +... 6%, 48608 KB, 57707 KB/s, 0 seconds passed +... 6%, 48640 KB, 57727 KB/s, 0 seconds passed +... 6%, 48672 KB, 57743 KB/s, 0 seconds passed +... 7%, 48704 KB, 57762 KB/s, 0 seconds passed +... 7%, 48736 KB, 57778 KB/s, 0 seconds passed +... 7%, 48768 KB, 57798 KB/s, 0 seconds passed +... 7%, 48800 KB, 57818 KB/s, 0 seconds passed +... 7%, 48832 KB, 57838 KB/s, 0 seconds passed +... 7%, 48864 KB, 57861 KB/s, 0 seconds passed +... 7%, 48896 KB, 57878 KB/s, 0 seconds passed +... 7%, 48928 KB, 57897 KB/s, 0 seconds passed +... 7%, 48960 KB, 57917 KB/s, 0 seconds passed +... 7%, 48992 KB, 57937 KB/s, 0 seconds passed +... 7%, 49024 KB, 57953 KB/s, 0 seconds passed +... 7%, 49056 KB, 57973 KB/s, 0 seconds passed +... 7%, 49088 KB, 57993 KB/s, 0 seconds passed +... 7%, 49120 KB, 58012 KB/s, 0 seconds passed +... 7%, 49152 KB, 58025 KB/s, 0 seconds passed +... 7%, 49184 KB, 58041 KB/s, 0 seconds passed +... 7%, 49216 KB, 58058 KB/s, 0 seconds passed +... 7%, 49248 KB, 58067 KB/s, 0 seconds passed +... 7%, 49280 KB, 58077 KB/s, 0 seconds passed +... 7%, 49312 KB, 58094 KB/s, 0 seconds passed +... 7%, 49344 KB, 58121 KB/s, 0 seconds passed +... 7%, 49376 KB, 58149 KB/s, 0 seconds passed +... 7%, 49408 KB, 58175 KB/s, 0 seconds passed +... 7%, 49440 KB, 58194 KB/s, 0 seconds passed +... 7%, 49472 KB, 58214 KB/s, 0 seconds passed +... 7%, 49504 KB, 58234 KB/s, 0 seconds passed +... 7%, 49536 KB, 58250 KB/s, 0 seconds passed +... 7%, 49568 KB, 58270 KB/s, 0 seconds passed +... 7%, 49600 KB, 58289 KB/s, 0 seconds passed +... 7%, 49632 KB, 58305 KB/s, 0 seconds passed +... 7%, 49664 KB, 58321 KB/s, 0 seconds passed +... 7%, 49696 KB, 58339 KB/s, 0 seconds passed +... 7%, 49728 KB, 58349 KB/s, 0 seconds passed +... 7%, 49760 KB, 58359 KB/s, 0 seconds passed +... 7%, 49792 KB, 58387 KB/s, 0 seconds passed +... 7%, 49824 KB, 58415 KB/s, 0 seconds passed +... 7%, 49856 KB, 58431 KB/s, 0 seconds passed +... 7%, 49888 KB, 58450 KB/s, 0 seconds passed +... 7%, 49920 KB, 58238 KB/s, 0 seconds passed +... 7%, 49952 KB, 58248 KB/s, 0 seconds passed +... 7%, 49984 KB, 58228 KB/s, 0 seconds passed +... 7%, 50016 KB, 58238 KB/s, 0 seconds passed +... 7%, 50048 KB, 58139 KB/s, 0 seconds passed +... 7%, 50080 KB, 58150 KB/s, 0 seconds passed +... 7%, 50112 KB, 58136 KB/s, 0 seconds passed +... 7%, 50144 KB, 58148 KB/s, 0 seconds passed +... 7%, 50176 KB, 58161 KB/s, 0 seconds passed +... 7%, 50208 KB, 58171 KB/s, 0 seconds passed +... 7%, 50240 KB, 58181 KB/s, 0 seconds passed +... 7%, 50272 KB, 58194 KB/s, 0 seconds passed +... 7%, 50304 KB, 58207 KB/s, 0 seconds passed +... 7%, 50336 KB, 58218 KB/s, 0 seconds passed +... 7%, 50368 KB, 58231 KB/s, 0 seconds passed +... 7%, 50400 KB, 58244 KB/s, 0 seconds passed +... 7%, 50432 KB, 58257 KB/s, 0 seconds passed +... 7%, 50464 KB, 58268 KB/s, 0 seconds passed +... 7%, 50496 KB, 58279 KB/s, 0 seconds passed +... 7%, 50528 KB, 58292 KB/s, 0 seconds passed +... 7%, 50560 KB, 58303 KB/s, 0 seconds passed +... 7%, 50592 KB, 58315 KB/s, 0 seconds passed +... 7%, 50624 KB, 58327 KB/s, 0 seconds passed +... 7%, 50656 KB, 58343 KB/s, 0 seconds passed +... 7%, 50688 KB, 58360 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 7%, 50720 KB, 58374 KB/s, 0 seconds passed +... 7%, 50752 KB, 58389 KB/s, 0 seconds passed +... 7%, 50784 KB, 58404 KB/s, 0 seconds passed +... 7%, 50816 KB, 58420 KB/s, 0 seconds passed +... 7%, 50848 KB, 58436 KB/s, 0 seconds passed +... 7%, 50880 KB, 58452 KB/s, 0 seconds passed +... 7%, 50912 KB, 58468 KB/s, 0 seconds passed +... 7%, 50944 KB, 58482 KB/s, 0 seconds passed +... 7%, 50976 KB, 58498 KB/s, 0 seconds passed +... 7%, 51008 KB, 58517 KB/s, 0 seconds passed +... 7%, 51040 KB, 58537 KB/s, 0 seconds passed +... 7%, 51072 KB, 58557 KB/s, 0 seconds passed +... 7%, 51104 KB, 58578 KB/s, 0 seconds passed +... 7%, 51136 KB, 58598 KB/s, 0 seconds passed +... 7%, 51168 KB, 58617 KB/s, 0 seconds passed +... 7%, 51200 KB, 57682 KB/s, 0 seconds passed +... 7%, 51232 KB, 57686 KB/s, 0 seconds passed +... 7%, 51264 KB, 57695 KB/s, 0 seconds passed +... 7%, 51296 KB, 57703 KB/s, 0 seconds passed +... 7%, 51328 KB, 57714 KB/s, 0 seconds passed +... 7%, 51360 KB, 57724 KB/s, 0 seconds passed +... 7%, 51392 KB, 57736 KB/s, 0 seconds passed +... 7%, 51424 KB, 57747 KB/s, 0 seconds passed +... 7%, 51456 KB, 57758 KB/s, 0 seconds passed +... 7%, 51488 KB, 57766 KB/s, 0 seconds passed +... 7%, 51520 KB, 57777 KB/s, 0 seconds passed +... 7%, 51552 KB, 57787 KB/s, 0 seconds passed +... 7%, 51584 KB, 57797 KB/s, 0 seconds passed +... 7%, 51616 KB, 57809 KB/s, 0 seconds passed +... 7%, 51648 KB, 57820 KB/s, 0 seconds passed +... 7%, 51680 KB, 57832 KB/s, 0 seconds passed +... 7%, 51712 KB, 57842 KB/s, 0 seconds passed +... 7%, 51744 KB, 57850 KB/s, 0 seconds passed +... 7%, 51776 KB, 57862 KB/s, 0 seconds passed +... 7%, 51808 KB, 57871 KB/s, 0 seconds passed +... 7%, 51840 KB, 57883 KB/s, 0 seconds passed +... 7%, 51872 KB, 57893 KB/s, 0 seconds passed +... 7%, 51904 KB, 57905 KB/s, 0 seconds passed +... 7%, 51936 KB, 57915 KB/s, 0 seconds passed +... 7%, 51968 KB, 57927 KB/s, 0 seconds passed +... 7%, 52000 KB, 57936 KB/s, 0 seconds passed +... 7%, 52032 KB, 57946 KB/s, 0 seconds passed +... 7%, 52064 KB, 57958 KB/s, 0 seconds passed +... 7%, 52096 KB, 57979 KB/s, 0 seconds passed +... 7%, 52128 KB, 57998 KB/s, 0 seconds passed +... 7%, 52160 KB, 58017 KB/s, 0 seconds passed +... 7%, 52192 KB, 58034 KB/s, 0 seconds passed +... 7%, 52224 KB, 58054 KB/s, 0 seconds passed +... 7%, 52256 KB, 58074 KB/s, 0 seconds passed +... 7%, 52288 KB, 58094 KB/s, 0 seconds passed +... 7%, 52320 KB, 58114 KB/s, 0 seconds passed +... 7%, 52352 KB, 58134 KB/s, 0 seconds passed +... 7%, 52384 KB, 58155 KB/s, 0 seconds passed +... 7%, 52416 KB, 58175 KB/s, 0 seconds passed +... 7%, 52448 KB, 58195 KB/s, 0 seconds passed +... 7%, 52480 KB, 58215 KB/s, 0 seconds passed +... 7%, 52512 KB, 58235 KB/s, 0 seconds passed +... 7%, 52544 KB, 58254 KB/s, 0 seconds passed +... 7%, 52576 KB, 58274 KB/s, 0 seconds passed +... 7%, 52608 KB, 58294 KB/s, 0 seconds passed +... 7%, 52640 KB, 58314 KB/s, 0 seconds passed +... 7%, 52672 KB, 58336 KB/s, 0 seconds passed +... 7%, 52704 KB, 58355 KB/s, 0 seconds passed +... 7%, 52736 KB, 58374 KB/s, 0 seconds passed +... 7%, 52768 KB, 58394 KB/s, 0 seconds passed +... 7%, 52800 KB, 58414 KB/s, 0 seconds passed +... 7%, 52832 KB, 58434 KB/s, 0 seconds passed +... 7%, 52864 KB, 58454 KB/s, 0 seconds passed +... 7%, 52896 KB, 58474 KB/s, 0 seconds passed +... 7%, 52928 KB, 58494 KB/s, 0 seconds passed +... 7%, 52960 KB, 58516 KB/s, 0 seconds passed +... 7%, 52992 KB, 58537 KB/s, 0 seconds passed +... 7%, 53024 KB, 58557 KB/s, 0 seconds passed +... 7%, 53056 KB, 58577 KB/s, 0 seconds passed +... 7%, 53088 KB, 58597 KB/s, 0 seconds passed +... 7%, 53120 KB, 58617 KB/s, 0 seconds passed +... 7%, 53152 KB, 58637 KB/s, 0 seconds passed +... 7%, 53184 KB, 58657 KB/s, 0 seconds passed +... 7%, 53216 KB, 58677 KB/s, 0 seconds passed +... 7%, 53248 KB, 58695 KB/s, 0 seconds passed +... 7%, 53280 KB, 58715 KB/s, 0 seconds passed +... 7%, 53312 KB, 58733 KB/s, 0 seconds passed +... 7%, 53344 KB, 58754 KB/s, 0 seconds passed +... 7%, 53376 KB, 58774 KB/s, 0 seconds passed +... 7%, 53408 KB, 58794 KB/s, 0 seconds passed +... 7%, 53440 KB, 58813 KB/s, 0 seconds passed +... 7%, 53472 KB, 58837 KB/s, 0 seconds passed +... 7%, 53504 KB, 58861 KB/s, 0 seconds passed +... 7%, 53536 KB, 58886 KB/s, 0 seconds passed +... 7%, 53568 KB, 58911 KB/s, 0 seconds passed +... 7%, 53600 KB, 58935 KB/s, 0 seconds passed +... 7%, 53632 KB, 58959 KB/s, 0 seconds passed +... 7%, 53664 KB, 58977 KB/s, 0 seconds passed +... 7%, 53696 KB, 58999 KB/s, 0 seconds passed +... 7%, 53728 KB, 59017 KB/s, 0 seconds passed +... 7%, 53760 KB, 59035 KB/s, 0 seconds passed +... 7%, 53792 KB, 59053 KB/s, 0 seconds passed +... 7%, 53824 KB, 59061 KB/s, 0 seconds passed +... 7%, 53856 KB, 59083 KB/s, 0 seconds passed +... 7%, 53888 KB, 59098 KB/s, 0 seconds passed +... 7%, 53920 KB, 59115 KB/s, 0 seconds passed +... 7%, 53952 KB, 59133 KB/s, 0 seconds passed +... 7%, 53984 KB, 59148 KB/s, 0 seconds passed +... 7%, 54016 KB, 59166 KB/s, 0 seconds passed +... 7%, 54048 KB, 59184 KB/s, 0 seconds passed +... 7%, 54080 KB, 59199 KB/s, 0 seconds passed +... 7%, 54112 KB, 59214 KB/s, 0 seconds passed +... 7%, 54144 KB, 59231 KB/s, 0 seconds passed +... 7%, 54176 KB, 59253 KB/s, 0 seconds passed +... 7%, 54208 KB, 59271 KB/s, 0 seconds passed +... 7%, 54240 KB, 59289 KB/s, 0 seconds passed +... 7%, 54272 KB, 59303 KB/s, 0 seconds passed +... 7%, 54304 KB, 59321 KB/s, 0 seconds passed +... 7%, 54336 KB, 59339 KB/s, 0 seconds passed +... 7%, 54368 KB, 59357 KB/s, 0 seconds passed +... 7%, 54400 KB, 59372 KB/s, 0 seconds passed +... 7%, 54432 KB, 59390 KB/s, 0 seconds passed +... 7%, 54464 KB, 59397 KB/s, 0 seconds passed +... 7%, 54496 KB, 59405 KB/s, 0 seconds passed +... 7%, 54528 KB, 59429 KB/s, 0 seconds passed +... 7%, 54560 KB, 59450 KB/s, 0 seconds passed +... 7%, 54592 KB, 59474 KB/s, 0 seconds passed +... 7%, 54624 KB, 59486 KB/s, 0 seconds passed +... 7%, 54656 KB, 59493 KB/s, 0 seconds passed +... 7%, 54688 KB, 59516 KB/s, 0 seconds passed +... 7%, 54720 KB, 59537 KB/s, 0 seconds passed +... 7%, 54752 KB, 59551 KB/s, 0 seconds passed +... 7%, 54784 KB, 59560 KB/s, 0 seconds passed +... 7%, 54816 KB, 59583 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 7%, 54848 KB, 59600 KB/s, 0 seconds passed +... 7%, 54880 KB, 59615 KB/s, 0 seconds passed +... 7%, 54912 KB, 59632 KB/s, 0 seconds passed +... 7%, 54944 KB, 59650 KB/s, 0 seconds passed +... 7%, 54976 KB, 59665 KB/s, 0 seconds passed +... 7%, 55008 KB, 59682 KB/s, 0 seconds passed +... 7%, 55040 KB, 59417 KB/s, 0 seconds passed +... 7%, 55072 KB, 59437 KB/s, 0 seconds passed +... 7%, 55104 KB, 59452 KB/s, 0 seconds passed +... 7%, 55136 KB, 59459 KB/s, 0 seconds passed +... 7%, 55168 KB, 59474 KB/s, 0 seconds passed +... 7%, 55200 KB, 59500 KB/s, 0 seconds passed +... 7%, 55232 KB, 59522 KB/s, 0 seconds passed +... 7%, 55264 KB, 59539 KB/s, 0 seconds passed +... 7%, 55296 KB, 59554 KB/s, 0 seconds passed +... 7%, 55328 KB, 59569 KB/s, 0 seconds passed +... 7%, 55360 KB, 59577 KB/s, 0 seconds passed +... 7%, 55392 KB, 59587 KB/s, 0 seconds passed +... 7%, 55424 KB, 59608 KB/s, 0 seconds passed +... 7%, 55456 KB, 59631 KB/s, 0 seconds passed +... 7%, 55488 KB, 59654 KB/s, 0 seconds passed +... 7%, 55520 KB, 59675 KB/s, 0 seconds passed +... 7%, 55552 KB, 59689 KB/s, 0 seconds passed +... 7%, 55584 KB, 59707 KB/s, 0 seconds passed +... 7%, 55616 KB, 59725 KB/s, 0 seconds passed +... 8%, 55648 KB, 59739 KB/s, 0 seconds passed +... 8%, 55680 KB, 59756 KB/s, 0 seconds passed +... 8%, 55712 KB, 59774 KB/s, 0 seconds passed +... 8%, 55744 KB, 59788 KB/s, 0 seconds passed +... 8%, 55776 KB, 59806 KB/s, 0 seconds passed +... 8%, 55808 KB, 59816 KB/s, 0 seconds passed +... 8%, 55840 KB, 59830 KB/s, 0 seconds passed +... 8%, 55872 KB, 59839 KB/s, 0 seconds passed +... 8%, 55904 KB, 59858 KB/s, 0 seconds passed +... 8%, 55936 KB, 59881 KB/s, 0 seconds passed +... 8%, 55968 KB, 59897 KB/s, 0 seconds passed +... 8%, 56000 KB, 59906 KB/s, 0 seconds passed +... 8%, 56032 KB, 59914 KB/s, 0 seconds passed +... 8%, 56064 KB, 59921 KB/s, 0 seconds passed +... 8%, 56096 KB, 59944 KB/s, 0 seconds passed +... 8%, 56128 KB, 59968 KB/s, 0 seconds passed +... 8%, 56160 KB, 59991 KB/s, 0 seconds passed +... 8%, 56192 KB, 60014 KB/s, 0 seconds passed +... 8%, 56224 KB, 60030 KB/s, 0 seconds passed +... 8%, 56256 KB, 60047 KB/s, 0 seconds passed +... 8%, 56288 KB, 60064 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 8%, 56320 KB, 56711 KB/s, 0 seconds passed +... 8%, 56352 KB, 56628 KB/s, 0 seconds passed +... 8%, 56384 KB, 56630 KB/s, 0 seconds passed +... 8%, 56416 KB, 56637 KB/s, 0 seconds passed +... 8%, 56448 KB, 56647 KB/s, 0 seconds passed +... 8%, 56480 KB, 56655 KB/s, 0 seconds passed +... 8%, 56512 KB, 56666 KB/s, 0 seconds passed +... 8%, 56544 KB, 56674 KB/s, 0 seconds passed +... 8%, 56576 KB, 56684 KB/s, 0 seconds passed +... 8%, 56608 KB, 56694 KB/s, 0 seconds passed +... 8%, 56640 KB, 56705 KB/s, 0 seconds passed +... 8%, 56672 KB, 56714 KB/s, 0 seconds passed +... 8%, 56704 KB, 56724 KB/s, 0 seconds passed +... 8%, 56736 KB, 56734 KB/s, 1 seconds passed +... 8%, 56768 KB, 56745 KB/s, 1 seconds passed +... 8%, 56800 KB, 56756 KB/s, 1 seconds passed +... 8%, 56832 KB, 56764 KB/s, 1 seconds passed +... 8%, 56864 KB, 56774 KB/s, 1 seconds passed +... 8%, 56896 KB, 56785 KB/s, 1 seconds passed +... 8%, 56928 KB, 56795 KB/s, 1 seconds passed +... 8%, 56960 KB, 56806 KB/s, 1 seconds passed +... 8%, 56992 KB, 56815 KB/s, 1 seconds passed +... 8%, 57024 KB, 56823 KB/s, 1 seconds passed +... 8%, 57056 KB, 56833 KB/s, 1 seconds passed +... 8%, 57088 KB, 56844 KB/s, 1 seconds passed +... 8%, 57120 KB, 56853 KB/s, 1 seconds passed +... 8%, 57152 KB, 56863 KB/s, 1 seconds passed +... 8%, 57184 KB, 56872 KB/s, 1 seconds passed +... 8%, 57216 KB, 56882 KB/s, 1 seconds passed +... 8%, 57248 KB, 56893 KB/s, 1 seconds passed +... 8%, 57280 KB, 56903 KB/s, 1 seconds passed +... 8%, 57312 KB, 56914 KB/s, 1 seconds passed +... 8%, 57344 KB, 56920 KB/s, 1 seconds passed +... 8%, 57376 KB, 56931 KB/s, 1 seconds passed +... 8%, 57408 KB, 56941 KB/s, 1 seconds passed +... 8%, 57440 KB, 56953 KB/s, 1 seconds passed +... 8%, 57472 KB, 56967 KB/s, 1 seconds passed +... 8%, 57504 KB, 56977 KB/s, 1 seconds passed +... 8%, 57536 KB, 56996 KB/s, 1 seconds passed +... 8%, 57568 KB, 57015 KB/s, 1 seconds passed +... 8%, 57600 KB, 57034 KB/s, 1 seconds passed +... 8%, 57632 KB, 57052 KB/s, 1 seconds passed +... 8%, 57664 KB, 57071 KB/s, 1 seconds passed +... 8%, 57696 KB, 57090 KB/s, 1 seconds passed +... 8%, 57728 KB, 57107 KB/s, 1 seconds passed +... 8%, 57760 KB, 57126 KB/s, 1 seconds passed +... 8%, 57792 KB, 57144 KB/s, 1 seconds passed +... 8%, 57824 KB, 57162 KB/s, 1 seconds passed +... 8%, 57856 KB, 57180 KB/s, 1 seconds passed +... 8%, 57888 KB, 57199 KB/s, 1 seconds passed +... 8%, 57920 KB, 57219 KB/s, 1 seconds passed +... 8%, 57952 KB, 57238 KB/s, 1 seconds passed +... 8%, 57984 KB, 57256 KB/s, 1 seconds passed +... 8%, 58016 KB, 57274 KB/s, 1 seconds passed +... 8%, 58048 KB, 57292 KB/s, 1 seconds passed +... 8%, 58080 KB, 57310 KB/s, 1 seconds passed +... 8%, 58112 KB, 57329 KB/s, 1 seconds passed +... 8%, 58144 KB, 57348 KB/s, 1 seconds passed +... 8%, 58176 KB, 57366 KB/s, 1 seconds passed +... 8%, 58208 KB, 57384 KB/s, 1 seconds passed +... 8%, 58240 KB, 57403 KB/s, 1 seconds passed +... 8%, 58272 KB, 57422 KB/s, 1 seconds passed +... 8%, 58304 KB, 57441 KB/s, 1 seconds passed +... 8%, 58336 KB, 57456 KB/s, 1 seconds passed +... 8%, 58368 KB, 57475 KB/s, 1 seconds passed +... 8%, 58400 KB, 57492 KB/s, 1 seconds passed +... 8%, 58432 KB, 57510 KB/s, 1 seconds passed +... 8%, 58464 KB, 57527 KB/s, 1 seconds passed +... 8%, 58496 KB, 57546 KB/s, 1 seconds passed +... 8%, 58528 KB, 57562 KB/s, 1 seconds passed +... 8%, 58560 KB, 57580 KB/s, 1 seconds passed +... 8%, 58592 KB, 57598 KB/s, 1 seconds passed +... 8%, 58624 KB, 57616 KB/s, 1 seconds passed +... 8%, 58656 KB, 57635 KB/s, 1 seconds passed +... 8%, 58688 KB, 57653 KB/s, 1 seconds passed +... 8%, 58720 KB, 57672 KB/s, 1 seconds passed +... 8%, 58752 KB, 57690 KB/s, 1 seconds passed +... 8%, 58784 KB, 57707 KB/s, 1 seconds passed +... 8%, 58816 KB, 57727 KB/s, 1 seconds passed +... 8%, 58848 KB, 57749 KB/s, 1 seconds passed +... 8%, 58880 KB, 57771 KB/s, 1 seconds passed +... 8%, 58912 KB, 57793 KB/s, 1 seconds passed +... 8%, 58944 KB, 57815 KB/s, 1 seconds passed +... 8%, 58976 KB, 57837 KB/s, 1 seconds passed +... 8%, 59008 KB, 57860 KB/s, 1 seconds passed +... 8%, 59040 KB, 57882 KB/s, 1 seconds passed +... 8%, 59072 KB, 57903 KB/s, 1 seconds passed +... 8%, 59104 KB, 57927 KB/s, 1 seconds passed +... 8%, 59136 KB, 57949 KB/s, 1 seconds passed +... 8%, 59168 KB, 57973 KB/s, 1 seconds passed +... 8%, 59200 KB, 57995 KB/s, 1 seconds passed +... 8%, 59232 KB, 58018 KB/s, 1 seconds passed +... 8%, 59264 KB, 58040 KB/s, 1 seconds passed +... 8%, 59296 KB, 58063 KB/s, 1 seconds passed +... 8%, 59328 KB, 58086 KB/s, 1 seconds passed +... 8%, 59360 KB, 58108 KB/s, 1 seconds passed +... 8%, 59392 KB, 58131 KB/s, 1 seconds passed +... 8%, 59424 KB, 58148 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 8%, 59456 KB, 58135 KB/s, 1 seconds passed +... 8%, 59488 KB, 58145 KB/s, 1 seconds passed +... 8%, 59520 KB, 58081 KB/s, 1 seconds passed +... 8%, 59552 KB, 58083 KB/s, 1 seconds passed +... 8%, 59584 KB, 58066 KB/s, 1 seconds passed +... 8%, 59616 KB, 58076 KB/s, 1 seconds passed +... 8%, 59648 KB, 58030 KB/s, 1 seconds passed +... 8%, 59680 KB, 57032 KB/s, 1 seconds passed +... 8%, 59712 KB, 57037 KB/s, 1 seconds passed +... 8%, 59744 KB, 57045 KB/s, 1 seconds passed +... 8%, 59776 KB, 57054 KB/s, 1 seconds passed +... 8%, 59808 KB, 57061 KB/s, 1 seconds passed +... 8%, 59840 KB, 57071 KB/s, 1 seconds passed +... 8%, 59872 KB, 57080 KB/s, 1 seconds passed +... 8%, 59904 KB, 57089 KB/s, 1 seconds passed +... 8%, 59936 KB, 57099 KB/s, 1 seconds passed +... 8%, 59968 KB, 57109 KB/s, 1 seconds passed +... 8%, 60000 KB, 57118 KB/s, 1 seconds passed +... 8%, 60032 KB, 57129 KB/s, 1 seconds passed +... 8%, 60064 KB, 57136 KB/s, 1 seconds passed +... 8%, 60096 KB, 57147 KB/s, 1 seconds passed +... 8%, 60128 KB, 57156 KB/s, 1 seconds passed +... 8%, 60160 KB, 57165 KB/s, 1 seconds passed +... 8%, 60192 KB, 57176 KB/s, 1 seconds passed +... 8%, 60224 KB, 57185 KB/s, 1 seconds passed +... 8%, 60256 KB, 57196 KB/s, 1 seconds passed +... 8%, 60288 KB, 57205 KB/s, 1 seconds passed +... 8%, 60320 KB, 57215 KB/s, 1 seconds passed +... 8%, 60352 KB, 57225 KB/s, 1 seconds passed +... 8%, 60384 KB, 57235 KB/s, 1 seconds passed +... 8%, 60416 KB, 57244 KB/s, 1 seconds passed +... 8%, 60448 KB, 57254 KB/s, 1 seconds passed +... 8%, 60480 KB, 57264 KB/s, 1 seconds passed +... 8%, 60512 KB, 57274 KB/s, 1 seconds passed +... 8%, 60544 KB, 57284 KB/s, 1 seconds passed +... 8%, 60576 KB, 57294 KB/s, 1 seconds passed +... 8%, 60608 KB, 57303 KB/s, 1 seconds passed +... 8%, 60640 KB, 57314 KB/s, 1 seconds passed +... 8%, 60672 KB, 57323 KB/s, 1 seconds passed +... 8%, 60704 KB, 57333 KB/s, 1 seconds passed +... 8%, 60736 KB, 57341 KB/s, 1 seconds passed +... 8%, 60768 KB, 57351 KB/s, 1 seconds passed +... 8%, 60800 KB, 57360 KB/s, 1 seconds passed +... 8%, 60832 KB, 57373 KB/s, 1 seconds passed +... 8%, 60864 KB, 57390 KB/s, 1 seconds passed +... 8%, 60896 KB, 57408 KB/s, 1 seconds passed +... 8%, 60928 KB, 57425 KB/s, 1 seconds passed +... 8%, 60960 KB, 57442 KB/s, 1 seconds passed +... 8%, 60992 KB, 57460 KB/s, 1 seconds passed +... 8%, 61024 KB, 57479 KB/s, 1 seconds passed +... 8%, 61056 KB, 57498 KB/s, 1 seconds passed +... 8%, 61088 KB, 57518 KB/s, 1 seconds passed +... 8%, 61120 KB, 57538 KB/s, 1 seconds passed +... 8%, 61152 KB, 57557 KB/s, 1 seconds passed +... 8%, 61184 KB, 57577 KB/s, 1 seconds passed +... 8%, 61216 KB, 57597 KB/s, 1 seconds passed +... 8%, 61248 KB, 57617 KB/s, 1 seconds passed +... 8%, 61280 KB, 57635 KB/s, 1 seconds passed +... 8%, 61312 KB, 57655 KB/s, 1 seconds passed +... 8%, 61344 KB, 57675 KB/s, 1 seconds passed +... 8%, 61376 KB, 57694 KB/s, 1 seconds passed +... 8%, 61408 KB, 57714 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 8%, 61440 KB, 56233 KB/s, 1 seconds passed +... 8%, 61472 KB, 56237 KB/s, 1 seconds passed +... 8%, 61504 KB, 56221 KB/s, 1 seconds passed +... 8%, 61536 KB, 56222 KB/s, 1 seconds passed +... 8%, 61568 KB, 56195 KB/s, 1 seconds passed +... 8%, 61600 KB, 56203 KB/s, 1 seconds passed +... 8%, 61632 KB, 56213 KB/s, 1 seconds passed +... 8%, 61664 KB, 56089 KB/s, 1 seconds passed +... 8%, 61696 KB, 56092 KB/s, 1 seconds passed +... 8%, 61728 KB, 56101 KB/s, 1 seconds passed +... 8%, 61760 KB, 56111 KB/s, 1 seconds passed +... 8%, 61792 KB, 56119 KB/s, 1 seconds passed +... 8%, 61824 KB, 56128 KB/s, 1 seconds passed +... 8%, 61856 KB, 56137 KB/s, 1 seconds passed +... 8%, 61888 KB, 56147 KB/s, 1 seconds passed +... 8%, 61920 KB, 56157 KB/s, 1 seconds passed +... 8%, 61952 KB, 56166 KB/s, 1 seconds passed +... 8%, 61984 KB, 56174 KB/s, 1 seconds passed +... 8%, 62016 KB, 56183 KB/s, 1 seconds passed +... 8%, 62048 KB, 56191 KB/s, 1 seconds passed +... 8%, 62080 KB, 56201 KB/s, 1 seconds passed +... 8%, 62112 KB, 56210 KB/s, 1 seconds passed +... 8%, 62144 KB, 56220 KB/s, 1 seconds passed +... 8%, 62176 KB, 56228 KB/s, 1 seconds passed +... 8%, 62208 KB, 56238 KB/s, 1 seconds passed +... 8%, 62240 KB, 56247 KB/s, 1 seconds passed +... 8%, 62272 KB, 56256 KB/s, 1 seconds passed +... 8%, 62304 KB, 56264 KB/s, 1 seconds passed +... 8%, 62336 KB, 56270 KB/s, 1 seconds passed +... 8%, 62368 KB, 56280 KB/s, 1 seconds passed +... 8%, 62400 KB, 56289 KB/s, 1 seconds passed +... 8%, 62432 KB, 56298 KB/s, 1 seconds passed +... 8%, 62464 KB, 56308 KB/s, 1 seconds passed +... 8%, 62496 KB, 56317 KB/s, 1 seconds passed +... 8%, 62528 KB, 56328 KB/s, 1 seconds passed +... 8%, 62560 KB, 56342 KB/s, 1 seconds passed +... 8%, 62592 KB, 56357 KB/s, 1 seconds passed +... 9%, 62624 KB, 56374 KB/s, 1 seconds passed +... 9%, 62656 KB, 56388 KB/s, 1 seconds passed +... 9%, 62688 KB, 56404 KB/s, 1 seconds passed +... 9%, 62720 KB, 56419 KB/s, 1 seconds passed +... 9%, 62752 KB, 56435 KB/s, 1 seconds passed +... 9%, 62784 KB, 56450 KB/s, 1 seconds passed +... 9%, 62816 KB, 56466 KB/s, 1 seconds passed +... 9%, 62848 KB, 56482 KB/s, 1 seconds passed +... 9%, 62880 KB, 56498 KB/s, 1 seconds passed +... 9%, 62912 KB, 56512 KB/s, 1 seconds passed +... 9%, 62944 KB, 56528 KB/s, 1 seconds passed +... 9%, 62976 KB, 56544 KB/s, 1 seconds passed +... 9%, 63008 KB, 56560 KB/s, 1 seconds passed +... 9%, 63040 KB, 56577 KB/s, 1 seconds passed +... 9%, 63072 KB, 56593 KB/s, 1 seconds passed +... 9%, 63104 KB, 56608 KB/s, 1 seconds passed +... 9%, 63136 KB, 56624 KB/s, 1 seconds passed +... 9%, 63168 KB, 56640 KB/s, 1 seconds passed +... 9%, 63200 KB, 56657 KB/s, 1 seconds passed +... 9%, 63232 KB, 56673 KB/s, 1 seconds passed +... 9%, 63264 KB, 56688 KB/s, 1 seconds passed +... 9%, 63296 KB, 56704 KB/s, 1 seconds passed +... 9%, 63328 KB, 56720 KB/s, 1 seconds passed +... 9%, 63360 KB, 56737 KB/s, 1 seconds passed +... 9%, 63392 KB, 56753 KB/s, 1 seconds passed +... 9%, 63424 KB, 56768 KB/s, 1 seconds passed +... 9%, 63456 KB, 56784 KB/s, 1 seconds passed +... 9%, 63488 KB, 56800 KB/s, 1 seconds passed +... 9%, 63520 KB, 56816 KB/s, 1 seconds passed +... 9%, 63552 KB, 56831 KB/s, 1 seconds passed +... 9%, 63584 KB, 56847 KB/s, 1 seconds passed +... 9%, 63616 KB, 56863 KB/s, 1 seconds passed +... 9%, 63648 KB, 56879 KB/s, 1 seconds passed +... 9%, 63680 KB, 56893 KB/s, 1 seconds passed +... 9%, 63712 KB, 56909 KB/s, 1 seconds passed +... 9%, 63744 KB, 56925 KB/s, 1 seconds passed +... 9%, 63776 KB, 56940 KB/s, 1 seconds passed +... 9%, 63808 KB, 56957 KB/s, 1 seconds passed +... 9%, 63840 KB, 56977 KB/s, 1 seconds passed +... 9%, 63872 KB, 56997 KB/s, 1 seconds passed +... 9%, 63904 KB, 57016 KB/s, 1 seconds passed +... 9%, 63936 KB, 57036 KB/s, 1 seconds passed +... 9%, 63968 KB, 57056 KB/s, 1 seconds passed +... 9%, 64000 KB, 57076 KB/s, 1 seconds passed +... 9%, 64032 KB, 57096 KB/s, 1 seconds passed +... 9%, 64064 KB, 57115 KB/s, 1 seconds passed +... 9%, 64096 KB, 57134 KB/s, 1 seconds passed +... 9%, 64128 KB, 57154 KB/s, 1 seconds passed +... 9%, 64160 KB, 57173 KB/s, 1 seconds passed +... 9%, 64192 KB, 57193 KB/s, 1 seconds passed +... 9%, 64224 KB, 57213 KB/s, 1 seconds passed +... 9%, 64256 KB, 57233 KB/s, 1 seconds passed +... 9%, 64288 KB, 57253 KB/s, 1 seconds passed +... 9%, 64320 KB, 57272 KB/s, 1 seconds passed +... 9%, 64352 KB, 57291 KB/s, 1 seconds passed +... 9%, 64384 KB, 57310 KB/s, 1 seconds passed +... 9%, 64416 KB, 57329 KB/s, 1 seconds passed +... 9%, 64448 KB, 57350 KB/s, 1 seconds passed +... 9%, 64480 KB, 57370 KB/s, 1 seconds passed +... 9%, 64512 KB, 57390 KB/s, 1 seconds passed +... 9%, 64544 KB, 57407 KB/s, 1 seconds passed +... 9%, 64576 KB, 57419 KB/s, 1 seconds passed +... 9%, 64608 KB, 57431 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 9%, 64640 KB, 57444 KB/s, 1 seconds passed +... 9%, 64672 KB, 57458 KB/s, 1 seconds passed +... 9%, 64704 KB, 57474 KB/s, 1 seconds passed +... 9%, 64736 KB, 57489 KB/s, 1 seconds passed +... 9%, 64768 KB, 57504 KB/s, 1 seconds passed +... 9%, 64800 KB, 57516 KB/s, 1 seconds passed +... 9%, 64832 KB, 57528 KB/s, 1 seconds passed +... 9%, 64864 KB, 57543 KB/s, 1 seconds passed +... 9%, 64896 KB, 57558 KB/s, 1 seconds passed +... 9%, 64928 KB, 57573 KB/s, 1 seconds passed +... 9%, 64960 KB, 57588 KB/s, 1 seconds passed +... 9%, 64992 KB, 57600 KB/s, 1 seconds passed +... 9%, 65024 KB, 57613 KB/s, 1 seconds passed +... 9%, 65056 KB, 57628 KB/s, 1 seconds passed +... 9%, 65088 KB, 57643 KB/s, 1 seconds passed +... 9%, 65120 KB, 57655 KB/s, 1 seconds passed +... 9%, 65152 KB, 57675 KB/s, 1 seconds passed +... 9%, 65184 KB, 57687 KB/s, 1 seconds passed +... 9%, 65216 KB, 57699 KB/s, 1 seconds passed +... 9%, 65248 KB, 57709 KB/s, 1 seconds passed +... 9%, 65280 KB, 57730 KB/s, 1 seconds passed +... 9%, 65312 KB, 57744 KB/s, 1 seconds passed +... 9%, 65344 KB, 57757 KB/s, 1 seconds passed +... 9%, 65376 KB, 57772 KB/s, 1 seconds passed +... 9%, 65408 KB, 57787 KB/s, 1 seconds passed +... 9%, 65440 KB, 57799 KB/s, 1 seconds passed +... 9%, 65472 KB, 57814 KB/s, 1 seconds passed +... 9%, 65504 KB, 57829 KB/s, 1 seconds passed +... 9%, 65536 KB, 57841 KB/s, 1 seconds passed +... 9%, 65568 KB, 57855 KB/s, 1 seconds passed +... 9%, 65600 KB, 57868 KB/s, 1 seconds passed +... 9%, 65632 KB, 57883 KB/s, 1 seconds passed +... 9%, 65664 KB, 57898 KB/s, 1 seconds passed +... 9%, 65696 KB, 57912 KB/s, 1 seconds passed +... 9%, 65728 KB, 57925 KB/s, 1 seconds passed +... 9%, 65760 KB, 57940 KB/s, 1 seconds passed +... 9%, 65792 KB, 57954 KB/s, 1 seconds passed +... 9%, 65824 KB, 57966 KB/s, 1 seconds passed +... 9%, 65856 KB, 57980 KB/s, 1 seconds passed +... 9%, 65888 KB, 57986 KB/s, 1 seconds passed +... 9%, 65920 KB, 58002 KB/s, 1 seconds passed +... 9%, 65952 KB, 58022 KB/s, 1 seconds passed +... 9%, 65984 KB, 58037 KB/s, 1 seconds passed +... 9%, 66016 KB, 58049 KB/s, 1 seconds passed +... 9%, 66048 KB, 58064 KB/s, 1 seconds passed +... 9%, 66080 KB, 58079 KB/s, 1 seconds passed +... 9%, 66112 KB, 58091 KB/s, 1 seconds passed +... 9%, 66144 KB, 58106 KB/s, 1 seconds passed +... 9%, 66176 KB, 58121 KB/s, 1 seconds passed +... 9%, 66208 KB, 58133 KB/s, 1 seconds passed +... 9%, 66240 KB, 58147 KB/s, 1 seconds passed +... 9%, 66272 KB, 58162 KB/s, 1 seconds passed +... 9%, 66304 KB, 58174 KB/s, 1 seconds passed +... 9%, 66336 KB, 58189 KB/s, 1 seconds passed +... 9%, 66368 KB, 58204 KB/s, 1 seconds passed +... 9%, 66400 KB, 58216 KB/s, 1 seconds passed +... 9%, 66432 KB, 58230 KB/s, 1 seconds passed +... 9%, 66464 KB, 58245 KB/s, 1 seconds passed +... 9%, 66496 KB, 58257 KB/s, 1 seconds passed +... 9%, 66528 KB, 58272 KB/s, 1 seconds passed +... 9%, 66560 KB, 57798 KB/s, 1 seconds passed +... 9%, 66592 KB, 57805 KB/s, 1 seconds passed +... 9%, 66624 KB, 57814 KB/s, 1 seconds passed +... 9%, 66656 KB, 57823 KB/s, 1 seconds passed +... 9%, 66688 KB, 57831 KB/s, 1 seconds passed +... 9%, 66720 KB, 57840 KB/s, 1 seconds passed +... 9%, 66752 KB, 57849 KB/s, 1 seconds passed +... 9%, 66784 KB, 57858 KB/s, 1 seconds passed +... 9%, 66816 KB, 57865 KB/s, 1 seconds passed +... 9%, 66848 KB, 57874 KB/s, 1 seconds passed +... 9%, 66880 KB, 57883 KB/s, 1 seconds passed +... 9%, 66912 KB, 57893 KB/s, 1 seconds passed +... 9%, 66944 KB, 57902 KB/s, 1 seconds passed +... 9%, 66976 KB, 57910 KB/s, 1 seconds passed +... 9%, 67008 KB, 57920 KB/s, 1 seconds passed +... 9%, 67040 KB, 57929 KB/s, 1 seconds passed +... 9%, 67072 KB, 57938 KB/s, 1 seconds passed +... 9%, 67104 KB, 57948 KB/s, 1 seconds passed +... 9%, 67136 KB, 57956 KB/s, 1 seconds passed +... 9%, 67168 KB, 57965 KB/s, 1 seconds passed +... 9%, 67200 KB, 57974 KB/s, 1 seconds passed +... 9%, 67232 KB, 57983 KB/s, 1 seconds passed +... 9%, 67264 KB, 57993 KB/s, 1 seconds passed +... 9%, 67296 KB, 58002 KB/s, 1 seconds passed +... 9%, 67328 KB, 58016 KB/s, 1 seconds passed +... 9%, 67360 KB, 58028 KB/s, 1 seconds passed +... 9%, 67392 KB, 58042 KB/s, 1 seconds passed +... 9%, 67424 KB, 58055 KB/s, 1 seconds passed +... 9%, 67456 KB, 58067 KB/s, 1 seconds passed +... 9%, 67488 KB, 58080 KB/s, 1 seconds passed +... 9%, 67520 KB, 58092 KB/s, 1 seconds passed +... 9%, 67552 KB, 58104 KB/s, 1 seconds passed +... 9%, 67584 KB, 58117 KB/s, 1 seconds passed +... 9%, 67616 KB, 58128 KB/s, 1 seconds passed +... 9%, 67648 KB, 58141 KB/s, 1 seconds passed +... 9%, 67680 KB, 58154 KB/s, 1 seconds passed +... 9%, 67712 KB, 58166 KB/s, 1 seconds passed +... 9%, 67744 KB, 58178 KB/s, 1 seconds passed +... 9%, 67776 KB, 58191 KB/s, 1 seconds passed +... 9%, 67808 KB, 58203 KB/s, 1 seconds passed +... 9%, 67840 KB, 58215 KB/s, 1 seconds passed +... 9%, 67872 KB, 58227 KB/s, 1 seconds passed +... 9%, 67904 KB, 58238 KB/s, 1 seconds passed +... 9%, 67936 KB, 58250 KB/s, 1 seconds passed +... 9%, 67968 KB, 58262 KB/s, 1 seconds passed +... 9%, 68000 KB, 58275 KB/s, 1 seconds passed +... 9%, 68032 KB, 58287 KB/s, 1 seconds passed +... 9%, 68064 KB, 58299 KB/s, 1 seconds passed +... 9%, 68096 KB, 58312 KB/s, 1 seconds passed +... 9%, 68128 KB, 58323 KB/s, 1 seconds passed +... 9%, 68160 KB, 58335 KB/s, 1 seconds passed +... 9%, 68192 KB, 58347 KB/s, 1 seconds passed +... 9%, 68224 KB, 58359 KB/s, 1 seconds passed +... 9%, 68256 KB, 58371 KB/s, 1 seconds passed +... 9%, 68288 KB, 58383 KB/s, 1 seconds passed +... 9%, 68320 KB, 58396 KB/s, 1 seconds passed +... 9%, 68352 KB, 58408 KB/s, 1 seconds passed +... 9%, 68384 KB, 58420 KB/s, 1 seconds passed +... 9%, 68416 KB, 58432 KB/s, 1 seconds passed +... 9%, 68448 KB, 58444 KB/s, 1 seconds passed +... 9%, 68480 KB, 58462 KB/s, 1 seconds passed +... 9%, 68512 KB, 58479 KB/s, 1 seconds passed +... 9%, 68544 KB, 58497 KB/s, 1 seconds passed +... 9%, 68576 KB, 58515 KB/s, 1 seconds passed +... 9%, 68608 KB, 58532 KB/s, 1 seconds passed +... 9%, 68640 KB, 58550 KB/s, 1 seconds passed +... 9%, 68672 KB, 58567 KB/s, 1 seconds passed +... 9%, 68704 KB, 58585 KB/s, 1 seconds passed +... 9%, 68736 KB, 58602 KB/s, 1 seconds passed +... 9%, 68768 KB, 58619 KB/s, 1 seconds passed +... 9%, 68800 KB, 58637 KB/s, 1 seconds passed +... 9%, 68832 KB, 58654 KB/s, 1 seconds passed +... 9%, 68864 KB, 58672 KB/s, 1 seconds passed +... 9%, 68896 KB, 58689 KB/s, 1 seconds passed +... 9%, 68928 KB, 58707 KB/s, 1 seconds passed +... 9%, 68960 KB, 58725 KB/s, 1 seconds passed +... 9%, 68992 KB, 58743 KB/s, 1 seconds passed +... 9%, 69024 KB, 58760 KB/s, 1 seconds passed +... 9%, 69056 KB, 58778 KB/s, 1 seconds passed +... 9%, 69088 KB, 58795 KB/s, 1 seconds passed +... 9%, 69120 KB, 58813 KB/s, 1 seconds passed +... 9%, 69152 KB, 58830 KB/s, 1 seconds passed +... 9%, 69184 KB, 58848 KB/s, 1 seconds passed +... 9%, 69216 KB, 58865 KB/s, 1 seconds passed +... 9%, 69248 KB, 58883 KB/s, 1 seconds passed +... 9%, 69280 KB, 58901 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 9%, 69312 KB, 58918 KB/s, 1 seconds passed +... 9%, 69344 KB, 58935 KB/s, 1 seconds passed +... 9%, 69376 KB, 58952 KB/s, 1 seconds passed +... 9%, 69408 KB, 58970 KB/s, 1 seconds passed +... 9%, 69440 KB, 58987 KB/s, 1 seconds passed +... 9%, 69472 KB, 59005 KB/s, 1 seconds passed +... 9%, 69504 KB, 59022 KB/s, 1 seconds passed +... 9%, 69536 KB, 59040 KB/s, 1 seconds passed +... 10%, 69568 KB, 59057 KB/s, 1 seconds passed +... 10%, 69600 KB, 59075 KB/s, 1 seconds passed +... 10%, 69632 KB, 59093 KB/s, 1 seconds passed +... 10%, 69664 KB, 59109 KB/s, 1 seconds passed +... 10%, 69696 KB, 59120 KB/s, 1 seconds passed +... 10%, 69728 KB, 59132 KB/s, 1 seconds passed +... 10%, 69760 KB, 59148 KB/s, 1 seconds passed +... 10%, 69792 KB, 59159 KB/s, 1 seconds passed +... 10%, 69824 KB, 59174 KB/s, 1 seconds passed +... 10%, 69856 KB, 59187 KB/s, 1 seconds passed +... 10%, 69888 KB, 59201 KB/s, 1 seconds passed +... 10%, 69920 KB, 59215 KB/s, 1 seconds passed +... 10%, 69952 KB, 59227 KB/s, 1 seconds passed +... 10%, 69984 KB, 59241 KB/s, 1 seconds passed +... 10%, 70016 KB, 59249 KB/s, 1 seconds passed +... 10%, 70048 KB, 59261 KB/s, 1 seconds passed +... 10%, 70080 KB, 59275 KB/s, 1 seconds passed +... 10%, 70112 KB, 59288 KB/s, 1 seconds passed +... 10%, 70144 KB, 59301 KB/s, 1 seconds passed +... 10%, 70176 KB, 59306 KB/s, 1 seconds passed +... 10%, 70208 KB, 59323 KB/s, 1 seconds passed +... 10%, 70240 KB, 59341 KB/s, 1 seconds passed +... 10%, 70272 KB, 59354 KB/s, 1 seconds passed +... 10%, 70304 KB, 59360 KB/s, 1 seconds passed +... 10%, 70336 KB, 59377 KB/s, 1 seconds passed +... 10%, 70368 KB, 59397 KB/s, 1 seconds passed +... 10%, 70400 KB, 59411 KB/s, 1 seconds passed +... 10%, 70432 KB, 59424 KB/s, 1 seconds passed +... 10%, 70464 KB, 59302 KB/s, 1 seconds passed +... 10%, 70496 KB, 59309 KB/s, 1 seconds passed +... 10%, 70528 KB, 59325 KB/s, 1 seconds passed +... 10%, 70560 KB, 59343 KB/s, 1 seconds passed +... 10%, 70592 KB, 59357 KB/s, 1 seconds passed +... 10%, 70624 KB, 59368 KB/s, 1 seconds passed +... 10%, 70656 KB, 59382 KB/s, 1 seconds passed +... 10%, 70688 KB, 59394 KB/s, 1 seconds passed +... 10%, 70720 KB, 59407 KB/s, 1 seconds passed +... 10%, 70752 KB, 59421 KB/s, 1 seconds passed +... 10%, 70784 KB, 59435 KB/s, 1 seconds passed +... 10%, 70816 KB, 59446 KB/s, 1 seconds passed +... 10%, 70848 KB, 59460 KB/s, 1 seconds passed +... 10%, 70880 KB, 59471 KB/s, 1 seconds passed +... 10%, 70912 KB, 59485 KB/s, 1 seconds passed +... 10%, 70944 KB, 59499 KB/s, 1 seconds passed +... 10%, 70976 KB, 59510 KB/s, 1 seconds passed +... 10%, 71008 KB, 59524 KB/s, 1 seconds passed +... 10%, 71040 KB, 59538 KB/s, 1 seconds passed +... 10%, 71072 KB, 59549 KB/s, 1 seconds passed +... 10%, 71104 KB, 59563 KB/s, 1 seconds passed +... 10%, 71136 KB, 59576 KB/s, 1 seconds passed +... 10%, 71168 KB, 59587 KB/s, 1 seconds passed +... 10%, 71200 KB, 59601 KB/s, 1 seconds passed +... 10%, 71232 KB, 59615 KB/s, 1 seconds passed +... 10%, 71264 KB, 59626 KB/s, 1 seconds passed +... 10%, 71296 KB, 59640 KB/s, 1 seconds passed +... 10%, 71328 KB, 59653 KB/s, 1 seconds passed +... 10%, 71360 KB, 59665 KB/s, 1 seconds passed +... 10%, 71392 KB, 59678 KB/s, 1 seconds passed +... 10%, 71424 KB, 59688 KB/s, 1 seconds passed +... 10%, 71456 KB, 59699 KB/s, 1 seconds passed +... 10%, 71488 KB, 59716 KB/s, 1 seconds passed +... 10%, 71520 KB, 59730 KB/s, 1 seconds passed +... 10%, 71552 KB, 59743 KB/s, 1 seconds passed +... 10%, 71584 KB, 59755 KB/s, 1 seconds passed +... 10%, 71616 KB, 59763 KB/s, 1 seconds passed +... 10%, 71648 KB, 59774 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 10%, 71680 KB, 56761 KB/s, 1 seconds passed +... 10%, 71712 KB, 56761 KB/s, 1 seconds passed +... 10%, 71744 KB, 56767 KB/s, 1 seconds passed +... 10%, 71776 KB, 56778 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 10%, 71808 KB, 55960 KB/s, 1 seconds passed +... 10%, 71840 KB, 55962 KB/s, 1 seconds passed +... 10%, 71872 KB, 55936 KB/s, 1 seconds passed +... 10%, 71904 KB, 55941 KB/s, 1 seconds passed +... 10%, 71936 KB, 55925 KB/s, 1 seconds passed +... 10%, 71968 KB, 55911 KB/s, 1 seconds passed +... 10%, 72000 KB, 55902 KB/s, 1 seconds passed +... 10%, 72032 KB, 55910 KB/s, 1 seconds passed +... 10%, 72064 KB, 55918 KB/s, 1 seconds passed +... 10%, 72096 KB, 55926 KB/s, 1 seconds passed +... 10%, 72128 KB, 55934 KB/s, 1 seconds passed +... 10%, 72160 KB, 55940 KB/s, 1 seconds passed +... 10%, 72192 KB, 55950 KB/s, 1 seconds passed +... 10%, 72224 KB, 55957 KB/s, 1 seconds passed +... 10%, 72256 KB, 55963 KB/s, 1 seconds passed +... 10%, 72288 KB, 55970 KB/s, 1 seconds passed +... 10%, 72320 KB, 55978 KB/s, 1 seconds passed +... 10%, 72352 KB, 55985 KB/s, 1 seconds passed +... 10%, 72384 KB, 55993 KB/s, 1 seconds passed +... 10%, 72416 KB, 55999 KB/s, 1 seconds passed +... 10%, 72448 KB, 56007 KB/s, 1 seconds passed +... 10%, 72480 KB, 56014 KB/s, 1 seconds passed +... 10%, 72512 KB, 56022 KB/s, 1 seconds passed +... 10%, 72544 KB, 56029 KB/s, 1 seconds passed +... 10%, 72576 KB, 56037 KB/s, 1 seconds passed +... 10%, 72608 KB, 56045 KB/s, 1 seconds passed +... 10%, 72640 KB, 56053 KB/s, 1 seconds passed +... 10%, 72672 KB, 56062 KB/s, 1 seconds passed +... 10%, 72704 KB, 56069 KB/s, 1 seconds passed +... 10%, 72736 KB, 56076 KB/s, 1 seconds passed +... 10%, 72768 KB, 56085 KB/s, 1 seconds passed +... 10%, 72800 KB, 56093 KB/s, 1 seconds passed +... 10%, 72832 KB, 56101 KB/s, 1 seconds passed +... 10%, 72864 KB, 56109 KB/s, 1 seconds passed +... 10%, 72896 KB, 56118 KB/s, 1 seconds passed +... 10%, 72928 KB, 56124 KB/s, 1 seconds passed +... 10%, 72960 KB, 56133 KB/s, 1 seconds passed +... 10%, 72992 KB, 56141 KB/s, 1 seconds passed +... 10%, 73024 KB, 56149 KB/s, 1 seconds passed +... 10%, 73056 KB, 56157 KB/s, 1 seconds passed +... 10%, 73088 KB, 56166 KB/s, 1 seconds passed +... 10%, 73120 KB, 56174 KB/s, 1 seconds passed +... 10%, 73152 KB, 56182 KB/s, 1 seconds passed +... 10%, 73184 KB, 56190 KB/s, 1 seconds passed +... 10%, 73216 KB, 56202 KB/s, 1 seconds passed +... 10%, 73248 KB, 56215 KB/s, 1 seconds passed +... 10%, 73280 KB, 56228 KB/s, 1 seconds passed +... 10%, 73312 KB, 56243 KB/s, 1 seconds passed +... 10%, 73344 KB, 56256 KB/s, 1 seconds passed +... 10%, 73376 KB, 56269 KB/s, 1 seconds passed +... 10%, 73408 KB, 56283 KB/s, 1 seconds passed +... 10%, 73440 KB, 56297 KB/s, 1 seconds passed +... 10%, 73472 KB, 56311 KB/s, 1 seconds passed +... 10%, 73504 KB, 56325 KB/s, 1 seconds passed +... 10%, 73536 KB, 56339 KB/s, 1 seconds passed +... 10%, 73568 KB, 56353 KB/s, 1 seconds passed +... 10%, 73600 KB, 56366 KB/s, 1 seconds passed +... 10%, 73632 KB, 56380 KB/s, 1 seconds passed +... 10%, 73664 KB, 56394 KB/s, 1 seconds passed +... 10%, 73696 KB, 56409 KB/s, 1 seconds passed +... 10%, 73728 KB, 56424 KB/s, 1 seconds passed +... 10%, 73760 KB, 56440 KB/s, 1 seconds passed +... 10%, 73792 KB, 56456 KB/s, 1 seconds passed +... 10%, 73824 KB, 56472 KB/s, 1 seconds passed +... 10%, 73856 KB, 56488 KB/s, 1 seconds passed +... 10%, 73888 KB, 56504 KB/s, 1 seconds passed +... 10%, 73920 KB, 56520 KB/s, 1 seconds passed +... 10%, 73952 KB, 56536 KB/s, 1 seconds passed +... 10%, 73984 KB, 56552 KB/s, 1 seconds passed +... 10%, 74016 KB, 56568 KB/s, 1 seconds passed +... 10%, 74048 KB, 56584 KB/s, 1 seconds passed +... 10%, 74080 KB, 56600 KB/s, 1 seconds passed +... 10%, 74112 KB, 56616 KB/s, 1 seconds passed +... 10%, 74144 KB, 55744 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 10%, 74176 KB, 55747 KB/s, 1 seconds passed +... 10%, 74208 KB, 55755 KB/s, 1 seconds passed +... 10%, 74240 KB, 55762 KB/s, 1 seconds passed +... 10%, 74272 KB, 55770 KB/s, 1 seconds passed +... 10%, 74304 KB, 55777 KB/s, 1 seconds passed +... 10%, 74336 KB, 55786 KB/s, 1 seconds passed +... 10%, 74368 KB, 55794 KB/s, 1 seconds passed +... 10%, 74400 KB, 55803 KB/s, 1 seconds passed +... 10%, 74432 KB, 55811 KB/s, 1 seconds passed +... 10%, 74464 KB, 55819 KB/s, 1 seconds passed +... 10%, 74496 KB, 55827 KB/s, 1 seconds passed +... 10%, 74528 KB, 55835 KB/s, 1 seconds passed +... 10%, 74560 KB, 55842 KB/s, 1 seconds passed +... 10%, 74592 KB, 55850 KB/s, 1 seconds passed +... 10%, 74624 KB, 55858 KB/s, 1 seconds passed +... 10%, 74656 KB, 55866 KB/s, 1 seconds passed +... 10%, 74688 KB, 55875 KB/s, 1 seconds passed +... 10%, 74720 KB, 55883 KB/s, 1 seconds passed +... 10%, 74752 KB, 55891 KB/s, 1 seconds passed +... 10%, 74784 KB, 55899 KB/s, 1 seconds passed +... 10%, 74816 KB, 55907 KB/s, 1 seconds passed +... 10%, 74848 KB, 55915 KB/s, 1 seconds passed +... 10%, 74880 KB, 55923 KB/s, 1 seconds passed +... 10%, 74912 KB, 55931 KB/s, 1 seconds passed +... 10%, 74944 KB, 55940 KB/s, 1 seconds passed +... 10%, 74976 KB, 55948 KB/s, 1 seconds passed +... 10%, 75008 KB, 55957 KB/s, 1 seconds passed +... 10%, 75040 KB, 55965 KB/s, 1 seconds passed +... 10%, 75072 KB, 55973 KB/s, 1 seconds passed +... 10%, 75104 KB, 55981 KB/s, 1 seconds passed +... 10%, 75136 KB, 55988 KB/s, 1 seconds passed +... 10%, 75168 KB, 55996 KB/s, 1 seconds passed +... 10%, 75200 KB, 56006 KB/s, 1 seconds passed +... 10%, 75232 KB, 56020 KB/s, 1 seconds passed +... 10%, 75264 KB, 56033 KB/s, 1 seconds passed +... 10%, 75296 KB, 56046 KB/s, 1 seconds passed +... 10%, 75328 KB, 56060 KB/s, 1 seconds passed +... 10%, 75360 KB, 56073 KB/s, 1 seconds passed +... 10%, 75392 KB, 56087 KB/s, 1 seconds passed +... 10%, 75424 KB, 56100 KB/s, 1 seconds passed +... 10%, 75456 KB, 56113 KB/s, 1 seconds passed +... 10%, 75488 KB, 56127 KB/s, 1 seconds passed +... 10%, 75520 KB, 56141 KB/s, 1 seconds passed +... 10%, 75552 KB, 56155 KB/s, 1 seconds passed +... 10%, 75584 KB, 56168 KB/s, 1 seconds passed +... 10%, 75616 KB, 56182 KB/s, 1 seconds passed +... 10%, 75648 KB, 56196 KB/s, 1 seconds passed +... 10%, 75680 KB, 56209 KB/s, 1 seconds passed +... 10%, 75712 KB, 56223 KB/s, 1 seconds passed +... 10%, 75744 KB, 56236 KB/s, 1 seconds passed +... 10%, 75776 KB, 56249 KB/s, 1 seconds passed +... 10%, 75808 KB, 56263 KB/s, 1 seconds passed +... 10%, 75840 KB, 56277 KB/s, 1 seconds passed +... 10%, 75872 KB, 56290 KB/s, 1 seconds passed +... 10%, 75904 KB, 56304 KB/s, 1 seconds passed +... 10%, 75936 KB, 56317 KB/s, 1 seconds passed +... 10%, 75968 KB, 56330 KB/s, 1 seconds passed +... 10%, 76000 KB, 56344 KB/s, 1 seconds passed +... 10%, 76032 KB, 56358 KB/s, 1 seconds passed +... 10%, 76064 KB, 56371 KB/s, 1 seconds passed +... 10%, 76096 KB, 56385 KB/s, 1 seconds passed +... 10%, 76128 KB, 56398 KB/s, 1 seconds passed +... 10%, 76160 KB, 56412 KB/s, 1 seconds passed +... 10%, 76192 KB, 56426 KB/s, 1 seconds passed +... 10%, 76224 KB, 56439 KB/s, 1 seconds passed +... 10%, 76256 KB, 56453 KB/s, 1 seconds passed +... 10%, 76288 KB, 56466 KB/s, 1 seconds passed +... 10%, 76320 KB, 56479 KB/s, 1 seconds passed +... 10%, 76352 KB, 56492 KB/s, 1 seconds passed +... 10%, 76384 KB, 56506 KB/s, 1 seconds passed +... 10%, 76416 KB, 56519 KB/s, 1 seconds passed +... 10%, 76448 KB, 56533 KB/s, 1 seconds passed +... 10%, 76480 KB, 56548 KB/s, 1 seconds passed +... 11%, 76512 KB, 56564 KB/s, 1 seconds passed +... 11%, 76544 KB, 56581 KB/s, 1 seconds passed +... 11%, 76576 KB, 56597 KB/s, 1 seconds passed +... 11%, 76608 KB, 56614 KB/s, 1 seconds passed +... 11%, 76640 KB, 56632 KB/s, 1 seconds passed +... 11%, 76672 KB, 56650 KB/s, 1 seconds passed +... 11%, 76704 KB, 56667 KB/s, 1 seconds passed +... 11%, 76736 KB, 56685 KB/s, 1 seconds passed +... 11%, 76768 KB, 56703 KB/s, 1 seconds passed +... 11%, 76800 KB, 56021 KB/s, 1 seconds passed +... 11%, 76832 KB, 56023 KB/s, 1 seconds passed +... 11%, 76864 KB, 55933 KB/s, 1 seconds passed +... 11%, 76896 KB, 55943 KB/s, 1 seconds passed +... 11%, 76928 KB, 55953 KB/s, 1 seconds passed +... 11%, 76960 KB, 55964 KB/s, 1 seconds passed +... 11%, 76992 KB, 55974 KB/s, 1 seconds passed +... 11%, 77024 KB, 55985 KB/s, 1 seconds passed +... 11%, 77056 KB, 55996 KB/s, 1 seconds passed +... 11%, 77088 KB, 56007 KB/s, 1 seconds passed +... 11%, 77120 KB, 56018 KB/s, 1 seconds passed +... 11%, 77152 KB, 56030 KB/s, 1 seconds passed +... 11%, 77184 KB, 56039 KB/s, 1 seconds passed +... 11%, 77216 KB, 56049 KB/s, 1 seconds passed +... 11%, 77248 KB, 56060 KB/s, 1 seconds passed +... 11%, 77280 KB, 56071 KB/s, 1 seconds passed +... 11%, 77312 KB, 56082 KB/s, 1 seconds passed +... 11%, 77344 KB, 56093 KB/s, 1 seconds passed +... 11%, 77376 KB, 56104 KB/s, 1 seconds passed +... 11%, 77408 KB, 56115 KB/s, 1 seconds passed +... 11%, 77440 KB, 56126 KB/s, 1 seconds passed +... 11%, 77472 KB, 56136 KB/s, 1 seconds passed +... 11%, 77504 KB, 56147 KB/s, 1 seconds passed +... 11%, 77536 KB, 56159 KB/s, 1 seconds passed +... 11%, 77568 KB, 56169 KB/s, 1 seconds passed +... 11%, 77600 KB, 56179 KB/s, 1 seconds passed +... 11%, 77632 KB, 56189 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 11%, 77664 KB, 56200 KB/s, 1 seconds passed +... 11%, 77696 KB, 56210 KB/s, 1 seconds passed +... 11%, 77728 KB, 56221 KB/s, 1 seconds passed +... 11%, 77760 KB, 56234 KB/s, 1 seconds passed +... 11%, 77792 KB, 56246 KB/s, 1 seconds passed +... 11%, 77824 KB, 56259 KB/s, 1 seconds passed +... 11%, 77856 KB, 56271 KB/s, 1 seconds passed +... 11%, 77888 KB, 56283 KB/s, 1 seconds passed +... 11%, 77920 KB, 56296 KB/s, 1 seconds passed +... 11%, 77952 KB, 56309 KB/s, 1 seconds passed +... 11%, 77984 KB, 56322 KB/s, 1 seconds passed +... 11%, 78016 KB, 56335 KB/s, 1 seconds passed +... 11%, 78048 KB, 56347 KB/s, 1 seconds passed +... 11%, 78080 KB, 56359 KB/s, 1 seconds passed +... 11%, 78112 KB, 56372 KB/s, 1 seconds passed +... 11%, 78144 KB, 56385 KB/s, 1 seconds passed +... 11%, 78176 KB, 56398 KB/s, 1 seconds passed +... 11%, 78208 KB, 56410 KB/s, 1 seconds passed +... 11%, 78240 KB, 56422 KB/s, 1 seconds passed +... 11%, 78272 KB, 56434 KB/s, 1 seconds passed +... 11%, 78304 KB, 56446 KB/s, 1 seconds passed +... 11%, 78336 KB, 56459 KB/s, 1 seconds passed +... 11%, 78368 KB, 56472 KB/s, 1 seconds passed +... 11%, 78400 KB, 56485 KB/s, 1 seconds passed +... 11%, 78432 KB, 56498 KB/s, 1 seconds passed +... 11%, 78464 KB, 56510 KB/s, 1 seconds passed +... 11%, 78496 KB, 56523 KB/s, 1 seconds passed +... 11%, 78528 KB, 56536 KB/s, 1 seconds passed +... 11%, 78560 KB, 56549 KB/s, 1 seconds passed +... 11%, 78592 KB, 56562 KB/s, 1 seconds passed +... 11%, 78624 KB, 56574 KB/s, 1 seconds passed +... 11%, 78656 KB, 56587 KB/s, 1 seconds passed +... 11%, 78688 KB, 56600 KB/s, 1 seconds passed +... 11%, 78720 KB, 56613 KB/s, 1 seconds passed +... 11%, 78752 KB, 56626 KB/s, 1 seconds passed +... 11%, 78784 KB, 56638 KB/s, 1 seconds passed +... 11%, 78816 KB, 56651 KB/s, 1 seconds passed +... 11%, 78848 KB, 56664 KB/s, 1 seconds passed +... 11%, 78880 KB, 56677 KB/s, 1 seconds passed +... 11%, 78912 KB, 56688 KB/s, 1 seconds passed +... 11%, 78944 KB, 56701 KB/s, 1 seconds passed +... 11%, 78976 KB, 56714 KB/s, 1 seconds passed +... 11%, 79008 KB, 56723 KB/s, 1 seconds passed +... 11%, 79040 KB, 56735 KB/s, 1 seconds passed +... 11%, 79072 KB, 56746 KB/s, 1 seconds passed +... 11%, 79104 KB, 56758 KB/s, 1 seconds passed +... 11%, 79136 KB, 56771 KB/s, 1 seconds passed +... 11%, 79168 KB, 56780 KB/s, 1 seconds passed +... 11%, 79200 KB, 56785 KB/s, 1 seconds passed +... 11%, 79232 KB, 56800 KB/s, 1 seconds passed +... 11%, 79264 KB, 56815 KB/s, 1 seconds passed +... 11%, 79296 KB, 56829 KB/s, 1 seconds passed +... 11%, 79328 KB, 56842 KB/s, 1 seconds passed +... 11%, 79360 KB, 56854 KB/s, 1 seconds passed +... 11%, 79392 KB, 56862 KB/s, 1 seconds passed +... 11%, 79424 KB, 56874 KB/s, 1 seconds passed +... 11%, 79456 KB, 56886 KB/s, 1 seconds passed +... 11%, 79488 KB, 56898 KB/s, 1 seconds passed +... 11%, 79520 KB, 56910 KB/s, 1 seconds passed +... 11%, 79552 KB, 56918 KB/s, 1 seconds passed +... 11%, 79584 KB, 56931 KB/s, 1 seconds passed +... 11%, 79616 KB, 56945 KB/s, 1 seconds passed +... 11%, 79648 KB, 56957 KB/s, 1 seconds passed +... 11%, 79680 KB, 56967 KB/s, 1 seconds passed +... 11%, 79712 KB, 56979 KB/s, 1 seconds passed +... 11%, 79744 KB, 56987 KB/s, 1 seconds passed +... 11%, 79776 KB, 56999 KB/s, 1 seconds passed +... 11%, 79808 KB, 57012 KB/s, 1 seconds passed +... 11%, 79840 KB, 57024 KB/s, 1 seconds passed +... 11%, 79872 KB, 57034 KB/s, 1 seconds passed +... 11%, 79904 KB, 57046 KB/s, 1 seconds passed +... 11%, 79936 KB, 57060 KB/s, 1 seconds passed +... 11%, 79968 KB, 57073 KB/s, 1 seconds passed +... 11%, 80000 KB, 57083 KB/s, 1 seconds passed +... 11%, 80032 KB, 57089 KB/s, 1 seconds passed +... 11%, 80064 KB, 57096 KB/s, 1 seconds passed +... 11%, 80096 KB, 57108 KB/s, 1 seconds passed +... 11%, 80128 KB, 57124 KB/s, 1 seconds passed +... 11%, 80160 KB, 57136 KB/s, 1 seconds passed +... 11%, 80192 KB, 57150 KB/s, 1 seconds passed +... 11%, 80224 KB, 57162 KB/s, 1 seconds passed +... 11%, 80256 KB, 57174 KB/s, 1 seconds passed +... 11%, 80288 KB, 57186 KB/s, 1 seconds passed +... 11%, 80320 KB, 57198 KB/s, 1 seconds passed +... 11%, 80352 KB, 57204 KB/s, 1 seconds passed +... 11%, 80384 KB, 57211 KB/s, 1 seconds passed +... 11%, 80416 KB, 57217 KB/s, 1 seconds passed +... 11%, 80448 KB, 57227 KB/s, 1 seconds passed +... 11%, 80480 KB, 57243 KB/s, 1 seconds passed +... 11%, 80512 KB, 57261 KB/s, 1 seconds passed +... 11%, 80544 KB, 57276 KB/s, 1 seconds passed +... 11%, 80576 KB, 57288 KB/s, 1 seconds passed +... 11%, 80608 KB, 57300 KB/s, 1 seconds passed +... 11%, 80640 KB, 57312 KB/s, 1 seconds passed +... 11%, 80672 KB, 57314 KB/s, 1 seconds passed +... 11%, 80704 KB, 57326 KB/s, 1 seconds passed +... 11%, 80736 KB, 57336 KB/s, 1 seconds passed +... 11%, 80768 KB, 57349 KB/s, 1 seconds passed +... 11%, 80800 KB, 57361 KB/s, 1 seconds passed +... 11%, 80832 KB, 57373 KB/s, 1 seconds passed +... 11%, 80864 KB, 57383 KB/s, 1 seconds passed +... 11%, 80896 KB, 57394 KB/s, 1 seconds passed +... 11%, 80928 KB, 57407 KB/s, 1 seconds passed +... 11%, 80960 KB, 57417 KB/s, 1 seconds passed +... 11%, 80992 KB, 57429 KB/s, 1 seconds passed +... 11%, 81024 KB, 57440 KB/s, 1 seconds passed +... 11%, 81056 KB, 57451 KB/s, 1 seconds passed +... 11%, 81088 KB, 56689 KB/s, 1 seconds passed +... 11%, 81120 KB, 56692 KB/s, 1 seconds passed +... 11%, 81152 KB, 56697 KB/s, 1 seconds passed +... 11%, 81184 KB, 56704 KB/s, 1 seconds passed +... 11%, 81216 KB, 56711 KB/s, 1 seconds passed +... 11%, 81248 KB, 56719 KB/s, 1 seconds passed +... 11%, 81280 KB, 56725 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 11%, 81312 KB, 56733 KB/s, 1 seconds passed +... 11%, 81344 KB, 56740 KB/s, 1 seconds passed +... 11%, 81376 KB, 56748 KB/s, 1 seconds passed +... 11%, 81408 KB, 56756 KB/s, 1 seconds passed +... 11%, 81440 KB, 56764 KB/s, 1 seconds passed +... 11%, 81472 KB, 56770 KB/s, 1 seconds passed +... 11%, 81504 KB, 56778 KB/s, 1 seconds passed +... 11%, 81536 KB, 56784 KB/s, 1 seconds passed +... 11%, 81568 KB, 56792 KB/s, 1 seconds passed +... 11%, 81600 KB, 56800 KB/s, 1 seconds passed +... 11%, 81632 KB, 56806 KB/s, 1 seconds passed +... 11%, 81664 KB, 56813 KB/s, 1 seconds passed +... 11%, 81696 KB, 56823 KB/s, 1 seconds passed +... 11%, 81728 KB, 56834 KB/s, 1 seconds passed +... 11%, 81760 KB, 56845 KB/s, 1 seconds passed +... 11%, 81792 KB, 56856 KB/s, 1 seconds passed +... 11%, 81824 KB, 56866 KB/s, 1 seconds passed +... 11%, 81856 KB, 56876 KB/s, 1 seconds passed +... 11%, 81888 KB, 56887 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 11%, 81920 KB, 53960 KB/s, 1 seconds passed +... 11%, 81952 KB, 53962 KB/s, 1 seconds passed +... 11%, 81984 KB, 53967 KB/s, 1 seconds passed +... 11%, 82016 KB, 53974 KB/s, 1 seconds passed +... 11%, 82048 KB, 53981 KB/s, 1 seconds passed +... 11%, 82080 KB, 53987 KB/s, 1 seconds passed +... 11%, 82112 KB, 53994 KB/s, 1 seconds passed +... 11%, 82144 KB, 54001 KB/s, 1 seconds passed +... 11%, 82176 KB, 54008 KB/s, 1 seconds passed +... 11%, 82208 KB, 54016 KB/s, 1 seconds passed +... 11%, 82240 KB, 54022 KB/s, 1 seconds passed +... 11%, 82272 KB, 54030 KB/s, 1 seconds passed +... 11%, 82304 KB, 54040 KB/s, 1 seconds passed +... 11%, 82336 KB, 54049 KB/s, 1 seconds passed +... 11%, 82368 KB, 54056 KB/s, 1 seconds passed +... 11%, 82400 KB, 54064 KB/s, 1 seconds passed +... 11%, 82432 KB, 54071 KB/s, 1 seconds passed +... 11%, 82464 KB, 54077 KB/s, 1 seconds passed +... 11%, 82496 KB, 54084 KB/s, 1 seconds passed +... 11%, 82528 KB, 54093 KB/s, 1 seconds passed +... 11%, 82560 KB, 54103 KB/s, 1 seconds passed +... 11%, 82592 KB, 54114 KB/s, 1 seconds passed +... 11%, 82624 KB, 54125 KB/s, 1 seconds passed +... 11%, 82656 KB, 54136 KB/s, 1 seconds passed +... 11%, 82688 KB, 54111 KB/s, 1 seconds passed +... 11%, 82720 KB, 54113 KB/s, 1 seconds passed +... 11%, 82752 KB, 54120 KB/s, 1 seconds passed +... 11%, 82784 KB, 54127 KB/s, 1 seconds passed +... 11%, 82816 KB, 54133 KB/s, 1 seconds passed +... 11%, 82848 KB, 54141 KB/s, 1 seconds passed +... 11%, 82880 KB, 54149 KB/s, 1 seconds passed +... 11%, 82912 KB, 54156 KB/s, 1 seconds passed +... 11%, 82944 KB, 54162 KB/s, 1 seconds passed +... 11%, 82976 KB, 54169 KB/s, 1 seconds passed +... 11%, 83008 KB, 54176 KB/s, 1 seconds passed +... 11%, 83040 KB, 54184 KB/s, 1 seconds passed +... 11%, 83072 KB, 54191 KB/s, 1 seconds passed +... 11%, 83104 KB, 54199 KB/s, 1 seconds passed +... 11%, 83136 KB, 54205 KB/s, 1 seconds passed +... 11%, 83168 KB, 54211 KB/s, 1 seconds passed +... 11%, 83200 KB, 54219 KB/s, 1 seconds passed +... 11%, 83232 KB, 54226 KB/s, 1 seconds passed +... 11%, 83264 KB, 54235 KB/s, 1 seconds passed +... 11%, 83296 KB, 54247 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 11%, 83328 KB, 54258 KB/s, 1 seconds passed +... 11%, 83360 KB, 54269 KB/s, 1 seconds passed +... 11%, 83392 KB, 54281 KB/s, 1 seconds passed +... 11%, 83424 KB, 54292 KB/s, 1 seconds passed +... 11%, 83456 KB, 54304 KB/s, 1 seconds passed +... 12%, 83488 KB, 54315 KB/s, 1 seconds passed +... 12%, 83520 KB, 54326 KB/s, 1 seconds passed +... 12%, 83552 KB, 54338 KB/s, 1 seconds passed +... 12%, 83584 KB, 54349 KB/s, 1 seconds passed +... 12%, 83616 KB, 54360 KB/s, 1 seconds passed +... 12%, 83648 KB, 54371 KB/s, 1 seconds passed +... 12%, 83680 KB, 54383 KB/s, 1 seconds passed +... 12%, 83712 KB, 54396 KB/s, 1 seconds passed +... 12%, 83744 KB, 54407 KB/s, 1 seconds passed +... 12%, 83776 KB, 54421 KB/s, 1 seconds passed +... 12%, 83808 KB, 54434 KB/s, 1 seconds passed +... 12%, 83840 KB, 54446 KB/s, 1 seconds passed +... 12%, 83872 KB, 54459 KB/s, 1 seconds passed +... 12%, 83904 KB, 54418 KB/s, 1 seconds passed +... 12%, 83936 KB, 54426 KB/s, 1 seconds passed +... 12%, 83968 KB, 54437 KB/s, 1 seconds passed +... 12%, 84000 KB, 54448 KB/s, 1 seconds passed +... 12%, 84032 KB, 54459 KB/s, 1 seconds passed +... 12%, 84064 KB, 54469 KB/s, 1 seconds passed +... 12%, 84096 KB, 54480 KB/s, 1 seconds passed +... 12%, 84128 KB, 54491 KB/s, 1 seconds passed +... 12%, 84160 KB, 54503 KB/s, 1 seconds passed +... 12%, 84192 KB, 54514 KB/s, 1 seconds passed +... 12%, 84224 KB, 54524 KB/s, 1 seconds passed +... 12%, 84256 KB, 54537 KB/s, 1 seconds passed +... 12%, 84288 KB, 54549 KB/s, 1 seconds passed +... 12%, 84320 KB, 54560 KB/s, 1 seconds passed +... 12%, 84352 KB, 54572 KB/s, 1 seconds passed +... 12%, 84384 KB, 54581 KB/s, 1 seconds passed +... 12%, 84416 KB, 54593 KB/s, 1 seconds passed +... 12%, 84448 KB, 54604 KB/s, 1 seconds passed +... 12%, 84480 KB, 54615 KB/s, 1 seconds passed +... 12%, 84512 KB, 54623 KB/s, 1 seconds passed +... 12%, 84544 KB, 54633 KB/s, 1 seconds passed +... 12%, 84576 KB, 54643 KB/s, 1 seconds passed +... 12%, 84608 KB, 54653 KB/s, 1 seconds passed +... 12%, 84640 KB, 54663 KB/s, 1 seconds passed +... 12%, 84672 KB, 54673 KB/s, 1 seconds passed +... 12%, 84704 KB, 54683 KB/s, 1 seconds passed +... 12%, 84736 KB, 54693 KB/s, 1 seconds passed +... 12%, 84768 KB, 54704 KB/s, 1 seconds passed +... 12%, 84800 KB, 54714 KB/s, 1 seconds passed +... 12%, 84832 KB, 54725 KB/s, 1 seconds passed +... 12%, 84864 KB, 54735 KB/s, 1 seconds passed +... 12%, 84896 KB, 54746 KB/s, 1 seconds passed +... 12%, 84928 KB, 54757 KB/s, 1 seconds passed +... 12%, 84960 KB, 54766 KB/s, 1 seconds passed +... 12%, 84992 KB, 54777 KB/s, 1 seconds passed +... 12%, 85024 KB, 54788 KB/s, 1 seconds passed +... 12%, 85056 KB, 54799 KB/s, 1 seconds passed +... 12%, 85088 KB, 54810 KB/s, 1 seconds passed +... 12%, 85120 KB, 54821 KB/s, 1 seconds passed +... 12%, 85152 KB, 54831 KB/s, 1 seconds passed +... 12%, 85184 KB, 54842 KB/s, 1 seconds passed +... 12%, 85216 KB, 54853 KB/s, 1 seconds passed +... 12%, 85248 KB, 54864 KB/s, 1 seconds passed +... 12%, 85280 KB, 54875 KB/s, 1 seconds passed +... 12%, 85312 KB, 54886 KB/s, 1 seconds passed +... 12%, 85344 KB, 54896 KB/s, 1 seconds passed +... 12%, 85376 KB, 54907 KB/s, 1 seconds passed +... 12%, 85408 KB, 54917 KB/s, 1 seconds passed +... 12%, 85440 KB, 54933 KB/s, 1 seconds passed +... 12%, 85472 KB, 54948 KB/s, 1 seconds passed +... 12%, 85504 KB, 54958 KB/s, 1 seconds passed +... 12%, 85536 KB, 54967 KB/s, 1 seconds passed +... 12%, 85568 KB, 54979 KB/s, 1 seconds passed +... 12%, 85600 KB, 54990 KB/s, 1 seconds passed +... 12%, 85632 KB, 55001 KB/s, 1 seconds passed +... 12%, 85664 KB, 55009 KB/s, 1 seconds passed +... 12%, 85696 KB, 55024 KB/s, 1 seconds passed +... 12%, 85728 KB, 55033 KB/s, 1 seconds passed +... 12%, 85760 KB, 55043 KB/s, 1 seconds passed +... 12%, 85792 KB, 55054 KB/s, 1 seconds passed +... 12%, 85824 KB, 55063 KB/s, 1 seconds passed +... 12%, 85856 KB, 55075 KB/s, 1 seconds passed +... 12%, 85888 KB, 55086 KB/s, 1 seconds passed +... 12%, 85920 KB, 55095 KB/s, 1 seconds passed +... 12%, 85952 KB, 55107 KB/s, 1 seconds passed +... 12%, 85984 KB, 55118 KB/s, 1 seconds passed +... 12%, 86016 KB, 55127 KB/s, 1 seconds passed +... 12%, 86048 KB, 55139 KB/s, 1 seconds passed +... 12%, 86080 KB, 55150 KB/s, 1 seconds passed +... 12%, 86112 KB, 55159 KB/s, 1 seconds passed +... 12%, 86144 KB, 55170 KB/s, 1 seconds passed +... 12%, 86176 KB, 55182 KB/s, 1 seconds passed +... 12%, 86208 KB, 55191 KB/s, 1 seconds passed +... 12%, 86240 KB, 55202 KB/s, 1 seconds passed +... 12%, 86272 KB, 55214 KB/s, 1 seconds passed +... 12%, 86304 KB, 55223 KB/s, 1 seconds passed +... 12%, 86336 KB, 55234 KB/s, 1 seconds passed +... 12%, 86368 KB, 55245 KB/s, 1 seconds passed +... 12%, 86400 KB, 55255 KB/s, 1 seconds passed +... 12%, 86432 KB, 55266 KB/s, 1 seconds passed +... 12%, 86464 KB, 55277 KB/s, 1 seconds passed +... 12%, 86496 KB, 55287 KB/s, 1 seconds passed +... 12%, 86528 KB, 55298 KB/s, 1 seconds passed +... 12%, 86560 KB, 55309 KB/s, 1 seconds passed +... 12%, 86592 KB, 55320 KB/s, 1 seconds passed +... 12%, 86624 KB, 55329 KB/s, 1 seconds passed +... 12%, 86656 KB, 55341 KB/s, 1 seconds passed +... 12%, 86688 KB, 55352 KB/s, 1 seconds passed +... 12%, 86720 KB, 55361 KB/s, 1 seconds passed +... 12%, 86752 KB, 55372 KB/s, 1 seconds passed +... 12%, 86784 KB, 55383 KB/s, 1 seconds passed +... 12%, 86816 KB, 55393 KB/s, 1 seconds passed +... 12%, 86848 KB, 55404 KB/s, 1 seconds passed +... 12%, 86880 KB, 55415 KB/s, 1 seconds passed +... 12%, 86912 KB, 55424 KB/s, 1 seconds passed +... 12%, 86944 KB, 55436 KB/s, 1 seconds passed +... 12%, 86976 KB, 55445 KB/s, 1 seconds passed +... 12%, 87008 KB, 55456 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 12%, 87040 KB, 53605 KB/s, 1 seconds passed +... 12%, 87072 KB, 53607 KB/s, 1 seconds passed +... 12%, 87104 KB, 53613 KB/s, 1 seconds passed +... 12%, 87136 KB, 53618 KB/s, 1 seconds passed +... 12%, 87168 KB, 53624 KB/s, 1 seconds passed +... 12%, 87200 KB, 53632 KB/s, 1 seconds passed +... 12%, 87232 KB, 53638 KB/s, 1 seconds passed +... 12%, 87264 KB, 53645 KB/s, 1 seconds passed +... 12%, 87296 KB, 53651 KB/s, 1 seconds passed +... 12%, 87328 KB, 53658 KB/s, 1 seconds passed +... 12%, 87360 KB, 53664 KB/s, 1 seconds passed +... 12%, 87392 KB, 53670 KB/s, 1 seconds passed +... 12%, 87424 KB, 53678 KB/s, 1 seconds passed +... 12%, 87456 KB, 53685 KB/s, 1 seconds passed +... 12%, 87488 KB, 53691 KB/s, 1 seconds passed +... 12%, 87520 KB, 53698 KB/s, 1 seconds passed +... 12%, 87552 KB, 53705 KB/s, 1 seconds passed +... 12%, 87584 KB, 53712 KB/s, 1 seconds passed +... 12%, 87616 KB, 53719 KB/s, 1 seconds passed +... 12%, 87648 KB, 53724 KB/s, 1 seconds passed +... 12%, 87680 KB, 53731 KB/s, 1 seconds passed +... 12%, 87712 KB, 53739 KB/s, 1 seconds passed +... 12%, 87744 KB, 53746 KB/s, 1 seconds passed +... 12%, 87776 KB, 53753 KB/s, 1 seconds passed +... 12%, 87808 KB, 53760 KB/s, 1 seconds passed +... 12%, 87840 KB, 53768 KB/s, 1 seconds passed +... 12%, 87872 KB, 53774 KB/s, 1 seconds passed +... 12%, 87904 KB, 53781 KB/s, 1 seconds passed +... 12%, 87936 KB, 53787 KB/s, 1 seconds passed +... 12%, 87968 KB, 53793 KB/s, 1 seconds passed +... 12%, 88000 KB, 53800 KB/s, 1 seconds passed +... 12%, 88032 KB, 53807 KB/s, 1 seconds passed +... 12%, 88064 KB, 53813 KB/s, 1 seconds passed +... 12%, 88096 KB, 53824 KB/s, 1 seconds passed +... 12%, 88128 KB, 53836 KB/s, 1 seconds passed +... 12%, 88160 KB, 53847 KB/s, 1 seconds passed +... 12%, 88192 KB, 53859 KB/s, 1 seconds passed +... 12%, 88224 KB, 53870 KB/s, 1 seconds passed +... 12%, 88256 KB, 53881 KB/s, 1 seconds passed +... 12%, 88288 KB, 53893 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 12%, 88320 KB, 53904 KB/s, 1 seconds passed +... 12%, 88352 KB, 53916 KB/s, 1 seconds passed +... 12%, 88384 KB, 53928 KB/s, 1 seconds passed +... 12%, 88416 KB, 53938 KB/s, 1 seconds passed +... 12%, 88448 KB, 53950 KB/s, 1 seconds passed +... 12%, 88480 KB, 53961 KB/s, 1 seconds passed +... 12%, 88512 KB, 53973 KB/s, 1 seconds passed +... 12%, 88544 KB, 53985 KB/s, 1 seconds passed +... 12%, 88576 KB, 53996 KB/s, 1 seconds passed +... 12%, 88608 KB, 54007 KB/s, 1 seconds passed +... 12%, 88640 KB, 54019 KB/s, 1 seconds passed +... 12%, 88672 KB, 54030 KB/s, 1 seconds passed +... 12%, 88704 KB, 54042 KB/s, 1 seconds passed +... 12%, 88736 KB, 54054 KB/s, 1 seconds passed +... 12%, 88768 KB, 54064 KB/s, 1 seconds passed +... 12%, 88800 KB, 54076 KB/s, 1 seconds passed +... 12%, 88832 KB, 54088 KB/s, 1 seconds passed +... 12%, 88864 KB, 54098 KB/s, 1 seconds passed +... 12%, 88896 KB, 54110 KB/s, 1 seconds passed +... 12%, 88928 KB, 54121 KB/s, 1 seconds passed +... 12%, 88960 KB, 54132 KB/s, 1 seconds passed +... 12%, 88992 KB, 54144 KB/s, 1 seconds passed +... 12%, 89024 KB, 54156 KB/s, 1 seconds passed +... 12%, 89056 KB, 54169 KB/s, 1 seconds passed +... 12%, 89088 KB, 54182 KB/s, 1 seconds passed +... 12%, 89120 KB, 54195 KB/s, 1 seconds passed +... 12%, 89152 KB, 54208 KB/s, 1 seconds passed +... 12%, 89184 KB, 54221 KB/s, 1 seconds passed +... 12%, 89216 KB, 54234 KB/s, 1 seconds passed +... 12%, 89248 KB, 54247 KB/s, 1 seconds passed +... 12%, 89280 KB, 54260 KB/s, 1 seconds passed +... 12%, 89312 KB, 53689 KB/s, 1 seconds passed +... 12%, 89344 KB, 53691 KB/s, 1 seconds passed +... 12%, 89376 KB, 53698 KB/s, 1 seconds passed +... 12%, 89408 KB, 53704 KB/s, 1 seconds passed +... 12%, 89440 KB, 53711 KB/s, 1 seconds passed +... 12%, 89472 KB, 53718 KB/s, 1 seconds passed +... 12%, 89504 KB, 53725 KB/s, 1 seconds passed +... 12%, 89536 KB, 53733 KB/s, 1 seconds passed +... 12%, 89568 KB, 53739 KB/s, 1 seconds passed +... 12%, 89600 KB, 53746 KB/s, 1 seconds passed +... 12%, 89632 KB, 53752 KB/s, 1 seconds passed +... 12%, 89664 KB, 53758 KB/s, 1 seconds passed +... 12%, 89696 KB, 53766 KB/s, 1 seconds passed +... 12%, 89728 KB, 53772 KB/s, 1 seconds passed +... 12%, 89760 KB, 53779 KB/s, 1 seconds passed +... 12%, 89792 KB, 53786 KB/s, 1 seconds passed +... 12%, 89824 KB, 53794 KB/s, 1 seconds passed +... 12%, 89856 KB, 53801 KB/s, 1 seconds passed +... 12%, 89888 KB, 53808 KB/s, 1 seconds passed +... 12%, 89920 KB, 53815 KB/s, 1 seconds passed +... 12%, 89952 KB, 53821 KB/s, 1 seconds passed +... 12%, 89984 KB, 53828 KB/s, 1 seconds passed +... 12%, 90016 KB, 53835 KB/s, 1 seconds passed +... 12%, 90048 KB, 53842 KB/s, 1 seconds passed +... 12%, 90080 KB, 53849 KB/s, 1 seconds passed +... 12%, 90112 KB, 53855 KB/s, 1 seconds passed +... 12%, 90144 KB, 53863 KB/s, 1 seconds passed +... 12%, 90176 KB, 53869 KB/s, 1 seconds passed +... 12%, 90208 KB, 53876 KB/s, 1 seconds passed +... 12%, 90240 KB, 53884 KB/s, 1 seconds passed +... 12%, 90272 KB, 53890 KB/s, 1 seconds passed +... 12%, 90304 KB, 53897 KB/s, 1 seconds passed +... 12%, 90336 KB, 53904 KB/s, 1 seconds passed +... 12%, 90368 KB, 53912 KB/s, 1 seconds passed +... 12%, 90400 KB, 53922 KB/s, 1 seconds passed +... 13%, 90432 KB, 53933 KB/s, 1 seconds passed +... 13%, 90464 KB, 53945 KB/s, 1 seconds passed +... 13%, 90496 KB, 53955 KB/s, 1 seconds passed +... 13%, 90528 KB, 53967 KB/s, 1 seconds passed +... 13%, 90560 KB, 53979 KB/s, 1 seconds passed +... 13%, 90592 KB, 53990 KB/s, 1 seconds passed +... 13%, 90624 KB, 54001 KB/s, 1 seconds passed +... 13%, 90656 KB, 54012 KB/s, 1 seconds passed +... 13%, 90688 KB, 54024 KB/s, 1 seconds passed +... 13%, 90720 KB, 54035 KB/s, 1 seconds passed +... 13%, 90752 KB, 54046 KB/s, 1 seconds passed +... 13%, 90784 KB, 54057 KB/s, 1 seconds passed +... 13%, 90816 KB, 54068 KB/s, 1 seconds passed +... 13%, 90848 KB, 54080 KB/s, 1 seconds passed +... 13%, 90880 KB, 54091 KB/s, 1 seconds passed +... 13%, 90912 KB, 54103 KB/s, 1 seconds passed +... 13%, 90944 KB, 54114 KB/s, 1 seconds passed +... 13%, 90976 KB, 54125 KB/s, 1 seconds passed +... 13%, 91008 KB, 54138 KB/s, 1 seconds passed +... 13%, 91040 KB, 54150 KB/s, 1 seconds passed +... 13%, 91072 KB, 54163 KB/s, 1 seconds passed +... 13%, 91104 KB, 54176 KB/s, 1 seconds passed +... 13%, 91136 KB, 54189 KB/s, 1 seconds passed +... 13%, 91168 KB, 54202 KB/s, 1 seconds passed +... 13%, 91200 KB, 54214 KB/s, 1 seconds passed +... 13%, 91232 KB, 54227 KB/s, 1 seconds passed +... 13%, 91264 KB, 54240 KB/s, 1 seconds passed +... 13%, 91296 KB, 54253 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 13%, 91328 KB, 48192 KB/s, 1 seconds passed +... 13%, 91360 KB, 48174 KB/s, 1 seconds passed +... 13%, 91392 KB, 48181 KB/s, 1 seconds passed +... 13%, 91424 KB, 48188 KB/s, 1 seconds passed +... 13%, 91456 KB, 48195 KB/s, 1 seconds passed +... 13%, 91488 KB, 48202 KB/s, 1 seconds passed +... 13%, 91520 KB, 48209 KB/s, 1 seconds passed +... 13%, 91552 KB, 48217 KB/s, 1 seconds passed +... 13%, 91584 KB, 48223 KB/s, 1 seconds passed +... 13%, 91616 KB, 48230 KB/s, 1 seconds passed +... 13%, 91648 KB, 48237 KB/s, 1 seconds passed +... 13%, 91680 KB, 48244 KB/s, 1 seconds passed +... 13%, 91712 KB, 48252 KB/s, 1 seconds passed +... 13%, 91744 KB, 48259 KB/s, 1 seconds passed +... 13%, 91776 KB, 48266 KB/s, 1 seconds passed +... 13%, 91808 KB, 48274 KB/s, 1 seconds passed +... 13%, 91840 KB, 48281 KB/s, 1 seconds passed +... 13%, 91872 KB, 48288 KB/s, 1 seconds passed +... 13%, 91904 KB, 48295 KB/s, 1 seconds passed +... 13%, 91936 KB, 48302 KB/s, 1 seconds passed +... 13%, 91968 KB, 48311 KB/s, 1 seconds passed +... 13%, 92000 KB, 48321 KB/s, 1 seconds passed +... 13%, 92032 KB, 48330 KB/s, 1 seconds passed +... 13%, 92064 KB, 48339 KB/s, 1 seconds passed +... 13%, 92096 KB, 48349 KB/s, 1 seconds passed +... 13%, 92128 KB, 48359 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 13%, 92160 KB, 46665 KB/s, 1 seconds passed +... 13%, 92192 KB, 46664 KB/s, 1 seconds passed +... 13%, 92224 KB, 46670 KB/s, 1 seconds passed +... 13%, 92256 KB, 46676 KB/s, 1 seconds passed +... 13%, 92288 KB, 46684 KB/s, 1 seconds passed +... 13%, 92320 KB, 46691 KB/s, 1 seconds passed +... 13%, 92352 KB, 46698 KB/s, 1 seconds passed +... 13%, 92384 KB, 46705 KB/s, 1 seconds passed +... 13%, 92416 KB, 46712 KB/s, 1 seconds passed +... 13%, 92448 KB, 46719 KB/s, 1 seconds passed +... 13%, 92480 KB, 46726 KB/s, 1 seconds passed +... 13%, 92512 KB, 46733 KB/s, 1 seconds passed +... 13%, 92544 KB, 46740 KB/s, 1 seconds passed +... 13%, 92576 KB, 46748 KB/s, 1 seconds passed +... 13%, 92608 KB, 46755 KB/s, 1 seconds passed +... 13%, 92640 KB, 46762 KB/s, 1 seconds passed +... 13%, 92672 KB, 46769 KB/s, 1 seconds passed +... 13%, 92704 KB, 46776 KB/s, 1 seconds passed +... 13%, 92736 KB, 46783 KB/s, 1 seconds passed +... 13%, 92768 KB, 46790 KB/s, 1 seconds passed +... 13%, 92800 KB, 46798 KB/s, 1 seconds passed +... 13%, 92832 KB, 46804 KB/s, 1 seconds passed +... 13%, 92864 KB, 46811 KB/s, 1 seconds passed +... 13%, 92896 KB, 46819 KB/s, 1 seconds passed +... 13%, 92928 KB, 46826 KB/s, 1 seconds passed +... 13%, 92960 KB, 46833 KB/s, 1 seconds passed +... 13%, 92992 KB, 46840 KB/s, 1 seconds passed +... 13%, 93024 KB, 46847 KB/s, 1 seconds passed +... 13%, 93056 KB, 46854 KB/s, 1 seconds passed +... 13%, 93088 KB, 46862 KB/s, 1 seconds passed +... 13%, 93120 KB, 46868 KB/s, 1 seconds passed +... 13%, 93152 KB, 46875 KB/s, 1 seconds passed +... 13%, 93184 KB, 46882 KB/s, 1 seconds passed +... 13%, 93216 KB, 46889 KB/s, 1 seconds passed +... 13%, 93248 KB, 46896 KB/s, 1 seconds passed +... 13%, 93280 KB, 46903 KB/s, 1 seconds passed +... 13%, 93312 KB, 46914 KB/s, 1 seconds passed +... 13%, 93344 KB, 46924 KB/s, 1 seconds passed +... 13%, 93376 KB, 46934 KB/s, 1 seconds passed +... 13%, 93408 KB, 46945 KB/s, 1 seconds passed +... 13%, 93440 KB, 46955 KB/s, 1 seconds passed +... 13%, 93472 KB, 46965 KB/s, 1 seconds passed +... 13%, 93504 KB, 46975 KB/s, 1 seconds passed +... 13%, 93536 KB, 46985 KB/s, 1 seconds passed +... 13%, 93568 KB, 46995 KB/s, 1 seconds passed +... 13%, 93600 KB, 47005 KB/s, 1 seconds passed +... 13%, 93632 KB, 47015 KB/s, 1 seconds passed +... 13%, 93664 KB, 47026 KB/s, 1 seconds passed +... 13%, 93696 KB, 47036 KB/s, 1 seconds passed +... 13%, 93728 KB, 47046 KB/s, 1 seconds passed +... 13%, 93760 KB, 47056 KB/s, 1 seconds passed +... 13%, 93792 KB, 47066 KB/s, 1 seconds passed +... 13%, 93824 KB, 47077 KB/s, 1 seconds passed +... 13%, 93856 KB, 47087 KB/s, 1 seconds passed +... 13%, 93888 KB, 47097 KB/s, 1 seconds passed +... 13%, 93920 KB, 47107 KB/s, 1 seconds passed +... 13%, 93952 KB, 47117 KB/s, 1 seconds passed +... 13%, 93984 KB, 47128 KB/s, 1 seconds passed +... 13%, 94016 KB, 47138 KB/s, 1 seconds passed +... 13%, 94048 KB, 47148 KB/s, 1 seconds passed +... 13%, 94080 KB, 47158 KB/s, 1 seconds passed +... 13%, 94112 KB, 47168 KB/s, 1 seconds passed +... 13%, 94144 KB, 47178 KB/s, 1 seconds passed +... 13%, 94176 KB, 47189 KB/s, 1 seconds passed +... 13%, 94208 KB, 47199 KB/s, 1 seconds passed +... 13%, 94240 KB, 47209 KB/s, 1 seconds passed +... 13%, 94272 KB, 47219 KB/s, 1 seconds passed +... 13%, 94304 KB, 47230 KB/s, 1 seconds passed +... 13%, 94336 KB, 47240 KB/s, 1 seconds passed +... 13%, 94368 KB, 47251 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 13%, 94400 KB, 47261 KB/s, 1 seconds passed +... 13%, 94432 KB, 47270 KB/s, 1 seconds passed +... 13%, 94464 KB, 47281 KB/s, 1 seconds passed +... 13%, 94496 KB, 47291 KB/s, 1 seconds passed +... 13%, 94528 KB, 47300 KB/s, 1 seconds passed +... 13%, 94560 KB, 47310 KB/s, 1 seconds passed +... 13%, 94592 KB, 47321 KB/s, 1 seconds passed +... 13%, 94624 KB, 47330 KB/s, 1 seconds passed +... 13%, 94656 KB, 47342 KB/s, 1 seconds passed +... 13%, 94688 KB, 47354 KB/s, 1 seconds passed +... 13%, 94720 KB, 47366 KB/s, 1 seconds passed +... 13%, 94752 KB, 47377 KB/s, 1 seconds passed +... 13%, 94784 KB, 47390 KB/s, 2 seconds passed +... 13%, 94816 KB, 47402 KB/s, 2 seconds passed +... 13%, 94848 KB, 47413 KB/s, 2 seconds passed +... 13%, 94880 KB, 47425 KB/s, 2 seconds passed +... 13%, 94912 KB, 47437 KB/s, 2 seconds passed +... 13%, 94944 KB, 47449 KB/s, 2 seconds passed +... 13%, 94976 KB, 47461 KB/s, 2 seconds passed +... 13%, 95008 KB, 47473 KB/s, 2 seconds passed +... 13%, 95040 KB, 47485 KB/s, 2 seconds passed +... 13%, 95072 KB, 47497 KB/s, 2 seconds passed +... 13%, 95104 KB, 47510 KB/s, 2 seconds passed +... 13%, 95136 KB, 47522 KB/s, 2 seconds passed +... 13%, 95168 KB, 47534 KB/s, 2 seconds passed +... 13%, 95200 KB, 47546 KB/s, 2 seconds passed +... 13%, 95232 KB, 47558 KB/s, 2 seconds passed +... 13%, 95264 KB, 47570 KB/s, 2 seconds passed +... 13%, 95296 KB, 47582 KB/s, 2 seconds passed +... 13%, 95328 KB, 47594 KB/s, 2 seconds passed +... 13%, 95360 KB, 47605 KB/s, 2 seconds passed +... 13%, 95392 KB, 47614 KB/s, 2 seconds passed +... 13%, 95424 KB, 47623 KB/s, 2 seconds passed +... 13%, 95456 KB, 47633 KB/s, 2 seconds passed +... 13%, 95488 KB, 47642 KB/s, 2 seconds passed +... 13%, 95520 KB, 47651 KB/s, 2 seconds passed +... 13%, 95552 KB, 47661 KB/s, 2 seconds passed +... 13%, 95584 KB, 47669 KB/s, 2 seconds passed +... 13%, 95616 KB, 47679 KB/s, 2 seconds passed +... 13%, 95648 KB, 47689 KB/s, 2 seconds passed +... 13%, 95680 KB, 47699 KB/s, 2 seconds passed +... 13%, 95712 KB, 47707 KB/s, 2 seconds passed +... 13%, 95744 KB, 47717 KB/s, 2 seconds passed +... 13%, 95776 KB, 47725 KB/s, 2 seconds passed +... 13%, 95808 KB, 47735 KB/s, 2 seconds passed +... 13%, 95840 KB, 47745 KB/s, 2 seconds passed +... 13%, 95872 KB, 47753 KB/s, 2 seconds passed +... 13%, 95904 KB, 47763 KB/s, 2 seconds passed +... 13%, 95936 KB, 47772 KB/s, 2 seconds passed +... 13%, 95968 KB, 47781 KB/s, 2 seconds passed +... 13%, 96000 KB, 47791 KB/s, 2 seconds passed +... 13%, 96032 KB, 47800 KB/s, 2 seconds passed +... 13%, 96064 KB, 47810 KB/s, 2 seconds passed +... 13%, 96096 KB, 47818 KB/s, 2 seconds passed +... 13%, 96128 KB, 47828 KB/s, 2 seconds passed +... 13%, 96160 KB, 47838 KB/s, 2 seconds passed +... 13%, 96192 KB, 47846 KB/s, 2 seconds passed +... 13%, 96224 KB, 47856 KB/s, 2 seconds passed +... 13%, 96256 KB, 47866 KB/s, 2 seconds passed +... 13%, 96288 KB, 47874 KB/s, 2 seconds passed +... 13%, 96320 KB, 47884 KB/s, 2 seconds passed +... 13%, 96352 KB, 47892 KB/s, 2 seconds passed +... 13%, 96384 KB, 47902 KB/s, 2 seconds passed +... 13%, 96416 KB, 47912 KB/s, 2 seconds passed +... 13%, 96448 KB, 47921 KB/s, 2 seconds passed +... 13%, 96480 KB, 47930 KB/s, 2 seconds passed +... 13%, 96512 KB, 47939 KB/s, 2 seconds passed +... 13%, 96544 KB, 47949 KB/s, 2 seconds passed +... 13%, 96576 KB, 47958 KB/s, 2 seconds passed +... 13%, 96608 KB, 47967 KB/s, 2 seconds passed +... 13%, 96640 KB, 47976 KB/s, 2 seconds passed +... 13%, 96672 KB, 47985 KB/s, 2 seconds passed +... 13%, 96704 KB, 47995 KB/s, 2 seconds passed +... 13%, 96736 KB, 48003 KB/s, 2 seconds passed +... 13%, 96768 KB, 48013 KB/s, 2 seconds passed +... 13%, 96800 KB, 48023 KB/s, 2 seconds passed +... 13%, 96832 KB, 48032 KB/s, 2 seconds passed +... 13%, 96864 KB, 48042 KB/s, 2 seconds passed +... 13%, 96896 KB, 48050 KB/s, 2 seconds passed +... 13%, 96928 KB, 48060 KB/s, 2 seconds passed +... 13%, 96960 KB, 48068 KB/s, 2 seconds passed +... 13%, 96992 KB, 48078 KB/s, 2 seconds passed +... 13%, 97024 KB, 48086 KB/s, 2 seconds passed +... 13%, 97056 KB, 48096 KB/s, 2 seconds passed +... 13%, 97088 KB, 48106 KB/s, 2 seconds passed +... 13%, 97120 KB, 48114 KB/s, 2 seconds passed +... 13%, 97152 KB, 48124 KB/s, 2 seconds passed +... 13%, 97184 KB, 48133 KB/s, 2 seconds passed +... 13%, 97216 KB, 48142 KB/s, 2 seconds passed +... 13%, 97248 KB, 48151 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 13%, 97280 KB, 46765 KB/s, 2 seconds passed +... 13%, 97312 KB, 46769 KB/s, 2 seconds passed +... 13%, 97344 KB, 46775 KB/s, 2 seconds passed +... 14%, 97376 KB, 46782 KB/s, 2 seconds passed +... 14%, 97408 KB, 46649 KB/s, 2 seconds passed +... 14%, 97440 KB, 46653 KB/s, 2 seconds passed +... 14%, 97472 KB, 46659 KB/s, 2 seconds passed +... 14%, 97504 KB, 46665 KB/s, 2 seconds passed +... 14%, 97536 KB, 46672 KB/s, 2 seconds passed +... 14%, 97568 KB, 46679 KB/s, 2 seconds passed +... 14%, 97600 KB, 46685 KB/s, 2 seconds passed +... 14%, 97632 KB, 46691 KB/s, 2 seconds passed +... 14%, 97664 KB, 46697 KB/s, 2 seconds passed +... 14%, 97696 KB, 46703 KB/s, 2 seconds passed +... 14%, 97728 KB, 46711 KB/s, 2 seconds passed +... 14%, 97760 KB, 46717 KB/s, 2 seconds passed +... 14%, 97792 KB, 46724 KB/s, 2 seconds passed +... 14%, 97824 KB, 46730 KB/s, 2 seconds passed +... 14%, 97856 KB, 46737 KB/s, 2 seconds passed +... 14%, 97888 KB, 46744 KB/s, 2 seconds passed +... 14%, 97920 KB, 46751 KB/s, 2 seconds passed +... 14%, 97952 KB, 46758 KB/s, 2 seconds passed +... 14%, 97984 KB, 46764 KB/s, 2 seconds passed +... 14%, 98016 KB, 46771 KB/s, 2 seconds passed +... 14%, 98048 KB, 46778 KB/s, 2 seconds passed +... 14%, 98080 KB, 46785 KB/s, 2 seconds passed +... 14%, 98112 KB, 46791 KB/s, 2 seconds passed +... 14%, 98144 KB, 46798 KB/s, 2 seconds passed +... 14%, 98176 KB, 46805 KB/s, 2 seconds passed +... 14%, 98208 KB, 46812 KB/s, 2 seconds passed +... 14%, 98240 KB, 46819 KB/s, 2 seconds passed +... 14%, 98272 KB, 46826 KB/s, 2 seconds passed +... 14%, 98304 KB, 46832 KB/s, 2 seconds passed +... 14%, 98336 KB, 46838 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 14%, 98368 KB, 46845 KB/s, 2 seconds passed +... 14%, 98400 KB, 46852 KB/s, 2 seconds passed +... 14%, 98432 KB, 46862 KB/s, 2 seconds passed +... 14%, 98464 KB, 46871 KB/s, 2 seconds passed +... 14%, 98496 KB, 46881 KB/s, 2 seconds passed +... 14%, 98528 KB, 46890 KB/s, 2 seconds passed +... 14%, 98560 KB, 46899 KB/s, 2 seconds passed +... 14%, 98592 KB, 46909 KB/s, 2 seconds passed +... 14%, 98624 KB, 46918 KB/s, 2 seconds passed +... 14%, 98656 KB, 46928 KB/s, 2 seconds passed +... 14%, 98688 KB, 46938 KB/s, 2 seconds passed +... 14%, 98720 KB, 46947 KB/s, 2 seconds passed +... 14%, 98752 KB, 46956 KB/s, 2 seconds passed +... 14%, 98784 KB, 46966 KB/s, 2 seconds passed +... 14%, 98816 KB, 46975 KB/s, 2 seconds passed +... 14%, 98848 KB, 46985 KB/s, 2 seconds passed +... 14%, 98880 KB, 46995 KB/s, 2 seconds passed +... 14%, 98912 KB, 47004 KB/s, 2 seconds passed +... 14%, 98944 KB, 47014 KB/s, 2 seconds passed +... 14%, 98976 KB, 47024 KB/s, 2 seconds passed +... 14%, 99008 KB, 47033 KB/s, 2 seconds passed +... 14%, 99040 KB, 47043 KB/s, 2 seconds passed +... 14%, 99072 KB, 47053 KB/s, 2 seconds passed +... 14%, 99104 KB, 47062 KB/s, 2 seconds passed +... 14%, 99136 KB, 47072 KB/s, 2 seconds passed +... 14%, 99168 KB, 47082 KB/s, 2 seconds passed +... 14%, 99200 KB, 47092 KB/s, 2 seconds passed +... 14%, 99232 KB, 47101 KB/s, 2 seconds passed +... 14%, 99264 KB, 47111 KB/s, 2 seconds passed +... 14%, 99296 KB, 47120 KB/s, 2 seconds passed +... 14%, 99328 KB, 47130 KB/s, 2 seconds passed +... 14%, 99360 KB, 47139 KB/s, 2 seconds passed +... 14%, 99392 KB, 47149 KB/s, 2 seconds passed +... 14%, 99424 KB, 47159 KB/s, 2 seconds passed +... 14%, 99456 KB, 47168 KB/s, 2 seconds passed +... 14%, 99488 KB, 47178 KB/s, 2 seconds passed +... 14%, 99520 KB, 47188 KB/s, 2 seconds passed +... 14%, 99552 KB, 47197 KB/s, 2 seconds passed +... 14%, 99584 KB, 47207 KB/s, 2 seconds passed +... 14%, 99616 KB, 47217 KB/s, 2 seconds passed +... 14%, 99648 KB, 47228 KB/s, 2 seconds passed +... 14%, 99680 KB, 47239 KB/s, 2 seconds passed +... 14%, 99712 KB, 47250 KB/s, 2 seconds passed +... 14%, 99744 KB, 47262 KB/s, 2 seconds passed +... 14%, 99776 KB, 47273 KB/s, 2 seconds passed +... 14%, 99808 KB, 47284 KB/s, 2 seconds passed +... 14%, 99840 KB, 47296 KB/s, 2 seconds passed +... 14%, 99872 KB, 47307 KB/s, 2 seconds passed +... 14%, 99904 KB, 47317 KB/s, 2 seconds passed +... 14%, 99936 KB, 47329 KB/s, 2 seconds passed +... 14%, 99968 KB, 47340 KB/s, 2 seconds passed +... 14%, 100000 KB, 47352 KB/s, 2 seconds passed +... 14%, 100032 KB, 47363 KB/s, 2 seconds passed +... 14%, 100064 KB, 47375 KB/s, 2 seconds passed +... 14%, 100096 KB, 47386 KB/s, 2 seconds passed +... 14%, 100128 KB, 47398 KB/s, 2 seconds passed +... 14%, 100160 KB, 47409 KB/s, 2 seconds passed +... 14%, 100192 KB, 47421 KB/s, 2 seconds passed +... 14%, 100224 KB, 47432 KB/s, 2 seconds passed +... 14%, 100256 KB, 47444 KB/s, 2 seconds passed +... 14%, 100288 KB, 47455 KB/s, 2 seconds passed +... 14%, 100320 KB, 47467 KB/s, 2 seconds passed +... 14%, 100352 KB, 47478 KB/s, 2 seconds passed +... 14%, 100384 KB, 47486 KB/s, 2 seconds passed +... 14%, 100416 KB, 47496 KB/s, 2 seconds passed +... 14%, 100448 KB, 47503 KB/s, 2 seconds passed +... 14%, 100480 KB, 47512 KB/s, 2 seconds passed +... 14%, 100512 KB, 47521 KB/s, 2 seconds passed +... 14%, 100544 KB, 47529 KB/s, 2 seconds passed +... 14%, 100576 KB, 47540 KB/s, 2 seconds passed +... 14%, 100608 KB, 47549 KB/s, 2 seconds passed +... 14%, 100640 KB, 47556 KB/s, 2 seconds passed +... 14%, 100672 KB, 47565 KB/s, 2 seconds passed +... 14%, 100704 KB, 47574 KB/s, 2 seconds passed +... 14%, 100736 KB, 47583 KB/s, 2 seconds passed +... 14%, 100768 KB, 47593 KB/s, 2 seconds passed +... 14%, 100800 KB, 47602 KB/s, 2 seconds passed +... 14%, 100832 KB, 47611 KB/s, 2 seconds passed +... 14%, 100864 KB, 47619 KB/s, 2 seconds passed +... 14%, 100896 KB, 47627 KB/s, 2 seconds passed +... 14%, 100928 KB, 47634 KB/s, 2 seconds passed +... 14%, 100960 KB, 47639 KB/s, 2 seconds passed +... 14%, 100992 KB, 47649 KB/s, 2 seconds passed +... 14%, 101024 KB, 47660 KB/s, 2 seconds passed +... 14%, 101056 KB, 47671 KB/s, 2 seconds passed +... 14%, 101088 KB, 47681 KB/s, 2 seconds passed +... 14%, 101120 KB, 47690 KB/s, 2 seconds passed +... 14%, 101152 KB, 47699 KB/s, 2 seconds passed +... 14%, 101184 KB, 47705 KB/s, 2 seconds passed +... 14%, 101216 KB, 47713 KB/s, 2 seconds passed +... 14%, 101248 KB, 47725 KB/s, 2 seconds passed +... 14%, 101280 KB, 47733 KB/s, 2 seconds passed +... 14%, 101312 KB, 47742 KB/s, 2 seconds passed +... 14%, 101344 KB, 47750 KB/s, 2 seconds passed +... 14%, 101376 KB, 47760 KB/s, 2 seconds passed +... 14%, 101408 KB, 47769 KB/s, 2 seconds passed +... 14%, 101440 KB, 47778 KB/s, 2 seconds passed +... 14%, 101472 KB, 47786 KB/s, 2 seconds passed +... 14%, 101504 KB, 47795 KB/s, 2 seconds passed +... 14%, 101536 KB, 47804 KB/s, 2 seconds passed +... 14%, 101568 KB, 47812 KB/s, 2 seconds passed +... 14%, 101600 KB, 47822 KB/s, 2 seconds passed +... 14%, 101632 KB, 47831 KB/s, 2 seconds passed +... 14%, 101664 KB, 47839 KB/s, 2 seconds passed +... 14%, 101696 KB, 47848 KB/s, 2 seconds passed +... 14%, 101728 KB, 47857 KB/s, 2 seconds passed +... 14%, 101760 KB, 47865 KB/s, 2 seconds passed +... 14%, 101792 KB, 47874 KB/s, 2 seconds passed +... 14%, 101824 KB, 47883 KB/s, 2 seconds passed +... 14%, 101856 KB, 47891 KB/s, 2 seconds passed +... 14%, 101888 KB, 47900 KB/s, 2 seconds passed +... 14%, 101920 KB, 47906 KB/s, 2 seconds passed +... 14%, 101952 KB, 47915 KB/s, 2 seconds passed +... 14%, 101984 KB, 47923 KB/s, 2 seconds passed +... 14%, 102016 KB, 47932 KB/s, 2 seconds passed +... 14%, 102048 KB, 47941 KB/s, 2 seconds passed +... 14%, 102080 KB, 47949 KB/s, 2 seconds passed +... 14%, 102112 KB, 47960 KB/s, 2 seconds passed +... 14%, 102144 KB, 47968 KB/s, 2 seconds passed +... 14%, 102176 KB, 47975 KB/s, 2 seconds passed +... 14%, 102208 KB, 47980 KB/s, 2 seconds passed +... 14%, 102240 KB, 47990 KB/s, 2 seconds passed +... 14%, 102272 KB, 47999 KB/s, 2 seconds passed +... 14%, 102304 KB, 48008 KB/s, 2 seconds passed +... 14%, 102336 KB, 48017 KB/s, 2 seconds passed +... 14%, 102368 KB, 48027 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 14%, 102400 KB, 47585 KB/s, 2 seconds passed +... 14%, 102432 KB, 47592 KB/s, 2 seconds passed +... 14%, 102464 KB, 47507 KB/s, 2 seconds passed +... 14%, 102496 KB, 47513 KB/s, 2 seconds passed +... 14%, 102528 KB, 47519 KB/s, 2 seconds passed +... 14%, 102560 KB, 47525 KB/s, 2 seconds passed +... 14%, 102592 KB, 47532 KB/s, 2 seconds passed +... 14%, 102624 KB, 47539 KB/s, 2 seconds passed +... 14%, 102656 KB, 47544 KB/s, 2 seconds passed +... 14%, 102688 KB, 47551 KB/s, 2 seconds passed +... 14%, 102720 KB, 47557 KB/s, 2 seconds passed +... 14%, 102752 KB, 47564 KB/s, 2 seconds passed +... 14%, 102784 KB, 47571 KB/s, 2 seconds passed +... 14%, 102816 KB, 47577 KB/s, 2 seconds passed +... 14%, 102848 KB, 47584 KB/s, 2 seconds passed +... 14%, 102880 KB, 47592 KB/s, 2 seconds passed +... 14%, 102912 KB, 47599 KB/s, 2 seconds passed +... 14%, 102944 KB, 47605 KB/s, 2 seconds passed +... 14%, 102976 KB, 47611 KB/s, 2 seconds passed +... 14%, 103008 KB, 47618 KB/s, 2 seconds passed +... 14%, 103040 KB, 47624 KB/s, 2 seconds passed +... 14%, 103072 KB, 47631 KB/s, 2 seconds passed +... 14%, 103104 KB, 47637 KB/s, 2 seconds passed +... 14%, 103136 KB, 47644 KB/s, 2 seconds passed +... 14%, 103168 KB, 47650 KB/s, 2 seconds passed +... 14%, 103200 KB, 47657 KB/s, 2 seconds passed +... 14%, 103232 KB, 47664 KB/s, 2 seconds passed +... 14%, 103264 KB, 47670 KB/s, 2 seconds passed +... 14%, 103296 KB, 47676 KB/s, 2 seconds passed +... 14%, 103328 KB, 47682 KB/s, 2 seconds passed +... 14%, 103360 KB, 47689 KB/s, 2 seconds passed +... 14%, 103392 KB, 47695 KB/s, 2 seconds passed +... 14%, 103424 KB, 47701 KB/s, 2 seconds passed +... 14%, 103456 KB, 47707 KB/s, 2 seconds passed +... 14%, 103488 KB, 47714 KB/s, 2 seconds passed +... 14%, 103520 KB, 47720 KB/s, 2 seconds passed +... 14%, 103552 KB, 47727 KB/s, 2 seconds passed +... 14%, 103584 KB, 47733 KB/s, 2 seconds passed +... 14%, 103616 KB, 47739 KB/s, 2 seconds passed +... 14%, 103648 KB, 47746 KB/s, 2 seconds passed +... 14%, 103680 KB, 47751 KB/s, 2 seconds passed +... 14%, 103712 KB, 47761 KB/s, 2 seconds passed +... 14%, 103744 KB, 47770 KB/s, 2 seconds passed +... 14%, 103776 KB, 47779 KB/s, 2 seconds passed +... 14%, 103808 KB, 47789 KB/s, 2 seconds passed +... 14%, 103840 KB, 47798 KB/s, 2 seconds passed +... 14%, 103872 KB, 47807 KB/s, 2 seconds passed +... 14%, 103904 KB, 47817 KB/s, 2 seconds passed +... 14%, 103936 KB, 47826 KB/s, 2 seconds passed +... 14%, 103968 KB, 47835 KB/s, 2 seconds passed +... 14%, 104000 KB, 47844 KB/s, 2 seconds passed +... 14%, 104032 KB, 47854 KB/s, 2 seconds passed +... 14%, 104064 KB, 47863 KB/s, 2 seconds passed +... 14%, 104096 KB, 47872 KB/s, 2 seconds passed +... 14%, 104128 KB, 47881 KB/s, 2 seconds passed +... 14%, 104160 KB, 47890 KB/s, 2 seconds passed +... 14%, 104192 KB, 47899 KB/s, 2 seconds passed +... 14%, 104224 KB, 47908 KB/s, 2 seconds passed +... 14%, 104256 KB, 47917 KB/s, 2 seconds passed +... 14%, 104288 KB, 47926 KB/s, 2 seconds passed +... 14%, 104320 KB, 47935 KB/s, 2 seconds passed +... 15%, 104352 KB, 47944 KB/s, 2 seconds passed +... 15%, 104384 KB, 47953 KB/s, 2 seconds passed +... 15%, 104416 KB, 47963 KB/s, 2 seconds passed +... 15%, 104448 KB, 47972 KB/s, 2 seconds passed +... 15%, 104480 KB, 47981 KB/s, 2 seconds passed +... 15%, 104512 KB, 47991 KB/s, 2 seconds passed +... 15%, 104544 KB, 47999 KB/s, 2 seconds passed +... 15%, 104576 KB, 48009 KB/s, 2 seconds passed +... 15%, 104608 KB, 48018 KB/s, 2 seconds passed +... 15%, 104640 KB, 48028 KB/s, 2 seconds passed +... 15%, 104672 KB, 48037 KB/s, 2 seconds passed +... 15%, 104704 KB, 48046 KB/s, 2 seconds passed +... 15%, 104736 KB, 48055 KB/s, 2 seconds passed +... 15%, 104768 KB, 48064 KB/s, 2 seconds passed +... 15%, 104800 KB, 48074 KB/s, 2 seconds passed +... 15%, 104832 KB, 48083 KB/s, 2 seconds passed +... 15%, 104864 KB, 48092 KB/s, 2 seconds passed +... 15%, 104896 KB, 48101 KB/s, 2 seconds passed +... 15%, 104928 KB, 48111 KB/s, 2 seconds passed +... 15%, 104960 KB, 48120 KB/s, 2 seconds passed +... 15%, 104992 KB, 48130 KB/s, 2 seconds passed +... 15%, 105024 KB, 48141 KB/s, 2 seconds passed +... 15%, 105056 KB, 48151 KB/s, 2 seconds passed +... 15%, 105088 KB, 48162 KB/s, 2 seconds passed +... 15%, 105120 KB, 48174 KB/s, 2 seconds passed +... 15%, 105152 KB, 48185 KB/s, 2 seconds passed +... 15%, 105184 KB, 48195 KB/s, 2 seconds passed +... 15%, 105216 KB, 48206 KB/s, 2 seconds passed +... 15%, 105248 KB, 48217 KB/s, 2 seconds passed +... 15%, 105280 KB, 48228 KB/s, 2 seconds passed +... 15%, 105312 KB, 48239 KB/s, 2 seconds passed +... 15%, 105344 KB, 48250 KB/s, 2 seconds passed +... 15%, 105376 KB, 48261 KB/s, 2 seconds passed +... 15%, 105408 KB, 48272 KB/s, 2 seconds passed +... 15%, 105440 KB, 48283 KB/s, 2 seconds passed +... 15%, 105472 KB, 48293 KB/s, 2 seconds passed +... 15%, 105504 KB, 48304 KB/s, 2 seconds passed +... 15%, 105536 KB, 48315 KB/s, 2 seconds passed +... 15%, 105568 KB, 48326 KB/s, 2 seconds passed +... 15%, 105600 KB, 48335 KB/s, 2 seconds passed +... 15%, 105632 KB, 48342 KB/s, 2 seconds passed +... 15%, 105664 KB, 48350 KB/s, 2 seconds passed +... 15%, 105696 KB, 48356 KB/s, 2 seconds passed +... 15%, 105728 KB, 48361 KB/s, 2 seconds passed +... 15%, 105760 KB, 48369 KB/s, 2 seconds passed +... 15%, 105792 KB, 48380 KB/s, 2 seconds passed +... 15%, 105824 KB, 48391 KB/s, 2 seconds passed +... 15%, 105856 KB, 48400 KB/s, 2 seconds passed +... 15%, 105888 KB, 48409 KB/s, 2 seconds passed +... 15%, 105920 KB, 48418 KB/s, 2 seconds passed +... 15%, 105952 KB, 48427 KB/s, 2 seconds passed +... 15%, 105984 KB, 48436 KB/s, 2 seconds passed +... 15%, 106016 KB, 48444 KB/s, 2 seconds passed +... 15%, 106048 KB, 48454 KB/s, 2 seconds passed +... 15%, 106080 KB, 48459 KB/s, 2 seconds passed +... 15%, 106112 KB, 48464 KB/s, 2 seconds passed +... 15%, 106144 KB, 48475 KB/s, 2 seconds passed +... 15%, 106176 KB, 48486 KB/s, 2 seconds passed +... 15%, 106208 KB, 48494 KB/s, 2 seconds passed +... 15%, 106240 KB, 48504 KB/s, 2 seconds passed +... 15%, 106272 KB, 48510 KB/s, 2 seconds passed +... 15%, 106304 KB, 48521 KB/s, 2 seconds passed +... 15%, 106336 KB, 48530 KB/s, 2 seconds passed +... 15%, 106368 KB, 48535 KB/s, 2 seconds passed +... 15%, 106400 KB, 48540 KB/s, 2 seconds passed +... 15%, 106432 KB, 48546 KB/s, 2 seconds passed +... 15%, 106464 KB, 48552 KB/s, 2 seconds passed +... 15%, 106496 KB, 48564 KB/s, 2 seconds passed +... 15%, 106528 KB, 48576 KB/s, 2 seconds passed +... 15%, 106560 KB, 48587 KB/s, 2 seconds passed +... 15%, 106592 KB, 48594 KB/s, 2 seconds passed +... 15%, 106624 KB, 48600 KB/s, 2 seconds passed +... 15%, 106656 KB, 48605 KB/s, 2 seconds passed +... 15%, 106688 KB, 48611 KB/s, 2 seconds passed +... 15%, 106720 KB, 48622 KB/s, 2 seconds passed +... 15%, 106752 KB, 48634 KB/s, 2 seconds passed +... 15%, 106784 KB, 48645 KB/s, 2 seconds passed +... 15%, 106816 KB, 48654 KB/s, 2 seconds passed +... 15%, 106848 KB, 48663 KB/s, 2 seconds passed +... 15%, 106880 KB, 48671 KB/s, 2 seconds passed +... 15%, 106912 KB, 48679 KB/s, 2 seconds passed +... 15%, 106944 KB, 48687 KB/s, 2 seconds passed +... 15%, 106976 KB, 48696 KB/s, 2 seconds passed +... 15%, 107008 KB, 48705 KB/s, 2 seconds passed +... 15%, 107040 KB, 48713 KB/s, 2 seconds passed +... 15%, 107072 KB, 48721 KB/s, 2 seconds passed +... 15%, 107104 KB, 48730 KB/s, 2 seconds passed +... 15%, 107136 KB, 48738 KB/s, 2 seconds passed +... 15%, 107168 KB, 48747 KB/s, 2 seconds passed +... 15%, 107200 KB, 48755 KB/s, 2 seconds passed +... 15%, 107232 KB, 48763 KB/s, 2 seconds passed +... 15%, 107264 KB, 48772 KB/s, 2 seconds passed +... 15%, 107296 KB, 48780 KB/s, 2 seconds passed +... 15%, 107328 KB, 48788 KB/s, 2 seconds passed +... 15%, 107360 KB, 48797 KB/s, 2 seconds passed +... 15%, 107392 KB, 48804 KB/s, 2 seconds passed +... 15%, 107424 KB, 48813 KB/s, 2 seconds passed +... 15%, 107456 KB, 48822 KB/s, 2 seconds passed +... 15%, 107488 KB, 48830 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 15%, 107520 KB, 48205 KB/s, 2 seconds passed +... 15%, 107552 KB, 48208 KB/s, 2 seconds passed +... 15%, 107584 KB, 48213 KB/s, 2 seconds passed +... 15%, 107616 KB, 48219 KB/s, 2 seconds passed +... 15%, 107648 KB, 48225 KB/s, 2 seconds passed +... 15%, 107680 KB, 48230 KB/s, 2 seconds passed +... 15%, 107712 KB, 48237 KB/s, 2 seconds passed +... 15%, 107744 KB, 48244 KB/s, 2 seconds passed +... 15%, 107776 KB, 48251 KB/s, 2 seconds passed +... 15%, 107808 KB, 48259 KB/s, 2 seconds passed +... 15%, 107840 KB, 48227 KB/s, 2 seconds passed +... 15%, 107872 KB, 48231 KB/s, 2 seconds passed +... 15%, 107904 KB, 48237 KB/s, 2 seconds passed +... 15%, 107936 KB, 48243 KB/s, 2 seconds passed +... 15%, 107968 KB, 48249 KB/s, 2 seconds passed +... 15%, 108000 KB, 48255 KB/s, 2 seconds passed +... 15%, 108032 KB, 48261 KB/s, 2 seconds passed +... 15%, 108064 KB, 48268 KB/s, 2 seconds passed +... 15%, 108096 KB, 48273 KB/s, 2 seconds passed +... 15%, 108128 KB, 48280 KB/s, 2 seconds passed +... 15%, 108160 KB, 48286 KB/s, 2 seconds passed +... 15%, 108192 KB, 48293 KB/s, 2 seconds passed +... 15%, 108224 KB, 48298 KB/s, 2 seconds passed +... 15%, 108256 KB, 48305 KB/s, 2 seconds passed +... 15%, 108288 KB, 48311 KB/s, 2 seconds passed +... 15%, 108320 KB, 48319 KB/s, 2 seconds passed +... 15%, 108352 KB, 48327 KB/s, 2 seconds passed +... 15%, 108384 KB, 48334 KB/s, 2 seconds passed +... 15%, 108416 KB, 48342 KB/s, 2 seconds passed +... 15%, 108448 KB, 48350 KB/s, 2 seconds passed +... 15%, 108480 KB, 48357 KB/s, 2 seconds passed +... 15%, 108512 KB, 48365 KB/s, 2 seconds passed +... 15%, 108544 KB, 48373 KB/s, 2 seconds passed +... 15%, 108576 KB, 48381 KB/s, 2 seconds passed +... 15%, 108608 KB, 48389 KB/s, 2 seconds passed +... 15%, 108640 KB, 48396 KB/s, 2 seconds passed +... 15%, 108672 KB, 48405 KB/s, 2 seconds passed +... 15%, 108704 KB, 48412 KB/s, 2 seconds passed +... 15%, 108736 KB, 48420 KB/s, 2 seconds passed +... 15%, 108768 KB, 48428 KB/s, 2 seconds passed +... 15%, 108800 KB, 48435 KB/s, 2 seconds passed +... 15%, 108832 KB, 48443 KB/s, 2 seconds passed +... 15%, 108864 KB, 48451 KB/s, 2 seconds passed +... 15%, 108896 KB, 48458 KB/s, 2 seconds passed +... 15%, 108928 KB, 48466 KB/s, 2 seconds passed +... 15%, 108960 KB, 48474 KB/s, 2 seconds passed +... 15%, 108992 KB, 48482 KB/s, 2 seconds passed +... 15%, 109024 KB, 48490 KB/s, 2 seconds passed +... 15%, 109056 KB, 48497 KB/s, 2 seconds passed +... 15%, 109088 KB, 48505 KB/s, 2 seconds passed +... 15%, 109120 KB, 48513 KB/s, 2 seconds passed +... 15%, 109152 KB, 48521 KB/s, 2 seconds passed +... 15%, 109184 KB, 48528 KB/s, 2 seconds passed +... 15%, 109216 KB, 48536 KB/s, 2 seconds passed +... 15%, 109248 KB, 48544 KB/s, 2 seconds passed +... 15%, 109280 KB, 48552 KB/s, 2 seconds passed +... 15%, 109312 KB, 48560 KB/s, 2 seconds passed +... 15%, 109344 KB, 48568 KB/s, 2 seconds passed +... 15%, 109376 KB, 48578 KB/s, 2 seconds passed +... 15%, 109408 KB, 48587 KB/s, 2 seconds passed +... 15%, 109440 KB, 48597 KB/s, 2 seconds passed +... 15%, 109472 KB, 48607 KB/s, 2 seconds passed +... 15%, 109504 KB, 48617 KB/s, 2 seconds passed +... 15%, 109536 KB, 48627 KB/s, 2 seconds passed +... 15%, 109568 KB, 48637 KB/s, 2 seconds passed +... 15%, 109600 KB, 48646 KB/s, 2 seconds passed +... 15%, 109632 KB, 48656 KB/s, 2 seconds passed +... 15%, 109664 KB, 48666 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 15%, 109696 KB, 48675 KB/s, 2 seconds passed +... 15%, 109728 KB, 48685 KB/s, 2 seconds passed +... 15%, 109760 KB, 48695 KB/s, 2 seconds passed +... 15%, 109792 KB, 48704 KB/s, 2 seconds passed +... 15%, 109824 KB, 48714 KB/s, 2 seconds passed +... 15%, 109856 KB, 48724 KB/s, 2 seconds passed +... 15%, 109888 KB, 48734 KB/s, 2 seconds passed +... 15%, 109920 KB, 48744 KB/s, 2 seconds passed +... 15%, 109952 KB, 48753 KB/s, 2 seconds passed +... 15%, 109984 KB, 48763 KB/s, 2 seconds passed +... 15%, 110016 KB, 48773 KB/s, 2 seconds passed +... 15%, 110048 KB, 48783 KB/s, 2 seconds passed +... 15%, 110080 KB, 48793 KB/s, 2 seconds passed +... 15%, 110112 KB, 48799 KB/s, 2 seconds passed +... 15%, 110144 KB, 48805 KB/s, 2 seconds passed +... 15%, 110176 KB, 48814 KB/s, 2 seconds passed +... 15%, 110208 KB, 48813 KB/s, 2 seconds passed +... 15%, 110240 KB, 48818 KB/s, 2 seconds passed +... 15%, 110272 KB, 48824 KB/s, 2 seconds passed +... 15%, 110304 KB, 48832 KB/s, 2 seconds passed +... 15%, 110336 KB, 48842 KB/s, 2 seconds passed +... 15%, 110368 KB, 48851 KB/s, 2 seconds passed +... 15%, 110400 KB, 48860 KB/s, 2 seconds passed +... 15%, 110432 KB, 48868 KB/s, 2 seconds passed +... 15%, 110464 KB, 48867 KB/s, 2 seconds passed +... 15%, 110496 KB, 48872 KB/s, 2 seconds passed +... 15%, 110528 KB, 48878 KB/s, 2 seconds passed +... 15%, 110560 KB, 48885 KB/s, 2 seconds passed +... 15%, 110592 KB, 48891 KB/s, 2 seconds passed +... 15%, 110624 KB, 48899 KB/s, 2 seconds passed +... 15%, 110656 KB, 48907 KB/s, 2 seconds passed +... 15%, 110688 KB, 48915 KB/s, 2 seconds passed +... 15%, 110720 KB, 48526 KB/s, 2 seconds passed +... 15%, 110752 KB, 48530 KB/s, 2 seconds passed +... 15%, 110784 KB, 48536 KB/s, 2 seconds passed +... 15%, 110816 KB, 48541 KB/s, 2 seconds passed +... 15%, 110848 KB, 48546 KB/s, 2 seconds passed +... 15%, 110880 KB, 48552 KB/s, 2 seconds passed +... 15%, 110912 KB, 48558 KB/s, 2 seconds passed +... 15%, 110944 KB, 48564 KB/s, 2 seconds passed +... 15%, 110976 KB, 48570 KB/s, 2 seconds passed +... 15%, 111008 KB, 48576 KB/s, 2 seconds passed +... 15%, 111040 KB, 48582 KB/s, 2 seconds passed +... 15%, 111072 KB, 48588 KB/s, 2 seconds passed +... 15%, 111104 KB, 48594 KB/s, 2 seconds passed +... 15%, 111136 KB, 48601 KB/s, 2 seconds passed +... 15%, 111168 KB, 48606 KB/s, 2 seconds passed +... 15%, 111200 KB, 48612 KB/s, 2 seconds passed +... 15%, 111232 KB, 48619 KB/s, 2 seconds passed +... 15%, 111264 KB, 48626 KB/s, 2 seconds passed +... 16%, 111296 KB, 48632 KB/s, 2 seconds passed +... 16%, 111328 KB, 48638 KB/s, 2 seconds passed +... 16%, 111360 KB, 48645 KB/s, 2 seconds passed +... 16%, 111392 KB, 48652 KB/s, 2 seconds passed +... 16%, 111424 KB, 48658 KB/s, 2 seconds passed +... 16%, 111456 KB, 48665 KB/s, 2 seconds passed +... 16%, 111488 KB, 48672 KB/s, 2 seconds passed +... 16%, 111520 KB, 48678 KB/s, 2 seconds passed +... 16%, 111552 KB, 48684 KB/s, 2 seconds passed +... 16%, 111584 KB, 48691 KB/s, 2 seconds passed +... 16%, 111616 KB, 48697 KB/s, 2 seconds passed +... 16%, 111648 KB, 48703 KB/s, 2 seconds passed +... 16%, 111680 KB, 48712 KB/s, 2 seconds passed +... 16%, 111712 KB, 48721 KB/s, 2 seconds passed +... 16%, 111744 KB, 48729 KB/s, 2 seconds passed +... 16%, 111776 KB, 48739 KB/s, 2 seconds passed +... 16%, 111808 KB, 48748 KB/s, 2 seconds passed +... 16%, 111840 KB, 48757 KB/s, 2 seconds passed +... 16%, 111872 KB, 48766 KB/s, 2 seconds passed +... 16%, 111904 KB, 48775 KB/s, 2 seconds passed +... 16%, 111936 KB, 48784 KB/s, 2 seconds passed +... 16%, 111968 KB, 48793 KB/s, 2 seconds passed +... 16%, 112000 KB, 48802 KB/s, 2 seconds passed +... 16%, 112032 KB, 48811 KB/s, 2 seconds passed +... 16%, 112064 KB, 48820 KB/s, 2 seconds passed +... 16%, 112096 KB, 48829 KB/s, 2 seconds passed +... 16%, 112128 KB, 48838 KB/s, 2 seconds passed +... 16%, 112160 KB, 48847 KB/s, 2 seconds passed +... 16%, 112192 KB, 48856 KB/s, 2 seconds passed +... 16%, 112224 KB, 48865 KB/s, 2 seconds passed +... 16%, 112256 KB, 48874 KB/s, 2 seconds passed +... 16%, 112288 KB, 48883 KB/s, 2 seconds passed +... 16%, 112320 KB, 48891 KB/s, 2 seconds passed +... 16%, 112352 KB, 48900 KB/s, 2 seconds passed +... 16%, 112384 KB, 48910 KB/s, 2 seconds passed +... 16%, 112416 KB, 48919 KB/s, 2 seconds passed +... 16%, 112448 KB, 48928 KB/s, 2 seconds passed +... 16%, 112480 KB, 48937 KB/s, 2 seconds passed +... 16%, 112512 KB, 48947 KB/s, 2 seconds passed +... 16%, 112544 KB, 48957 KB/s, 2 seconds passed +... 16%, 112576 KB, 48967 KB/s, 2 seconds passed +... 16%, 112608 KB, 48976 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 16%, 112640 KB, 48382 KB/s, 2 seconds passed +... 16%, 112672 KB, 48386 KB/s, 2 seconds passed +... 16%, 112704 KB, 48389 KB/s, 2 seconds passed +... 16%, 112736 KB, 48395 KB/s, 2 seconds passed +... 16%, 112768 KB, 48400 KB/s, 2 seconds passed +... 16%, 112800 KB, 48407 KB/s, 2 seconds passed +... 16%, 112832 KB, 48413 KB/s, 2 seconds passed +... 16%, 112864 KB, 48419 KB/s, 2 seconds passed +... 16%, 112896 KB, 48425 KB/s, 2 seconds passed +... 16%, 112928 KB, 48431 KB/s, 2 seconds passed +... 16%, 112960 KB, 48438 KB/s, 2 seconds passed +... 16%, 112992 KB, 48444 KB/s, 2 seconds passed +... 16%, 113024 KB, 48451 KB/s, 2 seconds passed +... 16%, 113056 KB, 48458 KB/s, 2 seconds passed +... 16%, 113088 KB, 48464 KB/s, 2 seconds passed +... 16%, 113120 KB, 48471 KB/s, 2 seconds passed +... 16%, 113152 KB, 48477 KB/s, 2 seconds passed +... 16%, 113184 KB, 48483 KB/s, 2 seconds passed +... 16%, 113216 KB, 48490 KB/s, 2 seconds passed +... 16%, 113248 KB, 48495 KB/s, 2 seconds passed +... 16%, 113280 KB, 48502 KB/s, 2 seconds passed +... 16%, 113312 KB, 48509 KB/s, 2 seconds passed +... 16%, 113344 KB, 48514 KB/s, 2 seconds passed +... 16%, 113376 KB, 48521 KB/s, 2 seconds passed +... 16%, 113408 KB, 48527 KB/s, 2 seconds passed +... 16%, 113440 KB, 48534 KB/s, 2 seconds passed +... 16%, 113472 KB, 48541 KB/s, 2 seconds passed +... 16%, 113504 KB, 48547 KB/s, 2 seconds passed +... 16%, 113536 KB, 48554 KB/s, 2 seconds passed +... 16%, 113568 KB, 48561 KB/s, 2 seconds passed +... 16%, 113600 KB, 48566 KB/s, 2 seconds passed +... 16%, 113632 KB, 48573 KB/s, 2 seconds passed +... 16%, 113664 KB, 48579 KB/s, 2 seconds passed +... 16%, 113696 KB, 48586 KB/s, 2 seconds passed +... 16%, 113728 KB, 48593 KB/s, 2 seconds passed +... 16%, 113760 KB, 48599 KB/s, 2 seconds passed +... 16%, 113792 KB, 48606 KB/s, 2 seconds passed +... 16%, 113824 KB, 48612 KB/s, 2 seconds passed +... 16%, 113856 KB, 48618 KB/s, 2 seconds passed +... 16%, 113888 KB, 48624 KB/s, 2 seconds passed +... 16%, 113920 KB, 48632 KB/s, 2 seconds passed +... 16%, 113952 KB, 48641 KB/s, 2 seconds passed +... 16%, 113984 KB, 48651 KB/s, 2 seconds passed +... 16%, 114016 KB, 48659 KB/s, 2 seconds passed +... 16%, 114048 KB, 48668 KB/s, 2 seconds passed +... 16%, 114080 KB, 48677 KB/s, 2 seconds passed +... 16%, 114112 KB, 48686 KB/s, 2 seconds passed +... 16%, 114144 KB, 48695 KB/s, 2 seconds passed +... 16%, 114176 KB, 48704 KB/s, 2 seconds passed +... 16%, 114208 KB, 48714 KB/s, 2 seconds passed +... 16%, 114240 KB, 48723 KB/s, 2 seconds passed +... 16%, 114272 KB, 48733 KB/s, 2 seconds passed +... 16%, 114304 KB, 48743 KB/s, 2 seconds passed +... 16%, 114336 KB, 48750 KB/s, 2 seconds passed +... 16%, 114368 KB, 48757 KB/s, 2 seconds passed +... 16%, 114400 KB, 48765 KB/s, 2 seconds passed +... 16%, 114432 KB, 48773 KB/s, 2 seconds passed +... 16%, 114464 KB, 48782 KB/s, 2 seconds passed +... 16%, 114496 KB, 48790 KB/s, 2 seconds passed +... 16%, 114528 KB, 48798 KB/s, 2 seconds passed +... 16%, 114560 KB, 48802 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 16%, 114592 KB, 48424 KB/s, 2 seconds passed +... 16%, 114624 KB, 48427 KB/s, 2 seconds passed +... 16%, 114656 KB, 48431 KB/s, 2 seconds passed +... 16%, 114688 KB, 48437 KB/s, 2 seconds passed +... 16%, 114720 KB, 48443 KB/s, 2 seconds passed +... 16%, 114752 KB, 48449 KB/s, 2 seconds passed +... 16%, 114784 KB, 48454 KB/s, 2 seconds passed +... 16%, 114816 KB, 48460 KB/s, 2 seconds passed +... 16%, 114848 KB, 48465 KB/s, 2 seconds passed +... 16%, 114880 KB, 48471 KB/s, 2 seconds passed +... 16%, 114912 KB, 48476 KB/s, 2 seconds passed +... 16%, 114944 KB, 48482 KB/s, 2 seconds passed +... 16%, 114976 KB, 48486 KB/s, 2 seconds passed +... 16%, 115008 KB, 48492 KB/s, 2 seconds passed +... 16%, 115040 KB, 48497 KB/s, 2 seconds passed +... 16%, 115072 KB, 48503 KB/s, 2 seconds passed +... 16%, 115104 KB, 48509 KB/s, 2 seconds passed +... 16%, 115136 KB, 48514 KB/s, 2 seconds passed +... 16%, 115168 KB, 48520 KB/s, 2 seconds passed +... 16%, 115200 KB, 48525 KB/s, 2 seconds passed +... 16%, 115232 KB, 48531 KB/s, 2 seconds passed +... 16%, 115264 KB, 48536 KB/s, 2 seconds passed +... 16%, 115296 KB, 48541 KB/s, 2 seconds passed +... 16%, 115328 KB, 48546 KB/s, 2 seconds passed +... 16%, 115360 KB, 48551 KB/s, 2 seconds passed +... 16%, 115392 KB, 48557 KB/s, 2 seconds passed +... 16%, 115424 KB, 48562 KB/s, 2 seconds passed +... 16%, 115456 KB, 48568 KB/s, 2 seconds passed +... 16%, 115488 KB, 48573 KB/s, 2 seconds passed +... 16%, 115520 KB, 48578 KB/s, 2 seconds passed +... 16%, 115552 KB, 48584 KB/s, 2 seconds passed +... 16%, 115584 KB, 48590 KB/s, 2 seconds passed +... 16%, 115616 KB, 48595 KB/s, 2 seconds passed +... 16%, 115648 KB, 48599 KB/s, 2 seconds passed +... 16%, 115680 KB, 48604 KB/s, 2 seconds passed +... 16%, 115712 KB, 48610 KB/s, 2 seconds passed +... 16%, 115744 KB, 48616 KB/s, 2 seconds passed +... 16%, 115776 KB, 48621 KB/s, 2 seconds passed +... 16%, 115808 KB, 48627 KB/s, 2 seconds passed +... 16%, 115840 KB, 48632 KB/s, 2 seconds passed +... 16%, 115872 KB, 48638 KB/s, 2 seconds passed +... 16%, 115904 KB, 48643 KB/s, 2 seconds passed +... 16%, 115936 KB, 48648 KB/s, 2 seconds passed +... 16%, 115968 KB, 48656 KB/s, 2 seconds passed +... 16%, 116000 KB, 48665 KB/s, 2 seconds passed +... 16%, 116032 KB, 48673 KB/s, 2 seconds passed +... 16%, 116064 KB, 48682 KB/s, 2 seconds passed +... 16%, 116096 KB, 48690 KB/s, 2 seconds passed +... 16%, 116128 KB, 48699 KB/s, 2 seconds passed +... 16%, 116160 KB, 48707 KB/s, 2 seconds passed +... 16%, 116192 KB, 48715 KB/s, 2 seconds passed +... 16%, 116224 KB, 48724 KB/s, 2 seconds passed +... 16%, 116256 KB, 48732 KB/s, 2 seconds passed +... 16%, 116288 KB, 48741 KB/s, 2 seconds passed +... 16%, 116320 KB, 48749 KB/s, 2 seconds passed +... 16%, 116352 KB, 48757 KB/s, 2 seconds passed +... 16%, 116384 KB, 48765 KB/s, 2 seconds passed +... 16%, 116416 KB, 48774 KB/s, 2 seconds passed +... 16%, 116448 KB, 48782 KB/s, 2 seconds passed +... 16%, 116480 KB, 48790 KB/s, 2 seconds passed +... 16%, 116512 KB, 48798 KB/s, 2 seconds passed +... 16%, 116544 KB, 48807 KB/s, 2 seconds passed +... 16%, 116576 KB, 48815 KB/s, 2 seconds passed +... 16%, 116608 KB, 48824 KB/s, 2 seconds passed +... 16%, 116640 KB, 48832 KB/s, 2 seconds passed +... 16%, 116672 KB, 48840 KB/s, 2 seconds passed +... 16%, 116704 KB, 48849 KB/s, 2 seconds passed +... 16%, 116736 KB, 48857 KB/s, 2 seconds passed +... 16%, 116768 KB, 48866 KB/s, 2 seconds passed +... 16%, 116800 KB, 48874 KB/s, 2 seconds passed +... 16%, 116832 KB, 48883 KB/s, 2 seconds passed +... 16%, 116864 KB, 48891 KB/s, 2 seconds passed +... 16%, 116896 KB, 48899 KB/s, 2 seconds passed +... 16%, 116928 KB, 48908 KB/s, 2 seconds passed +... 16%, 116960 KB, 48916 KB/s, 2 seconds passed +... 16%, 116992 KB, 48924 KB/s, 2 seconds passed +... 16%, 117024 KB, 48932 KB/s, 2 seconds passed +... 16%, 117056 KB, 48941 KB/s, 2 seconds passed +... 16%, 117088 KB, 48949 KB/s, 2 seconds passed +... 16%, 117120 KB, 48958 KB/s, 2 seconds passed +... 16%, 117152 KB, 48966 KB/s, 2 seconds passed +... 16%, 117184 KB, 48974 KB/s, 2 seconds passed +... 16%, 117216 KB, 48983 KB/s, 2 seconds passed +... 16%, 117248 KB, 48991 KB/s, 2 seconds passed +... 16%, 117280 KB, 49001 KB/s, 2 seconds passed +... 16%, 117312 KB, 49011 KB/s, 2 seconds passed +... 16%, 117344 KB, 49021 KB/s, 2 seconds passed +... 16%, 117376 KB, 49031 KB/s, 2 seconds passed +... 16%, 117408 KB, 49041 KB/s, 2 seconds passed +... 16%, 117440 KB, 49051 KB/s, 2 seconds passed +... 16%, 117472 KB, 49061 KB/s, 2 seconds passed +... 16%, 117504 KB, 49070 KB/s, 2 seconds passed +... 16%, 117536 KB, 49080 KB/s, 2 seconds passed +... 16%, 117568 KB, 49090 KB/s, 2 seconds passed +... 16%, 117600 KB, 49100 KB/s, 2 seconds passed +... 16%, 117632 KB, 49111 KB/s, 2 seconds passed +... 16%, 117664 KB, 49121 KB/s, 2 seconds passed +... 16%, 117696 KB, 49132 KB/s, 2 seconds passed +... 16%, 117728 KB, 49142 KB/s, 2 seconds passed +... 16%, 117760 KB, 49033 KB/s, 2 seconds passed +... 16%, 117792 KB, 49035 KB/s, 2 seconds passed +... 16%, 117824 KB, 49044 KB/s, 2 seconds passed +... 16%, 117856 KB, 49053 KB/s, 2 seconds passed +... 16%, 117888 KB, 49063 KB/s, 2 seconds passed +... 16%, 117920 KB, 49072 KB/s, 2 seconds passed +... 16%, 117952 KB, 49080 KB/s, 2 seconds passed +... 16%, 117984 KB, 49088 KB/s, 2 seconds passed +... 16%, 118016 KB, 49096 KB/s, 2 seconds passed +... 16%, 118048 KB, 49104 KB/s, 2 seconds passed +... 16%, 118080 KB, 49110 KB/s, 2 seconds passed +... 16%, 118112 KB, 49117 KB/s, 2 seconds passed +... 16%, 118144 KB, 49126 KB/s, 2 seconds passed +... 16%, 118176 KB, 49133 KB/s, 2 seconds passed +... 16%, 118208 KB, 49141 KB/s, 2 seconds passed +... 17%, 118240 KB, 49147 KB/s, 2 seconds passed +... 17%, 118272 KB, 49156 KB/s, 2 seconds passed +... 17%, 118304 KB, 49165 KB/s, 2 seconds passed +... 17%, 118336 KB, 49172 KB/s, 2 seconds passed +... 17%, 118368 KB, 49179 KB/s, 2 seconds passed +... 17%, 118400 KB, 49187 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 17%, 118432 KB, 49194 KB/s, 2 seconds passed +... 17%, 118464 KB, 49202 KB/s, 2 seconds passed +... 17%, 118496 KB, 49210 KB/s, 2 seconds passed +... 17%, 118528 KB, 49217 KB/s, 2 seconds passed +... 17%, 118560 KB, 49226 KB/s, 2 seconds passed +... 17%, 118592 KB, 49231 KB/s, 2 seconds passed +... 17%, 118624 KB, 49238 KB/s, 2 seconds passed +... 17%, 118656 KB, 49247 KB/s, 2 seconds passed +... 17%, 118688 KB, 49255 KB/s, 2 seconds passed +... 17%, 118720 KB, 49263 KB/s, 2 seconds passed +... 17%, 118752 KB, 49269 KB/s, 2 seconds passed +... 17%, 118784 KB, 49276 KB/s, 2 seconds passed +... 17%, 118816 KB, 49284 KB/s, 2 seconds passed +... 17%, 118848 KB, 49292 KB/s, 2 seconds passed +... 17%, 118880 KB, 49300 KB/s, 2 seconds passed +... 17%, 118912 KB, 49308 KB/s, 2 seconds passed +... 17%, 118944 KB, 49315 KB/s, 2 seconds passed +... 17%, 118976 KB, 49323 KB/s, 2 seconds passed +... 17%, 119008 KB, 49330 KB/s, 2 seconds passed +... 17%, 119040 KB, 49338 KB/s, 2 seconds passed +... 17%, 119072 KB, 49345 KB/s, 2 seconds passed +... 17%, 119104 KB, 49351 KB/s, 2 seconds passed +... 17%, 119136 KB, 49360 KB/s, 2 seconds passed +... 17%, 119168 KB, 49367 KB/s, 2 seconds passed +... 17%, 119200 KB, 49375 KB/s, 2 seconds passed +... 17%, 119232 KB, 49383 KB/s, 2 seconds passed +... 17%, 119264 KB, 49391 KB/s, 2 seconds passed +... 17%, 119296 KB, 49399 KB/s, 2 seconds passed +... 17%, 119328 KB, 49406 KB/s, 2 seconds passed +... 17%, 119360 KB, 49412 KB/s, 2 seconds passed +... 17%, 119392 KB, 49420 KB/s, 2 seconds passed +... 17%, 119424 KB, 49428 KB/s, 2 seconds passed +... 17%, 119456 KB, 49436 KB/s, 2 seconds passed +... 17%, 119488 KB, 49442 KB/s, 2 seconds passed +... 17%, 119520 KB, 49450 KB/s, 2 seconds passed +... 17%, 119552 KB, 49457 KB/s, 2 seconds passed +... 17%, 119584 KB, 49465 KB/s, 2 seconds passed +... 17%, 119616 KB, 49473 KB/s, 2 seconds passed +... 17%, 119648 KB, 49481 KB/s, 2 seconds passed +... 17%, 119680 KB, 49490 KB/s, 2 seconds passed +... 17%, 119712 KB, 49495 KB/s, 2 seconds passed +... 17%, 119744 KB, 49502 KB/s, 2 seconds passed +... 17%, 119776 KB, 49510 KB/s, 2 seconds passed +... 17%, 119808 KB, 49518 KB/s, 2 seconds passed +... 17%, 119840 KB, 49525 KB/s, 2 seconds passed +... 17%, 119872 KB, 49534 KB/s, 2 seconds passed +... 17%, 119904 KB, 49541 KB/s, 2 seconds passed +... 17%, 119936 KB, 49549 KB/s, 2 seconds passed +... 17%, 119968 KB, 49556 KB/s, 2 seconds passed +... 17%, 120000 KB, 49564 KB/s, 2 seconds passed +... 17%, 120032 KB, 49570 KB/s, 2 seconds passed +... 17%, 120064 KB, 49578 KB/s, 2 seconds passed +... 17%, 120096 KB, 49586 KB/s, 2 seconds passed +... 17%, 120128 KB, 49593 KB/s, 2 seconds passed +... 17%, 120160 KB, 49602 KB/s, 2 seconds passed +... 17%, 120192 KB, 49608 KB/s, 2 seconds passed +... 17%, 120224 KB, 49612 KB/s, 2 seconds passed +... 17%, 120256 KB, 49617 KB/s, 2 seconds passed +... 17%, 120288 KB, 49624 KB/s, 2 seconds passed +... 17%, 120320 KB, 49630 KB/s, 2 seconds passed +... 17%, 120352 KB, 49637 KB/s, 2 seconds passed +... 17%, 120384 KB, 49225 KB/s, 2 seconds passed +... 17%, 120416 KB, 49228 KB/s, 2 seconds passed +... 17%, 120448 KB, 49232 KB/s, 2 seconds passed +... 17%, 120480 KB, 49238 KB/s, 2 seconds passed +... 17%, 120512 KB, 49242 KB/s, 2 seconds passed +... 17%, 120544 KB, 49248 KB/s, 2 seconds passed +... 17%, 120576 KB, 49254 KB/s, 2 seconds passed +... 17%, 120608 KB, 49260 KB/s, 2 seconds passed +... 17%, 120640 KB, 49267 KB/s, 2 seconds passed +... 17%, 120672 KB, 49273 KB/s, 2 seconds passed +... 17%, 120704 KB, 49279 KB/s, 2 seconds passed +... 17%, 120736 KB, 49285 KB/s, 2 seconds passed +... 17%, 120768 KB, 49291 KB/s, 2 seconds passed +... 17%, 120800 KB, 49298 KB/s, 2 seconds passed +... 17%, 120832 KB, 49304 KB/s, 2 seconds passed +... 17%, 120864 KB, 49310 KB/s, 2 seconds passed +... 17%, 120896 KB, 49316 KB/s, 2 seconds passed +... 17%, 120928 KB, 49322 KB/s, 2 seconds passed +... 17%, 120960 KB, 49327 KB/s, 2 seconds passed +... 17%, 120992 KB, 49334 KB/s, 2 seconds passed +... 17%, 121024 KB, 49340 KB/s, 2 seconds passed +... 17%, 121056 KB, 49346 KB/s, 2 seconds passed +... 17%, 121088 KB, 49352 KB/s, 2 seconds passed +... 17%, 121120 KB, 49358 KB/s, 2 seconds passed +... 17%, 121152 KB, 49364 KB/s, 2 seconds passed +... 17%, 121184 KB, 49372 KB/s, 2 seconds passed +... 17%, 121216 KB, 49379 KB/s, 2 seconds passed +... 17%, 121248 KB, 49385 KB/s, 2 seconds passed +... 17%, 121280 KB, 49392 KB/s, 2 seconds passed +... 17%, 121312 KB, 49399 KB/s, 2 seconds passed +... 17%, 121344 KB, 49407 KB/s, 2 seconds passed +... 17%, 121376 KB, 49413 KB/s, 2 seconds passed +... 17%, 121408 KB, 49420 KB/s, 2 seconds passed +... 17%, 121440 KB, 49427 KB/s, 2 seconds passed +... 17%, 121472 KB, 49433 KB/s, 2 seconds passed +... 17%, 121504 KB, 49440 KB/s, 2 seconds passed +... 17%, 121536 KB, 49447 KB/s, 2 seconds passed +... 17%, 121568 KB, 49454 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 17%, 121600 KB, 49461 KB/s, 2 seconds passed +... 17%, 121632 KB, 49468 KB/s, 2 seconds passed +... 17%, 121664 KB, 49475 KB/s, 2 seconds passed +... 17%, 121696 KB, 49482 KB/s, 2 seconds passed +... 17%, 121728 KB, 49489 KB/s, 2 seconds passed +... 17%, 121760 KB, 49496 KB/s, 2 seconds passed +... 17%, 121792 KB, 49503 KB/s, 2 seconds passed +... 17%, 121824 KB, 49510 KB/s, 2 seconds passed +... 17%, 121856 KB, 49517 KB/s, 2 seconds passed +... 17%, 121888 KB, 49524 KB/s, 2 seconds passed +... 17%, 121920 KB, 49530 KB/s, 2 seconds passed +... 17%, 121952 KB, 49537 KB/s, 2 seconds passed +... 17%, 121984 KB, 49543 KB/s, 2 seconds passed +... 17%, 122016 KB, 49551 KB/s, 2 seconds passed +... 17%, 122048 KB, 49557 KB/s, 2 seconds passed +... 17%, 122080 KB, 49564 KB/s, 2 seconds passed +... 17%, 122112 KB, 49571 KB/s, 2 seconds passed +... 17%, 122144 KB, 49578 KB/s, 2 seconds passed +... 17%, 122176 KB, 49586 KB/s, 2 seconds passed +... 17%, 122208 KB, 49595 KB/s, 2 seconds passed +... 17%, 122240 KB, 49604 KB/s, 2 seconds passed +... 17%, 122272 KB, 49613 KB/s, 2 seconds passed +... 17%, 122304 KB, 49622 KB/s, 2 seconds passed +... 17%, 122336 KB, 49631 KB/s, 2 seconds passed +... 17%, 122368 KB, 49640 KB/s, 2 seconds passed +... 17%, 122400 KB, 49649 KB/s, 2 seconds passed +... 17%, 122432 KB, 49658 KB/s, 2 seconds passed +... 17%, 122464 KB, 49667 KB/s, 2 seconds passed +... 17%, 122496 KB, 49676 KB/s, 2 seconds passed +... 17%, 122528 KB, 49684 KB/s, 2 seconds passed +... 17%, 122560 KB, 49694 KB/s, 2 seconds passed +... 17%, 122592 KB, 49703 KB/s, 2 seconds passed +... 17%, 122624 KB, 49711 KB/s, 2 seconds passed +... 17%, 122656 KB, 49720 KB/s, 2 seconds passed +... 17%, 122688 KB, 49729 KB/s, 2 seconds passed +... 17%, 122720 KB, 49738 KB/s, 2 seconds passed +... 17%, 122752 KB, 49747 KB/s, 2 seconds passed +... 17%, 122784 KB, 49756 KB/s, 2 seconds passed +... 17%, 122816 KB, 49766 KB/s, 2 seconds passed +... 17%, 122848 KB, 49775 KB/s, 2 seconds passed +... 17%, 122880 KB, 49263 KB/s, 2 seconds passed +... 17%, 122912 KB, 49266 KB/s, 2 seconds passed +... 17%, 122944 KB, 49270 KB/s, 2 seconds passed +... 17%, 122976 KB, 49276 KB/s, 2 seconds passed +... 17%, 123008 KB, 49281 KB/s, 2 seconds passed +... 17%, 123040 KB, 49287 KB/s, 2 seconds passed +... 17%, 123072 KB, 49294 KB/s, 2 seconds passed +... 17%, 123104 KB, 49299 KB/s, 2 seconds passed +... 17%, 123136 KB, 49305 KB/s, 2 seconds passed +... 17%, 123168 KB, 49310 KB/s, 2 seconds passed +... 17%, 123200 KB, 49316 KB/s, 2 seconds passed +... 17%, 123232 KB, 49323 KB/s, 2 seconds passed +... 17%, 123264 KB, 49327 KB/s, 2 seconds passed +... 17%, 123296 KB, 49333 KB/s, 2 seconds passed +... 17%, 123328 KB, 49338 KB/s, 2 seconds passed +... 17%, 123360 KB, 49344 KB/s, 2 seconds passed +... 17%, 123392 KB, 49349 KB/s, 2 seconds passed +... 17%, 123424 KB, 49355 KB/s, 2 seconds passed +... 17%, 123456 KB, 49361 KB/s, 2 seconds passed +... 17%, 123488 KB, 49366 KB/s, 2 seconds passed +... 17%, 123520 KB, 49372 KB/s, 2 seconds passed +... 17%, 123552 KB, 49378 KB/s, 2 seconds passed +... 17%, 123584 KB, 49384 KB/s, 2 seconds passed +... 17%, 123616 KB, 49389 KB/s, 2 seconds passed +... 17%, 123648 KB, 49394 KB/s, 2 seconds passed +... 17%, 123680 KB, 49400 KB/s, 2 seconds passed +... 17%, 123712 KB, 49406 KB/s, 2 seconds passed +... 17%, 123744 KB, 49412 KB/s, 2 seconds passed +... 17%, 123776 KB, 49418 KB/s, 2 seconds passed +... 17%, 123808 KB, 49427 KB/s, 2 seconds passed +... 17%, 123840 KB, 49436 KB/s, 2 seconds passed +... 17%, 123872 KB, 49444 KB/s, 2 seconds passed +... 17%, 123904 KB, 49452 KB/s, 2 seconds passed +... 17%, 123936 KB, 49461 KB/s, 2 seconds passed +... 17%, 123968 KB, 49469 KB/s, 2 seconds passed +... 17%, 124000 KB, 49477 KB/s, 2 seconds passed +... 17%, 124032 KB, 49486 KB/s, 2 seconds passed +... 17%, 124064 KB, 49494 KB/s, 2 seconds passed +... 17%, 124096 KB, 49502 KB/s, 2 seconds passed +... 17%, 124128 KB, 49510 KB/s, 2 seconds passed +... 17%, 124160 KB, 49518 KB/s, 2 seconds passed +... 17%, 124192 KB, 49526 KB/s, 2 seconds passed +... 17%, 124224 KB, 49534 KB/s, 2 seconds passed +... 17%, 124256 KB, 49543 KB/s, 2 seconds passed +... 17%, 124288 KB, 49550 KB/s, 2 seconds passed +... 17%, 124320 KB, 49559 KB/s, 2 seconds passed +... 17%, 124352 KB, 49567 KB/s, 2 seconds passed +... 17%, 124384 KB, 49575 KB/s, 2 seconds passed +... 17%, 124416 KB, 49584 KB/s, 2 seconds passed +... 17%, 124448 KB, 49592 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 17%, 124480 KB, 49599 KB/s, 2 seconds passed +... 17%, 124512 KB, 49607 KB/s, 2 seconds passed +... 17%, 124544 KB, 49616 KB/s, 2 seconds passed +... 17%, 124576 KB, 49624 KB/s, 2 seconds passed +... 17%, 124608 KB, 49632 KB/s, 2 seconds passed +... 17%, 124640 KB, 49640 KB/s, 2 seconds passed +... 17%, 124672 KB, 49648 KB/s, 2 seconds passed +... 17%, 124704 KB, 49656 KB/s, 2 seconds passed +... 17%, 124736 KB, 49663 KB/s, 2 seconds passed +... 17%, 124768 KB, 49667 KB/s, 2 seconds passed +... 17%, 124800 KB, 49675 KB/s, 2 seconds passed +... 17%, 124832 KB, 49684 KB/s, 2 seconds passed +... 17%, 124864 KB, 49690 KB/s, 2 seconds passed +... 17%, 124896 KB, 49698 KB/s, 2 seconds passed +... 17%, 124928 KB, 49705 KB/s, 2 seconds passed +... 17%, 124960 KB, 49713 KB/s, 2 seconds passed +... 17%, 124992 KB, 49721 KB/s, 2 seconds passed +... 17%, 125024 KB, 49728 KB/s, 2 seconds passed +... 17%, 125056 KB, 49736 KB/s, 2 seconds passed +... 17%, 125088 KB, 49743 KB/s, 2 seconds passed +... 17%, 125120 KB, 49752 KB/s, 2 seconds passed +... 17%, 125152 KB, 49755 KB/s, 2 seconds passed +... 17%, 125184 KB, 49764 KB/s, 2 seconds passed +... 18%, 125216 KB, 49770 KB/s, 2 seconds passed +... 18%, 125248 KB, 49778 KB/s, 2 seconds passed +... 18%, 125280 KB, 49785 KB/s, 2 seconds passed +... 18%, 125312 KB, 49793 KB/s, 2 seconds passed +... 18%, 125344 KB, 49800 KB/s, 2 seconds passed +... 18%, 125376 KB, 49808 KB/s, 2 seconds passed +... 18%, 125408 KB, 49811 KB/s, 2 seconds passed +... 18%, 125440 KB, 49821 KB/s, 2 seconds passed +... 18%, 125472 KB, 49826 KB/s, 2 seconds passed +... 18%, 125504 KB, 49836 KB/s, 2 seconds passed +... 18%, 125536 KB, 49846 KB/s, 2 seconds passed +... 18%, 125568 KB, 49849 KB/s, 2 seconds passed +... 18%, 125600 KB, 49854 KB/s, 2 seconds passed +... 18%, 125632 KB, 49862 KB/s, 2 seconds passed +... 18%, 125664 KB, 49872 KB/s, 2 seconds passed +... 18%, 125696 KB, 49880 KB/s, 2 seconds passed +... 18%, 125728 KB, 49888 KB/s, 2 seconds passed +... 18%, 125760 KB, 49895 KB/s, 2 seconds passed +... 18%, 125792 KB, 49903 KB/s, 2 seconds passed +... 18%, 125824 KB, 49911 KB/s, 2 seconds passed +... 18%, 125856 KB, 49914 KB/s, 2 seconds passed +... 18%, 125888 KB, 49921 KB/s, 2 seconds passed +... 18%, 125920 KB, 49929 KB/s, 2 seconds passed +... 18%, 125952 KB, 49937 KB/s, 2 seconds passed +... 18%, 125984 KB, 49944 KB/s, 2 seconds passed +... 18%, 126016 KB, 49952 KB/s, 2 seconds passed +... 18%, 126048 KB, 49959 KB/s, 2 seconds passed +... 18%, 126080 KB, 49967 KB/s, 2 seconds passed +... 18%, 126112 KB, 49975 KB/s, 2 seconds passed +... 18%, 126144 KB, 49982 KB/s, 2 seconds passed +... 18%, 126176 KB, 49985 KB/s, 2 seconds passed +... 18%, 126208 KB, 49993 KB/s, 2 seconds passed +... 18%, 126240 KB, 50001 KB/s, 2 seconds passed +... 18%, 126272 KB, 50008 KB/s, 2 seconds passed +... 18%, 126304 KB, 50016 KB/s, 2 seconds passed +... 18%, 126336 KB, 50023 KB/s, 2 seconds passed +... 18%, 126368 KB, 50031 KB/s, 2 seconds passed +... 18%, 126400 KB, 50039 KB/s, 2 seconds passed +... 18%, 126432 KB, 50046 KB/s, 2 seconds passed +... 18%, 126464 KB, 50048 KB/s, 2 seconds passed +... 18%, 126496 KB, 50053 KB/s, 2 seconds passed +... 18%, 126528 KB, 50058 KB/s, 2 seconds passed +... 18%, 126560 KB, 50066 KB/s, 2 seconds passed +... 18%, 126592 KB, 50076 KB/s, 2 seconds passed +... 18%, 126624 KB, 50086 KB/s, 2 seconds passed +... 18%, 126656 KB, 50093 KB/s, 2 seconds passed +... 18%, 126688 KB, 50099 KB/s, 2 seconds passed +... 18%, 126720 KB, 50104 KB/s, 2 seconds passed +... 18%, 126752 KB, 50089 KB/s, 2 seconds passed +... 18%, 126784 KB, 50097 KB/s, 2 seconds passed +... 18%, 126816 KB, 50105 KB/s, 2 seconds passed +... 18%, 126848 KB, 50113 KB/s, 2 seconds passed +... 18%, 126880 KB, 50120 KB/s, 2 seconds passed +... 18%, 126912 KB, 50126 KB/s, 2 seconds passed +... 18%, 126944 KB, 50132 KB/s, 2 seconds passed +... 18%, 126976 KB, 50136 KB/s, 2 seconds passed +... 18%, 127008 KB, 50144 KB/s, 2 seconds passed +... 18%, 127040 KB, 50154 KB/s, 2 seconds passed +... 18%, 127072 KB, 50161 KB/s, 2 seconds passed +... 18%, 127104 KB, 50168 KB/s, 2 seconds passed +... 18%, 127136 KB, 50176 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 18%, 127168 KB, 49467 KB/s, 2 seconds passed +... 18%, 127200 KB, 49470 KB/s, 2 seconds passed +... 18%, 127232 KB, 49475 KB/s, 2 seconds passed +... 18%, 127264 KB, 49480 KB/s, 2 seconds passed +... 18%, 127296 KB, 49485 KB/s, 2 seconds passed +... 18%, 127328 KB, 49491 KB/s, 2 seconds passed +... 18%, 127360 KB, 49496 KB/s, 2 seconds passed +... 18%, 127392 KB, 49502 KB/s, 2 seconds passed +... 18%, 127424 KB, 49506 KB/s, 2 seconds passed +... 18%, 127456 KB, 49512 KB/s, 2 seconds passed +... 18%, 127488 KB, 49517 KB/s, 2 seconds passed +... 18%, 127520 KB, 49523 KB/s, 2 seconds passed +... 18%, 127552 KB, 49527 KB/s, 2 seconds passed +... 18%, 127584 KB, 49533 KB/s, 2 seconds passed +... 18%, 127616 KB, 49538 KB/s, 2 seconds passed +... 18%, 127648 KB, 49544 KB/s, 2 seconds passed +... 18%, 127680 KB, 49550 KB/s, 2 seconds passed +... 18%, 127712 KB, 49555 KB/s, 2 seconds passed +... 18%, 127744 KB, 49561 KB/s, 2 seconds passed +... 18%, 127776 KB, 49566 KB/s, 2 seconds passed +... 18%, 127808 KB, 49572 KB/s, 2 seconds passed +... 18%, 127840 KB, 49579 KB/s, 2 seconds passed +... 18%, 127872 KB, 49585 KB/s, 2 seconds passed +... 18%, 127904 KB, 49592 KB/s, 2 seconds passed +... 18%, 127936 KB, 49598 KB/s, 2 seconds passed +... 18%, 127968 KB, 49604 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 18%, 128000 KB, 48539 KB/s, 2 seconds passed +... 18%, 128032 KB, 48542 KB/s, 2 seconds passed +... 18%, 128064 KB, 48547 KB/s, 2 seconds passed +... 18%, 128096 KB, 48552 KB/s, 2 seconds passed +... 18%, 128128 KB, 48557 KB/s, 2 seconds passed +... 18%, 128160 KB, 48560 KB/s, 2 seconds passed +... 18%, 128192 KB, 48565 KB/s, 2 seconds passed +... 18%, 128224 KB, 48570 KB/s, 2 seconds passed +... 18%, 128256 KB, 48575 KB/s, 2 seconds passed +... 18%, 128288 KB, 48580 KB/s, 2 seconds passed +... 18%, 128320 KB, 48585 KB/s, 2 seconds passed +... 18%, 128352 KB, 48590 KB/s, 2 seconds passed +... 18%, 128384 KB, 48595 KB/s, 2 seconds passed +... 18%, 128416 KB, 48600 KB/s, 2 seconds passed +... 18%, 128448 KB, 48605 KB/s, 2 seconds passed +... 18%, 128480 KB, 48609 KB/s, 2 seconds passed +... 18%, 128512 KB, 48614 KB/s, 2 seconds passed +... 18%, 128544 KB, 48619 KB/s, 2 seconds passed +... 18%, 128576 KB, 48625 KB/s, 2 seconds passed +... 18%, 128608 KB, 48632 KB/s, 2 seconds passed +... 18%, 128640 KB, 48637 KB/s, 2 seconds passed +... 18%, 128672 KB, 48642 KB/s, 2 seconds passed +... 18%, 128704 KB, 48647 KB/s, 2 seconds passed +... 18%, 128736 KB, 48652 KB/s, 2 seconds passed +... 18%, 128768 KB, 48658 KB/s, 2 seconds passed +... 18%, 128800 KB, 48664 KB/s, 2 seconds passed +... 18%, 128832 KB, 48671 KB/s, 2 seconds passed +... 18%, 128864 KB, 48677 KB/s, 2 seconds passed +... 18%, 128896 KB, 48683 KB/s, 2 seconds passed +... 18%, 128928 KB, 48690 KB/s, 2 seconds passed +... 18%, 128960 KB, 48696 KB/s, 2 seconds passed +... 18%, 128992 KB, 48703 KB/s, 2 seconds passed +... 18%, 129024 KB, 48709 KB/s, 2 seconds passed +... 18%, 129056 KB, 48716 KB/s, 2 seconds passed +... 18%, 129088 KB, 48722 KB/s, 2 seconds passed +... 18%, 129120 KB, 48729 KB/s, 2 seconds passed +... 18%, 129152 KB, 48736 KB/s, 2 seconds passed +... 18%, 129184 KB, 48742 KB/s, 2 seconds passed +... 18%, 129216 KB, 48748 KB/s, 2 seconds passed +... 18%, 129248 KB, 48754 KB/s, 2 seconds passed +... 18%, 129280 KB, 48760 KB/s, 2 seconds passed +... 18%, 129312 KB, 48767 KB/s, 2 seconds passed +... 18%, 129344 KB, 48773 KB/s, 2 seconds passed +... 18%, 129376 KB, 48780 KB/s, 2 seconds passed +... 18%, 129408 KB, 48786 KB/s, 2 seconds passed +... 18%, 129440 KB, 48793 KB/s, 2 seconds passed +... 18%, 129472 KB, 48800 KB/s, 2 seconds passed +... 18%, 129504 KB, 48806 KB/s, 2 seconds passed +... 18%, 129536 KB, 48812 KB/s, 2 seconds passed +... 18%, 129568 KB, 48819 KB/s, 2 seconds passed +... 18%, 129600 KB, 48826 KB/s, 2 seconds passed +... 18%, 129632 KB, 48832 KB/s, 2 seconds passed +... 18%, 129664 KB, 48838 KB/s, 2 seconds passed +... 18%, 129696 KB, 48844 KB/s, 2 seconds passed +... 18%, 129728 KB, 48851 KB/s, 2 seconds passed +... 18%, 129760 KB, 48857 KB/s, 2 seconds passed +... 18%, 129792 KB, 48864 KB/s, 2 seconds passed +... 18%, 129824 KB, 48872 KB/s, 2 seconds passed +... 18%, 129856 KB, 48880 KB/s, 2 seconds passed +... 18%, 129888 KB, 48888 KB/s, 2 seconds passed +... 18%, 129920 KB, 48897 KB/s, 2 seconds passed +... 18%, 129952 KB, 48905 KB/s, 2 seconds passed +... 18%, 129984 KB, 48914 KB/s, 2 seconds passed +... 18%, 130016 KB, 48922 KB/s, 2 seconds passed +... 18%, 130048 KB, 48930 KB/s, 2 seconds passed +... 18%, 130080 KB, 48938 KB/s, 2 seconds passed +... 18%, 130112 KB, 48946 KB/s, 2 seconds passed +... 18%, 130144 KB, 48955 KB/s, 2 seconds passed +... 18%, 130176 KB, 48963 KB/s, 2 seconds passed +... 18%, 130208 KB, 48972 KB/s, 2 seconds passed +... 18%, 130240 KB, 48980 KB/s, 2 seconds passed +... 18%, 130272 KB, 48988 KB/s, 2 seconds passed +... 18%, 130304 KB, 48996 KB/s, 2 seconds passed +... 18%, 130336 KB, 49005 KB/s, 2 seconds passed +... 18%, 130368 KB, 49013 KB/s, 2 seconds passed +... 18%, 130400 KB, 49021 KB/s, 2 seconds passed +... 18%, 130432 KB, 49030 KB/s, 2 seconds passed +... 18%, 130464 KB, 49039 KB/s, 2 seconds passed +... 18%, 130496 KB, 49047 KB/s, 2 seconds passed +... 18%, 130528 KB, 49055 KB/s, 2 seconds passed +... 18%, 130560 KB, 49064 KB/s, 2 seconds passed +... 18%, 130592 KB, 49072 KB/s, 2 seconds passed +... 18%, 130624 KB, 49080 KB/s, 2 seconds passed +... 18%, 130656 KB, 49089 KB/s, 2 seconds passed +... 18%, 130688 KB, 49097 KB/s, 2 seconds passed +... 18%, 130720 KB, 49105 KB/s, 2 seconds passed +... 18%, 130752 KB, 49112 KB/s, 2 seconds passed +... 18%, 130784 KB, 49119 KB/s, 2 seconds passed +... 18%, 130816 KB, 49126 KB/s, 2 seconds passed +... 18%, 130848 KB, 49132 KB/s, 2 seconds passed +... 18%, 130880 KB, 49140 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 18%, 130912 KB, 49147 KB/s, 2 seconds passed +... 18%, 130944 KB, 49154 KB/s, 2 seconds passed +... 18%, 130976 KB, 49160 KB/s, 2 seconds passed +... 18%, 131008 KB, 49167 KB/s, 2 seconds passed +... 18%, 131040 KB, 49174 KB/s, 2 seconds passed +... 18%, 131072 KB, 49180 KB/s, 2 seconds passed +... 18%, 131104 KB, 49188 KB/s, 2 seconds passed +... 18%, 131136 KB, 49195 KB/s, 2 seconds passed +... 18%, 131168 KB, 49202 KB/s, 2 seconds passed +... 18%, 131200 KB, 49208 KB/s, 2 seconds passed +... 18%, 131232 KB, 49217 KB/s, 2 seconds passed +... 18%, 131264 KB, 49221 KB/s, 2 seconds passed +... 18%, 131296 KB, 49229 KB/s, 2 seconds passed +... 18%, 131328 KB, 49236 KB/s, 2 seconds passed +... 18%, 131360 KB, 49243 KB/s, 2 seconds passed +... 18%, 131392 KB, 49250 KB/s, 2 seconds passed +... 18%, 131424 KB, 49257 KB/s, 2 seconds passed +... 18%, 131456 KB, 49264 KB/s, 2 seconds passed +... 18%, 131488 KB, 49271 KB/s, 2 seconds passed +... 18%, 131520 KB, 49277 KB/s, 2 seconds passed +... 18%, 131552 KB, 49284 KB/s, 2 seconds passed +... 18%, 131584 KB, 49291 KB/s, 2 seconds passed +... 18%, 131616 KB, 49298 KB/s, 2 seconds passed +... 18%, 131648 KB, 49304 KB/s, 2 seconds passed +... 18%, 131680 KB, 49312 KB/s, 2 seconds passed +... 18%, 131712 KB, 49319 KB/s, 2 seconds passed +... 18%, 131744 KB, 49327 KB/s, 2 seconds passed +... 18%, 131776 KB, 49332 KB/s, 2 seconds passed +... 18%, 131808 KB, 49336 KB/s, 2 seconds passed +... 18%, 131840 KB, 49337 KB/s, 2 seconds passed +... 18%, 131872 KB, 49340 KB/s, 2 seconds passed +... 18%, 131904 KB, 49349 KB/s, 2 seconds passed +... 18%, 131936 KB, 49358 KB/s, 2 seconds passed +... 18%, 131968 KB, 49366 KB/s, 2 seconds passed +... 18%, 132000 KB, 49375 KB/s, 2 seconds passed +... 18%, 132032 KB, 49384 KB/s, 2 seconds passed +... 18%, 132064 KB, 49392 KB/s, 2 seconds passed +... 18%, 132096 KB, 49400 KB/s, 2 seconds passed +... 18%, 132128 KB, 49407 KB/s, 2 seconds passed +... 19%, 132160 KB, 49414 KB/s, 2 seconds passed +... 19%, 132192 KB, 49421 KB/s, 2 seconds passed +... 19%, 132224 KB, 49427 KB/s, 2 seconds passed +... 19%, 132256 KB, 49433 KB/s, 2 seconds passed +... 19%, 132288 KB, 49100 KB/s, 2 seconds passed +... 19%, 132320 KB, 49103 KB/s, 2 seconds passed +... 19%, 132352 KB, 49103 KB/s, 2 seconds passed +... 19%, 132384 KB, 49108 KB/s, 2 seconds passed +... 19%, 132416 KB, 49112 KB/s, 2 seconds passed +... 19%, 132448 KB, 49117 KB/s, 2 seconds passed +... 19%, 132480 KB, 49123 KB/s, 2 seconds passed +... 19%, 132512 KB, 49127 KB/s, 2 seconds passed +... 19%, 132544 KB, 49132 KB/s, 2 seconds passed +... 19%, 132576 KB, 49137 KB/s, 2 seconds passed +... 19%, 132608 KB, 49142 KB/s, 2 seconds passed +... 19%, 132640 KB, 49147 KB/s, 2 seconds passed +... 19%, 132672 KB, 49150 KB/s, 2 seconds passed +... 19%, 132704 KB, 49155 KB/s, 2 seconds passed +... 19%, 132736 KB, 49160 KB/s, 2 seconds passed +... 19%, 132768 KB, 49165 KB/s, 2 seconds passed +... 19%, 132800 KB, 49169 KB/s, 2 seconds passed +... 19%, 132832 KB, 49175 KB/s, 2 seconds passed +... 19%, 132864 KB, 49179 KB/s, 2 seconds passed +... 19%, 132896 KB, 49185 KB/s, 2 seconds passed +... 19%, 132928 KB, 49192 KB/s, 2 seconds passed +... 19%, 132960 KB, 49198 KB/s, 2 seconds passed +... 19%, 132992 KB, 49205 KB/s, 2 seconds passed +... 19%, 133024 KB, 49211 KB/s, 2 seconds passed +... 19%, 133056 KB, 49217 KB/s, 2 seconds passed +... 19%, 133088 KB, 49224 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 19%, 133120 KB, 48429 KB/s, 2 seconds passed +... 19%, 133152 KB, 48431 KB/s, 2 seconds passed +... 19%, 133184 KB, 48436 KB/s, 2 seconds passed +... 19%, 133216 KB, 48442 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 19%, 133248 KB, 48166 KB/s, 2 seconds passed +... 19%, 133280 KB, 48168 KB/s, 2 seconds passed +... 19%, 133312 KB, 48171 KB/s, 2 seconds passed +... 19%, 133344 KB, 48175 KB/s, 2 seconds passed +... 19%, 133376 KB, 48180 KB/s, 2 seconds passed +... 19%, 133408 KB, 48185 KB/s, 2 seconds passed +... 19%, 133440 KB, 48190 KB/s, 2 seconds passed +... 19%, 133472 KB, 48195 KB/s, 2 seconds passed +... 19%, 133504 KB, 48200 KB/s, 2 seconds passed +... 19%, 133536 KB, 48205 KB/s, 2 seconds passed +... 19%, 133568 KB, 48210 KB/s, 2 seconds passed +... 19%, 133600 KB, 48214 KB/s, 2 seconds passed +... 19%, 133632 KB, 48218 KB/s, 2 seconds passed +... 19%, 133664 KB, 48223 KB/s, 2 seconds passed +... 19%, 133696 KB, 48227 KB/s, 2 seconds passed +... 19%, 133728 KB, 48232 KB/s, 2 seconds passed +... 19%, 133760 KB, 48236 KB/s, 2 seconds passed +... 19%, 133792 KB, 48241 KB/s, 2 seconds passed +... 19%, 133824 KB, 48245 KB/s, 2 seconds passed +... 19%, 133856 KB, 48250 KB/s, 2 seconds passed +... 19%, 133888 KB, 48255 KB/s, 2 seconds passed +... 19%, 133920 KB, 48259 KB/s, 2 seconds passed +... 19%, 133952 KB, 48263 KB/s, 2 seconds passed +... 19%, 133984 KB, 48268 KB/s, 2 seconds passed +... 19%, 134016 KB, 48272 KB/s, 2 seconds passed +... 19%, 134048 KB, 48277 KB/s, 2 seconds passed +... 19%, 134080 KB, 48281 KB/s, 2 seconds passed +... 19%, 134112 KB, 48286 KB/s, 2 seconds passed +... 19%, 134144 KB, 48291 KB/s, 2 seconds passed +... 19%, 134176 KB, 48296 KB/s, 2 seconds passed +... 19%, 134208 KB, 48303 KB/s, 2 seconds passed +... 19%, 134240 KB, 48310 KB/s, 2 seconds passed +... 19%, 134272 KB, 48317 KB/s, 2 seconds passed +... 19%, 134304 KB, 48324 KB/s, 2 seconds passed +... 19%, 134336 KB, 48331 KB/s, 2 seconds passed +... 19%, 134368 KB, 48338 KB/s, 2 seconds passed +... 19%, 134400 KB, 48345 KB/s, 2 seconds passed +... 19%, 134432 KB, 48352 KB/s, 2 seconds passed +... 19%, 134464 KB, 48359 KB/s, 2 seconds passed +... 19%, 134496 KB, 48366 KB/s, 2 seconds passed +... 19%, 134528 KB, 48373 KB/s, 2 seconds passed +... 19%, 134560 KB, 48380 KB/s, 2 seconds passed +... 19%, 134592 KB, 48387 KB/s, 2 seconds passed +... 19%, 134624 KB, 48395 KB/s, 2 seconds passed +... 19%, 134656 KB, 48402 KB/s, 2 seconds passed +... 19%, 134688 KB, 48409 KB/s, 2 seconds passed +... 19%, 134720 KB, 48416 KB/s, 2 seconds passed +... 19%, 134752 KB, 48423 KB/s, 2 seconds passed +... 19%, 134784 KB, 48430 KB/s, 2 seconds passed +... 19%, 134816 KB, 48437 KB/s, 2 seconds passed +... 19%, 134848 KB, 48444 KB/s, 2 seconds passed +... 19%, 134880 KB, 48452 KB/s, 2 seconds passed +... 19%, 134912 KB, 48459 KB/s, 2 seconds passed +... 19%, 134944 KB, 48466 KB/s, 2 seconds passed +... 19%, 134976 KB, 48473 KB/s, 2 seconds passed +... 19%, 135008 KB, 48480 KB/s, 2 seconds passed +... 19%, 135040 KB, 48488 KB/s, 2 seconds passed +... 19%, 135072 KB, 48495 KB/s, 2 seconds passed +... 19%, 135104 KB, 48502 KB/s, 2 seconds passed +... 19%, 135136 KB, 48509 KB/s, 2 seconds passed +... 19%, 135168 KB, 48516 KB/s, 2 seconds passed +... 19%, 135200 KB, 48523 KB/s, 2 seconds passed +... 19%, 135232 KB, 48530 KB/s, 2 seconds passed +... 19%, 135264 KB, 48537 KB/s, 2 seconds passed +... 19%, 135296 KB, 48544 KB/s, 2 seconds passed +... 19%, 135328 KB, 48551 KB/s, 2 seconds passed +... 19%, 135360 KB, 48558 KB/s, 2 seconds passed +... 19%, 135392 KB, 48565 KB/s, 2 seconds passed +... 19%, 135424 KB, 48572 KB/s, 2 seconds passed +... 19%, 135456 KB, 48579 KB/s, 2 seconds passed +... 19%, 135488 KB, 48588 KB/s, 2 seconds passed +... 19%, 135520 KB, 48597 KB/s, 2 seconds passed +... 19%, 135552 KB, 48605 KB/s, 2 seconds passed +... 19%, 135584 KB, 48614 KB/s, 2 seconds passed +... 19%, 135616 KB, 48622 KB/s, 2 seconds passed +... 19%, 135648 KB, 48630 KB/s, 2 seconds passed +... 19%, 135680 KB, 48639 KB/s, 2 seconds passed +... 19%, 135712 KB, 48647 KB/s, 2 seconds passed +... 19%, 135744 KB, 48656 KB/s, 2 seconds passed +... 19%, 135776 KB, 48664 KB/s, 2 seconds passed +... 19%, 135808 KB, 48673 KB/s, 2 seconds passed +... 19%, 135840 KB, 48681 KB/s, 2 seconds passed +... 19%, 135872 KB, 48689 KB/s, 2 seconds passed +... 19%, 135904 KB, 48698 KB/s, 2 seconds passed +... 19%, 135936 KB, 48706 KB/s, 2 seconds passed +... 19%, 135968 KB, 48715 KB/s, 2 seconds passed +... 19%, 136000 KB, 48723 KB/s, 2 seconds passed +... 19%, 136032 KB, 48732 KB/s, 2 seconds passed +... 19%, 136064 KB, 48740 KB/s, 2 seconds passed +... 19%, 136096 KB, 48749 KB/s, 2 seconds passed +... 19%, 136128 KB, 48757 KB/s, 2 seconds passed +... 19%, 136160 KB, 48766 KB/s, 2 seconds passed +... 19%, 136192 KB, 48774 KB/s, 2 seconds passed +... 19%, 136224 KB, 48783 KB/s, 2 seconds passed +... 19%, 136256 KB, 48791 KB/s, 2 seconds passed +... 19%, 136288 KB, 48796 KB/s, 2 seconds passed +... 19%, 136320 KB, 48803 KB/s, 2 seconds passed +... 19%, 136352 KB, 48809 KB/s, 2 seconds passed +... 19%, 136384 KB, 48817 KB/s, 2 seconds passed +... 19%, 136416 KB, 48823 KB/s, 2 seconds passed +... 19%, 136448 KB, 48830 KB/s, 2 seconds passed +... 19%, 136480 KB, 48618 KB/s, 2 seconds passed +... 19%, 136512 KB, 48621 KB/s, 2 seconds passed +... 19%, 136544 KB, 48626 KB/s, 2 seconds passed +... 19%, 136576 KB, 48630 KB/s, 2 seconds passed +... 19%, 136608 KB, 48635 KB/s, 2 seconds passed +... 19%, 136640 KB, 48640 KB/s, 2 seconds passed +... 19%, 136672 KB, 48645 KB/s, 2 seconds passed +... 19%, 136704 KB, 48649 KB/s, 2 seconds passed +... 19%, 136736 KB, 48655 KB/s, 2 seconds passed +... 19%, 136768 KB, 48659 KB/s, 2 seconds passed +... 19%, 136800 KB, 48663 KB/s, 2 seconds passed +... 19%, 136832 KB, 48668 KB/s, 2 seconds passed +... 19%, 136864 KB, 48672 KB/s, 2 seconds passed +... 19%, 136896 KB, 48677 KB/s, 2 seconds passed +... 19%, 136928 KB, 48682 KB/s, 2 seconds passed +... 19%, 136960 KB, 48687 KB/s, 2 seconds passed +... 19%, 136992 KB, 48692 KB/s, 2 seconds passed +... 19%, 137024 KB, 48697 KB/s, 2 seconds passed +... 19%, 137056 KB, 48702 KB/s, 2 seconds passed +... 19%, 137088 KB, 48707 KB/s, 2 seconds passed +... 19%, 137120 KB, 48711 KB/s, 2 seconds passed +... 19%, 137152 KB, 48716 KB/s, 2 seconds passed +... 19%, 137184 KB, 48722 KB/s, 2 seconds passed +... 19%, 137216 KB, 48728 KB/s, 2 seconds passed +... 19%, 137248 KB, 48735 KB/s, 2 seconds passed +... 19%, 137280 KB, 48741 KB/s, 2 seconds passed +... 19%, 137312 KB, 48747 KB/s, 2 seconds passed +... 19%, 137344 KB, 48753 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 19%, 137376 KB, 48759 KB/s, 2 seconds passed +... 19%, 137408 KB, 48714 KB/s, 2 seconds passed +... 19%, 137440 KB, 48709 KB/s, 2 seconds passed +... 19%, 137472 KB, 48713 KB/s, 2 seconds passed +... 19%, 137504 KB, 48718 KB/s, 2 seconds passed +... 19%, 137536 KB, 48724 KB/s, 2 seconds passed +... 19%, 137568 KB, 48730 KB/s, 2 seconds passed +... 19%, 137600 KB, 48736 KB/s, 2 seconds passed +... 19%, 137632 KB, 48742 KB/s, 2 seconds passed +... 19%, 137664 KB, 48748 KB/s, 2 seconds passed +... 19%, 137696 KB, 48754 KB/s, 2 seconds passed +... 19%, 137728 KB, 48761 KB/s, 2 seconds passed +... 19%, 137760 KB, 48768 KB/s, 2 seconds passed +... 19%, 137792 KB, 48774 KB/s, 2 seconds passed +... 19%, 137824 KB, 48781 KB/s, 2 seconds passed +... 19%, 137856 KB, 48788 KB/s, 2 seconds passed +... 19%, 137888 KB, 48794 KB/s, 2 seconds passed +... 19%, 137920 KB, 48800 KB/s, 2 seconds passed +... 19%, 137952 KB, 48807 KB/s, 2 seconds passed +... 19%, 137984 KB, 48813 KB/s, 2 seconds passed +... 19%, 138016 KB, 48819 KB/s, 2 seconds passed +... 19%, 138048 KB, 48825 KB/s, 2 seconds passed +... 19%, 138080 KB, 48832 KB/s, 2 seconds passed +... 19%, 138112 KB, 48838 KB/s, 2 seconds passed +... 19%, 138144 KB, 48845 KB/s, 2 seconds passed +... 19%, 138176 KB, 48851 KB/s, 2 seconds passed +... 19%, 138208 KB, 48858 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 19%, 138240 KB, 47703 KB/s, 2 seconds passed +... 19%, 138272 KB, 47705 KB/s, 2 seconds passed +... 19%, 138304 KB, 47709 KB/s, 2 seconds passed +... 19%, 138336 KB, 47714 KB/s, 2 seconds passed +... 19%, 138368 KB, 47609 KB/s, 2 seconds passed +... 19%, 138400 KB, 47611 KB/s, 2 seconds passed +... 19%, 138432 KB, 47615 KB/s, 2 seconds passed +... 19%, 138464 KB, 47619 KB/s, 2 seconds passed +... 19%, 138496 KB, 47623 KB/s, 2 seconds passed +... 19%, 138528 KB, 47628 KB/s, 2 seconds passed +... 19%, 138560 KB, 47632 KB/s, 2 seconds passed +... 19%, 138592 KB, 47637 KB/s, 2 seconds passed +... 19%, 138624 KB, 47641 KB/s, 2 seconds passed +... 19%, 138656 KB, 47645 KB/s, 2 seconds passed +... 19%, 138688 KB, 47650 KB/s, 2 seconds passed +... 19%, 138720 KB, 47655 KB/s, 2 seconds passed +... 19%, 138752 KB, 47659 KB/s, 2 seconds passed +... 19%, 138784 KB, 47664 KB/s, 2 seconds passed +... 19%, 138816 KB, 47668 KB/s, 2 seconds passed +... 19%, 138848 KB, 47673 KB/s, 2 seconds passed +... 19%, 138880 KB, 47678 KB/s, 2 seconds passed +... 19%, 138912 KB, 47683 KB/s, 2 seconds passed +... 19%, 138944 KB, 47687 KB/s, 2 seconds passed +... 19%, 138976 KB, 47691 KB/s, 2 seconds passed +... 19%, 139008 KB, 47695 KB/s, 2 seconds passed +... 19%, 139040 KB, 47700 KB/s, 2 seconds passed +... 19%, 139072 KB, 47704 KB/s, 2 seconds passed +... 20%, 139104 KB, 47709 KB/s, 2 seconds passed +... 20%, 139136 KB, 47713 KB/s, 2 seconds passed +... 20%, 139168 KB, 47718 KB/s, 2 seconds passed +... 20%, 139200 KB, 47723 KB/s, 2 seconds passed +... 20%, 139232 KB, 47727 KB/s, 2 seconds passed +... 20%, 139264 KB, 47732 KB/s, 2 seconds passed +... 20%, 139296 KB, 47736 KB/s, 2 seconds passed +... 20%, 139328 KB, 47740 KB/s, 2 seconds passed +... 20%, 139360 KB, 47745 KB/s, 2 seconds passed +... 20%, 139392 KB, 47749 KB/s, 2 seconds passed +... 20%, 139424 KB, 47755 KB/s, 2 seconds passed +... 20%, 139456 KB, 47762 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 20%, 139488 KB, 47769 KB/s, 2 seconds passed +... 20%, 139520 KB, 47776 KB/s, 2 seconds passed +... 20%, 139552 KB, 47783 KB/s, 2 seconds passed +... 20%, 139584 KB, 47790 KB/s, 2 seconds passed +... 20%, 139616 KB, 47796 KB/s, 2 seconds passed +... 20%, 139648 KB, 47803 KB/s, 2 seconds passed +... 20%, 139680 KB, 47810 KB/s, 2 seconds passed +... 20%, 139712 KB, 47817 KB/s, 2 seconds passed +... 20%, 139744 KB, 47824 KB/s, 2 seconds passed +... 20%, 139776 KB, 47831 KB/s, 2 seconds passed +... 20%, 139808 KB, 47838 KB/s, 2 seconds passed +... 20%, 139840 KB, 47845 KB/s, 2 seconds passed +... 20%, 139872 KB, 47851 KB/s, 2 seconds passed +... 20%, 139904 KB, 47857 KB/s, 2 seconds passed +... 20%, 139936 KB, 47864 KB/s, 2 seconds passed +... 20%, 139968 KB, 47871 KB/s, 2 seconds passed +... 20%, 140000 KB, 47878 KB/s, 2 seconds passed +... 20%, 140032 KB, 47884 KB/s, 2 seconds passed +... 20%, 140064 KB, 47891 KB/s, 2 seconds passed +... 20%, 140096 KB, 47898 KB/s, 2 seconds passed +... 20%, 140128 KB, 47905 KB/s, 2 seconds passed +... 20%, 140160 KB, 47912 KB/s, 2 seconds passed +... 20%, 140192 KB, 47919 KB/s, 2 seconds passed +... 20%, 140224 KB, 47926 KB/s, 2 seconds passed +... 20%, 140256 KB, 47933 KB/s, 2 seconds passed +... 20%, 140288 KB, 47940 KB/s, 2 seconds passed +... 20%, 140320 KB, 47947 KB/s, 2 seconds passed +... 20%, 140352 KB, 47954 KB/s, 2 seconds passed +... 20%, 140384 KB, 47961 KB/s, 2 seconds passed +... 20%, 140416 KB, 47967 KB/s, 2 seconds passed +... 20%, 140448 KB, 47974 KB/s, 2 seconds passed +... 20%, 140480 KB, 47981 KB/s, 2 seconds passed +... 20%, 140512 KB, 47988 KB/s, 2 seconds passed +... 20%, 140544 KB, 47995 KB/s, 2 seconds passed +... 20%, 140576 KB, 48002 KB/s, 2 seconds passed +... 20%, 140608 KB, 48009 KB/s, 2 seconds passed +... 20%, 140640 KB, 48015 KB/s, 2 seconds passed +... 20%, 140672 KB, 48022 KB/s, 2 seconds passed +... 20%, 140704 KB, 48028 KB/s, 2 seconds passed +... 20%, 140736 KB, 48036 KB/s, 2 seconds passed +... 20%, 140768 KB, 48044 KB/s, 2 seconds passed +... 20%, 140800 KB, 48053 KB/s, 2 seconds passed +... 20%, 140832 KB, 48061 KB/s, 2 seconds passed +... 20%, 140864 KB, 48069 KB/s, 2 seconds passed +... 20%, 140896 KB, 48077 KB/s, 2 seconds passed +... 20%, 140928 KB, 48086 KB/s, 2 seconds passed +... 20%, 140960 KB, 48094 KB/s, 2 seconds passed +... 20%, 140992 KB, 48102 KB/s, 2 seconds passed +... 20%, 141024 KB, 48110 KB/s, 2 seconds passed +... 20%, 141056 KB, 48118 KB/s, 2 seconds passed +... 20%, 141088 KB, 48127 KB/s, 2 seconds passed +... 20%, 141120 KB, 48135 KB/s, 2 seconds passed +... 20%, 141152 KB, 48143 KB/s, 2 seconds passed +... 20%, 141184 KB, 48151 KB/s, 2 seconds passed +... 20%, 141216 KB, 48159 KB/s, 2 seconds passed +... 20%, 141248 KB, 48168 KB/s, 2 seconds passed +... 20%, 141280 KB, 48176 KB/s, 2 seconds passed +... 20%, 141312 KB, 48184 KB/s, 2 seconds passed +... 20%, 141344 KB, 48192 KB/s, 2 seconds passed +... 20%, 141376 KB, 48201 KB/s, 2 seconds passed +... 20%, 141408 KB, 48209 KB/s, 2 seconds passed +... 20%, 141440 KB, 47801 KB/s, 2 seconds passed +... 20%, 141472 KB, 47802 KB/s, 2 seconds passed +... 20%, 141504 KB, 47806 KB/s, 2 seconds passed +... 20%, 141536 KB, 47810 KB/s, 2 seconds passed +... 20%, 141568 KB, 47814 KB/s, 2 seconds passed +... 20%, 141600 KB, 47818 KB/s, 2 seconds passed +... 20%, 141632 KB, 47823 KB/s, 2 seconds passed +... 20%, 141664 KB, 47827 KB/s, 2 seconds passed +... 20%, 141696 KB, 47832 KB/s, 2 seconds passed +... 20%, 141728 KB, 47837 KB/s, 2 seconds passed +... 20%, 141760 KB, 47841 KB/s, 2 seconds passed +... 20%, 141792 KB, 47845 KB/s, 2 seconds passed +... 20%, 141824 KB, 47849 KB/s, 2 seconds passed +... 20%, 141856 KB, 47854 KB/s, 2 seconds passed +... 20%, 141888 KB, 47858 KB/s, 2 seconds passed +... 20%, 141920 KB, 47863 KB/s, 2 seconds passed +... 20%, 141952 KB, 47868 KB/s, 2 seconds passed +... 20%, 141984 KB, 47872 KB/s, 2 seconds passed +... 20%, 142016 KB, 47876 KB/s, 2 seconds passed +... 20%, 142048 KB, 47881 KB/s, 2 seconds passed +... 20%, 142080 KB, 47885 KB/s, 2 seconds passed +... 20%, 142112 KB, 47890 KB/s, 2 seconds passed +... 20%, 142144 KB, 47894 KB/s, 2 seconds passed +... 20%, 142176 KB, 47899 KB/s, 2 seconds passed +... 20%, 142208 KB, 47904 KB/s, 2 seconds passed +... 20%, 142240 KB, 47909 KB/s, 2 seconds passed +... 20%, 142272 KB, 47913 KB/s, 2 seconds passed +... 20%, 142304 KB, 47918 KB/s, 2 seconds passed +... 20%, 142336 KB, 47923 KB/s, 2 seconds passed +... 20%, 142368 KB, 47928 KB/s, 2 seconds passed +... 20%, 142400 KB, 47934 KB/s, 2 seconds passed +... 20%, 142432 KB, 47940 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 20%, 142464 KB, 47947 KB/s, 2 seconds passed +... 20%, 142496 KB, 47954 KB/s, 2 seconds passed +... 20%, 142528 KB, 47961 KB/s, 2 seconds passed +... 20%, 142560 KB, 47968 KB/s, 2 seconds passed +... 20%, 142592 KB, 47975 KB/s, 2 seconds passed +... 20%, 142624 KB, 47981 KB/s, 2 seconds passed +... 20%, 142656 KB, 47988 KB/s, 2 seconds passed +... 20%, 142688 KB, 47995 KB/s, 2 seconds passed +... 20%, 142720 KB, 48002 KB/s, 2 seconds passed +... 20%, 142752 KB, 48008 KB/s, 2 seconds passed +... 20%, 142784 KB, 48015 KB/s, 2 seconds passed +... 20%, 142816 KB, 48022 KB/s, 2 seconds passed +... 20%, 142848 KB, 48029 KB/s, 2 seconds passed +... 20%, 142880 KB, 48036 KB/s, 2 seconds passed +... 20%, 142912 KB, 48043 KB/s, 2 seconds passed +... 20%, 142944 KB, 48050 KB/s, 2 seconds passed +... 20%, 142976 KB, 48056 KB/s, 2 seconds passed +... 20%, 143008 KB, 48063 KB/s, 2 seconds passed +... 20%, 143040 KB, 48070 KB/s, 2 seconds passed +... 20%, 143072 KB, 48078 KB/s, 2 seconds passed +... 20%, 143104 KB, 48085 KB/s, 2 seconds passed +... 20%, 143136 KB, 48093 KB/s, 2 seconds passed +... 20%, 143168 KB, 48100 KB/s, 2 seconds passed +... 20%, 143200 KB, 48108 KB/s, 2 seconds passed +... 20%, 143232 KB, 48116 KB/s, 2 seconds passed +... 20%, 143264 KB, 48124 KB/s, 2 seconds passed +... 20%, 143296 KB, 48131 KB/s, 2 seconds passed +... 20%, 143328 KB, 48139 KB/s, 2 seconds passed +... 20%, 143360 KB, 47799 KB/s, 2 seconds passed +... 20%, 143392 KB, 47801 KB/s, 2 seconds passed +... 20%, 143424 KB, 47805 KB/s, 3 seconds passed +... 20%, 143456 KB, 47810 KB/s, 3 seconds passed +... 20%, 143488 KB, 47814 KB/s, 3 seconds passed +... 20%, 143520 KB, 47819 KB/s, 3 seconds passed +... 20%, 143552 KB, 47823 KB/s, 3 seconds passed +... 20%, 143584 KB, 47828 KB/s, 3 seconds passed +... 20%, 143616 KB, 47832 KB/s, 3 seconds passed +... 20%, 143648 KB, 47837 KB/s, 3 seconds passed +... 20%, 143680 KB, 47840 KB/s, 3 seconds passed +... 20%, 143712 KB, 47845 KB/s, 3 seconds passed +... 20%, 143744 KB, 47849 KB/s, 3 seconds passed +... 20%, 143776 KB, 47854 KB/s, 3 seconds passed +... 20%, 143808 KB, 47858 KB/s, 3 seconds passed +... 20%, 143840 KB, 47862 KB/s, 3 seconds passed +... 20%, 143872 KB, 47867 KB/s, 3 seconds passed +... 20%, 143904 KB, 47871 KB/s, 3 seconds passed +... 20%, 143936 KB, 47875 KB/s, 3 seconds passed +... 20%, 143968 KB, 47880 KB/s, 3 seconds passed +... 20%, 144000 KB, 47884 KB/s, 3 seconds passed +... 20%, 144032 KB, 47888 KB/s, 3 seconds passed +... 20%, 144064 KB, 47893 KB/s, 3 seconds passed +... 20%, 144096 KB, 47898 KB/s, 3 seconds passed +... 20%, 144128 KB, 47902 KB/s, 3 seconds passed +... 20%, 144160 KB, 47906 KB/s, 3 seconds passed +... 20%, 144192 KB, 47911 KB/s, 3 seconds passed +... 20%, 144224 KB, 47915 KB/s, 3 seconds passed +... 20%, 144256 KB, 47919 KB/s, 3 seconds passed +... 20%, 144288 KB, 47924 KB/s, 3 seconds passed +... 20%, 144320 KB, 47931 KB/s, 3 seconds passed +... 20%, 144352 KB, 47937 KB/s, 3 seconds passed +... 20%, 144384 KB, 47944 KB/s, 3 seconds passed +... 20%, 144416 KB, 47951 KB/s, 3 seconds passed +... 20%, 144448 KB, 47957 KB/s, 3 seconds passed +... 20%, 144480 KB, 47964 KB/s, 3 seconds passed +... 20%, 144512 KB, 47970 KB/s, 3 seconds passed +... 20%, 144544 KB, 47977 KB/s, 3 seconds passed +... 20%, 144576 KB, 47984 KB/s, 3 seconds passed +... 20%, 144608 KB, 47990 KB/s, 3 seconds passed +... 20%, 144640 KB, 47997 KB/s, 3 seconds passed +... 20%, 144672 KB, 48003 KB/s, 3 seconds passed +... 20%, 144704 KB, 48010 KB/s, 3 seconds passed +... 20%, 144736 KB, 48017 KB/s, 3 seconds passed +... 20%, 144768 KB, 48023 KB/s, 3 seconds passed +... 20%, 144800 KB, 48030 KB/s, 3 seconds passed +... 20%, 144832 KB, 48037 KB/s, 3 seconds passed +... 20%, 144864 KB, 48043 KB/s, 3 seconds passed +... 20%, 144896 KB, 48050 KB/s, 3 seconds passed +... 20%, 144928 KB, 48057 KB/s, 3 seconds passed +... 20%, 144960 KB, 48063 KB/s, 3 seconds passed +... 20%, 144992 KB, 48070 KB/s, 3 seconds passed +... 20%, 145024 KB, 48077 KB/s, 3 seconds passed +... 20%, 145056 KB, 48084 KB/s, 3 seconds passed +... 20%, 145088 KB, 48090 KB/s, 3 seconds passed +... 20%, 145120 KB, 48097 KB/s, 3 seconds passed +... 20%, 145152 KB, 48104 KB/s, 3 seconds passed +... 20%, 145184 KB, 48110 KB/s, 3 seconds passed +... 20%, 145216 KB, 48117 KB/s, 3 seconds passed +... 20%, 145248 KB, 48124 KB/s, 3 seconds passed +... 20%, 145280 KB, 48130 KB/s, 3 seconds passed +... 20%, 145312 KB, 48137 KB/s, 3 seconds passed +... 20%, 145344 KB, 48144 KB/s, 3 seconds passed +... 20%, 145376 KB, 48150 KB/s, 3 seconds passed +... 20%, 145408 KB, 48157 KB/s, 3 seconds passed +... 20%, 145440 KB, 48164 KB/s, 3 seconds passed +... 20%, 145472 KB, 48170 KB/s, 3 seconds passed +... 20%, 145504 KB, 48177 KB/s, 3 seconds passed +... 20%, 145536 KB, 48183 KB/s, 3 seconds passed +... 20%, 145568 KB, 48190 KB/s, 3 seconds passed +... 20%, 145600 KB, 48197 KB/s, 3 seconds passed +... 20%, 145632 KB, 48205 KB/s, 3 seconds passed +... 20%, 145664 KB, 48213 KB/s, 3 seconds passed +... 20%, 145696 KB, 48221 KB/s, 3 seconds passed +... 20%, 145728 KB, 48229 KB/s, 3 seconds passed +... 20%, 145760 KB, 48237 KB/s, 3 seconds passed +... 20%, 145792 KB, 48244 KB/s, 3 seconds passed +... 20%, 145824 KB, 48252 KB/s, 3 seconds passed +... 20%, 145856 KB, 48260 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 20%, 145888 KB, 48268 KB/s, 3 seconds passed +... 20%, 145920 KB, 48276 KB/s, 3 seconds passed +... 20%, 145952 KB, 48283 KB/s, 3 seconds passed +... 20%, 145984 KB, 48291 KB/s, 3 seconds passed +... 20%, 146016 KB, 48299 KB/s, 3 seconds passed +... 20%, 146048 KB, 48307 KB/s, 3 seconds passed +... 21%, 146080 KB, 48315 KB/s, 3 seconds passed +... 21%, 146112 KB, 48323 KB/s, 3 seconds passed +... 21%, 146144 KB, 48331 KB/s, 3 seconds passed +... 21%, 146176 KB, 48338 KB/s, 3 seconds passed +... 21%, 146208 KB, 48346 KB/s, 3 seconds passed +... 21%, 146240 KB, 48354 KB/s, 3 seconds passed +... 21%, 146272 KB, 48362 KB/s, 3 seconds passed +... 21%, 146304 KB, 48370 KB/s, 3 seconds passed +... 21%, 146336 KB, 48373 KB/s, 3 seconds passed +... 21%, 146368 KB, 48380 KB/s, 3 seconds passed +... 21%, 146400 KB, 48386 KB/s, 3 seconds passed +... 21%, 146432 KB, 48393 KB/s, 3 seconds passed +... 21%, 146464 KB, 48400 KB/s, 3 seconds passed +... 21%, 146496 KB, 48405 KB/s, 3 seconds passed +... 21%, 146528 KB, 48412 KB/s, 3 seconds passed +... 21%, 146560 KB, 48418 KB/s, 3 seconds passed +... 21%, 146592 KB, 48424 KB/s, 3 seconds passed +... 21%, 146624 KB, 48429 KB/s, 3 seconds passed +... 21%, 146656 KB, 48436 KB/s, 3 seconds passed +... 21%, 146688 KB, 48442 KB/s, 3 seconds passed +... 21%, 146720 KB, 48448 KB/s, 3 seconds passed +... 21%, 146752 KB, 48453 KB/s, 3 seconds passed +... 21%, 146784 KB, 48459 KB/s, 3 seconds passed +... 21%, 146816 KB, 48466 KB/s, 3 seconds passed +... 21%, 146848 KB, 48472 KB/s, 3 seconds passed +... 21%, 146880 KB, 48478 KB/s, 3 seconds passed +... 21%, 146912 KB, 48484 KB/s, 3 seconds passed +... 21%, 146944 KB, 48490 KB/s, 3 seconds passed +... 21%, 146976 KB, 48497 KB/s, 3 seconds passed +... 21%, 147008 KB, 48503 KB/s, 3 seconds passed +... 21%, 147040 KB, 48508 KB/s, 3 seconds passed +... 21%, 147072 KB, 48515 KB/s, 3 seconds passed +... 21%, 147104 KB, 48521 KB/s, 3 seconds passed +... 21%, 147136 KB, 48527 KB/s, 3 seconds passed +... 21%, 147168 KB, 48496 KB/s, 3 seconds passed +... 21%, 147200 KB, 48502 KB/s, 3 seconds passed +... 21%, 147232 KB, 48507 KB/s, 3 seconds passed +... 21%, 147264 KB, 48514 KB/s, 3 seconds passed +... 21%, 147296 KB, 48518 KB/s, 3 seconds passed +... 21%, 147328 KB, 48522 KB/s, 3 seconds passed +... 21%, 147360 KB, 48526 KB/s, 3 seconds passed +... 21%, 147392 KB, 48534 KB/s, 3 seconds passed +... 21%, 147424 KB, 48542 KB/s, 3 seconds passed +... 21%, 147456 KB, 48551 KB/s, 3 seconds passed +... 21%, 147488 KB, 48555 KB/s, 3 seconds passed +... 21%, 147520 KB, 48559 KB/s, 3 seconds passed +... 21%, 147552 KB, 48563 KB/s, 3 seconds passed +... 21%, 147584 KB, 48567 KB/s, 3 seconds passed +... 21%, 147616 KB, 48576 KB/s, 3 seconds passed +... 21%, 147648 KB, 48584 KB/s, 3 seconds passed +... 21%, 147680 KB, 48592 KB/s, 3 seconds passed +... 21%, 147712 KB, 48599 KB/s, 3 seconds passed +... 21%, 147744 KB, 48605 KB/s, 3 seconds passed +... 21%, 147776 KB, 48611 KB/s, 3 seconds passed +... 21%, 147808 KB, 48617 KB/s, 3 seconds passed +... 21%, 147840 KB, 48624 KB/s, 3 seconds passed +... 21%, 147872 KB, 48629 KB/s, 3 seconds passed +... 21%, 147904 KB, 48635 KB/s, 3 seconds passed +... 21%, 147936 KB, 48642 KB/s, 3 seconds passed +... 21%, 147968 KB, 48648 KB/s, 3 seconds passed +... 21%, 148000 KB, 48654 KB/s, 3 seconds passed +... 21%, 148032 KB, 48660 KB/s, 3 seconds passed +... 21%, 148064 KB, 48666 KB/s, 3 seconds passed +... 21%, 148096 KB, 48672 KB/s, 3 seconds passed +... 21%, 148128 KB, 48678 KB/s, 3 seconds passed +... 21%, 148160 KB, 48684 KB/s, 3 seconds passed +... 21%, 148192 KB, 48690 KB/s, 3 seconds passed +... 21%, 148224 KB, 48696 KB/s, 3 seconds passed +... 21%, 148256 KB, 48703 KB/s, 3 seconds passed +... 21%, 148288 KB, 48708 KB/s, 3 seconds passed +... 21%, 148320 KB, 48715 KB/s, 3 seconds passed +... 21%, 148352 KB, 48721 KB/s, 3 seconds passed +... 21%, 148384 KB, 48726 KB/s, 3 seconds passed +... 21%, 148416 KB, 48733 KB/s, 3 seconds passed +... 21%, 148448 KB, 48738 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 21%, 148480 KB, 47701 KB/s, 3 seconds passed +... 21%, 148512 KB, 47703 KB/s, 3 seconds passed +... 21%, 148544 KB, 47705 KB/s, 3 seconds passed +... 21%, 148576 KB, 47709 KB/s, 3 seconds passed +... 21%, 148608 KB, 47713 KB/s, 3 seconds passed +... 21%, 148640 KB, 47718 KB/s, 3 seconds passed +... 21%, 148672 KB, 47722 KB/s, 3 seconds passed +... 21%, 148704 KB, 47726 KB/s, 3 seconds passed +... 21%, 148736 KB, 47730 KB/s, 3 seconds passed +... 21%, 148768 KB, 47735 KB/s, 3 seconds passed +... 21%, 148800 KB, 47739 KB/s, 3 seconds passed +... 21%, 148832 KB, 47743 KB/s, 3 seconds passed +... 21%, 148864 KB, 47748 KB/s, 3 seconds passed +... 21%, 148896 KB, 47752 KB/s, 3 seconds passed +... 21%, 148928 KB, 47757 KB/s, 3 seconds passed +... 21%, 148960 KB, 47761 KB/s, 3 seconds passed +... 21%, 148992 KB, 47765 KB/s, 3 seconds passed +... 21%, 149024 KB, 47770 KB/s, 3 seconds passed +... 21%, 149056 KB, 47774 KB/s, 3 seconds passed +... 21%, 149088 KB, 47778 KB/s, 3 seconds passed +... 21%, 149120 KB, 47783 KB/s, 3 seconds passed +... 21%, 149152 KB, 47787 KB/s, 3 seconds passed +... 21%, 149184 KB, 47792 KB/s, 3 seconds passed +... 21%, 149216 KB, 47796 KB/s, 3 seconds passed +... 21%, 149248 KB, 47801 KB/s, 3 seconds passed +... 21%, 149280 KB, 47805 KB/s, 3 seconds passed +... 21%, 149312 KB, 47811 KB/s, 3 seconds passed +... 21%, 149344 KB, 47816 KB/s, 3 seconds passed +... 21%, 149376 KB, 47822 KB/s, 3 seconds passed +... 21%, 149408 KB, 47828 KB/s, 3 seconds passed +... 21%, 149440 KB, 47834 KB/s, 3 seconds passed +... 21%, 149472 KB, 47839 KB/s, 3 seconds passed +... 21%, 149504 KB, 47845 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 21%, 149536 KB, 47851 KB/s, 3 seconds passed +... 21%, 149568 KB, 47857 KB/s, 3 seconds passed +... 21%, 149600 KB, 47863 KB/s, 3 seconds passed +... 21%, 149632 KB, 47868 KB/s, 3 seconds passed +... 21%, 149664 KB, 47874 KB/s, 3 seconds passed +... 21%, 149696 KB, 47880 KB/s, 3 seconds passed +... 21%, 149728 KB, 47886 KB/s, 3 seconds passed +... 21%, 149760 KB, 47892 KB/s, 3 seconds passed +... 21%, 149792 KB, 47897 KB/s, 3 seconds passed +... 21%, 149824 KB, 47903 KB/s, 3 seconds passed +... 21%, 149856 KB, 47909 KB/s, 3 seconds passed +... 21%, 149888 KB, 47915 KB/s, 3 seconds passed +... 21%, 149920 KB, 47921 KB/s, 3 seconds passed +... 21%, 149952 KB, 47926 KB/s, 3 seconds passed +... 21%, 149984 KB, 47932 KB/s, 3 seconds passed +... 21%, 150016 KB, 47938 KB/s, 3 seconds passed +... 21%, 150048 KB, 47944 KB/s, 3 seconds passed +... 21%, 150080 KB, 47949 KB/s, 3 seconds passed +... 21%, 150112 KB, 47955 KB/s, 3 seconds passed +... 21%, 150144 KB, 47961 KB/s, 3 seconds passed +... 21%, 150176 KB, 47967 KB/s, 3 seconds passed +... 21%, 150208 KB, 47972 KB/s, 3 seconds passed +... 21%, 150240 KB, 47978 KB/s, 3 seconds passed +... 21%, 150272 KB, 47984 KB/s, 3 seconds passed +... 21%, 150304 KB, 47990 KB/s, 3 seconds passed +... 21%, 150336 KB, 47996 KB/s, 3 seconds passed +... 21%, 150368 KB, 48001 KB/s, 3 seconds passed +... 21%, 150400 KB, 48008 KB/s, 3 seconds passed +... 21%, 150432 KB, 48015 KB/s, 3 seconds passed +... 21%, 150464 KB, 48022 KB/s, 3 seconds passed +... 21%, 150496 KB, 48030 KB/s, 3 seconds passed +... 21%, 150528 KB, 48037 KB/s, 3 seconds passed +... 21%, 150560 KB, 48044 KB/s, 3 seconds passed +... 21%, 150592 KB, 48052 KB/s, 3 seconds passed +... 21%, 150624 KB, 48059 KB/s, 3 seconds passed +... 21%, 150656 KB, 48066 KB/s, 3 seconds passed +... 21%, 150688 KB, 48073 KB/s, 3 seconds passed +... 21%, 150720 KB, 48081 KB/s, 3 seconds passed +... 21%, 150752 KB, 48088 KB/s, 3 seconds passed +... 21%, 150784 KB, 48095 KB/s, 3 seconds passed +... 21%, 150816 KB, 48102 KB/s, 3 seconds passed +... 21%, 150848 KB, 48109 KB/s, 3 seconds passed +... 21%, 150880 KB, 48117 KB/s, 3 seconds passed +... 21%, 150912 KB, 48124 KB/s, 3 seconds passed +... 21%, 150944 KB, 48131 KB/s, 3 seconds passed +... 21%, 150976 KB, 48138 KB/s, 3 seconds passed +... 21%, 151008 KB, 48145 KB/s, 3 seconds passed +... 21%, 151040 KB, 48153 KB/s, 3 seconds passed +... 21%, 151072 KB, 48160 KB/s, 3 seconds passed +... 21%, 151104 KB, 48167 KB/s, 3 seconds passed +... 21%, 151136 KB, 48175 KB/s, 3 seconds passed +... 21%, 151168 KB, 48182 KB/s, 3 seconds passed +... 21%, 151200 KB, 48190 KB/s, 3 seconds passed +... 21%, 151232 KB, 48197 KB/s, 3 seconds passed +... 21%, 151264 KB, 48204 KB/s, 3 seconds passed +... 21%, 151296 KB, 48212 KB/s, 3 seconds passed +... 21%, 151328 KB, 48219 KB/s, 3 seconds passed +... 21%, 151360 KB, 48226 KB/s, 3 seconds passed +... 21%, 151392 KB, 48234 KB/s, 3 seconds passed +... 21%, 151424 KB, 48241 KB/s, 3 seconds passed +... 21%, 151456 KB, 48248 KB/s, 3 seconds passed +... 21%, 151488 KB, 48255 KB/s, 3 seconds passed +... 21%, 151520 KB, 48263 KB/s, 3 seconds passed +... 21%, 151552 KB, 48270 KB/s, 3 seconds passed +... 21%, 151584 KB, 48277 KB/s, 3 seconds passed +... 21%, 151616 KB, 48283 KB/s, 3 seconds passed +... 21%, 151648 KB, 48289 KB/s, 3 seconds passed +... 21%, 151680 KB, 48296 KB/s, 3 seconds passed +... 21%, 151712 KB, 48302 KB/s, 3 seconds passed +... 21%, 151744 KB, 48308 KB/s, 3 seconds passed +... 21%, 151776 KB, 48312 KB/s, 3 seconds passed +... 21%, 151808 KB, 48318 KB/s, 3 seconds passed +... 21%, 151840 KB, 48324 KB/s, 3 seconds passed +... 21%, 151872 KB, 48331 KB/s, 3 seconds passed +... 21%, 151904 KB, 48337 KB/s, 3 seconds passed +... 21%, 151936 KB, 48343 KB/s, 3 seconds passed +... 21%, 151968 KB, 48348 KB/s, 3 seconds passed +... 21%, 152000 KB, 48354 KB/s, 3 seconds passed +... 21%, 152032 KB, 48360 KB/s, 3 seconds passed +... 21%, 152064 KB, 48366 KB/s, 3 seconds passed +... 21%, 152096 KB, 48372 KB/s, 3 seconds passed +... 21%, 152128 KB, 48378 KB/s, 3 seconds passed +... 21%, 152160 KB, 48384 KB/s, 3 seconds passed +... 21%, 152192 KB, 48389 KB/s, 3 seconds passed +... 21%, 152224 KB, 48394 KB/s, 3 seconds passed +... 21%, 152256 KB, 48398 KB/s, 3 seconds passed +... 21%, 152288 KB, 48402 KB/s, 3 seconds passed +... 21%, 152320 KB, 48389 KB/s, 3 seconds passed +... 21%, 152352 KB, 48395 KB/s, 3 seconds passed +... 21%, 152384 KB, 48401 KB/s, 3 seconds passed +... 21%, 152416 KB, 48398 KB/s, 3 seconds passed +... 21%, 152448 KB, 48405 KB/s, 3 seconds passed +... 21%, 152480 KB, 48411 KB/s, 3 seconds passed +... 21%, 152512 KB, 48417 KB/s, 3 seconds passed +... 21%, 152544 KB, 48422 KB/s, 3 seconds passed +... 21%, 152576 KB, 48429 KB/s, 3 seconds passed +... 21%, 152608 KB, 48435 KB/s, 3 seconds passed +... 21%, 152640 KB, 48442 KB/s, 3 seconds passed +... 21%, 152672 KB, 48447 KB/s, 3 seconds passed +... 21%, 152704 KB, 48453 KB/s, 3 seconds passed +... 21%, 152736 KB, 48457 KB/s, 3 seconds passed +... 21%, 152768 KB, 48462 KB/s, 3 seconds passed +... 21%, 152800 KB, 48466 KB/s, 3 seconds passed +... 21%, 152832 KB, 48473 KB/s, 3 seconds passed +... 21%, 152864 KB, 48480 KB/s, 3 seconds passed +... 21%, 152896 KB, 48488 KB/s, 3 seconds passed +... 21%, 152928 KB, 48494 KB/s, 3 seconds passed +... 21%, 152960 KB, 48497 KB/s, 3 seconds passed +... 21%, 152992 KB, 48501 KB/s, 3 seconds passed +... 22%, 153024 KB, 48506 KB/s, 3 seconds passed +... 22%, 153056 KB, 48514 KB/s, 3 seconds passed +... 22%, 153088 KB, 48521 KB/s, 3 seconds passed +... 22%, 153120 KB, 48527 KB/s, 3 seconds passed +... 22%, 153152 KB, 48535 KB/s, 3 seconds passed +... 22%, 153184 KB, 48541 KB/s, 3 seconds passed +... 22%, 153216 KB, 48544 KB/s, 3 seconds passed +... 22%, 153248 KB, 48548 KB/s, 3 seconds passed +... 22%, 153280 KB, 48556 KB/s, 3 seconds passed +... 22%, 153312 KB, 48564 KB/s, 3 seconds passed +... 22%, 153344 KB, 48567 KB/s, 3 seconds passed +... 22%, 153376 KB, 48572 KB/s, 3 seconds passed +... 22%, 153408 KB, 48579 KB/s, 3 seconds passed +... 22%, 153440 KB, 48586 KB/s, 3 seconds passed +... 22%, 153472 KB, 48593 KB/s, 3 seconds passed +... 22%, 153504 KB, 48599 KB/s, 3 seconds passed +... 22%, 153536 KB, 48602 KB/s, 3 seconds passed +... 22%, 153568 KB, 48606 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 22%, 153600 KB, 48256 KB/s, 3 seconds passed +... 22%, 153632 KB, 48259 KB/s, 3 seconds passed +... 22%, 153664 KB, 48263 KB/s, 3 seconds passed +... 22%, 153696 KB, 48268 KB/s, 3 seconds passed +... 22%, 153728 KB, 48272 KB/s, 3 seconds passed +... 22%, 153760 KB, 48277 KB/s, 3 seconds passed +... 22%, 153792 KB, 48281 KB/s, 3 seconds passed +... 22%, 153824 KB, 48286 KB/s, 3 seconds passed +... 22%, 153856 KB, 48290 KB/s, 3 seconds passed +... 22%, 153888 KB, 48295 KB/s, 3 seconds passed +... 22%, 153920 KB, 48299 KB/s, 3 seconds passed +... 22%, 153952 KB, 48303 KB/s, 3 seconds passed +... 22%, 153984 KB, 48307 KB/s, 3 seconds passed +... 22%, 154016 KB, 48311 KB/s, 3 seconds passed +... 22%, 154048 KB, 48316 KB/s, 3 seconds passed +... 22%, 154080 KB, 48320 KB/s, 3 seconds passed +... 22%, 154112 KB, 48324 KB/s, 3 seconds passed +... 22%, 154144 KB, 48328 KB/s, 3 seconds passed +... 22%, 154176 KB, 48332 KB/s, 3 seconds passed +... 22%, 154208 KB, 48337 KB/s, 3 seconds passed +... 22%, 154240 KB, 48341 KB/s, 3 seconds passed +... 22%, 154272 KB, 48344 KB/s, 3 seconds passed +... 22%, 154304 KB, 48348 KB/s, 3 seconds passed +... 22%, 154336 KB, 48351 KB/s, 3 seconds passed +... 22%, 154368 KB, 48356 KB/s, 3 seconds passed +... 22%, 154400 KB, 48360 KB/s, 3 seconds passed +... 22%, 154432 KB, 48365 KB/s, 3 seconds passed +... 22%, 154464 KB, 48371 KB/s, 3 seconds passed +... 22%, 154496 KB, 48376 KB/s, 3 seconds passed +... 22%, 154528 KB, 48382 KB/s, 3 seconds passed +... 22%, 154560 KB, 48387 KB/s, 3 seconds passed +... 22%, 154592 KB, 48393 KB/s, 3 seconds passed +... 22%, 154624 KB, 48399 KB/s, 3 seconds passed +... 22%, 154656 KB, 48404 KB/s, 3 seconds passed +... 22%, 154688 KB, 48410 KB/s, 3 seconds passed +... 22%, 154720 KB, 48415 KB/s, 3 seconds passed +... 22%, 154752 KB, 48420 KB/s, 3 seconds passed +... 22%, 154784 KB, 48426 KB/s, 3 seconds passed +... 22%, 154816 KB, 48432 KB/s, 3 seconds passed +... 22%, 154848 KB, 48438 KB/s, 3 seconds passed +... 22%, 154880 KB, 48443 KB/s, 3 seconds passed +... 22%, 154912 KB, 48449 KB/s, 3 seconds passed +... 22%, 154944 KB, 48455 KB/s, 3 seconds passed +... 22%, 154976 KB, 48460 KB/s, 3 seconds passed +... 22%, 155008 KB, 48466 KB/s, 3 seconds passed +... 22%, 155040 KB, 48471 KB/s, 3 seconds passed +... 22%, 155072 KB, 48477 KB/s, 3 seconds passed +... 22%, 155104 KB, 48482 KB/s, 3 seconds passed +... 22%, 155136 KB, 48487 KB/s, 3 seconds passed +... 22%, 155168 KB, 48493 KB/s, 3 seconds passed +... 22%, 155200 KB, 48499 KB/s, 3 seconds passed +... 22%, 155232 KB, 48504 KB/s, 3 seconds passed +... 22%, 155264 KB, 48510 KB/s, 3 seconds passed +... 22%, 155296 KB, 48515 KB/s, 3 seconds passed +... 22%, 155328 KB, 48521 KB/s, 3 seconds passed +... 22%, 155360 KB, 48527 KB/s, 3 seconds passed +... 22%, 155392 KB, 48532 KB/s, 3 seconds passed +... 22%, 155424 KB, 48538 KB/s, 3 seconds passed +... 22%, 155456 KB, 48543 KB/s, 3 seconds passed +... 22%, 155488 KB, 48549 KB/s, 3 seconds passed +... 22%, 155520 KB, 48554 KB/s, 3 seconds passed +... 22%, 155552 KB, 48560 KB/s, 3 seconds passed +... 22%, 155584 KB, 48567 KB/s, 3 seconds passed +... 22%, 155616 KB, 48574 KB/s, 3 seconds passed +... 22%, 155648 KB, 48581 KB/s, 3 seconds passed +... 22%, 155680 KB, 48588 KB/s, 3 seconds passed +... 22%, 155712 KB, 48595 KB/s, 3 seconds passed +... 22%, 155744 KB, 48603 KB/s, 3 seconds passed +... 22%, 155776 KB, 48609 KB/s, 3 seconds passed +... 22%, 155808 KB, 48617 KB/s, 3 seconds passed +... 22%, 155840 KB, 48623 KB/s, 3 seconds passed +... 22%, 155872 KB, 48631 KB/s, 3 seconds passed +... 22%, 155904 KB, 48638 KB/s, 3 seconds passed +... 22%, 155936 KB, 48645 KB/s, 3 seconds passed +... 22%, 155968 KB, 48652 KB/s, 3 seconds passed +... 22%, 156000 KB, 48659 KB/s, 3 seconds passed +... 22%, 156032 KB, 48666 KB/s, 3 seconds passed +... 22%, 156064 KB, 48673 KB/s, 3 seconds passed +... 22%, 156096 KB, 48680 KB/s, 3 seconds passed +... 22%, 156128 KB, 48687 KB/s, 3 seconds passed +... 22%, 156160 KB, 48694 KB/s, 3 seconds passed +... 22%, 156192 KB, 48701 KB/s, 3 seconds passed +... 22%, 156224 KB, 48708 KB/s, 3 seconds passed +... 22%, 156256 KB, 48715 KB/s, 3 seconds passed +... 22%, 156288 KB, 48722 KB/s, 3 seconds passed +... 22%, 156320 KB, 48729 KB/s, 3 seconds passed +... 22%, 156352 KB, 48736 KB/s, 3 seconds passed +... 22%, 156384 KB, 48744 KB/s, 3 seconds passed +... 22%, 156416 KB, 48751 KB/s, 3 seconds passed +... 22%, 156448 KB, 48758 KB/s, 3 seconds passed +... 22%, 156480 KB, 48765 KB/s, 3 seconds passed +... 22%, 156512 KB, 48772 KB/s, 3 seconds passed +... 22%, 156544 KB, 48779 KB/s, 3 seconds passed +... 22%, 156576 KB, 48786 KB/s, 3 seconds passed +... 22%, 156608 KB, 48793 KB/s, 3 seconds passed +... 22%, 156640 KB, 48800 KB/s, 3 seconds passed +... 22%, 156672 KB, 48807 KB/s, 3 seconds passed +... 22%, 156704 KB, 48815 KB/s, 3 seconds passed +... 22%, 156736 KB, 48821 KB/s, 3 seconds passed +... 22%, 156768 KB, 48827 KB/s, 3 seconds passed +... 22%, 156800 KB, 48835 KB/s, 3 seconds passed +... 22%, 156832 KB, 48838 KB/s, 3 seconds passed +... 22%, 156864 KB, 48845 KB/s, 3 seconds passed +... 22%, 156896 KB, 48851 KB/s, 3 seconds passed +... 22%, 156928 KB, 48856 KB/s, 3 seconds passed +... 22%, 156960 KB, 48863 KB/s, 3 seconds passed +... 22%, 156992 KB, 48868 KB/s, 3 seconds passed +... 22%, 157024 KB, 48873 KB/s, 3 seconds passed +... 22%, 157056 KB, 48880 KB/s, 3 seconds passed +... 22%, 157088 KB, 48885 KB/s, 3 seconds passed +... 22%, 157120 KB, 48891 KB/s, 3 seconds passed +... 22%, 157152 KB, 48897 KB/s, 3 seconds passed +... 22%, 157184 KB, 48901 KB/s, 3 seconds passed +... 22%, 157216 KB, 48907 KB/s, 3 seconds passed +... 22%, 157248 KB, 48913 KB/s, 3 seconds passed +... 22%, 157280 KB, 48919 KB/s, 3 seconds passed +... 22%, 157312 KB, 48925 KB/s, 3 seconds passed +... 22%, 157344 KB, 48930 KB/s, 3 seconds passed +... 22%, 157376 KB, 48937 KB/s, 3 seconds passed +... 22%, 157408 KB, 48941 KB/s, 3 seconds passed +... 22%, 157440 KB, 48948 KB/s, 3 seconds passed +... 22%, 157472 KB, 48925 KB/s, 3 seconds passed +... 22%, 157504 KB, 48927 KB/s, 3 seconds passed +... 22%, 157536 KB, 48930 KB/s, 3 seconds passed +... 22%, 157568 KB, 48937 KB/s, 3 seconds passed +... 22%, 157600 KB, 48931 KB/s, 3 seconds passed +... 22%, 157632 KB, 48934 KB/s, 3 seconds passed +... 22%, 157664 KB, 48941 KB/s, 3 seconds passed +... 22%, 157696 KB, 48948 KB/s, 3 seconds passed +... 22%, 157728 KB, 48954 KB/s, 3 seconds passed +... 22%, 157760 KB, 48960 KB/s, 3 seconds passed +... 22%, 157792 KB, 48966 KB/s, 3 seconds passed +... 22%, 157824 KB, 48971 KB/s, 3 seconds passed +... 22%, 157856 KB, 48976 KB/s, 3 seconds passed +... 22%, 157888 KB, 48979 KB/s, 3 seconds passed +... 22%, 157920 KB, 48987 KB/s, 3 seconds passed +... 22%, 157952 KB, 48994 KB/s, 3 seconds passed +... 22%, 157984 KB, 49000 KB/s, 3 seconds passed +... 22%, 158016 KB, 49004 KB/s, 3 seconds passed +... 22%, 158048 KB, 49010 KB/s, 3 seconds passed +... 22%, 158080 KB, 49016 KB/s, 3 seconds passed +... 22%, 158112 KB, 49021 KB/s, 3 seconds passed +... 22%, 158144 KB, 49028 KB/s, 3 seconds passed +... 22%, 158176 KB, 49034 KB/s, 3 seconds passed +... 22%, 158208 KB, 49040 KB/s, 3 seconds passed +... 22%, 158240 KB, 49045 KB/s, 3 seconds passed +... 22%, 158272 KB, 49051 KB/s, 3 seconds passed +... 22%, 158304 KB, 49057 KB/s, 3 seconds passed +... 22%, 158336 KB, 49062 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 22%, 158368 KB, 49068 KB/s, 3 seconds passed +... 22%, 158400 KB, 49074 KB/s, 3 seconds passed +... 22%, 158432 KB, 49080 KB/s, 3 seconds passed +... 22%, 158464 KB, 49086 KB/s, 3 seconds passed +... 22%, 158496 KB, 49090 KB/s, 3 seconds passed +... 22%, 158528 KB, 49096 KB/s, 3 seconds passed +... 22%, 158560 KB, 49101 KB/s, 3 seconds passed +... 22%, 158592 KB, 49106 KB/s, 3 seconds passed +... 22%, 158624 KB, 49112 KB/s, 3 seconds passed +... 22%, 158656 KB, 49118 KB/s, 3 seconds passed +... 22%, 158688 KB, 49125 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 22%, 158720 KB, 47425 KB/s, 3 seconds passed +... 22%, 158752 KB, 47419 KB/s, 3 seconds passed +... 22%, 158784 KB, 47422 KB/s, 3 seconds passed +... 22%, 158816 KB, 47426 KB/s, 3 seconds passed +... 22%, 158848 KB, 47430 KB/s, 3 seconds passed +... 22%, 158880 KB, 47434 KB/s, 3 seconds passed +... 22%, 158912 KB, 47439 KB/s, 3 seconds passed +... 22%, 158944 KB, 47443 KB/s, 3 seconds passed +... 22%, 158976 KB, 47447 KB/s, 3 seconds passed +... 22%, 159008 KB, 47451 KB/s, 3 seconds passed +... 22%, 159040 KB, 47455 KB/s, 3 seconds passed +... 22%, 159072 KB, 47459 KB/s, 3 seconds passed +... 22%, 159104 KB, 47463 KB/s, 3 seconds passed +... 22%, 159136 KB, 47467 KB/s, 3 seconds passed +... 22%, 159168 KB, 47471 KB/s, 3 seconds passed +... 22%, 159200 KB, 47475 KB/s, 3 seconds passed +... 22%, 159232 KB, 47480 KB/s, 3 seconds passed +... 22%, 159264 KB, 47484 KB/s, 3 seconds passed +... 22%, 159296 KB, 47488 KB/s, 3 seconds passed +... 22%, 159328 KB, 47492 KB/s, 3 seconds passed +... 22%, 159360 KB, 47496 KB/s, 3 seconds passed +... 22%, 159392 KB, 47500 KB/s, 3 seconds passed +... 22%, 159424 KB, 47504 KB/s, 3 seconds passed +... 22%, 159456 KB, 47508 KB/s, 3 seconds passed +... 22%, 159488 KB, 47512 KB/s, 3 seconds passed +... 22%, 159520 KB, 47516 KB/s, 3 seconds passed +... 22%, 159552 KB, 47520 KB/s, 3 seconds passed +... 22%, 159584 KB, 47524 KB/s, 3 seconds passed +... 22%, 159616 KB, 47529 KB/s, 3 seconds passed +... 22%, 159648 KB, 47533 KB/s, 3 seconds passed +... 22%, 159680 KB, 47537 KB/s, 3 seconds passed +... 22%, 159712 KB, 47541 KB/s, 3 seconds passed +... 22%, 159744 KB, 47545 KB/s, 3 seconds passed +... 22%, 159776 KB, 47549 KB/s, 3 seconds passed +... 22%, 159808 KB, 47553 KB/s, 3 seconds passed +... 22%, 159840 KB, 47557 KB/s, 3 seconds passed +... 22%, 159872 KB, 47561 KB/s, 3 seconds passed +... 22%, 159904 KB, 47565 KB/s, 3 seconds passed +... 22%, 159936 KB, 47570 KB/s, 3 seconds passed +... 23%, 159968 KB, 47574 KB/s, 3 seconds passed +... 23%, 160000 KB, 47578 KB/s, 3 seconds passed +... 23%, 160032 KB, 47582 KB/s, 3 seconds passed +... 23%, 160064 KB, 47586 KB/s, 3 seconds passed +... 23%, 160096 KB, 47590 KB/s, 3 seconds passed +... 23%, 160128 KB, 47596 KB/s, 3 seconds passed +... 23%, 160160 KB, 47602 KB/s, 3 seconds passed +... 23%, 160192 KB, 47608 KB/s, 3 seconds passed +... 23%, 160224 KB, 47614 KB/s, 3 seconds passed +... 23%, 160256 KB, 47620 KB/s, 3 seconds passed +... 23%, 160288 KB, 47626 KB/s, 3 seconds passed +... 23%, 160320 KB, 47632 KB/s, 3 seconds passed +... 23%, 160352 KB, 47638 KB/s, 3 seconds passed +... 23%, 160384 KB, 47644 KB/s, 3 seconds passed +... 23%, 160416 KB, 47650 KB/s, 3 seconds passed +... 23%, 160448 KB, 47656 KB/s, 3 seconds passed +... 23%, 160480 KB, 47662 KB/s, 3 seconds passed +... 23%, 160512 KB, 47668 KB/s, 3 seconds passed +... 23%, 160544 KB, 47674 KB/s, 3 seconds passed +... 23%, 160576 KB, 47680 KB/s, 3 seconds passed +... 23%, 160608 KB, 47686 KB/s, 3 seconds passed +... 23%, 160640 KB, 47692 KB/s, 3 seconds passed +... 23%, 160672 KB, 47698 KB/s, 3 seconds passed +... 23%, 160704 KB, 47705 KB/s, 3 seconds passed +... 23%, 160736 KB, 47711 KB/s, 3 seconds passed +... 23%, 160768 KB, 47717 KB/s, 3 seconds passed +... 23%, 160800 KB, 47723 KB/s, 3 seconds passed +... 23%, 160832 KB, 47729 KB/s, 3 seconds passed +... 23%, 160864 KB, 47735 KB/s, 3 seconds passed +... 23%, 160896 KB, 47741 KB/s, 3 seconds passed +... 23%, 160928 KB, 47747 KB/s, 3 seconds passed +... 23%, 160960 KB, 47753 KB/s, 3 seconds passed +... 23%, 160992 KB, 47759 KB/s, 3 seconds passed +... 23%, 161024 KB, 47765 KB/s, 3 seconds passed +... 23%, 161056 KB, 47771 KB/s, 3 seconds passed +... 23%, 161088 KB, 47777 KB/s, 3 seconds passed +... 23%, 161120 KB, 47783 KB/s, 3 seconds passed +... 23%, 161152 KB, 47789 KB/s, 3 seconds passed +... 23%, 161184 KB, 47795 KB/s, 3 seconds passed +... 23%, 161216 KB, 47801 KB/s, 3 seconds passed +... 23%, 161248 KB, 47807 KB/s, 3 seconds passed +... 23%, 161280 KB, 47813 KB/s, 3 seconds passed +... 23%, 161312 KB, 47819 KB/s, 3 seconds passed +... 23%, 161344 KB, 47825 KB/s, 3 seconds passed +... 23%, 161376 KB, 47831 KB/s, 3 seconds passed +... 23%, 161408 KB, 47837 KB/s, 3 seconds passed +... 23%, 161440 KB, 47844 KB/s, 3 seconds passed +... 23%, 161472 KB, 47852 KB/s, 3 seconds passed +... 23%, 161504 KB, 47859 KB/s, 3 seconds passed +... 23%, 161536 KB, 47867 KB/s, 3 seconds passed +... 23%, 161568 KB, 47874 KB/s, 3 seconds passed +... 23%, 161600 KB, 47881 KB/s, 3 seconds passed +... 23%, 161632 KB, 47889 KB/s, 3 seconds passed +... 23%, 161664 KB, 47895 KB/s, 3 seconds passed +... 23%, 161696 KB, 47903 KB/s, 3 seconds passed +... 23%, 161728 KB, 47910 KB/s, 3 seconds passed +... 23%, 161760 KB, 47917 KB/s, 3 seconds passed +... 23%, 161792 KB, 47924 KB/s, 3 seconds passed +... 23%, 161824 KB, 47931 KB/s, 3 seconds passed +... 23%, 161856 KB, 47938 KB/s, 3 seconds passed +... 23%, 161888 KB, 47943 KB/s, 3 seconds passed +... 23%, 161920 KB, 47949 KB/s, 3 seconds passed +... 23%, 161952 KB, 47955 KB/s, 3 seconds passed +... 23%, 161984 KB, 47960 KB/s, 3 seconds passed +... 23%, 162016 KB, 47965 KB/s, 3 seconds passed +... 23%, 162048 KB, 47970 KB/s, 3 seconds passed +... 23%, 162080 KB, 47976 KB/s, 3 seconds passed +... 23%, 162112 KB, 47982 KB/s, 3 seconds passed +... 23%, 162144 KB, 47988 KB/s, 3 seconds passed +... 23%, 162176 KB, 47993 KB/s, 3 seconds passed +... 23%, 162208 KB, 47997 KB/s, 3 seconds passed +... 23%, 162240 KB, 48003 KB/s, 3 seconds passed +... 23%, 162272 KB, 48009 KB/s, 3 seconds passed +... 23%, 162304 KB, 48015 KB/s, 3 seconds passed +... 23%, 162336 KB, 48020 KB/s, 3 seconds passed +... 23%, 162368 KB, 48025 KB/s, 3 seconds passed +... 23%, 162400 KB, 48031 KB/s, 3 seconds passed +... 23%, 162432 KB, 48037 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 23%, 162464 KB, 48042 KB/s, 3 seconds passed +... 23%, 162496 KB, 48048 KB/s, 3 seconds passed +... 23%, 162528 KB, 48053 KB/s, 3 seconds passed +... 23%, 162560 KB, 48059 KB/s, 3 seconds passed +... 23%, 162592 KB, 48065 KB/s, 3 seconds passed +... 23%, 162624 KB, 48031 KB/s, 3 seconds passed +... 23%, 162656 KB, 48036 KB/s, 3 seconds passed +... 23%, 162688 KB, 48042 KB/s, 3 seconds passed +... 23%, 162720 KB, 48048 KB/s, 3 seconds passed +... 23%, 162752 KB, 48053 KB/s, 3 seconds passed +... 23%, 162784 KB, 48059 KB/s, 3 seconds passed +... 23%, 162816 KB, 48064 KB/s, 3 seconds passed +... 23%, 162848 KB, 48070 KB/s, 3 seconds passed +... 23%, 162880 KB, 48076 KB/s, 3 seconds passed +... 23%, 162912 KB, 48080 KB/s, 3 seconds passed +... 23%, 162944 KB, 48084 KB/s, 3 seconds passed +... 23%, 162976 KB, 48088 KB/s, 3 seconds passed +... 23%, 163008 KB, 48094 KB/s, 3 seconds passed +... 23%, 163040 KB, 48099 KB/s, 3 seconds passed +... 23%, 163072 KB, 48104 KB/s, 3 seconds passed +... 23%, 163104 KB, 48110 KB/s, 3 seconds passed +... 23%, 163136 KB, 48115 KB/s, 3 seconds passed +... 23%, 163168 KB, 48121 KB/s, 3 seconds passed +... 23%, 163200 KB, 48126 KB/s, 3 seconds passed +... 23%, 163232 KB, 48132 KB/s, 3 seconds passed +... 23%, 163264 KB, 48138 KB/s, 3 seconds passed +... 23%, 163296 KB, 48143 KB/s, 3 seconds passed +... 23%, 163328 KB, 48149 KB/s, 3 seconds passed +... 23%, 163360 KB, 48154 KB/s, 3 seconds passed +... 23%, 163392 KB, 48159 KB/s, 3 seconds passed +... 23%, 163424 KB, 48165 KB/s, 3 seconds passed +... 23%, 163456 KB, 48170 KB/s, 3 seconds passed +... 23%, 163488 KB, 48176 KB/s, 3 seconds passed +... 23%, 163520 KB, 48181 KB/s, 3 seconds passed +... 23%, 163552 KB, 48186 KB/s, 3 seconds passed +... 23%, 163584 KB, 48192 KB/s, 3 seconds passed +... 23%, 163616 KB, 48198 KB/s, 3 seconds passed +... 23%, 163648 KB, 48204 KB/s, 3 seconds passed +... 23%, 163680 KB, 48209 KB/s, 3 seconds passed +... 23%, 163712 KB, 48215 KB/s, 3 seconds passed +... 23%, 163744 KB, 48220 KB/s, 3 seconds passed +... 23%, 163776 KB, 48225 KB/s, 3 seconds passed +... 23%, 163808 KB, 48231 KB/s, 3 seconds passed +... 23%, 163840 KB, 47854 KB/s, 3 seconds passed +... 23%, 163872 KB, 47853 KB/s, 3 seconds passed +... 23%, 163904 KB, 47855 KB/s, 3 seconds passed +... 23%, 163936 KB, 47859 KB/s, 3 seconds passed +... 23%, 163968 KB, 47863 KB/s, 3 seconds passed +... 23%, 164000 KB, 47867 KB/s, 3 seconds passed +... 23%, 164032 KB, 47871 KB/s, 3 seconds passed +... 23%, 164064 KB, 47875 KB/s, 3 seconds passed +... 23%, 164096 KB, 47879 KB/s, 3 seconds passed +... 23%, 164128 KB, 47883 KB/s, 3 seconds passed +... 23%, 164160 KB, 47887 KB/s, 3 seconds passed +... 23%, 164192 KB, 47891 KB/s, 3 seconds passed +... 23%, 164224 KB, 47895 KB/s, 3 seconds passed +... 23%, 164256 KB, 47899 KB/s, 3 seconds passed +... 23%, 164288 KB, 47903 KB/s, 3 seconds passed +... 23%, 164320 KB, 47907 KB/s, 3 seconds passed +... 23%, 164352 KB, 47911 KB/s, 3 seconds passed +... 23%, 164384 KB, 47915 KB/s, 3 seconds passed +... 23%, 164416 KB, 47918 KB/s, 3 seconds passed +... 23%, 164448 KB, 47922 KB/s, 3 seconds passed +... 23%, 164480 KB, 47926 KB/s, 3 seconds passed +... 23%, 164512 KB, 47931 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 23%, 164544 KB, 47935 KB/s, 3 seconds passed +... 23%, 164576 KB, 47939 KB/s, 3 seconds passed +... 23%, 164608 KB, 47942 KB/s, 3 seconds passed +... 23%, 164640 KB, 47946 KB/s, 3 seconds passed +... 23%, 164672 KB, 47950 KB/s, 3 seconds passed +... 23%, 164704 KB, 47954 KB/s, 3 seconds passed +... 23%, 164736 KB, 47959 KB/s, 3 seconds passed +... 23%, 164768 KB, 47963 KB/s, 3 seconds passed +... 23%, 164800 KB, 47969 KB/s, 3 seconds passed +... 23%, 164832 KB, 47974 KB/s, 3 seconds passed +... 23%, 164864 KB, 47980 KB/s, 3 seconds passed +... 23%, 164896 KB, 47986 KB/s, 3 seconds passed +... 23%, 164928 KB, 47992 KB/s, 3 seconds passed +... 23%, 164960 KB, 47998 KB/s, 3 seconds passed +... 23%, 164992 KB, 48004 KB/s, 3 seconds passed +... 23%, 165024 KB, 48010 KB/s, 3 seconds passed +... 23%, 165056 KB, 48016 KB/s, 3 seconds passed +... 23%, 165088 KB, 48022 KB/s, 3 seconds passed +... 23%, 165120 KB, 48027 KB/s, 3 seconds passed +... 23%, 165152 KB, 48033 KB/s, 3 seconds passed +... 23%, 165184 KB, 48039 KB/s, 3 seconds passed +... 23%, 165216 KB, 48045 KB/s, 3 seconds passed +... 23%, 165248 KB, 48050 KB/s, 3 seconds passed +... 23%, 165280 KB, 48056 KB/s, 3 seconds passed +... 23%, 165312 KB, 48062 KB/s, 3 seconds passed +... 23%, 165344 KB, 48068 KB/s, 3 seconds passed +... 23%, 165376 KB, 48074 KB/s, 3 seconds passed +... 23%, 165408 KB, 48080 KB/s, 3 seconds passed +... 23%, 165440 KB, 48086 KB/s, 3 seconds passed +... 23%, 165472 KB, 48092 KB/s, 3 seconds passed +... 23%, 165504 KB, 48098 KB/s, 3 seconds passed +... 23%, 165536 KB, 48103 KB/s, 3 seconds passed +... 23%, 165568 KB, 48109 KB/s, 3 seconds passed +... 23%, 165600 KB, 48115 KB/s, 3 seconds passed +... 23%, 165632 KB, 48121 KB/s, 3 seconds passed +... 23%, 165664 KB, 48127 KB/s, 3 seconds passed +... 23%, 165696 KB, 48133 KB/s, 3 seconds passed +... 23%, 165728 KB, 48139 KB/s, 3 seconds passed +... 23%, 165760 KB, 48145 KB/s, 3 seconds passed +... 23%, 165792 KB, 48150 KB/s, 3 seconds passed +... 23%, 165824 KB, 48156 KB/s, 3 seconds passed +... 23%, 165856 KB, 48162 KB/s, 3 seconds passed +... 23%, 165888 KB, 48168 KB/s, 3 seconds passed +... 23%, 165920 KB, 48174 KB/s, 3 seconds passed +... 23%, 165952 KB, 48180 KB/s, 3 seconds passed +... 23%, 165984 KB, 48186 KB/s, 3 seconds passed +... 23%, 166016 KB, 48192 KB/s, 3 seconds passed +... 23%, 166048 KB, 48197 KB/s, 3 seconds passed +... 23%, 166080 KB, 48204 KB/s, 3 seconds passed +... 23%, 166112 KB, 48211 KB/s, 3 seconds passed +... 23%, 166144 KB, 48218 KB/s, 3 seconds passed +... 23%, 166176 KB, 48225 KB/s, 3 seconds passed +... 23%, 166208 KB, 48231 KB/s, 3 seconds passed +... 23%, 166240 KB, 48238 KB/s, 3 seconds passed +... 23%, 166272 KB, 48245 KB/s, 3 seconds passed +... 23%, 166304 KB, 48252 KB/s, 3 seconds passed +... 23%, 166336 KB, 48259 KB/s, 3 seconds passed +... 23%, 166368 KB, 48266 KB/s, 3 seconds passed +... 23%, 166400 KB, 48273 KB/s, 3 seconds passed +... 23%, 166432 KB, 48280 KB/s, 3 seconds passed +... 23%, 166464 KB, 48287 KB/s, 3 seconds passed +... 23%, 166496 KB, 48294 KB/s, 3 seconds passed +... 23%, 166528 KB, 48301 KB/s, 3 seconds passed +... 23%, 166560 KB, 48308 KB/s, 3 seconds passed +... 23%, 166592 KB, 48314 KB/s, 3 seconds passed +... 23%, 166624 KB, 48318 KB/s, 3 seconds passed +... 23%, 166656 KB, 48321 KB/s, 3 seconds passed +... 23%, 166688 KB, 48325 KB/s, 3 seconds passed +... 23%, 166720 KB, 48329 KB/s, 3 seconds passed +... 23%, 166752 KB, 48335 KB/s, 3 seconds passed +... 23%, 166784 KB, 48342 KB/s, 3 seconds passed +... 23%, 166816 KB, 48349 KB/s, 3 seconds passed +... 23%, 166848 KB, 48356 KB/s, 3 seconds passed +... 23%, 166880 KB, 48362 KB/s, 3 seconds passed +... 23%, 166912 KB, 48367 KB/s, 3 seconds passed +... 24%, 166944 KB, 48373 KB/s, 3 seconds passed +... 24%, 166976 KB, 48378 KB/s, 3 seconds passed +... 24%, 167008 KB, 48384 KB/s, 3 seconds passed +... 24%, 167040 KB, 48390 KB/s, 3 seconds passed +... 24%, 167072 KB, 48395 KB/s, 3 seconds passed +... 24%, 167104 KB, 48400 KB/s, 3 seconds passed +... 24%, 167136 KB, 48406 KB/s, 3 seconds passed +... 24%, 167168 KB, 48410 KB/s, 3 seconds passed +... 24%, 167200 KB, 48415 KB/s, 3 seconds passed +... 24%, 167232 KB, 48422 KB/s, 3 seconds passed +... 24%, 167264 KB, 48427 KB/s, 3 seconds passed +... 24%, 167296 KB, 48432 KB/s, 3 seconds passed +... 24%, 167328 KB, 48438 KB/s, 3 seconds passed +... 24%, 167360 KB, 48441 KB/s, 3 seconds passed +... 24%, 167392 KB, 48447 KB/s, 3 seconds passed +... 24%, 167424 KB, 48453 KB/s, 3 seconds passed +... 24%, 167456 KB, 48457 KB/s, 3 seconds passed +... 24%, 167488 KB, 48461 KB/s, 3 seconds passed +... 24%, 167520 KB, 48466 KB/s, 3 seconds passed +... 24%, 167552 KB, 48473 KB/s, 3 seconds passed +... 24%, 167584 KB, 48478 KB/s, 3 seconds passed +... 24%, 167616 KB, 48484 KB/s, 3 seconds passed +... 24%, 167648 KB, 48490 KB/s, 3 seconds passed +... 24%, 167680 KB, 48495 KB/s, 3 seconds passed +... 24%, 167712 KB, 48474 KB/s, 3 seconds passed +... 24%, 167744 KB, 48458 KB/s, 3 seconds passed +... 24%, 167776 KB, 48464 KB/s, 3 seconds passed +... 24%, 167808 KB, 48465 KB/s, 3 seconds passed +... 24%, 167840 KB, 48468 KB/s, 3 seconds passed +... 24%, 167872 KB, 48471 KB/s, 3 seconds passed +... 24%, 167904 KB, 48475 KB/s, 3 seconds passed +... 24%, 167936 KB, 48483 KB/s, 3 seconds passed +... 24%, 167968 KB, 48490 KB/s, 3 seconds passed +... 24%, 168000 KB, 48498 KB/s, 3 seconds passed +... 24%, 168032 KB, 48503 KB/s, 3 seconds passed +... 24%, 168064 KB, 48509 KB/s, 3 seconds passed +... 24%, 168096 KB, 48514 KB/s, 3 seconds passed +... 24%, 168128 KB, 48519 KB/s, 3 seconds passed +... 24%, 168160 KB, 48524 KB/s, 3 seconds passed +... 24%, 168192 KB, 48513 KB/s, 3 seconds passed +... 24%, 168224 KB, 48516 KB/s, 3 seconds passed +... 24%, 168256 KB, 48521 KB/s, 3 seconds passed +... 24%, 168288 KB, 48528 KB/s, 3 seconds passed +... 24%, 168320 KB, 48535 KB/s, 3 seconds passed +... 24%, 168352 KB, 48540 KB/s, 3 seconds passed +... 24%, 168384 KB, 48543 KB/s, 3 seconds passed +... 24%, 168416 KB, 48547 KB/s, 3 seconds passed +... 24%, 168448 KB, 48550 KB/s, 3 seconds passed +... 24%, 168480 KB, 48556 KB/s, 3 seconds passed +... 24%, 168512 KB, 48563 KB/s, 3 seconds passed +... 24%, 168544 KB, 48570 KB/s, 3 seconds passed +... 24%, 168576 KB, 48576 KB/s, 3 seconds passed +... 24%, 168608 KB, 48581 KB/s, 3 seconds passed +... 24%, 168640 KB, 48586 KB/s, 3 seconds passed +... 24%, 168672 KB, 48592 KB/s, 3 seconds passed +... 24%, 168704 KB, 48597 KB/s, 3 seconds passed +... 24%, 168736 KB, 48602 KB/s, 3 seconds passed +... 24%, 168768 KB, 48608 KB/s, 3 seconds passed +... 24%, 168800 KB, 48613 KB/s, 3 seconds passed +... 24%, 168832 KB, 48619 KB/s, 3 seconds passed +... 24%, 168864 KB, 48624 KB/s, 3 seconds passed +... 24%, 168896 KB, 48629 KB/s, 3 seconds passed +... 24%, 168928 KB, 48634 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 24%, 168960 KB, 47972 KB/s, 3 seconds passed +... 24%, 168992 KB, 47965 KB/s, 3 seconds passed +... 24%, 169024 KB, 47968 KB/s, 3 seconds passed +... 24%, 169056 KB, 47972 KB/s, 3 seconds passed +... 24%, 169088 KB, 47975 KB/s, 3 seconds passed +... 24%, 169120 KB, 47979 KB/s, 3 seconds passed +... 24%, 169152 KB, 47983 KB/s, 3 seconds passed +... 24%, 169184 KB, 47987 KB/s, 3 seconds passed +... 24%, 169216 KB, 47991 KB/s, 3 seconds passed +... 24%, 169248 KB, 47994 KB/s, 3 seconds passed +... 24%, 169280 KB, 47998 KB/s, 3 seconds passed +... 24%, 169312 KB, 48002 KB/s, 3 seconds passed +... 24%, 169344 KB, 48005 KB/s, 3 seconds passed +... 24%, 169376 KB, 48009 KB/s, 3 seconds passed +... 24%, 169408 KB, 48013 KB/s, 3 seconds passed +... 24%, 169440 KB, 48017 KB/s, 3 seconds passed +... 24%, 169472 KB, 48021 KB/s, 3 seconds passed +... 24%, 169504 KB, 48025 KB/s, 3 seconds passed +... 24%, 169536 KB, 48028 KB/s, 3 seconds passed +... 24%, 169568 KB, 48032 KB/s, 3 seconds passed +... 24%, 169600 KB, 48036 KB/s, 3 seconds passed +... 24%, 169632 KB, 48040 KB/s, 3 seconds passed +... 24%, 169664 KB, 48044 KB/s, 3 seconds passed +... 24%, 169696 KB, 48048 KB/s, 3 seconds passed +... 24%, 169728 KB, 48052 KB/s, 3 seconds passed +... 24%, 169760 KB, 48055 KB/s, 3 seconds passed +... 24%, 169792 KB, 48059 KB/s, 3 seconds passed +... 24%, 169824 KB, 48063 KB/s, 3 seconds passed +... 24%, 169856 KB, 48067 KB/s, 3 seconds passed +... 24%, 169888 KB, 48071 KB/s, 3 seconds passed +... 24%, 169920 KB, 48075 KB/s, 3 seconds passed +... 24%, 169952 KB, 48079 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 24%, 169984 KB, 48082 KB/s, 3 seconds passed +... 24%, 170016 KB, 48086 KB/s, 3 seconds passed +... 24%, 170048 KB, 48091 KB/s, 3 seconds passed +... 24%, 170080 KB, 48097 KB/s, 3 seconds passed +... 24%, 170112 KB, 48102 KB/s, 3 seconds passed +... 24%, 170144 KB, 48108 KB/s, 3 seconds passed +... 24%, 170176 KB, 48114 KB/s, 3 seconds passed +... 24%, 170208 KB, 48119 KB/s, 3 seconds passed +... 24%, 170240 KB, 48125 KB/s, 3 seconds passed +... 24%, 170272 KB, 48131 KB/s, 3 seconds passed +... 24%, 170304 KB, 48137 KB/s, 3 seconds passed +... 24%, 170336 KB, 48143 KB/s, 3 seconds passed +... 24%, 170368 KB, 48148 KB/s, 3 seconds passed +... 24%, 170400 KB, 48154 KB/s, 3 seconds passed +... 24%, 170432 KB, 48160 KB/s, 3 seconds passed +... 24%, 170464 KB, 48165 KB/s, 3 seconds passed +... 24%, 170496 KB, 48171 KB/s, 3 seconds passed +... 24%, 170528 KB, 48176 KB/s, 3 seconds passed +... 24%, 170560 KB, 48182 KB/s, 3 seconds passed +... 24%, 170592 KB, 48188 KB/s, 3 seconds passed +... 24%, 170624 KB, 48193 KB/s, 3 seconds passed +... 24%, 170656 KB, 48199 KB/s, 3 seconds passed +... 24%, 170688 KB, 48205 KB/s, 3 seconds passed +... 24%, 170720 KB, 48210 KB/s, 3 seconds passed +... 24%, 170752 KB, 48216 KB/s, 3 seconds passed +... 24%, 170784 KB, 48222 KB/s, 3 seconds passed +... 24%, 170816 KB, 48227 KB/s, 3 seconds passed +... 24%, 170848 KB, 48233 KB/s, 3 seconds passed +... 24%, 170880 KB, 48239 KB/s, 3 seconds passed +... 24%, 170912 KB, 48245 KB/s, 3 seconds passed +... 24%, 170944 KB, 48250 KB/s, 3 seconds passed +... 24%, 170976 KB, 48256 KB/s, 3 seconds passed +... 24%, 171008 KB, 48261 KB/s, 3 seconds passed +... 24%, 171040 KB, 48267 KB/s, 3 seconds passed +... 24%, 171072 KB, 48273 KB/s, 3 seconds passed +... 24%, 171104 KB, 48278 KB/s, 3 seconds passed +... 24%, 171136 KB, 48284 KB/s, 3 seconds passed +... 24%, 171168 KB, 48290 KB/s, 3 seconds passed +... 24%, 171200 KB, 48295 KB/s, 3 seconds passed +... 24%, 171232 KB, 48301 KB/s, 3 seconds passed +... 24%, 171264 KB, 48307 KB/s, 3 seconds passed +... 24%, 171296 KB, 48312 KB/s, 3 seconds passed +... 24%, 171328 KB, 48319 KB/s, 3 seconds passed +... 24%, 171360 KB, 48325 KB/s, 3 seconds passed +... 24%, 171392 KB, 48332 KB/s, 3 seconds passed +... 24%, 171424 KB, 48338 KB/s, 3 seconds passed +... 24%, 171456 KB, 48345 KB/s, 3 seconds passed +... 24%, 171488 KB, 48352 KB/s, 3 seconds passed +... 24%, 171520 KB, 48359 KB/s, 3 seconds passed +... 24%, 171552 KB, 48366 KB/s, 3 seconds passed +... 24%, 171584 KB, 48372 KB/s, 3 seconds passed +... 24%, 171616 KB, 48379 KB/s, 3 seconds passed +... 24%, 171648 KB, 48386 KB/s, 3 seconds passed +... 24%, 171680 KB, 48393 KB/s, 3 seconds passed +... 24%, 171712 KB, 48399 KB/s, 3 seconds passed +... 24%, 171744 KB, 48406 KB/s, 3 seconds passed +... 24%, 171776 KB, 48413 KB/s, 3 seconds passed +... 24%, 171808 KB, 48420 KB/s, 3 seconds passed +... 24%, 171840 KB, 48427 KB/s, 3 seconds passed +... 24%, 171872 KB, 48433 KB/s, 3 seconds passed +... 24%, 171904 KB, 48440 KB/s, 3 seconds passed +... 24%, 171936 KB, 48447 KB/s, 3 seconds passed +... 24%, 171968 KB, 48453 KB/s, 3 seconds passed +... 24%, 172000 KB, 48458 KB/s, 3 seconds passed +... 24%, 172032 KB, 48463 KB/s, 3 seconds passed +... 24%, 172064 KB, 48468 KB/s, 3 seconds passed +... 24%, 172096 KB, 48473 KB/s, 3 seconds passed +... 24%, 172128 KB, 48479 KB/s, 3 seconds passed +... 24%, 172160 KB, 48485 KB/s, 3 seconds passed +... 24%, 172192 KB, 48490 KB/s, 3 seconds passed +... 24%, 172224 KB, 48495 KB/s, 3 seconds passed +... 24%, 172256 KB, 48499 KB/s, 3 seconds passed +... 24%, 172288 KB, 48505 KB/s, 3 seconds passed +... 24%, 172320 KB, 48510 KB/s, 3 seconds passed +... 24%, 172352 KB, 48515 KB/s, 3 seconds passed +... 24%, 172384 KB, 48520 KB/s, 3 seconds passed +... 24%, 172416 KB, 48526 KB/s, 3 seconds passed +... 24%, 172448 KB, 48531 KB/s, 3 seconds passed +... 24%, 172480 KB, 48536 KB/s, 3 seconds passed +... 24%, 172512 KB, 48541 KB/s, 3 seconds passed +... 24%, 172544 KB, 48546 KB/s, 3 seconds passed +... 24%, 172576 KB, 48552 KB/s, 3 seconds passed +... 24%, 172608 KB, 48557 KB/s, 3 seconds passed +... 24%, 172640 KB, 48562 KB/s, 3 seconds passed +... 24%, 172672 KB, 48568 KB/s, 3 seconds passed +... 24%, 172704 KB, 48573 KB/s, 3 seconds passed +... 24%, 172736 KB, 48578 KB/s, 3 seconds passed +... 24%, 172768 KB, 48583 KB/s, 3 seconds passed +... 24%, 172800 KB, 48589 KB/s, 3 seconds passed +... 24%, 172832 KB, 48593 KB/s, 3 seconds passed +... 24%, 172864 KB, 48575 KB/s, 3 seconds passed +... 24%, 172896 KB, 48566 KB/s, 3 seconds passed +... 24%, 172928 KB, 48572 KB/s, 3 seconds passed +... 24%, 172960 KB, 48577 KB/s, 3 seconds passed +... 24%, 172992 KB, 48582 KB/s, 3 seconds passed +... 24%, 173024 KB, 48587 KB/s, 3 seconds passed +... 24%, 173056 KB, 48592 KB/s, 3 seconds passed +... 24%, 173088 KB, 48598 KB/s, 3 seconds passed +... 24%, 173120 KB, 48603 KB/s, 3 seconds passed +... 24%, 173152 KB, 48608 KB/s, 3 seconds passed +... 24%, 173184 KB, 48613 KB/s, 3 seconds passed +... 24%, 173216 KB, 48619 KB/s, 3 seconds passed +... 24%, 173248 KB, 48625 KB/s, 3 seconds passed +... 24%, 173280 KB, 48630 KB/s, 3 seconds passed +... 24%, 173312 KB, 48635 KB/s, 3 seconds passed +... 24%, 173344 KB, 48640 KB/s, 3 seconds passed +... 24%, 173376 KB, 48645 KB/s, 3 seconds passed +... 24%, 173408 KB, 48651 KB/s, 3 seconds passed +... 24%, 173440 KB, 48656 KB/s, 3 seconds passed +... 24%, 173472 KB, 48661 KB/s, 3 seconds passed +... 24%, 173504 KB, 48666 KB/s, 3 seconds passed +... 24%, 173536 KB, 48671 KB/s, 3 seconds passed +... 24%, 173568 KB, 48676 KB/s, 3 seconds passed +... 24%, 173600 KB, 48681 KB/s, 3 seconds passed +... 24%, 173632 KB, 48687 KB/s, 3 seconds passed +... 24%, 173664 KB, 48692 KB/s, 3 seconds passed +... 24%, 173696 KB, 48697 KB/s, 3 seconds passed +... 24%, 173728 KB, 48702 KB/s, 3 seconds passed +... 24%, 173760 KB, 48707 KB/s, 3 seconds passed +... 24%, 173792 KB, 48710 KB/s, 3 seconds passed +... 24%, 173824 KB, 48713 KB/s, 3 seconds passed +... 24%, 173856 KB, 48717 KB/s, 3 seconds passed +... 25%, 173888 KB, 48723 KB/s, 3 seconds passed +... 25%, 173920 KB, 48729 KB/s, 3 seconds passed +... 25%, 173952 KB, 48736 KB/s, 3 seconds passed +... 25%, 173984 KB, 48743 KB/s, 3 seconds passed +... 25%, 174016 KB, 48749 KB/s, 3 seconds passed +... 25%, 174048 KB, 48754 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 25%, 174080 KB, 48313 KB/s, 3 seconds passed +... 25%, 174112 KB, 48304 KB/s, 3 seconds passed +... 25%, 174144 KB, 48307 KB/s, 3 seconds passed +... 25%, 174176 KB, 48311 KB/s, 3 seconds passed +... 25%, 174208 KB, 48316 KB/s, 3 seconds passed +... 25%, 174240 KB, 48017 KB/s, 3 seconds passed +... 25%, 174272 KB, 48019 KB/s, 3 seconds passed +... 25%, 174304 KB, 48022 KB/s, 3 seconds passed +... 25%, 174336 KB, 48025 KB/s, 3 seconds passed +... 25%, 174368 KB, 48029 KB/s, 3 seconds passed +... 25%, 174400 KB, 48033 KB/s, 3 seconds passed +... 25%, 174432 KB, 48036 KB/s, 3 seconds passed +... 25%, 174464 KB, 48039 KB/s, 3 seconds passed +... 25%, 174496 KB, 48043 KB/s, 3 seconds passed +... 25%, 174528 KB, 48047 KB/s, 3 seconds passed +... 25%, 174560 KB, 48051 KB/s, 3 seconds passed +... 25%, 174592 KB, 48054 KB/s, 3 seconds passed +... 25%, 174624 KB, 48058 KB/s, 3 seconds passed +... 25%, 174656 KB, 48061 KB/s, 3 seconds passed +... 25%, 174688 KB, 48065 KB/s, 3 seconds passed +... 25%, 174720 KB, 48069 KB/s, 3 seconds passed +... 25%, 174752 KB, 48072 KB/s, 3 seconds passed +... 25%, 174784 KB, 48075 KB/s, 3 seconds passed +... 25%, 174816 KB, 48079 KB/s, 3 seconds passed +... 25%, 174848 KB, 48083 KB/s, 3 seconds passed +... 25%, 174880 KB, 48086 KB/s, 3 seconds passed +... 25%, 174912 KB, 48090 KB/s, 3 seconds passed +... 25%, 174944 KB, 48094 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 25%, 174976 KB, 48099 KB/s, 3 seconds passed +... 25%, 175008 KB, 48103 KB/s, 3 seconds passed +... 25%, 175040 KB, 48107 KB/s, 3 seconds passed +... 25%, 175072 KB, 48112 KB/s, 3 seconds passed +... 25%, 175104 KB, 48116 KB/s, 3 seconds passed +... 25%, 175136 KB, 48120 KB/s, 3 seconds passed +... 25%, 175168 KB, 48125 KB/s, 3 seconds passed +... 25%, 175200 KB, 48129 KB/s, 3 seconds passed +... 25%, 175232 KB, 48134 KB/s, 3 seconds passed +... 25%, 175264 KB, 48138 KB/s, 3 seconds passed +... 25%, 175296 KB, 48143 KB/s, 3 seconds passed +... 25%, 175328 KB, 48147 KB/s, 3 seconds passed +... 25%, 175360 KB, 48152 KB/s, 3 seconds passed +... 25%, 175392 KB, 48156 KB/s, 3 seconds passed +... 25%, 175424 KB, 48160 KB/s, 3 seconds passed +... 25%, 175456 KB, 48164 KB/s, 3 seconds passed +... 25%, 175488 KB, 48169 KB/s, 3 seconds passed +... 25%, 175520 KB, 48173 KB/s, 3 seconds passed +... 25%, 175552 KB, 48177 KB/s, 3 seconds passed +... 25%, 175584 KB, 48182 KB/s, 3 seconds passed +... 25%, 175616 KB, 48186 KB/s, 3 seconds passed +... 25%, 175648 KB, 48190 KB/s, 3 seconds passed +... 25%, 175680 KB, 48194 KB/s, 3 seconds passed +... 25%, 175712 KB, 48199 KB/s, 3 seconds passed +... 25%, 175744 KB, 48203 KB/s, 3 seconds passed +... 25%, 175776 KB, 48208 KB/s, 3 seconds passed +... 25%, 175808 KB, 48212 KB/s, 3 seconds passed +... 25%, 175840 KB, 48217 KB/s, 3 seconds passed +... 25%, 175872 KB, 48221 KB/s, 3 seconds passed +... 25%, 175904 KB, 48225 KB/s, 3 seconds passed +... 25%, 175936 KB, 48230 KB/s, 3 seconds passed +... 25%, 175968 KB, 48236 KB/s, 3 seconds passed +... 25%, 176000 KB, 48242 KB/s, 3 seconds passed +... 25%, 176032 KB, 48248 KB/s, 3 seconds passed +... 25%, 176064 KB, 48254 KB/s, 3 seconds passed +... 25%, 176096 KB, 48260 KB/s, 3 seconds passed +... 25%, 176128 KB, 48266 KB/s, 3 seconds passed +... 25%, 176160 KB, 48272 KB/s, 3 seconds passed +... 25%, 176192 KB, 48278 KB/s, 3 seconds passed +... 25%, 176224 KB, 48283 KB/s, 3 seconds passed +... 25%, 176256 KB, 48290 KB/s, 3 seconds passed +... 25%, 176288 KB, 48295 KB/s, 3 seconds passed +... 25%, 176320 KB, 48301 KB/s, 3 seconds passed +... 25%, 176352 KB, 48307 KB/s, 3 seconds passed +... 25%, 176384 KB, 48313 KB/s, 3 seconds passed +... 25%, 176416 KB, 48319 KB/s, 3 seconds passed +... 25%, 176448 KB, 48325 KB/s, 3 seconds passed +... 25%, 176480 KB, 48330 KB/s, 3 seconds passed +... 25%, 176512 KB, 48336 KB/s, 3 seconds passed +... 25%, 176544 KB, 48342 KB/s, 3 seconds passed +... 25%, 176576 KB, 48348 KB/s, 3 seconds passed +... 25%, 176608 KB, 48354 KB/s, 3 seconds passed +... 25%, 176640 KB, 48359 KB/s, 3 seconds passed +... 25%, 176672 KB, 48365 KB/s, 3 seconds passed +... 25%, 176704 KB, 48371 KB/s, 3 seconds passed +... 25%, 176736 KB, 48377 KB/s, 3 seconds passed +... 25%, 176768 KB, 48383 KB/s, 3 seconds passed +... 25%, 176800 KB, 48389 KB/s, 3 seconds passed +... 25%, 176832 KB, 48395 KB/s, 3 seconds passed +... 25%, 176864 KB, 48401 KB/s, 3 seconds passed +... 25%, 176896 KB, 48407 KB/s, 3 seconds passed +... 25%, 176928 KB, 48413 KB/s, 3 seconds passed +... 25%, 176960 KB, 48419 KB/s, 3 seconds passed +... 25%, 176992 KB, 48425 KB/s, 3 seconds passed +... 25%, 177024 KB, 48430 KB/s, 3 seconds passed +... 25%, 177056 KB, 48436 KB/s, 3 seconds passed +... 25%, 177088 KB, 48442 KB/s, 3 seconds passed +... 25%, 177120 KB, 48448 KB/s, 3 seconds passed +... 25%, 177152 KB, 48453 KB/s, 3 seconds passed +... 25%, 177184 KB, 48459 KB/s, 3 seconds passed +... 25%, 177216 KB, 48465 KB/s, 3 seconds passed +... 25%, 177248 KB, 48471 KB/s, 3 seconds passed +... 25%, 177280 KB, 48477 KB/s, 3 seconds passed +... 25%, 177312 KB, 48483 KB/s, 3 seconds passed +... 25%, 177344 KB, 48489 KB/s, 3 seconds passed +... 25%, 177376 KB, 48496 KB/s, 3 seconds passed +... 25%, 177408 KB, 48502 KB/s, 3 seconds passed +... 25%, 177440 KB, 48509 KB/s, 3 seconds passed +... 25%, 177472 KB, 48516 KB/s, 3 seconds passed +... 25%, 177504 KB, 48523 KB/s, 3 seconds passed +... 25%, 177536 KB, 48529 KB/s, 3 seconds passed +... 25%, 177568 KB, 48536 KB/s, 3 seconds passed +... 25%, 177600 KB, 48543 KB/s, 3 seconds passed +... 25%, 177632 KB, 48550 KB/s, 3 seconds passed +... 25%, 177664 KB, 48556 KB/s, 3 seconds passed +... 25%, 177696 KB, 48563 KB/s, 3 seconds passed +... 25%, 177728 KB, 48570 KB/s, 3 seconds passed +... 25%, 177760 KB, 48576 KB/s, 3 seconds passed +... 25%, 177792 KB, 48582 KB/s, 3 seconds passed +... 25%, 177824 KB, 48587 KB/s, 3 seconds passed +... 25%, 177856 KB, 48592 KB/s, 3 seconds passed +... 25%, 177888 KB, 48597 KB/s, 3 seconds passed +... 25%, 177920 KB, 48602 KB/s, 3 seconds passed +... 25%, 177952 KB, 48607 KB/s, 3 seconds passed +... 25%, 177984 KB, 48612 KB/s, 3 seconds passed +... 25%, 178016 KB, 48618 KB/s, 3 seconds passed +... 25%, 178048 KB, 48622 KB/s, 3 seconds passed +... 25%, 178080 KB, 48627 KB/s, 3 seconds passed +... 25%, 178112 KB, 48633 KB/s, 3 seconds passed +... 25%, 178144 KB, 48638 KB/s, 3 seconds passed +... 25%, 178176 KB, 48642 KB/s, 3 seconds passed +... 25%, 178208 KB, 48647 KB/s, 3 seconds passed +... 25%, 178240 KB, 48652 KB/s, 3 seconds passed +... 25%, 178272 KB, 48658 KB/s, 3 seconds passed +... 25%, 178304 KB, 48662 KB/s, 3 seconds passed +... 25%, 178336 KB, 48667 KB/s, 3 seconds passed +... 25%, 178368 KB, 48670 KB/s, 3 seconds passed +... 25%, 178400 KB, 48673 KB/s, 3 seconds passed +... 25%, 178432 KB, 48679 KB/s, 3 seconds passed +... 25%, 178464 KB, 48686 KB/s, 3 seconds passed +... 25%, 178496 KB, 48693 KB/s, 3 seconds passed +... 25%, 178528 KB, 48698 KB/s, 3 seconds passed +... 25%, 178560 KB, 48702 KB/s, 3 seconds passed +... 25%, 178592 KB, 48706 KB/s, 3 seconds passed +... 25%, 178624 KB, 48712 KB/s, 3 seconds passed +... 25%, 178656 KB, 48718 KB/s, 3 seconds passed +... 25%, 178688 KB, 48723 KB/s, 3 seconds passed +... 25%, 178720 KB, 48728 KB/s, 3 seconds passed +... 25%, 178752 KB, 48733 KB/s, 3 seconds passed +... 25%, 178784 KB, 48738 KB/s, 3 seconds passed +... 25%, 178816 KB, 48743 KB/s, 3 seconds passed +... 25%, 178848 KB, 48747 KB/s, 3 seconds passed +... 25%, 178880 KB, 48753 KB/s, 3 seconds passed +... 25%, 178912 KB, 48758 KB/s, 3 seconds passed +... 25%, 178944 KB, 48763 KB/s, 3 seconds passed +... 25%, 178976 KB, 48768 KB/s, 3 seconds passed +... 25%, 179008 KB, 48773 KB/s, 3 seconds passed +... 25%, 179040 KB, 48778 KB/s, 3 seconds passed +... 25%, 179072 KB, 48783 KB/s, 3 seconds passed +... 25%, 179104 KB, 48788 KB/s, 3 seconds passed +... 25%, 179136 KB, 48793 KB/s, 3 seconds passed +... 25%, 179168 KB, 48798 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 25%, 179200 KB, 48243 KB/s, 3 seconds passed +... 25%, 179232 KB, 48245 KB/s, 3 seconds passed +... 25%, 179264 KB, 48248 KB/s, 3 seconds passed +... 25%, 179296 KB, 48252 KB/s, 3 seconds passed +... 25%, 179328 KB, 48256 KB/s, 3 seconds passed +... 25%, 179360 KB, 48260 KB/s, 3 seconds passed +... 25%, 179392 KB, 48261 KB/s, 3 seconds passed +... 25%, 179424 KB, 48246 KB/s, 3 seconds passed +... 25%, 179456 KB, 48249 KB/s, 3 seconds passed +... 25%, 179488 KB, 48252 KB/s, 3 seconds passed +... 25%, 179520 KB, 48255 KB/s, 3 seconds passed +... 25%, 179552 KB, 48259 KB/s, 3 seconds passed +... 25%, 179584 KB, 48262 KB/s, 3 seconds passed +... 25%, 179616 KB, 48266 KB/s, 3 seconds passed +... 25%, 179648 KB, 48269 KB/s, 3 seconds passed +... 25%, 179680 KB, 48273 KB/s, 3 seconds passed +... 25%, 179712 KB, 48278 KB/s, 3 seconds passed +... 25%, 179744 KB, 48282 KB/s, 3 seconds passed +... 25%, 179776 KB, 48286 KB/s, 3 seconds passed +... 25%, 179808 KB, 48289 KB/s, 3 seconds passed +... 25%, 179840 KB, 48293 KB/s, 3 seconds passed +... 25%, 179872 KB, 48296 KB/s, 3 seconds passed +... 25%, 179904 KB, 48300 KB/s, 3 seconds passed +... 25%, 179936 KB, 48304 KB/s, 3 seconds passed +... 25%, 179968 KB, 48307 KB/s, 3 seconds passed +... 25%, 180000 KB, 48311 KB/s, 3 seconds passed +... 25%, 180032 KB, 48315 KB/s, 3 seconds passed +... 25%, 180064 KB, 48318 KB/s, 3 seconds passed +... 25%, 180096 KB, 48322 KB/s, 3 seconds passed +... 25%, 180128 KB, 48325 KB/s, 3 seconds passed +... 25%, 180160 KB, 48329 KB/s, 3 seconds passed +... 25%, 180192 KB, 48333 KB/s, 3 seconds passed +... 25%, 180224 KB, 48338 KB/s, 3 seconds passed +... 25%, 180256 KB, 48343 KB/s, 3 seconds passed +... 25%, 180288 KB, 48348 KB/s, 3 seconds passed +... 25%, 180320 KB, 48353 KB/s, 3 seconds passed +... 25%, 180352 KB, 48357 KB/s, 3 seconds passed +... 25%, 180384 KB, 48362 KB/s, 3 seconds passed +... 25%, 180416 KB, 48367 KB/s, 3 seconds passed +... 25%, 180448 KB, 48372 KB/s, 3 seconds passed +... 25%, 180480 KB, 48377 KB/s, 3 seconds passed +... 25%, 180512 KB, 48382 KB/s, 3 seconds passed +... 25%, 180544 KB, 48387 KB/s, 3 seconds passed +... 25%, 180576 KB, 48391 KB/s, 3 seconds passed +... 25%, 180608 KB, 48396 KB/s, 3 seconds passed +... 25%, 180640 KB, 48401 KB/s, 3 seconds passed +... 25%, 180672 KB, 48406 KB/s, 3 seconds passed +... 25%, 180704 KB, 48411 KB/s, 3 seconds passed +... 25%, 180736 KB, 48416 KB/s, 3 seconds passed +... 25%, 180768 KB, 48421 KB/s, 3 seconds passed +... 25%, 180800 KB, 48426 KB/s, 3 seconds passed +... 26%, 180832 KB, 48430 KB/s, 3 seconds passed +... 26%, 180864 KB, 48435 KB/s, 3 seconds passed +... 26%, 180896 KB, 48440 KB/s, 3 seconds passed +... 26%, 180928 KB, 48445 KB/s, 3 seconds passed +... 26%, 180960 KB, 48450 KB/s, 3 seconds passed +... 26%, 180992 KB, 48455 KB/s, 3 seconds passed +... 26%, 181024 KB, 48459 KB/s, 3 seconds passed +... 26%, 181056 KB, 48464 KB/s, 3 seconds passed +... 26%, 181088 KB, 48469 KB/s, 3 seconds passed +... 26%, 181120 KB, 48474 KB/s, 3 seconds passed +... 26%, 181152 KB, 48479 KB/s, 3 seconds passed +... 26%, 181184 KB, 48484 KB/s, 3 seconds passed +... 26%, 181216 KB, 48489 KB/s, 3 seconds passed +... 26%, 181248 KB, 48494 KB/s, 3 seconds passed +... 26%, 181280 KB, 48498 KB/s, 3 seconds passed +... 26%, 181312 KB, 48503 KB/s, 3 seconds passed +... 26%, 181344 KB, 48508 KB/s, 3 seconds passed +... 26%, 181376 KB, 48513 KB/s, 3 seconds passed +... 26%, 181408 KB, 48519 KB/s, 3 seconds passed +... 26%, 181440 KB, 48525 KB/s, 3 seconds passed +... 26%, 181472 KB, 48531 KB/s, 3 seconds passed +... 26%, 181504 KB, 48537 KB/s, 3 seconds passed +... 26%, 181536 KB, 48543 KB/s, 3 seconds passed +... 26%, 181568 KB, 48549 KB/s, 3 seconds passed +... 26%, 181600 KB, 48555 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 26%, 181632 KB, 48561 KB/s, 3 seconds passed +... 26%, 181664 KB, 48567 KB/s, 3 seconds passed +... 26%, 181696 KB, 48573 KB/s, 3 seconds passed +... 26%, 181728 KB, 48579 KB/s, 3 seconds passed +... 26%, 181760 KB, 48585 KB/s, 3 seconds passed +... 26%, 181792 KB, 48592 KB/s, 3 seconds passed +... 26%, 181824 KB, 48598 KB/s, 3 seconds passed +... 26%, 181856 KB, 48604 KB/s, 3 seconds passed +... 26%, 181888 KB, 48610 KB/s, 3 seconds passed +... 26%, 181920 KB, 48616 KB/s, 3 seconds passed +... 26%, 181952 KB, 48622 KB/s, 3 seconds passed +... 26%, 181984 KB, 48628 KB/s, 3 seconds passed +... 26%, 182016 KB, 48635 KB/s, 3 seconds passed +... 26%, 182048 KB, 48641 KB/s, 3 seconds passed +... 26%, 182080 KB, 48647 KB/s, 3 seconds passed +... 26%, 182112 KB, 48652 KB/s, 3 seconds passed +... 26%, 182144 KB, 48659 KB/s, 3 seconds passed +... 26%, 182176 KB, 48664 KB/s, 3 seconds passed +... 26%, 182208 KB, 48669 KB/s, 3 seconds passed +... 26%, 182240 KB, 48674 KB/s, 3 seconds passed +... 26%, 182272 KB, 48678 KB/s, 3 seconds passed +... 26%, 182304 KB, 48683 KB/s, 3 seconds passed +... 26%, 182336 KB, 48688 KB/s, 3 seconds passed +... 26%, 182368 KB, 48692 KB/s, 3 seconds passed +... 26%, 182400 KB, 48698 KB/s, 3 seconds passed +... 26%, 182432 KB, 48703 KB/s, 3 seconds passed +... 26%, 182464 KB, 48708 KB/s, 3 seconds passed +... 26%, 182496 KB, 48713 KB/s, 3 seconds passed +... 26%, 182528 KB, 48718 KB/s, 3 seconds passed +... 26%, 182560 KB, 48722 KB/s, 3 seconds passed +... 26%, 182592 KB, 48728 KB/s, 3 seconds passed +... 26%, 182624 KB, 48732 KB/s, 3 seconds passed +... 26%, 182656 KB, 48738 KB/s, 3 seconds passed +... 26%, 182688 KB, 48743 KB/s, 3 seconds passed +... 26%, 182720 KB, 48748 KB/s, 3 seconds passed +... 26%, 182752 KB, 48753 KB/s, 3 seconds passed +... 26%, 182784 KB, 48757 KB/s, 3 seconds passed +... 26%, 182816 KB, 48762 KB/s, 3 seconds passed +... 26%, 182848 KB, 48766 KB/s, 3 seconds passed +... 26%, 182880 KB, 48771 KB/s, 3 seconds passed +... 26%, 182912 KB, 48776 KB/s, 3 seconds passed +... 26%, 182944 KB, 48781 KB/s, 3 seconds passed +... 26%, 182976 KB, 48787 KB/s, 3 seconds passed +... 26%, 183008 KB, 48792 KB/s, 3 seconds passed +... 26%, 183040 KB, 48722 KB/s, 3 seconds passed +... 26%, 183072 KB, 48725 KB/s, 3 seconds passed +... 26%, 183104 KB, 48730 KB/s, 3 seconds passed +... 26%, 183136 KB, 48737 KB/s, 3 seconds passed +... 26%, 183168 KB, 48741 KB/s, 3 seconds passed +... 26%, 183200 KB, 48746 KB/s, 3 seconds passed +... 26%, 183232 KB, 48751 KB/s, 3 seconds passed +... 26%, 183264 KB, 48756 KB/s, 3 seconds passed +... 26%, 183296 KB, 48761 KB/s, 3 seconds passed +... 26%, 183328 KB, 48766 KB/s, 3 seconds passed +... 26%, 183360 KB, 48770 KB/s, 3 seconds passed +... 26%, 183392 KB, 48776 KB/s, 3 seconds passed +... 26%, 183424 KB, 48781 KB/s, 3 seconds passed +... 26%, 183456 KB, 48785 KB/s, 3 seconds passed +... 26%, 183488 KB, 48790 KB/s, 3 seconds passed +... 26%, 183520 KB, 48795 KB/s, 3 seconds passed +... 26%, 183552 KB, 48800 KB/s, 3 seconds passed +... 26%, 183584 KB, 48805 KB/s, 3 seconds passed +... 26%, 183616 KB, 48798 KB/s, 3 seconds passed +... 26%, 183648 KB, 48803 KB/s, 3 seconds passed +... 26%, 183680 KB, 48808 KB/s, 3 seconds passed +... 26%, 183712 KB, 48813 KB/s, 3 seconds passed +... 26%, 183744 KB, 48817 KB/s, 3 seconds passed +... 26%, 183776 KB, 48822 KB/s, 3 seconds passed +... 26%, 183808 KB, 48827 KB/s, 3 seconds passed +... 26%, 183840 KB, 48832 KB/s, 3 seconds passed +... 26%, 183872 KB, 48837 KB/s, 3 seconds passed +... 26%, 183904 KB, 48842 KB/s, 3 seconds passed +... 26%, 183936 KB, 48847 KB/s, 3 seconds passed +... 26%, 183968 KB, 48852 KB/s, 3 seconds passed +... 26%, 184000 KB, 48857 KB/s, 3 seconds passed +... 26%, 184032 KB, 48861 KB/s, 3 seconds passed +... 26%, 184064 KB, 48866 KB/s, 3 seconds passed +... 26%, 184096 KB, 48871 KB/s, 3 seconds passed +... 26%, 184128 KB, 48876 KB/s, 3 seconds passed +... 26%, 184160 KB, 48881 KB/s, 3 seconds passed +... 26%, 184192 KB, 48886 KB/s, 3 seconds passed +... 26%, 184224 KB, 48890 KB/s, 3 seconds passed +... 26%, 184256 KB, 48895 KB/s, 3 seconds passed +... 26%, 184288 KB, 48900 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 26%, 184320 KB, 48613 KB/s, 3 seconds passed +... 26%, 184352 KB, 48615 KB/s, 3 seconds passed +... 26%, 184384 KB, 48618 KB/s, 3 seconds passed +... 26%, 184416 KB, 48623 KB/s, 3 seconds passed +... 26%, 184448 KB, 48570 KB/s, 3 seconds passed +... 26%, 184480 KB, 48573 KB/s, 3 seconds passed +... 26%, 184512 KB, 48576 KB/s, 3 seconds passed +... 26%, 184544 KB, 48580 KB/s, 3 seconds passed +... 26%, 184576 KB, 48583 KB/s, 3 seconds passed +... 26%, 184608 KB, 48586 KB/s, 3 seconds passed +... 26%, 184640 KB, 48590 KB/s, 3 seconds passed +... 26%, 184672 KB, 48593 KB/s, 3 seconds passed +... 26%, 184704 KB, 48597 KB/s, 3 seconds passed +... 26%, 184736 KB, 48600 KB/s, 3 seconds passed +... 26%, 184768 KB, 48604 KB/s, 3 seconds passed +... 26%, 184800 KB, 48607 KB/s, 3 seconds passed +... 26%, 184832 KB, 48610 KB/s, 3 seconds passed +... 26%, 184864 KB, 48614 KB/s, 3 seconds passed +... 26%, 184896 KB, 48617 KB/s, 3 seconds passed +... 26%, 184928 KB, 48621 KB/s, 3 seconds passed +... 26%, 184960 KB, 48624 KB/s, 3 seconds passed +... 26%, 184992 KB, 48628 KB/s, 3 seconds passed +... 26%, 185024 KB, 48631 KB/s, 3 seconds passed +... 26%, 185056 KB, 48634 KB/s, 3 seconds passed +... 26%, 185088 KB, 48638 KB/s, 3 seconds passed +... 26%, 185120 KB, 48642 KB/s, 3 seconds passed +... 26%, 185152 KB, 48645 KB/s, 3 seconds passed +... 26%, 185184 KB, 48649 KB/s, 3 seconds passed +... 26%, 185216 KB, 48652 KB/s, 3 seconds passed +... 26%, 185248 KB, 48655 KB/s, 3 seconds passed +... 26%, 185280 KB, 48659 KB/s, 3 seconds passed +... 26%, 185312 KB, 48663 KB/s, 3 seconds passed +... 26%, 185344 KB, 48666 KB/s, 3 seconds passed +... 26%, 185376 KB, 48669 KB/s, 3 seconds passed +... 26%, 185408 KB, 48673 KB/s, 3 seconds passed +... 26%, 185440 KB, 48678 KB/s, 3 seconds passed +... 26%, 185472 KB, 48683 KB/s, 3 seconds passed +... 26%, 185504 KB, 48688 KB/s, 3 seconds passed +... 26%, 185536 KB, 48694 KB/s, 3 seconds passed +... 26%, 185568 KB, 48699 KB/s, 3 seconds passed +... 26%, 185600 KB, 48704 KB/s, 3 seconds passed +... 26%, 185632 KB, 48709 KB/s, 3 seconds passed +... 26%, 185664 KB, 48714 KB/s, 3 seconds passed +... 26%, 185696 KB, 48720 KB/s, 3 seconds passed +... 26%, 185728 KB, 48725 KB/s, 3 seconds passed +... 26%, 185760 KB, 48730 KB/s, 3 seconds passed +... 26%, 185792 KB, 48735 KB/s, 3 seconds passed +... 26%, 185824 KB, 48740 KB/s, 3 seconds passed +... 26%, 185856 KB, 48745 KB/s, 3 seconds passed +... 26%, 185888 KB, 48751 KB/s, 3 seconds passed +... 26%, 185920 KB, 48756 KB/s, 3 seconds passed +... 26%, 185952 KB, 48761 KB/s, 3 seconds passed +... 26%, 185984 KB, 48766 KB/s, 3 seconds passed +... 26%, 186016 KB, 48771 KB/s, 3 seconds passed +... 26%, 186048 KB, 48776 KB/s, 3 seconds passed +... 26%, 186080 KB, 48782 KB/s, 3 seconds passed +... 26%, 186112 KB, 48787 KB/s, 3 seconds passed +... 26%, 186144 KB, 48792 KB/s, 3 seconds passed +... 26%, 186176 KB, 48797 KB/s, 3 seconds passed +... 26%, 186208 KB, 48802 KB/s, 3 seconds passed +... 26%, 186240 KB, 48807 KB/s, 3 seconds passed +... 26%, 186272 KB, 48813 KB/s, 3 seconds passed +... 26%, 186304 KB, 48818 KB/s, 3 seconds passed +... 26%, 186336 KB, 48823 KB/s, 3 seconds passed +... 26%, 186368 KB, 48828 KB/s, 3 seconds passed +... 26%, 186400 KB, 48834 KB/s, 3 seconds passed +... 26%, 186432 KB, 48839 KB/s, 3 seconds passed +... 26%, 186464 KB, 48844 KB/s, 3 seconds passed +... 26%, 186496 KB, 48849 KB/s, 3 seconds passed +... 26%, 186528 KB, 48854 KB/s, 3 seconds passed +... 26%, 186560 KB, 48860 KB/s, 3 seconds passed +... 26%, 186592 KB, 48865 KB/s, 3 seconds passed +... 26%, 186624 KB, 48870 KB/s, 3 seconds passed +... 26%, 186656 KB, 48875 KB/s, 3 seconds passed +... 26%, 186688 KB, 48880 KB/s, 3 seconds passed +... 26%, 186720 KB, 48886 KB/s, 3 seconds passed +... 26%, 186752 KB, 48893 KB/s, 3 seconds passed +... 26%, 186784 KB, 48899 KB/s, 3 seconds passed +... 26%, 186816 KB, 48905 KB/s, 3 seconds passed +... 26%, 186848 KB, 48911 KB/s, 3 seconds passed +... 26%, 186880 KB, 48918 KB/s, 3 seconds passed +... 26%, 186912 KB, 48924 KB/s, 3 seconds passed +... 26%, 186944 KB, 48930 KB/s, 3 seconds passed +... 26%, 186976 KB, 48936 KB/s, 3 seconds passed +... 26%, 187008 KB, 48942 KB/s, 3 seconds passed +... 26%, 187040 KB, 48949 KB/s, 3 seconds passed +... 26%, 187072 KB, 48955 KB/s, 3 seconds passed +... 26%, 187104 KB, 48961 KB/s, 3 seconds passed +... 26%, 187136 KB, 48967 KB/s, 3 seconds passed +... 26%, 187168 KB, 48973 KB/s, 3 seconds passed +... 26%, 187200 KB, 48980 KB/s, 3 seconds passed +... 26%, 187232 KB, 48986 KB/s, 3 seconds passed +... 26%, 187264 KB, 48992 KB/s, 3 seconds passed +... 26%, 187296 KB, 48998 KB/s, 3 seconds passed +... 26%, 187328 KB, 49004 KB/s, 3 seconds passed +... 26%, 187360 KB, 49009 KB/s, 3 seconds passed +... 26%, 187392 KB, 49015 KB/s, 3 seconds passed +... 26%, 187424 KB, 49020 KB/s, 3 seconds passed +... 26%, 187456 KB, 49025 KB/s, 3 seconds passed +... 26%, 187488 KB, 49029 KB/s, 3 seconds passed +... 26%, 187520 KB, 49033 KB/s, 3 seconds passed +... 26%, 187552 KB, 49039 KB/s, 3 seconds passed +... 26%, 187584 KB, 49043 KB/s, 3 seconds passed +... 26%, 187616 KB, 49047 KB/s, 3 seconds passed +... 26%, 187648 KB, 49052 KB/s, 3 seconds passed +... 26%, 187680 KB, 49057 KB/s, 3 seconds passed +... 26%, 187712 KB, 49063 KB/s, 3 seconds passed +... 26%, 187744 KB, 49068 KB/s, 3 seconds passed +... 26%, 187776 KB, 49072 KB/s, 3 seconds passed +... 27%, 187808 KB, 49076 KB/s, 3 seconds passed +... 27%, 187840 KB, 49080 KB/s, 3 seconds passed +... 27%, 187872 KB, 49086 KB/s, 3 seconds passed +... 27%, 187904 KB, 49091 KB/s, 3 seconds passed +... 27%, 187936 KB, 49096 KB/s, 3 seconds passed +... 27%, 187968 KB, 49100 KB/s, 3 seconds passed +... 27%, 188000 KB, 49105 KB/s, 3 seconds passed +... 27%, 188032 KB, 49111 KB/s, 3 seconds passed +... 27%, 188064 KB, 49116 KB/s, 3 seconds passed +... 27%, 188096 KB, 49121 KB/s, 3 seconds passed +... 27%, 188128 KB, 49125 KB/s, 3 seconds passed +... 27%, 188160 KB, 49129 KB/s, 3 seconds passed +... 27%, 188192 KB, 49097 KB/s, 3 seconds passed +... 27%, 188224 KB, 49099 KB/s, 3 seconds passed +... 27%, 188256 KB, 49103 KB/s, 3 seconds passed +... 27%, 188288 KB, 49110 KB/s, 3 seconds passed +... 27%, 188320 KB, 49116 KB/s, 3 seconds passed +... 27%, 188352 KB, 49122 KB/s, 3 seconds passed +... 27%, 188384 KB, 49127 KB/s, 3 seconds passed +... 27%, 188416 KB, 49132 KB/s, 3 seconds passed +... 27%, 188448 KB, 49137 KB/s, 3 seconds passed +... 27%, 188480 KB, 49142 KB/s, 3 seconds passed +... 27%, 188512 KB, 49147 KB/s, 3 seconds passed +... 27%, 188544 KB, 49152 KB/s, 3 seconds passed +... 27%, 188576 KB, 49155 KB/s, 3 seconds passed +... 27%, 188608 KB, 49157 KB/s, 3 seconds passed +... 27%, 188640 KB, 49163 KB/s, 3 seconds passed +... 27%, 188672 KB, 49169 KB/s, 3 seconds passed +... 27%, 188704 KB, 49175 KB/s, 3 seconds passed +... 27%, 188736 KB, 49181 KB/s, 3 seconds passed +... 27%, 188768 KB, 49184 KB/s, 3 seconds passed +... 27%, 188800 KB, 49190 KB/s, 3 seconds passed +... 27%, 188832 KB, 49195 KB/s, 3 seconds passed +... 27%, 188864 KB, 49199 KB/s, 3 seconds passed +... 27%, 188896 KB, 49204 KB/s, 3 seconds passed +... 27%, 188928 KB, 49209 KB/s, 3 seconds passed +... 27%, 188960 KB, 49212 KB/s, 3 seconds passed +... 27%, 188992 KB, 49218 KB/s, 3 seconds passed +... 27%, 189024 KB, 49223 KB/s, 3 seconds passed +... 27%, 189056 KB, 49227 KB/s, 3 seconds passed +... 27%, 189088 KB, 49231 KB/s, 3 seconds passed +... 27%, 189120 KB, 49234 KB/s, 3 seconds passed +... 27%, 189152 KB, 49239 KB/s, 3 seconds passed +... 27%, 189184 KB, 49244 KB/s, 3 seconds passed +... 27%, 189216 KB, 49248 KB/s, 3 seconds passed +... 27%, 189248 KB, 49253 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 27%, 189280 KB, 49254 KB/s, 3 seconds passed +... 27%, 189312 KB, 49256 KB/s, 3 seconds passed +... 27%, 189344 KB, 49261 KB/s, 3 seconds passed +... 27%, 189376 KB, 49267 KB/s, 3 seconds passed +... 27%, 189408 KB, 49273 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 27%, 189440 KB, 48408 KB/s, 3 seconds passed +... 27%, 189472 KB, 48410 KB/s, 3 seconds passed +... 27%, 189504 KB, 48413 KB/s, 3 seconds passed +... 27%, 189536 KB, 48417 KB/s, 3 seconds passed +... 27%, 189568 KB, 48418 KB/s, 3 seconds passed +... 27%, 189600 KB, 48421 KB/s, 3 seconds passed +... 27%, 189632 KB, 48424 KB/s, 3 seconds passed +... 27%, 189664 KB, 48428 KB/s, 3 seconds passed +... 27%, 189696 KB, 48431 KB/s, 3 seconds passed +... 27%, 189728 KB, 48435 KB/s, 3 seconds passed +... 27%, 189760 KB, 48438 KB/s, 3 seconds passed +... 27%, 189792 KB, 48442 KB/s, 3 seconds passed +... 27%, 189824 KB, 48445 KB/s, 3 seconds passed +... 27%, 189856 KB, 48448 KB/s, 3 seconds passed +... 27%, 189888 KB, 48452 KB/s, 3 seconds passed +... 27%, 189920 KB, 48455 KB/s, 3 seconds passed +... 27%, 189952 KB, 48459 KB/s, 3 seconds passed +... 27%, 189984 KB, 48462 KB/s, 3 seconds passed +... 27%, 190016 KB, 48465 KB/s, 3 seconds passed +... 27%, 190048 KB, 48468 KB/s, 3 seconds passed +... 27%, 190080 KB, 48472 KB/s, 3 seconds passed +... 27%, 190112 KB, 48475 KB/s, 3 seconds passed +... 27%, 190144 KB, 48479 KB/s, 3 seconds passed +... 27%, 190176 KB, 48482 KB/s, 3 seconds passed +... 27%, 190208 KB, 48485 KB/s, 3 seconds passed +... 27%, 190240 KB, 48489 KB/s, 3 seconds passed +... 27%, 190272 KB, 48492 KB/s, 3 seconds passed +... 27%, 190304 KB, 48495 KB/s, 3 seconds passed +... 27%, 190336 KB, 48499 KB/s, 3 seconds passed +... 27%, 190368 KB, 48503 KB/s, 3 seconds passed +... 27%, 190400 KB, 48506 KB/s, 3 seconds passed +... 27%, 190432 KB, 48509 KB/s, 3 seconds passed +... 27%, 190464 KB, 48513 KB/s, 3 seconds passed +... 27%, 190496 KB, 48516 KB/s, 3 seconds passed +... 27%, 190528 KB, 48519 KB/s, 3 seconds passed +... 27%, 190560 KB, 48522 KB/s, 3 seconds passed +... 27%, 190592 KB, 48526 KB/s, 3 seconds passed +... 27%, 190624 KB, 48529 KB/s, 3 seconds passed +... 27%, 190656 KB, 48533 KB/s, 3 seconds passed +... 27%, 190688 KB, 48537 KB/s, 3 seconds passed +... 27%, 190720 KB, 48540 KB/s, 3 seconds passed +... 27%, 190752 KB, 48544 KB/s, 3 seconds passed +... 27%, 190784 KB, 48547 KB/s, 3 seconds passed +... 27%, 190816 KB, 48551 KB/s, 3 seconds passed +... 27%, 190848 KB, 48556 KB/s, 3 seconds passed +... 27%, 190880 KB, 48561 KB/s, 3 seconds passed +... 27%, 190912 KB, 48566 KB/s, 3 seconds passed +... 27%, 190944 KB, 48571 KB/s, 3 seconds passed +... 27%, 190976 KB, 48576 KB/s, 3 seconds passed +... 27%, 191008 KB, 48582 KB/s, 3 seconds passed +... 27%, 191040 KB, 48587 KB/s, 3 seconds passed +... 27%, 191072 KB, 48592 KB/s, 3 seconds passed +... 27%, 191104 KB, 48597 KB/s, 3 seconds passed +... 27%, 191136 KB, 48602 KB/s, 3 seconds passed +... 27%, 191168 KB, 48607 KB/s, 3 seconds passed +... 27%, 191200 KB, 48612 KB/s, 3 seconds passed +... 27%, 191232 KB, 48618 KB/s, 3 seconds passed +... 27%, 191264 KB, 48623 KB/s, 3 seconds passed +... 27%, 191296 KB, 48628 KB/s, 3 seconds passed +... 27%, 191328 KB, 48633 KB/s, 3 seconds passed +... 27%, 191360 KB, 48638 KB/s, 3 seconds passed +... 27%, 191392 KB, 48643 KB/s, 3 seconds passed +... 27%, 191424 KB, 48648 KB/s, 3 seconds passed +... 27%, 191456 KB, 48653 KB/s, 3 seconds passed +... 27%, 191488 KB, 48658 KB/s, 3 seconds passed +... 27%, 191520 KB, 48663 KB/s, 3 seconds passed +... 27%, 191552 KB, 48668 KB/s, 3 seconds passed +... 27%, 191584 KB, 48673 KB/s, 3 seconds passed +... 27%, 191616 KB, 48679 KB/s, 3 seconds passed +... 27%, 191648 KB, 48684 KB/s, 3 seconds passed +... 27%, 191680 KB, 48689 KB/s, 3 seconds passed +... 27%, 191712 KB, 48694 KB/s, 3 seconds passed +... 27%, 191744 KB, 48699 KB/s, 3 seconds passed +... 27%, 191776 KB, 48704 KB/s, 3 seconds passed +... 27%, 191808 KB, 48709 KB/s, 3 seconds passed +... 27%, 191840 KB, 48714 KB/s, 3 seconds passed +... 27%, 191872 KB, 48719 KB/s, 3 seconds passed +... 27%, 191904 KB, 48724 KB/s, 3 seconds passed +... 27%, 191936 KB, 48730 KB/s, 3 seconds passed +... 27%, 191968 KB, 48735 KB/s, 3 seconds passed +... 27%, 192000 KB, 48740 KB/s, 3 seconds passed +... 27%, 192032 KB, 48745 KB/s, 3 seconds passed +... 27%, 192064 KB, 48750 KB/s, 3 seconds passed +... 27%, 192096 KB, 48755 KB/s, 3 seconds passed +... 27%, 192128 KB, 48760 KB/s, 3 seconds passed +... 27%, 192160 KB, 48766 KB/s, 3 seconds passed +... 27%, 192192 KB, 48772 KB/s, 3 seconds passed +... 27%, 192224 KB, 48778 KB/s, 3 seconds passed +... 27%, 192256 KB, 48784 KB/s, 3 seconds passed +... 27%, 192288 KB, 48790 KB/s, 3 seconds passed +... 27%, 192320 KB, 48796 KB/s, 3 seconds passed +... 27%, 192352 KB, 48802 KB/s, 3 seconds passed +... 27%, 192384 KB, 48808 KB/s, 3 seconds passed +... 27%, 192416 KB, 48814 KB/s, 3 seconds passed +... 27%, 192448 KB, 48820 KB/s, 3 seconds passed +... 27%, 192480 KB, 48826 KB/s, 3 seconds passed +... 27%, 192512 KB, 48832 KB/s, 3 seconds passed +... 27%, 192544 KB, 48838 KB/s, 3 seconds passed +... 27%, 192576 KB, 48844 KB/s, 3 seconds passed +... 27%, 192608 KB, 48850 KB/s, 3 seconds passed +... 27%, 192640 KB, 48856 KB/s, 3 seconds passed +... 27%, 192672 KB, 48862 KB/s, 3 seconds passed +... 27%, 192704 KB, 48868 KB/s, 3 seconds passed +... 27%, 192736 KB, 48874 KB/s, 3 seconds passed +... 27%, 192768 KB, 48880 KB/s, 3 seconds passed +... 27%, 192800 KB, 48886 KB/s, 3 seconds passed +... 27%, 192832 KB, 48892 KB/s, 3 seconds passed +... 27%, 192864 KB, 48898 KB/s, 3 seconds passed +... 27%, 192896 KB, 48905 KB/s, 3 seconds passed +... 27%, 192928 KB, 48911 KB/s, 3 seconds passed +... 27%, 192960 KB, 48916 KB/s, 3 seconds passed +... 27%, 192992 KB, 48920 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 27%, 193024 KB, 48925 KB/s, 3 seconds passed +... 27%, 193056 KB, 48930 KB/s, 3 seconds passed +... 27%, 193088 KB, 48934 KB/s, 3 seconds passed +... 27%, 193120 KB, 48939 KB/s, 3 seconds passed +... 27%, 193152 KB, 48944 KB/s, 3 seconds passed +... 27%, 193184 KB, 48948 KB/s, 3 seconds passed +... 27%, 193216 KB, 48953 KB/s, 3 seconds passed +... 27%, 193248 KB, 48957 KB/s, 3 seconds passed +... 27%, 193280 KB, 48962 KB/s, 3 seconds passed +... 27%, 193312 KB, 48919 KB/s, 3 seconds passed +... 27%, 193344 KB, 48922 KB/s, 3 seconds passed +... 27%, 193376 KB, 48926 KB/s, 3 seconds passed +... 27%, 193408 KB, 48930 KB/s, 3 seconds passed +... 27%, 193440 KB, 48933 KB/s, 3 seconds passed +... 27%, 193472 KB, 48937 KB/s, 3 seconds passed +... 27%, 193504 KB, 48941 KB/s, 3 seconds passed +... 27%, 193536 KB, 48945 KB/s, 3 seconds passed +... 27%, 193568 KB, 48949 KB/s, 3 seconds passed +... 27%, 193600 KB, 48952 KB/s, 3 seconds passed +... 27%, 193632 KB, 48956 KB/s, 3 seconds passed +... 27%, 193664 KB, 48960 KB/s, 3 seconds passed +... 27%, 193696 KB, 48963 KB/s, 3 seconds passed +... 27%, 193728 KB, 48967 KB/s, 3 seconds passed +... 27%, 193760 KB, 48971 KB/s, 3 seconds passed +... 27%, 193792 KB, 48975 KB/s, 3 seconds passed +... 27%, 193824 KB, 48979 KB/s, 3 seconds passed +... 27%, 193856 KB, 48983 KB/s, 3 seconds passed +... 27%, 193888 KB, 48987 KB/s, 3 seconds passed +... 27%, 193920 KB, 48990 KB/s, 3 seconds passed +... 27%, 193952 KB, 48994 KB/s, 3 seconds passed +... 27%, 193984 KB, 48998 KB/s, 3 seconds passed +... 27%, 194016 KB, 49001 KB/s, 3 seconds passed +... 27%, 194048 KB, 49005 KB/s, 3 seconds passed +... 27%, 194080 KB, 49009 KB/s, 3 seconds passed +... 27%, 194112 KB, 49012 KB/s, 3 seconds passed +... 27%, 194144 KB, 49016 KB/s, 3 seconds passed +... 27%, 194176 KB, 49021 KB/s, 3 seconds passed +... 27%, 194208 KB, 49026 KB/s, 3 seconds passed +... 27%, 194240 KB, 49031 KB/s, 3 seconds passed +... 27%, 194272 KB, 49035 KB/s, 3 seconds passed +... 27%, 194304 KB, 49040 KB/s, 3 seconds passed +... 27%, 194336 KB, 49045 KB/s, 3 seconds passed +... 27%, 194368 KB, 49050 KB/s, 3 seconds passed +... 27%, 194400 KB, 49056 KB/s, 3 seconds passed +... 27%, 194432 KB, 49061 KB/s, 3 seconds passed +... 27%, 194464 KB, 49066 KB/s, 3 seconds passed +... 27%, 194496 KB, 49072 KB/s, 3 seconds passed +... 27%, 194528 KB, 49077 KB/s, 3 seconds passed + +.. parsed-literal:: + + ... 27%, 194560 KB, 48533 KB/s, 4 seconds passed +... 27%, 194592 KB, 48534 KB/s, 4 seconds passed +... 27%, 194624 KB, 48536 KB/s, 4 seconds passed +... 27%, 194656 KB, 48539 KB/s, 4 seconds passed +... 27%, 194688 KB, 48542 KB/s, 4 seconds passed +... 27%, 194720 KB, 48545 KB/s, 4 seconds passed +... 28%, 194752 KB, 48549 KB/s, 4 seconds passed +... 28%, 194784 KB, 48553 KB/s, 4 seconds passed +... 28%, 194816 KB, 48556 KB/s, 4 seconds passed +... 28%, 194848 KB, 48560 KB/s, 4 seconds passed +... 28%, 194880 KB, 48563 KB/s, 4 seconds passed +... 28%, 194912 KB, 48566 KB/s, 4 seconds passed +... 28%, 194944 KB, 48569 KB/s, 4 seconds passed +... 28%, 194976 KB, 48573 KB/s, 4 seconds passed +... 28%, 195008 KB, 48576 KB/s, 4 seconds passed +... 28%, 195040 KB, 48579 KB/s, 4 seconds passed +... 28%, 195072 KB, 48582 KB/s, 4 seconds passed +... 28%, 195104 KB, 48585 KB/s, 4 seconds passed +... 28%, 195136 KB, 48588 KB/s, 4 seconds passed +... 28%, 195168 KB, 48591 KB/s, 4 seconds passed +... 28%, 195200 KB, 48595 KB/s, 4 seconds passed +... 28%, 195232 KB, 48598 KB/s, 4 seconds passed +... 28%, 195264 KB, 48602 KB/s, 4 seconds passed +... 28%, 195296 KB, 48605 KB/s, 4 seconds passed +... 28%, 195328 KB, 48608 KB/s, 4 seconds passed +... 28%, 195360 KB, 48611 KB/s, 4 seconds passed +... 28%, 195392 KB, 48614 KB/s, 4 seconds passed +... 28%, 195424 KB, 48618 KB/s, 4 seconds passed +... 28%, 195456 KB, 48621 KB/s, 4 seconds passed +... 28%, 195488 KB, 48624 KB/s, 4 seconds passed +... 28%, 195520 KB, 48627 KB/s, 4 seconds passed +... 28%, 195552 KB, 48631 KB/s, 4 seconds passed +... 28%, 195584 KB, 48635 KB/s, 4 seconds passed +... 28%, 195616 KB, 48640 KB/s, 4 seconds passed +... 28%, 195648 KB, 48645 KB/s, 4 seconds passed +... 28%, 195680 KB, 48650 KB/s, 4 seconds passed +... 28%, 195712 KB, 48655 KB/s, 4 seconds passed +... 28%, 195744 KB, 48660 KB/s, 4 seconds passed +... 28%, 195776 KB, 48664 KB/s, 4 seconds passed +... 28%, 195808 KB, 48669 KB/s, 4 seconds passed +... 28%, 195840 KB, 48674 KB/s, 4 seconds passed +... 28%, 195872 KB, 48679 KB/s, 4 seconds passed +... 28%, 195904 KB, 48684 KB/s, 4 seconds passed +... 28%, 195936 KB, 48689 KB/s, 4 seconds passed +... 28%, 195968 KB, 48694 KB/s, 4 seconds passed +... 28%, 196000 KB, 48699 KB/s, 4 seconds passed +... 28%, 196032 KB, 48704 KB/s, 4 seconds passed +... 28%, 196064 KB, 48709 KB/s, 4 seconds passed +... 28%, 196096 KB, 48714 KB/s, 4 seconds passed +... 28%, 196128 KB, 48718 KB/s, 4 seconds passed +... 28%, 196160 KB, 48723 KB/s, 4 seconds passed +... 28%, 196192 KB, 48728 KB/s, 4 seconds passed +... 28%, 196224 KB, 48733 KB/s, 4 seconds passed +... 28%, 196256 KB, 48738 KB/s, 4 seconds passed +... 28%, 196288 KB, 48743 KB/s, 4 seconds passed +... 28%, 196320 KB, 48748 KB/s, 4 seconds passed +... 28%, 196352 KB, 48753 KB/s, 4 seconds passed +... 28%, 196384 KB, 48758 KB/s, 4 seconds passed +... 28%, 196416 KB, 48763 KB/s, 4 seconds passed +... 28%, 196448 KB, 48768 KB/s, 4 seconds passed +... 28%, 196480 KB, 48773 KB/s, 4 seconds passed +... 28%, 196512 KB, 48778 KB/s, 4 seconds passed +... 28%, 196544 KB, 48783 KB/s, 4 seconds passed +... 28%, 196576 KB, 48788 KB/s, 4 seconds passed +... 28%, 196608 KB, 48793 KB/s, 4 seconds passed +... 28%, 196640 KB, 48798 KB/s, 4 seconds passed +... 28%, 196672 KB, 48803 KB/s, 4 seconds passed +... 28%, 196704 KB, 48808 KB/s, 4 seconds passed +... 28%, 196736 KB, 48813 KB/s, 4 seconds passed +... 28%, 196768 KB, 48818 KB/s, 4 seconds passed +... 28%, 196800 KB, 48823 KB/s, 4 seconds passed +... 28%, 196832 KB, 48828 KB/s, 4 seconds passed +... 28%, 196864 KB, 48833 KB/s, 4 seconds passed +... 28%, 196896 KB, 48839 KB/s, 4 seconds passed +... 28%, 196928 KB, 48845 KB/s, 4 seconds passed +... 28%, 196960 KB, 48851 KB/s, 4 seconds passed +... 28%, 196992 KB, 48857 KB/s, 4 seconds passed +... 28%, 197024 KB, 48862 KB/s, 4 seconds passed +... 28%, 197056 KB, 48868 KB/s, 4 seconds passed +... 28%, 197088 KB, 48874 KB/s, 4 seconds passed +... 28%, 197120 KB, 48880 KB/s, 4 seconds passed +... 28%, 197152 KB, 48885 KB/s, 4 seconds passed +... 28%, 197184 KB, 48892 KB/s, 4 seconds passed +... 28%, 197216 KB, 48897 KB/s, 4 seconds passed +... 28%, 197248 KB, 48903 KB/s, 4 seconds passed +... 28%, 197280 KB, 48909 KB/s, 4 seconds passed +... 28%, 197312 KB, 48915 KB/s, 4 seconds passed +... 28%, 197344 KB, 48921 KB/s, 4 seconds passed +... 28%, 197376 KB, 48927 KB/s, 4 seconds passed +... 28%, 197408 KB, 48933 KB/s, 4 seconds passed +... 28%, 197440 KB, 48937 KB/s, 4 seconds passed +... 28%, 197472 KB, 48940 KB/s, 4 seconds passed +... 28%, 197504 KB, 48943 KB/s, 4 seconds passed +... 28%, 197536 KB, 48946 KB/s, 4 seconds passed +... 28%, 197568 KB, 48952 KB/s, 4 seconds passed +... 28%, 197600 KB, 48958 KB/s, 4 seconds passed +... 28%, 197632 KB, 48964 KB/s, 4 seconds passed +... 28%, 197664 KB, 48970 KB/s, 4 seconds passed +... 28%, 197696 KB, 48974 KB/s, 4 seconds passed +... 28%, 197728 KB, 48978 KB/s, 4 seconds passed +... 28%, 197760 KB, 48984 KB/s, 4 seconds passed +... 28%, 197792 KB, 48988 KB/s, 4 seconds passed +... 28%, 197824 KB, 48993 KB/s, 4 seconds passed +... 28%, 197856 KB, 48997 KB/s, 4 seconds passed +... 28%, 197888 KB, 49002 KB/s, 4 seconds passed +... 28%, 197920 KB, 49006 KB/s, 4 seconds passed +... 28%, 197952 KB, 49010 KB/s, 4 seconds passed +... 28%, 197984 KB, 49016 KB/s, 4 seconds passed +... 28%, 198016 KB, 49019 KB/s, 4 seconds passed +... 28%, 198048 KB, 49023 KB/s, 4 seconds passed +... 28%, 198080 KB, 49028 KB/s, 4 seconds passed +... 28%, 198112 KB, 49033 KB/s, 4 seconds passed +... 28%, 198144 KB, 49039 KB/s, 4 seconds passed +... 28%, 198176 KB, 49042 KB/s, 4 seconds passed +... 28%, 198208 KB, 49046 KB/s, 4 seconds passed +... 28%, 198240 KB, 49051 KB/s, 4 seconds passed +... 28%, 198272 KB, 49056 KB/s, 4 seconds passed +... 28%, 198304 KB, 49060 KB/s, 4 seconds passed +... 28%, 198336 KB, 49065 KB/s, 4 seconds passed +... 28%, 198368 KB, 49070 KB/s, 4 seconds passed +... 28%, 198400 KB, 49074 KB/s, 4 seconds passed +... 28%, 198432 KB, 49079 KB/s, 4 seconds passed +... 28%, 198464 KB, 49082 KB/s, 4 seconds passed +... 28%, 198496 KB, 49088 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 28%, 198528 KB, 49038 KB/s, 4 seconds passed +... 28%, 198560 KB, 49041 KB/s, 4 seconds passed +... 28%, 198592 KB, 49047 KB/s, 4 seconds passed +... 28%, 198624 KB, 49052 KB/s, 4 seconds passed +... 28%, 198656 KB, 49057 KB/s, 4 seconds passed +... 28%, 198688 KB, 49061 KB/s, 4 seconds passed +... 28%, 198720 KB, 49065 KB/s, 4 seconds passed +... 28%, 198752 KB, 49070 KB/s, 4 seconds passed +... 28%, 198784 KB, 49074 KB/s, 4 seconds passed +... 28%, 198816 KB, 49078 KB/s, 4 seconds passed +... 28%, 198848 KB, 49082 KB/s, 4 seconds passed +... 28%, 198880 KB, 49087 KB/s, 4 seconds passed +... 28%, 198912 KB, 49091 KB/s, 4 seconds passed +... 28%, 198944 KB, 49096 KB/s, 4 seconds passed +... 28%, 198976 KB, 49101 KB/s, 4 seconds passed +... 28%, 199008 KB, 49105 KB/s, 4 seconds passed +... 28%, 199040 KB, 49110 KB/s, 4 seconds passed +... 28%, 199072 KB, 49114 KB/s, 4 seconds passed +... 28%, 199104 KB, 49119 KB/s, 4 seconds passed +... 28%, 199136 KB, 49123 KB/s, 4 seconds passed +... 28%, 199168 KB, 49128 KB/s, 4 seconds passed +... 28%, 199200 KB, 49132 KB/s, 4 seconds passed +... 28%, 199232 KB, 49136 KB/s, 4 seconds passed +... 28%, 199264 KB, 49141 KB/s, 4 seconds passed +... 28%, 199296 KB, 49145 KB/s, 4 seconds passed +... 28%, 199328 KB, 49150 KB/s, 4 seconds passed +... 28%, 199360 KB, 49154 KB/s, 4 seconds passed +... 28%, 199392 KB, 49159 KB/s, 4 seconds passed +... 28%, 199424 KB, 49164 KB/s, 4 seconds passed +... 28%, 199456 KB, 49168 KB/s, 4 seconds passed +... 28%, 199488 KB, 49172 KB/s, 4 seconds passed +... 28%, 199520 KB, 49177 KB/s, 4 seconds passed +... 28%, 199552 KB, 49181 KB/s, 4 seconds passed +... 28%, 199584 KB, 49186 KB/s, 4 seconds passed +... 28%, 199616 KB, 49191 KB/s, 4 seconds passed +... 28%, 199648 KB, 49195 KB/s, 4 seconds passed +... 28%, 199680 KB, 48837 KB/s, 4 seconds passed +... 28%, 199712 KB, 48838 KB/s, 4 seconds passed +... 28%, 199744 KB, 48841 KB/s, 4 seconds passed +... 28%, 199776 KB, 48844 KB/s, 4 seconds passed +... 28%, 199808 KB, 48847 KB/s, 4 seconds passed +... 28%, 199840 KB, 48849 KB/s, 4 seconds passed +... 28%, 199872 KB, 48851 KB/s, 4 seconds passed +... 28%, 199904 KB, 48854 KB/s, 4 seconds passed +... 28%, 199936 KB, 48858 KB/s, 4 seconds passed +... 28%, 199968 KB, 48861 KB/s, 4 seconds passed +... 28%, 200000 KB, 48864 KB/s, 4 seconds passed +... 28%, 200032 KB, 48867 KB/s, 4 seconds passed +... 28%, 200064 KB, 48869 KB/s, 4 seconds passed +... 28%, 200096 KB, 48873 KB/s, 4 seconds passed +... 28%, 200128 KB, 48876 KB/s, 4 seconds passed +... 28%, 200160 KB, 48879 KB/s, 4 seconds passed +... 28%, 200192 KB, 48882 KB/s, 4 seconds passed +... 28%, 200224 KB, 48886 KB/s, 4 seconds passed +... 28%, 200256 KB, 48889 KB/s, 4 seconds passed +... 28%, 200288 KB, 48892 KB/s, 4 seconds passed +... 28%, 200320 KB, 48895 KB/s, 4 seconds passed +... 28%, 200352 KB, 48898 KB/s, 4 seconds passed +... 28%, 200384 KB, 48901 KB/s, 4 seconds passed +... 28%, 200416 KB, 48904 KB/s, 4 seconds passed +... 28%, 200448 KB, 48908 KB/s, 4 seconds passed +... 28%, 200480 KB, 48911 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 28%, 200512 KB, 48913 KB/s, 4 seconds passed +... 28%, 200544 KB, 48916 KB/s, 4 seconds passed +... 28%, 200576 KB, 48919 KB/s, 4 seconds passed +... 28%, 200608 KB, 48922 KB/s, 4 seconds passed +... 28%, 200640 KB, 48925 KB/s, 4 seconds passed +... 28%, 200672 KB, 48929 KB/s, 4 seconds passed +... 28%, 200704 KB, 48932 KB/s, 4 seconds passed +... 28%, 200736 KB, 48936 KB/s, 4 seconds passed +... 28%, 200768 KB, 48940 KB/s, 4 seconds passed +... 28%, 200800 KB, 48945 KB/s, 4 seconds passed +... 28%, 200832 KB, 48950 KB/s, 4 seconds passed +... 28%, 200864 KB, 48955 KB/s, 4 seconds passed +... 28%, 200896 KB, 48960 KB/s, 4 seconds passed +... 28%, 200928 KB, 48965 KB/s, 4 seconds passed +... 28%, 200960 KB, 48969 KB/s, 4 seconds passed +... 28%, 200992 KB, 48974 KB/s, 4 seconds passed +... 28%, 201024 KB, 48979 KB/s, 4 seconds passed +... 28%, 201056 KB, 48984 KB/s, 4 seconds passed +... 28%, 201088 KB, 48988 KB/s, 4 seconds passed +... 28%, 201120 KB, 48993 KB/s, 4 seconds passed +... 28%, 201152 KB, 48998 KB/s, 4 seconds passed +... 28%, 201184 KB, 49003 KB/s, 4 seconds passed +... 28%, 201216 KB, 49008 KB/s, 4 seconds passed +... 28%, 201248 KB, 49013 KB/s, 4 seconds passed +... 28%, 201280 KB, 49017 KB/s, 4 seconds passed +... 28%, 201312 KB, 49022 KB/s, 4 seconds passed +... 28%, 201344 KB, 49027 KB/s, 4 seconds passed +... 28%, 201376 KB, 49031 KB/s, 4 seconds passed +... 28%, 201408 KB, 49036 KB/s, 4 seconds passed +... 28%, 201440 KB, 49041 KB/s, 4 seconds passed +... 28%, 201472 KB, 49046 KB/s, 4 seconds passed +... 28%, 201504 KB, 49050 KB/s, 4 seconds passed +... 28%, 201536 KB, 49055 KB/s, 4 seconds passed +... 28%, 201568 KB, 49060 KB/s, 4 seconds passed +... 28%, 201600 KB, 49065 KB/s, 4 seconds passed +... 28%, 201632 KB, 49070 KB/s, 4 seconds passed +... 28%, 201664 KB, 49074 KB/s, 4 seconds passed +... 28%, 201696 KB, 49079 KB/s, 4 seconds passed +... 29%, 201728 KB, 49084 KB/s, 4 seconds passed +... 29%, 201760 KB, 49089 KB/s, 4 seconds passed +... 29%, 201792 KB, 49093 KB/s, 4 seconds passed +... 29%, 201824 KB, 49098 KB/s, 4 seconds passed +... 29%, 201856 KB, 49103 KB/s, 4 seconds passed +... 29%, 201888 KB, 49107 KB/s, 4 seconds passed +... 29%, 201920 KB, 49112 KB/s, 4 seconds passed +... 29%, 201952 KB, 49117 KB/s, 4 seconds passed +... 29%, 201984 KB, 49122 KB/s, 4 seconds passed +... 29%, 202016 KB, 49128 KB/s, 4 seconds passed +... 29%, 202048 KB, 49133 KB/s, 4 seconds passed +... 29%, 202080 KB, 49139 KB/s, 4 seconds passed +... 29%, 202112 KB, 49145 KB/s, 4 seconds passed +... 29%, 202144 KB, 49151 KB/s, 4 seconds passed +... 29%, 202176 KB, 49156 KB/s, 4 seconds passed +... 29%, 202208 KB, 49162 KB/s, 4 seconds passed +... 29%, 202240 KB, 49168 KB/s, 4 seconds passed +... 29%, 202272 KB, 49174 KB/s, 4 seconds passed +... 29%, 202304 KB, 49180 KB/s, 4 seconds passed +... 29%, 202336 KB, 49185 KB/s, 4 seconds passed +... 29%, 202368 KB, 49191 KB/s, 4 seconds passed +... 29%, 202400 KB, 49197 KB/s, 4 seconds passed +... 29%, 202432 KB, 49203 KB/s, 4 seconds passed +... 29%, 202464 KB, 49208 KB/s, 4 seconds passed +... 29%, 202496 KB, 49214 KB/s, 4 seconds passed +... 29%, 202528 KB, 49220 KB/s, 4 seconds passed +... 29%, 202560 KB, 49225 KB/s, 4 seconds passed +... 29%, 202592 KB, 49231 KB/s, 4 seconds passed +... 29%, 202624 KB, 49236 KB/s, 4 seconds passed +... 29%, 202656 KB, 49242 KB/s, 4 seconds passed +... 29%, 202688 KB, 49248 KB/s, 4 seconds passed +... 29%, 202720 KB, 49254 KB/s, 4 seconds passed +... 29%, 202752 KB, 49259 KB/s, 4 seconds passed +... 29%, 202784 KB, 49265 KB/s, 4 seconds passed +... 29%, 202816 KB, 49271 KB/s, 4 seconds passed +... 29%, 202848 KB, 49276 KB/s, 4 seconds passed +... 29%, 202880 KB, 49282 KB/s, 4 seconds passed +... 29%, 202912 KB, 49288 KB/s, 4 seconds passed +... 29%, 202944 KB, 49293 KB/s, 4 seconds passed +... 29%, 202976 KB, 49297 KB/s, 4 seconds passed +... 29%, 203008 KB, 49300 KB/s, 4 seconds passed +... 29%, 203040 KB, 49303 KB/s, 4 seconds passed +... 29%, 203072 KB, 49306 KB/s, 4 seconds passed +... 29%, 203104 KB, 49311 KB/s, 4 seconds passed +... 29%, 203136 KB, 49316 KB/s, 4 seconds passed +... 29%, 203168 KB, 49321 KB/s, 4 seconds passed +... 29%, 203200 KB, 49327 KB/s, 4 seconds passed +... 29%, 203232 KB, 49333 KB/s, 4 seconds passed +... 29%, 203264 KB, 49337 KB/s, 4 seconds passed +... 29%, 203296 KB, 49339 KB/s, 4 seconds passed +... 29%, 203328 KB, 49345 KB/s, 4 seconds passed +... 29%, 203360 KB, 49351 KB/s, 4 seconds passed +... 29%, 203392 KB, 49356 KB/s, 4 seconds passed +... 29%, 203424 KB, 49360 KB/s, 4 seconds passed +... 29%, 203456 KB, 49364 KB/s, 4 seconds passed +... 29%, 203488 KB, 49368 KB/s, 4 seconds passed +... 29%, 203520 KB, 49373 KB/s, 4 seconds passed +... 29%, 203552 KB, 49378 KB/s, 4 seconds passed +... 29%, 203584 KB, 49352 KB/s, 4 seconds passed +... 29%, 203616 KB, 49346 KB/s, 4 seconds passed +... 29%, 203648 KB, 49350 KB/s, 4 seconds passed +... 29%, 203680 KB, 49355 KB/s, 4 seconds passed +... 29%, 203712 KB, 49360 KB/s, 4 seconds passed +... 29%, 203744 KB, 49364 KB/s, 4 seconds passed +... 29%, 203776 KB, 49368 KB/s, 4 seconds passed +... 29%, 203808 KB, 49373 KB/s, 4 seconds passed +... 29%, 203840 KB, 49377 KB/s, 4 seconds passed +... 29%, 203872 KB, 49383 KB/s, 4 seconds passed +... 29%, 203904 KB, 49385 KB/s, 4 seconds passed +... 29%, 203936 KB, 49388 KB/s, 4 seconds passed +... 29%, 203968 KB, 49392 KB/s, 4 seconds passed +... 29%, 204000 KB, 49398 KB/s, 4 seconds passed +... 29%, 204032 KB, 49403 KB/s, 4 seconds passed +... 29%, 204064 KB, 49408 KB/s, 4 seconds passed +... 29%, 204096 KB, 49414 KB/s, 4 seconds passed +... 29%, 204128 KB, 49416 KB/s, 4 seconds passed +... 29%, 204160 KB, 49418 KB/s, 4 seconds passed +... 29%, 204192 KB, 49424 KB/s, 4 seconds passed +... 29%, 204224 KB, 49431 KB/s, 4 seconds passed +... 29%, 204256 KB, 49434 KB/s, 4 seconds passed +... 29%, 204288 KB, 49436 KB/s, 4 seconds passed +... 29%, 204320 KB, 49442 KB/s, 4 seconds passed +... 29%, 204352 KB, 49448 KB/s, 4 seconds passed +... 29%, 204384 KB, 49453 KB/s, 4 seconds passed +... 29%, 204416 KB, 49455 KB/s, 4 seconds passed +... 29%, 204448 KB, 49458 KB/s, 4 seconds passed +... 29%, 204480 KB, 49464 KB/s, 4 seconds passed +... 29%, 204512 KB, 49469 KB/s, 4 seconds passed +... 29%, 204544 KB, 49475 KB/s, 4 seconds passed +... 29%, 204576 KB, 49480 KB/s, 4 seconds passed +... 29%, 204608 KB, 49484 KB/s, 4 seconds passed +... 29%, 204640 KB, 49487 KB/s, 4 seconds passed +... 29%, 204672 KB, 49491 KB/s, 4 seconds passed +... 29%, 204704 KB, 49494 KB/s, 4 seconds passed +... 29%, 204736 KB, 49498 KB/s, 4 seconds passed +... 29%, 204768 KB, 49504 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 29%, 204800 KB, 49345 KB/s, 4 seconds passed +... 29%, 204832 KB, 49348 KB/s, 4 seconds passed +... 29%, 204864 KB, 49351 KB/s, 4 seconds passed +... 29%, 204896 KB, 49353 KB/s, 4 seconds passed +... 29%, 204928 KB, 49357 KB/s, 4 seconds passed +... 29%, 204960 KB, 49360 KB/s, 4 seconds passed +... 29%, 204992 KB, 49363 KB/s, 4 seconds passed +... 29%, 205024 KB, 49366 KB/s, 4 seconds passed +... 29%, 205056 KB, 49370 KB/s, 4 seconds passed +... 29%, 205088 KB, 49373 KB/s, 4 seconds passed +... 29%, 205120 KB, 49377 KB/s, 4 seconds passed +... 29%, 205152 KB, 49380 KB/s, 4 seconds passed +... 29%, 205184 KB, 49383 KB/s, 4 seconds passed +... 29%, 205216 KB, 49386 KB/s, 4 seconds passed +... 29%, 205248 KB, 49389 KB/s, 4 seconds passed +... 29%, 205280 KB, 49393 KB/s, 4 seconds passed +... 29%, 205312 KB, 49396 KB/s, 4 seconds passed +... 29%, 205344 KB, 49399 KB/s, 4 seconds passed +... 29%, 205376 KB, 49403 KB/s, 4 seconds passed +... 29%, 205408 KB, 49406 KB/s, 4 seconds passed +... 29%, 205440 KB, 49409 KB/s, 4 seconds passed +... 29%, 205472 KB, 49412 KB/s, 4 seconds passed +... 29%, 205504 KB, 49416 KB/s, 4 seconds passed +... 29%, 205536 KB, 49419 KB/s, 4 seconds passed +... 29%, 205568 KB, 49422 KB/s, 4 seconds passed +... 29%, 205600 KB, 49425 KB/s, 4 seconds passed +... 29%, 205632 KB, 49428 KB/s, 4 seconds passed +... 29%, 205664 KB, 49431 KB/s, 4 seconds passed +... 29%, 205696 KB, 49434 KB/s, 4 seconds passed +... 29%, 205728 KB, 49437 KB/s, 4 seconds passed +... 29%, 205760 KB, 49440 KB/s, 4 seconds passed +... 29%, 205792 KB, 49444 KB/s, 4 seconds passed +... 29%, 205824 KB, 49446 KB/s, 4 seconds passed +... 29%, 205856 KB, 49450 KB/s, 4 seconds passed +... 29%, 205888 KB, 49455 KB/s, 4 seconds passed +... 29%, 205920 KB, 49460 KB/s, 4 seconds passed +... 29%, 205952 KB, 49464 KB/s, 4 seconds passed +... 29%, 205984 KB, 49469 KB/s, 4 seconds passed +... 29%, 206016 KB, 49474 KB/s, 4 seconds passed +... 29%, 206048 KB, 49479 KB/s, 4 seconds passed +... 29%, 206080 KB, 49483 KB/s, 4 seconds passed +... 29%, 206112 KB, 49488 KB/s, 4 seconds passed +... 29%, 206144 KB, 49493 KB/s, 4 seconds passed +... 29%, 206176 KB, 49498 KB/s, 4 seconds passed +... 29%, 206208 KB, 49503 KB/s, 4 seconds passed +... 29%, 206240 KB, 49507 KB/s, 4 seconds passed +... 29%, 206272 KB, 49512 KB/s, 4 seconds passed +... 29%, 206304 KB, 49517 KB/s, 4 seconds passed +... 29%, 206336 KB, 49522 KB/s, 4 seconds passed +... 29%, 206368 KB, 49527 KB/s, 4 seconds passed +... 29%, 206400 KB, 49532 KB/s, 4 seconds passed +... 29%, 206432 KB, 49536 KB/s, 4 seconds passed +... 29%, 206464 KB, 49541 KB/s, 4 seconds passed +... 29%, 206496 KB, 49546 KB/s, 4 seconds passed +... 29%, 206528 KB, 49550 KB/s, 4 seconds passed +... 29%, 206560 KB, 49555 KB/s, 4 seconds passed +... 29%, 206592 KB, 49560 KB/s, 4 seconds passed +... 29%, 206624 KB, 49565 KB/s, 4 seconds passed +... 29%, 206656 KB, 49570 KB/s, 4 seconds passed +... 29%, 206688 KB, 49575 KB/s, 4 seconds passed +... 29%, 206720 KB, 49579 KB/s, 4 seconds passed +... 29%, 206752 KB, 49584 KB/s, 4 seconds passed +... 29%, 206784 KB, 49589 KB/s, 4 seconds passed +... 29%, 206816 KB, 49594 KB/s, 4 seconds passed +... 29%, 206848 KB, 49599 KB/s, 4 seconds passed +... 29%, 206880 KB, 49603 KB/s, 4 seconds passed +... 29%, 206912 KB, 49608 KB/s, 4 seconds passed +... 29%, 206944 KB, 49613 KB/s, 4 seconds passed +... 29%, 206976 KB, 49617 KB/s, 4 seconds passed +... 29%, 207008 KB, 49622 KB/s, 4 seconds passed +... 29%, 207040 KB, 49627 KB/s, 4 seconds passed +... 29%, 207072 KB, 49632 KB/s, 4 seconds passed +... 29%, 207104 KB, 49637 KB/s, 4 seconds passed +... 29%, 207136 KB, 49641 KB/s, 4 seconds passed +... 29%, 207168 KB, 49646 KB/s, 4 seconds passed +... 29%, 207200 KB, 49652 KB/s, 4 seconds passed +... 29%, 207232 KB, 49658 KB/s, 4 seconds passed +... 29%, 207264 KB, 49663 KB/s, 4 seconds passed +... 29%, 207296 KB, 49669 KB/s, 4 seconds passed +... 29%, 207328 KB, 49675 KB/s, 4 seconds passed +... 29%, 207360 KB, 49680 KB/s, 4 seconds passed +... 29%, 207392 KB, 49686 KB/s, 4 seconds passed +... 29%, 207424 KB, 49692 KB/s, 4 seconds passed +... 29%, 207456 KB, 49697 KB/s, 4 seconds passed +... 29%, 207488 KB, 49703 KB/s, 4 seconds passed +... 29%, 207520 KB, 49709 KB/s, 4 seconds passed +... 29%, 207552 KB, 49714 KB/s, 4 seconds passed +... 29%, 207584 KB, 49720 KB/s, 4 seconds passed +... 29%, 207616 KB, 49725 KB/s, 4 seconds passed +... 29%, 207648 KB, 49731 KB/s, 4 seconds passed +... 29%, 207680 KB, 49737 KB/s, 4 seconds passed +... 29%, 207712 KB, 49741 KB/s, 4 seconds passed +... 29%, 207744 KB, 49746 KB/s, 4 seconds passed +... 29%, 207776 KB, 49750 KB/s, 4 seconds passed +... 29%, 207808 KB, 49755 KB/s, 4 seconds passed +... 29%, 207840 KB, 49760 KB/s, 4 seconds passed +... 29%, 207872 KB, 49764 KB/s, 4 seconds passed +... 29%, 207904 KB, 49768 KB/s, 4 seconds passed +... 29%, 207936 KB, 49772 KB/s, 4 seconds passed +... 29%, 207968 KB, 49776 KB/s, 4 seconds passed +... 29%, 208000 KB, 49781 KB/s, 4 seconds passed +... 29%, 208032 KB, 49785 KB/s, 4 seconds passed +... 29%, 208064 KB, 49790 KB/s, 4 seconds passed +... 29%, 208096 KB, 49793 KB/s, 4 seconds passed +... 29%, 208128 KB, 49798 KB/s, 4 seconds passed +... 29%, 208160 KB, 49802 KB/s, 4 seconds passed +... 29%, 208192 KB, 49807 KB/s, 4 seconds passed +... 29%, 208224 KB, 49811 KB/s, 4 seconds passed +... 29%, 208256 KB, 49817 KB/s, 4 seconds passed +... 29%, 208288 KB, 49821 KB/s, 4 seconds passed +... 29%, 208320 KB, 49824 KB/s, 4 seconds passed +... 29%, 208352 KB, 49828 KB/s, 4 seconds passed +... 29%, 208384 KB, 49832 KB/s, 4 seconds passed +... 29%, 208416 KB, 49837 KB/s, 4 seconds passed +... 29%, 208448 KB, 49841 KB/s, 4 seconds passed +... 29%, 208480 KB, 49846 KB/s, 4 seconds passed +... 29%, 208512 KB, 49849 KB/s, 4 seconds passed +... 29%, 208544 KB, 49854 KB/s, 4 seconds passed +... 29%, 208576 KB, 49859 KB/s, 4 seconds passed +... 29%, 208608 KB, 49817 KB/s, 4 seconds passed +... 29%, 208640 KB, 49820 KB/s, 4 seconds passed +... 30%, 208672 KB, 49823 KB/s, 4 seconds passed +... 30%, 208704 KB, 49829 KB/s, 4 seconds passed +... 30%, 208736 KB, 49835 KB/s, 4 seconds passed +... 30%, 208768 KB, 49840 KB/s, 4 seconds passed +... 30%, 208800 KB, 49844 KB/s, 4 seconds passed +... 30%, 208832 KB, 49846 KB/s, 4 seconds passed +... 30%, 208864 KB, 49852 KB/s, 4 seconds passed +... 30%, 208896 KB, 49857 KB/s, 4 seconds passed +... 30%, 208928 KB, 49861 KB/s, 4 seconds passed +... 30%, 208960 KB, 49866 KB/s, 4 seconds passed +... 30%, 208992 KB, 49851 KB/s, 4 seconds passed +... 30%, 209024 KB, 49854 KB/s, 4 seconds passed +... 30%, 209056 KB, 49857 KB/s, 4 seconds passed +... 30%, 209088 KB, 49860 KB/s, 4 seconds passed +... 30%, 209120 KB, 49863 KB/s, 4 seconds passed +... 30%, 209152 KB, 49866 KB/s, 4 seconds passed +... 30%, 209184 KB, 49870 KB/s, 4 seconds passed +... 30%, 209216 KB, 49873 KB/s, 4 seconds passed +... 30%, 209248 KB, 49876 KB/s, 4 seconds passed +... 30%, 209280 KB, 49879 KB/s, 4 seconds passed +... 30%, 209312 KB, 49882 KB/s, 4 seconds passed +... 30%, 209344 KB, 49885 KB/s, 4 seconds passed +... 30%, 209376 KB, 49889 KB/s, 4 seconds passed +... 30%, 209408 KB, 49892 KB/s, 4 seconds passed +... 30%, 209440 KB, 49895 KB/s, 4 seconds passed +... 30%, 209472 KB, 49898 KB/s, 4 seconds passed +... 30%, 209504 KB, 49901 KB/s, 4 seconds passed +... 30%, 209536 KB, 49904 KB/s, 4 seconds passed +... 30%, 209568 KB, 49907 KB/s, 4 seconds passed +... 30%, 209600 KB, 49910 KB/s, 4 seconds passed +... 30%, 209632 KB, 49913 KB/s, 4 seconds passed +... 30%, 209664 KB, 49917 KB/s, 4 seconds passed +... 30%, 209696 KB, 49921 KB/s, 4 seconds passed +... 30%, 209728 KB, 49925 KB/s, 4 seconds passed +... 30%, 209760 KB, 49929 KB/s, 4 seconds passed +... 30%, 209792 KB, 49933 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 30%, 209824 KB, 49937 KB/s, 4 seconds passed +... 30%, 209856 KB, 49942 KB/s, 4 seconds passed +... 30%, 209888 KB, 49946 KB/s, 4 seconds passed +... 30%, 209920 KB, 49847 KB/s, 4 seconds passed +... 30%, 209952 KB, 49849 KB/s, 4 seconds passed +... 30%, 209984 KB, 49853 KB/s, 4 seconds passed +... 30%, 210016 KB, 49858 KB/s, 4 seconds passed +... 30%, 210048 KB, 49826 KB/s, 4 seconds passed +... 30%, 210080 KB, 49828 KB/s, 4 seconds passed +... 30%, 210112 KB, 49832 KB/s, 4 seconds passed +... 30%, 210144 KB, 49836 KB/s, 4 seconds passed +... 30%, 210176 KB, 49836 KB/s, 4 seconds passed +... 30%, 210208 KB, 49839 KB/s, 4 seconds passed +... 30%, 210240 KB, 49843 KB/s, 4 seconds passed +... 30%, 210272 KB, 49846 KB/s, 4 seconds passed +... 30%, 210304 KB, 49850 KB/s, 4 seconds passed +... 30%, 210336 KB, 49854 KB/s, 4 seconds passed +... 30%, 210368 KB, 49857 KB/s, 4 seconds passed +... 30%, 210400 KB, 49861 KB/s, 4 seconds passed +... 30%, 210432 KB, 49865 KB/s, 4 seconds passed +... 30%, 210464 KB, 49868 KB/s, 4 seconds passed +... 30%, 210496 KB, 49872 KB/s, 4 seconds passed +... 30%, 210528 KB, 49876 KB/s, 4 seconds passed +... 30%, 210560 KB, 49879 KB/s, 4 seconds passed +... 30%, 210592 KB, 49883 KB/s, 4 seconds passed +... 30%, 210624 KB, 49887 KB/s, 4 seconds passed +... 30%, 210656 KB, 49890 KB/s, 4 seconds passed +... 30%, 210688 KB, 49894 KB/s, 4 seconds passed +... 30%, 210720 KB, 49898 KB/s, 4 seconds passed +... 30%, 210752 KB, 49902 KB/s, 4 seconds passed +... 30%, 210784 KB, 49905 KB/s, 4 seconds passed +... 30%, 210816 KB, 49909 KB/s, 4 seconds passed +... 30%, 210848 KB, 49912 KB/s, 4 seconds passed +... 30%, 210880 KB, 49916 KB/s, 4 seconds passed +... 30%, 210912 KB, 49920 KB/s, 4 seconds passed +... 30%, 210944 KB, 49923 KB/s, 4 seconds passed +... 30%, 210976 KB, 49927 KB/s, 4 seconds passed +... 30%, 211008 KB, 49930 KB/s, 4 seconds passed +... 30%, 211040 KB, 49934 KB/s, 4 seconds passed +... 30%, 211072 KB, 49938 KB/s, 4 seconds passed +... 30%, 211104 KB, 49942 KB/s, 4 seconds passed +... 30%, 211136 KB, 49945 KB/s, 4 seconds passed +... 30%, 211168 KB, 49948 KB/s, 4 seconds passed +... 30%, 211200 KB, 49952 KB/s, 4 seconds passed +... 30%, 211232 KB, 49956 KB/s, 4 seconds passed +... 30%, 211264 KB, 49959 KB/s, 4 seconds passed +... 30%, 211296 KB, 49963 KB/s, 4 seconds passed +... 30%, 211328 KB, 49967 KB/s, 4 seconds passed +... 30%, 211360 KB, 49970 KB/s, 4 seconds passed +... 30%, 211392 KB, 49974 KB/s, 4 seconds passed +... 30%, 211424 KB, 49978 KB/s, 4 seconds passed +... 30%, 211456 KB, 49982 KB/s, 4 seconds passed +... 30%, 211488 KB, 49985 KB/s, 4 seconds passed +... 30%, 211520 KB, 49989 KB/s, 4 seconds passed +... 30%, 211552 KB, 49992 KB/s, 4 seconds passed +... 30%, 211584 KB, 49996 KB/s, 4 seconds passed +... 30%, 211616 KB, 50000 KB/s, 4 seconds passed +... 30%, 211648 KB, 50003 KB/s, 4 seconds passed +... 30%, 211680 KB, 50007 KB/s, 4 seconds passed +... 30%, 211712 KB, 50011 KB/s, 4 seconds passed +... 30%, 211744 KB, 50016 KB/s, 4 seconds passed +... 30%, 211776 KB, 50021 KB/s, 4 seconds passed +... 30%, 211808 KB, 50026 KB/s, 4 seconds passed +... 30%, 211840 KB, 50031 KB/s, 4 seconds passed +... 30%, 211872 KB, 50036 KB/s, 4 seconds passed +... 30%, 211904 KB, 50041 KB/s, 4 seconds passed +... 30%, 211936 KB, 50046 KB/s, 4 seconds passed +... 30%, 211968 KB, 50051 KB/s, 4 seconds passed +... 30%, 212000 KB, 50056 KB/s, 4 seconds passed +... 30%, 212032 KB, 50061 KB/s, 4 seconds passed +... 30%, 212064 KB, 50066 KB/s, 4 seconds passed +... 30%, 212096 KB, 50071 KB/s, 4 seconds passed +... 30%, 212128 KB, 50076 KB/s, 4 seconds passed +... 30%, 212160 KB, 50081 KB/s, 4 seconds passed +... 30%, 212192 KB, 50086 KB/s, 4 seconds passed +... 30%, 212224 KB, 50091 KB/s, 4 seconds passed +... 30%, 212256 KB, 50096 KB/s, 4 seconds passed +... 30%, 212288 KB, 50101 KB/s, 4 seconds passed +... 30%, 212320 KB, 50106 KB/s, 4 seconds passed +... 30%, 212352 KB, 50111 KB/s, 4 seconds passed +... 30%, 212384 KB, 50116 KB/s, 4 seconds passed +... 30%, 212416 KB, 50121 KB/s, 4 seconds passed +... 30%, 212448 KB, 50126 KB/s, 4 seconds passed +... 30%, 212480 KB, 50132 KB/s, 4 seconds passed +... 30%, 212512 KB, 50137 KB/s, 4 seconds passed +... 30%, 212544 KB, 50142 KB/s, 4 seconds passed +... 30%, 212576 KB, 50147 KB/s, 4 seconds passed +... 30%, 212608 KB, 50151 KB/s, 4 seconds passed +... 30%, 212640 KB, 50156 KB/s, 4 seconds passed +... 30%, 212672 KB, 50161 KB/s, 4 seconds passed +... 30%, 212704 KB, 50167 KB/s, 4 seconds passed +... 30%, 212736 KB, 50172 KB/s, 4 seconds passed +... 30%, 212768 KB, 50177 KB/s, 4 seconds passed +... 30%, 212800 KB, 50182 KB/s, 4 seconds passed +... 30%, 212832 KB, 50187 KB/s, 4 seconds passed +... 30%, 212864 KB, 50192 KB/s, 4 seconds passed +... 30%, 212896 KB, 50197 KB/s, 4 seconds passed +... 30%, 212928 KB, 50202 KB/s, 4 seconds passed +... 30%, 212960 KB, 50207 KB/s, 4 seconds passed +... 30%, 212992 KB, 50212 KB/s, 4 seconds passed +... 30%, 213024 KB, 50216 KB/s, 4 seconds passed +... 30%, 213056 KB, 50220 KB/s, 4 seconds passed +... 30%, 213088 KB, 50224 KB/s, 4 seconds passed +... 30%, 213120 KB, 50228 KB/s, 4 seconds passed +... 30%, 213152 KB, 50233 KB/s, 4 seconds passed +... 30%, 213184 KB, 50237 KB/s, 4 seconds passed +... 30%, 213216 KB, 50242 KB/s, 4 seconds passed +... 30%, 213248 KB, 50245 KB/s, 4 seconds passed +... 30%, 213280 KB, 50249 KB/s, 4 seconds passed +... 30%, 213312 KB, 50254 KB/s, 4 seconds passed +... 30%, 213344 KB, 50257 KB/s, 4 seconds passed +... 30%, 213376 KB, 50262 KB/s, 4 seconds passed +... 30%, 213408 KB, 50266 KB/s, 4 seconds passed +... 30%, 213440 KB, 50271 KB/s, 4 seconds passed +... 30%, 213472 KB, 50275 KB/s, 4 seconds passed +... 30%, 213504 KB, 50280 KB/s, 4 seconds passed +... 30%, 213536 KB, 50284 KB/s, 4 seconds passed +... 30%, 213568 KB, 50288 KB/s, 4 seconds passed +... 30%, 213600 KB, 50292 KB/s, 4 seconds passed +... 30%, 213632 KB, 50296 KB/s, 4 seconds passed +... 30%, 213664 KB, 50301 KB/s, 4 seconds passed +... 30%, 213696 KB, 50305 KB/s, 4 seconds passed +... 30%, 213728 KB, 50309 KB/s, 4 seconds passed +... 30%, 213760 KB, 50314 KB/s, 4 seconds passed +... 30%, 213792 KB, 50318 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 30%, 213824 KB, 50274 KB/s, 4 seconds passed +... 30%, 213856 KB, 50277 KB/s, 4 seconds passed +... 30%, 213888 KB, 50280 KB/s, 4 seconds passed +... 30%, 213920 KB, 50283 KB/s, 4 seconds passed +... 30%, 213952 KB, 50286 KB/s, 4 seconds passed +... 30%, 213984 KB, 50289 KB/s, 4 seconds passed +... 30%, 214016 KB, 50292 KB/s, 4 seconds passed +... 30%, 214048 KB, 50295 KB/s, 4 seconds passed +... 30%, 214080 KB, 50298 KB/s, 4 seconds passed +... 30%, 214112 KB, 50302 KB/s, 4 seconds passed +... 30%, 214144 KB, 50305 KB/s, 4 seconds passed +... 30%, 214176 KB, 50308 KB/s, 4 seconds passed +... 30%, 214208 KB, 50311 KB/s, 4 seconds passed +... 30%, 214240 KB, 50315 KB/s, 4 seconds passed +... 30%, 214272 KB, 50318 KB/s, 4 seconds passed +... 30%, 214304 KB, 50321 KB/s, 4 seconds passed +... 30%, 214336 KB, 50324 KB/s, 4 seconds passed +... 30%, 214368 KB, 50327 KB/s, 4 seconds passed +... 30%, 214400 KB, 50330 KB/s, 4 seconds passed +... 30%, 214432 KB, 50333 KB/s, 4 seconds passed +... 30%, 214464 KB, 50336 KB/s, 4 seconds passed +... 30%, 214496 KB, 50340 KB/s, 4 seconds passed +... 30%, 214528 KB, 50343 KB/s, 4 seconds passed +... 30%, 214560 KB, 50346 KB/s, 4 seconds passed +... 30%, 214592 KB, 50349 KB/s, 4 seconds passed +... 30%, 214624 KB, 50352 KB/s, 4 seconds passed +... 30%, 214656 KB, 50355 KB/s, 4 seconds passed +... 30%, 214688 KB, 50358 KB/s, 4 seconds passed +... 30%, 214720 KB, 50361 KB/s, 4 seconds passed +... 30%, 214752 KB, 50365 KB/s, 4 seconds passed +... 30%, 214784 KB, 50369 KB/s, 4 seconds passed +... 30%, 214816 KB, 50374 KB/s, 4 seconds passed +... 30%, 214848 KB, 50379 KB/s, 4 seconds passed +... 30%, 214880 KB, 50384 KB/s, 4 seconds passed +... 30%, 214912 KB, 50389 KB/s, 4 seconds passed +... 30%, 214944 KB, 50394 KB/s, 4 seconds passed +... 30%, 214976 KB, 50399 KB/s, 4 seconds passed +... 30%, 215008 KB, 50405 KB/s, 4 seconds passed +... 30%, 215040 KB, 50093 KB/s, 4 seconds passed +... 30%, 215072 KB, 50094 KB/s, 4 seconds passed +... 30%, 215104 KB, 50097 KB/s, 4 seconds passed +... 30%, 215136 KB, 50100 KB/s, 4 seconds passed +... 30%, 215168 KB, 50102 KB/s, 4 seconds passed +... 30%, 215200 KB, 50105 KB/s, 4 seconds passed +... 30%, 215232 KB, 50108 KB/s, 4 seconds passed +... 30%, 215264 KB, 50111 KB/s, 4 seconds passed +... 30%, 215296 KB, 50114 KB/s, 4 seconds passed +... 30%, 215328 KB, 50117 KB/s, 4 seconds passed +... 30%, 215360 KB, 50120 KB/s, 4 seconds passed +... 30%, 215392 KB, 50123 KB/s, 4 seconds passed +... 30%, 215424 KB, 50126 KB/s, 4 seconds passed +... 30%, 215456 KB, 50129 KB/s, 4 seconds passed +... 30%, 215488 KB, 50132 KB/s, 4 seconds passed +... 30%, 215520 KB, 50135 KB/s, 4 seconds passed +... 30%, 215552 KB, 50138 KB/s, 4 seconds passed +... 30%, 215584 KB, 50141 KB/s, 4 seconds passed +... 31%, 215616 KB, 50143 KB/s, 4 seconds passed +... 31%, 215648 KB, 50147 KB/s, 4 seconds passed +... 31%, 215680 KB, 50150 KB/s, 4 seconds passed +... 31%, 215712 KB, 50153 KB/s, 4 seconds passed +... 31%, 215744 KB, 50156 KB/s, 4 seconds passed +... 31%, 215776 KB, 50159 KB/s, 4 seconds passed +... 31%, 215808 KB, 50162 KB/s, 4 seconds passed +... 31%, 215840 KB, 50165 KB/s, 4 seconds passed +... 31%, 215872 KB, 50168 KB/s, 4 seconds passed +... 31%, 215904 KB, 50170 KB/s, 4 seconds passed +... 31%, 215936 KB, 50173 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 31%, 215968 KB, 50176 KB/s, 4 seconds passed +... 31%, 216000 KB, 50179 KB/s, 4 seconds passed +... 31%, 216032 KB, 50183 KB/s, 4 seconds passed +... 31%, 216064 KB, 50187 KB/s, 4 seconds passed +... 31%, 216096 KB, 50192 KB/s, 4 seconds passed +... 31%, 216128 KB, 50196 KB/s, 4 seconds passed +... 31%, 216160 KB, 50201 KB/s, 4 seconds passed +... 31%, 216192 KB, 50206 KB/s, 4 seconds passed +... 31%, 216224 KB, 50210 KB/s, 4 seconds passed +... 31%, 216256 KB, 50214 KB/s, 4 seconds passed +... 31%, 216288 KB, 50219 KB/s, 4 seconds passed +... 31%, 216320 KB, 50223 KB/s, 4 seconds passed +... 31%, 216352 KB, 50227 KB/s, 4 seconds passed +... 31%, 216384 KB, 50231 KB/s, 4 seconds passed +... 31%, 216416 KB, 50235 KB/s, 4 seconds passed +... 31%, 216448 KB, 50240 KB/s, 4 seconds passed +... 31%, 216480 KB, 50245 KB/s, 4 seconds passed +... 31%, 216512 KB, 50249 KB/s, 4 seconds passed +... 31%, 216544 KB, 50253 KB/s, 4 seconds passed +... 31%, 216576 KB, 50258 KB/s, 4 seconds passed +... 31%, 216608 KB, 50263 KB/s, 4 seconds passed +... 31%, 216640 KB, 50267 KB/s, 4 seconds passed +... 31%, 216672 KB, 50272 KB/s, 4 seconds passed +... 31%, 216704 KB, 50277 KB/s, 4 seconds passed +... 31%, 216736 KB, 50281 KB/s, 4 seconds passed +... 31%, 216768 KB, 50286 KB/s, 4 seconds passed +... 31%, 216800 KB, 50290 KB/s, 4 seconds passed +... 31%, 216832 KB, 50295 KB/s, 4 seconds passed +... 31%, 216864 KB, 50299 KB/s, 4 seconds passed +... 31%, 216896 KB, 50304 KB/s, 4 seconds passed +... 31%, 216928 KB, 50308 KB/s, 4 seconds passed +... 31%, 216960 KB, 50313 KB/s, 4 seconds passed +... 31%, 216992 KB, 50318 KB/s, 4 seconds passed +... 31%, 217024 KB, 50322 KB/s, 4 seconds passed +... 31%, 217056 KB, 50327 KB/s, 4 seconds passed +... 31%, 217088 KB, 50331 KB/s, 4 seconds passed +... 31%, 217120 KB, 50336 KB/s, 4 seconds passed +... 31%, 217152 KB, 50341 KB/s, 4 seconds passed +... 31%, 217184 KB, 50345 KB/s, 4 seconds passed +... 31%, 217216 KB, 50350 KB/s, 4 seconds passed +... 31%, 217248 KB, 50356 KB/s, 4 seconds passed +... 31%, 217280 KB, 50361 KB/s, 4 seconds passed +... 31%, 217312 KB, 50366 KB/s, 4 seconds passed +... 31%, 217344 KB, 50371 KB/s, 4 seconds passed +... 31%, 217376 KB, 50377 KB/s, 4 seconds passed +... 31%, 217408 KB, 50383 KB/s, 4 seconds passed +... 31%, 217440 KB, 50361 KB/s, 4 seconds passed +... 31%, 217472 KB, 50365 KB/s, 4 seconds passed +... 31%, 217504 KB, 50370 KB/s, 4 seconds passed +... 31%, 217536 KB, 50357 KB/s, 4 seconds passed +... 31%, 217568 KB, 50360 KB/s, 4 seconds passed +... 31%, 217600 KB, 50365 KB/s, 4 seconds passed +... 31%, 217632 KB, 50371 KB/s, 4 seconds passed +... 31%, 217664 KB, 50375 KB/s, 4 seconds passed +... 31%, 217696 KB, 50379 KB/s, 4 seconds passed +... 31%, 217728 KB, 50383 KB/s, 4 seconds passed +... 31%, 217760 KB, 50387 KB/s, 4 seconds passed +... 31%, 217792 KB, 50391 KB/s, 4 seconds passed +... 31%, 217824 KB, 50395 KB/s, 4 seconds passed +... 31%, 217856 KB, 50399 KB/s, 4 seconds passed +... 31%, 217888 KB, 50404 KB/s, 4 seconds passed +... 31%, 217920 KB, 50262 KB/s, 4 seconds passed +... 31%, 217952 KB, 50265 KB/s, 4 seconds passed +... 31%, 217984 KB, 50268 KB/s, 4 seconds passed +... 31%, 218016 KB, 50271 KB/s, 4 seconds passed +... 31%, 218048 KB, 50273 KB/s, 4 seconds passed +... 31%, 218080 KB, 50276 KB/s, 4 seconds passed +... 31%, 218112 KB, 50280 KB/s, 4 seconds passed +... 31%, 218144 KB, 50283 KB/s, 4 seconds passed +... 31%, 218176 KB, 50286 KB/s, 4 seconds passed +... 31%, 218208 KB, 50288 KB/s, 4 seconds passed +... 31%, 218240 KB, 50291 KB/s, 4 seconds passed +... 31%, 218272 KB, 50294 KB/s, 4 seconds passed +... 31%, 218304 KB, 50297 KB/s, 4 seconds passed +... 31%, 218336 KB, 50300 KB/s, 4 seconds passed +... 31%, 218368 KB, 50303 KB/s, 4 seconds passed +... 31%, 218400 KB, 50306 KB/s, 4 seconds passed +... 31%, 218432 KB, 50309 KB/s, 4 seconds passed +... 31%, 218464 KB, 50312 KB/s, 4 seconds passed +... 31%, 218496 KB, 50315 KB/s, 4 seconds passed +... 31%, 218528 KB, 50318 KB/s, 4 seconds passed +... 31%, 218560 KB, 50321 KB/s, 4 seconds passed +... 31%, 218592 KB, 50323 KB/s, 4 seconds passed +... 31%, 218624 KB, 50327 KB/s, 4 seconds passed +... 31%, 218656 KB, 50330 KB/s, 4 seconds passed +... 31%, 218688 KB, 50333 KB/s, 4 seconds passed +... 31%, 218720 KB, 50336 KB/s, 4 seconds passed +... 31%, 218752 KB, 50340 KB/s, 4 seconds passed +... 31%, 218784 KB, 50343 KB/s, 4 seconds passed +... 31%, 218816 KB, 50347 KB/s, 4 seconds passed +... 31%, 218848 KB, 50350 KB/s, 4 seconds passed +... 31%, 218880 KB, 50354 KB/s, 4 seconds passed +... 31%, 218912 KB, 50358 KB/s, 4 seconds passed +... 31%, 218944 KB, 50362 KB/s, 4 seconds passed +... 31%, 218976 KB, 50366 KB/s, 4 seconds passed +... 31%, 219008 KB, 50370 KB/s, 4 seconds passed +... 31%, 219040 KB, 50373 KB/s, 4 seconds passed +... 31%, 219072 KB, 50377 KB/s, 4 seconds passed +... 31%, 219104 KB, 50381 KB/s, 4 seconds passed +... 31%, 219136 KB, 50385 KB/s, 4 seconds passed +... 31%, 219168 KB, 50389 KB/s, 4 seconds passed +... 31%, 219200 KB, 50393 KB/s, 4 seconds passed +... 31%, 219232 KB, 50396 KB/s, 4 seconds passed +... 31%, 219264 KB, 50400 KB/s, 4 seconds passed +... 31%, 219296 KB, 50404 KB/s, 4 seconds passed +... 31%, 219328 KB, 50408 KB/s, 4 seconds passed +... 31%, 219360 KB, 50412 KB/s, 4 seconds passed +... 31%, 219392 KB, 50415 KB/s, 4 seconds passed +... 31%, 219424 KB, 50419 KB/s, 4 seconds passed +... 31%, 219456 KB, 50423 KB/s, 4 seconds passed +... 31%, 219488 KB, 50427 KB/s, 4 seconds passed +... 31%, 219520 KB, 50431 KB/s, 4 seconds passed +... 31%, 219552 KB, 50434 KB/s, 4 seconds passed +... 31%, 219584 KB, 50438 KB/s, 4 seconds passed +... 31%, 219616 KB, 50442 KB/s, 4 seconds passed +... 31%, 219648 KB, 50446 KB/s, 4 seconds passed +... 31%, 219680 KB, 50450 KB/s, 4 seconds passed +... 31%, 219712 KB, 50454 KB/s, 4 seconds passed +... 31%, 219744 KB, 50458 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 31%, 219776 KB, 50462 KB/s, 4 seconds passed +... 31%, 219808 KB, 50467 KB/s, 4 seconds passed +... 31%, 219840 KB, 50473 KB/s, 4 seconds passed +... 31%, 219872 KB, 50478 KB/s, 4 seconds passed +... 31%, 219904 KB, 50484 KB/s, 4 seconds passed +... 31%, 219936 KB, 50489 KB/s, 4 seconds passed +... 31%, 219968 KB, 50495 KB/s, 4 seconds passed +... 31%, 220000 KB, 50500 KB/s, 4 seconds passed +... 31%, 220032 KB, 50505 KB/s, 4 seconds passed +... 31%, 220064 KB, 50511 KB/s, 4 seconds passed +... 31%, 220096 KB, 50516 KB/s, 4 seconds passed +... 31%, 220128 KB, 50522 KB/s, 4 seconds passed +... 31%, 220160 KB, 50307 KB/s, 4 seconds passed +... 31%, 220192 KB, 50309 KB/s, 4 seconds passed +... 31%, 220224 KB, 50312 KB/s, 4 seconds passed +... 31%, 220256 KB, 50314 KB/s, 4 seconds passed +... 31%, 220288 KB, 50317 KB/s, 4 seconds passed +... 31%, 220320 KB, 50320 KB/s, 4 seconds passed +... 31%, 220352 KB, 50322 KB/s, 4 seconds passed +... 31%, 220384 KB, 50325 KB/s, 4 seconds passed +... 31%, 220416 KB, 50328 KB/s, 4 seconds passed +... 31%, 220448 KB, 50330 KB/s, 4 seconds passed +... 31%, 220480 KB, 50333 KB/s, 4 seconds passed +... 31%, 220512 KB, 50336 KB/s, 4 seconds passed +... 31%, 220544 KB, 50339 KB/s, 4 seconds passed +... 31%, 220576 KB, 50342 KB/s, 4 seconds passed +... 31%, 220608 KB, 50345 KB/s, 4 seconds passed +... 31%, 220640 KB, 50348 KB/s, 4 seconds passed +... 31%, 220672 KB, 50351 KB/s, 4 seconds passed +... 31%, 220704 KB, 50353 KB/s, 4 seconds passed +... 31%, 220736 KB, 50356 KB/s, 4 seconds passed +... 31%, 220768 KB, 50359 KB/s, 4 seconds passed +... 31%, 220800 KB, 50362 KB/s, 4 seconds passed +... 31%, 220832 KB, 50365 KB/s, 4 seconds passed +... 31%, 220864 KB, 50369 KB/s, 4 seconds passed +... 31%, 220896 KB, 50371 KB/s, 4 seconds passed +... 31%, 220928 KB, 50375 KB/s, 4 seconds passed +... 31%, 220960 KB, 50379 KB/s, 4 seconds passed +... 31%, 220992 KB, 50382 KB/s, 4 seconds passed +... 31%, 221024 KB, 50386 KB/s, 4 seconds passed +... 31%, 221056 KB, 50390 KB/s, 4 seconds passed +... 31%, 221088 KB, 50394 KB/s, 4 seconds passed +... 31%, 221120 KB, 50397 KB/s, 4 seconds passed +... 31%, 221152 KB, 50401 KB/s, 4 seconds passed +... 31%, 221184 KB, 50405 KB/s, 4 seconds passed +... 31%, 221216 KB, 50408 KB/s, 4 seconds passed +... 31%, 221248 KB, 50412 KB/s, 4 seconds passed +... 31%, 221280 KB, 50415 KB/s, 4 seconds passed +... 31%, 221312 KB, 50419 KB/s, 4 seconds passed +... 31%, 221344 KB, 50423 KB/s, 4 seconds passed +... 31%, 221376 KB, 50427 KB/s, 4 seconds passed +... 31%, 221408 KB, 50431 KB/s, 4 seconds passed +... 31%, 221440 KB, 50434 KB/s, 4 seconds passed +... 31%, 221472 KB, 50438 KB/s, 4 seconds passed +... 31%, 221504 KB, 50442 KB/s, 4 seconds passed +... 31%, 221536 KB, 50446 KB/s, 4 seconds passed +... 31%, 221568 KB, 50449 KB/s, 4 seconds passed +... 31%, 221600 KB, 50453 KB/s, 4 seconds passed +... 31%, 221632 KB, 50457 KB/s, 4 seconds passed +... 31%, 221664 KB, 50461 KB/s, 4 seconds passed +... 31%, 221696 KB, 50465 KB/s, 4 seconds passed +... 31%, 221728 KB, 50469 KB/s, 4 seconds passed +... 31%, 221760 KB, 50473 KB/s, 4 seconds passed +... 31%, 221792 KB, 50476 KB/s, 4 seconds passed +... 31%, 221824 KB, 50480 KB/s, 4 seconds passed +... 31%, 221856 KB, 50484 KB/s, 4 seconds passed +... 31%, 221888 KB, 50487 KB/s, 4 seconds passed +... 31%, 221920 KB, 50491 KB/s, 4 seconds passed +... 31%, 221952 KB, 50495 KB/s, 4 seconds passed +... 31%, 221984 KB, 50500 KB/s, 4 seconds passed +... 31%, 222016 KB, 50505 KB/s, 4 seconds passed +... 31%, 222048 KB, 50510 KB/s, 4 seconds passed +... 31%, 222080 KB, 50514 KB/s, 4 seconds passed +... 31%, 222112 KB, 50519 KB/s, 4 seconds passed +... 31%, 222144 KB, 50524 KB/s, 4 seconds passed +... 31%, 222176 KB, 50529 KB/s, 4 seconds passed +... 31%, 222208 KB, 50534 KB/s, 4 seconds passed +... 31%, 222240 KB, 50539 KB/s, 4 seconds passed +... 31%, 222272 KB, 50544 KB/s, 4 seconds passed +... 31%, 222304 KB, 50549 KB/s, 4 seconds passed +... 31%, 222336 KB, 50554 KB/s, 4 seconds passed +... 31%, 222368 KB, 50558 KB/s, 4 seconds passed +... 31%, 222400 KB, 50563 KB/s, 4 seconds passed +... 31%, 222432 KB, 50568 KB/s, 4 seconds passed +... 31%, 222464 KB, 50573 KB/s, 4 seconds passed +... 31%, 222496 KB, 50578 KB/s, 4 seconds passed +... 31%, 222528 KB, 50583 KB/s, 4 seconds passed +... 31%, 222560 KB, 50588 KB/s, 4 seconds passed +... 32%, 222592 KB, 50593 KB/s, 4 seconds passed +... 32%, 222624 KB, 50598 KB/s, 4 seconds passed +... 32%, 222656 KB, 50602 KB/s, 4 seconds passed +... 32%, 222688 KB, 50607 KB/s, 4 seconds passed +... 32%, 222720 KB, 50612 KB/s, 4 seconds passed +... 32%, 222752 KB, 50617 KB/s, 4 seconds passed +... 32%, 222784 KB, 50622 KB/s, 4 seconds passed +... 32%, 222816 KB, 50627 KB/s, 4 seconds passed +... 32%, 222848 KB, 50632 KB/s, 4 seconds passed +... 32%, 222880 KB, 50637 KB/s, 4 seconds passed +... 32%, 222912 KB, 50642 KB/s, 4 seconds passed +... 32%, 222944 KB, 50647 KB/s, 4 seconds passed +... 32%, 222976 KB, 50652 KB/s, 4 seconds passed +... 32%, 223008 KB, 50657 KB/s, 4 seconds passed +... 32%, 223040 KB, 50662 KB/s, 4 seconds passed +... 32%, 223072 KB, 50667 KB/s, 4 seconds passed +... 32%, 223104 KB, 50672 KB/s, 4 seconds passed +... 32%, 223136 KB, 50677 KB/s, 4 seconds passed +... 32%, 223168 KB, 50682 KB/s, 4 seconds passed +... 32%, 223200 KB, 50686 KB/s, 4 seconds passed +... 32%, 223232 KB, 50691 KB/s, 4 seconds passed +... 32%, 223264 KB, 50696 KB/s, 4 seconds passed +... 32%, 223296 KB, 50701 KB/s, 4 seconds passed +... 32%, 223328 KB, 50706 KB/s, 4 seconds passed +... 32%, 223360 KB, 50711 KB/s, 4 seconds passed +... 32%, 223392 KB, 50716 KB/s, 4 seconds passed +... 32%, 223424 KB, 50721 KB/s, 4 seconds passed +... 32%, 223456 KB, 50726 KB/s, 4 seconds passed +... 32%, 223488 KB, 50731 KB/s, 4 seconds passed +... 32%, 223520 KB, 50736 KB/s, 4 seconds passed +... 32%, 223552 KB, 50741 KB/s, 4 seconds passed +... 32%, 223584 KB, 50744 KB/s, 4 seconds passed +... 32%, 223616 KB, 50749 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 32%, 223648 KB, 50754 KB/s, 4 seconds passed +... 32%, 223680 KB, 50757 KB/s, 4 seconds passed +... 32%, 223712 KB, 50761 KB/s, 4 seconds passed +... 32%, 223744 KB, 50766 KB/s, 4 seconds passed +... 32%, 223776 KB, 50769 KB/s, 4 seconds passed +... 32%, 223808 KB, 50774 KB/s, 4 seconds passed +... 32%, 223840 KB, 50778 KB/s, 4 seconds passed +... 32%, 223872 KB, 50782 KB/s, 4 seconds passed +... 32%, 223904 KB, 50786 KB/s, 4 seconds passed +... 32%, 223936 KB, 50790 KB/s, 4 seconds passed +... 32%, 223968 KB, 50794 KB/s, 4 seconds passed +... 32%, 224000 KB, 50798 KB/s, 4 seconds passed +... 32%, 224032 KB, 50774 KB/s, 4 seconds passed +... 32%, 224064 KB, 50755 KB/s, 4 seconds passed +... 32%, 224096 KB, 50759 KB/s, 4 seconds passed +... 32%, 224128 KB, 50762 KB/s, 4 seconds passed +... 32%, 224160 KB, 50767 KB/s, 4 seconds passed +... 32%, 224192 KB, 50771 KB/s, 4 seconds passed +... 32%, 224224 KB, 50774 KB/s, 4 seconds passed +... 32%, 224256 KB, 50779 KB/s, 4 seconds passed +... 32%, 224288 KB, 50783 KB/s, 4 seconds passed +... 32%, 224320 KB, 50787 KB/s, 4 seconds passed +... 32%, 224352 KB, 50791 KB/s, 4 seconds passed +... 32%, 224384 KB, 50795 KB/s, 4 seconds passed +... 32%, 224416 KB, 50799 KB/s, 4 seconds passed +... 32%, 224448 KB, 50803 KB/s, 4 seconds passed +... 32%, 224480 KB, 50807 KB/s, 4 seconds passed +... 32%, 224512 KB, 50811 KB/s, 4 seconds passed +... 32%, 224544 KB, 50815 KB/s, 4 seconds passed +... 32%, 224576 KB, 50819 KB/s, 4 seconds passed +... 32%, 224608 KB, 50823 KB/s, 4 seconds passed +... 32%, 224640 KB, 50827 KB/s, 4 seconds passed +... 32%, 224672 KB, 50832 KB/s, 4 seconds passed +... 32%, 224704 KB, 50835 KB/s, 4 seconds passed +... 32%, 224736 KB, 50839 KB/s, 4 seconds passed +... 32%, 224768 KB, 50844 KB/s, 4 seconds passed +... 32%, 224800 KB, 50848 KB/s, 4 seconds passed +... 32%, 224832 KB, 50851 KB/s, 4 seconds passed +... 32%, 224864 KB, 50856 KB/s, 4 seconds passed +... 32%, 224896 KB, 50860 KB/s, 4 seconds passed +... 32%, 224928 KB, 50864 KB/s, 4 seconds passed +... 32%, 224960 KB, 50868 KB/s, 4 seconds passed +... 32%, 224992 KB, 50872 KB/s, 4 seconds passed +... 32%, 225024 KB, 50876 KB/s, 4 seconds passed +... 32%, 225056 KB, 50880 KB/s, 4 seconds passed +... 32%, 225088 KB, 50883 KB/s, 4 seconds passed +... 32%, 225120 KB, 50888 KB/s, 4 seconds passed +... 32%, 225152 KB, 50892 KB/s, 4 seconds passed +... 32%, 225184 KB, 50896 KB/s, 4 seconds passed +... 32%, 225216 KB, 50900 KB/s, 4 seconds passed +... 32%, 225248 KB, 50904 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 32%, 225280 KB, 50409 KB/s, 4 seconds passed +... 32%, 225312 KB, 50397 KB/s, 4 seconds passed +... 32%, 225344 KB, 50399 KB/s, 4 seconds passed +... 32%, 225376 KB, 50402 KB/s, 4 seconds passed +... 32%, 225408 KB, 50243 KB/s, 4 seconds passed +... 32%, 225440 KB, 50244 KB/s, 4 seconds passed +... 32%, 225472 KB, 50169 KB/s, 4 seconds passed +... 32%, 225504 KB, 50172 KB/s, 4 seconds passed +... 32%, 225536 KB, 50174 KB/s, 4 seconds passed +... 32%, 225568 KB, 50177 KB/s, 4 seconds passed +... 32%, 225600 KB, 50179 KB/s, 4 seconds passed +... 32%, 225632 KB, 50182 KB/s, 4 seconds passed +... 32%, 225664 KB, 50185 KB/s, 4 seconds passed +... 32%, 225696 KB, 50188 KB/s, 4 seconds passed +... 32%, 225728 KB, 50191 KB/s, 4 seconds passed +... 32%, 225760 KB, 50194 KB/s, 4 seconds passed +... 32%, 225792 KB, 50197 KB/s, 4 seconds passed +... 32%, 225824 KB, 50200 KB/s, 4 seconds passed +... 32%, 225856 KB, 50203 KB/s, 4 seconds passed +... 32%, 225888 KB, 50205 KB/s, 4 seconds passed +... 32%, 225920 KB, 50208 KB/s, 4 seconds passed +... 32%, 225952 KB, 50211 KB/s, 4 seconds passed +... 32%, 225984 KB, 50214 KB/s, 4 seconds passed +... 32%, 226016 KB, 50217 KB/s, 4 seconds passed +... 32%, 226048 KB, 50220 KB/s, 4 seconds passed +... 32%, 226080 KB, 50223 KB/s, 4 seconds passed +... 32%, 226112 KB, 50226 KB/s, 4 seconds passed +... 32%, 226144 KB, 50229 KB/s, 4 seconds passed +... 32%, 226176 KB, 50231 KB/s, 4 seconds passed +... 32%, 226208 KB, 50234 KB/s, 4 seconds passed +... 32%, 226240 KB, 50237 KB/s, 4 seconds passed +... 32%, 226272 KB, 50240 KB/s, 4 seconds passed +... 32%, 226304 KB, 50242 KB/s, 4 seconds passed +... 32%, 226336 KB, 50245 KB/s, 4 seconds passed +... 32%, 226368 KB, 50248 KB/s, 4 seconds passed +... 32%, 226400 KB, 50251 KB/s, 4 seconds passed +... 32%, 226432 KB, 50254 KB/s, 4 seconds passed +... 32%, 226464 KB, 50257 KB/s, 4 seconds passed +... 32%, 226496 KB, 50260 KB/s, 4 seconds passed +... 32%, 226528 KB, 50265 KB/s, 4 seconds passed +... 32%, 226560 KB, 50269 KB/s, 4 seconds passed +... 32%, 226592 KB, 50273 KB/s, 4 seconds passed +... 32%, 226624 KB, 50277 KB/s, 4 seconds passed +... 32%, 226656 KB, 50282 KB/s, 4 seconds passed +... 32%, 226688 KB, 50286 KB/s, 4 seconds passed +... 32%, 226720 KB, 50290 KB/s, 4 seconds passed +... 32%, 226752 KB, 50295 KB/s, 4 seconds passed +... 32%, 226784 KB, 50299 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 32%, 226816 KB, 50304 KB/s, 4 seconds passed +... 32%, 226848 KB, 50308 KB/s, 4 seconds passed +... 32%, 226880 KB, 50313 KB/s, 4 seconds passed +... 32%, 226912 KB, 50317 KB/s, 4 seconds passed +... 32%, 226944 KB, 50321 KB/s, 4 seconds passed +... 32%, 226976 KB, 50326 KB/s, 4 seconds passed +... 32%, 227008 KB, 50330 KB/s, 4 seconds passed +... 32%, 227040 KB, 50334 KB/s, 4 seconds passed +... 32%, 227072 KB, 50339 KB/s, 4 seconds passed +... 32%, 227104 KB, 50343 KB/s, 4 seconds passed +... 32%, 227136 KB, 50347 KB/s, 4 seconds passed +... 32%, 227168 KB, 50352 KB/s, 4 seconds passed +... 32%, 227200 KB, 50356 KB/s, 4 seconds passed +... 32%, 227232 KB, 50360 KB/s, 4 seconds passed +... 32%, 227264 KB, 50365 KB/s, 4 seconds passed +... 32%, 227296 KB, 50369 KB/s, 4 seconds passed +... 32%, 227328 KB, 50373 KB/s, 4 seconds passed +... 32%, 227360 KB, 50378 KB/s, 4 seconds passed +... 32%, 227392 KB, 50382 KB/s, 4 seconds passed +... 32%, 227424 KB, 50387 KB/s, 4 seconds passed +... 32%, 227456 KB, 50391 KB/s, 4 seconds passed +... 32%, 227488 KB, 50396 KB/s, 4 seconds passed +... 32%, 227520 KB, 50400 KB/s, 4 seconds passed +... 32%, 227552 KB, 50404 KB/s, 4 seconds passed +... 32%, 227584 KB, 50409 KB/s, 4 seconds passed +... 32%, 227616 KB, 50413 KB/s, 4 seconds passed +... 32%, 227648 KB, 50417 KB/s, 4 seconds passed +... 32%, 227680 KB, 50422 KB/s, 4 seconds passed +... 32%, 227712 KB, 50426 KB/s, 4 seconds passed +... 32%, 227744 KB, 50430 KB/s, 4 seconds passed +... 32%, 227776 KB, 50435 KB/s, 4 seconds passed +... 32%, 227808 KB, 50440 KB/s, 4 seconds passed +... 32%, 227840 KB, 50445 KB/s, 4 seconds passed +... 32%, 227872 KB, 50451 KB/s, 4 seconds passed +... 32%, 227904 KB, 50456 KB/s, 4 seconds passed +... 32%, 227936 KB, 50461 KB/s, 4 seconds passed +... 32%, 227968 KB, 50466 KB/s, 4 seconds passed +... 32%, 228000 KB, 50471 KB/s, 4 seconds passed +... 32%, 228032 KB, 50476 KB/s, 4 seconds passed +... 32%, 228064 KB, 50482 KB/s, 4 seconds passed +... 32%, 228096 KB, 50487 KB/s, 4 seconds passed +... 32%, 228128 KB, 50492 KB/s, 4 seconds passed +... 32%, 228160 KB, 50497 KB/s, 4 seconds passed +... 32%, 228192 KB, 50503 KB/s, 4 seconds passed +... 32%, 228224 KB, 50508 KB/s, 4 seconds passed +... 32%, 228256 KB, 50513 KB/s, 4 seconds passed +... 32%, 228288 KB, 50518 KB/s, 4 seconds passed +... 32%, 228320 KB, 50523 KB/s, 4 seconds passed +... 32%, 228352 KB, 50529 KB/s, 4 seconds passed +... 32%, 228384 KB, 50534 KB/s, 4 seconds passed +... 32%, 228416 KB, 50539 KB/s, 4 seconds passed +... 32%, 228448 KB, 50544 KB/s, 4 seconds passed +... 32%, 228480 KB, 50550 KB/s, 4 seconds passed +... 32%, 228512 KB, 50555 KB/s, 4 seconds passed +... 32%, 228544 KB, 50559 KB/s, 4 seconds passed +... 32%, 228576 KB, 50563 KB/s, 4 seconds passed +... 32%, 228608 KB, 50567 KB/s, 4 seconds passed +... 32%, 228640 KB, 50572 KB/s, 4 seconds passed +... 32%, 228672 KB, 50576 KB/s, 4 seconds passed +... 32%, 228704 KB, 50579 KB/s, 4 seconds passed +... 32%, 228736 KB, 50583 KB/s, 4 seconds passed +... 32%, 228768 KB, 50586 KB/s, 4 seconds passed +... 32%, 228800 KB, 50591 KB/s, 4 seconds passed +... 32%, 228832 KB, 50595 KB/s, 4 seconds passed +... 32%, 228864 KB, 50599 KB/s, 4 seconds passed +... 32%, 228896 KB, 50603 KB/s, 4 seconds passed +... 32%, 228928 KB, 50607 KB/s, 4 seconds passed +... 32%, 228960 KB, 50611 KB/s, 4 seconds passed +... 32%, 228992 KB, 50615 KB/s, 4 seconds passed +... 32%, 229024 KB, 50618 KB/s, 4 seconds passed +... 32%, 229056 KB, 50622 KB/s, 4 seconds passed +... 32%, 229088 KB, 50627 KB/s, 4 seconds passed +... 32%, 229120 KB, 50630 KB/s, 4 seconds passed +... 32%, 229152 KB, 50634 KB/s, 4 seconds passed +... 32%, 229184 KB, 50639 KB/s, 4 seconds passed +... 32%, 229216 KB, 50643 KB/s, 4 seconds passed +... 32%, 229248 KB, 50647 KB/s, 4 seconds passed +... 32%, 229280 KB, 50651 KB/s, 4 seconds passed +... 32%, 229312 KB, 50655 KB/s, 4 seconds passed +... 32%, 229344 KB, 50659 KB/s, 4 seconds passed +... 32%, 229376 KB, 50663 KB/s, 4 seconds passed +... 32%, 229408 KB, 50667 KB/s, 4 seconds passed +... 32%, 229440 KB, 50671 KB/s, 4 seconds passed +... 32%, 229472 KB, 50674 KB/s, 4 seconds passed +... 32%, 229504 KB, 50677 KB/s, 4 seconds passed +... 33%, 229536 KB, 50682 KB/s, 4 seconds passed +... 33%, 229568 KB, 50687 KB/s, 4 seconds passed +... 33%, 229600 KB, 50690 KB/s, 4 seconds passed +... 33%, 229632 KB, 50694 KB/s, 4 seconds passed +... 33%, 229664 KB, 50698 KB/s, 4 seconds passed +... 33%, 229696 KB, 50702 KB/s, 4 seconds passed +... 33%, 229728 KB, 50706 KB/s, 4 seconds passed +... 33%, 229760 KB, 50710 KB/s, 4 seconds passed +... 33%, 229792 KB, 50714 KB/s, 4 seconds passed +... 33%, 229824 KB, 50718 KB/s, 4 seconds passed +... 33%, 229856 KB, 50722 KB/s, 4 seconds passed +... 33%, 229888 KB, 50726 KB/s, 4 seconds passed +... 33%, 229920 KB, 50730 KB/s, 4 seconds passed +... 33%, 229952 KB, 50734 KB/s, 4 seconds passed +... 33%, 229984 KB, 50737 KB/s, 4 seconds passed +... 33%, 230016 KB, 50742 KB/s, 4 seconds passed +... 33%, 230048 KB, 50745 KB/s, 4 seconds passed +... 33%, 230080 KB, 50749 KB/s, 4 seconds passed +... 33%, 230112 KB, 50753 KB/s, 4 seconds passed +... 33%, 230144 KB, 50757 KB/s, 4 seconds passed +... 33%, 230176 KB, 50761 KB/s, 4 seconds passed +... 33%, 230208 KB, 50765 KB/s, 4 seconds passed +... 33%, 230240 KB, 50769 KB/s, 4 seconds passed +... 33%, 230272 KB, 50773 KB/s, 4 seconds passed +... 33%, 230304 KB, 50777 KB/s, 4 seconds passed +... 33%, 230336 KB, 50781 KB/s, 4 seconds passed +... 33%, 230368 KB, 50785 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 33%, 230400 KB, 50489 KB/s, 4 seconds passed +... 33%, 230432 KB, 50486 KB/s, 4 seconds passed +... 33%, 230464 KB, 50488 KB/s, 4 seconds passed +... 33%, 230496 KB, 50490 KB/s, 4 seconds passed +... 33%, 230528 KB, 50494 KB/s, 4 seconds passed +... 33%, 230560 KB, 50498 KB/s, 4 seconds passed +... 33%, 230592 KB, 50501 KB/s, 4 seconds passed +... 33%, 230624 KB, 50503 KB/s, 4 seconds passed +... 33%, 230656 KB, 50506 KB/s, 4 seconds passed +... 33%, 230688 KB, 50507 KB/s, 4 seconds passed +... 33%, 230720 KB, 50510 KB/s, 4 seconds passed +... 33%, 230752 KB, 50513 KB/s, 4 seconds passed +... 33%, 230784 KB, 50516 KB/s, 4 seconds passed +... 33%, 230816 KB, 50519 KB/s, 4 seconds passed +... 33%, 230848 KB, 50521 KB/s, 4 seconds passed +... 33%, 230880 KB, 50524 KB/s, 4 seconds passed +... 33%, 230912 KB, 50527 KB/s, 4 seconds passed +... 33%, 230944 KB, 50530 KB/s, 4 seconds passed +... 33%, 230976 KB, 50533 KB/s, 4 seconds passed +... 33%, 231008 KB, 50535 KB/s, 4 seconds passed +... 33%, 231040 KB, 50538 KB/s, 4 seconds passed +... 33%, 231072 KB, 50541 KB/s, 4 seconds passed +... 33%, 231104 KB, 50544 KB/s, 4 seconds passed +... 33%, 231136 KB, 50547 KB/s, 4 seconds passed +... 33%, 231168 KB, 50550 KB/s, 4 seconds passed +... 33%, 231200 KB, 50552 KB/s, 4 seconds passed +... 33%, 231232 KB, 50555 KB/s, 4 seconds passed +... 33%, 231264 KB, 50558 KB/s, 4 seconds passed +... 33%, 231296 KB, 50561 KB/s, 4 seconds passed +... 33%, 231328 KB, 50564 KB/s, 4 seconds passed +... 33%, 231360 KB, 50567 KB/s, 4 seconds passed +... 33%, 231392 KB, 50570 KB/s, 4 seconds passed +... 33%, 231424 KB, 50573 KB/s, 4 seconds passed +... 33%, 231456 KB, 50576 KB/s, 4 seconds passed +... 33%, 231488 KB, 50579 KB/s, 4 seconds passed +... 33%, 231520 KB, 50582 KB/s, 4 seconds passed +... 33%, 231552 KB, 50586 KB/s, 4 seconds passed +... 33%, 231584 KB, 50590 KB/s, 4 seconds passed +... 33%, 231616 KB, 50594 KB/s, 4 seconds passed +... 33%, 231648 KB, 50599 KB/s, 4 seconds passed +... 33%, 231680 KB, 50603 KB/s, 4 seconds passed +... 33%, 231712 KB, 50608 KB/s, 4 seconds passed +... 33%, 231744 KB, 50612 KB/s, 4 seconds passed +... 33%, 231776 KB, 50615 KB/s, 4 seconds passed +... 33%, 231808 KB, 50618 KB/s, 4 seconds passed +... 33%, 231840 KB, 50620 KB/s, 4 seconds passed +... 33%, 231872 KB, 50623 KB/s, 4 seconds passed +... 33%, 231904 KB, 50626 KB/s, 4 seconds passed +... 33%, 231936 KB, 50628 KB/s, 4 seconds passed +... 33%, 231968 KB, 50631 KB/s, 4 seconds passed +... 33%, 232000 KB, 50634 KB/s, 4 seconds passed +... 33%, 232032 KB, 50637 KB/s, 4 seconds passed +... 33%, 232064 KB, 50639 KB/s, 4 seconds passed +... 33%, 232096 KB, 50641 KB/s, 4 seconds passed +... 33%, 232128 KB, 50643 KB/s, 4 seconds passed +... 33%, 232160 KB, 50647 KB/s, 4 seconds passed +... 33%, 232192 KB, 50650 KB/s, 4 seconds passed +... 33%, 232224 KB, 50654 KB/s, 4 seconds passed +... 33%, 232256 KB, 50655 KB/s, 4 seconds passed +... 33%, 232288 KB, 50658 KB/s, 4 seconds passed +... 33%, 232320 KB, 50661 KB/s, 4 seconds passed +... 33%, 232352 KB, 50664 KB/s, 4 seconds passed +... 33%, 232384 KB, 50666 KB/s, 4 seconds passed +... 33%, 232416 KB, 50446 KB/s, 4 seconds passed +... 33%, 232448 KB, 50448 KB/s, 4 seconds passed +... 33%, 232480 KB, 50451 KB/s, 4 seconds passed +... 33%, 232512 KB, 50454 KB/s, 4 seconds passed +... 33%, 232544 KB, 50456 KB/s, 4 seconds passed +... 33%, 232576 KB, 50459 KB/s, 4 seconds passed +... 33%, 232608 KB, 50462 KB/s, 4 seconds passed +... 33%, 232640 KB, 50465 KB/s, 4 seconds passed +... 33%, 232672 KB, 50467 KB/s, 4 seconds passed +... 33%, 232704 KB, 50470 KB/s, 4 seconds passed +... 33%, 232736 KB, 50473 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 33%, 232768 KB, 50476 KB/s, 4 seconds passed +... 33%, 232800 KB, 50479 KB/s, 4 seconds passed +... 33%, 232832 KB, 50481 KB/s, 4 seconds passed +... 33%, 232864 KB, 50484 KB/s, 4 seconds passed +... 33%, 232896 KB, 50487 KB/s, 4 seconds passed +... 33%, 232928 KB, 50490 KB/s, 4 seconds passed +... 33%, 232960 KB, 50492 KB/s, 4 seconds passed +... 33%, 232992 KB, 50495 KB/s, 4 seconds passed +... 33%, 233024 KB, 50498 KB/s, 4 seconds passed +... 33%, 233056 KB, 50501 KB/s, 4 seconds passed +... 33%, 233088 KB, 50504 KB/s, 4 seconds passed +... 33%, 233120 KB, 50506 KB/s, 4 seconds passed +... 33%, 233152 KB, 50509 KB/s, 4 seconds passed +... 33%, 233184 KB, 50512 KB/s, 4 seconds passed +... 33%, 233216 KB, 50515 KB/s, 4 seconds passed +... 33%, 233248 KB, 50518 KB/s, 4 seconds passed +... 33%, 233280 KB, 50520 KB/s, 4 seconds passed +... 33%, 233312 KB, 50524 KB/s, 4 seconds passed +... 33%, 233344 KB, 50528 KB/s, 4 seconds passed +... 33%, 233376 KB, 50533 KB/s, 4 seconds passed +... 33%, 233408 KB, 50537 KB/s, 4 seconds passed +... 33%, 233440 KB, 50541 KB/s, 4 seconds passed +... 33%, 233472 KB, 50545 KB/s, 4 seconds passed +... 33%, 233504 KB, 50549 KB/s, 4 seconds passed +... 33%, 233536 KB, 50553 KB/s, 4 seconds passed +... 33%, 233568 KB, 50558 KB/s, 4 seconds passed +... 33%, 233600 KB, 50562 KB/s, 4 seconds passed +... 33%, 233632 KB, 50566 KB/s, 4 seconds passed +... 33%, 233664 KB, 50570 KB/s, 4 seconds passed +... 33%, 233696 KB, 50575 KB/s, 4 seconds passed +... 33%, 233728 KB, 50579 KB/s, 4 seconds passed +... 33%, 233760 KB, 50583 KB/s, 4 seconds passed +... 33%, 233792 KB, 50587 KB/s, 4 seconds passed +... 33%, 233824 KB, 50592 KB/s, 4 seconds passed +... 33%, 233856 KB, 50596 KB/s, 4 seconds passed +... 33%, 233888 KB, 50600 KB/s, 4 seconds passed +... 33%, 233920 KB, 50605 KB/s, 4 seconds passed +... 33%, 233952 KB, 50609 KB/s, 4 seconds passed +... 33%, 233984 KB, 50613 KB/s, 4 seconds passed +... 33%, 234016 KB, 50617 KB/s, 4 seconds passed +... 33%, 234048 KB, 50621 KB/s, 4 seconds passed +... 33%, 234080 KB, 50626 KB/s, 4 seconds passed +... 33%, 234112 KB, 50630 KB/s, 4 seconds passed +... 33%, 234144 KB, 50634 KB/s, 4 seconds passed +... 33%, 234176 KB, 50638 KB/s, 4 seconds passed +... 33%, 234208 KB, 50642 KB/s, 4 seconds passed +... 33%, 234240 KB, 50647 KB/s, 4 seconds passed +... 33%, 234272 KB, 50651 KB/s, 4 seconds passed +... 33%, 234304 KB, 50655 KB/s, 4 seconds passed +... 33%, 234336 KB, 50660 KB/s, 4 seconds passed +... 33%, 234368 KB, 50664 KB/s, 4 seconds passed +... 33%, 234400 KB, 50668 KB/s, 4 seconds passed +... 33%, 234432 KB, 50672 KB/s, 4 seconds passed +... 33%, 234464 KB, 50677 KB/s, 4 seconds passed +... 33%, 234496 KB, 50681 KB/s, 4 seconds passed +... 33%, 234528 KB, 50685 KB/s, 4 seconds passed +... 33%, 234560 KB, 50689 KB/s, 4 seconds passed +... 33%, 234592 KB, 50694 KB/s, 4 seconds passed +... 33%, 234624 KB, 50698 KB/s, 4 seconds passed +... 33%, 234656 KB, 50703 KB/s, 4 seconds passed +... 33%, 234688 KB, 50708 KB/s, 4 seconds passed +... 33%, 234720 KB, 50713 KB/s, 4 seconds passed +... 33%, 234752 KB, 50718 KB/s, 4 seconds passed +... 33%, 234784 KB, 50723 KB/s, 4 seconds passed +... 33%, 234816 KB, 50729 KB/s, 4 seconds passed +... 33%, 234848 KB, 50734 KB/s, 4 seconds passed +... 33%, 234880 KB, 50739 KB/s, 4 seconds passed +... 33%, 234912 KB, 50744 KB/s, 4 seconds passed +... 33%, 234944 KB, 50749 KB/s, 4 seconds passed +... 33%, 234976 KB, 50754 KB/s, 4 seconds passed +... 33%, 235008 KB, 50759 KB/s, 4 seconds passed +... 33%, 235040 KB, 50764 KB/s, 4 seconds passed +... 33%, 235072 KB, 50769 KB/s, 4 seconds passed +... 33%, 235104 KB, 50773 KB/s, 4 seconds passed +... 33%, 235136 KB, 50776 KB/s, 4 seconds passed +... 33%, 235168 KB, 50780 KB/s, 4 seconds passed +... 33%, 235200 KB, 50784 KB/s, 4 seconds passed +... 33%, 235232 KB, 50788 KB/s, 4 seconds passed +... 33%, 235264 KB, 50792 KB/s, 4 seconds passed +... 33%, 235296 KB, 50796 KB/s, 4 seconds passed +... 33%, 235328 KB, 50800 KB/s, 4 seconds passed +... 33%, 235360 KB, 50804 KB/s, 4 seconds passed +... 33%, 235392 KB, 50808 KB/s, 4 seconds passed +... 33%, 235424 KB, 50812 KB/s, 4 seconds passed +... 33%, 235456 KB, 50816 KB/s, 4 seconds passed +... 33%, 235488 KB, 50819 KB/s, 4 seconds passed +... 33%, 235520 KB, 50629 KB/s, 4 seconds passed +... 33%, 235552 KB, 50631 KB/s, 4 seconds passed +... 33%, 235584 KB, 50633 KB/s, 4 seconds passed +... 33%, 235616 KB, 50636 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 33%, 235648 KB, 50503 KB/s, 4 seconds passed +... 33%, 235680 KB, 50497 KB/s, 4 seconds passed +... 33%, 235712 KB, 50499 KB/s, 4 seconds passed +... 33%, 235744 KB, 50502 KB/s, 4 seconds passed +... 33%, 235776 KB, 50504 KB/s, 4 seconds passed +... 33%, 235808 KB, 50498 KB/s, 4 seconds passed +... 33%, 235840 KB, 50499 KB/s, 4 seconds passed +... 33%, 235872 KB, 50502 KB/s, 4 seconds passed +... 33%, 235904 KB, 50504 KB/s, 4 seconds passed +... 33%, 235936 KB, 50507 KB/s, 4 seconds passed +... 33%, 235968 KB, 50509 KB/s, 4 seconds passed +... 33%, 236000 KB, 50512 KB/s, 4 seconds passed +... 33%, 236032 KB, 50515 KB/s, 4 seconds passed +... 33%, 236064 KB, 50517 KB/s, 4 seconds passed +... 33%, 236096 KB, 50520 KB/s, 4 seconds passed +... 33%, 236128 KB, 50523 KB/s, 4 seconds passed +... 33%, 236160 KB, 50526 KB/s, 4 seconds passed +... 33%, 236192 KB, 50528 KB/s, 4 seconds passed +... 33%, 236224 KB, 50531 KB/s, 4 seconds passed +... 33%, 236256 KB, 50533 KB/s, 4 seconds passed +... 33%, 236288 KB, 50536 KB/s, 4 seconds passed +... 33%, 236320 KB, 50539 KB/s, 4 seconds passed +... 33%, 236352 KB, 50541 KB/s, 4 seconds passed +... 33%, 236384 KB, 50544 KB/s, 4 seconds passed +... 33%, 236416 KB, 50547 KB/s, 4 seconds passed +... 33%, 236448 KB, 50550 KB/s, 4 seconds passed +... 34%, 236480 KB, 50552 KB/s, 4 seconds passed +... 34%, 236512 KB, 50555 KB/s, 4 seconds passed +... 34%, 236544 KB, 50558 KB/s, 4 seconds passed +... 34%, 236576 KB, 50561 KB/s, 4 seconds passed +... 34%, 236608 KB, 50564 KB/s, 4 seconds passed +... 34%, 236640 KB, 50568 KB/s, 4 seconds passed +... 34%, 236672 KB, 50572 KB/s, 4 seconds passed +... 34%, 236704 KB, 50576 KB/s, 4 seconds passed +... 34%, 236736 KB, 50579 KB/s, 4 seconds passed +... 34%, 236768 KB, 50583 KB/s, 4 seconds passed +... 34%, 236800 KB, 50587 KB/s, 4 seconds passed +... 34%, 236832 KB, 50590 KB/s, 4 seconds passed +... 34%, 236864 KB, 50594 KB/s, 4 seconds passed +... 34%, 236896 KB, 50598 KB/s, 4 seconds passed +... 34%, 236928 KB, 50601 KB/s, 4 seconds passed +... 34%, 236960 KB, 50605 KB/s, 4 seconds passed +... 34%, 236992 KB, 50609 KB/s, 4 seconds passed +... 34%, 237024 KB, 50612 KB/s, 4 seconds passed +... 34%, 237056 KB, 50615 KB/s, 4 seconds passed +... 34%, 237088 KB, 50619 KB/s, 4 seconds passed +... 34%, 237120 KB, 50623 KB/s, 4 seconds passed +... 34%, 237152 KB, 50627 KB/s, 4 seconds passed +... 34%, 237184 KB, 50630 KB/s, 4 seconds passed +... 34%, 237216 KB, 50634 KB/s, 4 seconds passed +... 34%, 237248 KB, 50638 KB/s, 4 seconds passed +... 34%, 237280 KB, 50641 KB/s, 4 seconds passed +... 34%, 237312 KB, 50645 KB/s, 4 seconds passed +... 34%, 237344 KB, 50649 KB/s, 4 seconds passed +... 34%, 237376 KB, 50652 KB/s, 4 seconds passed +... 34%, 237408 KB, 50656 KB/s, 4 seconds passed +... 34%, 237440 KB, 50660 KB/s, 4 seconds passed +... 34%, 237472 KB, 50664 KB/s, 4 seconds passed +... 34%, 237504 KB, 50667 KB/s, 4 seconds passed +... 34%, 237536 KB, 50671 KB/s, 4 seconds passed +... 34%, 237568 KB, 50675 KB/s, 4 seconds passed +... 34%, 237600 KB, 50678 KB/s, 4 seconds passed +... 34%, 237632 KB, 50682 KB/s, 4 seconds passed +... 34%, 237664 KB, 50686 KB/s, 4 seconds passed +... 34%, 237696 KB, 50691 KB/s, 4 seconds passed +... 34%, 237728 KB, 50696 KB/s, 4 seconds passed +... 34%, 237760 KB, 50701 KB/s, 4 seconds passed +... 34%, 237792 KB, 50705 KB/s, 4 seconds passed +... 34%, 237824 KB, 50710 KB/s, 4 seconds passed +... 34%, 237856 KB, 50715 KB/s, 4 seconds passed +... 34%, 237888 KB, 50720 KB/s, 4 seconds passed +... 34%, 237920 KB, 50725 KB/s, 4 seconds passed +... 34%, 237952 KB, 50729 KB/s, 4 seconds passed +... 34%, 237984 KB, 50734 KB/s, 4 seconds passed +... 34%, 238016 KB, 50739 KB/s, 4 seconds passed +... 34%, 238048 KB, 50743 KB/s, 4 seconds passed +... 34%, 238080 KB, 50748 KB/s, 4 seconds passed +... 34%, 238112 KB, 50753 KB/s, 4 seconds passed +... 34%, 238144 KB, 50758 KB/s, 4 seconds passed +... 34%, 238176 KB, 50762 KB/s, 4 seconds passed +... 34%, 238208 KB, 50767 KB/s, 4 seconds passed +... 34%, 238240 KB, 50772 KB/s, 4 seconds passed +... 34%, 238272 KB, 50776 KB/s, 4 seconds passed +... 34%, 238304 KB, 50781 KB/s, 4 seconds passed +... 34%, 238336 KB, 50786 KB/s, 4 seconds passed +... 34%, 238368 KB, 50790 KB/s, 4 seconds passed +... 34%, 238400 KB, 50795 KB/s, 4 seconds passed +... 34%, 238432 KB, 50800 KB/s, 4 seconds passed +... 34%, 238464 KB, 50804 KB/s, 4 seconds passed +... 34%, 238496 KB, 50809 KB/s, 4 seconds passed +... 34%, 238528 KB, 50814 KB/s, 4 seconds passed +... 34%, 238560 KB, 50819 KB/s, 4 seconds passed +... 34%, 238592 KB, 50824 KB/s, 4 seconds passed +... 34%, 238624 KB, 50828 KB/s, 4 seconds passed +... 34%, 238656 KB, 50833 KB/s, 4 seconds passed +... 34%, 238688 KB, 50838 KB/s, 4 seconds passed +... 34%, 238720 KB, 50842 KB/s, 4 seconds passed +... 34%, 238752 KB, 50847 KB/s, 4 seconds passed +... 34%, 238784 KB, 50852 KB/s, 4 seconds passed +... 34%, 238816 KB, 50857 KB/s, 4 seconds passed +... 34%, 238848 KB, 50861 KB/s, 4 seconds passed +... 34%, 238880 KB, 50866 KB/s, 4 seconds passed +... 34%, 238912 KB, 50868 KB/s, 4 seconds passed +... 34%, 238944 KB, 50873 KB/s, 4 seconds passed +... 34%, 238976 KB, 50877 KB/s, 4 seconds passed +... 34%, 239008 KB, 50881 KB/s, 4 seconds passed +... 34%, 239040 KB, 50885 KB/s, 4 seconds passed +... 34%, 239072 KB, 50888 KB/s, 4 seconds passed +... 34%, 239104 KB, 50892 KB/s, 4 seconds passed +... 34%, 239136 KB, 50896 KB/s, 4 seconds passed +... 34%, 239168 KB, 50899 KB/s, 4 seconds passed +... 34%, 239200 KB, 50902 KB/s, 4 seconds passed +... 34%, 239232 KB, 50907 KB/s, 4 seconds passed +... 34%, 239264 KB, 50910 KB/s, 4 seconds passed +... 34%, 239296 KB, 50915 KB/s, 4 seconds passed +... 34%, 239328 KB, 50919 KB/s, 4 seconds passed +... 34%, 239360 KB, 50922 KB/s, 4 seconds passed +... 34%, 239392 KB, 50926 KB/s, 4 seconds passed +... 34%, 239424 KB, 50929 KB/s, 4 seconds passed +... 34%, 239456 KB, 50932 KB/s, 4 seconds passed +... 34%, 239488 KB, 50923 KB/s, 4 seconds passed +... 34%, 239520 KB, 50927 KB/s, 4 seconds passed +... 34%, 239552 KB, 50931 KB/s, 4 seconds passed +... 34%, 239584 KB, 50934 KB/s, 4 seconds passed +... 34%, 239616 KB, 50938 KB/s, 4 seconds passed +... 34%, 239648 KB, 50940 KB/s, 4 seconds passed +... 34%, 239680 KB, 50943 KB/s, 4 seconds passed +... 34%, 239712 KB, 50945 KB/s, 4 seconds passed +... 34%, 239744 KB, 50948 KB/s, 4 seconds passed +... 34%, 239776 KB, 50952 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 34%, 239808 KB, 50815 KB/s, 4 seconds passed +... 34%, 239840 KB, 50817 KB/s, 4 seconds passed +... 34%, 239872 KB, 50820 KB/s, 4 seconds passed +... 34%, 239904 KB, 50822 KB/s, 4 seconds passed +... 34%, 239936 KB, 50825 KB/s, 4 seconds passed +... 34%, 239968 KB, 50828 KB/s, 4 seconds passed +... 34%, 240000 KB, 50830 KB/s, 4 seconds passed +... 34%, 240032 KB, 50833 KB/s, 4 seconds passed +... 34%, 240064 KB, 50836 KB/s, 4 seconds passed +... 34%, 240096 KB, 50838 KB/s, 4 seconds passed +... 34%, 240128 KB, 50840 KB/s, 4 seconds passed +... 34%, 240160 KB, 50843 KB/s, 4 seconds passed +... 34%, 240192 KB, 50845 KB/s, 4 seconds passed +... 34%, 240224 KB, 50848 KB/s, 4 seconds passed +... 34%, 240256 KB, 50851 KB/s, 4 seconds passed +... 34%, 240288 KB, 50853 KB/s, 4 seconds passed +... 34%, 240320 KB, 50856 KB/s, 4 seconds passed +... 34%, 240352 KB, 50859 KB/s, 4 seconds passed +... 34%, 240384 KB, 50862 KB/s, 4 seconds passed +... 34%, 240416 KB, 50865 KB/s, 4 seconds passed +... 34%, 240448 KB, 50869 KB/s, 4 seconds passed +... 34%, 240480 KB, 50872 KB/s, 4 seconds passed +... 34%, 240512 KB, 50876 KB/s, 4 seconds passed +... 34%, 240544 KB, 50880 KB/s, 4 seconds passed +... 34%, 240576 KB, 50883 KB/s, 4 seconds passed +... 34%, 240608 KB, 50887 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 34%, 240640 KB, 50131 KB/s, 4 seconds passed +... 34%, 240672 KB, 50132 KB/s, 4 seconds passed +... 34%, 240704 KB, 50134 KB/s, 4 seconds passed +... 34%, 240736 KB, 50136 KB/s, 4 seconds passed +... 34%, 240768 KB, 50139 KB/s, 4 seconds passed +... 34%, 240800 KB, 50141 KB/s, 4 seconds passed +... 34%, 240832 KB, 50144 KB/s, 4 seconds passed +... 34%, 240864 KB, 50146 KB/s, 4 seconds passed +... 34%, 240896 KB, 50149 KB/s, 4 seconds passed +... 34%, 240928 KB, 50151 KB/s, 4 seconds passed +... 34%, 240960 KB, 50154 KB/s, 4 seconds passed +... 34%, 240992 KB, 50157 KB/s, 4 seconds passed +... 34%, 241024 KB, 50159 KB/s, 4 seconds passed +... 34%, 241056 KB, 50162 KB/s, 4 seconds passed +... 34%, 241088 KB, 50164 KB/s, 4 seconds passed +... 34%, 241120 KB, 50167 KB/s, 4 seconds passed +... 34%, 241152 KB, 50170 KB/s, 4 seconds passed +... 34%, 241184 KB, 50172 KB/s, 4 seconds passed +... 34%, 241216 KB, 50174 KB/s, 4 seconds passed +... 34%, 241248 KB, 50177 KB/s, 4 seconds passed +... 34%, 241280 KB, 50180 KB/s, 4 seconds passed +... 34%, 241312 KB, 50182 KB/s, 4 seconds passed +... 34%, 241344 KB, 50185 KB/s, 4 seconds passed +... 34%, 241376 KB, 50187 KB/s, 4 seconds passed +... 34%, 241408 KB, 50190 KB/s, 4 seconds passed +... 34%, 241440 KB, 50195 KB/s, 4 seconds passed +... 34%, 241472 KB, 50198 KB/s, 4 seconds passed +... 34%, 241504 KB, 50202 KB/s, 4 seconds passed +... 34%, 241536 KB, 50206 KB/s, 4 seconds passed +... 34%, 241568 KB, 50210 KB/s, 4 seconds passed +... 34%, 241600 KB, 50214 KB/s, 4 seconds passed +... 34%, 241632 KB, 50218 KB/s, 4 seconds passed +... 34%, 241664 KB, 50221 KB/s, 4 seconds passed +... 34%, 241696 KB, 50225 KB/s, 4 seconds passed +... 34%, 241728 KB, 50229 KB/s, 4 seconds passed +... 34%, 241760 KB, 50233 KB/s, 4 seconds passed +... 34%, 241792 KB, 50237 KB/s, 4 seconds passed +... 34%, 241824 KB, 50241 KB/s, 4 seconds passed +... 34%, 241856 KB, 50245 KB/s, 4 seconds passed +... 34%, 241888 KB, 50248 KB/s, 4 seconds passed +... 34%, 241920 KB, 50252 KB/s, 4 seconds passed +... 34%, 241952 KB, 50256 KB/s, 4 seconds passed +... 34%, 241984 KB, 50260 KB/s, 4 seconds passed +... 34%, 242016 KB, 50264 KB/s, 4 seconds passed +... 34%, 242048 KB, 50268 KB/s, 4 seconds passed +... 34%, 242080 KB, 50272 KB/s, 4 seconds passed +... 34%, 242112 KB, 50276 KB/s, 4 seconds passed +... 34%, 242144 KB, 50280 KB/s, 4 seconds passed +... 34%, 242176 KB, 50284 KB/s, 4 seconds passed +... 34%, 242208 KB, 50288 KB/s, 4 seconds passed +... 34%, 242240 KB, 50292 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 34%, 242272 KB, 50296 KB/s, 4 seconds passed +... 34%, 242304 KB, 50300 KB/s, 4 seconds passed +... 34%, 242336 KB, 50304 KB/s, 4 seconds passed +... 34%, 242368 KB, 50308 KB/s, 4 seconds passed +... 34%, 242400 KB, 50312 KB/s, 4 seconds passed +... 34%, 242432 KB, 50316 KB/s, 4 seconds passed +... 34%, 242464 KB, 50320 KB/s, 4 seconds passed +... 34%, 242496 KB, 50324 KB/s, 4 seconds passed +... 34%, 242528 KB, 50328 KB/s, 4 seconds passed +... 34%, 242560 KB, 50331 KB/s, 4 seconds passed +... 34%, 242592 KB, 50335 KB/s, 4 seconds passed +... 34%, 242624 KB, 50339 KB/s, 4 seconds passed +... 34%, 242656 KB, 50343 KB/s, 4 seconds passed +... 34%, 242688 KB, 50347 KB/s, 4 seconds passed +... 34%, 242720 KB, 50351 KB/s, 4 seconds passed +... 34%, 242752 KB, 50355 KB/s, 4 seconds passed +... 34%, 242784 KB, 50360 KB/s, 4 seconds passed +... 34%, 242816 KB, 50365 KB/s, 4 seconds passed +... 34%, 242848 KB, 50370 KB/s, 4 seconds passed +... 34%, 242880 KB, 50375 KB/s, 4 seconds passed +... 34%, 242912 KB, 50379 KB/s, 4 seconds passed +... 34%, 242944 KB, 50384 KB/s, 4 seconds passed +... 34%, 242976 KB, 50389 KB/s, 4 seconds passed +... 34%, 243008 KB, 50394 KB/s, 4 seconds passed +... 34%, 243040 KB, 50398 KB/s, 4 seconds passed +... 34%, 243072 KB, 50403 KB/s, 4 seconds passed +... 34%, 243104 KB, 50408 KB/s, 4 seconds passed +... 34%, 243136 KB, 50413 KB/s, 4 seconds passed +... 34%, 243168 KB, 50281 KB/s, 4 seconds passed +... 34%, 243200 KB, 50282 KB/s, 4 seconds passed +... 34%, 243232 KB, 50285 KB/s, 4 seconds passed +... 34%, 243264 KB, 50287 KB/s, 4 seconds passed +... 34%, 243296 KB, 50290 KB/s, 4 seconds passed +... 34%, 243328 KB, 50292 KB/s, 4 seconds passed +... 34%, 243360 KB, 50295 KB/s, 4 seconds passed +... 34%, 243392 KB, 50298 KB/s, 4 seconds passed +... 34%, 243424 KB, 50300 KB/s, 4 seconds passed +... 35%, 243456 KB, 50303 KB/s, 4 seconds passed +... 35%, 243488 KB, 50306 KB/s, 4 seconds passed +... 35%, 243520 KB, 50308 KB/s, 4 seconds passed +... 35%, 243552 KB, 50311 KB/s, 4 seconds passed +... 35%, 243584 KB, 50314 KB/s, 4 seconds passed +... 35%, 243616 KB, 50317 KB/s, 4 seconds passed +... 35%, 243648 KB, 50319 KB/s, 4 seconds passed +... 35%, 243680 KB, 50322 KB/s, 4 seconds passed +... 35%, 243712 KB, 50325 KB/s, 4 seconds passed +... 35%, 243744 KB, 50327 KB/s, 4 seconds passed +... 35%, 243776 KB, 50330 KB/s, 4 seconds passed +... 35%, 243808 KB, 50333 KB/s, 4 seconds passed +... 35%, 243840 KB, 50336 KB/s, 4 seconds passed +... 35%, 243872 KB, 50338 KB/s, 4 seconds passed +... 35%, 243904 KB, 50341 KB/s, 4 seconds passed +... 35%, 243936 KB, 50343 KB/s, 4 seconds passed +... 35%, 243968 KB, 50346 KB/s, 4 seconds passed +... 35%, 244000 KB, 50349 KB/s, 4 seconds passed +... 35%, 244032 KB, 50351 KB/s, 4 seconds passed +... 35%, 244064 KB, 50354 KB/s, 4 seconds passed +... 35%, 244096 KB, 50356 KB/s, 4 seconds passed +... 35%, 244128 KB, 50359 KB/s, 4 seconds passed +... 35%, 244160 KB, 50362 KB/s, 4 seconds passed +... 35%, 244192 KB, 50364 KB/s, 4 seconds passed +... 35%, 244224 KB, 50367 KB/s, 4 seconds passed +... 35%, 244256 KB, 50370 KB/s, 4 seconds passed +... 35%, 244288 KB, 50372 KB/s, 4 seconds passed +... 35%, 244320 KB, 50375 KB/s, 4 seconds passed +... 35%, 244352 KB, 50378 KB/s, 4 seconds passed +... 35%, 244384 KB, 50381 KB/s, 4 seconds passed +... 35%, 244416 KB, 50385 KB/s, 4 seconds passed +... 35%, 244448 KB, 50388 KB/s, 4 seconds passed +... 35%, 244480 KB, 50393 KB/s, 4 seconds passed +... 35%, 244512 KB, 50397 KB/s, 4 seconds passed +... 35%, 244544 KB, 50402 KB/s, 4 seconds passed +... 35%, 244576 KB, 50406 KB/s, 4 seconds passed +... 35%, 244608 KB, 50411 KB/s, 4 seconds passed +... 35%, 244640 KB, 50415 KB/s, 4 seconds passed +... 35%, 244672 KB, 50420 KB/s, 4 seconds passed +... 35%, 244704 KB, 50424 KB/s, 4 seconds passed +... 35%, 244736 KB, 50429 KB/s, 4 seconds passed +... 35%, 244768 KB, 50434 KB/s, 4 seconds passed +... 35%, 244800 KB, 50438 KB/s, 4 seconds passed +... 35%, 244832 KB, 50443 KB/s, 4 seconds passed +... 35%, 244864 KB, 50447 KB/s, 4 seconds passed +... 35%, 244896 KB, 50452 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 35%, 244928 KB, 50274 KB/s, 4 seconds passed +... 35%, 244960 KB, 50275 KB/s, 4 seconds passed +... 35%, 244992 KB, 50278 KB/s, 4 seconds passed +... 35%, 245024 KB, 50280 KB/s, 4 seconds passed +... 35%, 245056 KB, 50283 KB/s, 4 seconds passed +... 35%, 245088 KB, 50285 KB/s, 4 seconds passed +... 35%, 245120 KB, 50287 KB/s, 4 seconds passed +... 35%, 245152 KB, 50290 KB/s, 4 seconds passed +... 35%, 245184 KB, 50292 KB/s, 4 seconds passed +... 35%, 245216 KB, 50295 KB/s, 4 seconds passed +... 35%, 245248 KB, 50297 KB/s, 4 seconds passed +... 35%, 245280 KB, 50300 KB/s, 4 seconds passed +... 35%, 245312 KB, 50302 KB/s, 4 seconds passed +... 35%, 245344 KB, 50305 KB/s, 4 seconds passed +... 35%, 245376 KB, 50308 KB/s, 4 seconds passed +... 35%, 245408 KB, 50310 KB/s, 4 seconds passed +... 35%, 245440 KB, 50313 KB/s, 4 seconds passed +... 35%, 245472 KB, 50316 KB/s, 4 seconds passed +... 35%, 245504 KB, 50318 KB/s, 4 seconds passed +... 35%, 245536 KB, 50321 KB/s, 4 seconds passed +... 35%, 245568 KB, 50323 KB/s, 4 seconds passed +... 35%, 245600 KB, 50326 KB/s, 4 seconds passed +... 35%, 245632 KB, 50330 KB/s, 4 seconds passed +... 35%, 245664 KB, 50333 KB/s, 4 seconds passed +... 35%, 245696 KB, 50337 KB/s, 4 seconds passed +... 35%, 245728 KB, 50341 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 35%, 245760 KB, 49536 KB/s, 4 seconds passed +... 35%, 245792 KB, 49537 KB/s, 4 seconds passed +... 35%, 245824 KB, 49539 KB/s, 4 seconds passed +... 35%, 245856 KB, 49541 KB/s, 4 seconds passed +... 35%, 245888 KB, 49543 KB/s, 4 seconds passed +... 35%, 245920 KB, 49546 KB/s, 4 seconds passed +... 35%, 245952 KB, 49548 KB/s, 4 seconds passed +... 35%, 245984 KB, 49551 KB/s, 4 seconds passed +... 35%, 246016 KB, 49553 KB/s, 4 seconds passed +... 35%, 246048 KB, 49556 KB/s, 4 seconds passed +... 35%, 246080 KB, 49559 KB/s, 4 seconds passed +... 35%, 246112 KB, 49561 KB/s, 4 seconds passed +... 35%, 246144 KB, 49564 KB/s, 4 seconds passed +... 35%, 246176 KB, 49566 KB/s, 4 seconds passed +... 35%, 246208 KB, 49569 KB/s, 4 seconds passed +... 35%, 246240 KB, 49571 KB/s, 4 seconds passed +... 35%, 246272 KB, 49574 KB/s, 4 seconds passed +... 35%, 246304 KB, 49576 KB/s, 4 seconds passed +... 35%, 246336 KB, 49579 KB/s, 4 seconds passed +... 35%, 246368 KB, 49581 KB/s, 4 seconds passed +... 35%, 246400 KB, 49584 KB/s, 4 seconds passed +... 35%, 246432 KB, 49587 KB/s, 4 seconds passed +... 35%, 246464 KB, 49589 KB/s, 4 seconds passed +... 35%, 246496 KB, 49592 KB/s, 4 seconds passed + +.. parsed-literal:: + + ... 35%, 246528 KB, 49594 KB/s, 4 seconds passed +... 35%, 246560 KB, 49597 KB/s, 4 seconds passed +... 35%, 246592 KB, 49599 KB/s, 4 seconds passed +... 35%, 246624 KB, 49602 KB/s, 4 seconds passed +... 35%, 246656 KB, 49606 KB/s, 4 seconds passed +... 35%, 246688 KB, 49610 KB/s, 4 seconds passed +... 35%, 246720 KB, 49614 KB/s, 4 seconds passed +... 35%, 246752 KB, 49618 KB/s, 4 seconds passed +... 35%, 246784 KB, 49622 KB/s, 4 seconds passed +... 35%, 246816 KB, 49626 KB/s, 4 seconds passed +... 35%, 246848 KB, 49630 KB/s, 4 seconds passed +... 35%, 246880 KB, 49634 KB/s, 4 seconds passed +... 35%, 246912 KB, 49638 KB/s, 4 seconds passed +... 35%, 246944 KB, 49641 KB/s, 4 seconds passed +... 35%, 246976 KB, 49646 KB/s, 4 seconds passed +... 35%, 247008 KB, 49648 KB/s, 4 seconds passed +... 35%, 247040 KB, 49651 KB/s, 4 seconds passed +... 35%, 247072 KB, 49653 KB/s, 4 seconds passed +... 35%, 247104 KB, 49656 KB/s, 4 seconds passed +... 35%, 247136 KB, 49660 KB/s, 4 seconds passed +... 35%, 247168 KB, 49661 KB/s, 4 seconds passed +... 35%, 247200 KB, 49665 KB/s, 4 seconds passed +... 35%, 247232 KB, 49666 KB/s, 4 seconds passed +... 35%, 247264 KB, 49668 KB/s, 4 seconds passed +... 35%, 247296 KB, 49671 KB/s, 4 seconds passed +... 35%, 247328 KB, 49675 KB/s, 4 seconds passed +... 35%, 247360 KB, 49678 KB/s, 4 seconds passed +... 35%, 247392 KB, 49681 KB/s, 4 seconds passed +... 35%, 247424 KB, 49528 KB/s, 4 seconds passed +... 35%, 247456 KB, 49530 KB/s, 4 seconds passed +... 35%, 247488 KB, 49533 KB/s, 4 seconds passed +... 35%, 247520 KB, 49536 KB/s, 4 seconds passed +... 35%, 247552 KB, 49539 KB/s, 4 seconds passed +... 35%, 247584 KB, 49478 KB/s, 5 seconds passed +... 35%, 247616 KB, 49480 KB/s, 5 seconds passed +... 35%, 247648 KB, 49483 KB/s, 5 seconds passed +... 35%, 247680 KB, 49486 KB/s, 5 seconds passed +... 35%, 247712 KB, 49488 KB/s, 5 seconds passed +... 35%, 247744 KB, 49491 KB/s, 5 seconds passed +... 35%, 247776 KB, 49493 KB/s, 5 seconds passed +... 35%, 247808 KB, 49497 KB/s, 5 seconds passed +... 35%, 247840 KB, 49500 KB/s, 5 seconds passed +... 35%, 247872 KB, 49479 KB/s, 5 seconds passed +... 35%, 247904 KB, 49481 KB/s, 5 seconds passed +... 35%, 247936 KB, 49484 KB/s, 5 seconds passed +... 35%, 247968 KB, 49486 KB/s, 5 seconds passed +... 35%, 248000 KB, 49489 KB/s, 5 seconds passed +... 35%, 248032 KB, 49491 KB/s, 5 seconds passed +... 35%, 248064 KB, 49494 KB/s, 5 seconds passed +... 35%, 248096 KB, 49497 KB/s, 5 seconds passed +... 35%, 248128 KB, 49499 KB/s, 5 seconds passed +... 35%, 248160 KB, 49502 KB/s, 5 seconds passed +... 35%, 248192 KB, 49504 KB/s, 5 seconds passed +... 35%, 248224 KB, 49507 KB/s, 5 seconds passed +... 35%, 248256 KB, 49510 KB/s, 5 seconds passed +... 35%, 248288 KB, 49513 KB/s, 5 seconds passed +... 35%, 248320 KB, 49517 KB/s, 5 seconds passed +... 35%, 248352 KB, 49520 KB/s, 5 seconds passed +... 35%, 248384 KB, 49506 KB/s, 5 seconds passed +... 35%, 248416 KB, 49509 KB/s, 5 seconds passed +... 35%, 248448 KB, 49511 KB/s, 5 seconds passed +... 35%, 248480 KB, 49514 KB/s, 5 seconds passed +... 35%, 248512 KB, 49517 KB/s, 5 seconds passed +... 35%, 248544 KB, 49519 KB/s, 5 seconds passed +... 35%, 248576 KB, 49522 KB/s, 5 seconds passed +... 35%, 248608 KB, 49524 KB/s, 5 seconds passed +... 35%, 248640 KB, 49528 KB/s, 5 seconds passed +... 35%, 248672 KB, 49531 KB/s, 5 seconds passed +... 35%, 248704 KB, 49530 KB/s, 5 seconds passed +... 35%, 248736 KB, 49533 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 35%, 248768 KB, 49535 KB/s, 5 seconds passed +... 35%, 248800 KB, 49538 KB/s, 5 seconds passed +... 35%, 248832 KB, 49542 KB/s, 5 seconds passed +... 35%, 248864 KB, 49545 KB/s, 5 seconds passed +... 35%, 248896 KB, 49548 KB/s, 5 seconds passed +... 35%, 248928 KB, 49552 KB/s, 5 seconds passed +... 35%, 248960 KB, 49555 KB/s, 5 seconds passed +... 35%, 248992 KB, 49558 KB/s, 5 seconds passed +... 35%, 249024 KB, 49562 KB/s, 5 seconds passed +... 35%, 249056 KB, 49565 KB/s, 5 seconds passed +... 35%, 249088 KB, 49568 KB/s, 5 seconds passed +... 35%, 249120 KB, 49572 KB/s, 5 seconds passed +... 35%, 249152 KB, 49575 KB/s, 5 seconds passed +... 35%, 249184 KB, 49578 KB/s, 5 seconds passed +... 35%, 249216 KB, 49582 KB/s, 5 seconds passed +... 35%, 249248 KB, 49585 KB/s, 5 seconds passed +... 35%, 249280 KB, 49589 KB/s, 5 seconds passed +... 35%, 249312 KB, 49592 KB/s, 5 seconds passed +... 35%, 249344 KB, 49595 KB/s, 5 seconds passed +... 35%, 249376 KB, 49598 KB/s, 5 seconds passed +... 35%, 249408 KB, 49602 KB/s, 5 seconds passed +... 35%, 249440 KB, 49605 KB/s, 5 seconds passed +... 35%, 249472 KB, 49608 KB/s, 5 seconds passed +... 35%, 249504 KB, 49611 KB/s, 5 seconds passed +... 35%, 249536 KB, 49615 KB/s, 5 seconds passed +... 35%, 249568 KB, 49618 KB/s, 5 seconds passed +... 35%, 249600 KB, 49622 KB/s, 5 seconds passed +... 35%, 249632 KB, 49625 KB/s, 5 seconds passed +... 35%, 249664 KB, 49628 KB/s, 5 seconds passed +... 35%, 249696 KB, 49631 KB/s, 5 seconds passed +... 35%, 249728 KB, 49634 KB/s, 5 seconds passed +... 35%, 249760 KB, 49638 KB/s, 5 seconds passed +... 35%, 249792 KB, 49641 KB/s, 5 seconds passed +... 35%, 249824 KB, 49644 KB/s, 5 seconds passed +... 35%, 249856 KB, 49649 KB/s, 5 seconds passed +... 35%, 249888 KB, 49653 KB/s, 5 seconds passed +... 35%, 249920 KB, 49657 KB/s, 5 seconds passed +... 35%, 249952 KB, 49661 KB/s, 5 seconds passed +... 35%, 249984 KB, 49666 KB/s, 5 seconds passed +... 35%, 250016 KB, 49670 KB/s, 5 seconds passed +... 35%, 250048 KB, 49675 KB/s, 5 seconds passed +... 35%, 250080 KB, 49679 KB/s, 5 seconds passed +... 35%, 250112 KB, 49683 KB/s, 5 seconds passed +... 35%, 250144 KB, 49688 KB/s, 5 seconds passed +... 35%, 250176 KB, 49692 KB/s, 5 seconds passed +... 35%, 250208 KB, 49696 KB/s, 5 seconds passed +... 35%, 250240 KB, 49700 KB/s, 5 seconds passed +... 35%, 250272 KB, 49705 KB/s, 5 seconds passed +... 35%, 250304 KB, 49709 KB/s, 5 seconds passed +... 35%, 250336 KB, 49713 KB/s, 5 seconds passed +... 35%, 250368 KB, 49718 KB/s, 5 seconds passed +... 36%, 250400 KB, 49722 KB/s, 5 seconds passed +... 36%, 250432 KB, 49726 KB/s, 5 seconds passed +... 36%, 250464 KB, 49730 KB/s, 5 seconds passed +... 36%, 250496 KB, 49732 KB/s, 5 seconds passed +... 36%, 250528 KB, 49735 KB/s, 5 seconds passed +... 36%, 250560 KB, 49738 KB/s, 5 seconds passed +... 36%, 250592 KB, 49742 KB/s, 5 seconds passed +... 36%, 250624 KB, 49747 KB/s, 5 seconds passed +... 36%, 250656 KB, 49751 KB/s, 5 seconds passed +... 36%, 250688 KB, 49755 KB/s, 5 seconds passed +... 36%, 250720 KB, 49758 KB/s, 5 seconds passed +... 36%, 250752 KB, 49760 KB/s, 5 seconds passed +... 36%, 250784 KB, 49762 KB/s, 5 seconds passed +... 36%, 250816 KB, 49766 KB/s, 5 seconds passed +... 36%, 250848 KB, 49770 KB/s, 5 seconds passed +... 36%, 250880 KB, 49736 KB/s, 5 seconds passed +... 36%, 250912 KB, 49739 KB/s, 5 seconds passed +... 36%, 250944 KB, 49742 KB/s, 5 seconds passed +... 36%, 250976 KB, 49746 KB/s, 5 seconds passed +... 36%, 251008 KB, 49749 KB/s, 5 seconds passed +... 36%, 251040 KB, 49751 KB/s, 5 seconds passed +... 36%, 251072 KB, 49755 KB/s, 5 seconds passed +... 36%, 251104 KB, 49758 KB/s, 5 seconds passed +... 36%, 251136 KB, 49761 KB/s, 5 seconds passed +... 36%, 251168 KB, 49764 KB/s, 5 seconds passed +... 36%, 251200 KB, 49768 KB/s, 5 seconds passed +... 36%, 251232 KB, 49771 KB/s, 5 seconds passed +... 36%, 251264 KB, 49774 KB/s, 5 seconds passed +... 36%, 251296 KB, 49778 KB/s, 5 seconds passed +... 36%, 251328 KB, 49781 KB/s, 5 seconds passed +... 36%, 251360 KB, 49784 KB/s, 5 seconds passed +... 36%, 251392 KB, 49788 KB/s, 5 seconds passed +... 36%, 251424 KB, 49792 KB/s, 5 seconds passed +... 36%, 251456 KB, 49791 KB/s, 5 seconds passed +... 36%, 251488 KB, 49793 KB/s, 5 seconds passed +... 36%, 251520 KB, 49797 KB/s, 5 seconds passed +... 36%, 251552 KB, 49800 KB/s, 5 seconds passed +... 36%, 251584 KB, 49803 KB/s, 5 seconds passed +... 36%, 251616 KB, 49807 KB/s, 5 seconds passed +... 36%, 251648 KB, 49810 KB/s, 5 seconds passed +... 36%, 251680 KB, 49814 KB/s, 5 seconds passed +... 36%, 251712 KB, 49817 KB/s, 5 seconds passed +... 36%, 251744 KB, 49821 KB/s, 5 seconds passed +... 36%, 251776 KB, 49825 KB/s, 5 seconds passed +... 36%, 251808 KB, 49829 KB/s, 5 seconds passed +... 36%, 251840 KB, 49833 KB/s, 5 seconds passed +... 36%, 251872 KB, 49837 KB/s, 5 seconds passed +... 36%, 251904 KB, 49840 KB/s, 5 seconds passed +... 36%, 251936 KB, 49844 KB/s, 5 seconds passed +... 36%, 251968 KB, 49819 KB/s, 5 seconds passed +... 36%, 252000 KB, 49822 KB/s, 5 seconds passed +... 36%, 252032 KB, 49825 KB/s, 5 seconds passed +... 36%, 252064 KB, 49829 KB/s, 5 seconds passed +... 36%, 252096 KB, 49833 KB/s, 5 seconds passed +... 36%, 252128 KB, 49837 KB/s, 5 seconds passed +... 36%, 252160 KB, 49840 KB/s, 5 seconds passed +... 36%, 252192 KB, 49844 KB/s, 5 seconds passed +... 36%, 252224 KB, 49847 KB/s, 5 seconds passed +... 36%, 252256 KB, 49851 KB/s, 5 seconds passed +... 36%, 252288 KB, 49855 KB/s, 5 seconds passed +... 36%, 252320 KB, 49859 KB/s, 5 seconds passed +... 36%, 252352 KB, 49862 KB/s, 5 seconds passed +... 36%, 252384 KB, 49860 KB/s, 5 seconds passed +... 36%, 252416 KB, 49864 KB/s, 5 seconds passed +... 36%, 252448 KB, 49868 KB/s, 5 seconds passed +... 36%, 252480 KB, 49872 KB/s, 5 seconds passed +... 36%, 252512 KB, 49875 KB/s, 5 seconds passed +... 36%, 252544 KB, 49879 KB/s, 5 seconds passed +... 36%, 252576 KB, 49882 KB/s, 5 seconds passed +... 36%, 252608 KB, 49886 KB/s, 5 seconds passed +... 36%, 252640 KB, 49890 KB/s, 5 seconds passed +... 36%, 252672 KB, 49894 KB/s, 5 seconds passed +... 36%, 252704 KB, 49896 KB/s, 5 seconds passed +... 36%, 252736 KB, 49900 KB/s, 5 seconds passed +... 36%, 252768 KB, 49904 KB/s, 5 seconds passed +... 36%, 252800 KB, 49907 KB/s, 5 seconds passed +... 36%, 252832 KB, 49911 KB/s, 5 seconds passed +... 36%, 252864 KB, 49914 KB/s, 5 seconds passed +... 36%, 252896 KB, 49917 KB/s, 5 seconds passed +... 36%, 252928 KB, 49921 KB/s, 5 seconds passed +... 36%, 252960 KB, 49925 KB/s, 5 seconds passed +... 36%, 252992 KB, 49929 KB/s, 5 seconds passed +... 36%, 253024 KB, 49932 KB/s, 5 seconds passed +... 36%, 253056 KB, 49936 KB/s, 5 seconds passed +... 36%, 253088 KB, 49939 KB/s, 5 seconds passed +... 36%, 253120 KB, 49943 KB/s, 5 seconds passed +... 36%, 253152 KB, 49946 KB/s, 5 seconds passed +... 36%, 253184 KB, 49950 KB/s, 5 seconds passed +... 36%, 253216 KB, 49953 KB/s, 5 seconds passed +... 36%, 253248 KB, 49957 KB/s, 5 seconds passed +... 36%, 253280 KB, 49960 KB/s, 5 seconds passed +... 36%, 253312 KB, 49964 KB/s, 5 seconds passed +... 36%, 253344 KB, 49968 KB/s, 5 seconds passed +... 36%, 253376 KB, 49971 KB/s, 5 seconds passed +... 36%, 253408 KB, 49975 KB/s, 5 seconds passed +... 36%, 253440 KB, 49978 KB/s, 5 seconds passed +... 36%, 253472 KB, 49982 KB/s, 5 seconds passed +... 36%, 253504 KB, 49985 KB/s, 5 seconds passed +... 36%, 253536 KB, 49989 KB/s, 5 seconds passed +... 36%, 253568 KB, 49993 KB/s, 5 seconds passed +... 36%, 253600 KB, 49996 KB/s, 5 seconds passed +... 36%, 253632 KB, 50000 KB/s, 5 seconds passed +... 36%, 253664 KB, 50003 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 36%, 253696 KB, 50007 KB/s, 5 seconds passed +... 36%, 253728 KB, 50010 KB/s, 5 seconds passed +... 36%, 253760 KB, 50014 KB/s, 5 seconds passed +... 36%, 253792 KB, 50017 KB/s, 5 seconds passed +... 36%, 253824 KB, 50021 KB/s, 5 seconds passed +... 36%, 253856 KB, 50025 KB/s, 5 seconds passed +... 36%, 253888 KB, 50028 KB/s, 5 seconds passed +... 36%, 253920 KB, 50032 KB/s, 5 seconds passed +... 36%, 253952 KB, 50036 KB/s, 5 seconds passed +... 36%, 253984 KB, 50039 KB/s, 5 seconds passed +... 36%, 254016 KB, 50043 KB/s, 5 seconds passed +... 36%, 254048 KB, 50046 KB/s, 5 seconds passed +... 36%, 254080 KB, 50050 KB/s, 5 seconds passed +... 36%, 254112 KB, 50053 KB/s, 5 seconds passed +... 36%, 254144 KB, 50057 KB/s, 5 seconds passed +... 36%, 254176 KB, 50061 KB/s, 5 seconds passed +... 36%, 254208 KB, 50063 KB/s, 5 seconds passed +... 36%, 254240 KB, 50067 KB/s, 5 seconds passed +... 36%, 254272 KB, 50071 KB/s, 5 seconds passed +... 36%, 254304 KB, 50075 KB/s, 5 seconds passed +... 36%, 254336 KB, 50078 KB/s, 5 seconds passed +... 36%, 254368 KB, 50081 KB/s, 5 seconds passed +... 36%, 254400 KB, 50085 KB/s, 5 seconds passed +... 36%, 254432 KB, 50088 KB/s, 5 seconds passed +... 36%, 254464 KB, 50092 KB/s, 5 seconds passed +... 36%, 254496 KB, 50096 KB/s, 5 seconds passed +... 36%, 254528 KB, 50099 KB/s, 5 seconds passed +... 36%, 254560 KB, 50103 KB/s, 5 seconds passed +... 36%, 254592 KB, 50107 KB/s, 5 seconds passed +... 36%, 254624 KB, 50110 KB/s, 5 seconds passed +... 36%, 254656 KB, 50114 KB/s, 5 seconds passed +... 36%, 254688 KB, 50118 KB/s, 5 seconds passed +... 36%, 254720 KB, 50121 KB/s, 5 seconds passed +... 36%, 254752 KB, 50124 KB/s, 5 seconds passed +... 36%, 254784 KB, 50128 KB/s, 5 seconds passed +... 36%, 254816 KB, 50131 KB/s, 5 seconds passed +... 36%, 254848 KB, 50135 KB/s, 5 seconds passed +... 36%, 254880 KB, 50138 KB/s, 5 seconds passed +... 36%, 254912 KB, 50142 KB/s, 5 seconds passed +... 36%, 254944 KB, 50145 KB/s, 5 seconds passed +... 36%, 254976 KB, 50149 KB/s, 5 seconds passed +... 36%, 255008 KB, 50153 KB/s, 5 seconds passed +... 36%, 255040 KB, 50156 KB/s, 5 seconds passed +... 36%, 255072 KB, 50160 KB/s, 5 seconds passed +... 36%, 255104 KB, 50160 KB/s, 5 seconds passed +... 36%, 255136 KB, 50163 KB/s, 5 seconds passed +... 36%, 255168 KB, 50165 KB/s, 5 seconds passed +... 36%, 255200 KB, 50169 KB/s, 5 seconds passed +... 36%, 255232 KB, 50174 KB/s, 5 seconds passed +... 36%, 255264 KB, 50177 KB/s, 5 seconds passed +... 36%, 255296 KB, 50181 KB/s, 5 seconds passed +... 36%, 255328 KB, 50185 KB/s, 5 seconds passed +... 36%, 255360 KB, 50188 KB/s, 5 seconds passed +... 36%, 255392 KB, 50192 KB/s, 5 seconds passed +... 36%, 255424 KB, 50195 KB/s, 5 seconds passed +... 36%, 255456 KB, 50199 KB/s, 5 seconds passed +... 36%, 255488 KB, 50203 KB/s, 5 seconds passed +... 36%, 255520 KB, 50206 KB/s, 5 seconds passed +... 36%, 255552 KB, 50210 KB/s, 5 seconds passed +... 36%, 255584 KB, 50213 KB/s, 5 seconds passed +... 36%, 255616 KB, 50217 KB/s, 5 seconds passed +... 36%, 255648 KB, 50220 KB/s, 5 seconds passed +... 36%, 255680 KB, 50223 KB/s, 5 seconds passed +... 36%, 255712 KB, 50226 KB/s, 5 seconds passed +... 36%, 255744 KB, 50229 KB/s, 5 seconds passed +... 36%, 255776 KB, 50233 KB/s, 5 seconds passed +... 36%, 255808 KB, 50238 KB/s, 5 seconds passed +... 36%, 255840 KB, 50241 KB/s, 5 seconds passed +... 36%, 255872 KB, 50245 KB/s, 5 seconds passed +... 36%, 255904 KB, 50248 KB/s, 5 seconds passed +... 36%, 255936 KB, 50252 KB/s, 5 seconds passed +... 36%, 255968 KB, 50255 KB/s, 5 seconds passed +... 36%, 256000 KB, 49979 KB/s, 5 seconds passed +... 36%, 256032 KB, 49975 KB/s, 5 seconds passed +... 36%, 256064 KB, 49978 KB/s, 5 seconds passed +... 36%, 256096 KB, 49980 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 36%, 256128 KB, 49983 KB/s, 5 seconds passed +... 36%, 256160 KB, 49986 KB/s, 5 seconds passed +... 36%, 256192 KB, 49988 KB/s, 5 seconds passed +... 36%, 256224 KB, 49991 KB/s, 5 seconds passed +... 36%, 256256 KB, 49994 KB/s, 5 seconds passed +... 36%, 256288 KB, 49996 KB/s, 5 seconds passed +... 36%, 256320 KB, 49998 KB/s, 5 seconds passed +... 36%, 256352 KB, 50001 KB/s, 5 seconds passed +... 36%, 256384 KB, 50003 KB/s, 5 seconds passed +... 36%, 256416 KB, 50006 KB/s, 5 seconds passed +... 36%, 256448 KB, 50009 KB/s, 5 seconds passed +... 36%, 256480 KB, 50011 KB/s, 5 seconds passed +... 36%, 256512 KB, 50014 KB/s, 5 seconds passed +... 36%, 256544 KB, 50017 KB/s, 5 seconds passed +... 36%, 256576 KB, 50020 KB/s, 5 seconds passed +... 36%, 256608 KB, 50022 KB/s, 5 seconds passed +... 36%, 256640 KB, 50025 KB/s, 5 seconds passed +... 36%, 256672 KB, 50027 KB/s, 5 seconds passed +... 36%, 256704 KB, 50030 KB/s, 5 seconds passed +... 36%, 256736 KB, 50033 KB/s, 5 seconds passed +... 36%, 256768 KB, 50035 KB/s, 5 seconds passed +... 36%, 256800 KB, 50038 KB/s, 5 seconds passed +... 36%, 256832 KB, 50041 KB/s, 5 seconds passed +... 36%, 256864 KB, 50043 KB/s, 5 seconds passed +... 36%, 256896 KB, 50046 KB/s, 5 seconds passed +... 36%, 256928 KB, 50049 KB/s, 5 seconds passed +... 36%, 256960 KB, 50053 KB/s, 5 seconds passed +... 36%, 256992 KB, 50057 KB/s, 5 seconds passed +... 36%, 257024 KB, 50061 KB/s, 5 seconds passed +... 36%, 257056 KB, 50065 KB/s, 5 seconds passed +... 36%, 257088 KB, 50069 KB/s, 5 seconds passed +... 36%, 257120 KB, 50073 KB/s, 5 seconds passed +... 36%, 257152 KB, 50076 KB/s, 5 seconds passed +... 36%, 257184 KB, 50080 KB/s, 5 seconds passed +... 36%, 257216 KB, 50084 KB/s, 5 seconds passed +... 36%, 257248 KB, 50088 KB/s, 5 seconds passed +... 36%, 257280 KB, 50092 KB/s, 5 seconds passed +... 36%, 257312 KB, 50095 KB/s, 5 seconds passed +... 37%, 257344 KB, 50099 KB/s, 5 seconds passed +... 37%, 257376 KB, 50103 KB/s, 5 seconds passed +... 37%, 257408 KB, 50107 KB/s, 5 seconds passed +... 37%, 257440 KB, 50111 KB/s, 5 seconds passed +... 37%, 257472 KB, 50115 KB/s, 5 seconds passed +... 37%, 257504 KB, 50119 KB/s, 5 seconds passed +... 37%, 257536 KB, 50123 KB/s, 5 seconds passed +... 37%, 257568 KB, 50127 KB/s, 5 seconds passed +... 37%, 257600 KB, 50130 KB/s, 5 seconds passed +... 37%, 257632 KB, 50134 KB/s, 5 seconds passed +... 37%, 257664 KB, 50138 KB/s, 5 seconds passed +... 37%, 257696 KB, 50142 KB/s, 5 seconds passed +... 37%, 257728 KB, 50145 KB/s, 5 seconds passed +... 37%, 257760 KB, 50149 KB/s, 5 seconds passed +... 37%, 257792 KB, 50153 KB/s, 5 seconds passed +... 37%, 257824 KB, 50157 KB/s, 5 seconds passed +... 37%, 257856 KB, 50161 KB/s, 5 seconds passed +... 37%, 257888 KB, 50165 KB/s, 5 seconds passed +... 37%, 257920 KB, 50169 KB/s, 5 seconds passed +... 37%, 257952 KB, 50172 KB/s, 5 seconds passed +... 37%, 257984 KB, 50176 KB/s, 5 seconds passed +... 37%, 258016 KB, 50180 KB/s, 5 seconds passed +... 37%, 258048 KB, 50184 KB/s, 5 seconds passed +... 37%, 258080 KB, 50188 KB/s, 5 seconds passed +... 37%, 258112 KB, 50192 KB/s, 5 seconds passed +... 37%, 258144 KB, 50196 KB/s, 5 seconds passed +... 37%, 258176 KB, 50200 KB/s, 5 seconds passed +... 37%, 258208 KB, 50203 KB/s, 5 seconds passed +... 37%, 258240 KB, 50207 KB/s, 5 seconds passed +... 37%, 258272 KB, 50212 KB/s, 5 seconds passed +... 37%, 258304 KB, 50216 KB/s, 5 seconds passed +... 37%, 258336 KB, 50221 KB/s, 5 seconds passed +... 37%, 258368 KB, 50225 KB/s, 5 seconds passed +... 37%, 258400 KB, 50230 KB/s, 5 seconds passed +... 37%, 258432 KB, 50234 KB/s, 5 seconds passed +... 37%, 258464 KB, 50239 KB/s, 5 seconds passed +... 37%, 258496 KB, 50244 KB/s, 5 seconds passed +... 37%, 258528 KB, 50248 KB/s, 5 seconds passed +... 37%, 258560 KB, 50253 KB/s, 5 seconds passed +... 37%, 258592 KB, 50256 KB/s, 5 seconds passed +... 37%, 258624 KB, 50258 KB/s, 5 seconds passed +... 37%, 258656 KB, 50262 KB/s, 5 seconds passed +... 37%, 258688 KB, 50264 KB/s, 5 seconds passed +... 37%, 258720 KB, 50267 KB/s, 5 seconds passed +... 37%, 258752 KB, 50272 KB/s, 5 seconds passed +... 37%, 258784 KB, 50276 KB/s, 5 seconds passed +... 37%, 258816 KB, 50280 KB/s, 5 seconds passed +... 37%, 258848 KB, 50284 KB/s, 5 seconds passed +... 37%, 258880 KB, 50287 KB/s, 5 seconds passed +... 37%, 258912 KB, 50290 KB/s, 5 seconds passed +... 37%, 258944 KB, 50294 KB/s, 5 seconds passed +... 37%, 258976 KB, 50297 KB/s, 5 seconds passed +... 37%, 259008 KB, 50301 KB/s, 5 seconds passed +... 37%, 259040 KB, 50305 KB/s, 5 seconds passed +... 37%, 259072 KB, 50308 KB/s, 5 seconds passed +... 37%, 259104 KB, 50311 KB/s, 5 seconds passed +... 37%, 259136 KB, 50315 KB/s, 5 seconds passed +... 37%, 259168 KB, 50318 KB/s, 5 seconds passed +... 37%, 259200 KB, 50322 KB/s, 5 seconds passed +... 37%, 259232 KB, 50326 KB/s, 5 seconds passed +... 37%, 259264 KB, 50329 KB/s, 5 seconds passed +... 37%, 259296 KB, 50333 KB/s, 5 seconds passed +... 37%, 259328 KB, 50335 KB/s, 5 seconds passed +... 37%, 259360 KB, 50339 KB/s, 5 seconds passed +... 37%, 259392 KB, 50342 KB/s, 5 seconds passed +... 37%, 259424 KB, 50345 KB/s, 5 seconds passed +... 37%, 259456 KB, 50349 KB/s, 5 seconds passed +... 37%, 259488 KB, 50352 KB/s, 5 seconds passed +... 37%, 259520 KB, 50357 KB/s, 5 seconds passed +... 37%, 259552 KB, 50361 KB/s, 5 seconds passed +... 37%, 259584 KB, 50363 KB/s, 5 seconds passed +... 37%, 259616 KB, 50366 KB/s, 5 seconds passed +... 37%, 259648 KB, 50371 KB/s, 5 seconds passed +... 37%, 259680 KB, 50374 KB/s, 5 seconds passed +... 37%, 259712 KB, 50378 KB/s, 5 seconds passed +... 37%, 259744 KB, 50380 KB/s, 5 seconds passed +... 37%, 259776 KB, 50384 KB/s, 5 seconds passed +... 37%, 259808 KB, 50387 KB/s, 5 seconds passed +... 37%, 259840 KB, 50391 KB/s, 5 seconds passed +... 37%, 259872 KB, 50395 KB/s, 5 seconds passed +... 37%, 259904 KB, 50328 KB/s, 5 seconds passed +... 37%, 259936 KB, 50329 KB/s, 5 seconds passed +... 37%, 259968 KB, 50331 KB/s, 5 seconds passed +... 37%, 260000 KB, 50334 KB/s, 5 seconds passed +... 37%, 260032 KB, 50337 KB/s, 5 seconds passed +... 37%, 260064 KB, 50339 KB/s, 5 seconds passed +... 37%, 260096 KB, 50342 KB/s, 5 seconds passed +... 37%, 260128 KB, 50344 KB/s, 5 seconds passed +... 37%, 260160 KB, 50347 KB/s, 5 seconds passed +... 37%, 260192 KB, 50349 KB/s, 5 seconds passed +... 37%, 260224 KB, 50352 KB/s, 5 seconds passed +... 37%, 260256 KB, 50355 KB/s, 5 seconds passed +... 37%, 260288 KB, 50357 KB/s, 5 seconds passed +... 37%, 260320 KB, 50360 KB/s, 5 seconds passed +... 37%, 260352 KB, 50362 KB/s, 5 seconds passed +... 37%, 260384 KB, 50365 KB/s, 5 seconds passed +... 37%, 260416 KB, 50368 KB/s, 5 seconds passed +... 37%, 260448 KB, 50370 KB/s, 5 seconds passed +... 37%, 260480 KB, 50373 KB/s, 5 seconds passed +... 37%, 260512 KB, 50375 KB/s, 5 seconds passed +... 37%, 260544 KB, 50378 KB/s, 5 seconds passed +... 37%, 260576 KB, 50381 KB/s, 5 seconds passed +... 37%, 260608 KB, 50383 KB/s, 5 seconds passed +... 37%, 260640 KB, 50386 KB/s, 5 seconds passed +... 37%, 260672 KB, 50389 KB/s, 5 seconds passed +... 37%, 260704 KB, 50392 KB/s, 5 seconds passed +... 37%, 260736 KB, 50395 KB/s, 5 seconds passed +... 37%, 260768 KB, 50399 KB/s, 5 seconds passed +... 37%, 260800 KB, 50402 KB/s, 5 seconds passed +... 37%, 260832 KB, 50406 KB/s, 5 seconds passed +... 37%, 260864 KB, 50410 KB/s, 5 seconds passed +... 37%, 260896 KB, 50414 KB/s, 5 seconds passed +... 37%, 260928 KB, 50418 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 37%, 260960 KB, 50422 KB/s, 5 seconds passed +... 37%, 260992 KB, 50426 KB/s, 5 seconds passed +... 37%, 261024 KB, 50430 KB/s, 5 seconds passed +... 37%, 261056 KB, 50434 KB/s, 5 seconds passed +... 37%, 261088 KB, 50438 KB/s, 5 seconds passed +... 37%, 261120 KB, 50175 KB/s, 5 seconds passed +... 37%, 261152 KB, 50176 KB/s, 5 seconds passed +... 37%, 261184 KB, 50178 KB/s, 5 seconds passed +... 37%, 261216 KB, 50181 KB/s, 5 seconds passed +... 37%, 261248 KB, 50155 KB/s, 5 seconds passed +... 37%, 261280 KB, 50156 KB/s, 5 seconds passed +... 37%, 261312 KB, 50159 KB/s, 5 seconds passed +... 37%, 261344 KB, 50148 KB/s, 5 seconds passed +... 37%, 261376 KB, 50151 KB/s, 5 seconds passed +... 37%, 261408 KB, 50153 KB/s, 5 seconds passed +... 37%, 261440 KB, 50155 KB/s, 5 seconds passed +... 37%, 261472 KB, 50138 KB/s, 5 seconds passed +... 37%, 261504 KB, 50140 KB/s, 5 seconds passed +... 37%, 261536 KB, 50142 KB/s, 5 seconds passed +... 37%, 261568 KB, 50144 KB/s, 5 seconds passed +... 37%, 261600 KB, 50147 KB/s, 5 seconds passed +... 37%, 261632 KB, 50150 KB/s, 5 seconds passed +... 37%, 261664 KB, 50152 KB/s, 5 seconds passed +... 37%, 261696 KB, 50155 KB/s, 5 seconds passed +... 37%, 261728 KB, 50157 KB/s, 5 seconds passed +... 37%, 261760 KB, 50159 KB/s, 5 seconds passed +... 37%, 261792 KB, 50121 KB/s, 5 seconds passed +... 37%, 261824 KB, 50124 KB/s, 5 seconds passed +... 37%, 261856 KB, 50125 KB/s, 5 seconds passed +... 37%, 261888 KB, 50127 KB/s, 5 seconds passed +... 37%, 261920 KB, 50130 KB/s, 5 seconds passed +... 37%, 261952 KB, 50132 KB/s, 5 seconds passed +... 37%, 261984 KB, 50134 KB/s, 5 seconds passed +... 37%, 262016 KB, 50137 KB/s, 5 seconds passed +... 37%, 262048 KB, 50139 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 37%, 262080 KB, 50142 KB/s, 5 seconds passed +... 37%, 262112 KB, 50144 KB/s, 5 seconds passed +... 37%, 262144 KB, 50147 KB/s, 5 seconds passed +... 37%, 262176 KB, 50149 KB/s, 5 seconds passed +... 37%, 262208 KB, 50152 KB/s, 5 seconds passed +... 37%, 262240 KB, 50154 KB/s, 5 seconds passed +... 37%, 262272 KB, 50156 KB/s, 5 seconds passed +... 37%, 262304 KB, 50158 KB/s, 5 seconds passed +... 37%, 262336 KB, 50161 KB/s, 5 seconds passed +... 37%, 262368 KB, 50163 KB/s, 5 seconds passed +... 37%, 262400 KB, 50165 KB/s, 5 seconds passed +... 37%, 262432 KB, 50168 KB/s, 5 seconds passed +... 37%, 262464 KB, 50170 KB/s, 5 seconds passed +... 37%, 262496 KB, 50173 KB/s, 5 seconds passed +... 37%, 262528 KB, 50175 KB/s, 5 seconds passed +... 37%, 262560 KB, 50177 KB/s, 5 seconds passed +... 37%, 262592 KB, 50180 KB/s, 5 seconds passed +... 37%, 262624 KB, 50182 KB/s, 5 seconds passed +... 37%, 262656 KB, 50186 KB/s, 5 seconds passed +... 37%, 262688 KB, 50190 KB/s, 5 seconds passed +... 37%, 262720 KB, 50193 KB/s, 5 seconds passed +... 37%, 262752 KB, 50197 KB/s, 5 seconds passed +... 37%, 262784 KB, 50201 KB/s, 5 seconds passed +... 37%, 262816 KB, 50204 KB/s, 5 seconds passed +... 37%, 262848 KB, 50208 KB/s, 5 seconds passed +... 37%, 262880 KB, 50212 KB/s, 5 seconds passed +... 37%, 262912 KB, 50215 KB/s, 5 seconds passed +... 37%, 262944 KB, 50219 KB/s, 5 seconds passed +... 37%, 262976 KB, 50222 KB/s, 5 seconds passed +... 37%, 263008 KB, 50226 KB/s, 5 seconds passed +... 37%, 263040 KB, 50230 KB/s, 5 seconds passed +... 37%, 263072 KB, 50233 KB/s, 5 seconds passed +... 37%, 263104 KB, 50237 KB/s, 5 seconds passed +... 37%, 263136 KB, 50241 KB/s, 5 seconds passed +... 37%, 263168 KB, 50245 KB/s, 5 seconds passed +... 37%, 263200 KB, 50248 KB/s, 5 seconds passed +... 37%, 263232 KB, 50252 KB/s, 5 seconds passed +... 37%, 263264 KB, 50256 KB/s, 5 seconds passed +... 37%, 263296 KB, 50260 KB/s, 5 seconds passed +... 37%, 263328 KB, 50263 KB/s, 5 seconds passed +... 37%, 263360 KB, 50267 KB/s, 5 seconds passed +... 37%, 263392 KB, 50271 KB/s, 5 seconds passed +... 37%, 263424 KB, 50274 KB/s, 5 seconds passed +... 37%, 263456 KB, 50278 KB/s, 5 seconds passed +... 37%, 263488 KB, 50282 KB/s, 5 seconds passed +... 37%, 263520 KB, 50285 KB/s, 5 seconds passed +... 37%, 263552 KB, 50289 KB/s, 5 seconds passed +... 37%, 263584 KB, 50293 KB/s, 5 seconds passed +... 37%, 263616 KB, 50297 KB/s, 5 seconds passed +... 37%, 263648 KB, 50301 KB/s, 5 seconds passed +... 37%, 263680 KB, 50304 KB/s, 5 seconds passed +... 37%, 263712 KB, 50308 KB/s, 5 seconds passed +... 37%, 263744 KB, 50312 KB/s, 5 seconds passed +... 37%, 263776 KB, 50316 KB/s, 5 seconds passed +... 37%, 263808 KB, 50319 KB/s, 5 seconds passed +... 37%, 263840 KB, 50323 KB/s, 5 seconds passed +... 37%, 263872 KB, 50327 KB/s, 5 seconds passed +... 37%, 263904 KB, 50330 KB/s, 5 seconds passed +... 37%, 263936 KB, 50334 KB/s, 5 seconds passed +... 37%, 263968 KB, 50339 KB/s, 5 seconds passed +... 37%, 264000 KB, 50343 KB/s, 5 seconds passed +... 37%, 264032 KB, 50347 KB/s, 5 seconds passed +... 37%, 264064 KB, 50352 KB/s, 5 seconds passed +... 37%, 264096 KB, 50356 KB/s, 5 seconds passed +... 37%, 264128 KB, 50361 KB/s, 5 seconds passed +... 37%, 264160 KB, 50366 KB/s, 5 seconds passed +... 37%, 264192 KB, 50370 KB/s, 5 seconds passed +... 37%, 264224 KB, 50375 KB/s, 5 seconds passed +... 37%, 264256 KB, 50379 KB/s, 5 seconds passed +... 37%, 264288 KB, 50384 KB/s, 5 seconds passed +... 38%, 264320 KB, 50388 KB/s, 5 seconds passed +... 38%, 264352 KB, 50393 KB/s, 5 seconds passed +... 38%, 264384 KB, 50396 KB/s, 5 seconds passed +... 38%, 264416 KB, 50399 KB/s, 5 seconds passed +... 38%, 264448 KB, 50404 KB/s, 5 seconds passed +... 38%, 264480 KB, 50407 KB/s, 5 seconds passed +... 38%, 264512 KB, 50410 KB/s, 5 seconds passed +... 38%, 264544 KB, 50413 KB/s, 5 seconds passed +... 38%, 264576 KB, 50417 KB/s, 5 seconds passed +... 38%, 264608 KB, 50421 KB/s, 5 seconds passed +... 38%, 264640 KB, 50423 KB/s, 5 seconds passed +... 38%, 264672 KB, 50426 KB/s, 5 seconds passed +... 38%, 264704 KB, 50430 KB/s, 5 seconds passed +... 38%, 264736 KB, 50434 KB/s, 5 seconds passed +... 38%, 264768 KB, 50438 KB/s, 5 seconds passed +... 38%, 264800 KB, 50441 KB/s, 5 seconds passed +... 38%, 264832 KB, 50444 KB/s, 5 seconds passed +... 38%, 264864 KB, 50447 KB/s, 5 seconds passed +... 38%, 264896 KB, 50451 KB/s, 5 seconds passed +... 38%, 264928 KB, 50454 KB/s, 5 seconds passed +... 38%, 264960 KB, 50458 KB/s, 5 seconds passed +... 38%, 264992 KB, 50461 KB/s, 5 seconds passed +... 38%, 265024 KB, 50465 KB/s, 5 seconds passed +... 38%, 265056 KB, 50468 KB/s, 5 seconds passed +... 38%, 265088 KB, 50472 KB/s, 5 seconds passed +... 38%, 265120 KB, 50475 KB/s, 5 seconds passed +... 38%, 265152 KB, 50478 KB/s, 5 seconds passed +... 38%, 265184 KB, 50482 KB/s, 5 seconds passed +... 38%, 265216 KB, 50486 KB/s, 5 seconds passed +... 38%, 265248 KB, 50489 KB/s, 5 seconds passed +... 38%, 265280 KB, 50492 KB/s, 5 seconds passed +... 38%, 265312 KB, 50496 KB/s, 5 seconds passed +... 38%, 265344 KB, 50499 KB/s, 5 seconds passed +... 38%, 265376 KB, 50502 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 38%, 265408 KB, 50155 KB/s, 5 seconds passed +... 38%, 265440 KB, 50157 KB/s, 5 seconds passed +... 38%, 265472 KB, 50159 KB/s, 5 seconds passed +... 38%, 265504 KB, 50161 KB/s, 5 seconds passed +... 38%, 265536 KB, 50164 KB/s, 5 seconds passed +... 38%, 265568 KB, 50166 KB/s, 5 seconds passed +... 38%, 265600 KB, 50168 KB/s, 5 seconds passed +... 38%, 265632 KB, 50171 KB/s, 5 seconds passed +... 38%, 265664 KB, 50174 KB/s, 5 seconds passed +... 38%, 265696 KB, 50176 KB/s, 5 seconds passed +... 38%, 265728 KB, 50179 KB/s, 5 seconds passed +... 38%, 265760 KB, 50181 KB/s, 5 seconds passed +... 38%, 265792 KB, 50183 KB/s, 5 seconds passed +... 38%, 265824 KB, 50186 KB/s, 5 seconds passed +... 38%, 265856 KB, 50188 KB/s, 5 seconds passed +... 38%, 265888 KB, 50191 KB/s, 5 seconds passed +... 38%, 265920 KB, 50193 KB/s, 5 seconds passed +... 38%, 265952 KB, 50196 KB/s, 5 seconds passed +... 38%, 265984 KB, 50198 KB/s, 5 seconds passed +... 38%, 266016 KB, 50201 KB/s, 5 seconds passed +... 38%, 266048 KB, 50204 KB/s, 5 seconds passed +... 38%, 266080 KB, 50207 KB/s, 5 seconds passed +... 38%, 266112 KB, 50211 KB/s, 5 seconds passed +... 38%, 266144 KB, 50214 KB/s, 5 seconds passed +... 38%, 266176 KB, 50217 KB/s, 5 seconds passed +... 38%, 266208 KB, 50220 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 38%, 266240 KB, 49645 KB/s, 5 seconds passed +... 38%, 266272 KB, 49646 KB/s, 5 seconds passed +... 38%, 266304 KB, 49648 KB/s, 5 seconds passed +... 38%, 266336 KB, 49651 KB/s, 5 seconds passed +... 38%, 266368 KB, 49607 KB/s, 5 seconds passed +... 38%, 266400 KB, 49598 KB/s, 5 seconds passed +... 38%, 266432 KB, 49600 KB/s, 5 seconds passed +... 38%, 266464 KB, 49602 KB/s, 5 seconds passed +... 38%, 266496 KB, 49604 KB/s, 5 seconds passed +... 38%, 266528 KB, 49607 KB/s, 5 seconds passed +... 38%, 266560 KB, 49609 KB/s, 5 seconds passed +... 38%, 266592 KB, 49612 KB/s, 5 seconds passed +... 38%, 266624 KB, 49614 KB/s, 5 seconds passed +... 38%, 266656 KB, 49616 KB/s, 5 seconds passed +... 38%, 266688 KB, 49619 KB/s, 5 seconds passed +... 38%, 266720 KB, 49621 KB/s, 5 seconds passed +... 38%, 266752 KB, 49624 KB/s, 5 seconds passed +... 38%, 266784 KB, 49626 KB/s, 5 seconds passed +... 38%, 266816 KB, 49628 KB/s, 5 seconds passed +... 38%, 266848 KB, 49630 KB/s, 5 seconds passed +... 38%, 266880 KB, 49633 KB/s, 5 seconds passed +... 38%, 266912 KB, 49635 KB/s, 5 seconds passed +... 38%, 266944 KB, 49638 KB/s, 5 seconds passed +... 38%, 266976 KB, 49640 KB/s, 5 seconds passed +... 38%, 267008 KB, 49642 KB/s, 5 seconds passed +... 38%, 267040 KB, 49645 KB/s, 5 seconds passed +... 38%, 267072 KB, 49647 KB/s, 5 seconds passed +... 38%, 267104 KB, 49649 KB/s, 5 seconds passed +... 38%, 267136 KB, 49652 KB/s, 5 seconds passed +... 38%, 267168 KB, 49654 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 38%, 267200 KB, 49657 KB/s, 5 seconds passed +... 38%, 267232 KB, 49659 KB/s, 5 seconds passed +... 38%, 267264 KB, 49662 KB/s, 5 seconds passed +... 38%, 267296 KB, 49664 KB/s, 5 seconds passed +... 38%, 267328 KB, 49666 KB/s, 5 seconds passed +... 38%, 267360 KB, 49669 KB/s, 5 seconds passed +... 38%, 267392 KB, 49671 KB/s, 5 seconds passed +... 38%, 267424 KB, 49673 KB/s, 5 seconds passed +... 38%, 267456 KB, 49676 KB/s, 5 seconds passed +... 38%, 267488 KB, 49678 KB/s, 5 seconds passed +... 38%, 267520 KB, 49680 KB/s, 5 seconds passed +... 38%, 267552 KB, 49683 KB/s, 5 seconds passed +... 38%, 267584 KB, 49685 KB/s, 5 seconds passed +... 38%, 267616 KB, 49688 KB/s, 5 seconds passed +... 38%, 267648 KB, 49692 KB/s, 5 seconds passed +... 38%, 267680 KB, 49696 KB/s, 5 seconds passed +... 38%, 267712 KB, 49700 KB/s, 5 seconds passed +... 38%, 267744 KB, 49703 KB/s, 5 seconds passed +... 38%, 267776 KB, 49707 KB/s, 5 seconds passed +... 38%, 267808 KB, 49710 KB/s, 5 seconds passed +... 38%, 267840 KB, 49714 KB/s, 5 seconds passed +... 38%, 267872 KB, 49718 KB/s, 5 seconds passed +... 38%, 267904 KB, 49721 KB/s, 5 seconds passed +... 38%, 267936 KB, 49725 KB/s, 5 seconds passed +... 38%, 267968 KB, 49729 KB/s, 5 seconds passed +... 38%, 268000 KB, 49732 KB/s, 5 seconds passed +... 38%, 268032 KB, 49736 KB/s, 5 seconds passed +... 38%, 268064 KB, 49739 KB/s, 5 seconds passed +... 38%, 268096 KB, 49743 KB/s, 5 seconds passed +... 38%, 268128 KB, 49747 KB/s, 5 seconds passed +... 38%, 268160 KB, 49751 KB/s, 5 seconds passed +... 38%, 268192 KB, 49754 KB/s, 5 seconds passed +... 38%, 268224 KB, 49758 KB/s, 5 seconds passed +... 38%, 268256 KB, 49761 KB/s, 5 seconds passed +... 38%, 268288 KB, 49765 KB/s, 5 seconds passed +... 38%, 268320 KB, 49769 KB/s, 5 seconds passed +... 38%, 268352 KB, 49772 KB/s, 5 seconds passed +... 38%, 268384 KB, 49776 KB/s, 5 seconds passed +... 38%, 268416 KB, 49780 KB/s, 5 seconds passed +... 38%, 268448 KB, 49783 KB/s, 5 seconds passed +... 38%, 268480 KB, 49787 KB/s, 5 seconds passed +... 38%, 268512 KB, 49791 KB/s, 5 seconds passed +... 38%, 268544 KB, 49794 KB/s, 5 seconds passed +... 38%, 268576 KB, 49798 KB/s, 5 seconds passed +... 38%, 268608 KB, 49802 KB/s, 5 seconds passed +... 38%, 268640 KB, 49805 KB/s, 5 seconds passed +... 38%, 268672 KB, 49809 KB/s, 5 seconds passed +... 38%, 268704 KB, 49813 KB/s, 5 seconds passed +... 38%, 268736 KB, 49816 KB/s, 5 seconds passed +... 38%, 268768 KB, 49820 KB/s, 5 seconds passed +... 38%, 268800 KB, 49824 KB/s, 5 seconds passed +... 38%, 268832 KB, 49827 KB/s, 5 seconds passed +... 38%, 268864 KB, 49831 KB/s, 5 seconds passed +... 38%, 268896 KB, 49834 KB/s, 5 seconds passed +... 38%, 268928 KB, 49838 KB/s, 5 seconds passed +... 38%, 268960 KB, 49842 KB/s, 5 seconds passed +... 38%, 268992 KB, 49846 KB/s, 5 seconds passed +... 38%, 269024 KB, 49851 KB/s, 5 seconds passed +... 38%, 269056 KB, 49855 KB/s, 5 seconds passed +... 38%, 269088 KB, 49859 KB/s, 5 seconds passed +... 38%, 269120 KB, 49864 KB/s, 5 seconds passed +... 38%, 269152 KB, 49868 KB/s, 5 seconds passed +... 38%, 269184 KB, 49872 KB/s, 5 seconds passed +... 38%, 269216 KB, 49877 KB/s, 5 seconds passed +... 38%, 269248 KB, 49881 KB/s, 5 seconds passed +... 38%, 269280 KB, 49886 KB/s, 5 seconds passed +... 38%, 269312 KB, 49890 KB/s, 5 seconds passed +... 38%, 269344 KB, 49894 KB/s, 5 seconds passed +... 38%, 269376 KB, 49899 KB/s, 5 seconds passed +... 38%, 269408 KB, 49903 KB/s, 5 seconds passed +... 38%, 269440 KB, 49908 KB/s, 5 seconds passed +... 38%, 269472 KB, 49912 KB/s, 5 seconds passed +... 38%, 269504 KB, 49917 KB/s, 5 seconds passed +... 38%, 269536 KB, 49921 KB/s, 5 seconds passed +... 38%, 269568 KB, 49925 KB/s, 5 seconds passed +... 38%, 269600 KB, 49930 KB/s, 5 seconds passed +... 38%, 269632 KB, 49934 KB/s, 5 seconds passed +... 38%, 269664 KB, 49939 KB/s, 5 seconds passed +... 38%, 269696 KB, 49943 KB/s, 5 seconds passed +... 38%, 269728 KB, 49947 KB/s, 5 seconds passed +... 38%, 269760 KB, 49951 KB/s, 5 seconds passed +... 38%, 269792 KB, 49955 KB/s, 5 seconds passed +... 38%, 269824 KB, 49958 KB/s, 5 seconds passed +... 38%, 269856 KB, 49962 KB/s, 5 seconds passed +... 38%, 269888 KB, 49964 KB/s, 5 seconds passed +... 38%, 269920 KB, 49968 KB/s, 5 seconds passed +... 38%, 269952 KB, 49971 KB/s, 5 seconds passed +... 38%, 269984 KB, 49975 KB/s, 5 seconds passed +... 38%, 270016 KB, 49978 KB/s, 5 seconds passed +... 38%, 270048 KB, 49981 KB/s, 5 seconds passed +... 38%, 270080 KB, 49970 KB/s, 5 seconds passed +... 38%, 270112 KB, 49963 KB/s, 5 seconds passed +... 38%, 270144 KB, 49965 KB/s, 5 seconds passed +... 38%, 270176 KB, 49968 KB/s, 5 seconds passed +... 38%, 270208 KB, 49971 KB/s, 5 seconds passed +... 38%, 270240 KB, 49974 KB/s, 5 seconds passed +... 38%, 270272 KB, 49976 KB/s, 5 seconds passed +... 38%, 270304 KB, 49979 KB/s, 5 seconds passed +... 38%, 270336 KB, 49982 KB/s, 5 seconds passed +... 38%, 270368 KB, 49985 KB/s, 5 seconds passed +... 38%, 270400 KB, 49988 KB/s, 5 seconds passed +... 38%, 270432 KB, 49991 KB/s, 5 seconds passed +... 38%, 270464 KB, 49993 KB/s, 5 seconds passed +... 38%, 270496 KB, 49996 KB/s, 5 seconds passed +... 38%, 270528 KB, 49999 KB/s, 5 seconds passed +... 38%, 270560 KB, 50001 KB/s, 5 seconds passed +... 38%, 270592 KB, 50004 KB/s, 5 seconds passed +... 38%, 270624 KB, 50007 KB/s, 5 seconds passed +... 38%, 270656 KB, 50010 KB/s, 5 seconds passed +... 38%, 270688 KB, 50013 KB/s, 5 seconds passed +... 38%, 270720 KB, 50015 KB/s, 5 seconds passed +... 38%, 270752 KB, 50018 KB/s, 5 seconds passed +... 38%, 270784 KB, 50021 KB/s, 5 seconds passed +... 38%, 270816 KB, 50024 KB/s, 5 seconds passed +... 38%, 270848 KB, 50027 KB/s, 5 seconds passed +... 38%, 270880 KB, 50029 KB/s, 5 seconds passed +... 38%, 270912 KB, 50032 KB/s, 5 seconds passed +... 38%, 270944 KB, 50035 KB/s, 5 seconds passed +... 38%, 270976 KB, 50037 KB/s, 5 seconds passed +... 38%, 271008 KB, 50040 KB/s, 5 seconds passed +... 38%, 271040 KB, 50043 KB/s, 5 seconds passed +... 38%, 271072 KB, 50046 KB/s, 5 seconds passed +... 38%, 271104 KB, 50049 KB/s, 5 seconds passed +... 38%, 271136 KB, 50053 KB/s, 5 seconds passed +... 38%, 271168 KB, 50057 KB/s, 5 seconds passed +... 38%, 271200 KB, 50060 KB/s, 5 seconds passed +... 38%, 271232 KB, 50065 KB/s, 5 seconds passed +... 39%, 271264 KB, 50069 KB/s, 5 seconds passed +... 39%, 271296 KB, 50073 KB/s, 5 seconds passed +... 39%, 271328 KB, 50077 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 39%, 271360 KB, 49900 KB/s, 5 seconds passed +... 39%, 271392 KB, 49893 KB/s, 5 seconds passed +... 39%, 271424 KB, 49895 KB/s, 5 seconds passed +... 39%, 271456 KB, 49898 KB/s, 5 seconds passed +... 39%, 271488 KB, 49900 KB/s, 5 seconds passed +... 39%, 271520 KB, 49902 KB/s, 5 seconds passed +... 39%, 271552 KB, 49905 KB/s, 5 seconds passed +... 39%, 271584 KB, 49907 KB/s, 5 seconds passed +... 39%, 271616 KB, 49909 KB/s, 5 seconds passed +... 39%, 271648 KB, 49912 KB/s, 5 seconds passed +... 39%, 271680 KB, 49914 KB/s, 5 seconds passed +... 39%, 271712 KB, 49916 KB/s, 5 seconds passed +... 39%, 271744 KB, 49919 KB/s, 5 seconds passed +... 39%, 271776 KB, 49921 KB/s, 5 seconds passed +... 39%, 271808 KB, 49923 KB/s, 5 seconds passed +... 39%, 271840 KB, 49925 KB/s, 5 seconds passed +... 39%, 271872 KB, 49928 KB/s, 5 seconds passed +... 39%, 271904 KB, 49930 KB/s, 5 seconds passed +... 39%, 271936 KB, 49932 KB/s, 5 seconds passed +... 39%, 271968 KB, 49935 KB/s, 5 seconds passed +... 39%, 272000 KB, 49937 KB/s, 5 seconds passed +... 39%, 272032 KB, 49939 KB/s, 5 seconds passed +... 39%, 272064 KB, 49942 KB/s, 5 seconds passed +... 39%, 272096 KB, 49945 KB/s, 5 seconds passed +... 39%, 272128 KB, 49947 KB/s, 5 seconds passed +... 39%, 272160 KB, 49950 KB/s, 5 seconds passed +... 39%, 272192 KB, 49953 KB/s, 5 seconds passed +... 39%, 272224 KB, 49955 KB/s, 5 seconds passed +... 39%, 272256 KB, 49958 KB/s, 5 seconds passed +... 39%, 272288 KB, 49961 KB/s, 5 seconds passed +... 39%, 272320 KB, 49963 KB/s, 5 seconds passed +... 39%, 272352 KB, 49966 KB/s, 5 seconds passed +... 39%, 272384 KB, 49968 KB/s, 5 seconds passed +... 39%, 272416 KB, 49971 KB/s, 5 seconds passed +... 39%, 272448 KB, 49973 KB/s, 5 seconds passed +... 39%, 272480 KB, 49976 KB/s, 5 seconds passed +... 39%, 272512 KB, 49979 KB/s, 5 seconds passed +... 39%, 272544 KB, 49982 KB/s, 5 seconds passed +... 39%, 272576 KB, 49984 KB/s, 5 seconds passed +... 39%, 272608 KB, 49987 KB/s, 5 seconds passed +... 39%, 272640 KB, 49990 KB/s, 5 seconds passed +... 39%, 272672 KB, 49992 KB/s, 5 seconds passed +... 39%, 272704 KB, 49995 KB/s, 5 seconds passed +... 39%, 272736 KB, 49998 KB/s, 5 seconds passed +... 39%, 272768 KB, 50000 KB/s, 5 seconds passed +... 39%, 272800 KB, 50003 KB/s, 5 seconds passed +... 39%, 272832 KB, 50005 KB/s, 5 seconds passed +... 39%, 272864 KB, 50008 KB/s, 5 seconds passed +... 39%, 272896 KB, 50011 KB/s, 5 seconds passed +... 39%, 272928 KB, 50013 KB/s, 5 seconds passed +... 39%, 272960 KB, 50017 KB/s, 5 seconds passed +... 39%, 272992 KB, 50021 KB/s, 5 seconds passed +... 39%, 273024 KB, 50024 KB/s, 5 seconds passed +... 39%, 273056 KB, 50028 KB/s, 5 seconds passed +... 39%, 273088 KB, 50032 KB/s, 5 seconds passed +... 39%, 273120 KB, 50036 KB/s, 5 seconds passed +... 39%, 273152 KB, 50039 KB/s, 5 seconds passed +... 39%, 273184 KB, 50043 KB/s, 5 seconds passed +... 39%, 273216 KB, 50046 KB/s, 5 seconds passed +... 39%, 273248 KB, 50050 KB/s, 5 seconds passed +... 39%, 273280 KB, 50054 KB/s, 5 seconds passed +... 39%, 273312 KB, 50057 KB/s, 5 seconds passed +... 39%, 273344 KB, 50061 KB/s, 5 seconds passed +... 39%, 273376 KB, 50065 KB/s, 5 seconds passed +... 39%, 273408 KB, 50069 KB/s, 5 seconds passed +... 39%, 273440 KB, 50072 KB/s, 5 seconds passed +... 39%, 273472 KB, 50076 KB/s, 5 seconds passed +... 39%, 273504 KB, 50080 KB/s, 5 seconds passed +... 39%, 273536 KB, 50084 KB/s, 5 seconds passed +... 39%, 273568 KB, 50087 KB/s, 5 seconds passed +... 39%, 273600 KB, 50091 KB/s, 5 seconds passed +... 39%, 273632 KB, 50095 KB/s, 5 seconds passed +... 39%, 273664 KB, 50099 KB/s, 5 seconds passed +... 39%, 273696 KB, 50102 KB/s, 5 seconds passed +... 39%, 273728 KB, 50106 KB/s, 5 seconds passed +... 39%, 273760 KB, 50110 KB/s, 5 seconds passed +... 39%, 273792 KB, 50114 KB/s, 5 seconds passed +... 39%, 273824 KB, 50117 KB/s, 5 seconds passed +... 39%, 273856 KB, 50121 KB/s, 5 seconds passed +... 39%, 273888 KB, 50125 KB/s, 5 seconds passed +... 39%, 273920 KB, 50129 KB/s, 5 seconds passed +... 39%, 273952 KB, 50132 KB/s, 5 seconds passed +... 39%, 273984 KB, 50136 KB/s, 5 seconds passed +... 39%, 274016 KB, 50140 KB/s, 5 seconds passed +... 39%, 274048 KB, 50143 KB/s, 5 seconds passed +... 39%, 274080 KB, 50147 KB/s, 5 seconds passed +... 39%, 274112 KB, 50151 KB/s, 5 seconds passed +... 39%, 274144 KB, 50155 KB/s, 5 seconds passed +... 39%, 274176 KB, 50158 KB/s, 5 seconds passed +... 39%, 274208 KB, 50162 KB/s, 5 seconds passed +... 39%, 274240 KB, 50166 KB/s, 5 seconds passed +... 39%, 274272 KB, 50170 KB/s, 5 seconds passed +... 39%, 274304 KB, 50173 KB/s, 5 seconds passed +... 39%, 274336 KB, 50178 KB/s, 5 seconds passed +... 39%, 274368 KB, 50182 KB/s, 5 seconds passed +... 39%, 274400 KB, 50186 KB/s, 5 seconds passed +... 39%, 274432 KB, 50191 KB/s, 5 seconds passed +... 39%, 274464 KB, 50195 KB/s, 5 seconds passed +... 39%, 274496 KB, 50199 KB/s, 5 seconds passed +... 39%, 274528 KB, 50204 KB/s, 5 seconds passed +... 39%, 274560 KB, 50208 KB/s, 5 seconds passed +... 39%, 274592 KB, 50213 KB/s, 5 seconds passed +... 39%, 274624 KB, 50217 KB/s, 5 seconds passed +... 39%, 274656 KB, 50221 KB/s, 5 seconds passed +... 39%, 274688 KB, 50226 KB/s, 5 seconds passed +... 39%, 274720 KB, 50230 KB/s, 5 seconds passed +... 39%, 274752 KB, 50235 KB/s, 5 seconds passed +... 39%, 274784 KB, 50239 KB/s, 5 seconds passed +... 39%, 274816 KB, 50243 KB/s, 5 seconds passed +... 39%, 274848 KB, 50248 KB/s, 5 seconds passed +... 39%, 274880 KB, 50252 KB/s, 5 seconds passed +... 39%, 274912 KB, 50256 KB/s, 5 seconds passed +... 39%, 274944 KB, 50260 KB/s, 5 seconds passed +... 39%, 274976 KB, 50263 KB/s, 5 seconds passed +... 39%, 275008 KB, 50266 KB/s, 5 seconds passed +... 39%, 275040 KB, 50270 KB/s, 5 seconds passed +... 39%, 275072 KB, 50273 KB/s, 5 seconds passed +... 39%, 275104 KB, 50276 KB/s, 5 seconds passed +... 39%, 275136 KB, 50280 KB/s, 5 seconds passed +... 39%, 275168 KB, 50283 KB/s, 5 seconds passed +... 39%, 275200 KB, 50286 KB/s, 5 seconds passed +... 39%, 275232 KB, 50290 KB/s, 5 seconds passed +... 39%, 275264 KB, 50282 KB/s, 5 seconds passed +... 39%, 275296 KB, 50285 KB/s, 5 seconds passed +... 39%, 275328 KB, 50288 KB/s, 5 seconds passed +... 39%, 275360 KB, 50292 KB/s, 5 seconds passed +... 39%, 275392 KB, 50295 KB/s, 5 seconds passed +... 39%, 275424 KB, 50298 KB/s, 5 seconds passed +... 39%, 275456 KB, 50299 KB/s, 5 seconds passed +... 39%, 275488 KB, 50304 KB/s, 5 seconds passed +... 39%, 275520 KB, 50308 KB/s, 5 seconds passed +... 39%, 275552 KB, 50311 KB/s, 5 seconds passed +... 39%, 275584 KB, 50314 KB/s, 5 seconds passed +... 39%, 275616 KB, 50316 KB/s, 5 seconds passed +... 39%, 275648 KB, 50319 KB/s, 5 seconds passed +... 39%, 275680 KB, 50322 KB/s, 5 seconds passed +... 39%, 275712 KB, 50325 KB/s, 5 seconds passed +... 39%, 275744 KB, 50328 KB/s, 5 seconds passed +... 39%, 275776 KB, 50331 KB/s, 5 seconds passed +... 39%, 275808 KB, 50334 KB/s, 5 seconds passed +... 39%, 275840 KB, 50337 KB/s, 5 seconds passed +... 39%, 275872 KB, 50340 KB/s, 5 seconds passed +... 39%, 275904 KB, 50343 KB/s, 5 seconds passed +... 39%, 275936 KB, 50346 KB/s, 5 seconds passed +... 39%, 275968 KB, 50349 KB/s, 5 seconds passed +... 39%, 276000 KB, 50352 KB/s, 5 seconds passed +... 39%, 276032 KB, 50354 KB/s, 5 seconds passed +... 39%, 276064 KB, 50357 KB/s, 5 seconds passed +... 39%, 276096 KB, 50360 KB/s, 5 seconds passed +... 39%, 276128 KB, 50363 KB/s, 5 seconds passed +... 39%, 276160 KB, 50366 KB/s, 5 seconds passed +... 39%, 276192 KB, 50369 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 39%, 276224 KB, 50372 KB/s, 5 seconds passed +... 39%, 276256 KB, 50375 KB/s, 5 seconds passed +... 39%, 276288 KB, 50378 KB/s, 5 seconds passed +... 39%, 276320 KB, 50381 KB/s, 5 seconds passed +... 39%, 276352 KB, 50384 KB/s, 5 seconds passed +... 39%, 276384 KB, 50387 KB/s, 5 seconds passed +... 39%, 276416 KB, 50391 KB/s, 5 seconds passed +... 39%, 276448 KB, 50394 KB/s, 5 seconds passed +... 39%, 276480 KB, 49979 KB/s, 5 seconds passed +... 39%, 276512 KB, 49981 KB/s, 5 seconds passed +... 39%, 276544 KB, 49983 KB/s, 5 seconds passed +... 39%, 276576 KB, 49985 KB/s, 5 seconds passed +... 39%, 276608 KB, 49987 KB/s, 5 seconds passed +... 39%, 276640 KB, 49989 KB/s, 5 seconds passed +... 39%, 276672 KB, 49992 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 39%, 276704 KB, 49994 KB/s, 5 seconds passed +... 39%, 276736 KB, 49996 KB/s, 5 seconds passed +... 39%, 276768 KB, 49998 KB/s, 5 seconds passed +... 39%, 276800 KB, 50001 KB/s, 5 seconds passed +... 39%, 276832 KB, 50003 KB/s, 5 seconds passed +... 39%, 276864 KB, 50005 KB/s, 5 seconds passed +... 39%, 276896 KB, 50008 KB/s, 5 seconds passed +... 39%, 276928 KB, 50010 KB/s, 5 seconds passed +... 39%, 276960 KB, 50013 KB/s, 5 seconds passed +... 39%, 276992 KB, 50015 KB/s, 5 seconds passed +... 39%, 277024 KB, 50017 KB/s, 5 seconds passed +... 39%, 277056 KB, 50019 KB/s, 5 seconds passed +... 39%, 277088 KB, 50021 KB/s, 5 seconds passed +... 39%, 277120 KB, 50023 KB/s, 5 seconds passed +... 39%, 277152 KB, 50026 KB/s, 5 seconds passed +... 39%, 277184 KB, 50028 KB/s, 5 seconds passed +... 39%, 277216 KB, 50030 KB/s, 5 seconds passed +... 39%, 277248 KB, 50032 KB/s, 5 seconds passed +... 39%, 277280 KB, 50035 KB/s, 5 seconds passed +... 39%, 277312 KB, 50037 KB/s, 5 seconds passed +... 39%, 277344 KB, 50039 KB/s, 5 seconds passed +... 39%, 277376 KB, 50041 KB/s, 5 seconds passed +... 39%, 277408 KB, 50043 KB/s, 5 seconds passed +... 39%, 277440 KB, 50045 KB/s, 5 seconds passed +... 39%, 277472 KB, 50048 KB/s, 5 seconds passed +... 39%, 277504 KB, 50050 KB/s, 5 seconds passed +... 39%, 277536 KB, 50052 KB/s, 5 seconds passed +... 39%, 277568 KB, 50054 KB/s, 5 seconds passed +... 39%, 277600 KB, 50056 KB/s, 5 seconds passed +... 39%, 277632 KB, 50059 KB/s, 5 seconds passed +... 39%, 277664 KB, 50061 KB/s, 5 seconds passed +... 39%, 277696 KB, 50063 KB/s, 5 seconds passed +... 39%, 277728 KB, 50065 KB/s, 5 seconds passed +... 39%, 277760 KB, 50068 KB/s, 5 seconds passed +... 39%, 277792 KB, 50071 KB/s, 5 seconds passed +... 39%, 277824 KB, 50075 KB/s, 5 seconds passed +... 39%, 277856 KB, 50078 KB/s, 5 seconds passed +... 39%, 277888 KB, 50082 KB/s, 5 seconds passed +... 39%, 277920 KB, 50086 KB/s, 5 seconds passed +... 39%, 277952 KB, 50090 KB/s, 5 seconds passed +... 39%, 277984 KB, 50094 KB/s, 5 seconds passed +... 39%, 278016 KB, 50098 KB/s, 5 seconds passed +... 39%, 278048 KB, 50102 KB/s, 5 seconds passed +... 39%, 278080 KB, 50106 KB/s, 5 seconds passed +... 39%, 278112 KB, 50110 KB/s, 5 seconds passed +... 39%, 278144 KB, 50114 KB/s, 5 seconds passed +... 39%, 278176 KB, 50118 KB/s, 5 seconds passed +... 40%, 278208 KB, 50122 KB/s, 5 seconds passed +... 40%, 278240 KB, 50126 KB/s, 5 seconds passed +... 40%, 278272 KB, 50130 KB/s, 5 seconds passed +... 40%, 278304 KB, 50134 KB/s, 5 seconds passed +... 40%, 278336 KB, 50138 KB/s, 5 seconds passed +... 40%, 278368 KB, 50141 KB/s, 5 seconds passed +... 40%, 278400 KB, 50145 KB/s, 5 seconds passed +... 40%, 278432 KB, 50149 KB/s, 5 seconds passed +... 40%, 278464 KB, 50152 KB/s, 5 seconds passed +... 40%, 278496 KB, 50156 KB/s, 5 seconds passed +... 40%, 278528 KB, 50159 KB/s, 5 seconds passed +... 40%, 278560 KB, 50163 KB/s, 5 seconds passed +... 40%, 278592 KB, 50165 KB/s, 5 seconds passed +... 40%, 278624 KB, 50168 KB/s, 5 seconds passed +... 40%, 278656 KB, 50172 KB/s, 5 seconds passed +... 40%, 278688 KB, 50176 KB/s, 5 seconds passed +... 40%, 278720 KB, 50178 KB/s, 5 seconds passed +... 40%, 278752 KB, 50181 KB/s, 5 seconds passed +... 40%, 278784 KB, 50185 KB/s, 5 seconds passed +... 40%, 278816 KB, 50188 KB/s, 5 seconds passed +... 40%, 278848 KB, 50192 KB/s, 5 seconds passed +... 40%, 278880 KB, 50195 KB/s, 5 seconds passed +... 40%, 278912 KB, 50199 KB/s, 5 seconds passed +... 40%, 278944 KB, 50202 KB/s, 5 seconds passed +... 40%, 278976 KB, 50204 KB/s, 5 seconds passed +... 40%, 279008 KB, 50208 KB/s, 5 seconds passed +... 40%, 279040 KB, 50211 KB/s, 5 seconds passed +... 40%, 279072 KB, 50215 KB/s, 5 seconds passed +... 40%, 279104 KB, 50217 KB/s, 5 seconds passed +... 40%, 279136 KB, 50220 KB/s, 5 seconds passed +... 40%, 279168 KB, 50224 KB/s, 5 seconds passed +... 40%, 279200 KB, 50227 KB/s, 5 seconds passed +... 40%, 279232 KB, 50230 KB/s, 5 seconds passed +... 40%, 279264 KB, 50233 KB/s, 5 seconds passed +... 40%, 279296 KB, 50237 KB/s, 5 seconds passed +... 40%, 279328 KB, 50240 KB/s, 5 seconds passed +... 40%, 279360 KB, 50242 KB/s, 5 seconds passed +... 40%, 279392 KB, 50246 KB/s, 5 seconds passed +... 40%, 279424 KB, 50250 KB/s, 5 seconds passed +... 40%, 279456 KB, 50252 KB/s, 5 seconds passed +... 40%, 279488 KB, 50254 KB/s, 5 seconds passed +... 40%, 279520 KB, 50258 KB/s, 5 seconds passed +... 40%, 279552 KB, 50262 KB/s, 5 seconds passed +... 40%, 279584 KB, 50266 KB/s, 5 seconds passed +... 40%, 279616 KB, 50269 KB/s, 5 seconds passed +... 40%, 279648 KB, 50272 KB/s, 5 seconds passed +... 40%, 279680 KB, 50276 KB/s, 5 seconds passed +... 40%, 279712 KB, 50278 KB/s, 5 seconds passed +... 40%, 279744 KB, 50282 KB/s, 5 seconds passed +... 40%, 279776 KB, 50285 KB/s, 5 seconds passed +... 40%, 279808 KB, 50288 KB/s, 5 seconds passed +... 40%, 279840 KB, 50291 KB/s, 5 seconds passed +... 40%, 279872 KB, 50295 KB/s, 5 seconds passed +... 40%, 279904 KB, 50298 KB/s, 5 seconds passed +... 40%, 279936 KB, 50301 KB/s, 5 seconds passed +... 40%, 279968 KB, 50305 KB/s, 5 seconds passed +... 40%, 280000 KB, 50308 KB/s, 5 seconds passed +... 40%, 280032 KB, 50311 KB/s, 5 seconds passed +... 40%, 280064 KB, 50314 KB/s, 5 seconds passed +... 40%, 280096 KB, 50317 KB/s, 5 seconds passed +... 40%, 280128 KB, 50320 KB/s, 5 seconds passed +... 40%, 280160 KB, 50323 KB/s, 5 seconds passed +... 40%, 280192 KB, 50327 KB/s, 5 seconds passed +... 40%, 280224 KB, 50330 KB/s, 5 seconds passed +... 40%, 280256 KB, 50333 KB/s, 5 seconds passed +... 40%, 280288 KB, 50336 KB/s, 5 seconds passed +... 40%, 280320 KB, 50337 KB/s, 5 seconds passed +... 40%, 280352 KB, 50339 KB/s, 5 seconds passed +... 40%, 280384 KB, 50342 KB/s, 5 seconds passed +... 40%, 280416 KB, 50347 KB/s, 5 seconds passed +... 40%, 280448 KB, 50350 KB/s, 5 seconds passed +... 40%, 280480 KB, 50353 KB/s, 5 seconds passed +... 40%, 280512 KB, 50355 KB/s, 5 seconds passed +... 40%, 280544 KB, 50359 KB/s, 5 seconds passed +... 40%, 280576 KB, 50363 KB/s, 5 seconds passed +... 40%, 280608 KB, 50366 KB/s, 5 seconds passed +... 40%, 280640 KB, 50370 KB/s, 5 seconds passed +... 40%, 280672 KB, 50373 KB/s, 5 seconds passed +... 40%, 280704 KB, 50376 KB/s, 5 seconds passed +... 40%, 280736 KB, 50379 KB/s, 5 seconds passed +... 40%, 280768 KB, 50382 KB/s, 5 seconds passed +... 40%, 280800 KB, 50384 KB/s, 5 seconds passed +... 40%, 280832 KB, 50387 KB/s, 5 seconds passed +... 40%, 280864 KB, 50391 KB/s, 5 seconds passed +... 40%, 280896 KB, 50395 KB/s, 5 seconds passed +... 40%, 280928 KB, 50398 KB/s, 5 seconds passed +... 40%, 280960 KB, 50402 KB/s, 5 seconds passed +... 40%, 280992 KB, 50405 KB/s, 5 seconds passed +... 40%, 281024 KB, 50408 KB/s, 5 seconds passed +... 40%, 281056 KB, 50411 KB/s, 5 seconds passed +... 40%, 281088 KB, 50414 KB/s, 5 seconds passed +... 40%, 281120 KB, 50418 KB/s, 5 seconds passed +... 40%, 281152 KB, 50421 KB/s, 5 seconds passed +... 40%, 281184 KB, 50424 KB/s, 5 seconds passed +... 40%, 281216 KB, 50427 KB/s, 5 seconds passed +... 40%, 281248 KB, 50431 KB/s, 5 seconds passed +... 40%, 281280 KB, 50434 KB/s, 5 seconds passed +... 40%, 281312 KB, 50437 KB/s, 5 seconds passed +... 40%, 281344 KB, 50440 KB/s, 5 seconds passed +... 40%, 281376 KB, 50443 KB/s, 5 seconds passed +... 40%, 281408 KB, 50447 KB/s, 5 seconds passed +... 40%, 281440 KB, 50450 KB/s, 5 seconds passed +... 40%, 281472 KB, 50453 KB/s, 5 seconds passed +... 40%, 281504 KB, 50456 KB/s, 5 seconds passed +... 40%, 281536 KB, 50460 KB/s, 5 seconds passed +... 40%, 281568 KB, 50462 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 40%, 281600 KB, 50278 KB/s, 5 seconds passed +... 40%, 281632 KB, 50249 KB/s, 5 seconds passed +... 40%, 281664 KB, 50250 KB/s, 5 seconds passed +... 40%, 281696 KB, 50253 KB/s, 5 seconds passed +... 40%, 281728 KB, 50255 KB/s, 5 seconds passed +... 40%, 281760 KB, 50257 KB/s, 5 seconds passed +... 40%, 281792 KB, 50259 KB/s, 5 seconds passed +... 40%, 281824 KB, 50262 KB/s, 5 seconds passed +... 40%, 281856 KB, 50264 KB/s, 5 seconds passed +... 40%, 281888 KB, 50266 KB/s, 5 seconds passed +... 40%, 281920 KB, 50268 KB/s, 5 seconds passed +... 40%, 281952 KB, 50271 KB/s, 5 seconds passed +... 40%, 281984 KB, 50273 KB/s, 5 seconds passed +... 40%, 282016 KB, 50275 KB/s, 5 seconds passed +... 40%, 282048 KB, 50278 KB/s, 5 seconds passed +... 40%, 282080 KB, 50280 KB/s, 5 seconds passed +... 40%, 282112 KB, 50282 KB/s, 5 seconds passed +... 40%, 282144 KB, 50285 KB/s, 5 seconds passed +... 40%, 282176 KB, 50287 KB/s, 5 seconds passed +... 40%, 282208 KB, 50289 KB/s, 5 seconds passed +... 40%, 282240 KB, 50292 KB/s, 5 seconds passed +... 40%, 282272 KB, 50294 KB/s, 5 seconds passed +... 40%, 282304 KB, 50296 KB/s, 5 seconds passed +... 40%, 282336 KB, 50299 KB/s, 5 seconds passed +... 40%, 282368 KB, 50301 KB/s, 5 seconds passed +... 40%, 282400 KB, 50303 KB/s, 5 seconds passed +... 40%, 282432 KB, 50306 KB/s, 5 seconds passed +... 40%, 282464 KB, 50308 KB/s, 5 seconds passed +... 40%, 282496 KB, 50310 KB/s, 5 seconds passed +... 40%, 282528 KB, 50312 KB/s, 5 seconds passed +... 40%, 282560 KB, 50315 KB/s, 5 seconds passed +... 40%, 282592 KB, 50317 KB/s, 5 seconds passed +... 40%, 282624 KB, 50320 KB/s, 5 seconds passed +... 40%, 282656 KB, 50322 KB/s, 5 seconds passed +... 40%, 282688 KB, 50325 KB/s, 5 seconds passed +... 40%, 282720 KB, 50327 KB/s, 5 seconds passed +... 40%, 282752 KB, 50329 KB/s, 5 seconds passed +... 40%, 282784 KB, 50332 KB/s, 5 seconds passed +... 40%, 282816 KB, 50335 KB/s, 5 seconds passed +... 40%, 282848 KB, 50339 KB/s, 5 seconds passed +... 40%, 282880 KB, 50342 KB/s, 5 seconds passed +... 40%, 282912 KB, 50346 KB/s, 5 seconds passed +... 40%, 282944 KB, 50349 KB/s, 5 seconds passed +... 40%, 282976 KB, 50353 KB/s, 5 seconds passed +... 40%, 283008 KB, 50357 KB/s, 5 seconds passed +... 40%, 283040 KB, 50360 KB/s, 5 seconds passed +... 40%, 283072 KB, 50364 KB/s, 5 seconds passed +... 40%, 283104 KB, 50367 KB/s, 5 seconds passed +... 40%, 283136 KB, 50371 KB/s, 5 seconds passed +... 40%, 283168 KB, 50374 KB/s, 5 seconds passed +... 40%, 283200 KB, 50378 KB/s, 5 seconds passed +... 40%, 283232 KB, 50381 KB/s, 5 seconds passed +... 40%, 283264 KB, 50385 KB/s, 5 seconds passed +... 40%, 283296 KB, 50388 KB/s, 5 seconds passed +... 40%, 283328 KB, 50392 KB/s, 5 seconds passed +... 40%, 283360 KB, 50395 KB/s, 5 seconds passed +... 40%, 283392 KB, 50399 KB/s, 5 seconds passed +... 40%, 283424 KB, 50402 KB/s, 5 seconds passed +... 40%, 283456 KB, 50405 KB/s, 5 seconds passed +... 40%, 283488 KB, 50409 KB/s, 5 seconds passed +... 40%, 283520 KB, 50412 KB/s, 5 seconds passed +... 40%, 283552 KB, 50416 KB/s, 5 seconds passed +... 40%, 283584 KB, 50419 KB/s, 5 seconds passed +... 40%, 283616 KB, 50423 KB/s, 5 seconds passed +... 40%, 283648 KB, 50426 KB/s, 5 seconds passed +... 40%, 283680 KB, 50430 KB/s, 5 seconds passed +... 40%, 283712 KB, 50434 KB/s, 5 seconds passed +... 40%, 283744 KB, 50437 KB/s, 5 seconds passed +... 40%, 283776 KB, 50441 KB/s, 5 seconds passed +... 40%, 283808 KB, 50444 KB/s, 5 seconds passed +... 40%, 283840 KB, 50448 KB/s, 5 seconds passed +... 40%, 283872 KB, 50451 KB/s, 5 seconds passed +... 40%, 283904 KB, 50455 KB/s, 5 seconds passed +... 40%, 283936 KB, 50458 KB/s, 5 seconds passed +... 40%, 283968 KB, 50461 KB/s, 5 seconds passed +... 40%, 284000 KB, 50465 KB/s, 5 seconds passed +... 40%, 284032 KB, 50468 KB/s, 5 seconds passed +... 40%, 284064 KB, 50472 KB/s, 5 seconds passed +... 40%, 284096 KB, 50476 KB/s, 5 seconds passed +... 40%, 284128 KB, 50480 KB/s, 5 seconds passed +... 40%, 284160 KB, 50484 KB/s, 5 seconds passed +... 40%, 284192 KB, 50488 KB/s, 5 seconds passed +... 40%, 284224 KB, 50493 KB/s, 5 seconds passed +... 40%, 284256 KB, 50497 KB/s, 5 seconds passed +... 40%, 284288 KB, 50501 KB/s, 5 seconds passed +... 40%, 284320 KB, 50505 KB/s, 5 seconds passed +... 40%, 284352 KB, 50509 KB/s, 5 seconds passed +... 40%, 284384 KB, 50513 KB/s, 5 seconds passed +... 40%, 284416 KB, 50518 KB/s, 5 seconds passed +... 40%, 284448 KB, 50522 KB/s, 5 seconds passed +... 40%, 284480 KB, 50526 KB/s, 5 seconds passed +... 40%, 284512 KB, 50530 KB/s, 5 seconds passed +... 40%, 284544 KB, 50534 KB/s, 5 seconds passed +... 40%, 284576 KB, 50538 KB/s, 5 seconds passed +... 40%, 284608 KB, 50543 KB/s, 5 seconds passed +... 40%, 284640 KB, 50546 KB/s, 5 seconds passed +... 40%, 284672 KB, 50551 KB/s, 5 seconds passed +... 40%, 284704 KB, 50555 KB/s, 5 seconds passed +... 40%, 284736 KB, 50559 KB/s, 5 seconds passed +... 40%, 284768 KB, 50562 KB/s, 5 seconds passed +... 40%, 284800 KB, 50565 KB/s, 5 seconds passed +... 40%, 284832 KB, 50567 KB/s, 5 seconds passed +... 40%, 284864 KB, 50571 KB/s, 5 seconds passed +... 40%, 284896 KB, 50574 KB/s, 5 seconds passed +... 40%, 284928 KB, 50577 KB/s, 5 seconds passed +... 40%, 284960 KB, 50581 KB/s, 5 seconds passed +... 40%, 284992 KB, 50584 KB/s, 5 seconds passed +... 40%, 285024 KB, 50587 KB/s, 5 seconds passed +... 40%, 285056 KB, 50590 KB/s, 5 seconds passed +... 40%, 285088 KB, 50593 KB/s, 5 seconds passed +... 40%, 285120 KB, 50596 KB/s, 5 seconds passed +... 40%, 285152 KB, 50599 KB/s, 5 seconds passed +... 41%, 285184 KB, 50603 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 41%, 285216 KB, 50475 KB/s, 5 seconds passed +... 41%, 285248 KB, 50473 KB/s, 5 seconds passed +... 41%, 285280 KB, 50475 KB/s, 5 seconds passed +... 41%, 285312 KB, 50477 KB/s, 5 seconds passed +... 41%, 285344 KB, 50479 KB/s, 5 seconds passed +... 41%, 285376 KB, 50481 KB/s, 5 seconds passed +... 41%, 285408 KB, 50484 KB/s, 5 seconds passed +... 41%, 285440 KB, 50486 KB/s, 5 seconds passed +... 41%, 285472 KB, 50488 KB/s, 5 seconds passed +... 41%, 285504 KB, 50490 KB/s, 5 seconds passed +... 41%, 285536 KB, 50492 KB/s, 5 seconds passed +... 41%, 285568 KB, 50495 KB/s, 5 seconds passed +... 41%, 285600 KB, 50497 KB/s, 5 seconds passed +... 41%, 285632 KB, 50499 KB/s, 5 seconds passed +... 41%, 285664 KB, 50502 KB/s, 5 seconds passed +... 41%, 285696 KB, 50504 KB/s, 5 seconds passed +... 41%, 285728 KB, 50507 KB/s, 5 seconds passed +... 41%, 285760 KB, 50509 KB/s, 5 seconds passed +... 41%, 285792 KB, 50511 KB/s, 5 seconds passed +... 41%, 285824 KB, 50514 KB/s, 5 seconds passed +... 41%, 285856 KB, 50516 KB/s, 5 seconds passed +... 41%, 285888 KB, 50518 KB/s, 5 seconds passed +... 41%, 285920 KB, 50520 KB/s, 5 seconds passed +... 41%, 285952 KB, 50523 KB/s, 5 seconds passed +... 41%, 285984 KB, 50526 KB/s, 5 seconds passed +... 41%, 286016 KB, 50528 KB/s, 5 seconds passed +... 41%, 286048 KB, 50531 KB/s, 5 seconds passed +... 41%, 286080 KB, 50533 KB/s, 5 seconds passed +... 41%, 286112 KB, 50536 KB/s, 5 seconds passed +... 41%, 286144 KB, 50538 KB/s, 5 seconds passed +... 41%, 286176 KB, 50541 KB/s, 5 seconds passed +... 41%, 286208 KB, 50543 KB/s, 5 seconds passed +... 41%, 286240 KB, 50546 KB/s, 5 seconds passed +... 41%, 286272 KB, 50548 KB/s, 5 seconds passed +... 41%, 286304 KB, 50551 KB/s, 5 seconds passed +... 41%, 286336 KB, 50553 KB/s, 5 seconds passed +... 41%, 286368 KB, 50556 KB/s, 5 seconds passed +... 41%, 286400 KB, 50559 KB/s, 5 seconds passed +... 41%, 286432 KB, 50562 KB/s, 5 seconds passed +... 41%, 286464 KB, 50565 KB/s, 5 seconds passed +... 41%, 286496 KB, 50569 KB/s, 5 seconds passed +... 41%, 286528 KB, 50572 KB/s, 5 seconds passed +... 41%, 286560 KB, 50575 KB/s, 5 seconds passed +... 41%, 286592 KB, 50579 KB/s, 5 seconds passed +... 41%, 286624 KB, 50582 KB/s, 5 seconds passed +... 41%, 286656 KB, 50585 KB/s, 5 seconds passed +... 41%, 286688 KB, 50588 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 41%, 286720 KB, 50380 KB/s, 5 seconds passed +... 41%, 286752 KB, 50378 KB/s, 5 seconds passed +... 41%, 286784 KB, 50378 KB/s, 5 seconds passed +... 41%, 286816 KB, 50378 KB/s, 5 seconds passed +... 41%, 286848 KB, 50351 KB/s, 5 seconds passed +... 41%, 286880 KB, 50352 KB/s, 5 seconds passed +... 41%, 286912 KB, 50353 KB/s, 5 seconds passed +... 41%, 286944 KB, 50355 KB/s, 5 seconds passed +... 41%, 286976 KB, 50357 KB/s, 5 seconds passed +... 41%, 287008 KB, 50358 KB/s, 5 seconds passed +... 41%, 287040 KB, 50359 KB/s, 5 seconds passed +... 41%, 287072 KB, 50361 KB/s, 5 seconds passed +... 41%, 287104 KB, 50363 KB/s, 5 seconds passed +... 41%, 287136 KB, 50365 KB/s, 5 seconds passed +... 41%, 287168 KB, 50368 KB/s, 5 seconds passed +... 41%, 287200 KB, 50370 KB/s, 5 seconds passed +... 41%, 287232 KB, 50372 KB/s, 5 seconds passed +... 41%, 287264 KB, 50374 KB/s, 5 seconds passed +... 41%, 287296 KB, 50376 KB/s, 5 seconds passed +... 41%, 287328 KB, 50378 KB/s, 5 seconds passed +... 41%, 287360 KB, 50381 KB/s, 5 seconds passed +... 41%, 287392 KB, 50383 KB/s, 5 seconds passed +... 41%, 287424 KB, 50385 KB/s, 5 seconds passed +... 41%, 287456 KB, 50387 KB/s, 5 seconds passed +... 41%, 287488 KB, 50389 KB/s, 5 seconds passed +... 41%, 287520 KB, 50392 KB/s, 5 seconds passed +... 41%, 287552 KB, 50394 KB/s, 5 seconds passed +... 41%, 287584 KB, 50396 KB/s, 5 seconds passed +... 41%, 287616 KB, 50399 KB/s, 5 seconds passed +... 41%, 287648 KB, 50401 KB/s, 5 seconds passed +... 41%, 287680 KB, 50403 KB/s, 5 seconds passed +... 41%, 287712 KB, 50405 KB/s, 5 seconds passed +... 41%, 287744 KB, 50407 KB/s, 5 seconds passed +... 41%, 287776 KB, 50409 KB/s, 5 seconds passed +... 41%, 287808 KB, 50411 KB/s, 5 seconds passed +... 41%, 287840 KB, 50414 KB/s, 5 seconds passed +... 41%, 287872 KB, 50418 KB/s, 5 seconds passed +... 41%, 287904 KB, 50421 KB/s, 5 seconds passed +... 41%, 287936 KB, 50425 KB/s, 5 seconds passed +... 41%, 287968 KB, 50428 KB/s, 5 seconds passed +... 41%, 288000 KB, 50432 KB/s, 5 seconds passed +... 41%, 288032 KB, 50435 KB/s, 5 seconds passed +... 41%, 288064 KB, 50439 KB/s, 5 seconds passed +... 41%, 288096 KB, 50442 KB/s, 5 seconds passed +... 41%, 288128 KB, 50445 KB/s, 5 seconds passed +... 41%, 288160 KB, 50449 KB/s, 5 seconds passed +... 41%, 288192 KB, 50452 KB/s, 5 seconds passed +... 41%, 288224 KB, 50455 KB/s, 5 seconds passed +... 41%, 288256 KB, 50459 KB/s, 5 seconds passed +... 41%, 288288 KB, 50462 KB/s, 5 seconds passed +... 41%, 288320 KB, 50466 KB/s, 5 seconds passed +... 41%, 288352 KB, 50469 KB/s, 5 seconds passed +... 41%, 288384 KB, 50473 KB/s, 5 seconds passed +... 41%, 288416 KB, 50476 KB/s, 5 seconds passed +... 41%, 288448 KB, 50480 KB/s, 5 seconds passed +... 41%, 288480 KB, 50483 KB/s, 5 seconds passed +... 41%, 288512 KB, 50487 KB/s, 5 seconds passed +... 41%, 288544 KB, 50490 KB/s, 5 seconds passed +... 41%, 288576 KB, 50493 KB/s, 5 seconds passed +... 41%, 288608 KB, 50497 KB/s, 5 seconds passed +... 41%, 288640 KB, 50500 KB/s, 5 seconds passed +... 41%, 288672 KB, 50504 KB/s, 5 seconds passed +... 41%, 288704 KB, 50507 KB/s, 5 seconds passed +... 41%, 288736 KB, 50510 KB/s, 5 seconds passed +... 41%, 288768 KB, 50514 KB/s, 5 seconds passed +... 41%, 288800 KB, 50517 KB/s, 5 seconds passed +... 41%, 288832 KB, 50521 KB/s, 5 seconds passed +... 41%, 288864 KB, 50524 KB/s, 5 seconds passed +... 41%, 288896 KB, 50528 KB/s, 5 seconds passed +... 41%, 288928 KB, 50531 KB/s, 5 seconds passed +... 41%, 288960 KB, 50535 KB/s, 5 seconds passed +... 41%, 288992 KB, 50538 KB/s, 5 seconds passed +... 41%, 289024 KB, 50542 KB/s, 5 seconds passed +... 41%, 289056 KB, 50545 KB/s, 5 seconds passed +... 41%, 289088 KB, 50548 KB/s, 5 seconds passed +... 41%, 289120 KB, 50552 KB/s, 5 seconds passed +... 41%, 289152 KB, 50555 KB/s, 5 seconds passed +... 41%, 289184 KB, 50559 KB/s, 5 seconds passed +... 41%, 289216 KB, 50563 KB/s, 5 seconds passed +... 41%, 289248 KB, 50567 KB/s, 5 seconds passed +... 41%, 289280 KB, 50571 KB/s, 5 seconds passed +... 41%, 289312 KB, 50575 KB/s, 5 seconds passed +... 41%, 289344 KB, 50580 KB/s, 5 seconds passed +... 41%, 289376 KB, 50584 KB/s, 5 seconds passed +... 41%, 289408 KB, 50588 KB/s, 5 seconds passed +... 41%, 289440 KB, 50592 KB/s, 5 seconds passed +... 41%, 289472 KB, 50596 KB/s, 5 seconds passed +... 41%, 289504 KB, 50600 KB/s, 5 seconds passed +... 41%, 289536 KB, 50605 KB/s, 5 seconds passed +... 41%, 289568 KB, 50609 KB/s, 5 seconds passed +... 41%, 289600 KB, 50613 KB/s, 5 seconds passed +... 41%, 289632 KB, 50617 KB/s, 5 seconds passed +... 41%, 289664 KB, 50621 KB/s, 5 seconds passed +... 41%, 289696 KB, 50626 KB/s, 5 seconds passed +... 41%, 289728 KB, 50630 KB/s, 5 seconds passed +... 41%, 289760 KB, 50634 KB/s, 5 seconds passed +... 41%, 289792 KB, 50638 KB/s, 5 seconds passed +... 41%, 289824 KB, 50642 KB/s, 5 seconds passed +... 41%, 289856 KB, 50646 KB/s, 5 seconds passed +... 41%, 289888 KB, 50650 KB/s, 5 seconds passed +... 41%, 289920 KB, 50652 KB/s, 5 seconds passed +... 41%, 289952 KB, 50656 KB/s, 5 seconds passed +... 41%, 289984 KB, 50659 KB/s, 5 seconds passed +... 41%, 290016 KB, 50662 KB/s, 5 seconds passed +... 41%, 290048 KB, 50665 KB/s, 5 seconds passed +... 41%, 290080 KB, 50668 KB/s, 5 seconds passed +... 41%, 290112 KB, 50672 KB/s, 5 seconds passed +... 41%, 290144 KB, 50674 KB/s, 5 seconds passed +... 41%, 290176 KB, 50677 KB/s, 5 seconds passed +... 41%, 290208 KB, 50680 KB/s, 5 seconds passed +... 41%, 290240 KB, 50681 KB/s, 5 seconds passed +... 41%, 290272 KB, 50683 KB/s, 5 seconds passed +... 41%, 290304 KB, 50685 KB/s, 5 seconds passed +... 41%, 290336 KB, 50689 KB/s, 5 seconds passed +... 41%, 290368 KB, 50693 KB/s, 5 seconds passed +... 41%, 290400 KB, 50697 KB/s, 5 seconds passed +... 41%, 290432 KB, 50701 KB/s, 5 seconds passed +... 41%, 290464 KB, 50704 KB/s, 5 seconds passed +... 41%, 290496 KB, 50708 KB/s, 5 seconds passed +... 41%, 290528 KB, 50711 KB/s, 5 seconds passed +... 41%, 290560 KB, 50714 KB/s, 5 seconds passed +... 41%, 290592 KB, 50704 KB/s, 5 seconds passed +... 41%, 290624 KB, 50697 KB/s, 5 seconds passed +... 41%, 290656 KB, 50701 KB/s, 5 seconds passed +... 41%, 290688 KB, 50704 KB/s, 5 seconds passed +... 41%, 290720 KB, 50707 KB/s, 5 seconds passed +... 41%, 290752 KB, 50711 KB/s, 5 seconds passed +... 41%, 290784 KB, 50713 KB/s, 5 seconds passed +... 41%, 290816 KB, 50716 KB/s, 5 seconds passed +... 41%, 290848 KB, 50718 KB/s, 5 seconds passed +... 41%, 290880 KB, 50722 KB/s, 5 seconds passed +... 41%, 290912 KB, 50726 KB/s, 5 seconds passed +... 41%, 290944 KB, 50728 KB/s, 5 seconds passed +... 41%, 290976 KB, 50730 KB/s, 5 seconds passed +... 41%, 291008 KB, 50734 KB/s, 5 seconds passed +... 41%, 291040 KB, 50738 KB/s, 5 seconds passed +... 41%, 291072 KB, 50741 KB/s, 5 seconds passed +... 41%, 291104 KB, 50743 KB/s, 5 seconds passed +... 41%, 291136 KB, 50745 KB/s, 5 seconds passed +... 41%, 291168 KB, 50747 KB/s, 5 seconds passed +... 41%, 291200 KB, 50751 KB/s, 5 seconds passed +... 41%, 291232 KB, 50755 KB/s, 5 seconds passed +... 41%, 291264 KB, 50760 KB/s, 5 seconds passed +... 41%, 291296 KB, 50763 KB/s, 5 seconds passed +... 41%, 291328 KB, 50766 KB/s, 5 seconds passed +... 41%, 291360 KB, 50769 KB/s, 5 seconds passed +... 41%, 291392 KB, 50772 KB/s, 5 seconds passed +... 41%, 291424 KB, 50776 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 41%, 291456 KB, 50778 KB/s, 5 seconds passed +... 41%, 291488 KB, 50780 KB/s, 5 seconds passed +... 41%, 291520 KB, 50784 KB/s, 5 seconds passed +... 41%, 291552 KB, 50788 KB/s, 5 seconds passed +... 41%, 291584 KB, 50791 KB/s, 5 seconds passed +... 41%, 291616 KB, 50794 KB/s, 5 seconds passed +... 41%, 291648 KB, 50797 KB/s, 5 seconds passed +... 41%, 291680 KB, 50800 KB/s, 5 seconds passed +... 41%, 291712 KB, 50803 KB/s, 5 seconds passed +... 41%, 291744 KB, 50807 KB/s, 5 seconds passed +... 41%, 291776 KB, 50810 KB/s, 5 seconds passed +... 41%, 291808 KB, 50813 KB/s, 5 seconds passed +... 41%, 291840 KB, 50581 KB/s, 5 seconds passed +... 41%, 291872 KB, 50574 KB/s, 5 seconds passed +... 41%, 291904 KB, 50575 KB/s, 5 seconds passed +... 41%, 291936 KB, 50577 KB/s, 5 seconds passed +... 41%, 291968 KB, 50579 KB/s, 5 seconds passed +... 41%, 292000 KB, 50582 KB/s, 5 seconds passed +... 41%, 292032 KB, 50584 KB/s, 5 seconds passed +... 41%, 292064 KB, 50586 KB/s, 5 seconds passed +... 41%, 292096 KB, 50588 KB/s, 5 seconds passed +... 42%, 292128 KB, 50591 KB/s, 5 seconds passed +... 42%, 292160 KB, 50593 KB/s, 5 seconds passed +... 42%, 292192 KB, 50596 KB/s, 5 seconds passed +... 42%, 292224 KB, 50598 KB/s, 5 seconds passed +... 42%, 292256 KB, 50600 KB/s, 5 seconds passed +... 42%, 292288 KB, 50602 KB/s, 5 seconds passed +... 42%, 292320 KB, 50605 KB/s, 5 seconds passed +... 42%, 292352 KB, 50607 KB/s, 5 seconds passed +... 42%, 292384 KB, 50610 KB/s, 5 seconds passed +... 42%, 292416 KB, 50612 KB/s, 5 seconds passed +... 42%, 292448 KB, 50613 KB/s, 5 seconds passed +... 42%, 292480 KB, 50613 KB/s, 5 seconds passed +... 42%, 292512 KB, 50615 KB/s, 5 seconds passed +... 42%, 292544 KB, 50617 KB/s, 5 seconds passed +... 42%, 292576 KB, 50619 KB/s, 5 seconds passed +... 42%, 292608 KB, 50622 KB/s, 5 seconds passed +... 42%, 292640 KB, 50624 KB/s, 5 seconds passed +... 42%, 292672 KB, 50627 KB/s, 5 seconds passed +... 42%, 292704 KB, 50630 KB/s, 5 seconds passed +... 42%, 292736 KB, 50633 KB/s, 5 seconds passed +... 42%, 292768 KB, 50636 KB/s, 5 seconds passed +... 42%, 292800 KB, 50638 KB/s, 5 seconds passed +... 42%, 292832 KB, 50635 KB/s, 5 seconds passed +... 42%, 292864 KB, 50638 KB/s, 5 seconds passed +... 42%, 292896 KB, 50641 KB/s, 5 seconds passed +... 42%, 292928 KB, 50637 KB/s, 5 seconds passed +... 42%, 292960 KB, 50639 KB/s, 5 seconds passed +... 42%, 292992 KB, 50641 KB/s, 5 seconds passed +... 42%, 293024 KB, 50644 KB/s, 5 seconds passed +... 42%, 293056 KB, 50647 KB/s, 5 seconds passed +... 42%, 293088 KB, 50628 KB/s, 5 seconds passed +... 42%, 293120 KB, 50630 KB/s, 5 seconds passed +... 42%, 293152 KB, 50632 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 42%, 293184 KB, 50513 KB/s, 5 seconds passed +... 42%, 293216 KB, 50514 KB/s, 5 seconds passed +... 42%, 293248 KB, 50517 KB/s, 5 seconds passed +... 42%, 293280 KB, 50519 KB/s, 5 seconds passed +... 42%, 293312 KB, 50521 KB/s, 5 seconds passed +... 42%, 293344 KB, 50523 KB/s, 5 seconds passed +... 42%, 293376 KB, 50525 KB/s, 5 seconds passed +... 42%, 293408 KB, 50527 KB/s, 5 seconds passed +... 42%, 293440 KB, 50529 KB/s, 5 seconds passed +... 42%, 293472 KB, 50531 KB/s, 5 seconds passed +... 42%, 293504 KB, 50534 KB/s, 5 seconds passed +... 42%, 293536 KB, 50536 KB/s, 5 seconds passed +... 42%, 293568 KB, 50538 KB/s, 5 seconds passed +... 42%, 293600 KB, 50541 KB/s, 5 seconds passed +... 42%, 293632 KB, 50544 KB/s, 5 seconds passed +... 42%, 293664 KB, 50547 KB/s, 5 seconds passed +... 42%, 293696 KB, 50546 KB/s, 5 seconds passed +... 42%, 293728 KB, 50549 KB/s, 5 seconds passed +... 42%, 293760 KB, 50551 KB/s, 5 seconds passed +... 42%, 293792 KB, 50553 KB/s, 5 seconds passed +... 42%, 293824 KB, 50555 KB/s, 5 seconds passed +... 42%, 293856 KB, 50557 KB/s, 5 seconds passed +... 42%, 293888 KB, 50559 KB/s, 5 seconds passed +... 42%, 293920 KB, 50562 KB/s, 5 seconds passed +... 42%, 293952 KB, 50564 KB/s, 5 seconds passed +... 42%, 293984 KB, 50567 KB/s, 5 seconds passed +... 42%, 294016 KB, 50569 KB/s, 5 seconds passed +... 42%, 294048 KB, 50571 KB/s, 5 seconds passed +... 42%, 294080 KB, 50573 KB/s, 5 seconds passed +... 42%, 294112 KB, 50575 KB/s, 5 seconds passed +... 42%, 294144 KB, 50578 KB/s, 5 seconds passed +... 42%, 294176 KB, 50580 KB/s, 5 seconds passed +... 42%, 294208 KB, 50582 KB/s, 5 seconds passed +... 42%, 294240 KB, 50584 KB/s, 5 seconds passed +... 42%, 294272 KB, 50586 KB/s, 5 seconds passed +... 42%, 294304 KB, 50589 KB/s, 5 seconds passed +... 42%, 294336 KB, 50591 KB/s, 5 seconds passed +... 42%, 294368 KB, 50593 KB/s, 5 seconds passed +... 42%, 294400 KB, 50595 KB/s, 5 seconds passed +... 42%, 294432 KB, 50598 KB/s, 5 seconds passed +... 42%, 294464 KB, 50600 KB/s, 5 seconds passed +... 42%, 294496 KB, 50602 KB/s, 5 seconds passed +... 42%, 294528 KB, 50604 KB/s, 5 seconds passed +... 42%, 294560 KB, 50606 KB/s, 5 seconds passed +... 42%, 294592 KB, 50610 KB/s, 5 seconds passed +... 42%, 294624 KB, 50613 KB/s, 5 seconds passed +... 42%, 294656 KB, 50616 KB/s, 5 seconds passed +... 42%, 294688 KB, 50620 KB/s, 5 seconds passed +... 42%, 294720 KB, 50623 KB/s, 5 seconds passed +... 42%, 294752 KB, 50627 KB/s, 5 seconds passed +... 42%, 294784 KB, 50630 KB/s, 5 seconds passed +... 42%, 294816 KB, 50633 KB/s, 5 seconds passed +... 42%, 294848 KB, 50637 KB/s, 5 seconds passed +... 42%, 294880 KB, 50640 KB/s, 5 seconds passed +... 42%, 294912 KB, 50643 KB/s, 5 seconds passed +... 42%, 294944 KB, 50647 KB/s, 5 seconds passed +... 42%, 294976 KB, 50650 KB/s, 5 seconds passed +... 42%, 295008 KB, 50653 KB/s, 5 seconds passed +... 42%, 295040 KB, 50657 KB/s, 5 seconds passed +... 42%, 295072 KB, 50660 KB/s, 5 seconds passed +... 42%, 295104 KB, 50664 KB/s, 5 seconds passed +... 42%, 295136 KB, 50667 KB/s, 5 seconds passed +... 42%, 295168 KB, 50670 KB/s, 5 seconds passed +... 42%, 295200 KB, 50674 KB/s, 5 seconds passed +... 42%, 295232 KB, 50677 KB/s, 5 seconds passed +... 42%, 295264 KB, 50681 KB/s, 5 seconds passed +... 42%, 295296 KB, 50684 KB/s, 5 seconds passed +... 42%, 295328 KB, 50687 KB/s, 5 seconds passed +... 42%, 295360 KB, 50691 KB/s, 5 seconds passed +... 42%, 295392 KB, 50694 KB/s, 5 seconds passed +... 42%, 295424 KB, 50697 KB/s, 5 seconds passed +... 42%, 295456 KB, 50701 KB/s, 5 seconds passed +... 42%, 295488 KB, 50704 KB/s, 5 seconds passed +... 42%, 295520 KB, 50707 KB/s, 5 seconds passed +... 42%, 295552 KB, 50711 KB/s, 5 seconds passed +... 42%, 295584 KB, 50714 KB/s, 5 seconds passed +... 42%, 295616 KB, 50717 KB/s, 5 seconds passed +... 42%, 295648 KB, 50721 KB/s, 5 seconds passed +... 42%, 295680 KB, 50724 KB/s, 5 seconds passed +... 42%, 295712 KB, 50727 KB/s, 5 seconds passed +... 42%, 295744 KB, 50731 KB/s, 5 seconds passed +... 42%, 295776 KB, 50734 KB/s, 5 seconds passed +... 42%, 295808 KB, 50737 KB/s, 5 seconds passed +... 42%, 295840 KB, 50741 KB/s, 5 seconds passed +... 42%, 295872 KB, 50745 KB/s, 5 seconds passed +... 42%, 295904 KB, 50749 KB/s, 5 seconds passed +... 42%, 295936 KB, 50753 KB/s, 5 seconds passed +... 42%, 295968 KB, 50757 KB/s, 5 seconds passed +... 42%, 296000 KB, 50761 KB/s, 5 seconds passed +... 42%, 296032 KB, 50765 KB/s, 5 seconds passed +... 42%, 296064 KB, 50769 KB/s, 5 seconds passed +... 42%, 296096 KB, 50773 KB/s, 5 seconds passed +... 42%, 296128 KB, 50777 KB/s, 5 seconds passed +... 42%, 296160 KB, 50780 KB/s, 5 seconds passed +... 42%, 296192 KB, 50783 KB/s, 5 seconds passed +... 42%, 296224 KB, 50786 KB/s, 5 seconds passed +... 42%, 296256 KB, 50789 KB/s, 5 seconds passed +... 42%, 296288 KB, 50792 KB/s, 5 seconds passed +... 42%, 296320 KB, 50795 KB/s, 5 seconds passed +... 42%, 296352 KB, 50798 KB/s, 5 seconds passed +... 42%, 296384 KB, 50801 KB/s, 5 seconds passed +... 42%, 296416 KB, 50804 KB/s, 5 seconds passed +... 42%, 296448 KB, 50807 KB/s, 5 seconds passed +... 42%, 296480 KB, 50808 KB/s, 5 seconds passed +... 42%, 296512 KB, 50811 KB/s, 5 seconds passed +... 42%, 296544 KB, 50815 KB/s, 5 seconds passed +... 42%, 296576 KB, 50819 KB/s, 5 seconds passed +... 42%, 296608 KB, 50822 KB/s, 5 seconds passed +... 42%, 296640 KB, 50826 KB/s, 5 seconds passed +... 42%, 296672 KB, 50828 KB/s, 5 seconds passed +... 42%, 296704 KB, 50832 KB/s, 5 seconds passed +... 42%, 296736 KB, 50835 KB/s, 5 seconds passed +... 42%, 296768 KB, 50837 KB/s, 5 seconds passed +... 42%, 296800 KB, 50841 KB/s, 5 seconds passed +... 42%, 296832 KB, 50844 KB/s, 5 seconds passed +... 42%, 296864 KB, 50847 KB/s, 5 seconds passed +... 42%, 296896 KB, 50850 KB/s, 5 seconds passed +... 42%, 296928 KB, 50853 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 42%, 296960 KB, 50403 KB/s, 5 seconds passed +... 42%, 296992 KB, 50404 KB/s, 5 seconds passed +... 42%, 297024 KB, 50405 KB/s, 5 seconds passed +... 42%, 297056 KB, 50407 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 42%, 297088 KB, 50313 KB/s, 5 seconds passed +... 42%, 297120 KB, 50314 KB/s, 5 seconds passed +... 42%, 297152 KB, 50315 KB/s, 5 seconds passed +... 42%, 297184 KB, 50317 KB/s, 5 seconds passed +... 42%, 297216 KB, 50319 KB/s, 5 seconds passed +... 42%, 297248 KB, 50321 KB/s, 5 seconds passed +... 42%, 297280 KB, 50322 KB/s, 5 seconds passed +... 42%, 297312 KB, 50325 KB/s, 5 seconds passed +... 42%, 297344 KB, 50326 KB/s, 5 seconds passed +... 42%, 297376 KB, 50328 KB/s, 5 seconds passed +... 42%, 297408 KB, 50330 KB/s, 5 seconds passed +... 42%, 297440 KB, 50333 KB/s, 5 seconds passed +... 42%, 297472 KB, 50335 KB/s, 5 seconds passed +... 42%, 297504 KB, 50337 KB/s, 5 seconds passed +... 42%, 297536 KB, 50338 KB/s, 5 seconds passed +... 42%, 297568 KB, 50340 KB/s, 5 seconds passed +... 42%, 297600 KB, 50342 KB/s, 5 seconds passed +... 42%, 297632 KB, 50345 KB/s, 5 seconds passed +... 42%, 297664 KB, 50346 KB/s, 5 seconds passed +... 42%, 297696 KB, 50349 KB/s, 5 seconds passed +... 42%, 297728 KB, 50350 KB/s, 5 seconds passed +... 42%, 297760 KB, 50352 KB/s, 5 seconds passed +... 42%, 297792 KB, 50354 KB/s, 5 seconds passed +... 42%, 297824 KB, 50357 KB/s, 5 seconds passed +... 42%, 297856 KB, 50359 KB/s, 5 seconds passed +... 42%, 297888 KB, 50360 KB/s, 5 seconds passed +... 42%, 297920 KB, 50362 KB/s, 5 seconds passed +... 42%, 297952 KB, 50364 KB/s, 5 seconds passed +... 42%, 297984 KB, 50366 KB/s, 5 seconds passed +... 42%, 298016 KB, 50369 KB/s, 5 seconds passed +... 42%, 298048 KB, 50370 KB/s, 5 seconds passed +... 42%, 298080 KB, 50373 KB/s, 5 seconds passed +... 42%, 298112 KB, 50375 KB/s, 5 seconds passed +... 42%, 298144 KB, 50377 KB/s, 5 seconds passed +... 42%, 298176 KB, 50379 KB/s, 5 seconds passed +... 42%, 298208 KB, 50380 KB/s, 5 seconds passed +... 42%, 298240 KB, 50382 KB/s, 5 seconds passed +... 42%, 298272 KB, 50385 KB/s, 5 seconds passed +... 42%, 298304 KB, 50387 KB/s, 5 seconds passed +... 42%, 298336 KB, 50389 KB/s, 5 seconds passed +... 42%, 298368 KB, 50392 KB/s, 5 seconds passed +... 42%, 298400 KB, 50395 KB/s, 5 seconds passed +... 42%, 298432 KB, 50399 KB/s, 5 seconds passed +... 42%, 298464 KB, 50402 KB/s, 5 seconds passed +... 42%, 298496 KB, 50405 KB/s, 5 seconds passed +... 42%, 298528 KB, 50408 KB/s, 5 seconds passed +... 42%, 298560 KB, 50412 KB/s, 5 seconds passed +... 42%, 298592 KB, 50415 KB/s, 5 seconds passed +... 42%, 298624 KB, 50418 KB/s, 5 seconds passed +... 42%, 298656 KB, 50421 KB/s, 5 seconds passed +... 42%, 298688 KB, 50424 KB/s, 5 seconds passed +... 42%, 298720 KB, 50428 KB/s, 5 seconds passed +... 42%, 298752 KB, 50431 KB/s, 5 seconds passed +... 42%, 298784 KB, 50434 KB/s, 5 seconds passed +... 42%, 298816 KB, 50438 KB/s, 5 seconds passed +... 42%, 298848 KB, 50441 KB/s, 5 seconds passed +... 42%, 298880 KB, 50444 KB/s, 5 seconds passed +... 42%, 298912 KB, 50447 KB/s, 5 seconds passed +... 42%, 298944 KB, 50451 KB/s, 5 seconds passed +... 42%, 298976 KB, 50454 KB/s, 5 seconds passed +... 42%, 299008 KB, 50457 KB/s, 5 seconds passed +... 42%, 299040 KB, 50461 KB/s, 5 seconds passed +... 43%, 299072 KB, 50464 KB/s, 5 seconds passed +... 43%, 299104 KB, 50467 KB/s, 5 seconds passed +... 43%, 299136 KB, 50471 KB/s, 5 seconds passed +... 43%, 299168 KB, 50474 KB/s, 5 seconds passed +... 43%, 299200 KB, 50478 KB/s, 5 seconds passed +... 43%, 299232 KB, 50482 KB/s, 5 seconds passed +... 43%, 299264 KB, 50485 KB/s, 5 seconds passed +... 43%, 299296 KB, 50489 KB/s, 5 seconds passed +... 43%, 299328 KB, 50493 KB/s, 5 seconds passed +... 43%, 299360 KB, 50497 KB/s, 5 seconds passed +... 43%, 299392 KB, 50500 KB/s, 5 seconds passed +... 43%, 299424 KB, 50504 KB/s, 5 seconds passed +... 43%, 299456 KB, 50508 KB/s, 5 seconds passed +... 43%, 299488 KB, 50512 KB/s, 5 seconds passed +... 43%, 299520 KB, 50515 KB/s, 5 seconds passed +... 43%, 299552 KB, 50519 KB/s, 5 seconds passed +... 43%, 299584 KB, 50523 KB/s, 5 seconds passed +... 43%, 299616 KB, 50527 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 43%, 299648 KB, 50066 KB/s, 5 seconds passed +... 43%, 299680 KB, 50067 KB/s, 5 seconds passed +... 43%, 299712 KB, 50068 KB/s, 5 seconds passed +... 43%, 299744 KB, 50070 KB/s, 5 seconds passed +... 43%, 299776 KB, 50073 KB/s, 5 seconds passed +... 43%, 299808 KB, 50075 KB/s, 5 seconds passed +... 43%, 299840 KB, 50076 KB/s, 5 seconds passed +... 43%, 299872 KB, 50078 KB/s, 5 seconds passed +... 43%, 299904 KB, 50080 KB/s, 5 seconds passed +... 43%, 299936 KB, 50083 KB/s, 5 seconds passed +... 43%, 299968 KB, 50085 KB/s, 5 seconds passed +... 43%, 300000 KB, 50087 KB/s, 5 seconds passed +... 43%, 300032 KB, 50089 KB/s, 5 seconds passed +... 43%, 300064 KB, 50091 KB/s, 5 seconds passed +... 43%, 300096 KB, 50093 KB/s, 5 seconds passed +... 43%, 300128 KB, 50095 KB/s, 5 seconds passed +... 43%, 300160 KB, 50097 KB/s, 5 seconds passed +... 43%, 300192 KB, 50099 KB/s, 5 seconds passed +... 43%, 300224 KB, 50101 KB/s, 5 seconds passed +... 43%, 300256 KB, 50103 KB/s, 5 seconds passed +... 43%, 300288 KB, 50104 KB/s, 5 seconds passed +... 43%, 300320 KB, 50106 KB/s, 5 seconds passed +... 43%, 300352 KB, 50108 KB/s, 5 seconds passed +... 43%, 300384 KB, 50111 KB/s, 5 seconds passed +... 43%, 300416 KB, 50113 KB/s, 5 seconds passed +... 43%, 300448 KB, 50115 KB/s, 5 seconds passed +... 43%, 300480 KB, 50117 KB/s, 5 seconds passed +... 43%, 300512 KB, 50119 KB/s, 5 seconds passed + +.. parsed-literal:: + + ... 43%, 300544 KB, 50121 KB/s, 5 seconds passed +... 43%, 300576 KB, 50123 KB/s, 5 seconds passed +... 43%, 300608 KB, 50125 KB/s, 5 seconds passed +... 43%, 300640 KB, 50127 KB/s, 5 seconds passed +... 43%, 300672 KB, 50129 KB/s, 5 seconds passed +... 43%, 300704 KB, 50132 KB/s, 5 seconds passed +... 43%, 300736 KB, 50133 KB/s, 5 seconds passed +... 43%, 300768 KB, 50135 KB/s, 5 seconds passed +... 43%, 300800 KB, 50137 KB/s, 5 seconds passed +... 43%, 300832 KB, 50139 KB/s, 5 seconds passed +... 43%, 300864 KB, 50141 KB/s, 6 seconds passed +... 43%, 300896 KB, 50144 KB/s, 6 seconds passed +... 43%, 300928 KB, 50146 KB/s, 6 seconds passed +... 43%, 300960 KB, 50148 KB/s, 6 seconds passed +... 43%, 300992 KB, 50150 KB/s, 6 seconds passed +... 43%, 301024 KB, 50153 KB/s, 6 seconds passed +... 43%, 301056 KB, 50156 KB/s, 6 seconds passed +... 43%, 301088 KB, 50160 KB/s, 6 seconds passed +... 43%, 301120 KB, 50163 KB/s, 6 seconds passed +... 43%, 301152 KB, 50166 KB/s, 6 seconds passed +... 43%, 301184 KB, 50169 KB/s, 6 seconds passed +... 43%, 301216 KB, 50172 KB/s, 6 seconds passed +... 43%, 301248 KB, 50176 KB/s, 6 seconds passed +... 43%, 301280 KB, 50179 KB/s, 6 seconds passed +... 43%, 301312 KB, 50182 KB/s, 6 seconds passed +... 43%, 301344 KB, 50186 KB/s, 6 seconds passed +... 43%, 301376 KB, 50189 KB/s, 6 seconds passed +... 43%, 301408 KB, 50192 KB/s, 6 seconds passed +... 43%, 301440 KB, 50195 KB/s, 6 seconds passed +... 43%, 301472 KB, 50199 KB/s, 6 seconds passed +... 43%, 301504 KB, 50202 KB/s, 6 seconds passed +... 43%, 301536 KB, 50205 KB/s, 6 seconds passed +... 43%, 301568 KB, 50209 KB/s, 6 seconds passed +... 43%, 301600 KB, 50212 KB/s, 6 seconds passed +... 43%, 301632 KB, 50216 KB/s, 6 seconds passed +... 43%, 301664 KB, 50220 KB/s, 6 seconds passed +... 43%, 301696 KB, 50223 KB/s, 6 seconds passed +... 43%, 301728 KB, 50227 KB/s, 6 seconds passed +... 43%, 301760 KB, 50231 KB/s, 6 seconds passed +... 43%, 301792 KB, 50235 KB/s, 6 seconds passed +... 43%, 301824 KB, 50238 KB/s, 6 seconds passed +... 43%, 301856 KB, 50242 KB/s, 6 seconds passed +... 43%, 301888 KB, 50246 KB/s, 6 seconds passed +... 43%, 301920 KB, 50249 KB/s, 6 seconds passed +... 43%, 301952 KB, 50253 KB/s, 6 seconds passed +... 43%, 301984 KB, 50257 KB/s, 6 seconds passed +... 43%, 302016 KB, 50261 KB/s, 6 seconds passed +... 43%, 302048 KB, 50264 KB/s, 6 seconds passed +... 43%, 302080 KB, 49993 KB/s, 6 seconds passed +... 43%, 302112 KB, 49994 KB/s, 6 seconds passed +... 43%, 302144 KB, 49996 KB/s, 6 seconds passed +... 43%, 302176 KB, 49998 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 43%, 302208 KB, 49965 KB/s, 6 seconds passed +... 43%, 302240 KB, 49964 KB/s, 6 seconds passed +... 43%, 302272 KB, 49965 KB/s, 6 seconds passed +... 43%, 302304 KB, 49968 KB/s, 6 seconds passed +... 43%, 302336 KB, 49967 KB/s, 6 seconds passed +... 43%, 302368 KB, 49964 KB/s, 6 seconds passed +... 43%, 302400 KB, 49964 KB/s, 6 seconds passed +... 43%, 302432 KB, 49963 KB/s, 6 seconds passed +... 43%, 302464 KB, 49965 KB/s, 6 seconds passed +... 43%, 302496 KB, 49967 KB/s, 6 seconds passed +... 43%, 302528 KB, 49965 KB/s, 6 seconds passed +... 43%, 302560 KB, 49966 KB/s, 6 seconds passed +... 43%, 302592 KB, 49969 KB/s, 6 seconds passed +... 43%, 302624 KB, 49967 KB/s, 6 seconds passed +... 43%, 302656 KB, 49964 KB/s, 6 seconds passed +... 43%, 302688 KB, 49965 KB/s, 6 seconds passed +... 43%, 302720 KB, 49964 KB/s, 6 seconds passed +... 43%, 302752 KB, 49965 KB/s, 6 seconds passed +... 43%, 302784 KB, 49968 KB/s, 6 seconds passed +... 43%, 302816 KB, 49970 KB/s, 6 seconds passed +... 43%, 302848 KB, 49972 KB/s, 6 seconds passed +... 43%, 302880 KB, 49974 KB/s, 6 seconds passed +... 43%, 302912 KB, 49976 KB/s, 6 seconds passed +... 43%, 302944 KB, 49979 KB/s, 6 seconds passed +... 43%, 302976 KB, 49796 KB/s, 6 seconds passed +... 43%, 303008 KB, 49796 KB/s, 6 seconds passed +... 43%, 303040 KB, 49798 KB/s, 6 seconds passed +... 43%, 303072 KB, 49801 KB/s, 6 seconds passed +... 43%, 303104 KB, 49803 KB/s, 6 seconds passed +... 43%, 303136 KB, 49805 KB/s, 6 seconds passed +... 43%, 303168 KB, 49807 KB/s, 6 seconds passed +... 43%, 303200 KB, 49809 KB/s, 6 seconds passed +... 43%, 303232 KB, 49811 KB/s, 6 seconds passed +... 43%, 303264 KB, 49813 KB/s, 6 seconds passed +... 43%, 303296 KB, 49815 KB/s, 6 seconds passed +... 43%, 303328 KB, 49817 KB/s, 6 seconds passed +... 43%, 303360 KB, 49819 KB/s, 6 seconds passed +... 43%, 303392 KB, 49821 KB/s, 6 seconds passed +... 43%, 303424 KB, 49823 KB/s, 6 seconds passed +... 43%, 303456 KB, 49825 KB/s, 6 seconds passed +... 43%, 303488 KB, 49828 KB/s, 6 seconds passed +... 43%, 303520 KB, 49830 KB/s, 6 seconds passed +... 43%, 303552 KB, 49832 KB/s, 6 seconds passed +... 43%, 303584 KB, 49834 KB/s, 6 seconds passed +... 43%, 303616 KB, 49836 KB/s, 6 seconds passed +... 43%, 303648 KB, 49838 KB/s, 6 seconds passed +... 43%, 303680 KB, 49841 KB/s, 6 seconds passed +... 43%, 303712 KB, 49844 KB/s, 6 seconds passed +... 43%, 303744 KB, 49847 KB/s, 6 seconds passed +... 43%, 303776 KB, 49850 KB/s, 6 seconds passed +... 43%, 303808 KB, 49853 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 43%, 303840 KB, 49766 KB/s, 6 seconds passed +... 43%, 303872 KB, 49767 KB/s, 6 seconds passed +... 43%, 303904 KB, 49769 KB/s, 6 seconds passed +... 43%, 303936 KB, 49771 KB/s, 6 seconds passed +... 43%, 303968 KB, 49773 KB/s, 6 seconds passed +... 43%, 304000 KB, 49775 KB/s, 6 seconds passed +... 43%, 304032 KB, 49777 KB/s, 6 seconds passed +... 43%, 304064 KB, 49779 KB/s, 6 seconds passed +... 43%, 304096 KB, 49781 KB/s, 6 seconds passed +... 43%, 304128 KB, 49783 KB/s, 6 seconds passed +... 43%, 304160 KB, 49786 KB/s, 6 seconds passed +... 43%, 304192 KB, 49788 KB/s, 6 seconds passed +... 43%, 304224 KB, 49790 KB/s, 6 seconds passed +... 43%, 304256 KB, 49792 KB/s, 6 seconds passed +... 43%, 304288 KB, 49794 KB/s, 6 seconds passed +... 43%, 304320 KB, 49796 KB/s, 6 seconds passed +... 43%, 304352 KB, 49798 KB/s, 6 seconds passed +... 43%, 304384 KB, 49800 KB/s, 6 seconds passed +... 43%, 304416 KB, 49802 KB/s, 6 seconds passed +... 43%, 304448 KB, 49804 KB/s, 6 seconds passed +... 43%, 304480 KB, 49807 KB/s, 6 seconds passed +... 43%, 304512 KB, 49809 KB/s, 6 seconds passed +... 43%, 304544 KB, 49811 KB/s, 6 seconds passed +... 43%, 304576 KB, 49813 KB/s, 6 seconds passed +... 43%, 304608 KB, 49816 KB/s, 6 seconds passed +... 43%, 304640 KB, 49818 KB/s, 6 seconds passed +... 43%, 304672 KB, 49820 KB/s, 6 seconds passed +... 43%, 304704 KB, 49822 KB/s, 6 seconds passed +... 43%, 304736 KB, 49825 KB/s, 6 seconds passed +... 43%, 304768 KB, 49827 KB/s, 6 seconds passed +... 43%, 304800 KB, 49829 KB/s, 6 seconds passed +... 43%, 304832 KB, 49832 KB/s, 6 seconds passed +... 43%, 304864 KB, 49834 KB/s, 6 seconds passed +... 43%, 304896 KB, 49836 KB/s, 6 seconds passed +... 43%, 304928 KB, 49839 KB/s, 6 seconds passed +... 43%, 304960 KB, 49841 KB/s, 6 seconds passed +... 43%, 304992 KB, 49843 KB/s, 6 seconds passed +... 43%, 305024 KB, 49845 KB/s, 6 seconds passed +... 43%, 305056 KB, 49847 KB/s, 6 seconds passed +... 43%, 305088 KB, 49849 KB/s, 6 seconds passed +... 43%, 305120 KB, 49852 KB/s, 6 seconds passed +... 43%, 305152 KB, 49854 KB/s, 6 seconds passed +... 43%, 305184 KB, 49857 KB/s, 6 seconds passed +... 43%, 305216 KB, 49859 KB/s, 6 seconds passed +... 43%, 305248 KB, 49861 KB/s, 6 seconds passed +... 43%, 305280 KB, 49864 KB/s, 6 seconds passed +... 43%, 305312 KB, 49866 KB/s, 6 seconds passed +... 43%, 305344 KB, 49868 KB/s, 6 seconds passed +... 43%, 305376 KB, 49871 KB/s, 6 seconds passed +... 43%, 305408 KB, 49874 KB/s, 6 seconds passed +... 43%, 305440 KB, 49878 KB/s, 6 seconds passed +... 43%, 305472 KB, 49881 KB/s, 6 seconds passed +... 43%, 305504 KB, 49884 KB/s, 6 seconds passed +... 43%, 305536 KB, 49887 KB/s, 6 seconds passed +... 43%, 305568 KB, 49891 KB/s, 6 seconds passed +... 43%, 305600 KB, 49894 KB/s, 6 seconds passed +... 43%, 305632 KB, 49897 KB/s, 6 seconds passed +... 43%, 305664 KB, 49900 KB/s, 6 seconds passed +... 43%, 305696 KB, 49904 KB/s, 6 seconds passed +... 43%, 305728 KB, 49907 KB/s, 6 seconds passed +... 43%, 305760 KB, 49910 KB/s, 6 seconds passed +... 43%, 305792 KB, 49914 KB/s, 6 seconds passed +... 43%, 305824 KB, 49917 KB/s, 6 seconds passed +... 43%, 305856 KB, 49920 KB/s, 6 seconds passed +... 43%, 305888 KB, 49924 KB/s, 6 seconds passed +... 43%, 305920 KB, 49927 KB/s, 6 seconds passed +... 43%, 305952 KB, 49930 KB/s, 6 seconds passed +... 43%, 305984 KB, 49933 KB/s, 6 seconds passed +... 43%, 306016 KB, 49937 KB/s, 6 seconds passed +... 44%, 306048 KB, 49940 KB/s, 6 seconds passed +... 44%, 306080 KB, 49943 KB/s, 6 seconds passed +... 44%, 306112 KB, 49946 KB/s, 6 seconds passed +... 44%, 306144 KB, 49950 KB/s, 6 seconds passed +... 44%, 306176 KB, 49953 KB/s, 6 seconds passed +... 44%, 306208 KB, 49956 KB/s, 6 seconds passed +... 44%, 306240 KB, 49960 KB/s, 6 seconds passed +... 44%, 306272 KB, 49963 KB/s, 6 seconds passed +... 44%, 306304 KB, 49966 KB/s, 6 seconds passed +... 44%, 306336 KB, 49970 KB/s, 6 seconds passed +... 44%, 306368 KB, 49973 KB/s, 6 seconds passed +... 44%, 306400 KB, 49976 KB/s, 6 seconds passed +... 44%, 306432 KB, 49979 KB/s, 6 seconds passed +... 44%, 306464 KB, 49983 KB/s, 6 seconds passed +... 44%, 306496 KB, 49986 KB/s, 6 seconds passed +... 44%, 306528 KB, 49989 KB/s, 6 seconds passed +... 44%, 306560 KB, 49993 KB/s, 6 seconds passed +... 44%, 306592 KB, 49996 KB/s, 6 seconds passed +... 44%, 306624 KB, 49999 KB/s, 6 seconds passed +... 44%, 306656 KB, 50003 KB/s, 6 seconds passed +... 44%, 306688 KB, 50006 KB/s, 6 seconds passed +... 44%, 306720 KB, 50009 KB/s, 6 seconds passed +... 44%, 306752 KB, 50013 KB/s, 6 seconds passed +... 44%, 306784 KB, 50017 KB/s, 6 seconds passed +... 44%, 306816 KB, 50021 KB/s, 6 seconds passed +... 44%, 306848 KB, 50025 KB/s, 6 seconds passed +... 44%, 306880 KB, 50029 KB/s, 6 seconds passed +... 44%, 306912 KB, 50033 KB/s, 6 seconds passed +... 44%, 306944 KB, 50037 KB/s, 6 seconds passed +... 44%, 306976 KB, 50041 KB/s, 6 seconds passed +... 44%, 307008 KB, 50045 KB/s, 6 seconds passed +... 44%, 307040 KB, 50049 KB/s, 6 seconds passed +... 44%, 307072 KB, 50053 KB/s, 6 seconds passed +... 44%, 307104 KB, 50057 KB/s, 6 seconds passed +... 44%, 307136 KB, 50061 KB/s, 6 seconds passed +... 44%, 307168 KB, 50065 KB/s, 6 seconds passed +... 44%, 307200 KB, 50069 KB/s, 6 seconds passed +... 44%, 307232 KB, 50073 KB/s, 6 seconds passed +... 44%, 307264 KB, 50076 KB/s, 6 seconds passed +... 44%, 307296 KB, 50080 KB/s, 6 seconds passed +... 44%, 307328 KB, 50084 KB/s, 6 seconds passed +... 44%, 307360 KB, 50088 KB/s, 6 seconds passed +... 44%, 307392 KB, 50092 KB/s, 6 seconds passed +... 44%, 307424 KB, 50096 KB/s, 6 seconds passed +... 44%, 307456 KB, 50100 KB/s, 6 seconds passed +... 44%, 307488 KB, 50103 KB/s, 6 seconds passed +... 44%, 307520 KB, 50107 KB/s, 6 seconds passed +... 44%, 307552 KB, 50110 KB/s, 6 seconds passed +... 44%, 307584 KB, 50112 KB/s, 6 seconds passed +... 44%, 307616 KB, 50115 KB/s, 6 seconds passed +... 44%, 307648 KB, 50118 KB/s, 6 seconds passed +... 44%, 307680 KB, 50122 KB/s, 6 seconds passed +... 44%, 307712 KB, 50124 KB/s, 6 seconds passed +... 44%, 307744 KB, 50126 KB/s, 6 seconds passed +... 44%, 307776 KB, 50129 KB/s, 6 seconds passed +... 44%, 307808 KB, 50132 KB/s, 6 seconds passed +... 44%, 307840 KB, 50135 KB/s, 6 seconds passed +... 44%, 307872 KB, 50138 KB/s, 6 seconds passed +... 44%, 307904 KB, 50142 KB/s, 6 seconds passed +... 44%, 307936 KB, 50145 KB/s, 6 seconds passed +... 44%, 307968 KB, 50147 KB/s, 6 seconds passed +... 44%, 308000 KB, 50149 KB/s, 6 seconds passed +... 44%, 308032 KB, 50153 KB/s, 6 seconds passed +... 44%, 308064 KB, 50156 KB/s, 6 seconds passed +... 44%, 308096 KB, 50159 KB/s, 6 seconds passed +... 44%, 308128 KB, 50161 KB/s, 6 seconds passed +... 44%, 308160 KB, 50162 KB/s, 6 seconds passed +... 44%, 308192 KB, 50164 KB/s, 6 seconds passed +... 44%, 308224 KB, 50168 KB/s, 6 seconds passed +... 44%, 308256 KB, 50170 KB/s, 6 seconds passed +... 44%, 308288 KB, 50174 KB/s, 6 seconds passed +... 44%, 308320 KB, 50177 KB/s, 6 seconds passed +... 44%, 308352 KB, 50179 KB/s, 6 seconds passed +... 44%, 308384 KB, 50182 KB/s, 6 seconds passed +... 44%, 308416 KB, 50185 KB/s, 6 seconds passed +... 44%, 308448 KB, 50188 KB/s, 6 seconds passed +... 44%, 308480 KB, 50191 KB/s, 6 seconds passed +... 44%, 308512 KB, 50194 KB/s, 6 seconds passed +... 44%, 308544 KB, 50197 KB/s, 6 seconds passed +... 44%, 308576 KB, 50200 KB/s, 6 seconds passed +... 44%, 308608 KB, 50203 KB/s, 6 seconds passed +... 44%, 308640 KB, 50206 KB/s, 6 seconds passed +... 44%, 308672 KB, 50209 KB/s, 6 seconds passed +... 44%, 308704 KB, 50212 KB/s, 6 seconds passed +... 44%, 308736 KB, 50215 KB/s, 6 seconds passed +... 44%, 308768 KB, 50218 KB/s, 6 seconds passed +... 44%, 308800 KB, 50221 KB/s, 6 seconds passed +... 44%, 308832 KB, 50223 KB/s, 6 seconds passed +... 44%, 308864 KB, 50226 KB/s, 6 seconds passed +... 44%, 308896 KB, 50229 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 44%, 308928 KB, 50233 KB/s, 6 seconds passed +... 44%, 308960 KB, 50235 KB/s, 6 seconds passed +... 44%, 308992 KB, 50238 KB/s, 6 seconds passed +... 44%, 309024 KB, 50241 KB/s, 6 seconds passed +... 44%, 309056 KB, 50245 KB/s, 6 seconds passed +... 44%, 309088 KB, 50247 KB/s, 6 seconds passed +... 44%, 309120 KB, 50250 KB/s, 6 seconds passed +... 44%, 309152 KB, 50253 KB/s, 6 seconds passed +... 44%, 309184 KB, 50256 KB/s, 6 seconds passed +... 44%, 309216 KB, 50259 KB/s, 6 seconds passed +... 44%, 309248 KB, 50262 KB/s, 6 seconds passed +... 44%, 309280 KB, 50265 KB/s, 6 seconds passed +... 44%, 309312 KB, 50268 KB/s, 6 seconds passed +... 44%, 309344 KB, 50271 KB/s, 6 seconds passed +... 44%, 309376 KB, 50274 KB/s, 6 seconds passed +... 44%, 309408 KB, 50277 KB/s, 6 seconds passed +... 44%, 309440 KB, 50280 KB/s, 6 seconds passed +... 44%, 309472 KB, 50283 KB/s, 6 seconds passed +... 44%, 309504 KB, 50287 KB/s, 6 seconds passed +... 44%, 309536 KB, 50290 KB/s, 6 seconds passed +... 44%, 309568 KB, 50293 KB/s, 6 seconds passed +... 44%, 309600 KB, 50294 KB/s, 6 seconds passed +... 44%, 309632 KB, 50296 KB/s, 6 seconds passed +... 44%, 309664 KB, 50298 KB/s, 6 seconds passed +... 44%, 309696 KB, 50301 KB/s, 6 seconds passed +... 44%, 309728 KB, 50305 KB/s, 6 seconds passed +... 44%, 309760 KB, 50309 KB/s, 6 seconds passed +... 44%, 309792 KB, 50312 KB/s, 6 seconds passed +... 44%, 309824 KB, 50316 KB/s, 6 seconds passed +... 44%, 309856 KB, 50319 KB/s, 6 seconds passed +... 44%, 309888 KB, 50321 KB/s, 6 seconds passed +... 44%, 309920 KB, 50323 KB/s, 6 seconds passed +... 44%, 309952 KB, 50326 KB/s, 6 seconds passed +... 44%, 309984 KB, 50329 KB/s, 6 seconds passed +... 44%, 310016 KB, 50333 KB/s, 6 seconds passed +... 44%, 310048 KB, 50336 KB/s, 6 seconds passed +... 44%, 310080 KB, 50339 KB/s, 6 seconds passed +... 44%, 310112 KB, 50342 KB/s, 6 seconds passed +... 44%, 310144 KB, 50345 KB/s, 6 seconds passed +... 44%, 310176 KB, 50348 KB/s, 6 seconds passed +... 44%, 310208 KB, 50351 KB/s, 6 seconds passed +... 44%, 310240 KB, 50354 KB/s, 6 seconds passed +... 44%, 310272 KB, 50358 KB/s, 6 seconds passed +... 44%, 310304 KB, 50358 KB/s, 6 seconds passed +... 44%, 310336 KB, 50361 KB/s, 6 seconds passed +... 44%, 310368 KB, 50363 KB/s, 6 seconds passed +... 44%, 310400 KB, 50247 KB/s, 6 seconds passed +... 44%, 310432 KB, 50249 KB/s, 6 seconds passed +... 44%, 310464 KB, 50251 KB/s, 6 seconds passed +... 44%, 310496 KB, 50253 KB/s, 6 seconds passed +... 44%, 310528 KB, 50255 KB/s, 6 seconds passed +... 44%, 310560 KB, 50257 KB/s, 6 seconds passed +... 44%, 310592 KB, 50259 KB/s, 6 seconds passed +... 44%, 310624 KB, 50261 KB/s, 6 seconds passed +... 44%, 310656 KB, 50263 KB/s, 6 seconds passed +... 44%, 310688 KB, 50265 KB/s, 6 seconds passed +... 44%, 310720 KB, 50267 KB/s, 6 seconds passed +... 44%, 310752 KB, 50269 KB/s, 6 seconds passed +... 44%, 310784 KB, 50272 KB/s, 6 seconds passed +... 44%, 310816 KB, 50274 KB/s, 6 seconds passed +... 44%, 310848 KB, 50276 KB/s, 6 seconds passed +... 44%, 310880 KB, 50278 KB/s, 6 seconds passed +... 44%, 310912 KB, 50280 KB/s, 6 seconds passed +... 44%, 310944 KB, 50282 KB/s, 6 seconds passed +... 44%, 310976 KB, 50284 KB/s, 6 seconds passed +... 44%, 311008 KB, 50286 KB/s, 6 seconds passed +... 44%, 311040 KB, 50289 KB/s, 6 seconds passed +... 44%, 311072 KB, 50291 KB/s, 6 seconds passed +... 44%, 311104 KB, 50292 KB/s, 6 seconds passed +... 44%, 311136 KB, 50295 KB/s, 6 seconds passed +... 44%, 311168 KB, 50297 KB/s, 6 seconds passed +... 44%, 311200 KB, 50299 KB/s, 6 seconds passed +... 44%, 311232 KB, 50301 KB/s, 6 seconds passed +... 44%, 311264 KB, 50303 KB/s, 6 seconds passed +... 44%, 311296 KB, 50305 KB/s, 6 seconds passed +... 44%, 311328 KB, 50307 KB/s, 6 seconds passed +... 44%, 311360 KB, 50309 KB/s, 6 seconds passed +... 44%, 311392 KB, 50311 KB/s, 6 seconds passed +... 44%, 311424 KB, 50313 KB/s, 6 seconds passed +... 44%, 311456 KB, 50315 KB/s, 6 seconds passed +... 44%, 311488 KB, 50317 KB/s, 6 seconds passed +... 44%, 311520 KB, 50319 KB/s, 6 seconds passed +... 44%, 311552 KB, 50321 KB/s, 6 seconds passed +... 44%, 311584 KB, 50323 KB/s, 6 seconds passed +... 44%, 311616 KB, 50325 KB/s, 6 seconds passed +... 44%, 311648 KB, 50328 KB/s, 6 seconds passed +... 44%, 311680 KB, 50330 KB/s, 6 seconds passed +... 44%, 311712 KB, 50332 KB/s, 6 seconds passed +... 44%, 311744 KB, 50334 KB/s, 6 seconds passed +... 44%, 311776 KB, 50336 KB/s, 6 seconds passed +... 44%, 311808 KB, 50339 KB/s, 6 seconds passed +... 44%, 311840 KB, 50342 KB/s, 6 seconds passed +... 44%, 311872 KB, 50346 KB/s, 6 seconds passed +... 44%, 311904 KB, 50350 KB/s, 6 seconds passed +... 44%, 311936 KB, 50353 KB/s, 6 seconds passed +... 44%, 311968 KB, 50357 KB/s, 6 seconds passed +... 44%, 312000 KB, 50360 KB/s, 6 seconds passed +... 44%, 312032 KB, 50364 KB/s, 6 seconds passed +... 44%, 312064 KB, 50367 KB/s, 6 seconds passed +... 44%, 312096 KB, 50371 KB/s, 6 seconds passed +... 44%, 312128 KB, 50375 KB/s, 6 seconds passed +... 44%, 312160 KB, 50378 KB/s, 6 seconds passed +... 44%, 312192 KB, 50382 KB/s, 6 seconds passed +... 44%, 312224 KB, 50385 KB/s, 6 seconds passed +... 44%, 312256 KB, 50389 KB/s, 6 seconds passed +... 44%, 312288 KB, 50393 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 44%, 312320 KB, 50258 KB/s, 6 seconds passed +... 44%, 312352 KB, 50259 KB/s, 6 seconds passed +... 44%, 312384 KB, 50260 KB/s, 6 seconds passed +... 44%, 312416 KB, 50262 KB/s, 6 seconds passed +... 44%, 312448 KB, 50264 KB/s, 6 seconds passed +... 44%, 312480 KB, 50266 KB/s, 6 seconds passed +... 44%, 312512 KB, 50268 KB/s, 6 seconds passed +... 44%, 312544 KB, 50270 KB/s, 6 seconds passed +... 44%, 312576 KB, 50272 KB/s, 6 seconds passed +... 44%, 312608 KB, 50274 KB/s, 6 seconds passed +... 44%, 312640 KB, 50276 KB/s, 6 seconds passed +... 44%, 312672 KB, 50278 KB/s, 6 seconds passed +... 44%, 312704 KB, 50280 KB/s, 6 seconds passed +... 44%, 312736 KB, 50282 KB/s, 6 seconds passed +... 44%, 312768 KB, 50284 KB/s, 6 seconds passed +... 44%, 312800 KB, 50286 KB/s, 6 seconds passed +... 44%, 312832 KB, 50289 KB/s, 6 seconds passed +... 44%, 312864 KB, 50291 KB/s, 6 seconds passed +... 44%, 312896 KB, 50293 KB/s, 6 seconds passed +... 44%, 312928 KB, 50295 KB/s, 6 seconds passed +... 44%, 312960 KB, 50297 KB/s, 6 seconds passed +... 45%, 312992 KB, 50299 KB/s, 6 seconds passed +... 45%, 313024 KB, 50301 KB/s, 6 seconds passed +... 45%, 313056 KB, 50303 KB/s, 6 seconds passed +... 45%, 313088 KB, 50305 KB/s, 6 seconds passed +... 45%, 313120 KB, 50307 KB/s, 6 seconds passed +... 45%, 313152 KB, 50310 KB/s, 6 seconds passed +... 45%, 313184 KB, 50313 KB/s, 6 seconds passed +... 45%, 313216 KB, 50316 KB/s, 6 seconds passed +... 45%, 313248 KB, 50319 KB/s, 6 seconds passed +... 45%, 313280 KB, 50322 KB/s, 6 seconds passed +... 45%, 313312 KB, 50325 KB/s, 6 seconds passed +... 45%, 313344 KB, 50328 KB/s, 6 seconds passed +... 45%, 313376 KB, 50331 KB/s, 6 seconds passed +... 45%, 313408 KB, 50334 KB/s, 6 seconds passed +... 45%, 313440 KB, 50337 KB/s, 6 seconds passed +... 45%, 313472 KB, 50340 KB/s, 6 seconds passed +... 45%, 313504 KB, 50343 KB/s, 6 seconds passed +... 45%, 313536 KB, 50345 KB/s, 6 seconds passed +... 45%, 313568 KB, 50348 KB/s, 6 seconds passed +... 45%, 313600 KB, 50351 KB/s, 6 seconds passed +... 45%, 313632 KB, 50354 KB/s, 6 seconds passed +... 45%, 313664 KB, 50357 KB/s, 6 seconds passed +... 45%, 313696 KB, 50360 KB/s, 6 seconds passed +... 45%, 313728 KB, 50363 KB/s, 6 seconds passed +... 45%, 313760 KB, 50366 KB/s, 6 seconds passed +... 45%, 313792 KB, 50369 KB/s, 6 seconds passed +... 45%, 313824 KB, 50372 KB/s, 6 seconds passed +... 45%, 313856 KB, 50375 KB/s, 6 seconds passed +... 45%, 313888 KB, 50378 KB/s, 6 seconds passed +... 45%, 313920 KB, 50381 KB/s, 6 seconds passed +... 45%, 313952 KB, 50384 KB/s, 6 seconds passed +... 45%, 313984 KB, 50387 KB/s, 6 seconds passed +... 45%, 314016 KB, 50389 KB/s, 6 seconds passed +... 45%, 314048 KB, 50392 KB/s, 6 seconds passed +... 45%, 314080 KB, 50395 KB/s, 6 seconds passed +... 45%, 314112 KB, 50398 KB/s, 6 seconds passed +... 45%, 314144 KB, 50401 KB/s, 6 seconds passed +... 45%, 314176 KB, 50404 KB/s, 6 seconds passed +... 45%, 314208 KB, 50407 KB/s, 6 seconds passed +... 45%, 314240 KB, 50410 KB/s, 6 seconds passed +... 45%, 314272 KB, 50413 KB/s, 6 seconds passed +... 45%, 314304 KB, 50416 KB/s, 6 seconds passed +... 45%, 314336 KB, 50420 KB/s, 6 seconds passed +... 45%, 314368 KB, 50423 KB/s, 6 seconds passed +... 45%, 314400 KB, 50427 KB/s, 6 seconds passed +... 45%, 314432 KB, 50430 KB/s, 6 seconds passed +... 45%, 314464 KB, 50434 KB/s, 6 seconds passed +... 45%, 314496 KB, 50438 KB/s, 6 seconds passed +... 45%, 314528 KB, 50441 KB/s, 6 seconds passed +... 45%, 314560 KB, 50445 KB/s, 6 seconds passed +... 45%, 314592 KB, 50449 KB/s, 6 seconds passed +... 45%, 314624 KB, 50452 KB/s, 6 seconds passed +... 45%, 314656 KB, 50456 KB/s, 6 seconds passed +... 45%, 314688 KB, 50459 KB/s, 6 seconds passed +... 45%, 314720 KB, 50463 KB/s, 6 seconds passed +... 45%, 314752 KB, 50467 KB/s, 6 seconds passed +... 45%, 314784 KB, 50470 KB/s, 6 seconds passed +... 45%, 314816 KB, 50474 KB/s, 6 seconds passed +... 45%, 314848 KB, 50478 KB/s, 6 seconds passed +... 45%, 314880 KB, 50481 KB/s, 6 seconds passed +... 45%, 314912 KB, 50485 KB/s, 6 seconds passed +... 45%, 314944 KB, 50489 KB/s, 6 seconds passed +... 45%, 314976 KB, 50492 KB/s, 6 seconds passed +... 45%, 315008 KB, 50496 KB/s, 6 seconds passed +... 45%, 315040 KB, 50500 KB/s, 6 seconds passed +... 45%, 315072 KB, 50503 KB/s, 6 seconds passed +... 45%, 315104 KB, 50507 KB/s, 6 seconds passed +... 45%, 315136 KB, 50511 KB/s, 6 seconds passed +... 45%, 315168 KB, 50514 KB/s, 6 seconds passed +... 45%, 315200 KB, 50517 KB/s, 6 seconds passed +... 45%, 315232 KB, 50521 KB/s, 6 seconds passed +... 45%, 315264 KB, 50524 KB/s, 6 seconds passed +... 45%, 315296 KB, 50527 KB/s, 6 seconds passed +... 45%, 315328 KB, 50530 KB/s, 6 seconds passed +... 45%, 315360 KB, 50533 KB/s, 6 seconds passed +... 45%, 315392 KB, 50535 KB/s, 6 seconds passed +... 45%, 315424 KB, 50538 KB/s, 6 seconds passed +... 45%, 315456 KB, 50541 KB/s, 6 seconds passed +... 45%, 315488 KB, 50544 KB/s, 6 seconds passed +... 45%, 315520 KB, 50547 KB/s, 6 seconds passed +... 45%, 315552 KB, 50550 KB/s, 6 seconds passed +... 45%, 315584 KB, 50552 KB/s, 6 seconds passed +... 45%, 315616 KB, 50553 KB/s, 6 seconds passed +... 45%, 315648 KB, 50556 KB/s, 6 seconds passed +... 45%, 315680 KB, 50559 KB/s, 6 seconds passed +... 45%, 315712 KB, 50563 KB/s, 6 seconds passed +... 45%, 315744 KB, 50566 KB/s, 6 seconds passed +... 45%, 315776 KB, 50569 KB/s, 6 seconds passed +... 45%, 315808 KB, 50572 KB/s, 6 seconds passed +... 45%, 315840 KB, 50575 KB/s, 6 seconds passed +... 45%, 315872 KB, 50577 KB/s, 6 seconds passed +... 45%, 315904 KB, 50580 KB/s, 6 seconds passed +... 45%, 315936 KB, 50584 KB/s, 6 seconds passed +... 45%, 315968 KB, 50586 KB/s, 6 seconds passed +... 45%, 316000 KB, 50589 KB/s, 6 seconds passed +... 45%, 316032 KB, 50593 KB/s, 6 seconds passed +... 45%, 316064 KB, 50596 KB/s, 6 seconds passed +... 45%, 316096 KB, 50598 KB/s, 6 seconds passed +... 45%, 316128 KB, 50601 KB/s, 6 seconds passed +... 45%, 316160 KB, 50604 KB/s, 6 seconds passed +... 45%, 316192 KB, 50594 KB/s, 6 seconds passed +... 45%, 316224 KB, 50597 KB/s, 6 seconds passed +... 45%, 316256 KB, 50590 KB/s, 6 seconds passed +... 45%, 316288 KB, 50592 KB/s, 6 seconds passed +... 45%, 316320 KB, 50596 KB/s, 6 seconds passed +... 45%, 316352 KB, 50599 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 45%, 316384 KB, 50602 KB/s, 6 seconds passed +... 45%, 316416 KB, 50605 KB/s, 6 seconds passed +... 45%, 316448 KB, 50608 KB/s, 6 seconds passed +... 45%, 316480 KB, 50611 KB/s, 6 seconds passed +... 45%, 316512 KB, 50613 KB/s, 6 seconds passed +... 45%, 316544 KB, 50616 KB/s, 6 seconds passed +... 45%, 316576 KB, 50619 KB/s, 6 seconds passed +... 45%, 316608 KB, 50622 KB/s, 6 seconds passed +... 45%, 316640 KB, 50625 KB/s, 6 seconds passed +... 45%, 316672 KB, 50628 KB/s, 6 seconds passed +... 45%, 316704 KB, 50631 KB/s, 6 seconds passed +... 45%, 316736 KB, 50634 KB/s, 6 seconds passed +... 45%, 316768 KB, 50636 KB/s, 6 seconds passed +... 45%, 316800 KB, 50639 KB/s, 6 seconds passed +... 45%, 316832 KB, 50642 KB/s, 6 seconds passed +... 45%, 316864 KB, 50644 KB/s, 6 seconds passed +... 45%, 316896 KB, 50647 KB/s, 6 seconds passed +... 45%, 316928 KB, 50651 KB/s, 6 seconds passed +... 45%, 316960 KB, 50653 KB/s, 6 seconds passed +... 45%, 316992 KB, 50656 KB/s, 6 seconds passed +... 45%, 317024 KB, 50659 KB/s, 6 seconds passed +... 45%, 317056 KB, 50662 KB/s, 6 seconds passed +... 45%, 317088 KB, 50665 KB/s, 6 seconds passed +... 45%, 317120 KB, 50668 KB/s, 6 seconds passed +... 45%, 317152 KB, 50670 KB/s, 6 seconds passed +... 45%, 317184 KB, 50673 KB/s, 6 seconds passed +... 45%, 317216 KB, 50676 KB/s, 6 seconds passed +... 45%, 317248 KB, 50679 KB/s, 6 seconds passed +... 45%, 317280 KB, 50682 KB/s, 6 seconds passed +... 45%, 317312 KB, 50685 KB/s, 6 seconds passed +... 45%, 317344 KB, 50688 KB/s, 6 seconds passed +... 45%, 317376 KB, 50691 KB/s, 6 seconds passed +... 45%, 317408 KB, 50694 KB/s, 6 seconds passed +... 45%, 317440 KB, 50377 KB/s, 6 seconds passed +... 45%, 317472 KB, 50378 KB/s, 6 seconds passed +... 45%, 317504 KB, 50379 KB/s, 6 seconds passed +... 45%, 317536 KB, 50382 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 45%, 317568 KB, 50379 KB/s, 6 seconds passed +... 45%, 317600 KB, 50380 KB/s, 6 seconds passed +... 45%, 317632 KB, 50382 KB/s, 6 seconds passed +... 45%, 317664 KB, 50384 KB/s, 6 seconds passed +... 45%, 317696 KB, 50387 KB/s, 6 seconds passed +... 45%, 317728 KB, 50388 KB/s, 6 seconds passed +... 45%, 317760 KB, 50391 KB/s, 6 seconds passed +... 45%, 317792 KB, 50393 KB/s, 6 seconds passed +... 45%, 317824 KB, 50395 KB/s, 6 seconds passed +... 45%, 317856 KB, 50397 KB/s, 6 seconds passed +... 45%, 317888 KB, 50399 KB/s, 6 seconds passed +... 45%, 317920 KB, 50400 KB/s, 6 seconds passed +... 45%, 317952 KB, 50402 KB/s, 6 seconds passed +... 45%, 317984 KB, 50405 KB/s, 6 seconds passed +... 45%, 318016 KB, 50406 KB/s, 6 seconds passed +... 45%, 318048 KB, 50409 KB/s, 6 seconds passed +... 45%, 318080 KB, 50411 KB/s, 6 seconds passed +... 45%, 318112 KB, 50413 KB/s, 6 seconds passed +... 45%, 318144 KB, 50415 KB/s, 6 seconds passed +... 45%, 318176 KB, 50417 KB/s, 6 seconds passed +... 45%, 318208 KB, 50419 KB/s, 6 seconds passed +... 45%, 318240 KB, 50421 KB/s, 6 seconds passed +... 45%, 318272 KB, 50423 KB/s, 6 seconds passed +... 45%, 318304 KB, 50425 KB/s, 6 seconds passed +... 45%, 318336 KB, 50427 KB/s, 6 seconds passed +... 45%, 318368 KB, 50429 KB/s, 6 seconds passed +... 45%, 318400 KB, 50431 KB/s, 6 seconds passed +... 45%, 318432 KB, 50433 KB/s, 6 seconds passed +... 45%, 318464 KB, 50435 KB/s, 6 seconds passed +... 45%, 318496 KB, 50437 KB/s, 6 seconds passed +... 45%, 318528 KB, 50439 KB/s, 6 seconds passed +... 45%, 318560 KB, 50442 KB/s, 6 seconds passed +... 45%, 318592 KB, 50445 KB/s, 6 seconds passed +... 45%, 318624 KB, 50448 KB/s, 6 seconds passed +... 45%, 318656 KB, 50451 KB/s, 6 seconds passed +... 45%, 318688 KB, 50454 KB/s, 6 seconds passed +... 45%, 318720 KB, 50458 KB/s, 6 seconds passed +... 45%, 318752 KB, 50461 KB/s, 6 seconds passed +... 45%, 318784 KB, 50464 KB/s, 6 seconds passed +... 45%, 318816 KB, 50467 KB/s, 6 seconds passed +... 45%, 318848 KB, 50470 KB/s, 6 seconds passed +... 45%, 318880 KB, 50473 KB/s, 6 seconds passed +... 45%, 318912 KB, 50476 KB/s, 6 seconds passed +... 45%, 318944 KB, 50479 KB/s, 6 seconds passed +... 45%, 318976 KB, 50482 KB/s, 6 seconds passed +... 45%, 319008 KB, 50486 KB/s, 6 seconds passed +... 45%, 319040 KB, 50489 KB/s, 6 seconds passed +... 45%, 319072 KB, 50492 KB/s, 6 seconds passed +... 45%, 319104 KB, 50495 KB/s, 6 seconds passed +... 45%, 319136 KB, 50498 KB/s, 6 seconds passed +... 45%, 319168 KB, 50501 KB/s, 6 seconds passed +... 45%, 319200 KB, 50504 KB/s, 6 seconds passed +... 45%, 319232 KB, 50507 KB/s, 6 seconds passed +... 45%, 319264 KB, 50510 KB/s, 6 seconds passed +... 45%, 319296 KB, 50514 KB/s, 6 seconds passed +... 45%, 319328 KB, 50517 KB/s, 6 seconds passed +... 45%, 319360 KB, 50520 KB/s, 6 seconds passed +... 45%, 319392 KB, 50523 KB/s, 6 seconds passed +... 45%, 319424 KB, 50526 KB/s, 6 seconds passed +... 45%, 319456 KB, 50529 KB/s, 6 seconds passed +... 45%, 319488 KB, 50532 KB/s, 6 seconds passed +... 45%, 319520 KB, 50535 KB/s, 6 seconds passed +... 45%, 319552 KB, 50539 KB/s, 6 seconds passed +... 45%, 319584 KB, 50541 KB/s, 6 seconds passed +... 45%, 319616 KB, 50545 KB/s, 6 seconds passed +... 45%, 319648 KB, 50548 KB/s, 6 seconds passed +... 45%, 319680 KB, 50551 KB/s, 6 seconds passed +... 45%, 319712 KB, 50554 KB/s, 6 seconds passed +... 45%, 319744 KB, 50557 KB/s, 6 seconds passed +... 45%, 319776 KB, 50560 KB/s, 6 seconds passed +... 45%, 319808 KB, 50563 KB/s, 6 seconds passed +... 45%, 319840 KB, 50566 KB/s, 6 seconds passed +... 45%, 319872 KB, 50570 KB/s, 6 seconds passed +... 45%, 319904 KB, 50573 KB/s, 6 seconds passed +... 46%, 319936 KB, 50577 KB/s, 6 seconds passed +... 46%, 319968 KB, 50581 KB/s, 6 seconds passed +... 46%, 320000 KB, 50585 KB/s, 6 seconds passed +... 46%, 320032 KB, 50588 KB/s, 6 seconds passed +... 46%, 320064 KB, 50592 KB/s, 6 seconds passed +... 46%, 320096 KB, 50596 KB/s, 6 seconds passed +... 46%, 320128 KB, 50599 KB/s, 6 seconds passed +... 46%, 320160 KB, 50603 KB/s, 6 seconds passed +... 46%, 320192 KB, 50607 KB/s, 6 seconds passed +... 46%, 320224 KB, 50611 KB/s, 6 seconds passed +... 46%, 320256 KB, 50614 KB/s, 6 seconds passed +... 46%, 320288 KB, 50618 KB/s, 6 seconds passed +... 46%, 320320 KB, 50622 KB/s, 6 seconds passed +... 46%, 320352 KB, 50626 KB/s, 6 seconds passed +... 46%, 320384 KB, 50628 KB/s, 6 seconds passed +... 46%, 320416 KB, 50630 KB/s, 6 seconds passed +... 46%, 320448 KB, 50633 KB/s, 6 seconds passed +... 46%, 320480 KB, 50637 KB/s, 6 seconds passed +... 46%, 320512 KB, 50640 KB/s, 6 seconds passed +... 46%, 320544 KB, 50643 KB/s, 6 seconds passed +... 46%, 320576 KB, 50646 KB/s, 6 seconds passed +... 46%, 320608 KB, 50647 KB/s, 6 seconds passed +... 46%, 320640 KB, 50650 KB/s, 6 seconds passed +... 46%, 320672 KB, 50654 KB/s, 6 seconds passed +... 46%, 320704 KB, 50656 KB/s, 6 seconds passed +... 46%, 320736 KB, 50659 KB/s, 6 seconds passed +... 46%, 320768 KB, 50662 KB/s, 6 seconds passed +... 46%, 320800 KB, 50665 KB/s, 6 seconds passed +... 46%, 320832 KB, 50668 KB/s, 6 seconds passed +... 46%, 320864 KB, 50671 KB/s, 6 seconds passed +... 46%, 320896 KB, 50673 KB/s, 6 seconds passed +... 46%, 320928 KB, 50676 KB/s, 6 seconds passed +... 46%, 320960 KB, 50679 KB/s, 6 seconds passed +... 46%, 320992 KB, 50682 KB/s, 6 seconds passed +... 46%, 321024 KB, 50684 KB/s, 6 seconds passed +... 46%, 321056 KB, 50688 KB/s, 6 seconds passed +... 46%, 321088 KB, 50690 KB/s, 6 seconds passed +... 46%, 321120 KB, 50693 KB/s, 6 seconds passed +... 46%, 321152 KB, 50694 KB/s, 6 seconds passed +... 46%, 321184 KB, 50696 KB/s, 6 seconds passed +... 46%, 321216 KB, 50698 KB/s, 6 seconds passed +... 46%, 321248 KB, 50701 KB/s, 6 seconds passed +... 46%, 321280 KB, 50704 KB/s, 6 seconds passed +... 46%, 321312 KB, 50694 KB/s, 6 seconds passed +... 46%, 321344 KB, 50687 KB/s, 6 seconds passed +... 46%, 321376 KB, 50689 KB/s, 6 seconds passed +... 46%, 321408 KB, 50691 KB/s, 6 seconds passed +... 46%, 321440 KB, 50693 KB/s, 6 seconds passed +... 46%, 321472 KB, 50696 KB/s, 6 seconds passed +... 46%, 321504 KB, 50699 KB/s, 6 seconds passed +... 46%, 321536 KB, 50701 KB/s, 6 seconds passed +... 46%, 321568 KB, 50704 KB/s, 6 seconds passed +... 46%, 321600 KB, 50707 KB/s, 6 seconds passed +... 46%, 321632 KB, 50710 KB/s, 6 seconds passed +... 46%, 321664 KB, 50712 KB/s, 6 seconds passed +... 46%, 321696 KB, 50715 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 46%, 321728 KB, 50455 KB/s, 6 seconds passed +... 46%, 321760 KB, 50454 KB/s, 6 seconds passed +... 46%, 321792 KB, 50456 KB/s, 6 seconds passed +... 46%, 321824 KB, 50458 KB/s, 6 seconds passed +... 46%, 321856 KB, 50459 KB/s, 6 seconds passed +... 46%, 321888 KB, 50461 KB/s, 6 seconds passed +... 46%, 321920 KB, 50463 KB/s, 6 seconds passed +... 46%, 321952 KB, 50465 KB/s, 6 seconds passed +... 46%, 321984 KB, 50467 KB/s, 6 seconds passed +... 46%, 322016 KB, 50469 KB/s, 6 seconds passed +... 46%, 322048 KB, 50471 KB/s, 6 seconds passed +... 46%, 322080 KB, 50473 KB/s, 6 seconds passed +... 46%, 322112 KB, 50475 KB/s, 6 seconds passed +... 46%, 322144 KB, 50477 KB/s, 6 seconds passed +... 46%, 322176 KB, 50479 KB/s, 6 seconds passed +... 46%, 322208 KB, 50481 KB/s, 6 seconds passed +... 46%, 322240 KB, 50483 KB/s, 6 seconds passed +... 46%, 322272 KB, 50485 KB/s, 6 seconds passed +... 46%, 322304 KB, 50487 KB/s, 6 seconds passed +... 46%, 322336 KB, 50489 KB/s, 6 seconds passed +... 46%, 322368 KB, 50491 KB/s, 6 seconds passed +... 46%, 322400 KB, 50494 KB/s, 6 seconds passed +... 46%, 322432 KB, 50497 KB/s, 6 seconds passed +... 46%, 322464 KB, 50500 KB/s, 6 seconds passed +... 46%, 322496 KB, 50502 KB/s, 6 seconds passed +... 46%, 322528 KB, 50506 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 46%, 322560 KB, 47643 KB/s, 6 seconds passed +... 46%, 322592 KB, 47634 KB/s, 6 seconds passed +... 46%, 322624 KB, 47635 KB/s, 6 seconds passed +... 46%, 322656 KB, 47637 KB/s, 6 seconds passed +... 46%, 322688 KB, 47638 KB/s, 6 seconds passed +... 46%, 322720 KB, 47641 KB/s, 6 seconds passed +... 46%, 322752 KB, 47643 KB/s, 6 seconds passed +... 46%, 322784 KB, 47644 KB/s, 6 seconds passed +... 46%, 322816 KB, 47646 KB/s, 6 seconds passed +... 46%, 322848 KB, 47649 KB/s, 6 seconds passed +... 46%, 322880 KB, 47652 KB/s, 6 seconds passed +... 46%, 322912 KB, 47654 KB/s, 6 seconds passed +... 46%, 322944 KB, 47656 KB/s, 6 seconds passed +... 46%, 322976 KB, 47658 KB/s, 6 seconds passed +... 46%, 323008 KB, 47660 KB/s, 6 seconds passed +... 46%, 323040 KB, 47662 KB/s, 6 seconds passed +... 46%, 323072 KB, 47664 KB/s, 6 seconds passed +... 46%, 323104 KB, 47666 KB/s, 6 seconds passed +... 46%, 323136 KB, 47668 KB/s, 6 seconds passed +... 46%, 323168 KB, 47670 KB/s, 6 seconds passed +... 46%, 323200 KB, 47672 KB/s, 6 seconds passed +... 46%, 323232 KB, 47674 KB/s, 6 seconds passed +... 46%, 323264 KB, 47676 KB/s, 6 seconds passed +... 46%, 323296 KB, 47678 KB/s, 6 seconds passed +... 46%, 323328 KB, 47680 KB/s, 6 seconds passed +... 46%, 323360 KB, 47682 KB/s, 6 seconds passed +... 46%, 323392 KB, 47684 KB/s, 6 seconds passed +... 46%, 323424 KB, 47686 KB/s, 6 seconds passed +... 46%, 323456 KB, 47688 KB/s, 6 seconds passed +... 46%, 323488 KB, 47690 KB/s, 6 seconds passed +... 46%, 323520 KB, 47692 KB/s, 6 seconds passed +... 46%, 323552 KB, 47694 KB/s, 6 seconds passed +... 46%, 323584 KB, 47696 KB/s, 6 seconds passed +... 46%, 323616 KB, 47698 KB/s, 6 seconds passed +... 46%, 323648 KB, 47700 KB/s, 6 seconds passed +... 46%, 323680 KB, 47702 KB/s, 6 seconds passed +... 46%, 323712 KB, 47705 KB/s, 6 seconds passed +... 46%, 323744 KB, 47707 KB/s, 6 seconds passed +... 46%, 323776 KB, 47709 KB/s, 6 seconds passed +... 46%, 323808 KB, 47711 KB/s, 6 seconds passed +... 46%, 323840 KB, 47713 KB/s, 6 seconds passed +... 46%, 323872 KB, 47715 KB/s, 6 seconds passed +... 46%, 323904 KB, 47717 KB/s, 6 seconds passed +... 46%, 323936 KB, 47719 KB/s, 6 seconds passed +... 46%, 323968 KB, 47721 KB/s, 6 seconds passed +... 46%, 324000 KB, 47723 KB/s, 6 seconds passed +... 46%, 324032 KB, 47726 KB/s, 6 seconds passed +... 46%, 324064 KB, 47729 KB/s, 6 seconds passed +... 46%, 324096 KB, 47732 KB/s, 6 seconds passed +... 46%, 324128 KB, 47735 KB/s, 6 seconds passed +... 46%, 324160 KB, 47738 KB/s, 6 seconds passed +... 46%, 324192 KB, 47741 KB/s, 6 seconds passed +... 46%, 324224 KB, 47744 KB/s, 6 seconds passed +... 46%, 324256 KB, 47747 KB/s, 6 seconds passed +... 46%, 324288 KB, 47750 KB/s, 6 seconds passed +... 46%, 324320 KB, 47753 KB/s, 6 seconds passed +... 46%, 324352 KB, 47756 KB/s, 6 seconds passed +... 46%, 324384 KB, 47759 KB/s, 6 seconds passed +... 46%, 324416 KB, 47762 KB/s, 6 seconds passed +... 46%, 324448 KB, 47765 KB/s, 6 seconds passed +... 46%, 324480 KB, 47768 KB/s, 6 seconds passed +... 46%, 324512 KB, 47771 KB/s, 6 seconds passed +... 46%, 324544 KB, 47774 KB/s, 6 seconds passed +... 46%, 324576 KB, 47777 KB/s, 6 seconds passed +... 46%, 324608 KB, 47780 KB/s, 6 seconds passed +... 46%, 324640 KB, 47783 KB/s, 6 seconds passed +... 46%, 324672 KB, 47786 KB/s, 6 seconds passed +... 46%, 324704 KB, 47789 KB/s, 6 seconds passed +... 46%, 324736 KB, 47791 KB/s, 6 seconds passed +... 46%, 324768 KB, 47793 KB/s, 6 seconds passed +... 46%, 324800 KB, 47796 KB/s, 6 seconds passed +... 46%, 324832 KB, 47798 KB/s, 6 seconds passed +... 46%, 324864 KB, 47800 KB/s, 6 seconds passed +... 46%, 324896 KB, 47802 KB/s, 6 seconds passed +... 46%, 324928 KB, 47804 KB/s, 6 seconds passed +... 46%, 324960 KB, 47806 KB/s, 6 seconds passed +... 46%, 324992 KB, 47808 KB/s, 6 seconds passed +... 46%, 325024 KB, 47810 KB/s, 6 seconds passed +... 46%, 325056 KB, 47812 KB/s, 6 seconds passed +... 46%, 325088 KB, 47814 KB/s, 6 seconds passed +... 46%, 325120 KB, 47817 KB/s, 6 seconds passed +... 46%, 325152 KB, 47818 KB/s, 6 seconds passed +... 46%, 325184 KB, 47820 KB/s, 6 seconds passed +... 46%, 325216 KB, 47821 KB/s, 6 seconds passed +... 46%, 325248 KB, 47824 KB/s, 6 seconds passed +... 46%, 325280 KB, 47826 KB/s, 6 seconds passed +... 46%, 325312 KB, 47828 KB/s, 6 seconds passed +... 46%, 325344 KB, 47831 KB/s, 6 seconds passed +... 46%, 325376 KB, 47833 KB/s, 6 seconds passed +... 46%, 325408 KB, 47834 KB/s, 6 seconds passed +... 46%, 325440 KB, 47766 KB/s, 6 seconds passed +... 46%, 325472 KB, 47768 KB/s, 6 seconds passed +... 46%, 325504 KB, 47769 KB/s, 6 seconds passed +... 46%, 325536 KB, 47771 KB/s, 6 seconds passed +... 46%, 325568 KB, 47773 KB/s, 6 seconds passed +... 46%, 325600 KB, 47774 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 46%, 325632 KB, 47776 KB/s, 6 seconds passed +... 46%, 325664 KB, 47779 KB/s, 6 seconds passed +... 46%, 325696 KB, 47781 KB/s, 6 seconds passed +... 46%, 325728 KB, 47783 KB/s, 6 seconds passed +... 46%, 325760 KB, 47785 KB/s, 6 seconds passed +... 46%, 325792 KB, 47788 KB/s, 6 seconds passed +... 46%, 325824 KB, 47790 KB/s, 6 seconds passed +... 46%, 325856 KB, 47792 KB/s, 6 seconds passed +... 46%, 325888 KB, 47794 KB/s, 6 seconds passed +... 46%, 325920 KB, 47796 KB/s, 6 seconds passed +... 46%, 325952 KB, 47799 KB/s, 6 seconds passed +... 46%, 325984 KB, 47801 KB/s, 6 seconds passed +... 46%, 326016 KB, 47803 KB/s, 6 seconds passed +... 46%, 326048 KB, 47805 KB/s, 6 seconds passed +... 46%, 326080 KB, 47807 KB/s, 6 seconds passed +... 46%, 326112 KB, 47810 KB/s, 6 seconds passed +... 46%, 326144 KB, 47812 KB/s, 6 seconds passed +... 46%, 326176 KB, 47814 KB/s, 6 seconds passed +... 46%, 326208 KB, 47816 KB/s, 6 seconds passed +... 46%, 326240 KB, 47819 KB/s, 6 seconds passed +... 46%, 326272 KB, 47821 KB/s, 6 seconds passed +... 46%, 326304 KB, 47823 KB/s, 6 seconds passed +... 46%, 326336 KB, 47825 KB/s, 6 seconds passed +... 46%, 326368 KB, 47828 KB/s, 6 seconds passed +... 46%, 326400 KB, 47830 KB/s, 6 seconds passed +... 46%, 326432 KB, 47832 KB/s, 6 seconds passed +... 46%, 326464 KB, 47834 KB/s, 6 seconds passed +... 46%, 326496 KB, 47836 KB/s, 6 seconds passed +... 46%, 326528 KB, 47839 KB/s, 6 seconds passed +... 46%, 326560 KB, 47841 KB/s, 6 seconds passed +... 46%, 326592 KB, 47843 KB/s, 6 seconds passed +... 46%, 326624 KB, 47845 KB/s, 6 seconds passed +... 46%, 326656 KB, 47848 KB/s, 6 seconds passed +... 46%, 326688 KB, 47850 KB/s, 6 seconds passed +... 46%, 326720 KB, 47852 KB/s, 6 seconds passed +... 46%, 326752 KB, 47854 KB/s, 6 seconds passed +... 46%, 326784 KB, 47857 KB/s, 6 seconds passed +... 46%, 326816 KB, 47859 KB/s, 6 seconds passed +... 46%, 326848 KB, 47861 KB/s, 6 seconds passed +... 46%, 326880 KB, 47864 KB/s, 6 seconds passed +... 47%, 326912 KB, 47867 KB/s, 6 seconds passed +... 47%, 326944 KB, 47870 KB/s, 6 seconds passed +... 47%, 326976 KB, 47873 KB/s, 6 seconds passed +... 47%, 327008 KB, 47876 KB/s, 6 seconds passed +... 47%, 327040 KB, 47879 KB/s, 6 seconds passed +... 47%, 327072 KB, 47882 KB/s, 6 seconds passed +... 47%, 327104 KB, 47885 KB/s, 6 seconds passed +... 47%, 327136 KB, 47888 KB/s, 6 seconds passed +... 47%, 327168 KB, 47891 KB/s, 6 seconds passed +... 47%, 327200 KB, 47894 KB/s, 6 seconds passed +... 47%, 327232 KB, 47897 KB/s, 6 seconds passed +... 47%, 327264 KB, 47901 KB/s, 6 seconds passed +... 47%, 327296 KB, 47904 KB/s, 6 seconds passed +... 47%, 327328 KB, 47907 KB/s, 6 seconds passed +... 47%, 327360 KB, 47910 KB/s, 6 seconds passed +... 47%, 327392 KB, 47913 KB/s, 6 seconds passed +... 47%, 327424 KB, 47916 KB/s, 6 seconds passed +... 47%, 327456 KB, 47920 KB/s, 6 seconds passed +... 47%, 327488 KB, 47923 KB/s, 6 seconds passed +... 47%, 327520 KB, 47926 KB/s, 6 seconds passed +... 47%, 327552 KB, 47930 KB/s, 6 seconds passed +... 47%, 327584 KB, 47933 KB/s, 6 seconds passed +... 47%, 327616 KB, 47936 KB/s, 6 seconds passed +... 47%, 327648 KB, 47940 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 47%, 327680 KB, 47643 KB/s, 6 seconds passed +... 47%, 327712 KB, 47641 KB/s, 6 seconds passed +... 47%, 327744 KB, 47642 KB/s, 6 seconds passed +... 47%, 327776 KB, 47644 KB/s, 6 seconds passed +... 47%, 327808 KB, 47610 KB/s, 6 seconds passed +... 47%, 327840 KB, 47611 KB/s, 6 seconds passed +... 47%, 327872 KB, 47613 KB/s, 6 seconds passed +... 47%, 327904 KB, 47615 KB/s, 6 seconds passed +... 47%, 327936 KB, 47615 KB/s, 6 seconds passed +... 47%, 327968 KB, 47617 KB/s, 6 seconds passed +... 47%, 328000 KB, 47619 KB/s, 6 seconds passed +... 47%, 328032 KB, 47621 KB/s, 6 seconds passed +... 47%, 328064 KB, 47623 KB/s, 6 seconds passed +... 47%, 328096 KB, 47625 KB/s, 6 seconds passed +... 47%, 328128 KB, 47622 KB/s, 6 seconds passed +... 47%, 328160 KB, 47624 KB/s, 6 seconds passed +... 47%, 328192 KB, 47626 KB/s, 6 seconds passed +... 47%, 328224 KB, 47628 KB/s, 6 seconds passed +... 47%, 328256 KB, 47630 KB/s, 6 seconds passed +... 47%, 328288 KB, 47632 KB/s, 6 seconds passed +... 47%, 328320 KB, 47634 KB/s, 6 seconds passed +... 47%, 328352 KB, 47636 KB/s, 6 seconds passed +... 47%, 328384 KB, 47638 KB/s, 6 seconds passed +... 47%, 328416 KB, 47640 KB/s, 6 seconds passed +... 47%, 328448 KB, 47642 KB/s, 6 seconds passed +... 47%, 328480 KB, 47644 KB/s, 6 seconds passed +... 47%, 328512 KB, 47646 KB/s, 6 seconds passed +... 47%, 328544 KB, 47647 KB/s, 6 seconds passed +... 47%, 328576 KB, 47649 KB/s, 6 seconds passed +... 47%, 328608 KB, 47651 KB/s, 6 seconds passed +... 47%, 328640 KB, 47653 KB/s, 6 seconds passed +... 47%, 328672 KB, 47655 KB/s, 6 seconds passed +... 47%, 328704 KB, 47656 KB/s, 6 seconds passed +... 47%, 328736 KB, 47658 KB/s, 6 seconds passed +... 47%, 328768 KB, 47660 KB/s, 6 seconds passed +... 47%, 328800 KB, 47662 KB/s, 6 seconds passed +... 47%, 328832 KB, 47664 KB/s, 6 seconds passed +... 47%, 328864 KB, 47666 KB/s, 6 seconds passed +... 47%, 328896 KB, 47668 KB/s, 6 seconds passed +... 47%, 328928 KB, 47670 KB/s, 6 seconds passed +... 47%, 328960 KB, 47673 KB/s, 6 seconds passed +... 47%, 328992 KB, 47675 KB/s, 6 seconds passed +... 47%, 329024 KB, 47678 KB/s, 6 seconds passed +... 47%, 329056 KB, 47681 KB/s, 6 seconds passed +... 47%, 329088 KB, 47684 KB/s, 6 seconds passed +... 47%, 329120 KB, 47686 KB/s, 6 seconds passed +... 47%, 329152 KB, 47689 KB/s, 6 seconds passed +... 47%, 329184 KB, 47692 KB/s, 6 seconds passed +... 47%, 329216 KB, 47694 KB/s, 6 seconds passed +... 47%, 329248 KB, 47697 KB/s, 6 seconds passed +... 47%, 329280 KB, 47700 KB/s, 6 seconds passed +... 47%, 329312 KB, 47702 KB/s, 6 seconds passed +... 47%, 329344 KB, 47705 KB/s, 6 seconds passed +... 47%, 329376 KB, 47708 KB/s, 6 seconds passed +... 47%, 329408 KB, 47711 KB/s, 6 seconds passed +... 47%, 329440 KB, 47713 KB/s, 6 seconds passed +... 47%, 329472 KB, 47716 KB/s, 6 seconds passed +... 47%, 329504 KB, 47719 KB/s, 6 seconds passed +... 47%, 329536 KB, 47722 KB/s, 6 seconds passed +... 47%, 329568 KB, 47724 KB/s, 6 seconds passed +... 47%, 329600 KB, 47727 KB/s, 6 seconds passed +... 47%, 329632 KB, 47730 KB/s, 6 seconds passed +... 47%, 329664 KB, 47733 KB/s, 6 seconds passed +... 47%, 329696 KB, 47735 KB/s, 6 seconds passed +... 47%, 329728 KB, 47738 KB/s, 6 seconds passed +... 47%, 329760 KB, 47741 KB/s, 6 seconds passed +... 47%, 329792 KB, 47743 KB/s, 6 seconds passed +... 47%, 329824 KB, 47746 KB/s, 6 seconds passed +... 47%, 329856 KB, 47749 KB/s, 6 seconds passed +... 47%, 329888 KB, 47752 KB/s, 6 seconds passed +... 47%, 329920 KB, 47754 KB/s, 6 seconds passed +... 47%, 329952 KB, 47757 KB/s, 6 seconds passed +... 47%, 329984 KB, 47760 KB/s, 6 seconds passed +... 47%, 330016 KB, 47763 KB/s, 6 seconds passed +... 47%, 330048 KB, 47765 KB/s, 6 seconds passed +... 47%, 330080 KB, 47768 KB/s, 6 seconds passed +... 47%, 330112 KB, 47771 KB/s, 6 seconds passed +... 47%, 330144 KB, 47774 KB/s, 6 seconds passed +... 47%, 330176 KB, 47777 KB/s, 6 seconds passed +... 47%, 330208 KB, 47781 KB/s, 6 seconds passed +... 47%, 330240 KB, 47784 KB/s, 6 seconds passed +... 47%, 330272 KB, 47787 KB/s, 6 seconds passed +... 47%, 330304 KB, 47791 KB/s, 6 seconds passed +... 47%, 330336 KB, 47794 KB/s, 6 seconds passed +... 47%, 330368 KB, 47797 KB/s, 6 seconds passed +... 47%, 330400 KB, 47801 KB/s, 6 seconds passed +... 47%, 330432 KB, 47804 KB/s, 6 seconds passed +... 47%, 330464 KB, 47807 KB/s, 6 seconds passed +... 47%, 330496 KB, 47811 KB/s, 6 seconds passed +... 47%, 330528 KB, 47814 KB/s, 6 seconds passed +... 47%, 330560 KB, 47817 KB/s, 6 seconds passed +... 47%, 330592 KB, 47821 KB/s, 6 seconds passed +... 47%, 330624 KB, 47824 KB/s, 6 seconds passed +... 47%, 330656 KB, 47827 KB/s, 6 seconds passed +... 47%, 330688 KB, 47831 KB/s, 6 seconds passed +... 47%, 330720 KB, 47834 KB/s, 6 seconds passed +... 47%, 330752 KB, 47837 KB/s, 6 seconds passed +... 47%, 330784 KB, 47841 KB/s, 6 seconds passed +... 47%, 330816 KB, 47844 KB/s, 6 seconds passed +... 47%, 330848 KB, 47847 KB/s, 6 seconds passed +... 47%, 330880 KB, 47851 KB/s, 6 seconds passed +... 47%, 330912 KB, 47853 KB/s, 6 seconds passed +... 47%, 330944 KB, 47856 KB/s, 6 seconds passed +... 47%, 330976 KB, 47858 KB/s, 6 seconds passed +... 47%, 331008 KB, 47861 KB/s, 6 seconds passed +... 47%, 331040 KB, 47863 KB/s, 6 seconds passed +... 47%, 331072 KB, 47867 KB/s, 6 seconds passed +... 47%, 331104 KB, 47869 KB/s, 6 seconds passed +... 47%, 331136 KB, 47872 KB/s, 6 seconds passed +... 47%, 331168 KB, 47875 KB/s, 6 seconds passed +... 47%, 331200 KB, 47877 KB/s, 6 seconds passed +... 47%, 331232 KB, 47879 KB/s, 6 seconds passed +... 47%, 331264 KB, 47883 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 47%, 331296 KB, 47885 KB/s, 6 seconds passed +... 47%, 331328 KB, 47888 KB/s, 6 seconds passed +... 47%, 331360 KB, 47890 KB/s, 6 seconds passed +... 47%, 331392 KB, 47893 KB/s, 6 seconds passed +... 47%, 331424 KB, 47896 KB/s, 6 seconds passed +... 47%, 331456 KB, 47898 KB/s, 6 seconds passed +... 47%, 331488 KB, 47901 KB/s, 6 seconds passed +... 47%, 331520 KB, 47904 KB/s, 6 seconds passed +... 47%, 331552 KB, 47907 KB/s, 6 seconds passed +... 47%, 331584 KB, 47910 KB/s, 6 seconds passed +... 47%, 331616 KB, 47913 KB/s, 6 seconds passed +... 47%, 331648 KB, 47915 KB/s, 6 seconds passed +... 47%, 331680 KB, 47918 KB/s, 6 seconds passed +... 47%, 331712 KB, 47871 KB/s, 6 seconds passed +... 47%, 331744 KB, 47873 KB/s, 6 seconds passed +... 47%, 331776 KB, 47876 KB/s, 6 seconds passed +... 47%, 331808 KB, 47879 KB/s, 6 seconds passed +... 47%, 331840 KB, 47881 KB/s, 6 seconds passed +... 47%, 331872 KB, 47884 KB/s, 6 seconds passed +... 47%, 331904 KB, 47881 KB/s, 6 seconds passed +... 47%, 331936 KB, 47885 KB/s, 6 seconds passed +... 47%, 331968 KB, 47887 KB/s, 6 seconds passed +... 47%, 332000 KB, 47890 KB/s, 6 seconds passed +... 47%, 332032 KB, 47893 KB/s, 6 seconds passed +... 47%, 332064 KB, 47895 KB/s, 6 seconds passed +... 47%, 332096 KB, 47898 KB/s, 6 seconds passed +... 47%, 332128 KB, 47901 KB/s, 6 seconds passed +... 47%, 332160 KB, 47903 KB/s, 6 seconds passed +... 47%, 332192 KB, 47906 KB/s, 6 seconds passed +... 47%, 332224 KB, 47909 KB/s, 6 seconds passed +... 47%, 332256 KB, 47912 KB/s, 6 seconds passed +... 47%, 332288 KB, 47914 KB/s, 6 seconds passed +... 47%, 332320 KB, 47917 KB/s, 6 seconds passed +... 47%, 332352 KB, 47920 KB/s, 6 seconds passed +... 47%, 332384 KB, 47922 KB/s, 6 seconds passed +... 47%, 332416 KB, 47925 KB/s, 6 seconds passed +... 47%, 332448 KB, 47928 KB/s, 6 seconds passed +... 47%, 332480 KB, 47930 KB/s, 6 seconds passed +... 47%, 332512 KB, 47931 KB/s, 6 seconds passed +... 47%, 332544 KB, 47933 KB/s, 6 seconds passed +... 47%, 332576 KB, 47936 KB/s, 6 seconds passed +... 47%, 332608 KB, 47940 KB/s, 6 seconds passed +... 47%, 332640 KB, 47943 KB/s, 6 seconds passed +... 47%, 332672 KB, 47946 KB/s, 6 seconds passed +... 47%, 332704 KB, 47949 KB/s, 6 seconds passed +... 47%, 332736 KB, 47950 KB/s, 6 seconds passed +... 47%, 332768 KB, 47952 KB/s, 6 seconds passed + +.. parsed-literal:: + + ... 47%, 332800 KB, 47601 KB/s, 6 seconds passed +... 47%, 332832 KB, 47602 KB/s, 6 seconds passed +... 47%, 332864 KB, 47604 KB/s, 6 seconds passed +... 47%, 332896 KB, 47606 KB/s, 6 seconds passed +... 47%, 332928 KB, 47520 KB/s, 7 seconds passed +... 47%, 332960 KB, 47522 KB/s, 7 seconds passed +... 47%, 332992 KB, 47523 KB/s, 7 seconds passed +... 47%, 333024 KB, 47525 KB/s, 7 seconds passed +... 47%, 333056 KB, 47527 KB/s, 7 seconds passed +... 47%, 333088 KB, 47529 KB/s, 7 seconds passed +... 47%, 333120 KB, 47531 KB/s, 7 seconds passed +... 47%, 333152 KB, 47533 KB/s, 7 seconds passed +... 47%, 333184 KB, 47535 KB/s, 7 seconds passed +... 47%, 333216 KB, 47537 KB/s, 7 seconds passed +... 47%, 333248 KB, 47539 KB/s, 7 seconds passed +... 47%, 333280 KB, 47540 KB/s, 7 seconds passed +... 47%, 333312 KB, 47542 KB/s, 7 seconds passed +... 47%, 333344 KB, 47544 KB/s, 7 seconds passed +... 47%, 333376 KB, 47546 KB/s, 7 seconds passed +... 47%, 333408 KB, 47548 KB/s, 7 seconds passed +... 47%, 333440 KB, 47550 KB/s, 7 seconds passed +... 47%, 333472 KB, 47551 KB/s, 7 seconds passed +... 47%, 333504 KB, 47553 KB/s, 7 seconds passed +... 47%, 333536 KB, 47555 KB/s, 7 seconds passed +... 47%, 333568 KB, 47557 KB/s, 7 seconds passed +... 47%, 333600 KB, 47559 KB/s, 7 seconds passed +... 47%, 333632 KB, 47561 KB/s, 7 seconds passed +... 47%, 333664 KB, 47563 KB/s, 7 seconds passed +... 47%, 333696 KB, 47565 KB/s, 7 seconds passed +... 47%, 333728 KB, 47567 KB/s, 7 seconds passed +... 47%, 333760 KB, 47569 KB/s, 7 seconds passed +... 47%, 333792 KB, 47571 KB/s, 7 seconds passed +... 47%, 333824 KB, 47573 KB/s, 7 seconds passed +... 48%, 333856 KB, 47575 KB/s, 7 seconds passed +... 48%, 333888 KB, 47577 KB/s, 7 seconds passed +... 48%, 333920 KB, 47579 KB/s, 7 seconds passed +... 48%, 333952 KB, 47581 KB/s, 7 seconds passed +... 48%, 333984 KB, 47583 KB/s, 7 seconds passed +... 48%, 334016 KB, 47584 KB/s, 7 seconds passed +... 48%, 334048 KB, 47586 KB/s, 7 seconds passed +... 48%, 334080 KB, 47588 KB/s, 7 seconds passed +... 48%, 334112 KB, 47590 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 48%, 334144 KB, 47592 KB/s, 7 seconds passed +... 48%, 334176 KB, 47595 KB/s, 7 seconds passed +... 48%, 334208 KB, 47598 KB/s, 7 seconds passed +... 48%, 334240 KB, 47601 KB/s, 7 seconds passed +... 48%, 334272 KB, 47604 KB/s, 7 seconds passed +... 48%, 334304 KB, 47607 KB/s, 7 seconds passed +... 48%, 334336 KB, 47610 KB/s, 7 seconds passed +... 48%, 334368 KB, 47613 KB/s, 7 seconds passed +... 48%, 334400 KB, 47615 KB/s, 7 seconds passed +... 48%, 334432 KB, 47618 KB/s, 7 seconds passed +... 48%, 334464 KB, 47621 KB/s, 7 seconds passed +... 48%, 334496 KB, 47624 KB/s, 7 seconds passed +... 48%, 334528 KB, 47627 KB/s, 7 seconds passed +... 48%, 334560 KB, 47630 KB/s, 7 seconds passed +... 48%, 334592 KB, 47633 KB/s, 7 seconds passed +... 48%, 334624 KB, 47635 KB/s, 7 seconds passed +... 48%, 334656 KB, 47638 KB/s, 7 seconds passed +... 48%, 334688 KB, 47641 KB/s, 7 seconds passed +... 48%, 334720 KB, 47644 KB/s, 7 seconds passed +... 48%, 334752 KB, 47647 KB/s, 7 seconds passed +... 48%, 334784 KB, 47650 KB/s, 7 seconds passed +... 48%, 334816 KB, 47653 KB/s, 7 seconds passed +... 48%, 334848 KB, 47656 KB/s, 7 seconds passed +... 48%, 334880 KB, 47659 KB/s, 7 seconds passed +... 48%, 334912 KB, 47661 KB/s, 7 seconds passed +... 48%, 334944 KB, 47664 KB/s, 7 seconds passed +... 48%, 334976 KB, 47667 KB/s, 7 seconds passed +... 48%, 335008 KB, 47670 KB/s, 7 seconds passed +... 48%, 335040 KB, 47672 KB/s, 7 seconds passed +... 48%, 335072 KB, 47675 KB/s, 7 seconds passed +... 48%, 335104 KB, 47678 KB/s, 7 seconds passed +... 48%, 335136 KB, 47681 KB/s, 7 seconds passed +... 48%, 335168 KB, 47684 KB/s, 7 seconds passed +... 48%, 335200 KB, 47687 KB/s, 7 seconds passed +... 48%, 335232 KB, 47690 KB/s, 7 seconds passed +... 48%, 335264 KB, 47693 KB/s, 7 seconds passed +... 48%, 335296 KB, 47695 KB/s, 7 seconds passed +... 48%, 335328 KB, 47698 KB/s, 7 seconds passed +... 48%, 335360 KB, 47701 KB/s, 7 seconds passed +... 48%, 335392 KB, 47704 KB/s, 7 seconds passed +... 48%, 335424 KB, 47707 KB/s, 7 seconds passed +... 48%, 335456 KB, 47710 KB/s, 7 seconds passed +... 48%, 335488 KB, 47713 KB/s, 7 seconds passed +... 48%, 335520 KB, 47716 KB/s, 7 seconds passed +... 48%, 335552 KB, 47720 KB/s, 7 seconds passed +... 48%, 335584 KB, 47723 KB/s, 7 seconds passed +... 48%, 335616 KB, 47727 KB/s, 7 seconds passed +... 48%, 335648 KB, 47730 KB/s, 7 seconds passed +... 48%, 335680 KB, 47733 KB/s, 7 seconds passed +... 48%, 335712 KB, 47737 KB/s, 7 seconds passed +... 48%, 335744 KB, 47740 KB/s, 7 seconds passed +... 48%, 335776 KB, 47744 KB/s, 7 seconds passed +... 48%, 335808 KB, 47747 KB/s, 7 seconds passed +... 48%, 335840 KB, 47751 KB/s, 7 seconds passed +... 48%, 335872 KB, 47754 KB/s, 7 seconds passed +... 48%, 335904 KB, 47757 KB/s, 7 seconds passed +... 48%, 335936 KB, 47761 KB/s, 7 seconds passed +... 48%, 335968 KB, 47764 KB/s, 7 seconds passed +... 48%, 336000 KB, 47768 KB/s, 7 seconds passed +... 48%, 336032 KB, 47771 KB/s, 7 seconds passed +... 48%, 336064 KB, 47775 KB/s, 7 seconds passed +... 48%, 336096 KB, 47778 KB/s, 7 seconds passed +... 48%, 336128 KB, 47781 KB/s, 7 seconds passed +... 48%, 336160 KB, 47785 KB/s, 7 seconds passed +... 48%, 336192 KB, 47788 KB/s, 7 seconds passed +... 48%, 336224 KB, 47792 KB/s, 7 seconds passed +... 48%, 336256 KB, 47795 KB/s, 7 seconds passed +... 48%, 336288 KB, 47798 KB/s, 7 seconds passed +... 48%, 336320 KB, 47802 KB/s, 7 seconds passed +... 48%, 336352 KB, 47805 KB/s, 7 seconds passed +... 48%, 336384 KB, 47809 KB/s, 7 seconds passed +... 48%, 336416 KB, 47811 KB/s, 7 seconds passed +... 48%, 336448 KB, 47813 KB/s, 7 seconds passed +... 48%, 336480 KB, 47816 KB/s, 7 seconds passed +... 48%, 336512 KB, 47819 KB/s, 7 seconds passed +... 48%, 336544 KB, 47822 KB/s, 7 seconds passed +... 48%, 336576 KB, 47825 KB/s, 7 seconds passed +... 48%, 336608 KB, 47828 KB/s, 7 seconds passed +... 48%, 336640 KB, 47830 KB/s, 7 seconds passed +... 48%, 336672 KB, 47832 KB/s, 7 seconds passed +... 48%, 336704 KB, 47808 KB/s, 7 seconds passed +... 48%, 336736 KB, 47810 KB/s, 7 seconds passed +... 48%, 336768 KB, 47810 KB/s, 7 seconds passed +... 48%, 336800 KB, 47812 KB/s, 7 seconds passed +... 48%, 336832 KB, 47812 KB/s, 7 seconds passed +... 48%, 336864 KB, 47814 KB/s, 7 seconds passed +... 48%, 336896 KB, 47815 KB/s, 7 seconds passed +... 48%, 336928 KB, 47817 KB/s, 7 seconds passed +... 48%, 336960 KB, 47819 KB/s, 7 seconds passed +... 48%, 336992 KB, 47822 KB/s, 7 seconds passed +... 48%, 337024 KB, 47824 KB/s, 7 seconds passed +... 48%, 337056 KB, 47826 KB/s, 7 seconds passed +... 48%, 337088 KB, 47828 KB/s, 7 seconds passed +... 48%, 337120 KB, 47830 KB/s, 7 seconds passed +... 48%, 337152 KB, 47833 KB/s, 7 seconds passed +... 48%, 337184 KB, 47835 KB/s, 7 seconds passed +... 48%, 337216 KB, 47837 KB/s, 7 seconds passed +... 48%, 337248 KB, 47839 KB/s, 7 seconds passed +... 48%, 337280 KB, 47842 KB/s, 7 seconds passed +... 48%, 337312 KB, 47844 KB/s, 7 seconds passed +... 48%, 337344 KB, 47846 KB/s, 7 seconds passed +... 48%, 337376 KB, 47848 KB/s, 7 seconds passed +... 48%, 337408 KB, 47850 KB/s, 7 seconds passed +... 48%, 337440 KB, 47853 KB/s, 7 seconds passed +... 48%, 337472 KB, 47855 KB/s, 7 seconds passed +... 48%, 337504 KB, 47857 KB/s, 7 seconds passed +... 48%, 337536 KB, 47860 KB/s, 7 seconds passed +... 48%, 337568 KB, 47862 KB/s, 7 seconds passed +... 48%, 337600 KB, 47865 KB/s, 7 seconds passed +... 48%, 337632 KB, 47867 KB/s, 7 seconds passed +... 48%, 337664 KB, 47870 KB/s, 7 seconds passed +... 48%, 337696 KB, 47872 KB/s, 7 seconds passed +... 48%, 337728 KB, 47875 KB/s, 7 seconds passed +... 48%, 337760 KB, 47877 KB/s, 7 seconds passed +... 48%, 337792 KB, 47880 KB/s, 7 seconds passed +... 48%, 337824 KB, 47883 KB/s, 7 seconds passed +... 48%, 337856 KB, 47886 KB/s, 7 seconds passed +... 48%, 337888 KB, 47889 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 48%, 337920 KB, 47757 KB/s, 7 seconds passed +... 48%, 337952 KB, 47744 KB/s, 7 seconds passed +... 48%, 337984 KB, 47745 KB/s, 7 seconds passed +... 48%, 338016 KB, 47747 KB/s, 7 seconds passed +... 48%, 338048 KB, 47746 KB/s, 7 seconds passed +... 48%, 338080 KB, 47748 KB/s, 7 seconds passed +... 48%, 338112 KB, 47750 KB/s, 7 seconds passed +... 48%, 338144 KB, 47752 KB/s, 7 seconds passed +... 48%, 338176 KB, 47754 KB/s, 7 seconds passed +... 48%, 338208 KB, 47756 KB/s, 7 seconds passed +... 48%, 338240 KB, 47758 KB/s, 7 seconds passed +... 48%, 338272 KB, 47760 KB/s, 7 seconds passed +... 48%, 338304 KB, 47762 KB/s, 7 seconds passed +... 48%, 338336 KB, 47764 KB/s, 7 seconds passed +... 48%, 338368 KB, 47766 KB/s, 7 seconds passed +... 48%, 338400 KB, 47768 KB/s, 7 seconds passed +... 48%, 338432 KB, 47770 KB/s, 7 seconds passed +... 48%, 338464 KB, 47772 KB/s, 7 seconds passed +... 48%, 338496 KB, 47774 KB/s, 7 seconds passed +... 48%, 338528 KB, 47775 KB/s, 7 seconds passed +... 48%, 338560 KB, 47777 KB/s, 7 seconds passed +... 48%, 338592 KB, 47779 KB/s, 7 seconds passed +... 48%, 338624 KB, 47781 KB/s, 7 seconds passed +... 48%, 338656 KB, 47783 KB/s, 7 seconds passed +... 48%, 338688 KB, 47785 KB/s, 7 seconds passed +... 48%, 338720 KB, 47786 KB/s, 7 seconds passed +... 48%, 338752 KB, 47788 KB/s, 7 seconds passed +... 48%, 338784 KB, 47790 KB/s, 7 seconds passed +... 48%, 338816 KB, 47792 KB/s, 7 seconds passed +... 48%, 338848 KB, 47794 KB/s, 7 seconds passed +... 48%, 338880 KB, 47796 KB/s, 7 seconds passed +... 48%, 338912 KB, 47798 KB/s, 7 seconds passed +... 48%, 338944 KB, 47800 KB/s, 7 seconds passed +... 48%, 338976 KB, 47802 KB/s, 7 seconds passed +... 48%, 339008 KB, 47804 KB/s, 7 seconds passed +... 48%, 339040 KB, 47806 KB/s, 7 seconds passed +... 48%, 339072 KB, 47809 KB/s, 7 seconds passed +... 48%, 339104 KB, 47812 KB/s, 7 seconds passed +... 48%, 339136 KB, 47815 KB/s, 7 seconds passed +... 48%, 339168 KB, 47818 KB/s, 7 seconds passed +... 48%, 339200 KB, 47821 KB/s, 7 seconds passed +... 48%, 339232 KB, 47823 KB/s, 7 seconds passed +... 48%, 339264 KB, 47826 KB/s, 7 seconds passed +... 48%, 339296 KB, 47829 KB/s, 7 seconds passed +... 48%, 339328 KB, 47832 KB/s, 7 seconds passed +... 48%, 339360 KB, 47835 KB/s, 7 seconds passed +... 48%, 339392 KB, 47838 KB/s, 7 seconds passed +... 48%, 339424 KB, 47840 KB/s, 7 seconds passed +... 48%, 339456 KB, 47843 KB/s, 7 seconds passed +... 48%, 339488 KB, 47846 KB/s, 7 seconds passed +... 48%, 339520 KB, 47849 KB/s, 7 seconds passed +... 48%, 339552 KB, 47852 KB/s, 7 seconds passed +... 48%, 339584 KB, 47855 KB/s, 7 seconds passed +... 48%, 339616 KB, 47857 KB/s, 7 seconds passed +... 48%, 339648 KB, 47860 KB/s, 7 seconds passed +... 48%, 339680 KB, 47863 KB/s, 7 seconds passed +... 48%, 339712 KB, 47866 KB/s, 7 seconds passed +... 48%, 339744 KB, 47869 KB/s, 7 seconds passed +... 48%, 339776 KB, 47872 KB/s, 7 seconds passed +... 48%, 339808 KB, 47875 KB/s, 7 seconds passed +... 48%, 339840 KB, 47877 KB/s, 7 seconds passed +... 48%, 339872 KB, 47880 KB/s, 7 seconds passed +... 48%, 339904 KB, 47883 KB/s, 7 seconds passed +... 48%, 339936 KB, 47886 KB/s, 7 seconds passed +... 48%, 339968 KB, 47889 KB/s, 7 seconds passed +... 48%, 340000 KB, 47891 KB/s, 7 seconds passed +... 48%, 340032 KB, 47894 KB/s, 7 seconds passed +... 48%, 340064 KB, 47897 KB/s, 7 seconds passed +... 48%, 340096 KB, 47900 KB/s, 7 seconds passed +... 48%, 340128 KB, 47903 KB/s, 7 seconds passed +... 48%, 340160 KB, 47906 KB/s, 7 seconds passed +... 48%, 340192 KB, 47909 KB/s, 7 seconds passed +... 48%, 340224 KB, 47912 KB/s, 7 seconds passed +... 48%, 340256 KB, 47914 KB/s, 7 seconds passed +... 48%, 340288 KB, 47917 KB/s, 7 seconds passed +... 48%, 340320 KB, 47920 KB/s, 7 seconds passed +... 48%, 340352 KB, 47924 KB/s, 7 seconds passed +... 48%, 340384 KB, 47927 KB/s, 7 seconds passed +... 48%, 340416 KB, 47930 KB/s, 7 seconds passed +... 48%, 340448 KB, 47934 KB/s, 7 seconds passed +... 48%, 340480 KB, 47937 KB/s, 7 seconds passed +... 48%, 340512 KB, 47940 KB/s, 7 seconds passed +... 48%, 340544 KB, 47944 KB/s, 7 seconds passed +... 48%, 340576 KB, 47947 KB/s, 7 seconds passed +... 48%, 340608 KB, 47950 KB/s, 7 seconds passed +... 48%, 340640 KB, 47954 KB/s, 7 seconds passed +... 48%, 340672 KB, 47957 KB/s, 7 seconds passed +... 48%, 340704 KB, 47960 KB/s, 7 seconds passed +... 48%, 340736 KB, 47964 KB/s, 7 seconds passed +... 48%, 340768 KB, 47967 KB/s, 7 seconds passed +... 49%, 340800 KB, 47970 KB/s, 7 seconds passed +... 49%, 340832 KB, 47974 KB/s, 7 seconds passed +... 49%, 340864 KB, 47977 KB/s, 7 seconds passed +... 49%, 340896 KB, 47980 KB/s, 7 seconds passed +... 49%, 340928 KB, 47983 KB/s, 7 seconds passed +... 49%, 340960 KB, 47985 KB/s, 7 seconds passed +... 49%, 340992 KB, 47988 KB/s, 7 seconds passed +... 49%, 341024 KB, 47991 KB/s, 7 seconds passed +... 49%, 341056 KB, 47993 KB/s, 7 seconds passed +... 49%, 341088 KB, 47996 KB/s, 7 seconds passed +... 49%, 341120 KB, 47999 KB/s, 7 seconds passed +... 49%, 341152 KB, 48002 KB/s, 7 seconds passed +... 49%, 341184 KB, 48003 KB/s, 7 seconds passed +... 49%, 341216 KB, 48006 KB/s, 7 seconds passed +... 49%, 341248 KB, 48009 KB/s, 7 seconds passed +... 49%, 341280 KB, 48012 KB/s, 7 seconds passed +... 49%, 341312 KB, 48015 KB/s, 7 seconds passed +... 49%, 341344 KB, 48017 KB/s, 7 seconds passed +... 49%, 341376 KB, 48019 KB/s, 7 seconds passed +... 49%, 341408 KB, 48022 KB/s, 7 seconds passed +... 49%, 341440 KB, 48025 KB/s, 7 seconds passed +... 49%, 341472 KB, 48027 KB/s, 7 seconds passed +... 49%, 341504 KB, 48030 KB/s, 7 seconds passed +... 49%, 341536 KB, 48033 KB/s, 7 seconds passed +... 49%, 341568 KB, 48036 KB/s, 7 seconds passed +... 49%, 341600 KB, 48037 KB/s, 7 seconds passed +... 49%, 341632 KB, 48040 KB/s, 7 seconds passed +... 49%, 341664 KB, 48043 KB/s, 7 seconds passed +... 49%, 341696 KB, 48046 KB/s, 7 seconds passed +... 49%, 341728 KB, 48048 KB/s, 7 seconds passed +... 49%, 341760 KB, 48051 KB/s, 7 seconds passed +... 49%, 341792 KB, 48045 KB/s, 7 seconds passed +... 49%, 341824 KB, 48047 KB/s, 7 seconds passed +... 49%, 341856 KB, 48049 KB/s, 7 seconds passed +... 49%, 341888 KB, 48052 KB/s, 7 seconds passed +... 49%, 341920 KB, 48056 KB/s, 7 seconds passed +... 49%, 341952 KB, 48059 KB/s, 7 seconds passed +... 49%, 341984 KB, 48061 KB/s, 7 seconds passed +... 49%, 342016 KB, 48064 KB/s, 7 seconds passed +... 49%, 342048 KB, 48067 KB/s, 7 seconds passed +... 49%, 342080 KB, 48069 KB/s, 7 seconds passed +... 49%, 342112 KB, 48072 KB/s, 7 seconds passed +... 49%, 342144 KB, 48075 KB/s, 7 seconds passed +... 49%, 342176 KB, 48077 KB/s, 7 seconds passed +... 49%, 342208 KB, 48080 KB/s, 7 seconds passed +... 49%, 342240 KB, 48083 KB/s, 7 seconds passed +... 49%, 342272 KB, 48085 KB/s, 7 seconds passed +... 49%, 342304 KB, 48088 KB/s, 7 seconds passed +... 49%, 342336 KB, 48090 KB/s, 7 seconds passed +... 49%, 342368 KB, 48093 KB/s, 7 seconds passed +... 49%, 342400 KB, 48095 KB/s, 7 seconds passed +... 49%, 342432 KB, 48098 KB/s, 7 seconds passed +... 49%, 342464 KB, 48100 KB/s, 7 seconds passed +... 49%, 342496 KB, 48102 KB/s, 7 seconds passed +... 49%, 342528 KB, 48105 KB/s, 7 seconds passed +... 49%, 342560 KB, 48108 KB/s, 7 seconds passed +... 49%, 342592 KB, 48111 KB/s, 7 seconds passed +... 49%, 342624 KB, 48114 KB/s, 7 seconds passed +... 49%, 342656 KB, 48116 KB/s, 7 seconds passed +... 49%, 342688 KB, 48119 KB/s, 7 seconds passed +... 49%, 342720 KB, 48122 KB/s, 7 seconds passed +... 49%, 342752 KB, 48124 KB/s, 7 seconds passed +... 49%, 342784 KB, 48127 KB/s, 7 seconds passed +... 49%, 342816 KB, 48129 KB/s, 7 seconds passed +... 49%, 342848 KB, 48132 KB/s, 7 seconds passed +... 49%, 342880 KB, 48134 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 49%, 342912 KB, 48137 KB/s, 7 seconds passed +... 49%, 342944 KB, 48140 KB/s, 7 seconds passed +... 49%, 342976 KB, 48142 KB/s, 7 seconds passed +... 49%, 343008 KB, 48145 KB/s, 7 seconds passed +... 49%, 343040 KB, 47979 KB/s, 7 seconds passed +... 49%, 343072 KB, 47980 KB/s, 7 seconds passed +... 49%, 343104 KB, 47982 KB/s, 7 seconds passed +... 49%, 343136 KB, 47973 KB/s, 7 seconds passed +... 49%, 343168 KB, 47974 KB/s, 7 seconds passed +... 49%, 343200 KB, 47976 KB/s, 7 seconds passed +... 49%, 343232 KB, 47978 KB/s, 7 seconds passed +... 49%, 343264 KB, 47980 KB/s, 7 seconds passed +... 49%, 343296 KB, 47981 KB/s, 7 seconds passed +... 49%, 343328 KB, 47983 KB/s, 7 seconds passed +... 49%, 343360 KB, 47985 KB/s, 7 seconds passed +... 49%, 343392 KB, 47987 KB/s, 7 seconds passed +... 49%, 343424 KB, 47989 KB/s, 7 seconds passed +... 49%, 343456 KB, 47991 KB/s, 7 seconds passed +... 49%, 343488 KB, 47993 KB/s, 7 seconds passed +... 49%, 343520 KB, 47995 KB/s, 7 seconds passed +... 49%, 343552 KB, 47997 KB/s, 7 seconds passed +... 49%, 343584 KB, 47999 KB/s, 7 seconds passed +... 49%, 343616 KB, 48001 KB/s, 7 seconds passed +... 49%, 343648 KB, 48003 KB/s, 7 seconds passed +... 49%, 343680 KB, 48004 KB/s, 7 seconds passed +... 49%, 343712 KB, 48006 KB/s, 7 seconds passed +... 49%, 343744 KB, 48008 KB/s, 7 seconds passed +... 49%, 343776 KB, 48010 KB/s, 7 seconds passed +... 49%, 343808 KB, 48012 KB/s, 7 seconds passed +... 49%, 343840 KB, 48014 KB/s, 7 seconds passed +... 49%, 343872 KB, 48015 KB/s, 7 seconds passed +... 49%, 343904 KB, 48018 KB/s, 7 seconds passed +... 49%, 343936 KB, 48020 KB/s, 7 seconds passed +... 49%, 343968 KB, 48022 KB/s, 7 seconds passed +... 49%, 344000 KB, 48025 KB/s, 7 seconds passed +... 49%, 344032 KB, 48027 KB/s, 7 seconds passed +... 49%, 344064 KB, 48030 KB/s, 7 seconds passed +... 49%, 344096 KB, 48032 KB/s, 7 seconds passed +... 49%, 344128 KB, 48035 KB/s, 7 seconds passed +... 49%, 344160 KB, 48037 KB/s, 7 seconds passed +... 49%, 344192 KB, 48040 KB/s, 7 seconds passed +... 49%, 344224 KB, 48042 KB/s, 7 seconds passed +... 49%, 344256 KB, 48045 KB/s, 7 seconds passed +... 49%, 344288 KB, 48047 KB/s, 7 seconds passed +... 49%, 344320 KB, 48050 KB/s, 7 seconds passed +... 49%, 344352 KB, 48052 KB/s, 7 seconds passed +... 49%, 344384 KB, 48055 KB/s, 7 seconds passed +... 49%, 344416 KB, 48057 KB/s, 7 seconds passed +... 49%, 344448 KB, 48059 KB/s, 7 seconds passed +... 49%, 344480 KB, 48062 KB/s, 7 seconds passed +... 49%, 344512 KB, 48064 KB/s, 7 seconds passed +... 49%, 344544 KB, 48067 KB/s, 7 seconds passed +... 49%, 344576 KB, 48069 KB/s, 7 seconds passed +... 49%, 344608 KB, 48072 KB/s, 7 seconds passed +... 49%, 344640 KB, 48074 KB/s, 7 seconds passed +... 49%, 344672 KB, 48077 KB/s, 7 seconds passed +... 49%, 344704 KB, 48079 KB/s, 7 seconds passed +... 49%, 344736 KB, 48082 KB/s, 7 seconds passed +... 49%, 344768 KB, 48084 KB/s, 7 seconds passed +... 49%, 344800 KB, 48086 KB/s, 7 seconds passed +... 49%, 344832 KB, 48089 KB/s, 7 seconds passed +... 49%, 344864 KB, 48091 KB/s, 7 seconds passed +... 49%, 344896 KB, 48093 KB/s, 7 seconds passed +... 49%, 344928 KB, 48096 KB/s, 7 seconds passed +... 49%, 344960 KB, 48099 KB/s, 7 seconds passed +... 49%, 344992 KB, 48102 KB/s, 7 seconds passed +... 49%, 345024 KB, 48105 KB/s, 7 seconds passed +... 49%, 345056 KB, 48108 KB/s, 7 seconds passed +... 49%, 345088 KB, 48111 KB/s, 7 seconds passed +... 49%, 345120 KB, 48114 KB/s, 7 seconds passed +... 49%, 345152 KB, 48117 KB/s, 7 seconds passed +... 49%, 345184 KB, 48120 KB/s, 7 seconds passed +... 49%, 345216 KB, 48123 KB/s, 7 seconds passed +... 49%, 345248 KB, 48127 KB/s, 7 seconds passed +... 49%, 345280 KB, 48130 KB/s, 7 seconds passed +... 49%, 345312 KB, 48133 KB/s, 7 seconds passed +... 49%, 345344 KB, 48136 KB/s, 7 seconds passed +... 49%, 345376 KB, 48139 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 49%, 345408 KB, 48142 KB/s, 7 seconds passed +... 49%, 345440 KB, 48145 KB/s, 7 seconds passed +... 49%, 345472 KB, 48148 KB/s, 7 seconds passed +... 49%, 345504 KB, 48151 KB/s, 7 seconds passed +... 49%, 345536 KB, 48154 KB/s, 7 seconds passed +... 49%, 345568 KB, 48157 KB/s, 7 seconds passed +... 49%, 345600 KB, 48160 KB/s, 7 seconds passed +... 49%, 345632 KB, 48163 KB/s, 7 seconds passed +... 49%, 345664 KB, 48166 KB/s, 7 seconds passed +... 49%, 345696 KB, 48169 KB/s, 7 seconds passed +... 49%, 345728 KB, 48172 KB/s, 7 seconds passed +... 49%, 345760 KB, 48176 KB/s, 7 seconds passed +... 49%, 345792 KB, 48179 KB/s, 7 seconds passed +... 49%, 345824 KB, 48182 KB/s, 7 seconds passed +... 49%, 345856 KB, 48185 KB/s, 7 seconds passed +... 49%, 345888 KB, 48188 KB/s, 7 seconds passed +... 49%, 345920 KB, 48191 KB/s, 7 seconds passed +... 49%, 345952 KB, 48194 KB/s, 7 seconds passed +... 49%, 345984 KB, 48197 KB/s, 7 seconds passed +... 49%, 346016 KB, 48200 KB/s, 7 seconds passed +... 49%, 346048 KB, 48204 KB/s, 7 seconds passed +... 49%, 346080 KB, 48207 KB/s, 7 seconds passed +... 49%, 346112 KB, 48210 KB/s, 7 seconds passed +... 49%, 346144 KB, 48213 KB/s, 7 seconds passed +... 49%, 346176 KB, 48216 KB/s, 7 seconds passed +... 49%, 346208 KB, 48219 KB/s, 7 seconds passed +... 49%, 346240 KB, 48222 KB/s, 7 seconds passed +... 49%, 346272 KB, 48225 KB/s, 7 seconds passed +... 49%, 346304 KB, 48228 KB/s, 7 seconds passed +... 49%, 346336 KB, 48231 KB/s, 7 seconds passed +... 49%, 346368 KB, 48235 KB/s, 7 seconds passed +... 49%, 346400 KB, 48237 KB/s, 7 seconds passed +... 49%, 346432 KB, 48240 KB/s, 7 seconds passed +... 49%, 346464 KB, 48243 KB/s, 7 seconds passed +... 49%, 346496 KB, 48246 KB/s, 7 seconds passed +... 49%, 346528 KB, 48248 KB/s, 7 seconds passed +... 49%, 346560 KB, 48251 KB/s, 7 seconds passed +... 49%, 346592 KB, 48253 KB/s, 7 seconds passed +... 49%, 346624 KB, 48255 KB/s, 7 seconds passed +... 49%, 346656 KB, 48258 KB/s, 7 seconds passed +... 49%, 346688 KB, 48259 KB/s, 7 seconds passed +... 49%, 346720 KB, 48261 KB/s, 7 seconds passed +... 49%, 346752 KB, 48263 KB/s, 7 seconds passed +... 49%, 346784 KB, 48267 KB/s, 7 seconds passed +... 49%, 346816 KB, 48270 KB/s, 7 seconds passed +... 49%, 346848 KB, 48273 KB/s, 7 seconds passed +... 49%, 346880 KB, 48277 KB/s, 7 seconds passed +... 49%, 346912 KB, 48279 KB/s, 7 seconds passed +... 49%, 346944 KB, 48279 KB/s, 7 seconds passed +... 49%, 346976 KB, 48282 KB/s, 7 seconds passed +... 49%, 347008 KB, 48284 KB/s, 7 seconds passed +... 49%, 347040 KB, 48287 KB/s, 7 seconds passed +... 49%, 347072 KB, 48289 KB/s, 7 seconds passed +... 49%, 347104 KB, 48288 KB/s, 7 seconds passed +... 49%, 347136 KB, 48290 KB/s, 7 seconds passed +... 49%, 347168 KB, 48293 KB/s, 7 seconds passed +... 49%, 347200 KB, 48296 KB/s, 7 seconds passed +... 49%, 347232 KB, 48298 KB/s, 7 seconds passed +... 49%, 347264 KB, 48301 KB/s, 7 seconds passed +... 49%, 347296 KB, 48303 KB/s, 7 seconds passed +... 49%, 347328 KB, 48196 KB/s, 7 seconds passed +... 49%, 347360 KB, 48197 KB/s, 7 seconds passed +... 49%, 347392 KB, 48199 KB/s, 7 seconds passed +... 49%, 347424 KB, 48200 KB/s, 7 seconds passed +... 49%, 347456 KB, 48202 KB/s, 7 seconds passed +... 49%, 347488 KB, 48204 KB/s, 7 seconds passed +... 49%, 347520 KB, 48206 KB/s, 7 seconds passed +... 49%, 347552 KB, 48208 KB/s, 7 seconds passed +... 49%, 347584 KB, 48210 KB/s, 7 seconds passed +... 49%, 347616 KB, 48212 KB/s, 7 seconds passed +... 49%, 347648 KB, 48214 KB/s, 7 seconds passed +... 49%, 347680 KB, 48216 KB/s, 7 seconds passed +... 49%, 347712 KB, 48217 KB/s, 7 seconds passed +... 49%, 347744 KB, 48219 KB/s, 7 seconds passed +... 50%, 347776 KB, 48221 KB/s, 7 seconds passed +... 50%, 347808 KB, 48223 KB/s, 7 seconds passed +... 50%, 347840 KB, 48224 KB/s, 7 seconds passed +... 50%, 347872 KB, 48226 KB/s, 7 seconds passed +... 50%, 347904 KB, 48228 KB/s, 7 seconds passed +... 50%, 347936 KB, 48230 KB/s, 7 seconds passed +... 50%, 347968 KB, 48232 KB/s, 7 seconds passed +... 50%, 348000 KB, 48235 KB/s, 7 seconds passed +... 50%, 348032 KB, 48237 KB/s, 7 seconds passed +... 50%, 348064 KB, 48239 KB/s, 7 seconds passed +... 50%, 348096 KB, 48242 KB/s, 7 seconds passed +... 50%, 348128 KB, 48245 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 50%, 348160 KB, 47941 KB/s, 7 seconds passed +... 50%, 348192 KB, 47942 KB/s, 7 seconds passed +... 50%, 348224 KB, 47943 KB/s, 7 seconds passed +... 50%, 348256 KB, 47945 KB/s, 7 seconds passed +... 50%, 348288 KB, 47947 KB/s, 7 seconds passed +... 50%, 348320 KB, 47948 KB/s, 7 seconds passed +... 50%, 348352 KB, 47950 KB/s, 7 seconds passed +... 50%, 348384 KB, 47952 KB/s, 7 seconds passed +... 50%, 348416 KB, 47954 KB/s, 7 seconds passed +... 50%, 348448 KB, 47956 KB/s, 7 seconds passed +... 50%, 348480 KB, 47958 KB/s, 7 seconds passed +... 50%, 348512 KB, 47960 KB/s, 7 seconds passed +... 50%, 348544 KB, 47962 KB/s, 7 seconds passed +... 50%, 348576 KB, 47963 KB/s, 7 seconds passed +... 50%, 348608 KB, 47965 KB/s, 7 seconds passed +... 50%, 348640 KB, 47967 KB/s, 7 seconds passed +... 50%, 348672 KB, 47969 KB/s, 7 seconds passed +... 50%, 348704 KB, 47971 KB/s, 7 seconds passed +... 50%, 348736 KB, 47973 KB/s, 7 seconds passed +... 50%, 348768 KB, 47975 KB/s, 7 seconds passed +... 50%, 348800 KB, 47977 KB/s, 7 seconds passed +... 50%, 348832 KB, 47979 KB/s, 7 seconds passed +... 50%, 348864 KB, 47980 KB/s, 7 seconds passed +... 50%, 348896 KB, 47982 KB/s, 7 seconds passed +... 50%, 348928 KB, 47984 KB/s, 7 seconds passed +... 50%, 348960 KB, 47986 KB/s, 7 seconds passed +... 50%, 348992 KB, 47988 KB/s, 7 seconds passed +... 50%, 349024 KB, 47990 KB/s, 7 seconds passed +... 50%, 349056 KB, 47992 KB/s, 7 seconds passed +... 50%, 349088 KB, 47995 KB/s, 7 seconds passed +... 50%, 349120 KB, 47998 KB/s, 7 seconds passed +... 50%, 349152 KB, 48001 KB/s, 7 seconds passed +... 50%, 349184 KB, 48003 KB/s, 7 seconds passed +... 50%, 349216 KB, 48006 KB/s, 7 seconds passed +... 50%, 349248 KB, 48009 KB/s, 7 seconds passed +... 50%, 349280 KB, 48012 KB/s, 7 seconds passed +... 50%, 349312 KB, 48015 KB/s, 7 seconds passed +... 50%, 349344 KB, 48017 KB/s, 7 seconds passed +... 50%, 349376 KB, 48020 KB/s, 7 seconds passed +... 50%, 349408 KB, 48022 KB/s, 7 seconds passed +... 50%, 349440 KB, 48025 KB/s, 7 seconds passed +... 50%, 349472 KB, 48026 KB/s, 7 seconds passed +... 50%, 349504 KB, 48028 KB/s, 7 seconds passed +... 50%, 349536 KB, 48031 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 50%, 349568 KB, 48032 KB/s, 7 seconds passed +... 50%, 349600 KB, 48034 KB/s, 7 seconds passed +... 50%, 349632 KB, 48036 KB/s, 7 seconds passed +... 50%, 349664 KB, 48038 KB/s, 7 seconds passed +... 50%, 349696 KB, 48041 KB/s, 7 seconds passed +... 50%, 349728 KB, 48042 KB/s, 7 seconds passed +... 50%, 349760 KB, 48044 KB/s, 7 seconds passed +... 50%, 349792 KB, 48047 KB/s, 7 seconds passed +... 50%, 349824 KB, 48049 KB/s, 7 seconds passed +... 50%, 349856 KB, 48051 KB/s, 7 seconds passed +... 50%, 349888 KB, 48053 KB/s, 7 seconds passed +... 50%, 349920 KB, 48055 KB/s, 7 seconds passed +... 50%, 349952 KB, 48057 KB/s, 7 seconds passed +... 50%, 349984 KB, 48060 KB/s, 7 seconds passed +... 50%, 350016 KB, 48061 KB/s, 7 seconds passed +... 50%, 350048 KB, 48063 KB/s, 7 seconds passed +... 50%, 350080 KB, 48064 KB/s, 7 seconds passed +... 50%, 350112 KB, 48067 KB/s, 7 seconds passed +... 50%, 350144 KB, 48070 KB/s, 7 seconds passed +... 50%, 350176 KB, 48071 KB/s, 7 seconds passed +... 50%, 350208 KB, 48073 KB/s, 7 seconds passed +... 50%, 350240 KB, 48074 KB/s, 7 seconds passed +... 50%, 350272 KB, 48077 KB/s, 7 seconds passed +... 50%, 350304 KB, 48079 KB/s, 7 seconds passed +... 50%, 350336 KB, 48081 KB/s, 7 seconds passed +... 50%, 350368 KB, 48083 KB/s, 7 seconds passed +... 50%, 350400 KB, 48085 KB/s, 7 seconds passed +... 50%, 350432 KB, 48087 KB/s, 7 seconds passed +... 50%, 350464 KB, 48088 KB/s, 7 seconds passed +... 50%, 350496 KB, 48090 KB/s, 7 seconds passed +... 50%, 350528 KB, 48093 KB/s, 7 seconds passed +... 50%, 350560 KB, 48096 KB/s, 7 seconds passed +... 50%, 350592 KB, 48099 KB/s, 7 seconds passed +... 50%, 350624 KB, 48102 KB/s, 7 seconds passed +... 50%, 350656 KB, 48104 KB/s, 7 seconds passed +... 50%, 350688 KB, 48107 KB/s, 7 seconds passed +... 50%, 350720 KB, 48017 KB/s, 7 seconds passed +... 50%, 350752 KB, 48018 KB/s, 7 seconds passed +... 50%, 350784 KB, 48020 KB/s, 7 seconds passed +... 50%, 350816 KB, 48022 KB/s, 7 seconds passed +... 50%, 350848 KB, 48023 KB/s, 7 seconds passed +... 50%, 350880 KB, 48025 KB/s, 7 seconds passed +... 50%, 350912 KB, 48027 KB/s, 7 seconds passed +... 50%, 350944 KB, 48029 KB/s, 7 seconds passed +... 50%, 350976 KB, 48030 KB/s, 7 seconds passed +... 50%, 351008 KB, 48032 KB/s, 7 seconds passed +... 50%, 351040 KB, 48034 KB/s, 7 seconds passed +... 50%, 351072 KB, 48036 KB/s, 7 seconds passed +... 50%, 351104 KB, 48038 KB/s, 7 seconds passed +... 50%, 351136 KB, 48039 KB/s, 7 seconds passed +... 50%, 351168 KB, 48041 KB/s, 7 seconds passed +... 50%, 351200 KB, 48043 KB/s, 7 seconds passed +... 50%, 351232 KB, 48045 KB/s, 7 seconds passed +... 50%, 351264 KB, 48047 KB/s, 7 seconds passed +... 50%, 351296 KB, 48049 KB/s, 7 seconds passed +... 50%, 351328 KB, 48050 KB/s, 7 seconds passed +... 50%, 351360 KB, 48052 KB/s, 7 seconds passed +... 50%, 351392 KB, 48054 KB/s, 7 seconds passed +... 50%, 351424 KB, 48057 KB/s, 7 seconds passed +... 50%, 351456 KB, 48059 KB/s, 7 seconds passed +... 50%, 351488 KB, 48062 KB/s, 7 seconds passed +... 50%, 351520 KB, 48065 KB/s, 7 seconds passed +... 50%, 351552 KB, 48067 KB/s, 7 seconds passed +... 50%, 351584 KB, 48070 KB/s, 7 seconds passed +... 50%, 351616 KB, 48073 KB/s, 7 seconds passed +... 50%, 351648 KB, 48074 KB/s, 7 seconds passed +... 50%, 351680 KB, 48076 KB/s, 7 seconds passed +... 50%, 351712 KB, 48078 KB/s, 7 seconds passed +... 50%, 351744 KB, 48081 KB/s, 7 seconds passed +... 50%, 351776 KB, 48083 KB/s, 7 seconds passed +... 50%, 351808 KB, 48085 KB/s, 7 seconds passed +... 50%, 351840 KB, 48088 KB/s, 7 seconds passed +... 50%, 351872 KB, 48090 KB/s, 7 seconds passed +... 50%, 351904 KB, 48093 KB/s, 7 seconds passed +... 50%, 351936 KB, 48095 KB/s, 7 seconds passed +... 50%, 351968 KB, 48098 KB/s, 7 seconds passed +... 50%, 352000 KB, 48100 KB/s, 7 seconds passed +... 50%, 352032 KB, 48102 KB/s, 7 seconds passed +... 50%, 352064 KB, 48105 KB/s, 7 seconds passed +... 50%, 352096 KB, 48107 KB/s, 7 seconds passed +... 50%, 352128 KB, 48110 KB/s, 7 seconds passed +... 50%, 352160 KB, 48112 KB/s, 7 seconds passed +... 50%, 352192 KB, 48115 KB/s, 7 seconds passed +... 50%, 352224 KB, 48117 KB/s, 7 seconds passed +... 50%, 352256 KB, 48120 KB/s, 7 seconds passed +... 50%, 352288 KB, 48122 KB/s, 7 seconds passed +... 50%, 352320 KB, 48125 KB/s, 7 seconds passed +... 50%, 352352 KB, 48127 KB/s, 7 seconds passed +... 50%, 352384 KB, 48130 KB/s, 7 seconds passed +... 50%, 352416 KB, 48132 KB/s, 7 seconds passed +... 50%, 352448 KB, 48135 KB/s, 7 seconds passed +... 50%, 352480 KB, 48137 KB/s, 7 seconds passed +... 50%, 352512 KB, 48140 KB/s, 7 seconds passed +... 50%, 352544 KB, 48142 KB/s, 7 seconds passed +... 50%, 352576 KB, 48145 KB/s, 7 seconds passed +... 50%, 352608 KB, 48148 KB/s, 7 seconds passed +... 50%, 352640 KB, 48151 KB/s, 7 seconds passed +... 50%, 352672 KB, 48154 KB/s, 7 seconds passed +... 50%, 352704 KB, 48157 KB/s, 7 seconds passed +... 50%, 352736 KB, 48160 KB/s, 7 seconds passed +... 50%, 352768 KB, 48163 KB/s, 7 seconds passed +... 50%, 352800 KB, 48165 KB/s, 7 seconds passed +... 50%, 352832 KB, 48168 KB/s, 7 seconds passed +... 50%, 352864 KB, 48171 KB/s, 7 seconds passed +... 50%, 352896 KB, 48173 KB/s, 7 seconds passed +... 50%, 352928 KB, 48175 KB/s, 7 seconds passed +... 50%, 352960 KB, 48178 KB/s, 7 seconds passed +... 50%, 352992 KB, 48181 KB/s, 7 seconds passed +... 50%, 353024 KB, 48183 KB/s, 7 seconds passed +... 50%, 353056 KB, 48186 KB/s, 7 seconds passed +... 50%, 353088 KB, 48188 KB/s, 7 seconds passed +... 50%, 353120 KB, 48191 KB/s, 7 seconds passed +... 50%, 353152 KB, 48193 KB/s, 7 seconds passed +... 50%, 353184 KB, 48196 KB/s, 7 seconds passed +... 50%, 353216 KB, 48198 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 50%, 353248 KB, 48201 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 50%, 353280 KB, 47827 KB/s, 7 seconds passed +... 50%, 353312 KB, 47826 KB/s, 7 seconds passed +... 50%, 353344 KB, 47827 KB/s, 7 seconds passed +... 50%, 353376 KB, 47829 KB/s, 7 seconds passed +... 50%, 353408 KB, 47831 KB/s, 7 seconds passed +... 50%, 353440 KB, 47833 KB/s, 7 seconds passed +... 50%, 353472 KB, 47835 KB/s, 7 seconds passed +... 50%, 353504 KB, 47837 KB/s, 7 seconds passed +... 50%, 353536 KB, 47840 KB/s, 7 seconds passed +... 50%, 353568 KB, 47842 KB/s, 7 seconds passed +... 50%, 353600 KB, 47844 KB/s, 7 seconds passed +... 50%, 353632 KB, 47846 KB/s, 7 seconds passed +... 50%, 353664 KB, 47848 KB/s, 7 seconds passed +... 50%, 353696 KB, 47850 KB/s, 7 seconds passed +... 50%, 353728 KB, 47852 KB/s, 7 seconds passed +... 50%, 353760 KB, 47854 KB/s, 7 seconds passed +... 50%, 353792 KB, 47857 KB/s, 7 seconds passed +... 50%, 353824 KB, 47859 KB/s, 7 seconds passed +... 50%, 353856 KB, 47861 KB/s, 7 seconds passed +... 50%, 353888 KB, 47863 KB/s, 7 seconds passed +... 50%, 353920 KB, 47865 KB/s, 7 seconds passed +... 50%, 353952 KB, 47867 KB/s, 7 seconds passed +... 50%, 353984 KB, 47869 KB/s, 7 seconds passed +... 50%, 354016 KB, 47872 KB/s, 7 seconds passed +... 50%, 354048 KB, 47874 KB/s, 7 seconds passed +... 50%, 354080 KB, 47876 KB/s, 7 seconds passed +... 50%, 354112 KB, 47878 KB/s, 7 seconds passed +... 50%, 354144 KB, 47880 KB/s, 7 seconds passed +... 50%, 354176 KB, 47882 KB/s, 7 seconds passed +... 50%, 354208 KB, 47884 KB/s, 7 seconds passed +... 50%, 354240 KB, 47886 KB/s, 7 seconds passed +... 50%, 354272 KB, 47888 KB/s, 7 seconds passed +... 50%, 354304 KB, 47890 KB/s, 7 seconds passed +... 50%, 354336 KB, 47892 KB/s, 7 seconds passed +... 50%, 354368 KB, 47894 KB/s, 7 seconds passed +... 50%, 354400 KB, 47897 KB/s, 7 seconds passed +... 50%, 354432 KB, 47899 KB/s, 7 seconds passed +... 50%, 354464 KB, 47901 KB/s, 7 seconds passed +... 50%, 354496 KB, 47903 KB/s, 7 seconds passed +... 50%, 354528 KB, 47905 KB/s, 7 seconds passed +... 50%, 354560 KB, 47907 KB/s, 7 seconds passed +... 50%, 354592 KB, 47910 KB/s, 7 seconds passed +... 50%, 354624 KB, 47912 KB/s, 7 seconds passed +... 50%, 354656 KB, 47914 KB/s, 7 seconds passed +... 50%, 354688 KB, 47916 KB/s, 7 seconds passed +... 51%, 354720 KB, 47914 KB/s, 7 seconds passed +... 51%, 354752 KB, 47916 KB/s, 7 seconds passed +... 51%, 354784 KB, 47918 KB/s, 7 seconds passed +... 51%, 354816 KB, 47920 KB/s, 7 seconds passed +... 51%, 354848 KB, 47923 KB/s, 7 seconds passed +... 51%, 354880 KB, 47926 KB/s, 7 seconds passed +... 51%, 354912 KB, 47929 KB/s, 7 seconds passed +... 51%, 354944 KB, 47931 KB/s, 7 seconds passed +... 51%, 354976 KB, 47934 KB/s, 7 seconds passed +... 51%, 355008 KB, 47937 KB/s, 7 seconds passed +... 51%, 355040 KB, 47939 KB/s, 7 seconds passed +... 51%, 355072 KB, 47942 KB/s, 7 seconds passed +... 51%, 355104 KB, 47944 KB/s, 7 seconds passed +... 51%, 355136 KB, 47947 KB/s, 7 seconds passed +... 51%, 355168 KB, 47949 KB/s, 7 seconds passed +... 51%, 355200 KB, 47952 KB/s, 7 seconds passed +... 51%, 355232 KB, 47954 KB/s, 7 seconds passed +... 51%, 355264 KB, 47957 KB/s, 7 seconds passed +... 51%, 355296 KB, 47959 KB/s, 7 seconds passed +... 51%, 355328 KB, 47962 KB/s, 7 seconds passed +... 51%, 355360 KB, 47965 KB/s, 7 seconds passed +... 51%, 355392 KB, 47967 KB/s, 7 seconds passed +... 51%, 355424 KB, 47969 KB/s, 7 seconds passed +... 51%, 355456 KB, 47972 KB/s, 7 seconds passed +... 51%, 355488 KB, 47974 KB/s, 7 seconds passed +... 51%, 355520 KB, 47977 KB/s, 7 seconds passed +... 51%, 355552 KB, 47979 KB/s, 7 seconds passed +... 51%, 355584 KB, 47982 KB/s, 7 seconds passed +... 51%, 355616 KB, 47985 KB/s, 7 seconds passed +... 51%, 355648 KB, 47987 KB/s, 7 seconds passed +... 51%, 355680 KB, 47990 KB/s, 7 seconds passed +... 51%, 355712 KB, 47992 KB/s, 7 seconds passed +... 51%, 355744 KB, 47995 KB/s, 7 seconds passed +... 51%, 355776 KB, 47998 KB/s, 7 seconds passed +... 51%, 355808 KB, 48000 KB/s, 7 seconds passed +... 51%, 355840 KB, 48002 KB/s, 7 seconds passed +... 51%, 355872 KB, 48005 KB/s, 7 seconds passed +... 51%, 355904 KB, 48007 KB/s, 7 seconds passed +... 51%, 355936 KB, 48009 KB/s, 7 seconds passed +... 51%, 355968 KB, 48012 KB/s, 7 seconds passed +... 51%, 356000 KB, 48015 KB/s, 7 seconds passed +... 51%, 356032 KB, 48018 KB/s, 7 seconds passed +... 51%, 356064 KB, 48020 KB/s, 7 seconds passed +... 51%, 356096 KB, 48022 KB/s, 7 seconds passed +... 51%, 356128 KB, 48025 KB/s, 7 seconds passed +... 51%, 356160 KB, 48027 KB/s, 7 seconds passed +... 51%, 356192 KB, 48030 KB/s, 7 seconds passed +... 51%, 356224 KB, 48033 KB/s, 7 seconds passed +... 51%, 356256 KB, 48035 KB/s, 7 seconds passed +... 51%, 356288 KB, 48037 KB/s, 7 seconds passed +... 51%, 356320 KB, 48040 KB/s, 7 seconds passed +... 51%, 356352 KB, 48042 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 51%, 356384 KB, 47957 KB/s, 7 seconds passed +... 51%, 356416 KB, 47959 KB/s, 7 seconds passed +... 51%, 356448 KB, 47961 KB/s, 7 seconds passed +... 51%, 356480 KB, 47963 KB/s, 7 seconds passed +... 51%, 356512 KB, 47965 KB/s, 7 seconds passed +... 51%, 356544 KB, 47967 KB/s, 7 seconds passed +... 51%, 356576 KB, 47969 KB/s, 7 seconds passed +... 51%, 356608 KB, 47971 KB/s, 7 seconds passed +... 51%, 356640 KB, 47974 KB/s, 7 seconds passed +... 51%, 356672 KB, 47976 KB/s, 7 seconds passed +... 51%, 356704 KB, 47978 KB/s, 7 seconds passed +... 51%, 356736 KB, 47980 KB/s, 7 seconds passed +... 51%, 356768 KB, 47980 KB/s, 7 seconds passed +... 51%, 356800 KB, 47982 KB/s, 7 seconds passed +... 51%, 356832 KB, 47984 KB/s, 7 seconds passed +... 51%, 356864 KB, 47986 KB/s, 7 seconds passed +... 51%, 356896 KB, 47988 KB/s, 7 seconds passed +... 51%, 356928 KB, 47990 KB/s, 7 seconds passed +... 51%, 356960 KB, 47993 KB/s, 7 seconds passed +... 51%, 356992 KB, 47995 KB/s, 7 seconds passed +... 51%, 357024 KB, 47997 KB/s, 7 seconds passed +... 51%, 357056 KB, 47999 KB/s, 7 seconds passed +... 51%, 357088 KB, 48001 KB/s, 7 seconds passed +... 51%, 357120 KB, 48004 KB/s, 7 seconds passed +... 51%, 357152 KB, 48006 KB/s, 7 seconds passed +... 51%, 357184 KB, 48008 KB/s, 7 seconds passed +... 51%, 357216 KB, 48011 KB/s, 7 seconds passed +... 51%, 357248 KB, 48013 KB/s, 7 seconds passed +... 51%, 357280 KB, 48015 KB/s, 7 seconds passed +... 51%, 357312 KB, 48017 KB/s, 7 seconds passed +... 51%, 357344 KB, 48020 KB/s, 7 seconds passed +... 51%, 357376 KB, 48022 KB/s, 7 seconds passed +... 51%, 357408 KB, 48024 KB/s, 7 seconds passed +... 51%, 357440 KB, 48026 KB/s, 7 seconds passed +... 51%, 357472 KB, 48029 KB/s, 7 seconds passed +... 51%, 357504 KB, 48031 KB/s, 7 seconds passed +... 51%, 357536 KB, 48033 KB/s, 7 seconds passed +... 51%, 357568 KB, 48035 KB/s, 7 seconds passed +... 51%, 357600 KB, 48038 KB/s, 7 seconds passed +... 51%, 357632 KB, 48040 KB/s, 7 seconds passed +... 51%, 357664 KB, 48043 KB/s, 7 seconds passed +... 51%, 357696 KB, 48046 KB/s, 7 seconds passed +... 51%, 357728 KB, 48048 KB/s, 7 seconds passed +... 51%, 357760 KB, 48051 KB/s, 7 seconds passed +... 51%, 357792 KB, 48053 KB/s, 7 seconds passed +... 51%, 357824 KB, 48056 KB/s, 7 seconds passed +... 51%, 357856 KB, 48059 KB/s, 7 seconds passed +... 51%, 357888 KB, 48061 KB/s, 7 seconds passed +... 51%, 357920 KB, 48064 KB/s, 7 seconds passed +... 51%, 357952 KB, 48067 KB/s, 7 seconds passed +... 51%, 357984 KB, 48069 KB/s, 7 seconds passed +... 51%, 358016 KB, 48072 KB/s, 7 seconds passed +... 51%, 358048 KB, 48075 KB/s, 7 seconds passed +... 51%, 358080 KB, 48077 KB/s, 7 seconds passed +... 51%, 358112 KB, 48080 KB/s, 7 seconds passed +... 51%, 358144 KB, 48083 KB/s, 7 seconds passed +... 51%, 358176 KB, 48085 KB/s, 7 seconds passed +... 51%, 358208 KB, 48088 KB/s, 7 seconds passed +... 51%, 358240 KB, 48091 KB/s, 7 seconds passed +... 51%, 358272 KB, 48094 KB/s, 7 seconds passed +... 51%, 358304 KB, 48096 KB/s, 7 seconds passed +... 51%, 358336 KB, 48099 KB/s, 7 seconds passed +... 51%, 358368 KB, 48102 KB/s, 7 seconds passed +... 51%, 358400 KB, 47989 KB/s, 7 seconds passed +... 51%, 358432 KB, 47988 KB/s, 7 seconds passed +... 51%, 358464 KB, 47990 KB/s, 7 seconds passed +... 51%, 358496 KB, 47992 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 51%, 358528 KB, 47877 KB/s, 7 seconds passed +... 51%, 358560 KB, 47879 KB/s, 7 seconds passed +... 51%, 358592 KB, 47881 KB/s, 7 seconds passed +... 51%, 358624 KB, 47883 KB/s, 7 seconds passed +... 51%, 358656 KB, 47885 KB/s, 7 seconds passed +... 51%, 358688 KB, 47887 KB/s, 7 seconds passed +... 51%, 358720 KB, 47889 KB/s, 7 seconds passed +... 51%, 358752 KB, 47892 KB/s, 7 seconds passed +... 51%, 358784 KB, 47894 KB/s, 7 seconds passed +... 51%, 358816 KB, 47896 KB/s, 7 seconds passed +... 51%, 358848 KB, 47899 KB/s, 7 seconds passed +... 51%, 358880 KB, 47901 KB/s, 7 seconds passed +... 51%, 358912 KB, 47903 KB/s, 7 seconds passed +... 51%, 358944 KB, 47905 KB/s, 7 seconds passed +... 51%, 358976 KB, 47908 KB/s, 7 seconds passed +... 51%, 359008 KB, 47910 KB/s, 7 seconds passed +... 51%, 359040 KB, 47912 KB/s, 7 seconds passed +... 51%, 359072 KB, 47915 KB/s, 7 seconds passed +... 51%, 359104 KB, 47917 KB/s, 7 seconds passed +... 51%, 359136 KB, 47919 KB/s, 7 seconds passed +... 51%, 359168 KB, 47921 KB/s, 7 seconds passed +... 51%, 359200 KB, 47924 KB/s, 7 seconds passed +... 51%, 359232 KB, 47926 KB/s, 7 seconds passed +... 51%, 359264 KB, 47928 KB/s, 7 seconds passed +... 51%, 359296 KB, 47930 KB/s, 7 seconds passed +... 51%, 359328 KB, 47933 KB/s, 7 seconds passed +... 51%, 359360 KB, 47935 KB/s, 7 seconds passed +... 51%, 359392 KB, 47937 KB/s, 7 seconds passed +... 51%, 359424 KB, 47940 KB/s, 7 seconds passed +... 51%, 359456 KB, 47942 KB/s, 7 seconds passed +... 51%, 359488 KB, 47944 KB/s, 7 seconds passed +... 51%, 359520 KB, 47946 KB/s, 7 seconds passed +... 51%, 359552 KB, 47949 KB/s, 7 seconds passed +... 51%, 359584 KB, 47951 KB/s, 7 seconds passed +... 51%, 359616 KB, 47953 KB/s, 7 seconds passed +... 51%, 359648 KB, 47955 KB/s, 7 seconds passed +... 51%, 359680 KB, 47958 KB/s, 7 seconds passed +... 51%, 359712 KB, 47960 KB/s, 7 seconds passed +... 51%, 359744 KB, 47962 KB/s, 7 seconds passed +... 51%, 359776 KB, 47964 KB/s, 7 seconds passed +... 51%, 359808 KB, 47966 KB/s, 7 seconds passed +... 51%, 359840 KB, 47969 KB/s, 7 seconds passed +... 51%, 359872 KB, 47971 KB/s, 7 seconds passed +... 51%, 359904 KB, 47974 KB/s, 7 seconds passed +... 51%, 359936 KB, 47976 KB/s, 7 seconds passed +... 51%, 359968 KB, 47978 KB/s, 7 seconds passed +... 51%, 360000 KB, 47980 KB/s, 7 seconds passed +... 51%, 360032 KB, 47983 KB/s, 7 seconds passed +... 51%, 360064 KB, 47981 KB/s, 7 seconds passed +... 51%, 360096 KB, 47983 KB/s, 7 seconds passed +... 51%, 360128 KB, 47986 KB/s, 7 seconds passed +... 51%, 360160 KB, 47987 KB/s, 7 seconds passed +... 51%, 360192 KB, 47989 KB/s, 7 seconds passed +... 51%, 360224 KB, 47991 KB/s, 7 seconds passed +... 51%, 360256 KB, 47991 KB/s, 7 seconds passed +... 51%, 360288 KB, 47994 KB/s, 7 seconds passed +... 51%, 360320 KB, 47996 KB/s, 7 seconds passed +... 51%, 360352 KB, 47999 KB/s, 7 seconds passed +... 51%, 360384 KB, 48001 KB/s, 7 seconds passed +... 51%, 360416 KB, 48004 KB/s, 7 seconds passed +... 51%, 360448 KB, 48007 KB/s, 7 seconds passed +... 51%, 360480 KB, 48009 KB/s, 7 seconds passed +... 51%, 360512 KB, 48011 KB/s, 7 seconds passed +... 51%, 360544 KB, 48013 KB/s, 7 seconds passed +... 51%, 360576 KB, 48016 KB/s, 7 seconds passed +... 51%, 360608 KB, 48018 KB/s, 7 seconds passed +... 51%, 360640 KB, 48021 KB/s, 7 seconds passed +... 51%, 360672 KB, 48023 KB/s, 7 seconds passed +... 51%, 360704 KB, 48026 KB/s, 7 seconds passed +... 51%, 360736 KB, 48029 KB/s, 7 seconds passed +... 51%, 360768 KB, 48031 KB/s, 7 seconds passed +... 51%, 360800 KB, 48033 KB/s, 7 seconds passed +... 51%, 360832 KB, 48036 KB/s, 7 seconds passed +... 51%, 360864 KB, 48039 KB/s, 7 seconds passed +... 51%, 360896 KB, 48041 KB/s, 7 seconds passed +... 51%, 360928 KB, 48043 KB/s, 7 seconds passed +... 51%, 360960 KB, 48046 KB/s, 7 seconds passed +... 51%, 360992 KB, 48048 KB/s, 7 seconds passed +... 51%, 361024 KB, 48050 KB/s, 7 seconds passed +... 51%, 361056 KB, 48053 KB/s, 7 seconds passed +... 51%, 361088 KB, 48056 KB/s, 7 seconds passed +... 51%, 361120 KB, 48058 KB/s, 7 seconds passed +... 51%, 361152 KB, 48060 KB/s, 7 seconds passed +... 51%, 361184 KB, 48063 KB/s, 7 seconds passed +... 51%, 361216 KB, 48066 KB/s, 7 seconds passed +... 51%, 361248 KB, 48068 KB/s, 7 seconds passed +... 51%, 361280 KB, 48071 KB/s, 7 seconds passed +... 51%, 361312 KB, 48073 KB/s, 7 seconds passed +... 51%, 361344 KB, 48076 KB/s, 7 seconds passed +... 51%, 361376 KB, 48078 KB/s, 7 seconds passed +... 51%, 361408 KB, 48080 KB/s, 7 seconds passed +... 51%, 361440 KB, 48083 KB/s, 7 seconds passed +... 51%, 361472 KB, 48085 KB/s, 7 seconds passed +... 51%, 361504 KB, 48088 KB/s, 7 seconds passed +... 51%, 361536 KB, 48090 KB/s, 7 seconds passed +... 51%, 361568 KB, 48093 KB/s, 7 seconds passed +... 51%, 361600 KB, 48095 KB/s, 7 seconds passed +... 51%, 361632 KB, 48097 KB/s, 7 seconds passed +... 52%, 361664 KB, 48100 KB/s, 7 seconds passed +... 52%, 361696 KB, 48102 KB/s, 7 seconds passed +... 52%, 361728 KB, 48103 KB/s, 7 seconds passed +... 52%, 361760 KB, 48104 KB/s, 7 seconds passed +... 52%, 361792 KB, 48106 KB/s, 7 seconds passed +... 52%, 361824 KB, 48108 KB/s, 7 seconds passed +... 52%, 361856 KB, 48110 KB/s, 7 seconds passed +... 52%, 361888 KB, 48112 KB/s, 7 seconds passed +... 52%, 361920 KB, 48113 KB/s, 7 seconds passed +... 52%, 361952 KB, 48115 KB/s, 7 seconds passed +... 52%, 361984 KB, 48117 KB/s, 7 seconds passed +... 52%, 362016 KB, 48119 KB/s, 7 seconds passed +... 52%, 362048 KB, 48120 KB/s, 7 seconds passed +... 52%, 362080 KB, 48122 KB/s, 7 seconds passed +... 52%, 362112 KB, 48124 KB/s, 7 seconds passed +... 52%, 362144 KB, 48126 KB/s, 7 seconds passed +... 52%, 362176 KB, 48128 KB/s, 7 seconds passed +... 52%, 362208 KB, 48130 KB/s, 7 seconds passed +... 52%, 362240 KB, 48131 KB/s, 7 seconds passed +... 52%, 362272 KB, 48133 KB/s, 7 seconds passed +... 52%, 362304 KB, 48135 KB/s, 7 seconds passed +... 52%, 362336 KB, 48136 KB/s, 7 seconds passed +... 52%, 362368 KB, 48138 KB/s, 7 seconds passed +... 52%, 362400 KB, 48140 KB/s, 7 seconds passed +... 52%, 362432 KB, 48142 KB/s, 7 seconds passed +... 52%, 362464 KB, 48144 KB/s, 7 seconds passed +... 52%, 362496 KB, 48146 KB/s, 7 seconds passed +... 52%, 362528 KB, 48147 KB/s, 7 seconds passed +... 52%, 362560 KB, 48149 KB/s, 7 seconds passed +... 52%, 362592 KB, 48151 KB/s, 7 seconds passed +... 52%, 362624 KB, 48153 KB/s, 7 seconds passed +... 52%, 362656 KB, 48155 KB/s, 7 seconds passed +... 52%, 362688 KB, 48156 KB/s, 7 seconds passed +... 52%, 362720 KB, 48158 KB/s, 7 seconds passed +... 52%, 362752 KB, 48160 KB/s, 7 seconds passed +... 52%, 362784 KB, 48162 KB/s, 7 seconds passed +... 52%, 362816 KB, 48164 KB/s, 7 seconds passed +... 52%, 362848 KB, 48165 KB/s, 7 seconds passed +... 52%, 362880 KB, 48167 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 52%, 362912 KB, 48169 KB/s, 7 seconds passed +... 52%, 362944 KB, 48171 KB/s, 7 seconds passed +... 52%, 362976 KB, 48173 KB/s, 7 seconds passed +... 52%, 363008 KB, 48175 KB/s, 7 seconds passed +... 52%, 363040 KB, 48178 KB/s, 7 seconds passed +... 52%, 363072 KB, 48181 KB/s, 7 seconds passed +... 52%, 363104 KB, 48184 KB/s, 7 seconds passed +... 52%, 363136 KB, 48187 KB/s, 7 seconds passed +... 52%, 363168 KB, 48190 KB/s, 7 seconds passed +... 52%, 363200 KB, 48193 KB/s, 7 seconds passed +... 52%, 363232 KB, 48196 KB/s, 7 seconds passed +... 52%, 363264 KB, 48199 KB/s, 7 seconds passed +... 52%, 363296 KB, 48202 KB/s, 7 seconds passed +... 52%, 363328 KB, 48205 KB/s, 7 seconds passed +... 52%, 363360 KB, 48208 KB/s, 7 seconds passed +... 52%, 363392 KB, 48211 KB/s, 7 seconds passed +... 52%, 363424 KB, 48214 KB/s, 7 seconds passed +... 52%, 363456 KB, 48217 KB/s, 7 seconds passed +... 52%, 363488 KB, 48220 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 52%, 363520 KB, 47713 KB/s, 7 seconds passed +... 52%, 363552 KB, 47713 KB/s, 7 seconds passed +... 52%, 363584 KB, 47715 KB/s, 7 seconds passed +... 52%, 363616 KB, 47716 KB/s, 7 seconds passed +... 52%, 363648 KB, 47718 KB/s, 7 seconds passed +... 52%, 363680 KB, 47720 KB/s, 7 seconds passed +... 52%, 363712 KB, 47722 KB/s, 7 seconds passed +... 52%, 363744 KB, 47723 KB/s, 7 seconds passed +... 52%, 363776 KB, 47725 KB/s, 7 seconds passed +... 52%, 363808 KB, 47727 KB/s, 7 seconds passed +... 52%, 363840 KB, 47728 KB/s, 7 seconds passed +... 52%, 363872 KB, 47730 KB/s, 7 seconds passed +... 52%, 363904 KB, 47732 KB/s, 7 seconds passed +... 52%, 363936 KB, 47734 KB/s, 7 seconds passed +... 52%, 363968 KB, 47735 KB/s, 7 seconds passed +... 52%, 364000 KB, 47737 KB/s, 7 seconds passed +... 52%, 364032 KB, 47739 KB/s, 7 seconds passed +... 52%, 364064 KB, 47741 KB/s, 7 seconds passed +... 52%, 364096 KB, 47742 KB/s, 7 seconds passed +... 52%, 364128 KB, 47744 KB/s, 7 seconds passed +... 52%, 364160 KB, 47746 KB/s, 7 seconds passed +... 52%, 364192 KB, 47748 KB/s, 7 seconds passed +... 52%, 364224 KB, 47749 KB/s, 7 seconds passed +... 52%, 364256 KB, 47751 KB/s, 7 seconds passed +... 52%, 364288 KB, 47753 KB/s, 7 seconds passed +... 52%, 364320 KB, 47755 KB/s, 7 seconds passed +... 52%, 364352 KB, 47757 KB/s, 7 seconds passed +... 52%, 364384 KB, 47759 KB/s, 7 seconds passed +... 52%, 364416 KB, 47761 KB/s, 7 seconds passed +... 52%, 364448 KB, 47763 KB/s, 7 seconds passed +... 52%, 364480 KB, 47765 KB/s, 7 seconds passed +... 52%, 364512 KB, 47766 KB/s, 7 seconds passed +... 52%, 364544 KB, 47768 KB/s, 7 seconds passed +... 52%, 364576 KB, 47770 KB/s, 7 seconds passed +... 52%, 364608 KB, 47772 KB/s, 7 seconds passed +... 52%, 364640 KB, 47774 KB/s, 7 seconds passed +... 52%, 364672 KB, 47776 KB/s, 7 seconds passed +... 52%, 364704 KB, 47777 KB/s, 7 seconds passed +... 52%, 364736 KB, 47779 KB/s, 7 seconds passed +... 52%, 364768 KB, 47781 KB/s, 7 seconds passed +... 52%, 364800 KB, 47783 KB/s, 7 seconds passed +... 52%, 364832 KB, 47785 KB/s, 7 seconds passed +... 52%, 364864 KB, 47787 KB/s, 7 seconds passed +... 52%, 364896 KB, 47789 KB/s, 7 seconds passed +... 52%, 364928 KB, 47791 KB/s, 7 seconds passed +... 52%, 364960 KB, 47793 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 52%, 364992 KB, 47795 KB/s, 7 seconds passed +... 52%, 365024 KB, 47797 KB/s, 7 seconds passed +... 52%, 365056 KB, 47800 KB/s, 7 seconds passed +... 52%, 365088 KB, 47803 KB/s, 7 seconds passed +... 52%, 365120 KB, 47806 KB/s, 7 seconds passed +... 52%, 365152 KB, 47808 KB/s, 7 seconds passed +... 52%, 365184 KB, 47811 KB/s, 7 seconds passed +... 52%, 365216 KB, 47814 KB/s, 7 seconds passed +... 52%, 365248 KB, 47816 KB/s, 7 seconds passed +... 52%, 365280 KB, 47819 KB/s, 7 seconds passed +... 52%, 365312 KB, 47822 KB/s, 7 seconds passed +... 52%, 365344 KB, 47824 KB/s, 7 seconds passed +... 52%, 365376 KB, 47827 KB/s, 7 seconds passed +... 52%, 365408 KB, 47830 KB/s, 7 seconds passed +... 52%, 365440 KB, 47833 KB/s, 7 seconds passed +... 52%, 365472 KB, 47835 KB/s, 7 seconds passed +... 52%, 365504 KB, 47838 KB/s, 7 seconds passed +... 52%, 365536 KB, 47838 KB/s, 7 seconds passed +... 52%, 365568 KB, 47841 KB/s, 7 seconds passed +... 52%, 365600 KB, 47843 KB/s, 7 seconds passed +... 52%, 365632 KB, 47843 KB/s, 7 seconds passed +... 52%, 365664 KB, 47844 KB/s, 7 seconds passed +... 52%, 365696 KB, 47845 KB/s, 7 seconds passed +... 52%, 365728 KB, 47847 KB/s, 7 seconds passed +... 52%, 365760 KB, 47849 KB/s, 7 seconds passed +... 52%, 365792 KB, 47851 KB/s, 7 seconds passed +... 52%, 365824 KB, 47853 KB/s, 7 seconds passed +... 52%, 365856 KB, 47855 KB/s, 7 seconds passed +... 52%, 365888 KB, 47856 KB/s, 7 seconds passed +... 52%, 365920 KB, 47858 KB/s, 7 seconds passed +... 52%, 365952 KB, 47861 KB/s, 7 seconds passed +... 52%, 365984 KB, 47863 KB/s, 7 seconds passed +... 52%, 366016 KB, 47864 KB/s, 7 seconds passed +... 52%, 366048 KB, 47865 KB/s, 7 seconds passed +... 52%, 366080 KB, 47867 KB/s, 7 seconds passed +... 52%, 366112 KB, 47870 KB/s, 7 seconds passed +... 52%, 366144 KB, 47871 KB/s, 7 seconds passed +... 52%, 366176 KB, 47872 KB/s, 7 seconds passed +... 52%, 366208 KB, 47874 KB/s, 7 seconds passed +... 52%, 366240 KB, 47876 KB/s, 7 seconds passed +... 52%, 366272 KB, 47878 KB/s, 7 seconds passed +... 52%, 366304 KB, 47880 KB/s, 7 seconds passed +... 52%, 366336 KB, 47883 KB/s, 7 seconds passed +... 52%, 366368 KB, 47883 KB/s, 7 seconds passed +... 52%, 366400 KB, 47884 KB/s, 7 seconds passed +... 52%, 366432 KB, 47886 KB/s, 7 seconds passed +... 52%, 366464 KB, 47889 KB/s, 7 seconds passed +... 52%, 366496 KB, 47891 KB/s, 7 seconds passed +... 52%, 366528 KB, 47892 KB/s, 7 seconds passed +... 52%, 366560 KB, 47894 KB/s, 7 seconds passed +... 52%, 366592 KB, 47896 KB/s, 7 seconds passed +... 52%, 366624 KB, 47898 KB/s, 7 seconds passed +... 52%, 366656 KB, 47787 KB/s, 7 seconds passed +... 52%, 366688 KB, 47788 KB/s, 7 seconds passed +... 52%, 366720 KB, 47789 KB/s, 7 seconds passed +... 52%, 366752 KB, 47790 KB/s, 7 seconds passed +... 52%, 366784 KB, 47791 KB/s, 7 seconds passed +... 52%, 366816 KB, 47792 KB/s, 7 seconds passed +... 52%, 366848 KB, 47792 KB/s, 7 seconds passed +... 52%, 366880 KB, 47794 KB/s, 7 seconds passed +... 52%, 366912 KB, 47794 KB/s, 7 seconds passed +... 52%, 366944 KB, 47795 KB/s, 7 seconds passed +... 52%, 366976 KB, 47796 KB/s, 7 seconds passed +... 52%, 367008 KB, 47797 KB/s, 7 seconds passed +... 52%, 367040 KB, 47798 KB/s, 7 seconds passed +... 52%, 367072 KB, 47799 KB/s, 7 seconds passed +... 52%, 367104 KB, 47800 KB/s, 7 seconds passed +... 52%, 367136 KB, 47802 KB/s, 7 seconds passed +... 52%, 367168 KB, 47804 KB/s, 7 seconds passed +... 52%, 367200 KB, 47806 KB/s, 7 seconds passed +... 52%, 367232 KB, 47807 KB/s, 7 seconds passed +... 52%, 367264 KB, 47809 KB/s, 7 seconds passed +... 52%, 367296 KB, 47811 KB/s, 7 seconds passed +... 52%, 367328 KB, 47813 KB/s, 7 seconds passed +... 52%, 367360 KB, 47815 KB/s, 7 seconds passed +... 52%, 367392 KB, 47816 KB/s, 7 seconds passed +... 52%, 367424 KB, 47818 KB/s, 7 seconds passed +... 52%, 367456 KB, 47820 KB/s, 7 seconds passed +... 52%, 367488 KB, 47822 KB/s, 7 seconds passed +... 52%, 367520 KB, 47823 KB/s, 7 seconds passed +... 52%, 367552 KB, 47825 KB/s, 7 seconds passed +... 52%, 367584 KB, 47827 KB/s, 7 seconds passed +... 52%, 367616 KB, 47829 KB/s, 7 seconds passed +... 52%, 367648 KB, 47830 KB/s, 7 seconds passed +... 52%, 367680 KB, 47832 KB/s, 7 seconds passed +... 52%, 367712 KB, 47834 KB/s, 7 seconds passed +... 52%, 367744 KB, 47837 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 52%, 367776 KB, 47839 KB/s, 7 seconds passed +... 52%, 367808 KB, 47842 KB/s, 7 seconds passed +... 52%, 367840 KB, 47845 KB/s, 7 seconds passed +... 52%, 367872 KB, 47847 KB/s, 7 seconds passed +... 52%, 367904 KB, 47850 KB/s, 7 seconds passed +... 52%, 367936 KB, 47852 KB/s, 7 seconds passed +... 52%, 367968 KB, 47855 KB/s, 7 seconds passed +... 52%, 368000 KB, 47858 KB/s, 7 seconds passed +... 52%, 368032 KB, 47860 KB/s, 7 seconds passed +... 52%, 368064 KB, 47863 KB/s, 7 seconds passed +... 52%, 368096 KB, 47866 KB/s, 7 seconds passed +... 52%, 368128 KB, 47869 KB/s, 7 seconds passed +... 52%, 368160 KB, 47872 KB/s, 7 seconds passed +... 52%, 368192 KB, 47875 KB/s, 7 seconds passed +... 52%, 368224 KB, 47878 KB/s, 7 seconds passed +... 52%, 368256 KB, 47881 KB/s, 7 seconds passed +... 52%, 368288 KB, 47884 KB/s, 7 seconds passed +... 52%, 368320 KB, 47887 KB/s, 7 seconds passed +... 52%, 368352 KB, 47890 KB/s, 7 seconds passed +... 52%, 368384 KB, 47892 KB/s, 7 seconds passed +... 52%, 368416 KB, 47895 KB/s, 7 seconds passed +... 52%, 368448 KB, 47898 KB/s, 7 seconds passed +... 52%, 368480 KB, 47901 KB/s, 7 seconds passed +... 52%, 368512 KB, 47904 KB/s, 7 seconds passed +... 52%, 368544 KB, 47906 KB/s, 7 seconds passed +... 52%, 368576 KB, 47909 KB/s, 7 seconds passed +... 52%, 368608 KB, 47911 KB/s, 7 seconds passed +... 53%, 368640 KB, 47914 KB/s, 7 seconds passed +... 53%, 368672 KB, 47917 KB/s, 7 seconds passed +... 53%, 368704 KB, 47919 KB/s, 7 seconds passed +... 53%, 368736 KB, 47922 KB/s, 7 seconds passed +... 53%, 368768 KB, 47925 KB/s, 7 seconds passed +... 53%, 368800 KB, 47927 KB/s, 7 seconds passed +... 53%, 368832 KB, 47930 KB/s, 7 seconds passed +... 53%, 368864 KB, 47932 KB/s, 7 seconds passed +... 53%, 368896 KB, 47935 KB/s, 7 seconds passed +... 53%, 368928 KB, 47938 KB/s, 7 seconds passed +... 53%, 368960 KB, 47940 KB/s, 7 seconds passed +... 53%, 368992 KB, 47943 KB/s, 7 seconds passed +... 53%, 369024 KB, 47946 KB/s, 7 seconds passed +... 53%, 369056 KB, 47949 KB/s, 7 seconds passed +... 53%, 369088 KB, 47951 KB/s, 7 seconds passed +... 53%, 369120 KB, 47953 KB/s, 7 seconds passed +... 53%, 369152 KB, 47956 KB/s, 7 seconds passed +... 53%, 369184 KB, 47959 KB/s, 7 seconds passed +... 53%, 369216 KB, 47961 KB/s, 7 seconds passed +... 53%, 369248 KB, 47963 KB/s, 7 seconds passed +... 53%, 369280 KB, 47964 KB/s, 7 seconds passed +... 53%, 369312 KB, 47967 KB/s, 7 seconds passed +... 53%, 369344 KB, 47970 KB/s, 7 seconds passed +... 53%, 369376 KB, 47972 KB/s, 7 seconds passed +... 53%, 369408 KB, 47975 KB/s, 7 seconds passed +... 53%, 369440 KB, 47977 KB/s, 7 seconds passed +... 53%, 369472 KB, 47980 KB/s, 7 seconds passed +... 53%, 369504 KB, 47982 KB/s, 7 seconds passed +... 53%, 369536 KB, 47984 KB/s, 7 seconds passed +... 53%, 369568 KB, 47986 KB/s, 7 seconds passed +... 53%, 369600 KB, 47989 KB/s, 7 seconds passed +... 53%, 369632 KB, 47991 KB/s, 7 seconds passed +... 53%, 369664 KB, 47994 KB/s, 7 seconds passed +... 53%, 369696 KB, 47997 KB/s, 7 seconds passed +... 53%, 369728 KB, 47999 KB/s, 7 seconds passed +... 53%, 369760 KB, 48001 KB/s, 7 seconds passed +... 53%, 369792 KB, 48003 KB/s, 7 seconds passed +... 53%, 369824 KB, 48006 KB/s, 7 seconds passed +... 53%, 369856 KB, 48008 KB/s, 7 seconds passed +... 53%, 369888 KB, 48011 KB/s, 7 seconds passed +... 53%, 369920 KB, 48014 KB/s, 7 seconds passed +... 53%, 369952 KB, 48016 KB/s, 7 seconds passed +... 53%, 369984 KB, 48019 KB/s, 7 seconds passed +... 53%, 370016 KB, 48021 KB/s, 7 seconds passed +... 53%, 370048 KB, 48023 KB/s, 7 seconds passed +... 53%, 370080 KB, 48026 KB/s, 7 seconds passed +... 53%, 370112 KB, 48028 KB/s, 7 seconds passed +... 53%, 370144 KB, 48030 KB/s, 7 seconds passed +... 53%, 370176 KB, 48033 KB/s, 7 seconds passed +... 53%, 370208 KB, 48035 KB/s, 7 seconds passed +... 53%, 370240 KB, 48037 KB/s, 7 seconds passed +... 53%, 370272 KB, 48040 KB/s, 7 seconds passed +... 53%, 370304 KB, 48042 KB/s, 7 seconds passed +... 53%, 370336 KB, 48045 KB/s, 7 seconds passed +... 53%, 370368 KB, 48048 KB/s, 7 seconds passed +... 53%, 370400 KB, 48050 KB/s, 7 seconds passed +... 53%, 370432 KB, 48052 KB/s, 7 seconds passed +... 53%, 370464 KB, 48054 KB/s, 7 seconds passed +... 53%, 370496 KB, 48055 KB/s, 7 seconds passed +... 53%, 370528 KB, 48059 KB/s, 7 seconds passed +... 53%, 370560 KB, 48062 KB/s, 7 seconds passed +... 53%, 370592 KB, 48064 KB/s, 7 seconds passed +... 53%, 370624 KB, 48066 KB/s, 7 seconds passed +... 53%, 370656 KB, 48069 KB/s, 7 seconds passed +... 53%, 370688 KB, 48071 KB/s, 7 seconds passed +... 53%, 370720 KB, 48074 KB/s, 7 seconds passed +... 53%, 370752 KB, 48076 KB/s, 7 seconds passed +... 53%, 370784 KB, 48078 KB/s, 7 seconds passed +... 53%, 370816 KB, 48081 KB/s, 7 seconds passed +... 53%, 370848 KB, 48078 KB/s, 7 seconds passed +... 53%, 370880 KB, 48080 KB/s, 7 seconds passed +... 53%, 370912 KB, 48078 KB/s, 7 seconds passed +... 53%, 370944 KB, 48079 KB/s, 7 seconds passed +... 53%, 370976 KB, 48079 KB/s, 7 seconds passed +... 53%, 371008 KB, 48081 KB/s, 7 seconds passed +... 53%, 371040 KB, 48083 KB/s, 7 seconds passed +... 53%, 371072 KB, 48086 KB/s, 7 seconds passed +... 53%, 371104 KB, 48089 KB/s, 7 seconds passed +... 53%, 371136 KB, 48086 KB/s, 7 seconds passed +... 53%, 371168 KB, 48089 KB/s, 7 seconds passed +... 53%, 371200 KB, 48091 KB/s, 7 seconds passed +... 53%, 371232 KB, 48093 KB/s, 7 seconds passed +... 53%, 371264 KB, 48096 KB/s, 7 seconds passed +... 53%, 371296 KB, 48098 KB/s, 7 seconds passed +... 53%, 371328 KB, 48100 KB/s, 7 seconds passed +... 53%, 371360 KB, 48102 KB/s, 7 seconds passed +... 53%, 371392 KB, 48105 KB/s, 7 seconds passed +... 53%, 371424 KB, 48108 KB/s, 7 seconds passed +... 53%, 371456 KB, 48110 KB/s, 7 seconds passed +... 53%, 371488 KB, 48113 KB/s, 7 seconds passed +... 53%, 371520 KB, 48115 KB/s, 7 seconds passed +... 53%, 371552 KB, 48117 KB/s, 7 seconds passed +... 53%, 371584 KB, 48120 KB/s, 7 seconds passed +... 53%, 371616 KB, 48122 KB/s, 7 seconds passed +... 53%, 371648 KB, 48124 KB/s, 7 seconds passed +... 53%, 371680 KB, 48127 KB/s, 7 seconds passed +... 53%, 371712 KB, 48129 KB/s, 7 seconds passed +... 53%, 371744 KB, 48132 KB/s, 7 seconds passed +... 53%, 371776 KB, 48135 KB/s, 7 seconds passed +... 53%, 371808 KB, 48136 KB/s, 7 seconds passed +... 53%, 371840 KB, 48139 KB/s, 7 seconds passed +... 53%, 371872 KB, 48142 KB/s, 7 seconds passed +... 53%, 371904 KB, 48144 KB/s, 7 seconds passed +... 53%, 371936 KB, 48147 KB/s, 7 seconds passed +... 53%, 371968 KB, 48148 KB/s, 7 seconds passed +... 53%, 372000 KB, 48151 KB/s, 7 seconds passed +... 53%, 372032 KB, 48153 KB/s, 7 seconds passed +... 53%, 372064 KB, 48156 KB/s, 7 seconds passed +... 53%, 372096 KB, 48158 KB/s, 7 seconds passed +... 53%, 372128 KB, 48161 KB/s, 7 seconds passed +... 53%, 372160 KB, 48163 KB/s, 7 seconds passed +... 53%, 372192 KB, 48166 KB/s, 7 seconds passed +... 53%, 372224 KB, 48168 KB/s, 7 seconds passed +... 53%, 372256 KB, 48170 KB/s, 7 seconds passed +... 53%, 372288 KB, 48173 KB/s, 7 seconds passed +... 53%, 372320 KB, 48175 KB/s, 7 seconds passed +... 53%, 372352 KB, 48178 KB/s, 7 seconds passed +... 53%, 372384 KB, 48180 KB/s, 7 seconds passed +... 53%, 372416 KB, 48182 KB/s, 7 seconds passed +... 53%, 372448 KB, 48184 KB/s, 7 seconds passed +... 53%, 372480 KB, 48186 KB/s, 7 seconds passed +... 53%, 372512 KB, 48188 KB/s, 7 seconds passed +... 53%, 372544 KB, 48191 KB/s, 7 seconds passed +... 53%, 372576 KB, 48194 KB/s, 7 seconds passed +... 53%, 372608 KB, 48197 KB/s, 7 seconds passed +... 53%, 372640 KB, 48199 KB/s, 7 seconds passed +... 53%, 372672 KB, 48202 KB/s, 7 seconds passed +... 53%, 372704 KB, 48204 KB/s, 7 seconds passed +... 53%, 372736 KB, 48207 KB/s, 7 seconds passed +... 53%, 372768 KB, 48209 KB/s, 7 seconds passed +... 53%, 372800 KB, 48211 KB/s, 7 seconds passed +... 53%, 372832 KB, 48214 KB/s, 7 seconds passed +... 53%, 372864 KB, 48216 KB/s, 7 seconds passed +... 53%, 372896 KB, 48219 KB/s, 7 seconds passed +... 53%, 372928 KB, 48221 KB/s, 7 seconds passed +... 53%, 372960 KB, 48222 KB/s, 7 seconds passed +... 53%, 372992 KB, 48225 KB/s, 7 seconds passed +... 53%, 373024 KB, 48228 KB/s, 7 seconds passed +... 53%, 373056 KB, 48230 KB/s, 7 seconds passed +... 53%, 373088 KB, 48232 KB/s, 7 seconds passed +... 53%, 373120 KB, 48234 KB/s, 7 seconds passed +... 53%, 373152 KB, 48237 KB/s, 7 seconds passed +... 53%, 373184 KB, 48240 KB/s, 7 seconds passed +... 53%, 373216 KB, 48242 KB/s, 7 seconds passed +... 53%, 373248 KB, 48245 KB/s, 7 seconds passed +... 53%, 373280 KB, 48247 KB/s, 7 seconds passed +... 53%, 373312 KB, 48250 KB/s, 7 seconds passed +... 53%, 373344 KB, 48252 KB/s, 7 seconds passed +... 53%, 373376 KB, 48255 KB/s, 7 seconds passed +... 53%, 373408 KB, 48257 KB/s, 7 seconds passed +... 53%, 373440 KB, 48259 KB/s, 7 seconds passed +... 53%, 373472 KB, 48262 KB/s, 7 seconds passed +... 53%, 373504 KB, 48264 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 53%, 373536 KB, 48267 KB/s, 7 seconds passed +... 53%, 373568 KB, 48269 KB/s, 7 seconds passed +... 53%, 373600 KB, 48271 KB/s, 7 seconds passed +... 53%, 373632 KB, 48274 KB/s, 7 seconds passed +... 53%, 373664 KB, 48276 KB/s, 7 seconds passed +... 53%, 373696 KB, 48278 KB/s, 7 seconds passed +... 53%, 373728 KB, 48281 KB/s, 7 seconds passed +... 53%, 373760 KB, 48078 KB/s, 7 seconds passed +... 53%, 373792 KB, 48079 KB/s, 7 seconds passed +... 53%, 373824 KB, 48080 KB/s, 7 seconds passed +... 53%, 373856 KB, 48082 KB/s, 7 seconds passed +... 53%, 373888 KB, 48084 KB/s, 7 seconds passed +... 53%, 373920 KB, 48085 KB/s, 7 seconds passed +... 53%, 373952 KB, 48087 KB/s, 7 seconds passed +... 53%, 373984 KB, 48089 KB/s, 7 seconds passed +... 53%, 374016 KB, 48091 KB/s, 7 seconds passed +... 53%, 374048 KB, 48093 KB/s, 7 seconds passed +... 53%, 374080 KB, 48094 KB/s, 7 seconds passed +... 53%, 374112 KB, 48096 KB/s, 7 seconds passed +... 53%, 374144 KB, 48098 KB/s, 7 seconds passed +... 53%, 374176 KB, 48099 KB/s, 7 seconds passed +... 53%, 374208 KB, 48101 KB/s, 7 seconds passed +... 53%, 374240 KB, 48103 KB/s, 7 seconds passed +... 53%, 374272 KB, 48105 KB/s, 7 seconds passed +... 53%, 374304 KB, 48106 KB/s, 7 seconds passed +... 53%, 374336 KB, 48108 KB/s, 7 seconds passed +... 53%, 374368 KB, 48110 KB/s, 7 seconds passed +... 53%, 374400 KB, 48112 KB/s, 7 seconds passed +... 53%, 374432 KB, 48113 KB/s, 7 seconds passed +... 53%, 374464 KB, 48115 KB/s, 7 seconds passed +... 53%, 374496 KB, 48117 KB/s, 7 seconds passed +... 53%, 374528 KB, 48118 KB/s, 7 seconds passed +... 53%, 374560 KB, 48120 KB/s, 7 seconds passed +... 53%, 374592 KB, 48122 KB/s, 7 seconds passed +... 53%, 374624 KB, 48123 KB/s, 7 seconds passed +... 53%, 374656 KB, 48125 KB/s, 7 seconds passed +... 53%, 374688 KB, 48127 KB/s, 7 seconds passed +... 53%, 374720 KB, 48129 KB/s, 7 seconds passed +... 53%, 374752 KB, 48130 KB/s, 7 seconds passed +... 53%, 374784 KB, 48132 KB/s, 7 seconds passed +... 53%, 374816 KB, 48134 KB/s, 7 seconds passed +... 53%, 374848 KB, 48136 KB/s, 7 seconds passed +... 53%, 374880 KB, 48138 KB/s, 7 seconds passed +... 53%, 374912 KB, 48139 KB/s, 7 seconds passed +... 53%, 374944 KB, 48142 KB/s, 7 seconds passed +... 53%, 374976 KB, 48144 KB/s, 7 seconds passed +... 53%, 375008 KB, 48147 KB/s, 7 seconds passed +... 53%, 375040 KB, 48150 KB/s, 7 seconds passed +... 53%, 375072 KB, 48152 KB/s, 7 seconds passed +... 53%, 375104 KB, 48155 KB/s, 7 seconds passed +... 53%, 375136 KB, 48158 KB/s, 7 seconds passed +... 53%, 375168 KB, 48160 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 53%, 375200 KB, 48163 KB/s, 7 seconds passed +... 53%, 375232 KB, 48165 KB/s, 7 seconds passed +... 53%, 375264 KB, 48168 KB/s, 7 seconds passed +... 53%, 375296 KB, 48171 KB/s, 7 seconds passed +... 53%, 375328 KB, 48173 KB/s, 7 seconds passed +... 53%, 375360 KB, 48176 KB/s, 7 seconds passed +... 53%, 375392 KB, 48178 KB/s, 7 seconds passed +... 53%, 375424 KB, 48181 KB/s, 7 seconds passed +... 53%, 375456 KB, 48184 KB/s, 7 seconds passed +... 53%, 375488 KB, 48186 KB/s, 7 seconds passed +... 53%, 375520 KB, 48189 KB/s, 7 seconds passed +... 53%, 375552 KB, 48191 KB/s, 7 seconds passed +... 54%, 375584 KB, 48194 KB/s, 7 seconds passed +... 54%, 375616 KB, 48197 KB/s, 7 seconds passed +... 54%, 375648 KB, 48199 KB/s, 7 seconds passed +... 54%, 375680 KB, 48202 KB/s, 7 seconds passed +... 54%, 375712 KB, 48204 KB/s, 7 seconds passed +... 54%, 375744 KB, 48207 KB/s, 7 seconds passed +... 54%, 375776 KB, 48210 KB/s, 7 seconds passed +... 54%, 375808 KB, 48212 KB/s, 7 seconds passed +... 54%, 375840 KB, 48215 KB/s, 7 seconds passed +... 54%, 375872 KB, 48217 KB/s, 7 seconds passed +... 54%, 375904 KB, 48220 KB/s, 7 seconds passed +... 54%, 375936 KB, 48223 KB/s, 7 seconds passed +... 54%, 375968 KB, 48225 KB/s, 7 seconds passed +... 54%, 376000 KB, 48228 KB/s, 7 seconds passed +... 54%, 376032 KB, 48230 KB/s, 7 seconds passed +... 54%, 376064 KB, 48233 KB/s, 7 seconds passed +... 54%, 376096 KB, 48236 KB/s, 7 seconds passed +... 54%, 376128 KB, 48238 KB/s, 7 seconds passed +... 54%, 376160 KB, 48241 KB/s, 7 seconds passed +... 54%, 376192 KB, 48244 KB/s, 7 seconds passed +... 54%, 376224 KB, 48246 KB/s, 7 seconds passed +... 54%, 376256 KB, 48249 KB/s, 7 seconds passed +... 54%, 376288 KB, 48252 KB/s, 7 seconds passed +... 54%, 376320 KB, 48255 KB/s, 7 seconds passed +... 54%, 376352 KB, 48258 KB/s, 7 seconds passed +... 54%, 376384 KB, 48261 KB/s, 7 seconds passed +... 54%, 376416 KB, 48264 KB/s, 7 seconds passed +... 54%, 376448 KB, 48267 KB/s, 7 seconds passed +... 54%, 376480 KB, 48270 KB/s, 7 seconds passed +... 54%, 376512 KB, 48273 KB/s, 7 seconds passed +... 54%, 376544 KB, 48277 KB/s, 7 seconds passed +... 54%, 376576 KB, 48280 KB/s, 7 seconds passed +... 54%, 376608 KB, 48283 KB/s, 7 seconds passed +... 54%, 376640 KB, 48286 KB/s, 7 seconds passed +... 54%, 376672 KB, 48289 KB/s, 7 seconds passed +... 54%, 376704 KB, 48292 KB/s, 7 seconds passed +... 54%, 376736 KB, 48295 KB/s, 7 seconds passed +... 54%, 376768 KB, 48298 KB/s, 7 seconds passed +... 54%, 376800 KB, 48301 KB/s, 7 seconds passed +... 54%, 376832 KB, 48304 KB/s, 7 seconds passed +... 54%, 376864 KB, 48307 KB/s, 7 seconds passed +... 54%, 376896 KB, 48310 KB/s, 7 seconds passed +... 54%, 376928 KB, 48313 KB/s, 7 seconds passed +... 54%, 376960 KB, 48316 KB/s, 7 seconds passed +... 54%, 376992 KB, 48318 KB/s, 7 seconds passed +... 54%, 377024 KB, 48321 KB/s, 7 seconds passed +... 54%, 377056 KB, 48323 KB/s, 7 seconds passed +... 54%, 377088 KB, 48326 KB/s, 7 seconds passed +... 54%, 377120 KB, 48328 KB/s, 7 seconds passed +... 54%, 377152 KB, 48330 KB/s, 7 seconds passed +... 54%, 377184 KB, 48333 KB/s, 7 seconds passed +... 54%, 377216 KB, 48335 KB/s, 7 seconds passed +... 54%, 377248 KB, 48338 KB/s, 7 seconds passed +... 54%, 377280 KB, 48340 KB/s, 7 seconds passed +... 54%, 377312 KB, 48342 KB/s, 7 seconds passed +... 54%, 377344 KB, 48344 KB/s, 7 seconds passed +... 54%, 377376 KB, 48347 KB/s, 7 seconds passed +... 54%, 377408 KB, 48349 KB/s, 7 seconds passed +... 54%, 377440 KB, 48352 KB/s, 7 seconds passed +... 54%, 377472 KB, 48354 KB/s, 7 seconds passed +... 54%, 377504 KB, 48357 KB/s, 7 seconds passed +... 54%, 377536 KB, 48359 KB/s, 7 seconds passed +... 54%, 377568 KB, 48361 KB/s, 7 seconds passed +... 54%, 377600 KB, 48364 KB/s, 7 seconds passed +... 54%, 377632 KB, 48350 KB/s, 7 seconds passed +... 54%, 377664 KB, 48352 KB/s, 7 seconds passed +... 54%, 377696 KB, 48355 KB/s, 7 seconds passed +... 54%, 377728 KB, 48357 KB/s, 7 seconds passed +... 54%, 377760 KB, 48359 KB/s, 7 seconds passed +... 54%, 377792 KB, 48362 KB/s, 7 seconds passed +... 54%, 377824 KB, 48364 KB/s, 7 seconds passed +... 54%, 377856 KB, 48367 KB/s, 7 seconds passed +... 54%, 377888 KB, 48369 KB/s, 7 seconds passed +... 54%, 377920 KB, 48370 KB/s, 7 seconds passed +... 54%, 377952 KB, 48373 KB/s, 7 seconds passed +... 54%, 377984 KB, 48376 KB/s, 7 seconds passed +... 54%, 378016 KB, 48378 KB/s, 7 seconds passed +... 54%, 378048 KB, 48381 KB/s, 7 seconds passed +... 54%, 378080 KB, 48383 KB/s, 7 seconds passed +... 54%, 378112 KB, 48386 KB/s, 7 seconds passed +... 54%, 378144 KB, 48388 KB/s, 7 seconds passed +... 54%, 378176 KB, 48390 KB/s, 7 seconds passed +... 54%, 378208 KB, 48393 KB/s, 7 seconds passed +... 54%, 378240 KB, 48395 KB/s, 7 seconds passed +... 54%, 378272 KB, 48397 KB/s, 7 seconds passed +... 54%, 378304 KB, 48400 KB/s, 7 seconds passed +... 54%, 378336 KB, 48402 KB/s, 7 seconds passed +... 54%, 378368 KB, 48403 KB/s, 7 seconds passed +... 54%, 378400 KB, 48405 KB/s, 7 seconds passed +... 54%, 378432 KB, 48407 KB/s, 7 seconds passed +... 54%, 378464 KB, 48410 KB/s, 7 seconds passed +... 54%, 378496 KB, 48413 KB/s, 7 seconds passed +... 54%, 378528 KB, 48416 KB/s, 7 seconds passed +... 54%, 378560 KB, 48418 KB/s, 7 seconds passed +... 54%, 378592 KB, 48420 KB/s, 7 seconds passed +... 54%, 378624 KB, 48423 KB/s, 7 seconds passed +... 54%, 378656 KB, 48426 KB/s, 7 seconds passed +... 54%, 378688 KB, 48428 KB/s, 7 seconds passed +... 54%, 378720 KB, 48431 KB/s, 7 seconds passed +... 54%, 378752 KB, 48433 KB/s, 7 seconds passed +... 54%, 378784 KB, 48435 KB/s, 7 seconds passed +... 54%, 378816 KB, 48437 KB/s, 7 seconds passed +... 54%, 378848 KB, 48440 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 54%, 378880 KB, 48228 KB/s, 7 seconds passed +... 54%, 378912 KB, 48229 KB/s, 7 seconds passed +... 54%, 378944 KB, 48231 KB/s, 7 seconds passed +... 54%, 378976 KB, 48233 KB/s, 7 seconds passed +... 54%, 379008 KB, 48177 KB/s, 7 seconds passed +... 54%, 379040 KB, 48178 KB/s, 7 seconds passed +... 54%, 379072 KB, 48179 KB/s, 7 seconds passed +... 54%, 379104 KB, 48180 KB/s, 7 seconds passed +... 54%, 379136 KB, 48182 KB/s, 7 seconds passed +... 54%, 379168 KB, 48184 KB/s, 7 seconds passed +... 54%, 379200 KB, 48185 KB/s, 7 seconds passed +... 54%, 379232 KB, 48188 KB/s, 7 seconds passed +... 54%, 379264 KB, 48188 KB/s, 7 seconds passed +... 54%, 379296 KB, 48189 KB/s, 7 seconds passed +... 54%, 379328 KB, 48191 KB/s, 7 seconds passed +... 54%, 379360 KB, 48193 KB/s, 7 seconds passed +... 54%, 379392 KB, 48194 KB/s, 7 seconds passed +... 54%, 379424 KB, 48196 KB/s, 7 seconds passed +... 54%, 379456 KB, 48198 KB/s, 7 seconds passed +... 54%, 379488 KB, 48199 KB/s, 7 seconds passed +... 54%, 379520 KB, 48201 KB/s, 7 seconds passed +... 54%, 379552 KB, 48203 KB/s, 7 seconds passed +... 54%, 379584 KB, 48204 KB/s, 7 seconds passed +... 54%, 379616 KB, 48206 KB/s, 7 seconds passed +... 54%, 379648 KB, 48208 KB/s, 7 seconds passed +... 54%, 379680 KB, 48209 KB/s, 7 seconds passed +... 54%, 379712 KB, 48211 KB/s, 7 seconds passed +... 54%, 379744 KB, 48213 KB/s, 7 seconds passed +... 54%, 379776 KB, 48214 KB/s, 7 seconds passed +... 54%, 379808 KB, 48216 KB/s, 7 seconds passed +... 54%, 379840 KB, 48218 KB/s, 7 seconds passed +... 54%, 379872 KB, 48219 KB/s, 7 seconds passed +... 54%, 379904 KB, 48221 KB/s, 7 seconds passed +... 54%, 379936 KB, 48223 KB/s, 7 seconds passed +... 54%, 379968 KB, 48224 KB/s, 7 seconds passed +... 54%, 380000 KB, 48226 KB/s, 7 seconds passed +... 54%, 380032 KB, 48229 KB/s, 7 seconds passed +... 54%, 380064 KB, 48232 KB/s, 7 seconds passed +... 54%, 380096 KB, 48234 KB/s, 7 seconds passed +... 54%, 380128 KB, 48237 KB/s, 7 seconds passed +... 54%, 380160 KB, 48239 KB/s, 7 seconds passed +... 54%, 380192 KB, 48241 KB/s, 7 seconds passed +... 54%, 380224 KB, 48244 KB/s, 7 seconds passed +... 54%, 380256 KB, 48246 KB/s, 7 seconds passed +... 54%, 380288 KB, 48249 KB/s, 7 seconds passed +... 54%, 380320 KB, 48252 KB/s, 7 seconds passed +... 54%, 380352 KB, 48254 KB/s, 7 seconds passed +... 54%, 380384 KB, 48257 KB/s, 7 seconds passed +... 54%, 380416 KB, 48259 KB/s, 7 seconds passed +... 54%, 380448 KB, 48262 KB/s, 7 seconds passed +... 54%, 380480 KB, 48264 KB/s, 7 seconds passed +... 54%, 380512 KB, 48267 KB/s, 7 seconds passed +... 54%, 380544 KB, 48269 KB/s, 7 seconds passed +... 54%, 380576 KB, 48272 KB/s, 7 seconds passed +... 54%, 380608 KB, 48274 KB/s, 7 seconds passed +... 54%, 380640 KB, 48277 KB/s, 7 seconds passed +... 54%, 380672 KB, 48280 KB/s, 7 seconds passed +... 54%, 380704 KB, 48282 KB/s, 7 seconds passed +... 54%, 380736 KB, 48285 KB/s, 7 seconds passed +... 54%, 380768 KB, 48287 KB/s, 7 seconds passed +... 54%, 380800 KB, 48290 KB/s, 7 seconds passed +... 54%, 380832 KB, 48293 KB/s, 7 seconds passed +... 54%, 380864 KB, 48296 KB/s, 7 seconds passed +... 54%, 380896 KB, 48299 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 54%, 380928 KB, 48217 KB/s, 7 seconds passed +... 54%, 380960 KB, 48218 KB/s, 7 seconds passed +... 54%, 380992 KB, 48220 KB/s, 7 seconds passed +... 54%, 381024 KB, 48222 KB/s, 7 seconds passed +... 54%, 381056 KB, 48224 KB/s, 7 seconds passed +... 54%, 381088 KB, 48225 KB/s, 7 seconds passed +... 54%, 381120 KB, 48227 KB/s, 7 seconds passed +... 54%, 381152 KB, 48229 KB/s, 7 seconds passed +... 54%, 381184 KB, 48230 KB/s, 7 seconds passed +... 54%, 381216 KB, 48232 KB/s, 7 seconds passed +... 54%, 381248 KB, 48234 KB/s, 7 seconds passed +... 54%, 381280 KB, 48236 KB/s, 7 seconds passed +... 54%, 381312 KB, 48237 KB/s, 7 seconds passed +... 54%, 381344 KB, 48239 KB/s, 7 seconds passed +... 54%, 381376 KB, 48241 KB/s, 7 seconds passed +... 54%, 381408 KB, 48243 KB/s, 7 seconds passed +... 54%, 381440 KB, 48245 KB/s, 7 seconds passed +... 54%, 381472 KB, 48246 KB/s, 7 seconds passed +... 54%, 381504 KB, 48248 KB/s, 7 seconds passed +... 54%, 381536 KB, 48249 KB/s, 7 seconds passed +... 54%, 381568 KB, 48251 KB/s, 7 seconds passed +... 54%, 381600 KB, 48253 KB/s, 7 seconds passed +... 54%, 381632 KB, 48255 KB/s, 7 seconds passed +... 54%, 381664 KB, 48256 KB/s, 7 seconds passed +... 54%, 381696 KB, 48258 KB/s, 7 seconds passed +... 54%, 381728 KB, 48260 KB/s, 7 seconds passed +... 54%, 381760 KB, 48262 KB/s, 7 seconds passed +... 54%, 381792 KB, 48264 KB/s, 7 seconds passed +... 54%, 381824 KB, 48267 KB/s, 7 seconds passed +... 54%, 381856 KB, 48269 KB/s, 7 seconds passed +... 54%, 381888 KB, 48271 KB/s, 7 seconds passed +... 54%, 381920 KB, 48273 KB/s, 7 seconds passed +... 54%, 381952 KB, 48275 KB/s, 7 seconds passed +... 54%, 381984 KB, 48277 KB/s, 7 seconds passed +... 54%, 382016 KB, 48279 KB/s, 7 seconds passed +... 54%, 382048 KB, 48281 KB/s, 7 seconds passed +... 54%, 382080 KB, 48283 KB/s, 7 seconds passed +... 54%, 382112 KB, 48285 KB/s, 7 seconds passed +... 54%, 382144 KB, 48287 KB/s, 7 seconds passed +... 54%, 382176 KB, 48289 KB/s, 7 seconds passed +... 54%, 382208 KB, 48291 KB/s, 7 seconds passed +... 54%, 382240 KB, 48293 KB/s, 7 seconds passed +... 54%, 382272 KB, 48295 KB/s, 7 seconds passed +... 54%, 382304 KB, 48297 KB/s, 7 seconds passed +... 54%, 382336 KB, 48299 KB/s, 7 seconds passed +... 54%, 382368 KB, 48301 KB/s, 7 seconds passed +... 54%, 382400 KB, 48303 KB/s, 7 seconds passed +... 54%, 382432 KB, 48306 KB/s, 7 seconds passed +... 54%, 382464 KB, 48307 KB/s, 7 seconds passed +... 54%, 382496 KB, 48309 KB/s, 7 seconds passed +... 54%, 382528 KB, 48312 KB/s, 7 seconds passed +... 55%, 382560 KB, 48314 KB/s, 7 seconds passed +... 55%, 382592 KB, 48316 KB/s, 7 seconds passed +... 55%, 382624 KB, 48318 KB/s, 7 seconds passed +... 55%, 382656 KB, 48320 KB/s, 7 seconds passed +... 55%, 382688 KB, 48322 KB/s, 7 seconds passed +... 55%, 382720 KB, 48325 KB/s, 7 seconds passed +... 55%, 382752 KB, 48328 KB/s, 7 seconds passed +... 55%, 382784 KB, 48331 KB/s, 7 seconds passed +... 55%, 382816 KB, 48333 KB/s, 7 seconds passed +... 55%, 382848 KB, 48336 KB/s, 7 seconds passed +... 55%, 382880 KB, 48339 KB/s, 7 seconds passed +... 55%, 382912 KB, 48341 KB/s, 7 seconds passed +... 55%, 382944 KB, 48344 KB/s, 7 seconds passed +... 55%, 382976 KB, 48347 KB/s, 7 seconds passed +... 55%, 383008 KB, 48350 KB/s, 7 seconds passed +... 55%, 383040 KB, 48352 KB/s, 7 seconds passed +... 55%, 383072 KB, 48355 KB/s, 7 seconds passed +... 55%, 383104 KB, 48358 KB/s, 7 seconds passed +... 55%, 383136 KB, 48361 KB/s, 7 seconds passed +... 55%, 383168 KB, 48363 KB/s, 7 seconds passed +... 55%, 383200 KB, 48366 KB/s, 7 seconds passed +... 55%, 383232 KB, 48369 KB/s, 7 seconds passed +... 55%, 383264 KB, 48371 KB/s, 7 seconds passed +... 55%, 383296 KB, 48374 KB/s, 7 seconds passed +... 55%, 383328 KB, 48377 KB/s, 7 seconds passed +... 55%, 383360 KB, 48380 KB/s, 7 seconds passed +... 55%, 383392 KB, 48382 KB/s, 7 seconds passed +... 55%, 383424 KB, 48385 KB/s, 7 seconds passed +... 55%, 383456 KB, 48388 KB/s, 7 seconds passed +... 55%, 383488 KB, 48391 KB/s, 7 seconds passed +... 55%, 383520 KB, 48393 KB/s, 7 seconds passed +... 55%, 383552 KB, 48396 KB/s, 7 seconds passed +... 55%, 383584 KB, 48399 KB/s, 7 seconds passed +... 55%, 383616 KB, 48402 KB/s, 7 seconds passed +... 55%, 383648 KB, 48404 KB/s, 7 seconds passed +... 55%, 383680 KB, 48407 KB/s, 7 seconds passed +... 55%, 383712 KB, 48410 KB/s, 7 seconds passed +... 55%, 383744 KB, 48413 KB/s, 7 seconds passed +... 55%, 383776 KB, 48415 KB/s, 7 seconds passed +... 55%, 383808 KB, 48418 KB/s, 7 seconds passed +... 55%, 383840 KB, 48421 KB/s, 7 seconds passed +... 55%, 383872 KB, 48424 KB/s, 7 seconds passed +... 55%, 383904 KB, 48426 KB/s, 7 seconds passed +... 55%, 383936 KB, 48429 KB/s, 7 seconds passed +... 55%, 383968 KB, 48432 KB/s, 7 seconds passed +... 55%, 384000 KB, 48360 KB/s, 7 seconds passed +... 55%, 384032 KB, 48362 KB/s, 7 seconds passed +... 55%, 384064 KB, 48363 KB/s, 7 seconds passed +... 55%, 384096 KB, 48365 KB/s, 7 seconds passed +... 55%, 384128 KB, 48366 KB/s, 7 seconds passed +... 55%, 384160 KB, 48368 KB/s, 7 seconds passed +... 55%, 384192 KB, 48370 KB/s, 7 seconds passed +... 55%, 384224 KB, 48368 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 55%, 384256 KB, 48369 KB/s, 7 seconds passed +... 55%, 384288 KB, 48369 KB/s, 7 seconds passed +... 55%, 384320 KB, 48371 KB/s, 7 seconds passed +... 55%, 384352 KB, 48371 KB/s, 7 seconds passed +... 55%, 384384 KB, 48371 KB/s, 7 seconds passed +... 55%, 384416 KB, 48371 KB/s, 7 seconds passed +... 55%, 384448 KB, 48372 KB/s, 7 seconds passed +... 55%, 384480 KB, 48374 KB/s, 7 seconds passed +... 55%, 384512 KB, 48375 KB/s, 7 seconds passed +... 55%, 384544 KB, 48377 KB/s, 7 seconds passed +... 55%, 384576 KB, 48379 KB/s, 7 seconds passed +... 55%, 384608 KB, 48381 KB/s, 7 seconds passed +... 55%, 384640 KB, 48382 KB/s, 7 seconds passed +... 55%, 384672 KB, 48384 KB/s, 7 seconds passed +... 55%, 384704 KB, 48386 KB/s, 7 seconds passed +... 55%, 384736 KB, 48387 KB/s, 7 seconds passed +... 55%, 384768 KB, 48389 KB/s, 7 seconds passed +... 55%, 384800 KB, 48391 KB/s, 7 seconds passed +... 55%, 384832 KB, 48393 KB/s, 7 seconds passed +... 55%, 384864 KB, 48395 KB/s, 7 seconds passed +... 55%, 384896 KB, 48396 KB/s, 7 seconds passed +... 55%, 384928 KB, 48398 KB/s, 7 seconds passed +... 55%, 384960 KB, 48400 KB/s, 7 seconds passed +... 55%, 384992 KB, 48402 KB/s, 7 seconds passed +... 55%, 385024 KB, 48404 KB/s, 7 seconds passed +... 55%, 385056 KB, 48406 KB/s, 7 seconds passed +... 55%, 385088 KB, 48408 KB/s, 7 seconds passed +... 55%, 385120 KB, 48410 KB/s, 7 seconds passed +... 55%, 385152 KB, 48411 KB/s, 7 seconds passed +... 55%, 385184 KB, 48413 KB/s, 7 seconds passed +... 55%, 385216 KB, 48415 KB/s, 7 seconds passed +... 55%, 385248 KB, 48417 KB/s, 7 seconds passed +... 55%, 385280 KB, 48419 KB/s, 7 seconds passed +... 55%, 385312 KB, 48421 KB/s, 7 seconds passed +... 55%, 385344 KB, 48423 KB/s, 7 seconds passed +... 55%, 385376 KB, 48425 KB/s, 7 seconds passed +... 55%, 385408 KB, 48426 KB/s, 7 seconds passed +... 55%, 385440 KB, 48428 KB/s, 7 seconds passed +... 55%, 385472 KB, 48430 KB/s, 7 seconds passed +... 55%, 385504 KB, 48433 KB/s, 7 seconds passed +... 55%, 385536 KB, 48436 KB/s, 7 seconds passed +... 55%, 385568 KB, 48438 KB/s, 7 seconds passed +... 55%, 385600 KB, 48441 KB/s, 7 seconds passed +... 55%, 385632 KB, 48443 KB/s, 7 seconds passed +... 55%, 385664 KB, 48446 KB/s, 7 seconds passed +... 55%, 385696 KB, 48449 KB/s, 7 seconds passed +... 55%, 385728 KB, 48451 KB/s, 7 seconds passed +... 55%, 385760 KB, 48454 KB/s, 7 seconds passed +... 55%, 385792 KB, 48456 KB/s, 7 seconds passed +... 55%, 385824 KB, 48459 KB/s, 7 seconds passed +... 55%, 385856 KB, 48461 KB/s, 7 seconds passed +... 55%, 385888 KB, 48464 KB/s, 7 seconds passed +... 55%, 385920 KB, 48467 KB/s, 7 seconds passed +... 55%, 385952 KB, 48469 KB/s, 7 seconds passed +... 55%, 385984 KB, 48472 KB/s, 7 seconds passed +... 55%, 386016 KB, 48474 KB/s, 7 seconds passed +... 55%, 386048 KB, 48477 KB/s, 7 seconds passed +... 55%, 386080 KB, 48480 KB/s, 7 seconds passed +... 55%, 386112 KB, 48482 KB/s, 7 seconds passed +... 55%, 386144 KB, 48485 KB/s, 7 seconds passed +... 55%, 386176 KB, 48487 KB/s, 7 seconds passed +... 55%, 386208 KB, 48490 KB/s, 7 seconds passed +... 55%, 386240 KB, 48492 KB/s, 7 seconds passed +... 55%, 386272 KB, 48495 KB/s, 7 seconds passed +... 55%, 386304 KB, 48498 KB/s, 7 seconds passed +... 55%, 386336 KB, 48500 KB/s, 7 seconds passed +... 55%, 386368 KB, 48503 KB/s, 7 seconds passed +... 55%, 386400 KB, 48506 KB/s, 7 seconds passed +... 55%, 386432 KB, 48508 KB/s, 7 seconds passed +... 55%, 386464 KB, 48511 KB/s, 7 seconds passed +... 55%, 386496 KB, 48513 KB/s, 7 seconds passed +... 55%, 386528 KB, 48516 KB/s, 7 seconds passed +... 55%, 386560 KB, 48519 KB/s, 7 seconds passed +... 55%, 386592 KB, 48521 KB/s, 7 seconds passed +... 55%, 386624 KB, 48524 KB/s, 7 seconds passed +... 55%, 386656 KB, 48526 KB/s, 7 seconds passed +... 55%, 386688 KB, 48529 KB/s, 7 seconds passed +... 55%, 386720 KB, 48532 KB/s, 7 seconds passed +... 55%, 386752 KB, 48534 KB/s, 7 seconds passed +... 55%, 386784 KB, 48537 KB/s, 7 seconds passed +... 55%, 386816 KB, 48540 KB/s, 7 seconds passed +... 55%, 386848 KB, 48542 KB/s, 7 seconds passed +... 55%, 386880 KB, 48545 KB/s, 7 seconds passed +... 55%, 386912 KB, 48548 KB/s, 7 seconds passed +... 55%, 386944 KB, 48551 KB/s, 7 seconds passed +... 55%, 386976 KB, 48554 KB/s, 7 seconds passed +... 55%, 387008 KB, 48557 KB/s, 7 seconds passed +... 55%, 387040 KB, 48560 KB/s, 7 seconds passed +... 55%, 387072 KB, 48563 KB/s, 7 seconds passed +... 55%, 387104 KB, 48566 KB/s, 7 seconds passed +... 55%, 387136 KB, 48569 KB/s, 7 seconds passed +... 55%, 387168 KB, 48572 KB/s, 7 seconds passed +... 55%, 387200 KB, 48575 KB/s, 7 seconds passed +... 55%, 387232 KB, 48578 KB/s, 7 seconds passed +... 55%, 387264 KB, 48581 KB/s, 7 seconds passed +... 55%, 387296 KB, 48584 KB/s, 7 seconds passed +... 55%, 387328 KB, 48588 KB/s, 7 seconds passed +... 55%, 387360 KB, 48591 KB/s, 7 seconds passed +... 55%, 387392 KB, 48594 KB/s, 7 seconds passed +... 55%, 387424 KB, 48597 KB/s, 7 seconds passed +... 55%, 387456 KB, 48600 KB/s, 7 seconds passed +... 55%, 387488 KB, 48603 KB/s, 7 seconds passed +... 55%, 387520 KB, 48606 KB/s, 7 seconds passed +... 55%, 387552 KB, 48608 KB/s, 7 seconds passed +... 55%, 387584 KB, 48611 KB/s, 7 seconds passed +... 55%, 387616 KB, 48613 KB/s, 7 seconds passed +... 55%, 387648 KB, 48615 KB/s, 7 seconds passed +... 55%, 387680 KB, 48617 KB/s, 7 seconds passed +... 55%, 387712 KB, 48619 KB/s, 7 seconds passed +... 55%, 387744 KB, 48621 KB/s, 7 seconds passed +... 55%, 387776 KB, 48624 KB/s, 7 seconds passed +... 55%, 387808 KB, 48627 KB/s, 7 seconds passed +... 55%, 387840 KB, 48630 KB/s, 7 seconds passed +... 55%, 387872 KB, 48631 KB/s, 7 seconds passed +... 55%, 387904 KB, 48634 KB/s, 7 seconds passed +... 55%, 387936 KB, 48634 KB/s, 7 seconds passed +... 55%, 387968 KB, 48636 KB/s, 7 seconds passed +... 55%, 388000 KB, 48639 KB/s, 7 seconds passed +... 55%, 388032 KB, 48640 KB/s, 7 seconds passed +... 55%, 388064 KB, 48641 KB/s, 7 seconds passed +... 55%, 388096 KB, 48643 KB/s, 7 seconds passed +... 55%, 388128 KB, 48645 KB/s, 7 seconds passed +... 55%, 388160 KB, 48648 KB/s, 7 seconds passed +... 55%, 388192 KB, 48651 KB/s, 7 seconds passed +... 55%, 388224 KB, 48654 KB/s, 7 seconds passed +... 55%, 388256 KB, 48657 KB/s, 7 seconds passed +... 55%, 388288 KB, 48659 KB/s, 7 seconds passed +... 55%, 388320 KB, 48661 KB/s, 7 seconds passed +... 55%, 388352 KB, 48663 KB/s, 7 seconds passed +... 55%, 388384 KB, 48666 KB/s, 7 seconds passed +... 55%, 388416 KB, 48668 KB/s, 7 seconds passed +... 55%, 388448 KB, 48670 KB/s, 7 seconds passed +... 55%, 388480 KB, 48673 KB/s, 7 seconds passed +... 55%, 388512 KB, 48675 KB/s, 7 seconds passed +... 55%, 388544 KB, 48678 KB/s, 7 seconds passed +... 55%, 388576 KB, 48680 KB/s, 7 seconds passed +... 55%, 388608 KB, 48683 KB/s, 7 seconds passed +... 55%, 388640 KB, 48685 KB/s, 7 seconds passed +... 55%, 388672 KB, 48687 KB/s, 7 seconds passed +... 55%, 388704 KB, 48690 KB/s, 7 seconds passed +... 55%, 388736 KB, 48691 KB/s, 7 seconds passed +... 55%, 388768 KB, 48692 KB/s, 7 seconds passed +... 55%, 388800 KB, 48694 KB/s, 7 seconds passed +... 55%, 388832 KB, 48697 KB/s, 7 seconds passed +... 55%, 388864 KB, 48700 KB/s, 7 seconds passed +... 55%, 388896 KB, 48703 KB/s, 7 seconds passed +... 55%, 388928 KB, 48706 KB/s, 7 seconds passed +... 55%, 388960 KB, 48708 KB/s, 7 seconds passed +... 55%, 388992 KB, 48709 KB/s, 7 seconds passed +... 55%, 389024 KB, 48711 KB/s, 7 seconds passed +... 55%, 389056 KB, 48713 KB/s, 7 seconds passed +... 55%, 389088 KB, 48716 KB/s, 7 seconds passed + +.. parsed-literal:: + + ... 55%, 389120 KB, 48212 KB/s, 8 seconds passed +... 55%, 389152 KB, 48213 KB/s, 8 seconds passed +... 55%, 389184 KB, 48215 KB/s, 8 seconds passed +... 55%, 389216 KB, 48217 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 55%, 389248 KB, 48057 KB/s, 8 seconds passed +... 55%, 389280 KB, 48058 KB/s, 8 seconds passed +... 55%, 389312 KB, 48060 KB/s, 8 seconds passed +... 55%, 389344 KB, 48061 KB/s, 8 seconds passed +... 55%, 389376 KB, 48063 KB/s, 8 seconds passed +... 55%, 389408 KB, 48064 KB/s, 8 seconds passed +... 55%, 389440 KB, 48066 KB/s, 8 seconds passed +... 55%, 389472 KB, 48067 KB/s, 8 seconds passed +... 56%, 389504 KB, 48069 KB/s, 8 seconds passed +... 56%, 389536 KB, 48070 KB/s, 8 seconds passed +... 56%, 389568 KB, 48072 KB/s, 8 seconds passed +... 56%, 389600 KB, 48074 KB/s, 8 seconds passed +... 56%, 389632 KB, 48075 KB/s, 8 seconds passed +... 56%, 389664 KB, 48077 KB/s, 8 seconds passed +... 56%, 389696 KB, 48079 KB/s, 8 seconds passed +... 56%, 389728 KB, 48080 KB/s, 8 seconds passed +... 56%, 389760 KB, 48082 KB/s, 8 seconds passed +... 56%, 389792 KB, 48084 KB/s, 8 seconds passed +... 56%, 389824 KB, 48086 KB/s, 8 seconds passed +... 56%, 389856 KB, 48087 KB/s, 8 seconds passed +... 56%, 389888 KB, 48089 KB/s, 8 seconds passed +... 56%, 389920 KB, 48091 KB/s, 8 seconds passed +... 56%, 389952 KB, 48092 KB/s, 8 seconds passed +... 56%, 389984 KB, 48094 KB/s, 8 seconds passed +... 56%, 390016 KB, 48095 KB/s, 8 seconds passed +... 56%, 390048 KB, 48097 KB/s, 8 seconds passed +... 56%, 390080 KB, 48099 KB/s, 8 seconds passed +... 56%, 390112 KB, 48101 KB/s, 8 seconds passed +... 56%, 390144 KB, 48103 KB/s, 8 seconds passed +... 56%, 390176 KB, 48106 KB/s, 8 seconds passed +... 56%, 390208 KB, 48109 KB/s, 8 seconds passed +... 56%, 390240 KB, 48111 KB/s, 8 seconds passed +... 56%, 390272 KB, 48114 KB/s, 8 seconds passed +... 56%, 390304 KB, 48117 KB/s, 8 seconds passed +... 56%, 390336 KB, 48085 KB/s, 8 seconds passed +... 56%, 390368 KB, 48087 KB/s, 8 seconds passed +... 56%, 390400 KB, 48089 KB/s, 8 seconds passed +... 56%, 390432 KB, 48092 KB/s, 8 seconds passed +... 56%, 390464 KB, 48094 KB/s, 8 seconds passed +... 56%, 390496 KB, 48097 KB/s, 8 seconds passed +... 56%, 390528 KB, 48099 KB/s, 8 seconds passed +... 56%, 390560 KB, 48102 KB/s, 8 seconds passed +... 56%, 390592 KB, 48104 KB/s, 8 seconds passed +... 56%, 390624 KB, 48107 KB/s, 8 seconds passed +... 56%, 390656 KB, 48109 KB/s, 8 seconds passed +... 56%, 390688 KB, 48111 KB/s, 8 seconds passed +... 56%, 390720 KB, 48113 KB/s, 8 seconds passed +... 56%, 390752 KB, 48115 KB/s, 8 seconds passed +... 56%, 390784 KB, 48116 KB/s, 8 seconds passed +... 56%, 390816 KB, 48118 KB/s, 8 seconds passed +... 56%, 390848 KB, 48120 KB/s, 8 seconds passed +... 56%, 390880 KB, 48123 KB/s, 8 seconds passed +... 56%, 390912 KB, 48125 KB/s, 8 seconds passed +... 56%, 390944 KB, 48126 KB/s, 8 seconds passed +... 56%, 390976 KB, 48128 KB/s, 8 seconds passed +... 56%, 391008 KB, 48130 KB/s, 8 seconds passed +... 56%, 391040 KB, 48132 KB/s, 8 seconds passed +... 56%, 391072 KB, 48134 KB/s, 8 seconds passed +... 56%, 391104 KB, 48137 KB/s, 8 seconds passed +... 56%, 391136 KB, 48139 KB/s, 8 seconds passed +... 56%, 391168 KB, 48141 KB/s, 8 seconds passed +... 56%, 391200 KB, 48143 KB/s, 8 seconds passed +... 56%, 391232 KB, 48145 KB/s, 8 seconds passed +... 56%, 391264 KB, 48147 KB/s, 8 seconds passed +... 56%, 391296 KB, 48149 KB/s, 8 seconds passed +... 56%, 391328 KB, 48151 KB/s, 8 seconds passed +... 56%, 391360 KB, 48153 KB/s, 8 seconds passed +... 56%, 391392 KB, 48155 KB/s, 8 seconds passed +... 56%, 391424 KB, 48157 KB/s, 8 seconds passed +... 56%, 391456 KB, 48159 KB/s, 8 seconds passed +... 56%, 391488 KB, 48161 KB/s, 8 seconds passed +... 56%, 391520 KB, 48163 KB/s, 8 seconds passed +... 56%, 391552 KB, 48165 KB/s, 8 seconds passed +... 56%, 391584 KB, 48167 KB/s, 8 seconds passed +... 56%, 391616 KB, 48169 KB/s, 8 seconds passed +... 56%, 391648 KB, 48171 KB/s, 8 seconds passed +... 56%, 391680 KB, 48173 KB/s, 8 seconds passed +... 56%, 391712 KB, 48175 KB/s, 8 seconds passed +... 56%, 391744 KB, 48177 KB/s, 8 seconds passed +... 56%, 391776 KB, 48180 KB/s, 8 seconds passed +... 56%, 391808 KB, 48182 KB/s, 8 seconds passed +... 56%, 391840 KB, 48185 KB/s, 8 seconds passed +... 56%, 391872 KB, 48188 KB/s, 8 seconds passed +... 56%, 391904 KB, 48190 KB/s, 8 seconds passed +... 56%, 391936 KB, 48193 KB/s, 8 seconds passed +... 56%, 391968 KB, 48196 KB/s, 8 seconds passed +... 56%, 392000 KB, 48198 KB/s, 8 seconds passed +... 56%, 392032 KB, 48201 KB/s, 8 seconds passed +... 56%, 392064 KB, 48204 KB/s, 8 seconds passed +... 56%, 392096 KB, 48206 KB/s, 8 seconds passed +... 56%, 392128 KB, 48209 KB/s, 8 seconds passed +... 56%, 392160 KB, 48212 KB/s, 8 seconds passed +... 56%, 392192 KB, 48214 KB/s, 8 seconds passed +... 56%, 392224 KB, 48217 KB/s, 8 seconds passed +... 56%, 392256 KB, 48220 KB/s, 8 seconds passed +... 56%, 392288 KB, 48222 KB/s, 8 seconds passed +... 56%, 392320 KB, 48225 KB/s, 8 seconds passed +... 56%, 392352 KB, 48228 KB/s, 8 seconds passed +... 56%, 392384 KB, 48230 KB/s, 8 seconds passed +... 56%, 392416 KB, 48233 KB/s, 8 seconds passed +... 56%, 392448 KB, 48236 KB/s, 8 seconds passed +... 56%, 392480 KB, 48239 KB/s, 8 seconds passed +... 56%, 392512 KB, 48241 KB/s, 8 seconds passed +... 56%, 392544 KB, 48243 KB/s, 8 seconds passed +... 56%, 392576 KB, 48246 KB/s, 8 seconds passed +... 56%, 392608 KB, 48248 KB/s, 8 seconds passed +... 56%, 392640 KB, 48251 KB/s, 8 seconds passed +... 56%, 392672 KB, 48253 KB/s, 8 seconds passed +... 56%, 392704 KB, 48255 KB/s, 8 seconds passed +... 56%, 392736 KB, 48257 KB/s, 8 seconds passed +... 56%, 392768 KB, 48259 KB/s, 8 seconds passed +... 56%, 392800 KB, 48262 KB/s, 8 seconds passed +... 56%, 392832 KB, 48264 KB/s, 8 seconds passed +... 56%, 392864 KB, 48266 KB/s, 8 seconds passed +... 56%, 392896 KB, 48269 KB/s, 8 seconds passed +... 56%, 392928 KB, 48271 KB/s, 8 seconds passed +... 56%, 392960 KB, 48273 KB/s, 8 seconds passed +... 56%, 392992 KB, 48276 KB/s, 8 seconds passed +... 56%, 393024 KB, 48278 KB/s, 8 seconds passed +... 56%, 393056 KB, 48280 KB/s, 8 seconds passed +... 56%, 393088 KB, 48283 KB/s, 8 seconds passed +... 56%, 393120 KB, 48285 KB/s, 8 seconds passed +... 56%, 393152 KB, 48287 KB/s, 8 seconds passed +... 56%, 393184 KB, 48290 KB/s, 8 seconds passed +... 56%, 393216 KB, 48292 KB/s, 8 seconds passed +... 56%, 393248 KB, 48294 KB/s, 8 seconds passed +... 56%, 393280 KB, 48297 KB/s, 8 seconds passed +... 56%, 393312 KB, 48299 KB/s, 8 seconds passed +... 56%, 393344 KB, 48301 KB/s, 8 seconds passed +... 56%, 393376 KB, 48303 KB/s, 8 seconds passed +... 56%, 393408 KB, 48305 KB/s, 8 seconds passed +... 56%, 393440 KB, 48308 KB/s, 8 seconds passed +... 56%, 393472 KB, 48310 KB/s, 8 seconds passed +... 56%, 393504 KB, 48313 KB/s, 8 seconds passed +... 56%, 393536 KB, 48315 KB/s, 8 seconds passed +... 56%, 393568 KB, 48317 KB/s, 8 seconds passed +... 56%, 393600 KB, 48319 KB/s, 8 seconds passed +... 56%, 393632 KB, 48322 KB/s, 8 seconds passed +... 56%, 393664 KB, 48324 KB/s, 8 seconds passed +... 56%, 393696 KB, 48326 KB/s, 8 seconds passed +... 56%, 393728 KB, 48327 KB/s, 8 seconds passed +... 56%, 393760 KB, 48330 KB/s, 8 seconds passed +... 56%, 393792 KB, 48333 KB/s, 8 seconds passed +... 56%, 393824 KB, 48335 KB/s, 8 seconds passed +... 56%, 393856 KB, 48338 KB/s, 8 seconds passed +... 56%, 393888 KB, 48340 KB/s, 8 seconds passed +... 56%, 393920 KB, 48342 KB/s, 8 seconds passed +... 56%, 393952 KB, 48344 KB/s, 8 seconds passed +... 56%, 393984 KB, 48346 KB/s, 8 seconds passed +... 56%, 394016 KB, 48349 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 56%, 394048 KB, 48351 KB/s, 8 seconds passed +... 56%, 394080 KB, 48353 KB/s, 8 seconds passed +... 56%, 394112 KB, 48356 KB/s, 8 seconds passed +... 56%, 394144 KB, 48358 KB/s, 8 seconds passed +... 56%, 394176 KB, 48360 KB/s, 8 seconds passed +... 56%, 394208 KB, 48362 KB/s, 8 seconds passed +... 56%, 394240 KB, 48176 KB/s, 8 seconds passed +... 56%, 394272 KB, 48177 KB/s, 8 seconds passed +... 56%, 394304 KB, 48179 KB/s, 8 seconds passed +... 56%, 394336 KB, 48180 KB/s, 8 seconds passed +... 56%, 394368 KB, 48182 KB/s, 8 seconds passed +... 56%, 394400 KB, 48184 KB/s, 8 seconds passed +... 56%, 394432 KB, 48185 KB/s, 8 seconds passed +... 56%, 394464 KB, 48187 KB/s, 8 seconds passed +... 56%, 394496 KB, 48189 KB/s, 8 seconds passed +... 56%, 394528 KB, 48190 KB/s, 8 seconds passed +... 56%, 394560 KB, 48192 KB/s, 8 seconds passed +... 56%, 394592 KB, 48194 KB/s, 8 seconds passed +... 56%, 394624 KB, 48195 KB/s, 8 seconds passed +... 56%, 394656 KB, 48197 KB/s, 8 seconds passed +... 56%, 394688 KB, 48199 KB/s, 8 seconds passed +... 56%, 394720 KB, 48201 KB/s, 8 seconds passed +... 56%, 394752 KB, 48202 KB/s, 8 seconds passed +... 56%, 394784 KB, 48204 KB/s, 8 seconds passed +... 56%, 394816 KB, 48206 KB/s, 8 seconds passed +... 56%, 394848 KB, 48208 KB/s, 8 seconds passed +... 56%, 394880 KB, 48209 KB/s, 8 seconds passed +... 56%, 394912 KB, 48211 KB/s, 8 seconds passed +... 56%, 394944 KB, 48213 KB/s, 8 seconds passed +... 56%, 394976 KB, 48215 KB/s, 8 seconds passed +... 56%, 395008 KB, 48217 KB/s, 8 seconds passed +... 56%, 395040 KB, 48219 KB/s, 8 seconds passed +... 56%, 395072 KB, 48221 KB/s, 8 seconds passed +... 56%, 395104 KB, 48223 KB/s, 8 seconds passed +... 56%, 395136 KB, 48225 KB/s, 8 seconds passed +... 56%, 395168 KB, 48227 KB/s, 8 seconds passed +... 56%, 395200 KB, 48229 KB/s, 8 seconds passed +... 56%, 395232 KB, 48231 KB/s, 8 seconds passed +... 56%, 395264 KB, 48233 KB/s, 8 seconds passed +... 56%, 395296 KB, 48235 KB/s, 8 seconds passed +... 56%, 395328 KB, 48237 KB/s, 8 seconds passed +... 56%, 395360 KB, 48239 KB/s, 8 seconds passed +... 56%, 395392 KB, 48241 KB/s, 8 seconds passed +... 56%, 395424 KB, 48243 KB/s, 8 seconds passed +... 56%, 395456 KB, 48245 KB/s, 8 seconds passed +... 56%, 395488 KB, 48247 KB/s, 8 seconds passed +... 56%, 395520 KB, 48249 KB/s, 8 seconds passed +... 56%, 395552 KB, 48251 KB/s, 8 seconds passed +... 56%, 395584 KB, 48253 KB/s, 8 seconds passed +... 56%, 395616 KB, 48255 KB/s, 8 seconds passed +... 56%, 395648 KB, 48257 KB/s, 8 seconds passed +... 56%, 395680 KB, 48259 KB/s, 8 seconds passed +... 56%, 395712 KB, 48261 KB/s, 8 seconds passed +... 56%, 395744 KB, 48263 KB/s, 8 seconds passed +... 56%, 395776 KB, 48265 KB/s, 8 seconds passed +... 56%, 395808 KB, 48267 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 56%, 395840 KB, 48269 KB/s, 8 seconds passed +... 56%, 395872 KB, 48271 KB/s, 8 seconds passed +... 56%, 395904 KB, 48273 KB/s, 8 seconds passed +... 56%, 395936 KB, 48275 KB/s, 8 seconds passed +... 56%, 395968 KB, 48278 KB/s, 8 seconds passed +... 56%, 396000 KB, 48280 KB/s, 8 seconds passed +... 56%, 396032 KB, 48283 KB/s, 8 seconds passed +... 56%, 396064 KB, 48286 KB/s, 8 seconds passed +... 56%, 396096 KB, 48288 KB/s, 8 seconds passed +... 56%, 396128 KB, 48291 KB/s, 8 seconds passed +... 56%, 396160 KB, 48293 KB/s, 8 seconds passed +... 56%, 396192 KB, 48296 KB/s, 8 seconds passed +... 56%, 396224 KB, 48299 KB/s, 8 seconds passed +... 56%, 396256 KB, 48301 KB/s, 8 seconds passed +... 56%, 396288 KB, 48304 KB/s, 8 seconds passed +... 56%, 396320 KB, 48307 KB/s, 8 seconds passed +... 56%, 396352 KB, 48309 KB/s, 8 seconds passed +... 56%, 396384 KB, 48312 KB/s, 8 seconds passed +... 56%, 396416 KB, 48314 KB/s, 8 seconds passed +... 57%, 396448 KB, 48317 KB/s, 8 seconds passed +... 57%, 396480 KB, 48320 KB/s, 8 seconds passed +... 57%, 396512 KB, 48322 KB/s, 8 seconds passed +... 57%, 396544 KB, 48325 KB/s, 8 seconds passed +... 57%, 396576 KB, 48328 KB/s, 8 seconds passed +... 57%, 396608 KB, 48330 KB/s, 8 seconds passed +... 57%, 396640 KB, 48333 KB/s, 8 seconds passed +... 57%, 396672 KB, 48336 KB/s, 8 seconds passed +... 57%, 396704 KB, 48338 KB/s, 8 seconds passed +... 57%, 396736 KB, 48341 KB/s, 8 seconds passed +... 57%, 396768 KB, 48344 KB/s, 8 seconds passed +... 57%, 396800 KB, 48346 KB/s, 8 seconds passed +... 57%, 396832 KB, 48349 KB/s, 8 seconds passed +... 57%, 396864 KB, 48352 KB/s, 8 seconds passed +... 57%, 396896 KB, 48354 KB/s, 8 seconds passed +... 57%, 396928 KB, 48357 KB/s, 8 seconds passed +... 57%, 396960 KB, 48360 KB/s, 8 seconds passed +... 57%, 396992 KB, 48363 KB/s, 8 seconds passed +... 57%, 397024 KB, 48365 KB/s, 8 seconds passed +... 57%, 397056 KB, 48368 KB/s, 8 seconds passed +... 57%, 397088 KB, 48371 KB/s, 8 seconds passed +... 57%, 397120 KB, 48374 KB/s, 8 seconds passed +... 57%, 397152 KB, 48376 KB/s, 8 seconds passed +... 57%, 397184 KB, 48378 KB/s, 8 seconds passed +... 57%, 397216 KB, 48380 KB/s, 8 seconds passed +... 57%, 397248 KB, 48382 KB/s, 8 seconds passed +... 57%, 397280 KB, 48384 KB/s, 8 seconds passed +... 57%, 397312 KB, 48387 KB/s, 8 seconds passed +... 57%, 397344 KB, 48389 KB/s, 8 seconds passed +... 57%, 397376 KB, 48391 KB/s, 8 seconds passed +... 57%, 397408 KB, 48394 KB/s, 8 seconds passed +... 57%, 397440 KB, 48396 KB/s, 8 seconds passed +... 57%, 397472 KB, 48398 KB/s, 8 seconds passed +... 57%, 397504 KB, 48400 KB/s, 8 seconds passed +... 57%, 397536 KB, 48402 KB/s, 8 seconds passed +... 57%, 397568 KB, 48405 KB/s, 8 seconds passed +... 57%, 397600 KB, 48407 KB/s, 8 seconds passed +... 57%, 397632 KB, 48409 KB/s, 8 seconds passed +... 57%, 397664 KB, 48412 KB/s, 8 seconds passed +... 57%, 397696 KB, 48414 KB/s, 8 seconds passed +... 57%, 397728 KB, 48416 KB/s, 8 seconds passed +... 57%, 397760 KB, 48418 KB/s, 8 seconds passed +... 57%, 397792 KB, 48420 KB/s, 8 seconds passed +... 57%, 397824 KB, 48421 KB/s, 8 seconds passed +... 57%, 397856 KB, 48423 KB/s, 8 seconds passed +... 57%, 397888 KB, 48425 KB/s, 8 seconds passed +... 57%, 397920 KB, 48428 KB/s, 8 seconds passed +... 57%, 397952 KB, 48431 KB/s, 8 seconds passed +... 57%, 397984 KB, 48434 KB/s, 8 seconds passed +... 57%, 398016 KB, 48437 KB/s, 8 seconds passed +... 57%, 398048 KB, 48439 KB/s, 8 seconds passed +... 57%, 398080 KB, 48440 KB/s, 8 seconds passed +... 57%, 398112 KB, 48442 KB/s, 8 seconds passed +... 57%, 398144 KB, 48445 KB/s, 8 seconds passed +... 57%, 398176 KB, 48448 KB/s, 8 seconds passed +... 57%, 398208 KB, 48450 KB/s, 8 seconds passed +... 57%, 398240 KB, 48452 KB/s, 8 seconds passed +... 57%, 398272 KB, 48454 KB/s, 8 seconds passed +... 57%, 398304 KB, 48457 KB/s, 8 seconds passed +... 57%, 398336 KB, 48459 KB/s, 8 seconds passed +... 57%, 398368 KB, 48461 KB/s, 8 seconds passed +... 57%, 398400 KB, 48463 KB/s, 8 seconds passed +... 57%, 398432 KB, 48466 KB/s, 8 seconds passed +... 57%, 398464 KB, 48468 KB/s, 8 seconds passed +... 57%, 398496 KB, 48470 KB/s, 8 seconds passed +... 57%, 398528 KB, 48472 KB/s, 8 seconds passed +... 57%, 398560 KB, 48475 KB/s, 8 seconds passed +... 57%, 398592 KB, 48477 KB/s, 8 seconds passed +... 57%, 398624 KB, 48479 KB/s, 8 seconds passed +... 57%, 398656 KB, 48481 KB/s, 8 seconds passed +... 57%, 398688 KB, 48483 KB/s, 8 seconds passed +... 57%, 398720 KB, 48486 KB/s, 8 seconds passed +... 57%, 398752 KB, 48487 KB/s, 8 seconds passed +... 57%, 398784 KB, 48488 KB/s, 8 seconds passed +... 57%, 398816 KB, 48491 KB/s, 8 seconds passed +... 57%, 398848 KB, 48494 KB/s, 8 seconds passed +... 57%, 398880 KB, 48496 KB/s, 8 seconds passed +... 57%, 398912 KB, 48499 KB/s, 8 seconds passed +... 57%, 398944 KB, 48502 KB/s, 8 seconds passed +... 57%, 398976 KB, 48504 KB/s, 8 seconds passed +... 57%, 399008 KB, 48506 KB/s, 8 seconds passed +... 57%, 399040 KB, 48508 KB/s, 8 seconds passed +... 57%, 399072 KB, 48510 KB/s, 8 seconds passed +... 57%, 399104 KB, 48513 KB/s, 8 seconds passed +... 57%, 399136 KB, 48515 KB/s, 8 seconds passed +... 57%, 399168 KB, 48517 KB/s, 8 seconds passed +... 57%, 399200 KB, 48519 KB/s, 8 seconds passed +... 57%, 399232 KB, 48522 KB/s, 8 seconds passed +... 57%, 399264 KB, 48524 KB/s, 8 seconds passed +... 57%, 399296 KB, 48526 KB/s, 8 seconds passed +... 57%, 399328 KB, 48528 KB/s, 8 seconds passed +... 57%, 399360 KB, 48412 KB/s, 8 seconds passed +... 57%, 399392 KB, 48414 KB/s, 8 seconds passed +... 57%, 399424 KB, 48415 KB/s, 8 seconds passed +... 57%, 399456 KB, 48417 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 57%, 399488 KB, 48409 KB/s, 8 seconds passed +... 57%, 399520 KB, 48410 KB/s, 8 seconds passed +... 57%, 399552 KB, 48411 KB/s, 8 seconds passed +... 57%, 399584 KB, 48413 KB/s, 8 seconds passed +... 57%, 399616 KB, 48414 KB/s, 8 seconds passed +... 57%, 399648 KB, 48416 KB/s, 8 seconds passed +... 57%, 399680 KB, 48418 KB/s, 8 seconds passed +... 57%, 399712 KB, 48419 KB/s, 8 seconds passed +... 57%, 399744 KB, 48421 KB/s, 8 seconds passed +... 57%, 399776 KB, 48422 KB/s, 8 seconds passed +... 57%, 399808 KB, 48424 KB/s, 8 seconds passed +... 57%, 399840 KB, 48426 KB/s, 8 seconds passed +... 57%, 399872 KB, 48427 KB/s, 8 seconds passed +... 57%, 399904 KB, 48429 KB/s, 8 seconds passed +... 57%, 399936 KB, 48431 KB/s, 8 seconds passed +... 57%, 399968 KB, 48433 KB/s, 8 seconds passed +... 57%, 400000 KB, 48434 KB/s, 8 seconds passed +... 57%, 400032 KB, 48436 KB/s, 8 seconds passed +... 57%, 400064 KB, 48437 KB/s, 8 seconds passed +... 57%, 400096 KB, 48439 KB/s, 8 seconds passed +... 57%, 400128 KB, 48441 KB/s, 8 seconds passed +... 57%, 400160 KB, 48443 KB/s, 8 seconds passed +... 57%, 400192 KB, 48444 KB/s, 8 seconds passed +... 57%, 400224 KB, 48446 KB/s, 8 seconds passed +... 57%, 400256 KB, 48448 KB/s, 8 seconds passed +... 57%, 400288 KB, 48449 KB/s, 8 seconds passed +... 57%, 400320 KB, 48451 KB/s, 8 seconds passed +... 57%, 400352 KB, 48453 KB/s, 8 seconds passed +... 57%, 400384 KB, 48455 KB/s, 8 seconds passed +... 57%, 400416 KB, 48457 KB/s, 8 seconds passed +... 57%, 400448 KB, 48460 KB/s, 8 seconds passed +... 57%, 400480 KB, 48462 KB/s, 8 seconds passed +... 57%, 400512 KB, 48464 KB/s, 8 seconds passed +... 57%, 400544 KB, 48466 KB/s, 8 seconds passed +... 57%, 400576 KB, 48469 KB/s, 8 seconds passed +... 57%, 400608 KB, 48471 KB/s, 8 seconds passed +... 57%, 400640 KB, 48474 KB/s, 8 seconds passed +... 57%, 400672 KB, 48476 KB/s, 8 seconds passed +... 57%, 400704 KB, 48478 KB/s, 8 seconds passed +... 57%, 400736 KB, 48480 KB/s, 8 seconds passed +... 57%, 400768 KB, 48483 KB/s, 8 seconds passed +... 57%, 400800 KB, 48485 KB/s, 8 seconds passed +... 57%, 400832 KB, 48487 KB/s, 8 seconds passed +... 57%, 400864 KB, 48490 KB/s, 8 seconds passed +... 57%, 400896 KB, 48492 KB/s, 8 seconds passed +... 57%, 400928 KB, 48494 KB/s, 8 seconds passed +... 57%, 400960 KB, 48497 KB/s, 8 seconds passed +... 57%, 400992 KB, 48499 KB/s, 8 seconds passed +... 57%, 401024 KB, 48501 KB/s, 8 seconds passed +... 57%, 401056 KB, 48504 KB/s, 8 seconds passed +... 57%, 401088 KB, 48506 KB/s, 8 seconds passed +... 57%, 401120 KB, 48508 KB/s, 8 seconds passed +... 57%, 401152 KB, 48511 KB/s, 8 seconds passed +... 57%, 401184 KB, 48513 KB/s, 8 seconds passed +... 57%, 401216 KB, 48515 KB/s, 8 seconds passed +... 57%, 401248 KB, 48518 KB/s, 8 seconds passed +... 57%, 401280 KB, 48521 KB/s, 8 seconds passed +... 57%, 401312 KB, 48523 KB/s, 8 seconds passed +... 57%, 401344 KB, 48415 KB/s, 8 seconds passed +... 57%, 401376 KB, 48417 KB/s, 8 seconds passed +... 57%, 401408 KB, 48418 KB/s, 8 seconds passed +... 57%, 401440 KB, 48420 KB/s, 8 seconds passed +... 57%, 401472 KB, 48421 KB/s, 8 seconds passed +... 57%, 401504 KB, 48423 KB/s, 8 seconds passed +... 57%, 401536 KB, 48424 KB/s, 8 seconds passed +... 57%, 401568 KB, 48426 KB/s, 8 seconds passed +... 57%, 401600 KB, 48428 KB/s, 8 seconds passed +... 57%, 401632 KB, 48429 KB/s, 8 seconds passed +... 57%, 401664 KB, 48431 KB/s, 8 seconds passed +... 57%, 401696 KB, 48433 KB/s, 8 seconds passed +... 57%, 401728 KB, 48435 KB/s, 8 seconds passed +... 57%, 401760 KB, 48436 KB/s, 8 seconds passed +... 57%, 401792 KB, 48438 KB/s, 8 seconds passed +... 57%, 401824 KB, 48440 KB/s, 8 seconds passed +... 57%, 401856 KB, 48441 KB/s, 8 seconds passed +... 57%, 401888 KB, 48443 KB/s, 8 seconds passed +... 57%, 401920 KB, 48444 KB/s, 8 seconds passed +... 57%, 401952 KB, 48446 KB/s, 8 seconds passed +... 57%, 401984 KB, 48448 KB/s, 8 seconds passed +... 57%, 402016 KB, 48449 KB/s, 8 seconds passed +... 57%, 402048 KB, 48451 KB/s, 8 seconds passed +... 57%, 402080 KB, 48453 KB/s, 8 seconds passed +... 57%, 402112 KB, 48454 KB/s, 8 seconds passed +... 57%, 402144 KB, 48456 KB/s, 8 seconds passed +... 57%, 402176 KB, 48457 KB/s, 8 seconds passed +... 57%, 402208 KB, 48459 KB/s, 8 seconds passed +... 57%, 402240 KB, 48461 KB/s, 8 seconds passed +... 57%, 402272 KB, 48462 KB/s, 8 seconds passed +... 57%, 402304 KB, 48464 KB/s, 8 seconds passed +... 57%, 402336 KB, 48467 KB/s, 8 seconds passed +... 57%, 402368 KB, 48469 KB/s, 8 seconds passed +... 57%, 402400 KB, 48471 KB/s, 8 seconds passed +... 57%, 402432 KB, 48473 KB/s, 8 seconds passed +... 57%, 402464 KB, 48475 KB/s, 8 seconds passed +... 57%, 402496 KB, 48477 KB/s, 8 seconds passed +... 57%, 402528 KB, 48480 KB/s, 8 seconds passed +... 57%, 402560 KB, 48483 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 57%, 402592 KB, 48485 KB/s, 8 seconds passed +... 57%, 402624 KB, 48488 KB/s, 8 seconds passed +... 57%, 402656 KB, 48490 KB/s, 8 seconds passed +... 57%, 402688 KB, 48493 KB/s, 8 seconds passed +... 57%, 402720 KB, 48495 KB/s, 8 seconds passed +... 57%, 402752 KB, 48497 KB/s, 8 seconds passed +... 57%, 402784 KB, 48500 KB/s, 8 seconds passed +... 57%, 402816 KB, 48502 KB/s, 8 seconds passed +... 57%, 402848 KB, 48505 KB/s, 8 seconds passed +... 57%, 402880 KB, 48507 KB/s, 8 seconds passed +... 57%, 402912 KB, 48510 KB/s, 8 seconds passed +... 57%, 402944 KB, 48512 KB/s, 8 seconds passed +... 57%, 402976 KB, 48514 KB/s, 8 seconds passed +... 57%, 403008 KB, 48516 KB/s, 8 seconds passed +... 57%, 403040 KB, 48518 KB/s, 8 seconds passed +... 57%, 403072 KB, 48521 KB/s, 8 seconds passed +... 57%, 403104 KB, 48523 KB/s, 8 seconds passed +... 57%, 403136 KB, 48526 KB/s, 8 seconds passed +... 57%, 403168 KB, 48528 KB/s, 8 seconds passed +... 57%, 403200 KB, 48530 KB/s, 8 seconds passed +... 57%, 403232 KB, 48532 KB/s, 8 seconds passed +... 57%, 403264 KB, 48534 KB/s, 8 seconds passed +... 57%, 403296 KB, 48536 KB/s, 8 seconds passed +... 57%, 403328 KB, 48539 KB/s, 8 seconds passed +... 57%, 403360 KB, 48541 KB/s, 8 seconds passed +... 57%, 403392 KB, 48543 KB/s, 8 seconds passed +... 58%, 403424 KB, 48545 KB/s, 8 seconds passed +... 58%, 403456 KB, 48547 KB/s, 8 seconds passed +... 58%, 403488 KB, 48550 KB/s, 8 seconds passed +... 58%, 403520 KB, 48552 KB/s, 8 seconds passed +... 58%, 403552 KB, 48554 KB/s, 8 seconds passed +... 58%, 403584 KB, 48557 KB/s, 8 seconds passed +... 58%, 403616 KB, 48559 KB/s, 8 seconds passed +... 58%, 403648 KB, 48561 KB/s, 8 seconds passed +... 58%, 403680 KB, 48564 KB/s, 8 seconds passed +... 58%, 403712 KB, 48565 KB/s, 8 seconds passed +... 58%, 403744 KB, 48568 KB/s, 8 seconds passed +... 58%, 403776 KB, 48570 KB/s, 8 seconds passed +... 58%, 403808 KB, 48573 KB/s, 8 seconds passed +... 58%, 403840 KB, 48575 KB/s, 8 seconds passed +... 58%, 403872 KB, 48577 KB/s, 8 seconds passed +... 58%, 403904 KB, 48579 KB/s, 8 seconds passed +... 58%, 403936 KB, 48581 KB/s, 8 seconds passed +... 58%, 403968 KB, 48583 KB/s, 8 seconds passed +... 58%, 404000 KB, 48586 KB/s, 8 seconds passed +... 58%, 404032 KB, 48588 KB/s, 8 seconds passed +... 58%, 404064 KB, 48590 KB/s, 8 seconds passed +... 58%, 404096 KB, 48592 KB/s, 8 seconds passed +... 58%, 404128 KB, 48595 KB/s, 8 seconds passed +... 58%, 404160 KB, 48597 KB/s, 8 seconds passed +... 58%, 404192 KB, 48599 KB/s, 8 seconds passed +... 58%, 404224 KB, 48601 KB/s, 8 seconds passed +... 58%, 404256 KB, 48604 KB/s, 8 seconds passed +... 58%, 404288 KB, 48606 KB/s, 8 seconds passed +... 58%, 404320 KB, 48608 KB/s, 8 seconds passed +... 58%, 404352 KB, 48610 KB/s, 8 seconds passed +... 58%, 404384 KB, 48613 KB/s, 8 seconds passed +... 58%, 404416 KB, 48615 KB/s, 8 seconds passed +... 58%, 404448 KB, 48617 KB/s, 8 seconds passed +... 58%, 404480 KB, 48488 KB/s, 8 seconds passed +... 58%, 404512 KB, 48489 KB/s, 8 seconds passed +... 58%, 404544 KB, 48490 KB/s, 8 seconds passed +... 58%, 404576 KB, 48492 KB/s, 8 seconds passed +... 58%, 404608 KB, 48494 KB/s, 8 seconds passed +... 58%, 404640 KB, 48491 KB/s, 8 seconds passed +... 58%, 404672 KB, 48493 KB/s, 8 seconds passed +... 58%, 404704 KB, 48494 KB/s, 8 seconds passed +... 58%, 404736 KB, 48496 KB/s, 8 seconds passed +... 58%, 404768 KB, 48497 KB/s, 8 seconds passed +... 58%, 404800 KB, 48499 KB/s, 8 seconds passed +... 58%, 404832 KB, 48500 KB/s, 8 seconds passed +... 58%, 404864 KB, 48502 KB/s, 8 seconds passed +... 58%, 404896 KB, 48504 KB/s, 8 seconds passed +... 58%, 404928 KB, 48505 KB/s, 8 seconds passed +... 58%, 404960 KB, 48507 KB/s, 8 seconds passed +... 58%, 404992 KB, 48509 KB/s, 8 seconds passed +... 58%, 405024 KB, 48510 KB/s, 8 seconds passed +... 58%, 405056 KB, 48512 KB/s, 8 seconds passed +... 58%, 405088 KB, 48513 KB/s, 8 seconds passed +... 58%, 405120 KB, 48515 KB/s, 8 seconds passed +... 58%, 405152 KB, 48516 KB/s, 8 seconds passed +... 58%, 405184 KB, 48518 KB/s, 8 seconds passed +... 58%, 405216 KB, 48519 KB/s, 8 seconds passed +... 58%, 405248 KB, 48521 KB/s, 8 seconds passed +... 58%, 405280 KB, 48522 KB/s, 8 seconds passed +... 58%, 405312 KB, 48524 KB/s, 8 seconds passed +... 58%, 405344 KB, 48526 KB/s, 8 seconds passed +... 58%, 405376 KB, 48528 KB/s, 8 seconds passed +... 58%, 405408 KB, 48530 KB/s, 8 seconds passed +... 58%, 405440 KB, 48532 KB/s, 8 seconds passed +... 58%, 405472 KB, 48535 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 58%, 405504 KB, 48537 KB/s, 8 seconds passed +... 58%, 405536 KB, 48539 KB/s, 8 seconds passed +... 58%, 405568 KB, 48541 KB/s, 8 seconds passed +... 58%, 405600 KB, 48543 KB/s, 8 seconds passed +... 58%, 405632 KB, 48545 KB/s, 8 seconds passed +... 58%, 405664 KB, 48548 KB/s, 8 seconds passed +... 58%, 405696 KB, 48550 KB/s, 8 seconds passed +... 58%, 405728 KB, 48552 KB/s, 8 seconds passed +... 58%, 405760 KB, 48554 KB/s, 8 seconds passed +... 58%, 405792 KB, 48556 KB/s, 8 seconds passed +... 58%, 405824 KB, 48559 KB/s, 8 seconds passed +... 58%, 405856 KB, 48561 KB/s, 8 seconds passed +... 58%, 405888 KB, 48563 KB/s, 8 seconds passed +... 58%, 405920 KB, 48566 KB/s, 8 seconds passed +... 58%, 405952 KB, 48568 KB/s, 8 seconds passed +... 58%, 405984 KB, 48570 KB/s, 8 seconds passed +... 58%, 406016 KB, 48572 KB/s, 8 seconds passed +... 58%, 406048 KB, 48575 KB/s, 8 seconds passed +... 58%, 406080 KB, 48577 KB/s, 8 seconds passed +... 58%, 406112 KB, 48579 KB/s, 8 seconds passed +... 58%, 406144 KB, 48581 KB/s, 8 seconds passed +... 58%, 406176 KB, 48584 KB/s, 8 seconds passed +... 58%, 406208 KB, 48586 KB/s, 8 seconds passed +... 58%, 406240 KB, 48588 KB/s, 8 seconds passed +... 58%, 406272 KB, 48590 KB/s, 8 seconds passed +... 58%, 406304 KB, 48593 KB/s, 8 seconds passed +... 58%, 406336 KB, 48595 KB/s, 8 seconds passed +... 58%, 406368 KB, 48597 KB/s, 8 seconds passed +... 58%, 406400 KB, 48599 KB/s, 8 seconds passed +... 58%, 406432 KB, 48602 KB/s, 8 seconds passed +... 58%, 406464 KB, 48604 KB/s, 8 seconds passed +... 58%, 406496 KB, 48606 KB/s, 8 seconds passed +... 58%, 406528 KB, 48609 KB/s, 8 seconds passed +... 58%, 406560 KB, 48611 KB/s, 8 seconds passed +... 58%, 406592 KB, 48613 KB/s, 8 seconds passed +... 58%, 406624 KB, 48616 KB/s, 8 seconds passed +... 58%, 406656 KB, 48619 KB/s, 8 seconds passed +... 58%, 406688 KB, 48622 KB/s, 8 seconds passed +... 58%, 406720 KB, 48625 KB/s, 8 seconds passed +... 58%, 406752 KB, 48627 KB/s, 8 seconds passed +... 58%, 406784 KB, 48630 KB/s, 8 seconds passed +... 58%, 406816 KB, 48633 KB/s, 8 seconds passed +... 58%, 406848 KB, 48636 KB/s, 8 seconds passed +... 58%, 406880 KB, 48639 KB/s, 8 seconds passed +... 58%, 406912 KB, 48641 KB/s, 8 seconds passed +... 58%, 406944 KB, 48644 KB/s, 8 seconds passed +... 58%, 406976 KB, 48647 KB/s, 8 seconds passed +... 58%, 407008 KB, 48650 KB/s, 8 seconds passed +... 58%, 407040 KB, 48653 KB/s, 8 seconds passed +... 58%, 407072 KB, 48656 KB/s, 8 seconds passed +... 58%, 407104 KB, 48658 KB/s, 8 seconds passed +... 58%, 407136 KB, 48661 KB/s, 8 seconds passed +... 58%, 407168 KB, 48664 KB/s, 8 seconds passed +... 58%, 407200 KB, 48667 KB/s, 8 seconds passed +... 58%, 407232 KB, 48669 KB/s, 8 seconds passed +... 58%, 407264 KB, 48669 KB/s, 8 seconds passed +... 58%, 407296 KB, 48671 KB/s, 8 seconds passed +... 58%, 407328 KB, 48672 KB/s, 8 seconds passed +... 58%, 407360 KB, 48672 KB/s, 8 seconds passed +... 58%, 407392 KB, 48673 KB/s, 8 seconds passed +... 58%, 407424 KB, 48672 KB/s, 8 seconds passed +... 58%, 407456 KB, 48673 KB/s, 8 seconds passed +... 58%, 407488 KB, 48675 KB/s, 8 seconds passed +... 58%, 407520 KB, 48674 KB/s, 8 seconds passed +... 58%, 407552 KB, 48593 KB/s, 8 seconds passed +... 58%, 407584 KB, 48594 KB/s, 8 seconds passed +... 58%, 407616 KB, 48596 KB/s, 8 seconds passed +... 58%, 407648 KB, 48597 KB/s, 8 seconds passed +... 58%, 407680 KB, 48599 KB/s, 8 seconds passed +... 58%, 407712 KB, 48601 KB/s, 8 seconds passed +... 58%, 407744 KB, 48602 KB/s, 8 seconds passed +... 58%, 407776 KB, 48604 KB/s, 8 seconds passed +... 58%, 407808 KB, 48605 KB/s, 8 seconds passed +... 58%, 407840 KB, 48607 KB/s, 8 seconds passed +... 58%, 407872 KB, 48608 KB/s, 8 seconds passed +... 58%, 407904 KB, 48610 KB/s, 8 seconds passed +... 58%, 407936 KB, 48611 KB/s, 8 seconds passed +... 58%, 407968 KB, 48613 KB/s, 8 seconds passed +... 58%, 408000 KB, 48615 KB/s, 8 seconds passed +... 58%, 408032 KB, 48616 KB/s, 8 seconds passed +... 58%, 408064 KB, 48618 KB/s, 8 seconds passed +... 58%, 408096 KB, 48619 KB/s, 8 seconds passed +... 58%, 408128 KB, 48621 KB/s, 8 seconds passed +... 58%, 408160 KB, 48623 KB/s, 8 seconds passed +... 58%, 408192 KB, 48624 KB/s, 8 seconds passed +... 58%, 408224 KB, 48626 KB/s, 8 seconds passed +... 58%, 408256 KB, 48627 KB/s, 8 seconds passed +... 58%, 408288 KB, 48629 KB/s, 8 seconds passed +... 58%, 408320 KB, 48631 KB/s, 8 seconds passed +... 58%, 408352 KB, 48632 KB/s, 8 seconds passed +... 58%, 408384 KB, 48634 KB/s, 8 seconds passed +... 58%, 408416 KB, 48635 KB/s, 8 seconds passed +... 58%, 408448 KB, 48637 KB/s, 8 seconds passed +... 58%, 408480 KB, 48639 KB/s, 8 seconds passed +... 58%, 408512 KB, 48640 KB/s, 8 seconds passed +... 58%, 408544 KB, 48642 KB/s, 8 seconds passed +... 58%, 408576 KB, 48643 KB/s, 8 seconds passed +... 58%, 408608 KB, 48645 KB/s, 8 seconds passed +... 58%, 408640 KB, 48646 KB/s, 8 seconds passed +... 58%, 408672 KB, 48648 KB/s, 8 seconds passed +... 58%, 408704 KB, 48649 KB/s, 8 seconds passed +... 58%, 408736 KB, 48651 KB/s, 8 seconds passed +... 58%, 408768 KB, 48653 KB/s, 8 seconds passed +... 58%, 408800 KB, 48654 KB/s, 8 seconds passed +... 58%, 408832 KB, 48656 KB/s, 8 seconds passed +... 58%, 408864 KB, 48658 KB/s, 8 seconds passed +... 58%, 408896 KB, 48659 KB/s, 8 seconds passed +... 58%, 408928 KB, 48661 KB/s, 8 seconds passed +... 58%, 408960 KB, 48662 KB/s, 8 seconds passed +... 58%, 408992 KB, 48664 KB/s, 8 seconds passed +... 58%, 409024 KB, 48666 KB/s, 8 seconds passed +... 58%, 409056 KB, 48669 KB/s, 8 seconds passed +... 58%, 409088 KB, 48671 KB/s, 8 seconds passed +... 58%, 409120 KB, 48674 KB/s, 8 seconds passed +... 58%, 409152 KB, 48677 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 58%, 409184 KB, 48679 KB/s, 8 seconds passed +... 58%, 409216 KB, 48682 KB/s, 8 seconds passed +... 58%, 409248 KB, 48685 KB/s, 8 seconds passed +... 58%, 409280 KB, 48687 KB/s, 8 seconds passed +... 58%, 409312 KB, 48690 KB/s, 8 seconds passed +... 58%, 409344 KB, 48693 KB/s, 8 seconds passed +... 58%, 409376 KB, 48696 KB/s, 8 seconds passed +... 58%, 409408 KB, 48698 KB/s, 8 seconds passed +... 58%, 409440 KB, 48701 KB/s, 8 seconds passed +... 58%, 409472 KB, 48704 KB/s, 8 seconds passed +... 58%, 409504 KB, 48706 KB/s, 8 seconds passed +... 58%, 409536 KB, 48709 KB/s, 8 seconds passed +... 58%, 409568 KB, 48712 KB/s, 8 seconds passed +... 58%, 409600 KB, 48574 KB/s, 8 seconds passed +... 58%, 409632 KB, 48575 KB/s, 8 seconds passed +... 58%, 409664 KB, 48576 KB/s, 8 seconds passed +... 58%, 409696 KB, 48578 KB/s, 8 seconds passed +... 58%, 409728 KB, 48579 KB/s, 8 seconds passed +... 58%, 409760 KB, 48581 KB/s, 8 seconds passed +... 58%, 409792 KB, 48583 KB/s, 8 seconds passed +... 58%, 409824 KB, 48584 KB/s, 8 seconds passed +... 58%, 409856 KB, 48586 KB/s, 8 seconds passed +... 58%, 409888 KB, 48587 KB/s, 8 seconds passed +... 58%, 409920 KB, 48589 KB/s, 8 seconds passed +... 58%, 409952 KB, 48590 KB/s, 8 seconds passed +... 58%, 409984 KB, 48592 KB/s, 8 seconds passed +... 58%, 410016 KB, 48593 KB/s, 8 seconds passed +... 58%, 410048 KB, 48595 KB/s, 8 seconds passed +... 58%, 410080 KB, 48597 KB/s, 8 seconds passed +... 58%, 410112 KB, 48598 KB/s, 8 seconds passed +... 58%, 410144 KB, 48600 KB/s, 8 seconds passed +... 58%, 410176 KB, 48601 KB/s, 8 seconds passed +... 58%, 410208 KB, 48603 KB/s, 8 seconds passed +... 58%, 410240 KB, 48604 KB/s, 8 seconds passed +... 58%, 410272 KB, 48606 KB/s, 8 seconds passed +... 58%, 410304 KB, 48607 KB/s, 8 seconds passed +... 58%, 410336 KB, 48609 KB/s, 8 seconds passed +... 59%, 410368 KB, 48610 KB/s, 8 seconds passed +... 59%, 410400 KB, 48612 KB/s, 8 seconds passed +... 59%, 410432 KB, 48614 KB/s, 8 seconds passed +... 59%, 410464 KB, 48615 KB/s, 8 seconds passed +... 59%, 410496 KB, 48617 KB/s, 8 seconds passed +... 59%, 410528 KB, 48618 KB/s, 8 seconds passed +... 59%, 410560 KB, 48620 KB/s, 8 seconds passed +... 59%, 410592 KB, 48621 KB/s, 8 seconds passed +... 59%, 410624 KB, 48623 KB/s, 8 seconds passed +... 59%, 410656 KB, 48625 KB/s, 8 seconds passed +... 59%, 410688 KB, 48627 KB/s, 8 seconds passed +... 59%, 410720 KB, 48629 KB/s, 8 seconds passed +... 59%, 410752 KB, 48632 KB/s, 8 seconds passed +... 59%, 410784 KB, 48634 KB/s, 8 seconds passed +... 59%, 410816 KB, 48636 KB/s, 8 seconds passed +... 59%, 410848 KB, 48639 KB/s, 8 seconds passed +... 59%, 410880 KB, 48641 KB/s, 8 seconds passed +... 59%, 410912 KB, 48643 KB/s, 8 seconds passed +... 59%, 410944 KB, 48646 KB/s, 8 seconds passed +... 59%, 410976 KB, 48648 KB/s, 8 seconds passed +... 59%, 411008 KB, 48650 KB/s, 8 seconds passed +... 59%, 411040 KB, 48653 KB/s, 8 seconds passed +... 59%, 411072 KB, 48655 KB/s, 8 seconds passed +... 59%, 411104 KB, 48657 KB/s, 8 seconds passed +... 59%, 411136 KB, 48660 KB/s, 8 seconds passed +... 59%, 411168 KB, 48662 KB/s, 8 seconds passed +... 59%, 411200 KB, 48665 KB/s, 8 seconds passed +... 59%, 411232 KB, 48667 KB/s, 8 seconds passed +... 59%, 411264 KB, 48669 KB/s, 8 seconds passed +... 59%, 411296 KB, 48672 KB/s, 8 seconds passed +... 59%, 411328 KB, 48674 KB/s, 8 seconds passed +... 59%, 411360 KB, 48676 KB/s, 8 seconds passed +... 59%, 411392 KB, 48679 KB/s, 8 seconds passed +... 59%, 411424 KB, 48681 KB/s, 8 seconds passed +... 59%, 411456 KB, 48683 KB/s, 8 seconds passed +... 59%, 411488 KB, 48686 KB/s, 8 seconds passed +... 59%, 411520 KB, 48688 KB/s, 8 seconds passed +... 59%, 411552 KB, 48691 KB/s, 8 seconds passed +... 59%, 411584 KB, 48693 KB/s, 8 seconds passed +... 59%, 411616 KB, 48695 KB/s, 8 seconds passed +... 59%, 411648 KB, 48698 KB/s, 8 seconds passed +... 59%, 411680 KB, 48700 KB/s, 8 seconds passed +... 59%, 411712 KB, 48703 KB/s, 8 seconds passed +... 59%, 411744 KB, 48705 KB/s, 8 seconds passed +... 59%, 411776 KB, 48707 KB/s, 8 seconds passed +... 59%, 411808 KB, 48710 KB/s, 8 seconds passed +... 59%, 411840 KB, 48712 KB/s, 8 seconds passed +... 59%, 411872 KB, 48715 KB/s, 8 seconds passed +... 59%, 411904 KB, 48717 KB/s, 8 seconds passed +... 59%, 411936 KB, 48719 KB/s, 8 seconds passed +... 59%, 411968 KB, 48722 KB/s, 8 seconds passed +... 59%, 412000 KB, 48725 KB/s, 8 seconds passed +... 59%, 412032 KB, 48728 KB/s, 8 seconds passed +... 59%, 412064 KB, 48730 KB/s, 8 seconds passed +... 59%, 412096 KB, 48733 KB/s, 8 seconds passed +... 59%, 412128 KB, 48736 KB/s, 8 seconds passed +... 59%, 412160 KB, 48739 KB/s, 8 seconds passed +... 59%, 412192 KB, 48742 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 59%, 412224 KB, 48745 KB/s, 8 seconds passed +... 59%, 412256 KB, 48747 KB/s, 8 seconds passed +... 59%, 412288 KB, 48750 KB/s, 8 seconds passed +... 59%, 412320 KB, 48753 KB/s, 8 seconds passed +... 59%, 412352 KB, 48756 KB/s, 8 seconds passed +... 59%, 412384 KB, 48759 KB/s, 8 seconds passed +... 59%, 412416 KB, 48761 KB/s, 8 seconds passed +... 59%, 412448 KB, 48764 KB/s, 8 seconds passed +... 59%, 412480 KB, 48767 KB/s, 8 seconds passed +... 59%, 412512 KB, 48769 KB/s, 8 seconds passed +... 59%, 412544 KB, 48771 KB/s, 8 seconds passed +... 59%, 412576 KB, 48773 KB/s, 8 seconds passed +... 59%, 412608 KB, 48776 KB/s, 8 seconds passed +... 59%, 412640 KB, 48778 KB/s, 8 seconds passed +... 59%, 412672 KB, 48780 KB/s, 8 seconds passed +... 59%, 412704 KB, 48679 KB/s, 8 seconds passed +... 59%, 412736 KB, 48680 KB/s, 8 seconds passed +... 59%, 412768 KB, 48681 KB/s, 8 seconds passed +... 59%, 412800 KB, 48683 KB/s, 8 seconds passed +... 59%, 412832 KB, 48684 KB/s, 8 seconds passed +... 59%, 412864 KB, 48686 KB/s, 8 seconds passed +... 59%, 412896 KB, 48687 KB/s, 8 seconds passed +... 59%, 412928 KB, 48689 KB/s, 8 seconds passed +... 59%, 412960 KB, 48690 KB/s, 8 seconds passed +... 59%, 412992 KB, 48692 KB/s, 8 seconds passed +... 59%, 413024 KB, 48694 KB/s, 8 seconds passed +... 59%, 413056 KB, 48695 KB/s, 8 seconds passed +... 59%, 413088 KB, 48697 KB/s, 8 seconds passed +... 59%, 413120 KB, 48698 KB/s, 8 seconds passed +... 59%, 413152 KB, 48700 KB/s, 8 seconds passed +... 59%, 413184 KB, 48701 KB/s, 8 seconds passed +... 59%, 413216 KB, 48703 KB/s, 8 seconds passed +... 59%, 413248 KB, 48705 KB/s, 8 seconds passed +... 59%, 413280 KB, 48706 KB/s, 8 seconds passed +... 59%, 413312 KB, 48708 KB/s, 8 seconds passed +... 59%, 413344 KB, 48709 KB/s, 8 seconds passed +... 59%, 413376 KB, 48711 KB/s, 8 seconds passed +... 59%, 413408 KB, 48713 KB/s, 8 seconds passed +... 59%, 413440 KB, 48714 KB/s, 8 seconds passed +... 59%, 413472 KB, 48715 KB/s, 8 seconds passed +... 59%, 413504 KB, 48717 KB/s, 8 seconds passed +... 59%, 413536 KB, 48719 KB/s, 8 seconds passed +... 59%, 413568 KB, 48720 KB/s, 8 seconds passed +... 59%, 413600 KB, 48722 KB/s, 8 seconds passed +... 59%, 413632 KB, 48723 KB/s, 8 seconds passed +... 59%, 413664 KB, 48725 KB/s, 8 seconds passed +... 59%, 413696 KB, 48727 KB/s, 8 seconds passed +... 59%, 413728 KB, 48728 KB/s, 8 seconds passed +... 59%, 413760 KB, 48730 KB/s, 8 seconds passed +... 59%, 413792 KB, 48731 KB/s, 8 seconds passed +... 59%, 413824 KB, 48733 KB/s, 8 seconds passed +... 59%, 413856 KB, 48734 KB/s, 8 seconds passed +... 59%, 413888 KB, 48736 KB/s, 8 seconds passed +... 59%, 413920 KB, 48737 KB/s, 8 seconds passed +... 59%, 413952 KB, 48739 KB/s, 8 seconds passed +... 59%, 413984 KB, 48740 KB/s, 8 seconds passed +... 59%, 414016 KB, 48742 KB/s, 8 seconds passed +... 59%, 414048 KB, 48744 KB/s, 8 seconds passed +... 59%, 414080 KB, 48745 KB/s, 8 seconds passed +... 59%, 414112 KB, 48747 KB/s, 8 seconds passed +... 59%, 414144 KB, 48749 KB/s, 8 seconds passed +... 59%, 414176 KB, 48751 KB/s, 8 seconds passed +... 59%, 414208 KB, 48754 KB/s, 8 seconds passed +... 59%, 414240 KB, 48756 KB/s, 8 seconds passed +... 59%, 414272 KB, 48759 KB/s, 8 seconds passed +... 59%, 414304 KB, 48762 KB/s, 8 seconds passed +... 59%, 414336 KB, 48764 KB/s, 8 seconds passed +... 59%, 414368 KB, 48767 KB/s, 8 seconds passed +... 59%, 414400 KB, 48770 KB/s, 8 seconds passed +... 59%, 414432 KB, 48772 KB/s, 8 seconds passed +... 59%, 414464 KB, 48775 KB/s, 8 seconds passed +... 59%, 414496 KB, 48778 KB/s, 8 seconds passed +... 59%, 414528 KB, 48780 KB/s, 8 seconds passed +... 59%, 414560 KB, 48783 KB/s, 8 seconds passed +... 59%, 414592 KB, 48786 KB/s, 8 seconds passed +... 59%, 414624 KB, 48788 KB/s, 8 seconds passed +... 59%, 414656 KB, 48791 KB/s, 8 seconds passed +... 59%, 414688 KB, 48794 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 59%, 414720 KB, 48606 KB/s, 8 seconds passed +... 59%, 414752 KB, 48606 KB/s, 8 seconds passed +... 59%, 414784 KB, 48608 KB/s, 8 seconds passed +... 59%, 414816 KB, 48609 KB/s, 8 seconds passed +... 59%, 414848 KB, 48611 KB/s, 8 seconds passed +... 59%, 414880 KB, 48612 KB/s, 8 seconds passed +... 59%, 414912 KB, 48614 KB/s, 8 seconds passed +... 59%, 414944 KB, 48615 KB/s, 8 seconds passed +... 59%, 414976 KB, 48617 KB/s, 8 seconds passed +... 59%, 415008 KB, 48618 KB/s, 8 seconds passed +... 59%, 415040 KB, 48620 KB/s, 8 seconds passed +... 59%, 415072 KB, 48622 KB/s, 8 seconds passed +... 59%, 415104 KB, 48623 KB/s, 8 seconds passed +... 59%, 415136 KB, 48625 KB/s, 8 seconds passed +... 59%, 415168 KB, 48626 KB/s, 8 seconds passed +... 59%, 415200 KB, 48628 KB/s, 8 seconds passed +... 59%, 415232 KB, 48629 KB/s, 8 seconds passed +... 59%, 415264 KB, 48631 KB/s, 8 seconds passed +... 59%, 415296 KB, 48632 KB/s, 8 seconds passed +... 59%, 415328 KB, 48634 KB/s, 8 seconds passed +... 59%, 415360 KB, 48635 KB/s, 8 seconds passed +... 59%, 415392 KB, 48637 KB/s, 8 seconds passed +... 59%, 415424 KB, 48638 KB/s, 8 seconds passed +... 59%, 415456 KB, 48640 KB/s, 8 seconds passed +... 59%, 415488 KB, 48641 KB/s, 8 seconds passed +... 59%, 415520 KB, 48643 KB/s, 8 seconds passed +... 59%, 415552 KB, 48645 KB/s, 8 seconds passed +... 59%, 415584 KB, 48646 KB/s, 8 seconds passed +... 59%, 415616 KB, 48648 KB/s, 8 seconds passed +... 59%, 415648 KB, 48650 KB/s, 8 seconds passed +... 59%, 415680 KB, 48652 KB/s, 8 seconds passed +... 59%, 415712 KB, 48654 KB/s, 8 seconds passed +... 59%, 415744 KB, 48655 KB/s, 8 seconds passed +... 59%, 415776 KB, 48657 KB/s, 8 seconds passed +... 59%, 415808 KB, 48658 KB/s, 8 seconds passed +... 59%, 415840 KB, 48660 KB/s, 8 seconds passed +... 59%, 415872 KB, 48662 KB/s, 8 seconds passed +... 59%, 415904 KB, 48664 KB/s, 8 seconds passed +... 59%, 415936 KB, 48667 KB/s, 8 seconds passed +... 59%, 415968 KB, 48669 KB/s, 8 seconds passed +... 59%, 416000 KB, 48671 KB/s, 8 seconds passed +... 59%, 416032 KB, 48674 KB/s, 8 seconds passed +... 59%, 416064 KB, 48676 KB/s, 8 seconds passed +... 59%, 416096 KB, 48678 KB/s, 8 seconds passed +... 59%, 416128 KB, 48680 KB/s, 8 seconds passed +... 59%, 416160 KB, 48683 KB/s, 8 seconds passed +... 59%, 416192 KB, 48685 KB/s, 8 seconds passed +... 59%, 416224 KB, 48687 KB/s, 8 seconds passed +... 59%, 416256 KB, 48690 KB/s, 8 seconds passed +... 59%, 416288 KB, 48692 KB/s, 8 seconds passed +... 59%, 416320 KB, 48694 KB/s, 8 seconds passed +... 59%, 416352 KB, 48697 KB/s, 8 seconds passed +... 59%, 416384 KB, 48699 KB/s, 8 seconds passed +... 59%, 416416 KB, 48702 KB/s, 8 seconds passed +... 59%, 416448 KB, 48704 KB/s, 8 seconds passed +... 59%, 416480 KB, 48706 KB/s, 8 seconds passed +... 59%, 416512 KB, 48708 KB/s, 8 seconds passed +... 59%, 416544 KB, 48711 KB/s, 8 seconds passed +... 59%, 416576 KB, 48713 KB/s, 8 seconds passed +... 59%, 416608 KB, 48715 KB/s, 8 seconds passed +... 59%, 416640 KB, 48718 KB/s, 8 seconds passed +... 59%, 416672 KB, 48720 KB/s, 8 seconds passed +... 59%, 416704 KB, 48722 KB/s, 8 seconds passed +... 59%, 416736 KB, 48725 KB/s, 8 seconds passed +... 59%, 416768 KB, 48727 KB/s, 8 seconds passed +... 59%, 416800 KB, 48729 KB/s, 8 seconds passed +... 59%, 416832 KB, 48732 KB/s, 8 seconds passed +... 59%, 416864 KB, 48734 KB/s, 8 seconds passed +... 59%, 416896 KB, 48736 KB/s, 8 seconds passed +... 59%, 416928 KB, 48739 KB/s, 8 seconds passed +... 59%, 416960 KB, 48741 KB/s, 8 seconds passed +... 59%, 416992 KB, 48743 KB/s, 8 seconds passed +... 59%, 417024 KB, 48746 KB/s, 8 seconds passed +... 59%, 417056 KB, 48748 KB/s, 8 seconds passed +... 59%, 417088 KB, 48750 KB/s, 8 seconds passed +... 59%, 417120 KB, 48753 KB/s, 8 seconds passed +... 59%, 417152 KB, 48755 KB/s, 8 seconds passed +... 59%, 417184 KB, 48757 KB/s, 8 seconds passed +... 59%, 417216 KB, 48760 KB/s, 8 seconds passed +... 59%, 417248 KB, 48763 KB/s, 8 seconds passed +... 59%, 417280 KB, 48766 KB/s, 8 seconds passed +... 60%, 417312 KB, 48769 KB/s, 8 seconds passed +... 60%, 417344 KB, 48771 KB/s, 8 seconds passed +... 60%, 417376 KB, 48774 KB/s, 8 seconds passed +... 60%, 417408 KB, 48777 KB/s, 8 seconds passed +... 60%, 417440 KB, 48780 KB/s, 8 seconds passed +... 60%, 417472 KB, 48782 KB/s, 8 seconds passed +... 60%, 417504 KB, 48784 KB/s, 8 seconds passed +... 60%, 417536 KB, 48786 KB/s, 8 seconds passed +... 60%, 417568 KB, 48789 KB/s, 8 seconds passed +... 60%, 417600 KB, 48791 KB/s, 8 seconds passed +... 60%, 417632 KB, 48793 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 60%, 417664 KB, 48796 KB/s, 8 seconds passed +... 60%, 417696 KB, 48798 KB/s, 8 seconds passed +... 60%, 417728 KB, 48799 KB/s, 8 seconds passed +... 60%, 417760 KB, 48801 KB/s, 8 seconds passed +... 60%, 417792 KB, 48804 KB/s, 8 seconds passed +... 60%, 417824 KB, 48806 KB/s, 8 seconds passed +... 60%, 417856 KB, 48808 KB/s, 8 seconds passed +... 60%, 417888 KB, 48810 KB/s, 8 seconds passed +... 60%, 417920 KB, 48812 KB/s, 8 seconds passed +... 60%, 417952 KB, 48815 KB/s, 8 seconds passed +... 60%, 417984 KB, 48817 KB/s, 8 seconds passed +... 60%, 418016 KB, 48819 KB/s, 8 seconds passed +... 60%, 418048 KB, 48821 KB/s, 8 seconds passed +... 60%, 418080 KB, 48823 KB/s, 8 seconds passed +... 60%, 418112 KB, 48825 KB/s, 8 seconds passed +... 60%, 418144 KB, 48828 KB/s, 8 seconds passed +... 60%, 418176 KB, 48829 KB/s, 8 seconds passed +... 60%, 418208 KB, 48831 KB/s, 8 seconds passed +... 60%, 418240 KB, 48834 KB/s, 8 seconds passed +... 60%, 418272 KB, 48836 KB/s, 8 seconds passed +... 60%, 418304 KB, 48838 KB/s, 8 seconds passed +... 60%, 418336 KB, 48840 KB/s, 8 seconds passed +... 60%, 418368 KB, 48843 KB/s, 8 seconds passed +... 60%, 418400 KB, 48845 KB/s, 8 seconds passed +... 60%, 418432 KB, 48846 KB/s, 8 seconds passed +... 60%, 418464 KB, 48849 KB/s, 8 seconds passed +... 60%, 418496 KB, 48851 KB/s, 8 seconds passed +... 60%, 418528 KB, 48853 KB/s, 8 seconds passed +... 60%, 418560 KB, 48855 KB/s, 8 seconds passed +... 60%, 418592 KB, 48857 KB/s, 8 seconds passed +... 60%, 418624 KB, 48859 KB/s, 8 seconds passed +... 60%, 418656 KB, 48846 KB/s, 8 seconds passed +... 60%, 418688 KB, 48848 KB/s, 8 seconds passed +... 60%, 418720 KB, 48849 KB/s, 8 seconds passed +... 60%, 418752 KB, 48852 KB/s, 8 seconds passed +... 60%, 418784 KB, 48855 KB/s, 8 seconds passed +... 60%, 418816 KB, 48857 KB/s, 8 seconds passed +... 60%, 418848 KB, 48860 KB/s, 8 seconds passed +... 60%, 418880 KB, 48862 KB/s, 8 seconds passed +... 60%, 418912 KB, 48864 KB/s, 8 seconds passed +... 60%, 418944 KB, 48866 KB/s, 8 seconds passed +... 60%, 418976 KB, 48868 KB/s, 8 seconds passed +... 60%, 419008 KB, 48870 KB/s, 8 seconds passed +... 60%, 419040 KB, 48872 KB/s, 8 seconds passed +... 60%, 419072 KB, 48874 KB/s, 8 seconds passed +... 60%, 419104 KB, 48877 KB/s, 8 seconds passed +... 60%, 419136 KB, 48878 KB/s, 8 seconds passed +... 60%, 419168 KB, 48879 KB/s, 8 seconds passed +... 60%, 419200 KB, 48881 KB/s, 8 seconds passed +... 60%, 419232 KB, 48884 KB/s, 8 seconds passed +... 60%, 419264 KB, 48887 KB/s, 8 seconds passed +... 60%, 419296 KB, 48890 KB/s, 8 seconds passed +... 60%, 419328 KB, 48891 KB/s, 8 seconds passed +... 60%, 419360 KB, 48893 KB/s, 8 seconds passed +... 60%, 419392 KB, 48895 KB/s, 8 seconds passed +... 60%, 419424 KB, 48896 KB/s, 8 seconds passed +... 60%, 419456 KB, 48898 KB/s, 8 seconds passed +... 60%, 419488 KB, 48900 KB/s, 8 seconds passed +... 60%, 419520 KB, 48901 KB/s, 8 seconds passed +... 60%, 419552 KB, 48903 KB/s, 8 seconds passed +... 60%, 419584 KB, 48904 KB/s, 8 seconds passed +... 60%, 419616 KB, 48906 KB/s, 8 seconds passed +... 60%, 419648 KB, 48908 KB/s, 8 seconds passed +... 60%, 419680 KB, 48909 KB/s, 8 seconds passed +... 60%, 419712 KB, 48911 KB/s, 8 seconds passed +... 60%, 419744 KB, 48913 KB/s, 8 seconds passed +... 60%, 419776 KB, 48915 KB/s, 8 seconds passed +... 60%, 419808 KB, 48917 KB/s, 8 seconds passed +... 60%, 419840 KB, 48834 KB/s, 8 seconds passed +... 60%, 419872 KB, 48835 KB/s, 8 seconds passed +... 60%, 419904 KB, 48836 KB/s, 8 seconds passed +... 60%, 419936 KB, 48838 KB/s, 8 seconds passed +... 60%, 419968 KB, 48839 KB/s, 8 seconds passed +... 60%, 420000 KB, 48841 KB/s, 8 seconds passed +... 60%, 420032 KB, 48842 KB/s, 8 seconds passed +... 60%, 420064 KB, 48844 KB/s, 8 seconds passed +... 60%, 420096 KB, 48845 KB/s, 8 seconds passed +... 60%, 420128 KB, 48847 KB/s, 8 seconds passed +... 60%, 420160 KB, 48848 KB/s, 8 seconds passed +... 60%, 420192 KB, 48850 KB/s, 8 seconds passed +... 60%, 420224 KB, 48852 KB/s, 8 seconds passed +... 60%, 420256 KB, 48853 KB/s, 8 seconds passed +... 60%, 420288 KB, 48855 KB/s, 8 seconds passed +... 60%, 420320 KB, 48856 KB/s, 8 seconds passed +... 60%, 420352 KB, 48858 KB/s, 8 seconds passed +... 60%, 420384 KB, 48859 KB/s, 8 seconds passed +... 60%, 420416 KB, 48861 KB/s, 8 seconds passed +... 60%, 420448 KB, 48862 KB/s, 8 seconds passed +... 60%, 420480 KB, 48864 KB/s, 8 seconds passed +... 60%, 420512 KB, 48865 KB/s, 8 seconds passed +... 60%, 420544 KB, 48867 KB/s, 8 seconds passed +... 60%, 420576 KB, 48869 KB/s, 8 seconds passed +... 60%, 420608 KB, 48871 KB/s, 8 seconds passed +... 60%, 420640 KB, 48873 KB/s, 8 seconds passed +... 60%, 420672 KB, 48874 KB/s, 8 seconds passed +... 60%, 420704 KB, 48876 KB/s, 8 seconds passed +... 60%, 420736 KB, 48878 KB/s, 8 seconds passed +... 60%, 420768 KB, 48880 KB/s, 8 seconds passed +... 60%, 420800 KB, 48882 KB/s, 8 seconds passed +... 60%, 420832 KB, 48884 KB/s, 8 seconds passed +... 60%, 420864 KB, 48886 KB/s, 8 seconds passed +... 60%, 420896 KB, 48888 KB/s, 8 seconds passed +... 60%, 420928 KB, 48890 KB/s, 8 seconds passed +... 60%, 420960 KB, 48892 KB/s, 8 seconds passed +... 60%, 420992 KB, 48894 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 60%, 421024 KB, 48896 KB/s, 8 seconds passed +... 60%, 421056 KB, 48898 KB/s, 8 seconds passed +... 60%, 421088 KB, 48900 KB/s, 8 seconds passed +... 60%, 421120 KB, 48902 KB/s, 8 seconds passed +... 60%, 421152 KB, 48904 KB/s, 8 seconds passed +... 60%, 421184 KB, 48906 KB/s, 8 seconds passed +... 60%, 421216 KB, 48908 KB/s, 8 seconds passed +... 60%, 421248 KB, 48910 KB/s, 8 seconds passed +... 60%, 421280 KB, 48912 KB/s, 8 seconds passed +... 60%, 421312 KB, 48914 KB/s, 8 seconds passed +... 60%, 421344 KB, 48916 KB/s, 8 seconds passed +... 60%, 421376 KB, 48918 KB/s, 8 seconds passed +... 60%, 421408 KB, 48920 KB/s, 8 seconds passed +... 60%, 421440 KB, 48922 KB/s, 8 seconds passed +... 60%, 421472 KB, 48924 KB/s, 8 seconds passed +... 60%, 421504 KB, 48925 KB/s, 8 seconds passed +... 60%, 421536 KB, 48927 KB/s, 8 seconds passed +... 60%, 421568 KB, 48929 KB/s, 8 seconds passed +... 60%, 421600 KB, 48931 KB/s, 8 seconds passed +... 60%, 421632 KB, 48934 KB/s, 8 seconds passed +... 60%, 421664 KB, 48936 KB/s, 8 seconds passed +... 60%, 421696 KB, 48939 KB/s, 8 seconds passed +... 60%, 421728 KB, 48941 KB/s, 8 seconds passed +... 60%, 421760 KB, 48944 KB/s, 8 seconds passed +... 60%, 421792 KB, 48946 KB/s, 8 seconds passed +... 60%, 421824 KB, 48949 KB/s, 8 seconds passed +... 60%, 421856 KB, 48952 KB/s, 8 seconds passed +... 60%, 421888 KB, 48954 KB/s, 8 seconds passed +... 60%, 421920 KB, 48957 KB/s, 8 seconds passed +... 60%, 421952 KB, 48959 KB/s, 8 seconds passed +... 60%, 421984 KB, 48962 KB/s, 8 seconds passed +... 60%, 422016 KB, 48964 KB/s, 8 seconds passed +... 60%, 422048 KB, 48966 KB/s, 8 seconds passed +... 60%, 422080 KB, 48969 KB/s, 8 seconds passed +... 60%, 422112 KB, 48971 KB/s, 8 seconds passed +... 60%, 422144 KB, 48974 KB/s, 8 seconds passed +... 60%, 422176 KB, 48976 KB/s, 8 seconds passed +... 60%, 422208 KB, 48979 KB/s, 8 seconds passed +... 60%, 422240 KB, 48981 KB/s, 8 seconds passed +... 60%, 422272 KB, 48984 KB/s, 8 seconds passed +... 60%, 422304 KB, 48987 KB/s, 8 seconds passed +... 60%, 422336 KB, 48989 KB/s, 8 seconds passed +... 60%, 422368 KB, 48992 KB/s, 8 seconds passed +... 60%, 422400 KB, 48994 KB/s, 8 seconds passed +... 60%, 422432 KB, 48997 KB/s, 8 seconds passed +... 60%, 422464 KB, 48999 KB/s, 8 seconds passed +... 60%, 422496 KB, 49002 KB/s, 8 seconds passed +... 60%, 422528 KB, 49004 KB/s, 8 seconds passed +... 60%, 422560 KB, 49007 KB/s, 8 seconds passed +... 60%, 422592 KB, 49010 KB/s, 8 seconds passed +... 60%, 422624 KB, 49012 KB/s, 8 seconds passed +... 60%, 422656 KB, 49015 KB/s, 8 seconds passed +... 60%, 422688 KB, 49017 KB/s, 8 seconds passed +... 60%, 422720 KB, 49020 KB/s, 8 seconds passed +... 60%, 422752 KB, 49022 KB/s, 8 seconds passed +... 60%, 422784 KB, 49025 KB/s, 8 seconds passed +... 60%, 422816 KB, 49027 KB/s, 8 seconds passed +... 60%, 422848 KB, 49030 KB/s, 8 seconds passed +... 60%, 422880 KB, 49032 KB/s, 8 seconds passed +... 60%, 422912 KB, 49035 KB/s, 8 seconds passed +... 60%, 422944 KB, 49037 KB/s, 8 seconds passed +... 60%, 422976 KB, 49040 KB/s, 8 seconds passed +... 60%, 423008 KB, 49043 KB/s, 8 seconds passed +... 60%, 423040 KB, 49045 KB/s, 8 seconds passed +... 60%, 423072 KB, 49048 KB/s, 8 seconds passed +... 60%, 423104 KB, 49050 KB/s, 8 seconds passed +... 60%, 423136 KB, 49053 KB/s, 8 seconds passed +... 60%, 423168 KB, 49056 KB/s, 8 seconds passed +... 60%, 423200 KB, 49058 KB/s, 8 seconds passed +... 60%, 423232 KB, 49060 KB/s, 8 seconds passed +... 60%, 423264 KB, 49062 KB/s, 8 seconds passed +... 60%, 423296 KB, 49064 KB/s, 8 seconds passed +... 60%, 423328 KB, 49066 KB/s, 8 seconds passed +... 60%, 423360 KB, 49068 KB/s, 8 seconds passed +... 60%, 423392 KB, 49071 KB/s, 8 seconds passed +... 60%, 423424 KB, 49073 KB/s, 8 seconds passed +... 60%, 423456 KB, 49075 KB/s, 8 seconds passed +... 60%, 423488 KB, 49076 KB/s, 8 seconds passed +... 60%, 423520 KB, 49079 KB/s, 8 seconds passed +... 60%, 423552 KB, 49081 KB/s, 8 seconds passed +... 60%, 423584 KB, 49084 KB/s, 8 seconds passed +... 60%, 423616 KB, 49086 KB/s, 8 seconds passed +... 60%, 423648 KB, 49088 KB/s, 8 seconds passed +... 60%, 423680 KB, 49077 KB/s, 8 seconds passed +... 60%, 423712 KB, 49079 KB/s, 8 seconds passed +... 60%, 423744 KB, 49081 KB/s, 8 seconds passed +... 60%, 423776 KB, 49083 KB/s, 8 seconds passed +... 60%, 423808 KB, 49085 KB/s, 8 seconds passed +... 60%, 423840 KB, 49087 KB/s, 8 seconds passed +... 60%, 423872 KB, 49089 KB/s, 8 seconds passed +... 60%, 423904 KB, 49091 KB/s, 8 seconds passed +... 60%, 423936 KB, 49093 KB/s, 8 seconds passed +... 60%, 423968 KB, 49096 KB/s, 8 seconds passed +... 60%, 424000 KB, 49098 KB/s, 8 seconds passed +... 60%, 424032 KB, 49100 KB/s, 8 seconds passed +... 60%, 424064 KB, 49102 KB/s, 8 seconds passed +... 60%, 424096 KB, 49104 KB/s, 8 seconds passed +... 60%, 424128 KB, 49106 KB/s, 8 seconds passed +... 60%, 424160 KB, 49108 KB/s, 8 seconds passed +... 60%, 424192 KB, 49110 KB/s, 8 seconds passed +... 60%, 424224 KB, 49105 KB/s, 8 seconds passed +... 60%, 424256 KB, 49105 KB/s, 8 seconds passed +... 61%, 424288 KB, 49108 KB/s, 8 seconds passed +... 61%, 424320 KB, 49110 KB/s, 8 seconds passed +... 61%, 424352 KB, 49112 KB/s, 8 seconds passed +... 61%, 424384 KB, 49114 KB/s, 8 seconds passed +... 61%, 424416 KB, 49116 KB/s, 8 seconds passed +... 61%, 424448 KB, 49118 KB/s, 8 seconds passed +... 61%, 424480 KB, 49121 KB/s, 8 seconds passed +... 61%, 424512 KB, 49123 KB/s, 8 seconds passed +... 61%, 424544 KB, 49125 KB/s, 8 seconds passed +... 61%, 424576 KB, 49127 KB/s, 8 seconds passed +... 61%, 424608 KB, 49129 KB/s, 8 seconds passed +... 61%, 424640 KB, 49131 KB/s, 8 seconds passed +... 61%, 424672 KB, 49133 KB/s, 8 seconds passed +... 61%, 424704 KB, 49136 KB/s, 8 seconds passed +... 61%, 424736 KB, 49138 KB/s, 8 seconds passed +... 61%, 424768 KB, 49140 KB/s, 8 seconds passed +... 61%, 424800 KB, 49142 KB/s, 8 seconds passed +... 61%, 424832 KB, 49144 KB/s, 8 seconds passed +... 61%, 424864 KB, 49146 KB/s, 8 seconds passed +... 61%, 424896 KB, 49148 KB/s, 8 seconds passed +... 61%, 424928 KB, 49150 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 61%, 424960 KB, 48993 KB/s, 8 seconds passed +... 61%, 424992 KB, 48993 KB/s, 8 seconds passed +... 61%, 425024 KB, 48995 KB/s, 8 seconds passed +... 61%, 425056 KB, 48996 KB/s, 8 seconds passed +... 61%, 425088 KB, 48997 KB/s, 8 seconds passed +... 61%, 425120 KB, 48998 KB/s, 8 seconds passed +... 61%, 425152 KB, 49000 KB/s, 8 seconds passed +... 61%, 425184 KB, 49002 KB/s, 8 seconds passed +... 61%, 425216 KB, 49003 KB/s, 8 seconds passed +... 61%, 425248 KB, 49005 KB/s, 8 seconds passed +... 61%, 425280 KB, 48998 KB/s, 8 seconds passed +... 61%, 425312 KB, 49000 KB/s, 8 seconds passed +... 61%, 425344 KB, 49001 KB/s, 8 seconds passed +... 61%, 425376 KB, 49003 KB/s, 8 seconds passed +... 61%, 425408 KB, 49004 KB/s, 8 seconds passed +... 61%, 425440 KB, 49006 KB/s, 8 seconds passed +... 61%, 425472 KB, 49008 KB/s, 8 seconds passed +... 61%, 425504 KB, 49009 KB/s, 8 seconds passed +... 61%, 425536 KB, 49011 KB/s, 8 seconds passed +... 61%, 425568 KB, 49012 KB/s, 8 seconds passed +... 61%, 425600 KB, 49014 KB/s, 8 seconds passed +... 61%, 425632 KB, 49015 KB/s, 8 seconds passed +... 61%, 425664 KB, 49017 KB/s, 8 seconds passed +... 61%, 425696 KB, 49019 KB/s, 8 seconds passed +... 61%, 425728 KB, 49020 KB/s, 8 seconds passed +... 61%, 425760 KB, 49022 KB/s, 8 seconds passed +... 61%, 425792 KB, 49023 KB/s, 8 seconds passed +... 61%, 425824 KB, 49025 KB/s, 8 seconds passed +... 61%, 425856 KB, 49026 KB/s, 8 seconds passed +... 61%, 425888 KB, 49028 KB/s, 8 seconds passed +... 61%, 425920 KB, 49030 KB/s, 8 seconds passed +... 61%, 425952 KB, 49031 KB/s, 8 seconds passed +... 61%, 425984 KB, 49033 KB/s, 8 seconds passed +... 61%, 426016 KB, 49035 KB/s, 8 seconds passed +... 61%, 426048 KB, 49037 KB/s, 8 seconds passed +... 61%, 426080 KB, 49039 KB/s, 8 seconds passed +... 61%, 426112 KB, 49041 KB/s, 8 seconds passed +... 61%, 426144 KB, 49043 KB/s, 8 seconds passed +... 61%, 426176 KB, 49045 KB/s, 8 seconds passed +... 61%, 426208 KB, 49047 KB/s, 8 seconds passed +... 61%, 426240 KB, 49049 KB/s, 8 seconds passed +... 61%, 426272 KB, 49051 KB/s, 8 seconds passed +... 61%, 426304 KB, 49053 KB/s, 8 seconds passed +... 61%, 426336 KB, 49055 KB/s, 8 seconds passed +... 61%, 426368 KB, 49057 KB/s, 8 seconds passed +... 61%, 426400 KB, 49059 KB/s, 8 seconds passed +... 61%, 426432 KB, 49061 KB/s, 8 seconds passed +... 61%, 426464 KB, 49063 KB/s, 8 seconds passed +... 61%, 426496 KB, 49064 KB/s, 8 seconds passed +... 61%, 426528 KB, 49067 KB/s, 8 seconds passed +... 61%, 426560 KB, 49068 KB/s, 8 seconds passed +... 61%, 426592 KB, 49070 KB/s, 8 seconds passed +... 61%, 426624 KB, 49072 KB/s, 8 seconds passed +... 61%, 426656 KB, 49074 KB/s, 8 seconds passed +... 61%, 426688 KB, 49076 KB/s, 8 seconds passed +... 61%, 426720 KB, 49078 KB/s, 8 seconds passed +... 61%, 426752 KB, 49080 KB/s, 8 seconds passed +... 61%, 426784 KB, 49082 KB/s, 8 seconds passed +... 61%, 426816 KB, 49084 KB/s, 8 seconds passed +... 61%, 426848 KB, 49086 KB/s, 8 seconds passed +... 61%, 426880 KB, 49088 KB/s, 8 seconds passed +... 61%, 426912 KB, 49090 KB/s, 8 seconds passed +... 61%, 426944 KB, 49092 KB/s, 8 seconds passed +... 61%, 426976 KB, 49095 KB/s, 8 seconds passed +... 61%, 427008 KB, 49097 KB/s, 8 seconds passed +... 61%, 427040 KB, 49100 KB/s, 8 seconds passed +... 61%, 427072 KB, 49102 KB/s, 8 seconds passed +... 61%, 427104 KB, 49105 KB/s, 8 seconds passed +... 61%, 427136 KB, 49107 KB/s, 8 seconds passed +... 61%, 427168 KB, 49110 KB/s, 8 seconds passed +... 61%, 427200 KB, 49112 KB/s, 8 seconds passed +... 61%, 427232 KB, 49115 KB/s, 8 seconds passed +... 61%, 427264 KB, 49117 KB/s, 8 seconds passed +... 61%, 427296 KB, 49120 KB/s, 8 seconds passed +... 61%, 427328 KB, 49122 KB/s, 8 seconds passed +... 61%, 427360 KB, 49125 KB/s, 8 seconds passed +... 61%, 427392 KB, 49127 KB/s, 8 seconds passed +... 61%, 427424 KB, 49130 KB/s, 8 seconds passed +... 61%, 427456 KB, 49132 KB/s, 8 seconds passed +... 61%, 427488 KB, 49135 KB/s, 8 seconds passed +... 61%, 427520 KB, 49137 KB/s, 8 seconds passed +... 61%, 427552 KB, 49140 KB/s, 8 seconds passed +... 61%, 427584 KB, 49142 KB/s, 8 seconds passed +... 61%, 427616 KB, 49145 KB/s, 8 seconds passed +... 61%, 427648 KB, 49147 KB/s, 8 seconds passed +... 61%, 427680 KB, 49150 KB/s, 8 seconds passed +... 61%, 427712 KB, 49152 KB/s, 8 seconds passed +... 61%, 427744 KB, 49155 KB/s, 8 seconds passed +... 61%, 427776 KB, 49157 KB/s, 8 seconds passed +... 61%, 427808 KB, 49160 KB/s, 8 seconds passed +... 61%, 427840 KB, 49162 KB/s, 8 seconds passed +... 61%, 427872 KB, 49165 KB/s, 8 seconds passed +... 61%, 427904 KB, 49168 KB/s, 8 seconds passed +... 61%, 427936 KB, 49170 KB/s, 8 seconds passed +... 61%, 427968 KB, 49172 KB/s, 8 seconds passed +... 61%, 428000 KB, 49175 KB/s, 8 seconds passed +... 61%, 428032 KB, 49177 KB/s, 8 seconds passed +... 61%, 428064 KB, 49180 KB/s, 8 seconds passed +... 61%, 428096 KB, 49183 KB/s, 8 seconds passed +... 61%, 428128 KB, 49185 KB/s, 8 seconds passed +... 61%, 428160 KB, 49188 KB/s, 8 seconds passed +... 61%, 428192 KB, 49190 KB/s, 8 seconds passed +... 61%, 428224 KB, 49192 KB/s, 8 seconds passed +... 61%, 428256 KB, 49194 KB/s, 8 seconds passed +... 61%, 428288 KB, 49197 KB/s, 8 seconds passed +... 61%, 428320 KB, 49199 KB/s, 8 seconds passed +... 61%, 428352 KB, 49201 KB/s, 8 seconds passed +... 61%, 428384 KB, 49202 KB/s, 8 seconds passed +... 61%, 428416 KB, 49205 KB/s, 8 seconds passed +... 61%, 428448 KB, 49207 KB/s, 8 seconds passed +... 61%, 428480 KB, 49209 KB/s, 8 seconds passed +... 61%, 428512 KB, 49211 KB/s, 8 seconds passed +... 61%, 428544 KB, 49213 KB/s, 8 seconds passed +... 61%, 428576 KB, 49215 KB/s, 8 seconds passed +... 61%, 428608 KB, 49218 KB/s, 8 seconds passed +... 61%, 428640 KB, 49219 KB/s, 8 seconds passed +... 61%, 428672 KB, 49222 KB/s, 8 seconds passed +... 61%, 428704 KB, 49224 KB/s, 8 seconds passed +... 61%, 428736 KB, 49226 KB/s, 8 seconds passed +... 61%, 428768 KB, 49227 KB/s, 8 seconds passed +... 61%, 428800 KB, 49228 KB/s, 8 seconds passed +... 61%, 428832 KB, 49230 KB/s, 8 seconds passed +... 61%, 428864 KB, 49226 KB/s, 8 seconds passed +... 61%, 428896 KB, 49228 KB/s, 8 seconds passed +... 61%, 428928 KB, 49230 KB/s, 8 seconds passed +... 61%, 428960 KB, 49233 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 61%, 428992 KB, 49235 KB/s, 8 seconds passed +... 61%, 429024 KB, 49237 KB/s, 8 seconds passed +... 61%, 429056 KB, 49239 KB/s, 8 seconds passed +... 61%, 429088 KB, 49241 KB/s, 8 seconds passed +... 61%, 429120 KB, 49243 KB/s, 8 seconds passed +... 61%, 429152 KB, 49245 KB/s, 8 seconds passed +... 61%, 429184 KB, 49247 KB/s, 8 seconds passed +... 61%, 429216 KB, 49249 KB/s, 8 seconds passed +... 61%, 429248 KB, 49251 KB/s, 8 seconds passed +... 61%, 429280 KB, 49253 KB/s, 8 seconds passed +... 61%, 429312 KB, 49255 KB/s, 8 seconds passed +... 61%, 429344 KB, 49258 KB/s, 8 seconds passed +... 61%, 429376 KB, 49260 KB/s, 8 seconds passed +... 61%, 429408 KB, 49262 KB/s, 8 seconds passed +... 61%, 429440 KB, 49263 KB/s, 8 seconds passed +... 61%, 429472 KB, 49266 KB/s, 8 seconds passed +... 61%, 429504 KB, 49268 KB/s, 8 seconds passed +... 61%, 429536 KB, 49270 KB/s, 8 seconds passed +... 61%, 429568 KB, 49272 KB/s, 8 seconds passed +... 61%, 429600 KB, 49274 KB/s, 8 seconds passed +... 61%, 429632 KB, 49277 KB/s, 8 seconds passed +... 61%, 429664 KB, 49278 KB/s, 8 seconds passed +... 61%, 429696 KB, 49280 KB/s, 8 seconds passed +... 61%, 429728 KB, 49283 KB/s, 8 seconds passed +... 61%, 429760 KB, 49285 KB/s, 8 seconds passed +... 61%, 429792 KB, 49287 KB/s, 8 seconds passed +... 61%, 429824 KB, 49289 KB/s, 8 seconds passed +... 61%, 429856 KB, 49291 KB/s, 8 seconds passed +... 61%, 429888 KB, 49293 KB/s, 8 seconds passed +... 61%, 429920 KB, 49296 KB/s, 8 seconds passed +... 61%, 429952 KB, 49298 KB/s, 8 seconds passed +... 61%, 429984 KB, 49300 KB/s, 8 seconds passed +... 61%, 430016 KB, 49302 KB/s, 8 seconds passed +... 61%, 430048 KB, 49303 KB/s, 8 seconds passed +... 61%, 430080 KB, 49133 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 61%, 430112 KB, 49076 KB/s, 8 seconds passed +... 61%, 430144 KB, 49076 KB/s, 8 seconds passed +... 61%, 430176 KB, 49078 KB/s, 8 seconds passed +... 61%, 430208 KB, 49079 KB/s, 8 seconds passed +... 61%, 430240 KB, 49081 KB/s, 8 seconds passed +... 61%, 430272 KB, 49082 KB/s, 8 seconds passed +... 61%, 430304 KB, 49084 KB/s, 8 seconds passed +... 61%, 430336 KB, 49085 KB/s, 8 seconds passed +... 61%, 430368 KB, 49086 KB/s, 8 seconds passed +... 61%, 430400 KB, 49088 KB/s, 8 seconds passed +... 61%, 430432 KB, 49090 KB/s, 8 seconds passed +... 61%, 430464 KB, 49091 KB/s, 8 seconds passed +... 61%, 430496 KB, 49093 KB/s, 8 seconds passed +... 61%, 430528 KB, 49094 KB/s, 8 seconds passed +... 61%, 430560 KB, 49096 KB/s, 8 seconds passed +... 61%, 430592 KB, 49097 KB/s, 8 seconds passed +... 61%, 430624 KB, 49099 KB/s, 8 seconds passed +... 61%, 430656 KB, 49100 KB/s, 8 seconds passed +... 61%, 430688 KB, 49102 KB/s, 8 seconds passed +... 61%, 430720 KB, 49103 KB/s, 8 seconds passed +... 61%, 430752 KB, 49105 KB/s, 8 seconds passed +... 61%, 430784 KB, 49106 KB/s, 8 seconds passed +... 61%, 430816 KB, 49108 KB/s, 8 seconds passed +... 61%, 430848 KB, 49109 KB/s, 8 seconds passed +... 61%, 430880 KB, 49111 KB/s, 8 seconds passed +... 61%, 430912 KB, 49112 KB/s, 8 seconds passed +... 61%, 430944 KB, 49114 KB/s, 8 seconds passed +... 61%, 430976 KB, 49115 KB/s, 8 seconds passed +... 61%, 431008 KB, 49117 KB/s, 8 seconds passed +... 61%, 431040 KB, 49118 KB/s, 8 seconds passed +... 61%, 431072 KB, 49120 KB/s, 8 seconds passed +... 61%, 431104 KB, 49122 KB/s, 8 seconds passed +... 61%, 431136 KB, 49123 KB/s, 8 seconds passed +... 61%, 431168 KB, 49125 KB/s, 8 seconds passed +... 61%, 431200 KB, 49126 KB/s, 8 seconds passed +... 62%, 431232 KB, 49128 KB/s, 8 seconds passed +... 62%, 431264 KB, 49130 KB/s, 8 seconds passed +... 62%, 431296 KB, 49133 KB/s, 8 seconds passed +... 62%, 431328 KB, 49135 KB/s, 8 seconds passed +... 62%, 431360 KB, 49137 KB/s, 8 seconds passed +... 62%, 431392 KB, 49140 KB/s, 8 seconds passed +... 62%, 431424 KB, 49142 KB/s, 8 seconds passed +... 62%, 431456 KB, 49144 KB/s, 8 seconds passed +... 62%, 431488 KB, 49146 KB/s, 8 seconds passed +... 62%, 431520 KB, 49148 KB/s, 8 seconds passed +... 62%, 431552 KB, 49151 KB/s, 8 seconds passed +... 62%, 431584 KB, 49153 KB/s, 8 seconds passed +... 62%, 431616 KB, 49155 KB/s, 8 seconds passed +... 62%, 431648 KB, 49158 KB/s, 8 seconds passed +... 62%, 431680 KB, 49160 KB/s, 8 seconds passed +... 62%, 431712 KB, 49162 KB/s, 8 seconds passed +... 62%, 431744 KB, 49164 KB/s, 8 seconds passed +... 62%, 431776 KB, 49167 KB/s, 8 seconds passed +... 62%, 431808 KB, 49169 KB/s, 8 seconds passed +... 62%, 431840 KB, 49171 KB/s, 8 seconds passed +... 62%, 431872 KB, 49173 KB/s, 8 seconds passed +... 62%, 431904 KB, 49176 KB/s, 8 seconds passed +... 62%, 431936 KB, 49178 KB/s, 8 seconds passed +... 62%, 431968 KB, 49180 KB/s, 8 seconds passed +... 62%, 432000 KB, 49182 KB/s, 8 seconds passed +... 62%, 432032 KB, 49185 KB/s, 8 seconds passed +... 62%, 432064 KB, 49187 KB/s, 8 seconds passed +... 62%, 432096 KB, 49189 KB/s, 8 seconds passed +... 62%, 432128 KB, 49192 KB/s, 8 seconds passed +... 62%, 432160 KB, 49194 KB/s, 8 seconds passed +... 62%, 432192 KB, 49196 KB/s, 8 seconds passed +... 62%, 432224 KB, 49199 KB/s, 8 seconds passed +... 62%, 432256 KB, 49201 KB/s, 8 seconds passed +... 62%, 432288 KB, 49203 KB/s, 8 seconds passed +... 62%, 432320 KB, 49205 KB/s, 8 seconds passed +... 62%, 432352 KB, 49208 KB/s, 8 seconds passed +... 62%, 432384 KB, 49210 KB/s, 8 seconds passed +... 62%, 432416 KB, 49212 KB/s, 8 seconds passed +... 62%, 432448 KB, 49215 KB/s, 8 seconds passed +... 62%, 432480 KB, 49217 KB/s, 8 seconds passed +... 62%, 432512 KB, 49219 KB/s, 8 seconds passed +... 62%, 432544 KB, 49222 KB/s, 8 seconds passed +... 62%, 432576 KB, 49224 KB/s, 8 seconds passed +... 62%, 432608 KB, 49227 KB/s, 8 seconds passed +... 62%, 432640 KB, 49230 KB/s, 8 seconds passed +... 62%, 432672 KB, 49232 KB/s, 8 seconds passed +... 62%, 432704 KB, 49235 KB/s, 8 seconds passed +... 62%, 432736 KB, 49238 KB/s, 8 seconds passed +... 62%, 432768 KB, 49240 KB/s, 8 seconds passed +... 62%, 432800 KB, 49243 KB/s, 8 seconds passed +... 62%, 432832 KB, 49246 KB/s, 8 seconds passed +... 62%, 432864 KB, 49249 KB/s, 8 seconds passed +... 62%, 432896 KB, 49251 KB/s, 8 seconds passed +... 62%, 432928 KB, 49254 KB/s, 8 seconds passed +... 62%, 432960 KB, 49257 KB/s, 8 seconds passed +... 62%, 432992 KB, 49259 KB/s, 8 seconds passed +... 62%, 433024 KB, 49262 KB/s, 8 seconds passed +... 62%, 433056 KB, 49265 KB/s, 8 seconds passed +... 62%, 433088 KB, 49268 KB/s, 8 seconds passed +... 62%, 433120 KB, 49270 KB/s, 8 seconds passed +... 62%, 433152 KB, 49273 KB/s, 8 seconds passed +... 62%, 433184 KB, 49276 KB/s, 8 seconds passed +... 62%, 433216 KB, 49278 KB/s, 8 seconds passed +... 62%, 433248 KB, 49280 KB/s, 8 seconds passed +... 62%, 433280 KB, 49282 KB/s, 8 seconds passed +... 62%, 433312 KB, 49284 KB/s, 8 seconds passed +... 62%, 433344 KB, 49285 KB/s, 8 seconds passed +... 62%, 433376 KB, 49288 KB/s, 8 seconds passed +... 62%, 433408 KB, 49291 KB/s, 8 seconds passed +... 62%, 433440 KB, 49292 KB/s, 8 seconds passed +... 62%, 433472 KB, 49295 KB/s, 8 seconds passed +... 62%, 433504 KB, 49297 KB/s, 8 seconds passed +... 62%, 433536 KB, 49298 KB/s, 8 seconds passed +... 62%, 433568 KB, 49300 KB/s, 8 seconds passed +... 62%, 433600 KB, 49303 KB/s, 8 seconds passed +... 62%, 433632 KB, 49305 KB/s, 8 seconds passed +... 62%, 433664 KB, 49307 KB/s, 8 seconds passed +... 62%, 433696 KB, 49309 KB/s, 8 seconds passed +... 62%, 433728 KB, 49311 KB/s, 8 seconds passed +... 62%, 433760 KB, 49313 KB/s, 8 seconds passed +... 62%, 433792 KB, 49315 KB/s, 8 seconds passed +... 62%, 433824 KB, 49317 KB/s, 8 seconds passed +... 62%, 433856 KB, 49319 KB/s, 8 seconds passed +... 62%, 433888 KB, 49322 KB/s, 8 seconds passed +... 62%, 433920 KB, 49324 KB/s, 8 seconds passed +... 62%, 433952 KB, 49326 KB/s, 8 seconds passed +... 62%, 433984 KB, 49328 KB/s, 8 seconds passed +... 62%, 434016 KB, 49330 KB/s, 8 seconds passed +... 62%, 434048 KB, 49332 KB/s, 8 seconds passed +... 62%, 434080 KB, 49335 KB/s, 8 seconds passed +... 62%, 434112 KB, 49336 KB/s, 8 seconds passed +... 62%, 434144 KB, 49338 KB/s, 8 seconds passed +... 62%, 434176 KB, 49339 KB/s, 8 seconds passed +... 62%, 434208 KB, 49340 KB/s, 8 seconds passed +... 62%, 434240 KB, 49342 KB/s, 8 seconds passed +... 62%, 434272 KB, 49345 KB/s, 8 seconds passed +... 62%, 434304 KB, 49347 KB/s, 8 seconds passed +... 62%, 434336 KB, 49350 KB/s, 8 seconds passed +... 62%, 434368 KB, 49353 KB/s, 8 seconds passed +... 62%, 434400 KB, 49355 KB/s, 8 seconds passed +... 62%, 434432 KB, 49357 KB/s, 8 seconds passed +... 62%, 434464 KB, 49359 KB/s, 8 seconds passed +... 62%, 434496 KB, 49361 KB/s, 8 seconds passed +... 62%, 434528 KB, 49363 KB/s, 8 seconds passed +... 62%, 434560 KB, 49364 KB/s, 8 seconds passed +... 62%, 434592 KB, 49366 KB/s, 8 seconds passed +... 62%, 434624 KB, 49369 KB/s, 8 seconds passed +... 62%, 434656 KB, 49371 KB/s, 8 seconds passed +... 62%, 434688 KB, 49372 KB/s, 8 seconds passed +... 62%, 434720 KB, 49373 KB/s, 8 seconds passed +... 62%, 434752 KB, 49375 KB/s, 8 seconds passed +... 62%, 434784 KB, 49377 KB/s, 8 seconds passed +... 62%, 434816 KB, 49380 KB/s, 8 seconds passed +... 62%, 434848 KB, 49383 KB/s, 8 seconds passed +... 62%, 434880 KB, 49385 KB/s, 8 seconds passed +... 62%, 434912 KB, 49387 KB/s, 8 seconds passed +... 62%, 434944 KB, 49390 KB/s, 8 seconds passed +... 62%, 434976 KB, 49392 KB/s, 8 seconds passed +... 62%, 435008 KB, 49392 KB/s, 8 seconds passed +... 62%, 435040 KB, 49394 KB/s, 8 seconds passed +... 62%, 435072 KB, 49396 KB/s, 8 seconds passed +... 62%, 435104 KB, 49398 KB/s, 8 seconds passed +... 62%, 435136 KB, 49400 KB/s, 8 seconds passed +... 62%, 435168 KB, 49402 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 62%, 435200 KB, 49203 KB/s, 8 seconds passed +... 62%, 435232 KB, 49203 KB/s, 8 seconds passed +... 62%, 435264 KB, 49205 KB/s, 8 seconds passed +... 62%, 435296 KB, 49206 KB/s, 8 seconds passed +... 62%, 435328 KB, 49207 KB/s, 8 seconds passed +... 62%, 435360 KB, 49206 KB/s, 8 seconds passed +... 62%, 435392 KB, 49208 KB/s, 8 seconds passed +... 62%, 435424 KB, 49209 KB/s, 8 seconds passed +... 62%, 435456 KB, 49210 KB/s, 8 seconds passed +... 62%, 435488 KB, 49212 KB/s, 8 seconds passed +... 62%, 435520 KB, 49214 KB/s, 8 seconds passed +... 62%, 435552 KB, 49215 KB/s, 8 seconds passed +... 62%, 435584 KB, 49217 KB/s, 8 seconds passed +... 62%, 435616 KB, 49219 KB/s, 8 seconds passed +... 62%, 435648 KB, 49220 KB/s, 8 seconds passed +... 62%, 435680 KB, 49222 KB/s, 8 seconds passed +... 62%, 435712 KB, 49224 KB/s, 8 seconds passed +... 62%, 435744 KB, 49225 KB/s, 8 seconds passed +... 62%, 435776 KB, 49227 KB/s, 8 seconds passed +... 62%, 435808 KB, 49229 KB/s, 8 seconds passed +... 62%, 435840 KB, 49230 KB/s, 8 seconds passed +... 62%, 435872 KB, 49232 KB/s, 8 seconds passed +... 62%, 435904 KB, 49234 KB/s, 8 seconds passed +... 62%, 435936 KB, 49235 KB/s, 8 seconds passed +... 62%, 435968 KB, 49237 KB/s, 8 seconds passed +... 62%, 436000 KB, 49238 KB/s, 8 seconds passed +... 62%, 436032 KB, 49240 KB/s, 8 seconds passed +... 62%, 436064 KB, 49242 KB/s, 8 seconds passed +... 62%, 436096 KB, 49243 KB/s, 8 seconds passed +... 62%, 436128 KB, 49245 KB/s, 8 seconds passed +... 62%, 436160 KB, 49246 KB/s, 8 seconds passed +... 62%, 436192 KB, 49248 KB/s, 8 seconds passed +... 62%, 436224 KB, 49250 KB/s, 8 seconds passed +... 62%, 436256 KB, 49251 KB/s, 8 seconds passed +... 62%, 436288 KB, 49253 KB/s, 8 seconds passed +... 62%, 436320 KB, 49255 KB/s, 8 seconds passed +... 62%, 436352 KB, 49256 KB/s, 8 seconds passed +... 62%, 436384 KB, 49259 KB/s, 8 seconds passed +... 62%, 436416 KB, 49261 KB/s, 8 seconds passed +... 62%, 436448 KB, 49263 KB/s, 8 seconds passed +... 62%, 436480 KB, 49266 KB/s, 8 seconds passed +... 62%, 436512 KB, 49268 KB/s, 8 seconds passed +... 62%, 436544 KB, 49270 KB/s, 8 seconds passed +... 62%, 436576 KB, 49273 KB/s, 8 seconds passed +... 62%, 436608 KB, 49275 KB/s, 8 seconds passed +... 62%, 436640 KB, 49277 KB/s, 8 seconds passed +... 62%, 436672 KB, 49280 KB/s, 8 seconds passed +... 62%, 436704 KB, 49282 KB/s, 8 seconds passed +... 62%, 436736 KB, 49284 KB/s, 8 seconds passed +... 62%, 436768 KB, 49286 KB/s, 8 seconds passed +... 62%, 436800 KB, 49289 KB/s, 8 seconds passed +... 62%, 436832 KB, 49291 KB/s, 8 seconds passed +... 62%, 436864 KB, 49293 KB/s, 8 seconds passed +... 62%, 436896 KB, 49296 KB/s, 8 seconds passed +... 62%, 436928 KB, 49298 KB/s, 8 seconds passed +... 62%, 436960 KB, 49300 KB/s, 8 seconds passed +... 62%, 436992 KB, 49303 KB/s, 8 seconds passed +... 62%, 437024 KB, 49305 KB/s, 8 seconds passed +... 62%, 437056 KB, 49307 KB/s, 8 seconds passed +... 62%, 437088 KB, 49310 KB/s, 8 seconds passed +... 62%, 437120 KB, 49312 KB/s, 8 seconds passed +... 62%, 437152 KB, 49314 KB/s, 8 seconds passed +... 62%, 437184 KB, 49317 KB/s, 8 seconds passed +... 62%, 437216 KB, 49319 KB/s, 8 seconds passed +... 62%, 437248 KB, 49321 KB/s, 8 seconds passed +... 62%, 437280 KB, 49324 KB/s, 8 seconds passed +... 62%, 437312 KB, 49326 KB/s, 8 seconds passed +... 62%, 437344 KB, 49328 KB/s, 8 seconds passed +... 62%, 437376 KB, 49331 KB/s, 8 seconds passed +... 62%, 437408 KB, 49333 KB/s, 8 seconds passed +... 62%, 437440 KB, 49335 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 62%, 437472 KB, 49338 KB/s, 8 seconds passed +... 62%, 437504 KB, 49340 KB/s, 8 seconds passed +... 62%, 437536 KB, 49342 KB/s, 8 seconds passed +... 62%, 437568 KB, 49344 KB/s, 8 seconds passed +... 62%, 437600 KB, 49347 KB/s, 8 seconds passed +... 62%, 437632 KB, 49349 KB/s, 8 seconds passed +... 62%, 437664 KB, 49352 KB/s, 8 seconds passed +... 62%, 437696 KB, 49354 KB/s, 8 seconds passed +... 62%, 437728 KB, 49356 KB/s, 8 seconds passed +... 62%, 437760 KB, 49359 KB/s, 8 seconds passed +... 62%, 437792 KB, 49362 KB/s, 8 seconds passed +... 62%, 437824 KB, 49364 KB/s, 8 seconds passed +... 62%, 437856 KB, 49367 KB/s, 8 seconds passed +... 62%, 437888 KB, 49368 KB/s, 8 seconds passed +... 62%, 437920 KB, 49370 KB/s, 8 seconds passed +... 62%, 437952 KB, 49372 KB/s, 8 seconds passed +... 62%, 437984 KB, 49375 KB/s, 8 seconds passed +... 62%, 438016 KB, 49377 KB/s, 8 seconds passed +... 62%, 438048 KB, 49379 KB/s, 8 seconds passed +... 62%, 438080 KB, 49381 KB/s, 8 seconds passed +... 62%, 438112 KB, 49383 KB/s, 8 seconds passed +... 62%, 438144 KB, 49385 KB/s, 8 seconds passed +... 63%, 438176 KB, 49388 KB/s, 8 seconds passed +... 63%, 438208 KB, 49389 KB/s, 8 seconds passed +... 63%, 438240 KB, 49391 KB/s, 8 seconds passed +... 63%, 438272 KB, 49393 KB/s, 8 seconds passed +... 63%, 438304 KB, 49395 KB/s, 8 seconds passed +... 63%, 438336 KB, 49397 KB/s, 8 seconds passed +... 63%, 438368 KB, 49400 KB/s, 8 seconds passed +... 63%, 438400 KB, 49402 KB/s, 8 seconds passed +... 63%, 438432 KB, 49404 KB/s, 8 seconds passed +... 63%, 438464 KB, 49406 KB/s, 8 seconds passed +... 63%, 438496 KB, 49408 KB/s, 8 seconds passed +... 63%, 438528 KB, 49410 KB/s, 8 seconds passed +... 63%, 438560 KB, 49413 KB/s, 8 seconds passed +... 63%, 438592 KB, 49415 KB/s, 8 seconds passed +... 63%, 438624 KB, 49415 KB/s, 8 seconds passed +... 63%, 438656 KB, 49417 KB/s, 8 seconds passed +... 63%, 438688 KB, 49420 KB/s, 8 seconds passed +... 63%, 438720 KB, 49422 KB/s, 8 seconds passed +... 63%, 438752 KB, 49424 KB/s, 8 seconds passed +... 63%, 438784 KB, 49426 KB/s, 8 seconds passed +... 63%, 438816 KB, 49429 KB/s, 8 seconds passed +... 63%, 438848 KB, 49430 KB/s, 8 seconds passed +... 63%, 438880 KB, 49432 KB/s, 8 seconds passed +... 63%, 438912 KB, 49434 KB/s, 8 seconds passed +... 63%, 438944 KB, 49436 KB/s, 8 seconds passed +... 63%, 438976 KB, 49438 KB/s, 8 seconds passed +... 63%, 439008 KB, 49440 KB/s, 8 seconds passed +... 63%, 439040 KB, 49443 KB/s, 8 seconds passed +... 63%, 439072 KB, 49445 KB/s, 8 seconds passed +... 63%, 439104 KB, 49435 KB/s, 8 seconds passed +... 63%, 439136 KB, 49437 KB/s, 8 seconds passed +... 63%, 439168 KB, 49440 KB/s, 8 seconds passed +... 63%, 439200 KB, 49442 KB/s, 8 seconds passed +... 63%, 439232 KB, 49444 KB/s, 8 seconds passed +... 63%, 439264 KB, 49445 KB/s, 8 seconds passed +... 63%, 439296 KB, 49446 KB/s, 8 seconds passed +... 63%, 439328 KB, 49449 KB/s, 8 seconds passed +... 63%, 439360 KB, 49452 KB/s, 8 seconds passed +... 63%, 439392 KB, 49454 KB/s, 8 seconds passed +... 63%, 439424 KB, 49456 KB/s, 8 seconds passed +... 63%, 439456 KB, 49457 KB/s, 8 seconds passed +... 63%, 439488 KB, 49459 KB/s, 8 seconds passed +... 63%, 439520 KB, 49461 KB/s, 8 seconds passed +... 63%, 439552 KB, 49463 KB/s, 8 seconds passed +... 63%, 439584 KB, 49466 KB/s, 8 seconds passed +... 63%, 439616 KB, 49467 KB/s, 8 seconds passed +... 63%, 439648 KB, 49469 KB/s, 8 seconds passed +... 63%, 439680 KB, 49472 KB/s, 8 seconds passed +... 63%, 439712 KB, 49474 KB/s, 8 seconds passed +... 63%, 439744 KB, 49477 KB/s, 8 seconds passed +... 63%, 439776 KB, 49479 KB/s, 8 seconds passed +... 63%, 439808 KB, 49481 KB/s, 8 seconds passed +... 63%, 439840 KB, 49482 KB/s, 8 seconds passed +... 63%, 439872 KB, 49483 KB/s, 8 seconds passed +... 63%, 439904 KB, 49486 KB/s, 8 seconds passed +... 63%, 439936 KB, 49488 KB/s, 8 seconds passed +... 63%, 439968 KB, 49490 KB/s, 8 seconds passed +... 63%, 440000 KB, 49493 KB/s, 8 seconds passed +... 63%, 440032 KB, 49495 KB/s, 8 seconds passed +... 63%, 440064 KB, 49497 KB/s, 8 seconds passed +... 63%, 440096 KB, 49498 KB/s, 8 seconds passed +... 63%, 440128 KB, 49499 KB/s, 8 seconds passed +... 63%, 440160 KB, 49502 KB/s, 8 seconds passed +... 63%, 440192 KB, 49505 KB/s, 8 seconds passed +... 63%, 440224 KB, 49507 KB/s, 8 seconds passed +... 63%, 440256 KB, 49509 KB/s, 8 seconds passed +... 63%, 440288 KB, 49511 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 63%, 440320 KB, 49290 KB/s, 8 seconds passed +... 63%, 440352 KB, 49291 KB/s, 8 seconds passed +... 63%, 440384 KB, 49292 KB/s, 8 seconds passed +... 63%, 440416 KB, 49294 KB/s, 8 seconds passed +... 63%, 440448 KB, 49295 KB/s, 8 seconds passed +... 63%, 440480 KB, 49297 KB/s, 8 seconds passed +... 63%, 440512 KB, 49298 KB/s, 8 seconds passed +... 63%, 440544 KB, 49300 KB/s, 8 seconds passed +... 63%, 440576 KB, 49302 KB/s, 8 seconds passed +... 63%, 440608 KB, 49303 KB/s, 8 seconds passed +... 63%, 440640 KB, 49305 KB/s, 8 seconds passed +... 63%, 440672 KB, 49306 KB/s, 8 seconds passed +... 63%, 440704 KB, 49308 KB/s, 8 seconds passed +... 63%, 440736 KB, 49310 KB/s, 8 seconds passed +... 63%, 440768 KB, 49311 KB/s, 8 seconds passed +... 63%, 440800 KB, 49313 KB/s, 8 seconds passed +... 63%, 440832 KB, 49314 KB/s, 8 seconds passed +... 63%, 440864 KB, 49316 KB/s, 8 seconds passed +... 63%, 440896 KB, 49317 KB/s, 8 seconds passed +... 63%, 440928 KB, 49319 KB/s, 8 seconds passed +... 63%, 440960 KB, 49321 KB/s, 8 seconds passed +... 63%, 440992 KB, 49323 KB/s, 8 seconds passed +... 63%, 441024 KB, 49324 KB/s, 8 seconds passed +... 63%, 441056 KB, 49326 KB/s, 8 seconds passed +... 63%, 441088 KB, 49327 KB/s, 8 seconds passed +... 63%, 441120 KB, 49329 KB/s, 8 seconds passed +... 63%, 441152 KB, 49331 KB/s, 8 seconds passed +... 63%, 441184 KB, 49332 KB/s, 8 seconds passed +... 63%, 441216 KB, 49334 KB/s, 8 seconds passed +... 63%, 441248 KB, 49335 KB/s, 8 seconds passed +... 63%, 441280 KB, 49337 KB/s, 8 seconds passed +... 63%, 441312 KB, 49338 KB/s, 8 seconds passed +... 63%, 441344 KB, 49340 KB/s, 8 seconds passed +... 63%, 441376 KB, 49342 KB/s, 8 seconds passed +... 63%, 441408 KB, 49343 KB/s, 8 seconds passed +... 63%, 441440 KB, 49345 KB/s, 8 seconds passed +... 63%, 441472 KB, 49347 KB/s, 8 seconds passed +... 63%, 441504 KB, 49348 KB/s, 8 seconds passed +... 63%, 441536 KB, 49350 KB/s, 8 seconds passed +... 63%, 441568 KB, 49351 KB/s, 8 seconds passed +... 63%, 441600 KB, 49353 KB/s, 8 seconds passed +... 63%, 441632 KB, 49355 KB/s, 8 seconds passed +... 63%, 441664 KB, 49356 KB/s, 8 seconds passed +... 63%, 441696 KB, 49358 KB/s, 8 seconds passed +... 63%, 441728 KB, 49360 KB/s, 8 seconds passed +... 63%, 441760 KB, 49363 KB/s, 8 seconds passed +... 63%, 441792 KB, 49365 KB/s, 8 seconds passed +... 63%, 441824 KB, 49367 KB/s, 8 seconds passed +... 63%, 441856 KB, 49369 KB/s, 8 seconds passed +... 63%, 441888 KB, 49372 KB/s, 8 seconds passed +... 63%, 441920 KB, 49374 KB/s, 8 seconds passed +... 63%, 441952 KB, 49376 KB/s, 8 seconds passed +... 63%, 441984 KB, 49378 KB/s, 8 seconds passed +... 63%, 442016 KB, 49381 KB/s, 8 seconds passed +... 63%, 442048 KB, 49383 KB/s, 8 seconds passed +... 63%, 442080 KB, 49385 KB/s, 8 seconds passed +... 63%, 442112 KB, 49387 KB/s, 8 seconds passed +... 63%, 442144 KB, 49390 KB/s, 8 seconds passed +... 63%, 442176 KB, 49392 KB/s, 8 seconds passed +... 63%, 442208 KB, 49394 KB/s, 8 seconds passed +... 63%, 442240 KB, 49397 KB/s, 8 seconds passed +... 63%, 442272 KB, 49399 KB/s, 8 seconds passed +... 63%, 442304 KB, 49401 KB/s, 8 seconds passed +... 63%, 442336 KB, 49403 KB/s, 8 seconds passed +... 63%, 442368 KB, 49406 KB/s, 8 seconds passed +... 63%, 442400 KB, 49408 KB/s, 8 seconds passed +... 63%, 442432 KB, 49410 KB/s, 8 seconds passed +... 63%, 442464 KB, 49413 KB/s, 8 seconds passed +... 63%, 442496 KB, 49415 KB/s, 8 seconds passed +... 63%, 442528 KB, 49417 KB/s, 8 seconds passed +... 63%, 442560 KB, 49420 KB/s, 8 seconds passed +... 63%, 442592 KB, 49422 KB/s, 8 seconds passed +... 63%, 442624 KB, 49424 KB/s, 8 seconds passed +... 63%, 442656 KB, 49426 KB/s, 8 seconds passed +... 63%, 442688 KB, 49429 KB/s, 8 seconds passed +... 63%, 442720 KB, 49431 KB/s, 8 seconds passed +... 63%, 442752 KB, 49433 KB/s, 8 seconds passed +... 63%, 442784 KB, 49436 KB/s, 8 seconds passed +... 63%, 442816 KB, 49438 KB/s, 8 seconds passed +... 63%, 442848 KB, 49440 KB/s, 8 seconds passed +... 63%, 442880 KB, 49443 KB/s, 8 seconds passed +... 63%, 442912 KB, 49445 KB/s, 8 seconds passed +... 63%, 442944 KB, 49447 KB/s, 8 seconds passed +... 63%, 442976 KB, 49450 KB/s, 8 seconds passed +... 63%, 443008 KB, 49452 KB/s, 8 seconds passed +... 63%, 443040 KB, 49454 KB/s, 8 seconds passed +... 63%, 443072 KB, 49456 KB/s, 8 seconds passed +... 63%, 443104 KB, 49459 KB/s, 8 seconds passed +... 63%, 443136 KB, 49461 KB/s, 8 seconds passed +... 63%, 443168 KB, 49463 KB/s, 8 seconds passed +... 63%, 443200 KB, 49466 KB/s, 8 seconds passed +... 63%, 443232 KB, 49468 KB/s, 8 seconds passed +... 63%, 443264 KB, 49470 KB/s, 8 seconds passed +... 63%, 443296 KB, 49473 KB/s, 8 seconds passed +... 63%, 443328 KB, 49476 KB/s, 8 seconds passed +... 63%, 443360 KB, 49479 KB/s, 8 seconds passed +... 63%, 443392 KB, 49481 KB/s, 8 seconds passed +... 63%, 443424 KB, 49484 KB/s, 8 seconds passed +... 63%, 443456 KB, 49487 KB/s, 8 seconds passed +... 63%, 443488 KB, 49490 KB/s, 8 seconds passed +... 63%, 443520 KB, 49492 KB/s, 8 seconds passed +... 63%, 443552 KB, 49495 KB/s, 8 seconds passed +... 63%, 443584 KB, 49497 KB/s, 8 seconds passed +... 63%, 443616 KB, 49499 KB/s, 8 seconds passed +... 63%, 443648 KB, 49502 KB/s, 8 seconds passed +... 63%, 443680 KB, 49504 KB/s, 8 seconds passed +... 63%, 443712 KB, 49506 KB/s, 8 seconds passed +... 63%, 443744 KB, 49508 KB/s, 8 seconds passed +... 63%, 443776 KB, 49509 KB/s, 8 seconds passed +... 63%, 443808 KB, 49510 KB/s, 8 seconds passed +... 63%, 443840 KB, 49512 KB/s, 8 seconds passed +... 63%, 443872 KB, 49515 KB/s, 8 seconds passed +... 63%, 443904 KB, 49517 KB/s, 8 seconds passed +... 63%, 443936 KB, 49520 KB/s, 8 seconds passed +... 63%, 443968 KB, 49522 KB/s, 8 seconds passed +... 63%, 444000 KB, 49524 KB/s, 8 seconds passed + +.. parsed-literal:: + + ... 63%, 444032 KB, 49452 KB/s, 8 seconds passed +... 63%, 444064 KB, 49453 KB/s, 8 seconds passed +... 63%, 444096 KB, 49455 KB/s, 8 seconds passed +... 63%, 444128 KB, 49456 KB/s, 8 seconds passed +... 63%, 444160 KB, 49458 KB/s, 8 seconds passed +... 63%, 444192 KB, 49460 KB/s, 8 seconds passed +... 63%, 444224 KB, 49461 KB/s, 8 seconds passed +... 63%, 444256 KB, 49463 KB/s, 8 seconds passed +... 63%, 444288 KB, 49464 KB/s, 8 seconds passed +... 63%, 444320 KB, 49466 KB/s, 8 seconds passed +... 63%, 444352 KB, 49468 KB/s, 8 seconds passed +... 63%, 444384 KB, 49469 KB/s, 8 seconds passed +... 63%, 444416 KB, 49471 KB/s, 8 seconds passed +... 63%, 444448 KB, 49473 KB/s, 8 seconds passed +... 63%, 444480 KB, 49474 KB/s, 8 seconds passed +... 63%, 444512 KB, 49476 KB/s, 8 seconds passed +... 63%, 444544 KB, 49478 KB/s, 8 seconds passed +... 63%, 444576 KB, 49479 KB/s, 8 seconds passed +... 63%, 444608 KB, 49481 KB/s, 8 seconds passed +... 63%, 444640 KB, 49483 KB/s, 8 seconds passed +... 63%, 444672 KB, 49484 KB/s, 8 seconds passed +... 63%, 444704 KB, 49486 KB/s, 8 seconds passed +... 63%, 444736 KB, 49488 KB/s, 8 seconds passed +... 63%, 444768 KB, 49489 KB/s, 8 seconds passed +... 63%, 444800 KB, 49491 KB/s, 8 seconds passed +... 63%, 444832 KB, 49493 KB/s, 8 seconds passed +... 63%, 444864 KB, 49494 KB/s, 8 seconds passed +... 63%, 444896 KB, 49496 KB/s, 8 seconds passed +... 63%, 444928 KB, 49498 KB/s, 8 seconds passed +... 63%, 444960 KB, 49499 KB/s, 8 seconds passed +... 63%, 444992 KB, 49501 KB/s, 8 seconds passed +... 63%, 445024 KB, 49503 KB/s, 8 seconds passed +... 63%, 445056 KB, 49505 KB/s, 8 seconds passed +... 63%, 445088 KB, 49507 KB/s, 8 seconds passed +... 63%, 445120 KB, 49510 KB/s, 8 seconds passed +... 64%, 445152 KB, 49512 KB/s, 8 seconds passed +... 64%, 445184 KB, 49514 KB/s, 8 seconds passed +... 64%, 445216 KB, 49517 KB/s, 8 seconds passed +... 64%, 445248 KB, 49519 KB/s, 8 seconds passed +... 64%, 445280 KB, 49521 KB/s, 8 seconds passed +... 64%, 445312 KB, 49524 KB/s, 8 seconds passed +... 64%, 445344 KB, 49526 KB/s, 8 seconds passed +... 64%, 445376 KB, 49529 KB/s, 8 seconds passed +... 64%, 445408 KB, 49531 KB/s, 8 seconds passed +... 64%, 445440 KB, 49379 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 64%, 445472 KB, 49380 KB/s, 9 seconds passed +... 64%, 445504 KB, 49382 KB/s, 9 seconds passed +... 64%, 445536 KB, 49384 KB/s, 9 seconds passed +... 64%, 445568 KB, 49385 KB/s, 9 seconds passed +... 64%, 445600 KB, 49387 KB/s, 9 seconds passed +... 64%, 445632 KB, 49389 KB/s, 9 seconds passed +... 64%, 445664 KB, 49390 KB/s, 9 seconds passed +... 64%, 445696 KB, 49392 KB/s, 9 seconds passed +... 64%, 445728 KB, 49394 KB/s, 9 seconds passed +... 64%, 445760 KB, 49396 KB/s, 9 seconds passed +... 64%, 445792 KB, 49397 KB/s, 9 seconds passed +... 64%, 445824 KB, 49399 KB/s, 9 seconds passed +... 64%, 445856 KB, 49401 KB/s, 9 seconds passed +... 64%, 445888 KB, 49403 KB/s, 9 seconds passed +... 64%, 445920 KB, 49405 KB/s, 9 seconds passed +... 64%, 445952 KB, 49407 KB/s, 9 seconds passed +... 64%, 445984 KB, 49408 KB/s, 9 seconds passed +... 64%, 446016 KB, 49410 KB/s, 9 seconds passed +... 64%, 446048 KB, 49412 KB/s, 9 seconds passed +... 64%, 446080 KB, 49414 KB/s, 9 seconds passed +... 64%, 446112 KB, 49416 KB/s, 9 seconds passed +... 64%, 446144 KB, 49417 KB/s, 9 seconds passed +... 64%, 446176 KB, 49419 KB/s, 9 seconds passed +... 64%, 446208 KB, 49421 KB/s, 9 seconds passed +... 64%, 446240 KB, 49423 KB/s, 9 seconds passed +... 64%, 446272 KB, 49425 KB/s, 9 seconds passed +... 64%, 446304 KB, 49427 KB/s, 9 seconds passed +... 64%, 446336 KB, 49429 KB/s, 9 seconds passed +... 64%, 446368 KB, 49431 KB/s, 9 seconds passed +... 64%, 446400 KB, 49433 KB/s, 9 seconds passed +... 64%, 446432 KB, 49435 KB/s, 9 seconds passed +... 64%, 446464 KB, 49437 KB/s, 9 seconds passed +... 64%, 446496 KB, 49439 KB/s, 9 seconds passed +... 64%, 446528 KB, 49441 KB/s, 9 seconds passed +... 64%, 446560 KB, 49443 KB/s, 9 seconds passed +... 64%, 446592 KB, 49445 KB/s, 9 seconds passed +... 64%, 446624 KB, 49448 KB/s, 9 seconds passed +... 64%, 446656 KB, 49450 KB/s, 9 seconds passed +... 64%, 446688 KB, 49452 KB/s, 9 seconds passed +... 64%, 446720 KB, 49454 KB/s, 9 seconds passed +... 64%, 446752 KB, 49456 KB/s, 9 seconds passed +... 64%, 446784 KB, 49458 KB/s, 9 seconds passed +... 64%, 446816 KB, 49460 KB/s, 9 seconds passed +... 64%, 446848 KB, 49463 KB/s, 9 seconds passed +... 64%, 446880 KB, 49465 KB/s, 9 seconds passed +... 64%, 446912 KB, 49467 KB/s, 9 seconds passed +... 64%, 446944 KB, 49469 KB/s, 9 seconds passed +... 64%, 446976 KB, 49471 KB/s, 9 seconds passed +... 64%, 447008 KB, 49473 KB/s, 9 seconds passed +... 64%, 447040 KB, 49475 KB/s, 9 seconds passed +... 64%, 447072 KB, 49478 KB/s, 9 seconds passed +... 64%, 447104 KB, 49480 KB/s, 9 seconds passed +... 64%, 447136 KB, 49482 KB/s, 9 seconds passed +... 64%, 447168 KB, 49484 KB/s, 9 seconds passed +... 64%, 447200 KB, 49486 KB/s, 9 seconds passed +... 64%, 447232 KB, 49488 KB/s, 9 seconds passed +... 64%, 447264 KB, 49491 KB/s, 9 seconds passed +... 64%, 447296 KB, 49493 KB/s, 9 seconds passed +... 64%, 447328 KB, 49495 KB/s, 9 seconds passed +... 64%, 447360 KB, 49497 KB/s, 9 seconds passed +... 64%, 447392 KB, 49499 KB/s, 9 seconds passed +... 64%, 447424 KB, 49501 KB/s, 9 seconds passed +... 64%, 447456 KB, 49504 KB/s, 9 seconds passed +... 64%, 447488 KB, 49506 KB/s, 9 seconds passed +... 64%, 447520 KB, 49508 KB/s, 9 seconds passed +... 64%, 447552 KB, 49510 KB/s, 9 seconds passed +... 64%, 447584 KB, 49512 KB/s, 9 seconds passed +... 64%, 447616 KB, 49515 KB/s, 9 seconds passed +... 64%, 447648 KB, 49518 KB/s, 9 seconds passed +... 64%, 447680 KB, 49520 KB/s, 9 seconds passed +... 64%, 447712 KB, 49522 KB/s, 9 seconds passed +... 64%, 447744 KB, 49524 KB/s, 9 seconds passed +... 64%, 447776 KB, 49526 KB/s, 9 seconds passed +... 64%, 447808 KB, 49529 KB/s, 9 seconds passed +... 64%, 447840 KB, 49531 KB/s, 9 seconds passed +... 64%, 447872 KB, 49533 KB/s, 9 seconds passed +... 64%, 447904 KB, 49535 KB/s, 9 seconds passed +... 64%, 447936 KB, 49537 KB/s, 9 seconds passed +... 64%, 447968 KB, 49533 KB/s, 9 seconds passed +... 64%, 448000 KB, 49534 KB/s, 9 seconds passed +... 64%, 448032 KB, 49536 KB/s, 9 seconds passed +... 64%, 448064 KB, 49539 KB/s, 9 seconds passed +... 64%, 448096 KB, 49541 KB/s, 9 seconds passed +... 64%, 448128 KB, 49542 KB/s, 9 seconds passed +... 64%, 448160 KB, 49544 KB/s, 9 seconds passed +... 64%, 448192 KB, 49546 KB/s, 9 seconds passed +... 64%, 448224 KB, 49549 KB/s, 9 seconds passed +... 64%, 448256 KB, 49551 KB/s, 9 seconds passed +... 64%, 448288 KB, 49553 KB/s, 9 seconds passed +... 64%, 448320 KB, 49555 KB/s, 9 seconds passed +... 64%, 448352 KB, 49556 KB/s, 9 seconds passed +... 64%, 448384 KB, 49557 KB/s, 9 seconds passed +... 64%, 448416 KB, 49558 KB/s, 9 seconds passed +... 64%, 448448 KB, 49560 KB/s, 9 seconds passed +... 64%, 448480 KB, 49563 KB/s, 9 seconds passed +... 64%, 448512 KB, 49565 KB/s, 9 seconds passed +... 64%, 448544 KB, 49568 KB/s, 9 seconds passed +... 64%, 448576 KB, 49571 KB/s, 9 seconds passed +... 64%, 448608 KB, 49573 KB/s, 9 seconds passed +... 64%, 448640 KB, 49575 KB/s, 9 seconds passed +... 64%, 448672 KB, 49577 KB/s, 9 seconds passed +... 64%, 448704 KB, 49579 KB/s, 9 seconds passed +... 64%, 448736 KB, 49580 KB/s, 9 seconds passed +... 64%, 448768 KB, 49581 KB/s, 9 seconds passed +... 64%, 448800 KB, 49583 KB/s, 9 seconds passed +... 64%, 448832 KB, 49585 KB/s, 9 seconds passed +... 64%, 448864 KB, 49587 KB/s, 9 seconds passed +... 64%, 448896 KB, 49590 KB/s, 9 seconds passed +... 64%, 448928 KB, 49518 KB/s, 9 seconds passed +... 64%, 448960 KB, 49519 KB/s, 9 seconds passed +... 64%, 448992 KB, 49520 KB/s, 9 seconds passed +... 64%, 449024 KB, 49521 KB/s, 9 seconds passed +... 64%, 449056 KB, 49522 KB/s, 9 seconds passed +... 64%, 449088 KB, 49524 KB/s, 9 seconds passed +... 64%, 449120 KB, 49525 KB/s, 9 seconds passed +... 64%, 449152 KB, 49526 KB/s, 9 seconds passed +... 64%, 449184 KB, 49528 KB/s, 9 seconds passed +... 64%, 449216 KB, 49529 KB/s, 9 seconds passed +... 64%, 449248 KB, 49531 KB/s, 9 seconds passed +... 64%, 449280 KB, 49532 KB/s, 9 seconds passed +... 64%, 449312 KB, 49534 KB/s, 9 seconds passed +... 64%, 449344 KB, 49535 KB/s, 9 seconds passed +... 64%, 449376 KB, 49537 KB/s, 9 seconds passed +... 64%, 449408 KB, 49538 KB/s, 9 seconds passed +... 64%, 449440 KB, 49540 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 64%, 449472 KB, 49541 KB/s, 9 seconds passed +... 64%, 449504 KB, 49543 KB/s, 9 seconds passed +... 64%, 449536 KB, 49544 KB/s, 9 seconds passed +... 64%, 449568 KB, 49546 KB/s, 9 seconds passed +... 64%, 449600 KB, 49548 KB/s, 9 seconds passed +... 64%, 449632 KB, 49550 KB/s, 9 seconds passed +... 64%, 449664 KB, 49552 KB/s, 9 seconds passed +... 64%, 449696 KB, 49554 KB/s, 9 seconds passed +... 64%, 449728 KB, 49496 KB/s, 9 seconds passed +... 64%, 449760 KB, 49496 KB/s, 9 seconds passed +... 64%, 449792 KB, 49497 KB/s, 9 seconds passed +... 64%, 449824 KB, 49499 KB/s, 9 seconds passed +... 64%, 449856 KB, 49500 KB/s, 9 seconds passed +... 64%, 449888 KB, 49502 KB/s, 9 seconds passed +... 64%, 449920 KB, 49503 KB/s, 9 seconds passed +... 64%, 449952 KB, 49504 KB/s, 9 seconds passed +... 64%, 449984 KB, 49506 KB/s, 9 seconds passed +... 64%, 450016 KB, 49507 KB/s, 9 seconds passed +... 64%, 450048 KB, 49509 KB/s, 9 seconds passed +... 64%, 450080 KB, 49510 KB/s, 9 seconds passed +... 64%, 450112 KB, 49512 KB/s, 9 seconds passed +... 64%, 450144 KB, 49513 KB/s, 9 seconds passed +... 64%, 450176 KB, 49514 KB/s, 9 seconds passed +... 64%, 450208 KB, 49516 KB/s, 9 seconds passed +... 64%, 450240 KB, 49518 KB/s, 9 seconds passed +... 64%, 450272 KB, 49519 KB/s, 9 seconds passed +... 64%, 450304 KB, 49520 KB/s, 9 seconds passed +... 64%, 450336 KB, 49522 KB/s, 9 seconds passed +... 64%, 450368 KB, 49524 KB/s, 9 seconds passed +... 64%, 450400 KB, 49526 KB/s, 9 seconds passed +... 64%, 450432 KB, 49528 KB/s, 9 seconds passed +... 64%, 450464 KB, 49530 KB/s, 9 seconds passed +... 64%, 450496 KB, 49532 KB/s, 9 seconds passed +... 64%, 450528 KB, 49534 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 64%, 450560 KB, 49168 KB/s, 9 seconds passed +... 64%, 450592 KB, 49169 KB/s, 9 seconds passed +... 64%, 450624 KB, 49170 KB/s, 9 seconds passed +... 64%, 450656 KB, 49171 KB/s, 9 seconds passed +... 64%, 450688 KB, 49173 KB/s, 9 seconds passed +... 64%, 450720 KB, 49174 KB/s, 9 seconds passed +... 64%, 450752 KB, 49175 KB/s, 9 seconds passed +... 64%, 450784 KB, 49177 KB/s, 9 seconds passed +... 64%, 450816 KB, 49178 KB/s, 9 seconds passed +... 64%, 450848 KB, 49180 KB/s, 9 seconds passed +... 64%, 450880 KB, 49181 KB/s, 9 seconds passed +... 64%, 450912 KB, 49183 KB/s, 9 seconds passed +... 64%, 450944 KB, 49184 KB/s, 9 seconds passed +... 64%, 450976 KB, 49186 KB/s, 9 seconds passed +... 64%, 451008 KB, 49187 KB/s, 9 seconds passed +... 64%, 451040 KB, 49188 KB/s, 9 seconds passed +... 64%, 451072 KB, 49190 KB/s, 9 seconds passed +... 64%, 451104 KB, 49191 KB/s, 9 seconds passed +... 64%, 451136 KB, 49192 KB/s, 9 seconds passed +... 64%, 451168 KB, 49194 KB/s, 9 seconds passed +... 64%, 451200 KB, 49195 KB/s, 9 seconds passed +... 64%, 451232 KB, 49197 KB/s, 9 seconds passed +... 64%, 451264 KB, 49198 KB/s, 9 seconds passed +... 64%, 451296 KB, 49200 KB/s, 9 seconds passed +... 64%, 451328 KB, 49201 KB/s, 9 seconds passed +... 64%, 451360 KB, 49203 KB/s, 9 seconds passed +... 64%, 451392 KB, 49204 KB/s, 9 seconds passed +... 64%, 451424 KB, 49206 KB/s, 9 seconds passed +... 64%, 451456 KB, 49207 KB/s, 9 seconds passed +... 64%, 451488 KB, 49209 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 64%, 451520 KB, 49210 KB/s, 9 seconds passed +... 64%, 451552 KB, 49211 KB/s, 9 seconds passed +... 64%, 451584 KB, 49213 KB/s, 9 seconds passed +... 64%, 451616 KB, 49214 KB/s, 9 seconds passed +... 64%, 451648 KB, 49215 KB/s, 9 seconds passed +... 64%, 451680 KB, 49217 KB/s, 9 seconds passed +... 64%, 451712 KB, 49218 KB/s, 9 seconds passed +... 64%, 451744 KB, 49220 KB/s, 9 seconds passed +... 64%, 451776 KB, 49221 KB/s, 9 seconds passed +... 64%, 451808 KB, 49223 KB/s, 9 seconds passed +... 64%, 451840 KB, 49224 KB/s, 9 seconds passed +... 64%, 451872 KB, 49226 KB/s, 9 seconds passed +... 64%, 451904 KB, 49227 KB/s, 9 seconds passed +... 64%, 451936 KB, 49229 KB/s, 9 seconds passed +... 64%, 451968 KB, 49230 KB/s, 9 seconds passed +... 64%, 452000 KB, 49232 KB/s, 9 seconds passed +... 64%, 452032 KB, 49234 KB/s, 9 seconds passed +... 64%, 452064 KB, 49236 KB/s, 9 seconds passed +... 65%, 452096 KB, 49238 KB/s, 9 seconds passed +... 65%, 452128 KB, 49240 KB/s, 9 seconds passed +... 65%, 452160 KB, 49242 KB/s, 9 seconds passed +... 65%, 452192 KB, 49245 KB/s, 9 seconds passed +... 65%, 452224 KB, 49247 KB/s, 9 seconds passed +... 65%, 452256 KB, 49249 KB/s, 9 seconds passed +... 65%, 452288 KB, 49251 KB/s, 9 seconds passed +... 65%, 452320 KB, 49253 KB/s, 9 seconds passed +... 65%, 452352 KB, 49255 KB/s, 9 seconds passed +... 65%, 452384 KB, 49258 KB/s, 9 seconds passed +... 65%, 452416 KB, 49260 KB/s, 9 seconds passed +... 65%, 452448 KB, 49262 KB/s, 9 seconds passed +... 65%, 452480 KB, 49264 KB/s, 9 seconds passed +... 65%, 452512 KB, 49266 KB/s, 9 seconds passed +... 65%, 452544 KB, 49269 KB/s, 9 seconds passed +... 65%, 452576 KB, 49271 KB/s, 9 seconds passed +... 65%, 452608 KB, 49273 KB/s, 9 seconds passed +... 65%, 452640 KB, 49275 KB/s, 9 seconds passed +... 65%, 452672 KB, 49277 KB/s, 9 seconds passed +... 65%, 452704 KB, 49280 KB/s, 9 seconds passed +... 65%, 452736 KB, 49282 KB/s, 9 seconds passed +... 65%, 452768 KB, 49285 KB/s, 9 seconds passed +... 65%, 452800 KB, 49287 KB/s, 9 seconds passed +... 65%, 452832 KB, 49289 KB/s, 9 seconds passed +... 65%, 452864 KB, 49291 KB/s, 9 seconds passed +... 65%, 452896 KB, 49294 KB/s, 9 seconds passed +... 65%, 452928 KB, 49296 KB/s, 9 seconds passed +... 65%, 452960 KB, 49227 KB/s, 9 seconds passed +... 65%, 452992 KB, 49228 KB/s, 9 seconds passed +... 65%, 453024 KB, 49229 KB/s, 9 seconds passed +... 65%, 453056 KB, 49231 KB/s, 9 seconds passed +... 65%, 453088 KB, 49232 KB/s, 9 seconds passed +... 65%, 453120 KB, 49233 KB/s, 9 seconds passed +... 65%, 453152 KB, 49235 KB/s, 9 seconds passed +... 65%, 453184 KB, 49237 KB/s, 9 seconds passed +... 65%, 453216 KB, 49238 KB/s, 9 seconds passed +... 65%, 453248 KB, 49208 KB/s, 9 seconds passed +... 65%, 453280 KB, 49209 KB/s, 9 seconds passed +... 65%, 453312 KB, 49210 KB/s, 9 seconds passed +... 65%, 453344 KB, 49212 KB/s, 9 seconds passed +... 65%, 453376 KB, 49213 KB/s, 9 seconds passed +... 65%, 453408 KB, 49215 KB/s, 9 seconds passed +... 65%, 453440 KB, 49216 KB/s, 9 seconds passed +... 65%, 453472 KB, 49218 KB/s, 9 seconds passed +... 65%, 453504 KB, 49219 KB/s, 9 seconds passed +... 65%, 453536 KB, 49220 KB/s, 9 seconds passed +... 65%, 453568 KB, 49222 KB/s, 9 seconds passed +... 65%, 453600 KB, 49223 KB/s, 9 seconds passed +... 65%, 453632 KB, 49225 KB/s, 9 seconds passed +... 65%, 453664 KB, 49226 KB/s, 9 seconds passed +... 65%, 453696 KB, 49227 KB/s, 9 seconds passed +... 65%, 453728 KB, 49229 KB/s, 9 seconds passed +... 65%, 453760 KB, 49230 KB/s, 9 seconds passed +... 65%, 453792 KB, 49232 KB/s, 9 seconds passed +... 65%, 453824 KB, 49233 KB/s, 9 seconds passed +... 65%, 453856 KB, 49234 KB/s, 9 seconds passed +... 65%, 453888 KB, 49236 KB/s, 9 seconds passed +... 65%, 453920 KB, 49237 KB/s, 9 seconds passed +... 65%, 453952 KB, 49238 KB/s, 9 seconds passed +... 65%, 453984 KB, 49240 KB/s, 9 seconds passed +... 65%, 454016 KB, 49241 KB/s, 9 seconds passed +... 65%, 454048 KB, 49243 KB/s, 9 seconds passed +... 65%, 454080 KB, 49244 KB/s, 9 seconds passed +... 65%, 454112 KB, 49246 KB/s, 9 seconds passed +... 65%, 454144 KB, 49248 KB/s, 9 seconds passed +... 65%, 454176 KB, 49250 KB/s, 9 seconds passed +... 65%, 454208 KB, 49252 KB/s, 9 seconds passed +... 65%, 454240 KB, 49255 KB/s, 9 seconds passed +... 65%, 454272 KB, 49257 KB/s, 9 seconds passed +... 65%, 454304 KB, 49259 KB/s, 9 seconds passed +... 65%, 454336 KB, 49261 KB/s, 9 seconds passed +... 65%, 454368 KB, 49263 KB/s, 9 seconds passed +... 65%, 454400 KB, 49265 KB/s, 9 seconds passed +... 65%, 454432 KB, 49267 KB/s, 9 seconds passed +... 65%, 454464 KB, 49269 KB/s, 9 seconds passed +... 65%, 454496 KB, 49272 KB/s, 9 seconds passed +... 65%, 454528 KB, 49274 KB/s, 9 seconds passed +... 65%, 454560 KB, 49276 KB/s, 9 seconds passed +... 65%, 454592 KB, 49278 KB/s, 9 seconds passed +... 65%, 454624 KB, 49280 KB/s, 9 seconds passed +... 65%, 454656 KB, 49282 KB/s, 9 seconds passed +... 65%, 454688 KB, 49285 KB/s, 9 seconds passed +... 65%, 454720 KB, 49287 KB/s, 9 seconds passed +... 65%, 454752 KB, 49289 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 65%, 454784 KB, 49291 KB/s, 9 seconds passed +... 65%, 454816 KB, 49293 KB/s, 9 seconds passed +... 65%, 454848 KB, 49295 KB/s, 9 seconds passed +... 65%, 454880 KB, 49298 KB/s, 9 seconds passed +... 65%, 454912 KB, 49300 KB/s, 9 seconds passed +... 65%, 454944 KB, 49302 KB/s, 9 seconds passed +... 65%, 454976 KB, 49304 KB/s, 9 seconds passed +... 65%, 455008 KB, 49306 KB/s, 9 seconds passed +... 65%, 455040 KB, 49308 KB/s, 9 seconds passed +... 65%, 455072 KB, 49311 KB/s, 9 seconds passed +... 65%, 455104 KB, 49313 KB/s, 9 seconds passed +... 65%, 455136 KB, 49315 KB/s, 9 seconds passed +... 65%, 455168 KB, 49317 KB/s, 9 seconds passed +... 65%, 455200 KB, 49319 KB/s, 9 seconds passed +... 65%, 455232 KB, 49322 KB/s, 9 seconds passed +... 65%, 455264 KB, 49324 KB/s, 9 seconds passed +... 65%, 455296 KB, 49326 KB/s, 9 seconds passed +... 65%, 455328 KB, 49328 KB/s, 9 seconds passed +... 65%, 455360 KB, 49330 KB/s, 9 seconds passed +... 65%, 455392 KB, 49333 KB/s, 9 seconds passed +... 65%, 455424 KB, 49335 KB/s, 9 seconds passed +... 65%, 455456 KB, 49337 KB/s, 9 seconds passed +... 65%, 455488 KB, 49340 KB/s, 9 seconds passed +... 65%, 455520 KB, 49342 KB/s, 9 seconds passed +... 65%, 455552 KB, 49345 KB/s, 9 seconds passed +... 65%, 455584 KB, 49348 KB/s, 9 seconds passed +... 65%, 455616 KB, 49351 KB/s, 9 seconds passed +... 65%, 455648 KB, 49353 KB/s, 9 seconds passed +... 65%, 455680 KB, 49199 KB/s, 9 seconds passed +... 65%, 455712 KB, 49200 KB/s, 9 seconds passed +... 65%, 455744 KB, 49201 KB/s, 9 seconds passed +... 65%, 455776 KB, 49203 KB/s, 9 seconds passed +... 65%, 455808 KB, 49191 KB/s, 9 seconds passed +... 65%, 455840 KB, 49192 KB/s, 9 seconds passed +... 65%, 455872 KB, 49193 KB/s, 9 seconds passed +... 65%, 455904 KB, 49194 KB/s, 9 seconds passed +... 65%, 455936 KB, 49195 KB/s, 9 seconds passed +... 65%, 455968 KB, 49197 KB/s, 9 seconds passed +... 65%, 456000 KB, 49198 KB/s, 9 seconds passed +... 65%, 456032 KB, 49199 KB/s, 9 seconds passed +... 65%, 456064 KB, 49201 KB/s, 9 seconds passed +... 65%, 456096 KB, 49202 KB/s, 9 seconds passed +... 65%, 456128 KB, 49204 KB/s, 9 seconds passed +... 65%, 456160 KB, 49200 KB/s, 9 seconds passed +... 65%, 456192 KB, 49202 KB/s, 9 seconds passed +... 65%, 456224 KB, 49203 KB/s, 9 seconds passed +... 65%, 456256 KB, 49204 KB/s, 9 seconds passed +... 65%, 456288 KB, 49206 KB/s, 9 seconds passed +... 65%, 456320 KB, 49207 KB/s, 9 seconds passed +... 65%, 456352 KB, 49207 KB/s, 9 seconds passed +... 65%, 456384 KB, 49209 KB/s, 9 seconds passed +... 65%, 456416 KB, 49210 KB/s, 9 seconds passed +... 65%, 456448 KB, 49211 KB/s, 9 seconds passed +... 65%, 456480 KB, 49213 KB/s, 9 seconds passed +... 65%, 456512 KB, 49214 KB/s, 9 seconds passed +... 65%, 456544 KB, 49216 KB/s, 9 seconds passed +... 65%, 456576 KB, 49217 KB/s, 9 seconds passed +... 65%, 456608 KB, 49218 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 65%, 456640 KB, 49220 KB/s, 9 seconds passed +... 65%, 456672 KB, 49221 KB/s, 9 seconds passed +... 65%, 456704 KB, 49222 KB/s, 9 seconds passed +... 65%, 456736 KB, 49224 KB/s, 9 seconds passed +... 65%, 456768 KB, 49225 KB/s, 9 seconds passed +... 65%, 456800 KB, 49226 KB/s, 9 seconds passed +... 65%, 456832 KB, 49228 KB/s, 9 seconds passed +... 65%, 456864 KB, 49229 KB/s, 9 seconds passed +... 65%, 456896 KB, 49231 KB/s, 9 seconds passed +... 65%, 456928 KB, 49232 KB/s, 9 seconds passed +... 65%, 456960 KB, 49233 KB/s, 9 seconds passed +... 65%, 456992 KB, 49235 KB/s, 9 seconds passed +... 65%, 457024 KB, 49236 KB/s, 9 seconds passed +... 65%, 457056 KB, 49238 KB/s, 9 seconds passed +... 65%, 457088 KB, 49240 KB/s, 9 seconds passed +... 65%, 457120 KB, 49242 KB/s, 9 seconds passed +... 65%, 457152 KB, 49244 KB/s, 9 seconds passed +... 65%, 457184 KB, 49246 KB/s, 9 seconds passed +... 65%, 457216 KB, 49249 KB/s, 9 seconds passed +... 65%, 457248 KB, 49251 KB/s, 9 seconds passed +... 65%, 457280 KB, 49253 KB/s, 9 seconds passed +... 65%, 457312 KB, 49255 KB/s, 9 seconds passed +... 65%, 457344 KB, 49257 KB/s, 9 seconds passed +... 65%, 457376 KB, 49259 KB/s, 9 seconds passed +... 65%, 457408 KB, 49262 KB/s, 9 seconds passed +... 65%, 457440 KB, 49264 KB/s, 9 seconds passed +... 65%, 457472 KB, 49266 KB/s, 9 seconds passed +... 65%, 457504 KB, 49269 KB/s, 9 seconds passed +... 65%, 457536 KB, 49166 KB/s, 9 seconds passed +... 65%, 457568 KB, 49167 KB/s, 9 seconds passed +... 65%, 457600 KB, 49168 KB/s, 9 seconds passed +... 65%, 457632 KB, 49170 KB/s, 9 seconds passed +... 65%, 457664 KB, 49171 KB/s, 9 seconds passed +... 65%, 457696 KB, 49172 KB/s, 9 seconds passed +... 65%, 457728 KB, 49174 KB/s, 9 seconds passed +... 65%, 457760 KB, 49175 KB/s, 9 seconds passed +... 65%, 457792 KB, 49176 KB/s, 9 seconds passed +... 65%, 457824 KB, 49178 KB/s, 9 seconds passed +... 65%, 457856 KB, 49179 KB/s, 9 seconds passed +... 65%, 457888 KB, 49180 KB/s, 9 seconds passed +... 65%, 457920 KB, 49182 KB/s, 9 seconds passed +... 65%, 457952 KB, 49183 KB/s, 9 seconds passed +... 65%, 457984 KB, 49185 KB/s, 9 seconds passed +... 65%, 458016 KB, 49187 KB/s, 9 seconds passed +... 65%, 458048 KB, 49189 KB/s, 9 seconds passed +... 65%, 458080 KB, 49190 KB/s, 9 seconds passed +... 65%, 458112 KB, 49192 KB/s, 9 seconds passed +... 65%, 458144 KB, 49193 KB/s, 9 seconds passed +... 65%, 458176 KB, 49195 KB/s, 9 seconds passed +... 65%, 458208 KB, 49196 KB/s, 9 seconds passed +... 65%, 458240 KB, 49197 KB/s, 9 seconds passed +... 65%, 458272 KB, 49199 KB/s, 9 seconds passed +... 65%, 458304 KB, 49200 KB/s, 9 seconds passed +... 65%, 458336 KB, 49202 KB/s, 9 seconds passed +... 65%, 458368 KB, 49203 KB/s, 9 seconds passed +... 65%, 458400 KB, 49205 KB/s, 9 seconds passed +... 65%, 458432 KB, 49206 KB/s, 9 seconds passed +... 65%, 458464 KB, 49207 KB/s, 9 seconds passed +... 65%, 458496 KB, 49209 KB/s, 9 seconds passed +... 65%, 458528 KB, 49210 KB/s, 9 seconds passed +... 65%, 458560 KB, 49211 KB/s, 9 seconds passed +... 65%, 458592 KB, 49213 KB/s, 9 seconds passed +... 65%, 458624 KB, 49214 KB/s, 9 seconds passed +... 65%, 458656 KB, 49215 KB/s, 9 seconds passed +... 65%, 458688 KB, 49217 KB/s, 9 seconds passed +... 65%, 458720 KB, 49218 KB/s, 9 seconds passed +... 65%, 458752 KB, 49219 KB/s, 9 seconds passed +... 65%, 458784 KB, 49221 KB/s, 9 seconds passed +... 65%, 458816 KB, 49222 KB/s, 9 seconds passed +... 65%, 458848 KB, 49224 KB/s, 9 seconds passed +... 65%, 458880 KB, 49225 KB/s, 9 seconds passed +... 65%, 458912 KB, 49226 KB/s, 9 seconds passed +... 65%, 458944 KB, 49228 KB/s, 9 seconds passed +... 65%, 458976 KB, 49230 KB/s, 9 seconds passed +... 65%, 459008 KB, 49232 KB/s, 9 seconds passed +... 66%, 459040 KB, 49234 KB/s, 9 seconds passed +... 66%, 459072 KB, 49237 KB/s, 9 seconds passed +... 66%, 459104 KB, 49239 KB/s, 9 seconds passed +... 66%, 459136 KB, 49241 KB/s, 9 seconds passed +... 66%, 459168 KB, 49243 KB/s, 9 seconds passed +... 66%, 459200 KB, 49245 KB/s, 9 seconds passed +... 66%, 459232 KB, 49247 KB/s, 9 seconds passed +... 66%, 459264 KB, 49249 KB/s, 9 seconds passed +... 66%, 459296 KB, 49251 KB/s, 9 seconds passed +... 66%, 459328 KB, 49254 KB/s, 9 seconds passed +... 66%, 459360 KB, 49256 KB/s, 9 seconds passed +... 66%, 459392 KB, 49258 KB/s, 9 seconds passed +... 66%, 459424 KB, 49260 KB/s, 9 seconds passed +... 66%, 459456 KB, 49262 KB/s, 9 seconds passed +... 66%, 459488 KB, 49264 KB/s, 9 seconds passed +... 66%, 459520 KB, 49266 KB/s, 9 seconds passed +... 66%, 459552 KB, 49268 KB/s, 9 seconds passed +... 66%, 459584 KB, 49270 KB/s, 9 seconds passed +... 66%, 459616 KB, 49272 KB/s, 9 seconds passed +... 66%, 459648 KB, 49275 KB/s, 9 seconds passed +... 66%, 459680 KB, 49277 KB/s, 9 seconds passed +... 66%, 459712 KB, 49279 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 66%, 459744 KB, 49281 KB/s, 9 seconds passed +... 66%, 459776 KB, 49283 KB/s, 9 seconds passed +... 66%, 459808 KB, 49285 KB/s, 9 seconds passed +... 66%, 459840 KB, 49287 KB/s, 9 seconds passed +... 66%, 459872 KB, 49290 KB/s, 9 seconds passed +... 66%, 459904 KB, 49292 KB/s, 9 seconds passed +... 66%, 459936 KB, 49294 KB/s, 9 seconds passed +... 66%, 459968 KB, 49296 KB/s, 9 seconds passed +... 66%, 460000 KB, 49298 KB/s, 9 seconds passed +... 66%, 460032 KB, 49300 KB/s, 9 seconds passed +... 66%, 460064 KB, 49302 KB/s, 9 seconds passed +... 66%, 460096 KB, 49304 KB/s, 9 seconds passed +... 66%, 460128 KB, 49307 KB/s, 9 seconds passed +... 66%, 460160 KB, 49309 KB/s, 9 seconds passed +... 66%, 460192 KB, 49311 KB/s, 9 seconds passed +... 66%, 460224 KB, 49313 KB/s, 9 seconds passed +... 66%, 460256 KB, 49316 KB/s, 9 seconds passed +... 66%, 460288 KB, 49318 KB/s, 9 seconds passed +... 66%, 460320 KB, 49321 KB/s, 9 seconds passed +... 66%, 460352 KB, 49323 KB/s, 9 seconds passed +... 66%, 460384 KB, 49326 KB/s, 9 seconds passed +... 66%, 460416 KB, 49328 KB/s, 9 seconds passed +... 66%, 460448 KB, 49331 KB/s, 9 seconds passed +... 66%, 460480 KB, 49333 KB/s, 9 seconds passed +... 66%, 460512 KB, 49336 KB/s, 9 seconds passed +... 66%, 460544 KB, 49338 KB/s, 9 seconds passed +... 66%, 460576 KB, 49341 KB/s, 9 seconds passed +... 66%, 460608 KB, 49344 KB/s, 9 seconds passed +... 66%, 460640 KB, 49346 KB/s, 9 seconds passed +... 66%, 460672 KB, 49349 KB/s, 9 seconds passed +... 66%, 460704 KB, 49351 KB/s, 9 seconds passed +... 66%, 460736 KB, 49353 KB/s, 9 seconds passed +... 66%, 460768 KB, 49355 KB/s, 9 seconds passed +... 66%, 460800 KB, 49316 KB/s, 9 seconds passed +... 66%, 460832 KB, 49317 KB/s, 9 seconds passed +... 66%, 460864 KB, 49319 KB/s, 9 seconds passed +... 66%, 460896 KB, 49320 KB/s, 9 seconds passed +... 66%, 460928 KB, 49321 KB/s, 9 seconds passed +... 66%, 460960 KB, 49323 KB/s, 9 seconds passed +... 66%, 460992 KB, 49324 KB/s, 9 seconds passed +... 66%, 461024 KB, 49326 KB/s, 9 seconds passed +... 66%, 461056 KB, 49327 KB/s, 9 seconds passed +... 66%, 461088 KB, 49329 KB/s, 9 seconds passed +... 66%, 461120 KB, 49330 KB/s, 9 seconds passed +... 66%, 461152 KB, 49331 KB/s, 9 seconds passed +... 66%, 461184 KB, 49333 KB/s, 9 seconds passed +... 66%, 461216 KB, 49334 KB/s, 9 seconds passed +... 66%, 461248 KB, 49336 KB/s, 9 seconds passed +... 66%, 461280 KB, 49337 KB/s, 9 seconds passed +... 66%, 461312 KB, 49338 KB/s, 9 seconds passed +... 66%, 461344 KB, 49340 KB/s, 9 seconds passed +... 66%, 461376 KB, 49341 KB/s, 9 seconds passed +... 66%, 461408 KB, 49343 KB/s, 9 seconds passed +... 66%, 461440 KB, 49344 KB/s, 9 seconds passed +... 66%, 461472 KB, 49345 KB/s, 9 seconds passed +... 66%, 461504 KB, 49347 KB/s, 9 seconds passed +... 66%, 461536 KB, 49349 KB/s, 9 seconds passed +... 66%, 461568 KB, 49351 KB/s, 9 seconds passed +... 66%, 461600 KB, 49353 KB/s, 9 seconds passed +... 66%, 461632 KB, 49355 KB/s, 9 seconds passed +... 66%, 461664 KB, 49357 KB/s, 9 seconds passed +... 66%, 461696 KB, 49359 KB/s, 9 seconds passed +... 66%, 461728 KB, 49362 KB/s, 9 seconds passed +... 66%, 461760 KB, 49343 KB/s, 9 seconds passed +... 66%, 461792 KB, 49344 KB/s, 9 seconds passed +... 66%, 461824 KB, 49292 KB/s, 9 seconds passed +... 66%, 461856 KB, 49292 KB/s, 9 seconds passed +... 66%, 461888 KB, 49294 KB/s, 9 seconds passed +... 66%, 461920 KB, 49295 KB/s, 9 seconds passed +... 66%, 461952 KB, 49296 KB/s, 9 seconds passed +... 66%, 461984 KB, 49297 KB/s, 9 seconds passed +... 66%, 462016 KB, 49299 KB/s, 9 seconds passed +... 66%, 462048 KB, 49300 KB/s, 9 seconds passed +... 66%, 462080 KB, 49301 KB/s, 9 seconds passed +... 66%, 462112 KB, 49303 KB/s, 9 seconds passed +... 66%, 462144 KB, 49304 KB/s, 9 seconds passed +... 66%, 462176 KB, 49306 KB/s, 9 seconds passed +... 66%, 462208 KB, 49307 KB/s, 9 seconds passed +... 66%, 462240 KB, 49308 KB/s, 9 seconds passed +... 66%, 462272 KB, 49310 KB/s, 9 seconds passed +... 66%, 462304 KB, 49311 KB/s, 9 seconds passed +... 66%, 462336 KB, 49312 KB/s, 9 seconds passed +... 66%, 462368 KB, 49314 KB/s, 9 seconds passed +... 66%, 462400 KB, 49315 KB/s, 9 seconds passed +... 66%, 462432 KB, 49317 KB/s, 9 seconds passed +... 66%, 462464 KB, 49318 KB/s, 9 seconds passed +... 66%, 462496 KB, 49319 KB/s, 9 seconds passed +... 66%, 462528 KB, 49321 KB/s, 9 seconds passed +... 66%, 462560 KB, 49322 KB/s, 9 seconds passed +... 66%, 462592 KB, 49324 KB/s, 9 seconds passed +... 66%, 462624 KB, 49325 KB/s, 9 seconds passed +... 66%, 462656 KB, 49326 KB/s, 9 seconds passed +... 66%, 462688 KB, 49328 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 66%, 462720 KB, 49329 KB/s, 9 seconds passed +... 66%, 462752 KB, 49331 KB/s, 9 seconds passed +... 66%, 462784 KB, 49332 KB/s, 9 seconds passed +... 66%, 462816 KB, 49333 KB/s, 9 seconds passed +... 66%, 462848 KB, 49335 KB/s, 9 seconds passed +... 66%, 462880 KB, 49336 KB/s, 9 seconds passed +... 66%, 462912 KB, 49337 KB/s, 9 seconds passed +... 66%, 462944 KB, 49340 KB/s, 9 seconds passed +... 66%, 462976 KB, 49342 KB/s, 9 seconds passed +... 66%, 463008 KB, 49344 KB/s, 9 seconds passed +... 66%, 463040 KB, 49346 KB/s, 9 seconds passed +... 66%, 463072 KB, 49348 KB/s, 9 seconds passed +... 66%, 463104 KB, 49350 KB/s, 9 seconds passed +... 66%, 463136 KB, 49352 KB/s, 9 seconds passed +... 66%, 463168 KB, 49354 KB/s, 9 seconds passed +... 66%, 463200 KB, 49356 KB/s, 9 seconds passed +... 66%, 463232 KB, 49359 KB/s, 9 seconds passed +... 66%, 463264 KB, 49361 KB/s, 9 seconds passed +... 66%, 463296 KB, 49363 KB/s, 9 seconds passed +... 66%, 463328 KB, 49365 KB/s, 9 seconds passed +... 66%, 463360 KB, 49367 KB/s, 9 seconds passed +... 66%, 463392 KB, 49369 KB/s, 9 seconds passed +... 66%, 463424 KB, 49371 KB/s, 9 seconds passed +... 66%, 463456 KB, 49373 KB/s, 9 seconds passed +... 66%, 463488 KB, 49375 KB/s, 9 seconds passed +... 66%, 463520 KB, 49377 KB/s, 9 seconds passed +... 66%, 463552 KB, 49380 KB/s, 9 seconds passed +... 66%, 463584 KB, 49382 KB/s, 9 seconds passed +... 66%, 463616 KB, 49384 KB/s, 9 seconds passed +... 66%, 463648 KB, 49386 KB/s, 9 seconds passed +... 66%, 463680 KB, 49388 KB/s, 9 seconds passed +... 66%, 463712 KB, 49390 KB/s, 9 seconds passed +... 66%, 463744 KB, 49392 KB/s, 9 seconds passed +... 66%, 463776 KB, 49394 KB/s, 9 seconds passed +... 66%, 463808 KB, 49397 KB/s, 9 seconds passed +... 66%, 463840 KB, 49399 KB/s, 9 seconds passed +... 66%, 463872 KB, 49401 KB/s, 9 seconds passed +... 66%, 463904 KB, 49403 KB/s, 9 seconds passed +... 66%, 463936 KB, 49405 KB/s, 9 seconds passed +... 66%, 463968 KB, 49407 KB/s, 9 seconds passed +... 66%, 464000 KB, 49409 KB/s, 9 seconds passed +... 66%, 464032 KB, 49411 KB/s, 9 seconds passed +... 66%, 464064 KB, 49414 KB/s, 9 seconds passed +... 66%, 464096 KB, 49416 KB/s, 9 seconds passed +... 66%, 464128 KB, 49418 KB/s, 9 seconds passed +... 66%, 464160 KB, 49420 KB/s, 9 seconds passed +... 66%, 464192 KB, 49422 KB/s, 9 seconds passed +... 66%, 464224 KB, 49424 KB/s, 9 seconds passed +... 66%, 464256 KB, 49427 KB/s, 9 seconds passed +... 66%, 464288 KB, 49429 KB/s, 9 seconds passed +... 66%, 464320 KB, 49432 KB/s, 9 seconds passed +... 66%, 464352 KB, 49434 KB/s, 9 seconds passed +... 66%, 464384 KB, 49437 KB/s, 9 seconds passed +... 66%, 464416 KB, 49439 KB/s, 9 seconds passed +... 66%, 464448 KB, 49442 KB/s, 9 seconds passed +... 66%, 464480 KB, 49444 KB/s, 9 seconds passed +... 66%, 464512 KB, 49447 KB/s, 9 seconds passed +... 66%, 464544 KB, 49449 KB/s, 9 seconds passed +... 66%, 464576 KB, 49452 KB/s, 9 seconds passed +... 66%, 464608 KB, 49454 KB/s, 9 seconds passed +... 66%, 464640 KB, 49457 KB/s, 9 seconds passed +... 66%, 464672 KB, 49460 KB/s, 9 seconds passed +... 66%, 464704 KB, 49462 KB/s, 9 seconds passed +... 66%, 464736 KB, 49465 KB/s, 9 seconds passed +... 66%, 464768 KB, 49467 KB/s, 9 seconds passed +... 66%, 464800 KB, 49470 KB/s, 9 seconds passed +... 66%, 464832 KB, 49472 KB/s, 9 seconds passed +... 66%, 464864 KB, 49475 KB/s, 9 seconds passed +... 66%, 464896 KB, 49477 KB/s, 9 seconds passed +... 66%, 464928 KB, 49480 KB/s, 9 seconds passed +... 66%, 464960 KB, 49482 KB/s, 9 seconds passed +... 66%, 464992 KB, 49485 KB/s, 9 seconds passed +... 66%, 465024 KB, 49487 KB/s, 9 seconds passed +... 66%, 465056 KB, 49489 KB/s, 9 seconds passed +... 66%, 465088 KB, 49491 KB/s, 9 seconds passed +... 66%, 465120 KB, 49493 KB/s, 9 seconds passed +... 66%, 465152 KB, 49494 KB/s, 9 seconds passed +... 66%, 465184 KB, 49496 KB/s, 9 seconds passed +... 66%, 465216 KB, 49498 KB/s, 9 seconds passed +... 66%, 465248 KB, 49500 KB/s, 9 seconds passed +... 66%, 465280 KB, 49502 KB/s, 9 seconds passed +... 66%, 465312 KB, 49504 KB/s, 9 seconds passed +... 66%, 465344 KB, 49506 KB/s, 9 seconds passed +... 66%, 465376 KB, 49508 KB/s, 9 seconds passed +... 66%, 465408 KB, 49510 KB/s, 9 seconds passed +... 66%, 465440 KB, 49512 KB/s, 9 seconds passed +... 66%, 465472 KB, 49514 KB/s, 9 seconds passed +... 66%, 465504 KB, 49516 KB/s, 9 seconds passed +... 66%, 465536 KB, 49517 KB/s, 9 seconds passed +... 66%, 465568 KB, 49519 KB/s, 9 seconds passed +... 66%, 465600 KB, 49521 KB/s, 9 seconds passed +... 66%, 465632 KB, 49524 KB/s, 9 seconds passed +... 66%, 465664 KB, 49525 KB/s, 9 seconds passed +... 66%, 465696 KB, 49527 KB/s, 9 seconds passed +... 66%, 465728 KB, 49529 KB/s, 9 seconds passed +... 66%, 465760 KB, 49531 KB/s, 9 seconds passed +... 66%, 465792 KB, 49533 KB/s, 9 seconds passed +... 66%, 465824 KB, 49535 KB/s, 9 seconds passed +... 66%, 465856 KB, 49537 KB/s, 9 seconds passed +... 66%, 465888 KB, 49539 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 66%, 465920 KB, 49230 KB/s, 9 seconds passed +... 66%, 465952 KB, 49231 KB/s, 9 seconds passed +... 66%, 465984 KB, 49232 KB/s, 9 seconds passed +... 67%, 466016 KB, 49233 KB/s, 9 seconds passed +... 67%, 466048 KB, 49235 KB/s, 9 seconds passed +... 67%, 466080 KB, 49236 KB/s, 9 seconds passed +... 67%, 466112 KB, 49238 KB/s, 9 seconds passed +... 67%, 466144 KB, 49239 KB/s, 9 seconds passed +... 67%, 466176 KB, 49238 KB/s, 9 seconds passed +... 67%, 466208 KB, 49240 KB/s, 9 seconds passed +... 67%, 466240 KB, 49241 KB/s, 9 seconds passed +... 67%, 466272 KB, 49242 KB/s, 9 seconds passed +... 67%, 466304 KB, 49244 KB/s, 9 seconds passed +... 67%, 466336 KB, 49245 KB/s, 9 seconds passed +... 67%, 466368 KB, 49246 KB/s, 9 seconds passed +... 67%, 466400 KB, 49248 KB/s, 9 seconds passed +... 67%, 466432 KB, 49249 KB/s, 9 seconds passed +... 67%, 466464 KB, 49250 KB/s, 9 seconds passed +... 67%, 466496 KB, 49252 KB/s, 9 seconds passed +... 67%, 466528 KB, 49253 KB/s, 9 seconds passed +... 67%, 466560 KB, 49254 KB/s, 9 seconds passed +... 67%, 466592 KB, 49256 KB/s, 9 seconds passed +... 67%, 466624 KB, 49257 KB/s, 9 seconds passed +... 67%, 466656 KB, 49258 KB/s, 9 seconds passed +... 67%, 466688 KB, 49260 KB/s, 9 seconds passed +... 67%, 466720 KB, 49262 KB/s, 9 seconds passed +... 67%, 466752 KB, 49263 KB/s, 9 seconds passed +... 67%, 466784 KB, 49265 KB/s, 9 seconds passed +... 67%, 466816 KB, 49267 KB/s, 9 seconds passed +... 67%, 466848 KB, 49268 KB/s, 9 seconds passed +... 67%, 466880 KB, 49270 KB/s, 9 seconds passed +... 67%, 466912 KB, 49272 KB/s, 9 seconds passed +... 67%, 466944 KB, 49274 KB/s, 9 seconds passed +... 67%, 466976 KB, 49276 KB/s, 9 seconds passed +... 67%, 467008 KB, 49277 KB/s, 9 seconds passed +... 67%, 467040 KB, 49279 KB/s, 9 seconds passed +... 67%, 467072 KB, 49281 KB/s, 9 seconds passed +... 67%, 467104 KB, 49283 KB/s, 9 seconds passed +... 67%, 467136 KB, 49285 KB/s, 9 seconds passed +... 67%, 467168 KB, 49287 KB/s, 9 seconds passed +... 67%, 467200 KB, 49289 KB/s, 9 seconds passed +... 67%, 467232 KB, 49291 KB/s, 9 seconds passed +... 67%, 467264 KB, 49293 KB/s, 9 seconds passed +... 67%, 467296 KB, 49293 KB/s, 9 seconds passed +... 67%, 467328 KB, 49294 KB/s, 9 seconds passed +... 67%, 467360 KB, 49296 KB/s, 9 seconds passed +... 67%, 467392 KB, 49298 KB/s, 9 seconds passed +... 67%, 467424 KB, 49300 KB/s, 9 seconds passed +... 67%, 467456 KB, 49301 KB/s, 9 seconds passed +... 67%, 467488 KB, 49302 KB/s, 9 seconds passed +... 67%, 467520 KB, 49304 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 67%, 467552 KB, 49306 KB/s, 9 seconds passed +... 67%, 467584 KB, 49307 KB/s, 9 seconds passed +... 67%, 467616 KB, 49309 KB/s, 9 seconds passed +... 67%, 467648 KB, 49311 KB/s, 9 seconds passed +... 67%, 467680 KB, 49313 KB/s, 9 seconds passed +... 67%, 467712 KB, 49315 KB/s, 9 seconds passed +... 67%, 467744 KB, 49318 KB/s, 9 seconds passed +... 67%, 467776 KB, 49320 KB/s, 9 seconds passed +... 67%, 467808 KB, 49322 KB/s, 9 seconds passed +... 67%, 467840 KB, 49324 KB/s, 9 seconds passed +... 67%, 467872 KB, 49325 KB/s, 9 seconds passed +... 67%, 467904 KB, 49327 KB/s, 9 seconds passed +... 67%, 467936 KB, 49329 KB/s, 9 seconds passed +... 67%, 467968 KB, 49331 KB/s, 9 seconds passed +... 67%, 468000 KB, 49333 KB/s, 9 seconds passed +... 67%, 468032 KB, 49335 KB/s, 9 seconds passed +... 67%, 468064 KB, 49337 KB/s, 9 seconds passed +... 67%, 468096 KB, 49339 KB/s, 9 seconds passed +... 67%, 468128 KB, 49305 KB/s, 9 seconds passed +... 67%, 468160 KB, 49307 KB/s, 9 seconds passed +... 67%, 468192 KB, 49309 KB/s, 9 seconds passed +... 67%, 468224 KB, 49311 KB/s, 9 seconds passed +... 67%, 468256 KB, 49313 KB/s, 9 seconds passed +... 67%, 468288 KB, 49315 KB/s, 9 seconds passed +... 67%, 468320 KB, 49317 KB/s, 9 seconds passed +... 67%, 468352 KB, 49319 KB/s, 9 seconds passed +... 67%, 468384 KB, 49320 KB/s, 9 seconds passed +... 67%, 468416 KB, 49322 KB/s, 9 seconds passed +... 67%, 468448 KB, 49324 KB/s, 9 seconds passed +... 67%, 468480 KB, 49326 KB/s, 9 seconds passed +... 67%, 468512 KB, 49328 KB/s, 9 seconds passed +... 67%, 468544 KB, 49330 KB/s, 9 seconds passed +... 67%, 468576 KB, 49332 KB/s, 9 seconds passed +... 67%, 468608 KB, 49333 KB/s, 9 seconds passed +... 67%, 468640 KB, 49335 KB/s, 9 seconds passed +... 67%, 468672 KB, 49337 KB/s, 9 seconds passed +... 67%, 468704 KB, 49339 KB/s, 9 seconds passed +... 67%, 468736 KB, 49341 KB/s, 9 seconds passed +... 67%, 468768 KB, 49343 KB/s, 9 seconds passed +... 67%, 468800 KB, 49345 KB/s, 9 seconds passed +... 67%, 468832 KB, 49346 KB/s, 9 seconds passed +... 67%, 468864 KB, 49348 KB/s, 9 seconds passed +... 67%, 468896 KB, 49350 KB/s, 9 seconds passed +... 67%, 468928 KB, 49352 KB/s, 9 seconds passed +... 67%, 468960 KB, 49354 KB/s, 9 seconds passed +... 67%, 468992 KB, 49356 KB/s, 9 seconds passed +... 67%, 469024 KB, 49358 KB/s, 9 seconds passed +... 67%, 469056 KB, 49360 KB/s, 9 seconds passed +... 67%, 469088 KB, 49361 KB/s, 9 seconds passed +... 67%, 469120 KB, 49363 KB/s, 9 seconds passed +... 67%, 469152 KB, 49365 KB/s, 9 seconds passed +... 67%, 469184 KB, 49367 KB/s, 9 seconds passed +... 67%, 469216 KB, 49369 KB/s, 9 seconds passed +... 67%, 469248 KB, 49371 KB/s, 9 seconds passed +... 67%, 469280 KB, 49373 KB/s, 9 seconds passed +... 67%, 469312 KB, 49375 KB/s, 9 seconds passed +... 67%, 469344 KB, 49377 KB/s, 9 seconds passed +... 67%, 469376 KB, 49380 KB/s, 9 seconds passed +... 67%, 469408 KB, 49382 KB/s, 9 seconds passed +... 67%, 469440 KB, 49384 KB/s, 9 seconds passed +... 67%, 469472 KB, 49386 KB/s, 9 seconds passed +... 67%, 469504 KB, 49389 KB/s, 9 seconds passed +... 67%, 469536 KB, 49391 KB/s, 9 seconds passed +... 67%, 469568 KB, 49393 KB/s, 9 seconds passed +... 67%, 469600 KB, 49395 KB/s, 9 seconds passed +... 67%, 469632 KB, 49398 KB/s, 9 seconds passed +... 67%, 469664 KB, 49400 KB/s, 9 seconds passed +... 67%, 469696 KB, 49402 KB/s, 9 seconds passed +... 67%, 469728 KB, 49404 KB/s, 9 seconds passed +... 67%, 469760 KB, 49406 KB/s, 9 seconds passed +... 67%, 469792 KB, 49408 KB/s, 9 seconds passed +... 67%, 469824 KB, 49410 KB/s, 9 seconds passed +... 67%, 469856 KB, 49412 KB/s, 9 seconds passed +... 67%, 469888 KB, 49414 KB/s, 9 seconds passed +... 67%, 469920 KB, 49416 KB/s, 9 seconds passed +... 67%, 469952 KB, 49418 KB/s, 9 seconds passed +... 67%, 469984 KB, 49420 KB/s, 9 seconds passed +... 67%, 470016 KB, 49422 KB/s, 9 seconds passed +... 67%, 470048 KB, 49424 KB/s, 9 seconds passed +... 67%, 470080 KB, 49426 KB/s, 9 seconds passed +... 67%, 470112 KB, 49428 KB/s, 9 seconds passed +... 67%, 470144 KB, 49430 KB/s, 9 seconds passed +... 67%, 470176 KB, 49432 KB/s, 9 seconds passed +... 67%, 470208 KB, 49433 KB/s, 9 seconds passed +... 67%, 470240 KB, 49435 KB/s, 9 seconds passed +... 67%, 470272 KB, 49437 KB/s, 9 seconds passed +... 67%, 470304 KB, 49439 KB/s, 9 seconds passed +... 67%, 470336 KB, 49441 KB/s, 9 seconds passed +... 67%, 470368 KB, 49443 KB/s, 9 seconds passed +... 67%, 470400 KB, 49445 KB/s, 9 seconds passed +... 67%, 470432 KB, 49447 KB/s, 9 seconds passed +... 67%, 470464 KB, 49449 KB/s, 9 seconds passed +... 67%, 470496 KB, 49451 KB/s, 9 seconds passed +... 67%, 470528 KB, 49452 KB/s, 9 seconds passed +... 67%, 470560 KB, 49454 KB/s, 9 seconds passed +... 67%, 470592 KB, 49456 KB/s, 9 seconds passed +... 67%, 470624 KB, 49458 KB/s, 9 seconds passed +... 67%, 470656 KB, 49460 KB/s, 9 seconds passed +... 67%, 470688 KB, 49462 KB/s, 9 seconds passed +... 67%, 470720 KB, 49464 KB/s, 9 seconds passed +... 67%, 470752 KB, 49466 KB/s, 9 seconds passed +... 67%, 470784 KB, 49468 KB/s, 9 seconds passed +... 67%, 470816 KB, 49470 KB/s, 9 seconds passed +... 67%, 470848 KB, 49472 KB/s, 9 seconds passed +... 67%, 470880 KB, 49474 KB/s, 9 seconds passed +... 67%, 470912 KB, 49476 KB/s, 9 seconds passed +... 67%, 470944 KB, 49477 KB/s, 9 seconds passed +... 67%, 470976 KB, 49479 KB/s, 9 seconds passed +... 67%, 471008 KB, 49481 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 67%, 471040 KB, 49316 KB/s, 9 seconds passed +... 67%, 471072 KB, 49314 KB/s, 9 seconds passed +... 67%, 471104 KB, 49315 KB/s, 9 seconds passed +... 67%, 471136 KB, 49317 KB/s, 9 seconds passed +... 67%, 471168 KB, 49316 KB/s, 9 seconds passed +... 67%, 471200 KB, 49314 KB/s, 9 seconds passed +... 67%, 471232 KB, 49315 KB/s, 9 seconds passed +... 67%, 471264 KB, 49316 KB/s, 9 seconds passed +... 67%, 471296 KB, 49318 KB/s, 9 seconds passed +... 67%, 471328 KB, 49319 KB/s, 9 seconds passed +... 67%, 471360 KB, 49320 KB/s, 9 seconds passed +... 67%, 471392 KB, 49322 KB/s, 9 seconds passed +... 67%, 471424 KB, 49323 KB/s, 9 seconds passed +... 67%, 471456 KB, 49325 KB/s, 9 seconds passed +... 67%, 471488 KB, 49326 KB/s, 9 seconds passed +... 67%, 471520 KB, 49327 KB/s, 9 seconds passed +... 67%, 471552 KB, 49329 KB/s, 9 seconds passed +... 67%, 471584 KB, 49330 KB/s, 9 seconds passed +... 67%, 471616 KB, 49332 KB/s, 9 seconds passed +... 67%, 471648 KB, 49333 KB/s, 9 seconds passed +... 67%, 471680 KB, 49334 KB/s, 9 seconds passed +... 67%, 471712 KB, 49336 KB/s, 9 seconds passed +... 67%, 471744 KB, 49337 KB/s, 9 seconds passed +... 67%, 471776 KB, 49339 KB/s, 9 seconds passed +... 67%, 471808 KB, 49340 KB/s, 9 seconds passed +... 67%, 471840 KB, 49342 KB/s, 9 seconds passed +... 67%, 471872 KB, 49343 KB/s, 9 seconds passed +... 67%, 471904 KB, 49344 KB/s, 9 seconds passed +... 67%, 471936 KB, 49346 KB/s, 9 seconds passed +... 67%, 471968 KB, 49347 KB/s, 9 seconds passed +... 67%, 472000 KB, 49349 KB/s, 9 seconds passed +... 67%, 472032 KB, 49351 KB/s, 9 seconds passed +... 67%, 472064 KB, 49353 KB/s, 9 seconds passed +... 67%, 472096 KB, 49355 KB/s, 9 seconds passed +... 67%, 472128 KB, 49357 KB/s, 9 seconds passed +... 67%, 472160 KB, 49359 KB/s, 9 seconds passed +... 67%, 472192 KB, 49361 KB/s, 9 seconds passed +... 67%, 472224 KB, 49363 KB/s, 9 seconds passed +... 67%, 472256 KB, 49365 KB/s, 9 seconds passed +... 67%, 472288 KB, 49366 KB/s, 9 seconds passed +... 67%, 472320 KB, 49368 KB/s, 9 seconds passed +... 67%, 472352 KB, 49370 KB/s, 9 seconds passed +... 67%, 472384 KB, 49372 KB/s, 9 seconds passed +... 67%, 472416 KB, 49374 KB/s, 9 seconds passed +... 67%, 472448 KB, 49376 KB/s, 9 seconds passed +... 67%, 472480 KB, 49378 KB/s, 9 seconds passed +... 67%, 472512 KB, 49380 KB/s, 9 seconds passed +... 67%, 472544 KB, 49382 KB/s, 9 seconds passed +... 67%, 472576 KB, 49384 KB/s, 9 seconds passed +... 67%, 472608 KB, 49386 KB/s, 9 seconds passed +... 67%, 472640 KB, 49388 KB/s, 9 seconds passed +... 67%, 472672 KB, 49390 KB/s, 9 seconds passed +... 67%, 472704 KB, 49392 KB/s, 9 seconds passed +... 67%, 472736 KB, 49394 KB/s, 9 seconds passed +... 67%, 472768 KB, 49396 KB/s, 9 seconds passed +... 67%, 472800 KB, 49398 KB/s, 9 seconds passed +... 67%, 472832 KB, 49399 KB/s, 9 seconds passed +... 67%, 472864 KB, 49401 KB/s, 9 seconds passed +... 67%, 472896 KB, 49403 KB/s, 9 seconds passed +... 67%, 472928 KB, 49405 KB/s, 9 seconds passed +... 68%, 472960 KB, 49407 KB/s, 9 seconds passed +... 68%, 472992 KB, 49409 KB/s, 9 seconds passed +... 68%, 473024 KB, 49411 KB/s, 9 seconds passed +... 68%, 473056 KB, 49413 KB/s, 9 seconds passed +... 68%, 473088 KB, 49415 KB/s, 9 seconds passed +... 68%, 473120 KB, 49417 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 68%, 473152 KB, 48812 KB/s, 9 seconds passed +... 68%, 473184 KB, 48813 KB/s, 9 seconds passed +... 68%, 473216 KB, 48814 KB/s, 9 seconds passed +... 68%, 473248 KB, 48815 KB/s, 9 seconds passed +... 68%, 473280 KB, 48817 KB/s, 9 seconds passed +... 68%, 473312 KB, 48818 KB/s, 9 seconds passed +... 68%, 473344 KB, 48819 KB/s, 9 seconds passed +... 68%, 473376 KB, 48820 KB/s, 9 seconds passed +... 68%, 473408 KB, 48822 KB/s, 9 seconds passed +... 68%, 473440 KB, 48823 KB/s, 9 seconds passed +... 68%, 473472 KB, 48824 KB/s, 9 seconds passed +... 68%, 473504 KB, 48826 KB/s, 9 seconds passed +... 68%, 473536 KB, 48827 KB/s, 9 seconds passed +... 68%, 473568 KB, 48829 KB/s, 9 seconds passed +... 68%, 473600 KB, 48830 KB/s, 9 seconds passed +... 68%, 473632 KB, 48831 KB/s, 9 seconds passed +... 68%, 473664 KB, 48832 KB/s, 9 seconds passed +... 68%, 473696 KB, 48834 KB/s, 9 seconds passed +... 68%, 473728 KB, 48835 KB/s, 9 seconds passed +... 68%, 473760 KB, 48837 KB/s, 9 seconds passed +... 68%, 473792 KB, 48838 KB/s, 9 seconds passed +... 68%, 473824 KB, 48840 KB/s, 9 seconds passed +... 68%, 473856 KB, 48841 KB/s, 9 seconds passed +... 68%, 473888 KB, 48842 KB/s, 9 seconds passed +... 68%, 473920 KB, 48844 KB/s, 9 seconds passed +... 68%, 473952 KB, 48845 KB/s, 9 seconds passed +... 68%, 473984 KB, 48847 KB/s, 9 seconds passed +... 68%, 474016 KB, 48848 KB/s, 9 seconds passed +... 68%, 474048 KB, 48849 KB/s, 9 seconds passed +... 68%, 474080 KB, 48851 KB/s, 9 seconds passed +... 68%, 474112 KB, 48852 KB/s, 9 seconds passed +... 68%, 474144 KB, 48853 KB/s, 9 seconds passed +... 68%, 474176 KB, 48855 KB/s, 9 seconds passed +... 68%, 474208 KB, 48856 KB/s, 9 seconds passed +... 68%, 474240 KB, 48858 KB/s, 9 seconds passed +... 68%, 474272 KB, 48860 KB/s, 9 seconds passed +... 68%, 474304 KB, 48862 KB/s, 9 seconds passed +... 68%, 474336 KB, 48864 KB/s, 9 seconds passed +... 68%, 474368 KB, 48866 KB/s, 9 seconds passed +... 68%, 474400 KB, 48868 KB/s, 9 seconds passed +... 68%, 474432 KB, 48870 KB/s, 9 seconds passed +... 68%, 474464 KB, 48872 KB/s, 9 seconds passed +... 68%, 474496 KB, 48874 KB/s, 9 seconds passed +... 68%, 474528 KB, 48876 KB/s, 9 seconds passed +... 68%, 474560 KB, 48878 KB/s, 9 seconds passed +... 68%, 474592 KB, 48880 KB/s, 9 seconds passed +... 68%, 474624 KB, 48882 KB/s, 9 seconds passed +... 68%, 474656 KB, 48884 KB/s, 9 seconds passed +... 68%, 474688 KB, 48886 KB/s, 9 seconds passed +... 68%, 474720 KB, 48888 KB/s, 9 seconds passed +... 68%, 474752 KB, 48889 KB/s, 9 seconds passed +... 68%, 474784 KB, 48890 KB/s, 9 seconds passed +... 68%, 474816 KB, 48890 KB/s, 9 seconds passed +... 68%, 474848 KB, 48892 KB/s, 9 seconds passed +... 68%, 474880 KB, 48893 KB/s, 9 seconds passed +... 68%, 474912 KB, 48895 KB/s, 9 seconds passed +... 68%, 474944 KB, 48896 KB/s, 9 seconds passed +... 68%, 474976 KB, 48898 KB/s, 9 seconds passed +... 68%, 475008 KB, 48899 KB/s, 9 seconds passed +... 68%, 475040 KB, 48901 KB/s, 9 seconds passed +... 68%, 475072 KB, 48897 KB/s, 9 seconds passed +... 68%, 475104 KB, 48898 KB/s, 9 seconds passed +... 68%, 475136 KB, 48900 KB/s, 9 seconds passed +... 68%, 475168 KB, 48901 KB/s, 9 seconds passed +... 68%, 475200 KB, 48903 KB/s, 9 seconds passed +... 68%, 475232 KB, 48904 KB/s, 9 seconds passed +... 68%, 475264 KB, 48906 KB/s, 9 seconds passed +... 68%, 475296 KB, 48908 KB/s, 9 seconds passed +... 68%, 475328 KB, 48810 KB/s, 9 seconds passed +... 68%, 475360 KB, 48811 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 68%, 475392 KB, 48813 KB/s, 9 seconds passed +... 68%, 475424 KB, 48814 KB/s, 9 seconds passed +... 68%, 475456 KB, 48816 KB/s, 9 seconds passed +... 68%, 475488 KB, 48817 KB/s, 9 seconds passed +... 68%, 475520 KB, 48819 KB/s, 9 seconds passed +... 68%, 475552 KB, 48820 KB/s, 9 seconds passed +... 68%, 475584 KB, 48822 KB/s, 9 seconds passed +... 68%, 475616 KB, 48823 KB/s, 9 seconds passed +... 68%, 475648 KB, 48825 KB/s, 9 seconds passed +... 68%, 475680 KB, 48826 KB/s, 9 seconds passed +... 68%, 475712 KB, 48828 KB/s, 9 seconds passed +... 68%, 475744 KB, 48829 KB/s, 9 seconds passed +... 68%, 475776 KB, 48831 KB/s, 9 seconds passed +... 68%, 475808 KB, 48832 KB/s, 9 seconds passed +... 68%, 475840 KB, 48834 KB/s, 9 seconds passed +... 68%, 475872 KB, 48835 KB/s, 9 seconds passed +... 68%, 475904 KB, 48837 KB/s, 9 seconds passed +... 68%, 475936 KB, 48839 KB/s, 9 seconds passed +... 68%, 475968 KB, 48840 KB/s, 9 seconds passed +... 68%, 476000 KB, 48842 KB/s, 9 seconds passed +... 68%, 476032 KB, 48843 KB/s, 9 seconds passed +... 68%, 476064 KB, 48845 KB/s, 9 seconds passed +... 68%, 476096 KB, 48847 KB/s, 9 seconds passed +... 68%, 476128 KB, 48849 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 68%, 476160 KB, 48553 KB/s, 9 seconds passed +... 68%, 476192 KB, 48554 KB/s, 9 seconds passed +... 68%, 476224 KB, 48555 KB/s, 9 seconds passed +... 68%, 476256 KB, 48556 KB/s, 9 seconds passed +... 68%, 476288 KB, 48557 KB/s, 9 seconds passed +... 68%, 476320 KB, 48559 KB/s, 9 seconds passed +... 68%, 476352 KB, 48560 KB/s, 9 seconds passed +... 68%, 476384 KB, 48562 KB/s, 9 seconds passed +... 68%, 476416 KB, 48563 KB/s, 9 seconds passed +... 68%, 476448 KB, 48564 KB/s, 9 seconds passed +... 68%, 476480 KB, 48565 KB/s, 9 seconds passed +... 68%, 476512 KB, 48567 KB/s, 9 seconds passed +... 68%, 476544 KB, 48568 KB/s, 9 seconds passed +... 68%, 476576 KB, 48569 KB/s, 9 seconds passed +... 68%, 476608 KB, 48571 KB/s, 9 seconds passed +... 68%, 476640 KB, 48572 KB/s, 9 seconds passed +... 68%, 476672 KB, 48574 KB/s, 9 seconds passed +... 68%, 476704 KB, 48575 KB/s, 9 seconds passed +... 68%, 476736 KB, 48576 KB/s, 9 seconds passed +... 68%, 476768 KB, 48578 KB/s, 9 seconds passed +... 68%, 476800 KB, 48579 KB/s, 9 seconds passed +... 68%, 476832 KB, 48580 KB/s, 9 seconds passed +... 68%, 476864 KB, 48582 KB/s, 9 seconds passed +... 68%, 476896 KB, 48583 KB/s, 9 seconds passed +... 68%, 476928 KB, 48584 KB/s, 9 seconds passed +... 68%, 476960 KB, 48586 KB/s, 9 seconds passed +... 68%, 476992 KB, 48587 KB/s, 9 seconds passed +... 68%, 477024 KB, 48589 KB/s, 9 seconds passed +... 68%, 477056 KB, 48591 KB/s, 9 seconds passed +... 68%, 477088 KB, 48592 KB/s, 9 seconds passed +... 68%, 477120 KB, 48594 KB/s, 9 seconds passed +... 68%, 477152 KB, 48596 KB/s, 9 seconds passed +... 68%, 477184 KB, 48598 KB/s, 9 seconds passed +... 68%, 477216 KB, 48599 KB/s, 9 seconds passed +... 68%, 477248 KB, 48601 KB/s, 9 seconds passed +... 68%, 477280 KB, 48603 KB/s, 9 seconds passed +... 68%, 477312 KB, 48605 KB/s, 9 seconds passed +... 68%, 477344 KB, 48607 KB/s, 9 seconds passed +... 68%, 477376 KB, 48608 KB/s, 9 seconds passed +... 68%, 477408 KB, 48610 KB/s, 9 seconds passed +... 68%, 477440 KB, 48612 KB/s, 9 seconds passed +... 68%, 477472 KB, 48614 KB/s, 9 seconds passed +... 68%, 477504 KB, 48615 KB/s, 9 seconds passed +... 68%, 477536 KB, 48617 KB/s, 9 seconds passed +... 68%, 477568 KB, 48619 KB/s, 9 seconds passed +... 68%, 477600 KB, 48621 KB/s, 9 seconds passed +... 68%, 477632 KB, 48623 KB/s, 9 seconds passed +... 68%, 477664 KB, 48625 KB/s, 9 seconds passed +... 68%, 477696 KB, 48626 KB/s, 9 seconds passed +... 68%, 477728 KB, 48628 KB/s, 9 seconds passed +... 68%, 477760 KB, 48630 KB/s, 9 seconds passed +... 68%, 477792 KB, 48632 KB/s, 9 seconds passed +... 68%, 477824 KB, 48634 KB/s, 9 seconds passed +... 68%, 477856 KB, 48636 KB/s, 9 seconds passed +... 68%, 477888 KB, 48638 KB/s, 9 seconds passed +... 68%, 477920 KB, 48640 KB/s, 9 seconds passed +... 68%, 477952 KB, 48641 KB/s, 9 seconds passed +... 68%, 477984 KB, 48643 KB/s, 9 seconds passed +... 68%, 478016 KB, 48645 KB/s, 9 seconds passed +... 68%, 478048 KB, 48647 KB/s, 9 seconds passed +... 68%, 478080 KB, 48649 KB/s, 9 seconds passed +... 68%, 478112 KB, 48651 KB/s, 9 seconds passed +... 68%, 478144 KB, 48653 KB/s, 9 seconds passed +... 68%, 478176 KB, 48655 KB/s, 9 seconds passed +... 68%, 478208 KB, 48658 KB/s, 9 seconds passed +... 68%, 478240 KB, 48660 KB/s, 9 seconds passed +... 68%, 478272 KB, 48663 KB/s, 9 seconds passed +... 68%, 478304 KB, 48665 KB/s, 9 seconds passed +... 68%, 478336 KB, 48667 KB/s, 9 seconds passed +... 68%, 478368 KB, 48669 KB/s, 9 seconds passed +... 68%, 478400 KB, 48672 KB/s, 9 seconds passed +... 68%, 478432 KB, 48674 KB/s, 9 seconds passed +... 68%, 478464 KB, 48676 KB/s, 9 seconds passed +... 68%, 478496 KB, 48679 KB/s, 9 seconds passed +... 68%, 478528 KB, 48681 KB/s, 9 seconds passed +... 68%, 478560 KB, 48683 KB/s, 9 seconds passed +... 68%, 478592 KB, 48686 KB/s, 9 seconds passed +... 68%, 478624 KB, 48688 KB/s, 9 seconds passed +... 68%, 478656 KB, 48690 KB/s, 9 seconds passed +... 68%, 478688 KB, 48693 KB/s, 9 seconds passed +... 68%, 478720 KB, 48695 KB/s, 9 seconds passed +... 68%, 478752 KB, 48697 KB/s, 9 seconds passed +... 68%, 478784 KB, 48700 KB/s, 9 seconds passed +... 68%, 478816 KB, 48702 KB/s, 9 seconds passed +... 68%, 478848 KB, 48704 KB/s, 9 seconds passed +... 68%, 478880 KB, 48707 KB/s, 9 seconds passed +... 68%, 478912 KB, 48709 KB/s, 9 seconds passed +... 68%, 478944 KB, 48711 KB/s, 9 seconds passed +... 68%, 478976 KB, 48714 KB/s, 9 seconds passed +... 68%, 479008 KB, 48716 KB/s, 9 seconds passed +... 68%, 479040 KB, 48718 KB/s, 9 seconds passed +... 68%, 479072 KB, 48721 KB/s, 9 seconds passed +... 68%, 479104 KB, 48723 KB/s, 9 seconds passed +... 68%, 479136 KB, 48725 KB/s, 9 seconds passed +... 68%, 479168 KB, 48728 KB/s, 9 seconds passed +... 68%, 479200 KB, 48730 KB/s, 9 seconds passed +... 68%, 479232 KB, 48732 KB/s, 9 seconds passed +... 68%, 479264 KB, 48735 KB/s, 9 seconds passed +... 68%, 479296 KB, 48737 KB/s, 9 seconds passed +... 68%, 479328 KB, 48739 KB/s, 9 seconds passed +... 68%, 479360 KB, 48741 KB/s, 9 seconds passed +... 68%, 479392 KB, 48743 KB/s, 9 seconds passed +... 68%, 479424 KB, 48745 KB/s, 9 seconds passed +... 68%, 479456 KB, 48747 KB/s, 9 seconds passed +... 68%, 479488 KB, 48749 KB/s, 9 seconds passed +... 68%, 479520 KB, 48751 KB/s, 9 seconds passed +... 68%, 479552 KB, 48752 KB/s, 9 seconds passed +... 68%, 479584 KB, 48754 KB/s, 9 seconds passed +... 68%, 479616 KB, 48756 KB/s, 9 seconds passed +... 68%, 479648 KB, 48758 KB/s, 9 seconds passed +... 68%, 479680 KB, 48760 KB/s, 9 seconds passed +... 68%, 479712 KB, 48762 KB/s, 9 seconds passed +... 68%, 479744 KB, 48764 KB/s, 9 seconds passed +... 68%, 479776 KB, 48766 KB/s, 9 seconds passed +... 68%, 479808 KB, 48767 KB/s, 9 seconds passed +... 68%, 479840 KB, 48769 KB/s, 9 seconds passed +... 68%, 479872 KB, 48771 KB/s, 9 seconds passed +... 69%, 479904 KB, 48772 KB/s, 9 seconds passed +... 69%, 479936 KB, 48773 KB/s, 9 seconds passed +... 69%, 479968 KB, 48775 KB/s, 9 seconds passed +... 69%, 480000 KB, 48777 KB/s, 9 seconds passed +... 69%, 480032 KB, 48779 KB/s, 9 seconds passed +... 69%, 480064 KB, 48782 KB/s, 9 seconds passed +... 69%, 480096 KB, 48784 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 69%, 480128 KB, 48786 KB/s, 9 seconds passed +... 69%, 480160 KB, 48787 KB/s, 9 seconds passed +... 69%, 480192 KB, 48788 KB/s, 9 seconds passed +... 69%, 480224 KB, 48790 KB/s, 9 seconds passed +... 69%, 480256 KB, 48792 KB/s, 9 seconds passed +... 69%, 480288 KB, 48795 KB/s, 9 seconds passed +... 69%, 480320 KB, 48797 KB/s, 9 seconds passed +... 69%, 480352 KB, 48799 KB/s, 9 seconds passed +... 69%, 480384 KB, 48801 KB/s, 9 seconds passed +... 69%, 480416 KB, 48802 KB/s, 9 seconds passed +... 69%, 480448 KB, 48804 KB/s, 9 seconds passed +... 69%, 480480 KB, 48806 KB/s, 9 seconds passed +... 69%, 480512 KB, 48808 KB/s, 9 seconds passed +... 69%, 480544 KB, 48810 KB/s, 9 seconds passed +... 69%, 480576 KB, 48812 KB/s, 9 seconds passed +... 69%, 480608 KB, 48814 KB/s, 9 seconds passed +... 69%, 480640 KB, 48816 KB/s, 9 seconds passed +... 69%, 480672 KB, 48817 KB/s, 9 seconds passed +... 69%, 480704 KB, 48819 KB/s, 9 seconds passed +... 69%, 480736 KB, 48821 KB/s, 9 seconds passed +... 69%, 480768 KB, 48823 KB/s, 9 seconds passed +... 69%, 480800 KB, 48825 KB/s, 9 seconds passed +... 69%, 480832 KB, 48827 KB/s, 9 seconds passed +... 69%, 480864 KB, 48828 KB/s, 9 seconds passed +... 69%, 480896 KB, 48830 KB/s, 9 seconds passed +... 69%, 480928 KB, 48832 KB/s, 9 seconds passed +... 69%, 480960 KB, 48834 KB/s, 9 seconds passed +... 69%, 480992 KB, 48836 KB/s, 9 seconds passed +... 69%, 481024 KB, 48838 KB/s, 9 seconds passed +... 69%, 481056 KB, 48840 KB/s, 9 seconds passed +... 69%, 481088 KB, 48842 KB/s, 9 seconds passed +... 69%, 481120 KB, 48844 KB/s, 9 seconds passed +... 69%, 481152 KB, 48845 KB/s, 9 seconds passed +... 69%, 481184 KB, 48847 KB/s, 9 seconds passed +... 69%, 481216 KB, 48849 KB/s, 9 seconds passed +... 69%, 481248 KB, 48851 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 69%, 481280 KB, 48633 KB/s, 9 seconds passed +... 69%, 481312 KB, 48586 KB/s, 9 seconds passed +... 69%, 481344 KB, 48587 KB/s, 9 seconds passed +... 69%, 481376 KB, 48588 KB/s, 9 seconds passed +... 69%, 481408 KB, 48590 KB/s, 9 seconds passed +... 69%, 481440 KB, 48591 KB/s, 9 seconds passed +... 69%, 481472 KB, 48592 KB/s, 9 seconds passed +... 69%, 481504 KB, 48593 KB/s, 9 seconds passed +... 69%, 481536 KB, 48595 KB/s, 9 seconds passed +... 69%, 481568 KB, 48596 KB/s, 9 seconds passed +... 69%, 481600 KB, 48598 KB/s, 9 seconds passed +... 69%, 481632 KB, 48599 KB/s, 9 seconds passed +... 69%, 481664 KB, 48600 KB/s, 9 seconds passed +... 69%, 481696 KB, 48602 KB/s, 9 seconds passed +... 69%, 481728 KB, 48603 KB/s, 9 seconds passed +... 69%, 481760 KB, 48604 KB/s, 9 seconds passed +... 69%, 481792 KB, 48606 KB/s, 9 seconds passed +... 69%, 481824 KB, 48607 KB/s, 9 seconds passed +... 69%, 481856 KB, 48608 KB/s, 9 seconds passed +... 69%, 481888 KB, 48610 KB/s, 9 seconds passed +... 69%, 481920 KB, 48611 KB/s, 9 seconds passed +... 69%, 481952 KB, 48612 KB/s, 9 seconds passed +... 69%, 481984 KB, 48614 KB/s, 9 seconds passed +... 69%, 482016 KB, 48615 KB/s, 9 seconds passed +... 69%, 482048 KB, 48616 KB/s, 9 seconds passed +... 69%, 482080 KB, 48618 KB/s, 9 seconds passed +... 69%, 482112 KB, 48619 KB/s, 9 seconds passed +... 69%, 482144 KB, 48620 KB/s, 9 seconds passed +... 69%, 482176 KB, 48622 KB/s, 9 seconds passed +... 69%, 482208 KB, 48623 KB/s, 9 seconds passed +... 69%, 482240 KB, 48624 KB/s, 9 seconds passed +... 69%, 482272 KB, 48626 KB/s, 9 seconds passed +... 69%, 482304 KB, 48627 KB/s, 9 seconds passed +... 69%, 482336 KB, 48629 KB/s, 9 seconds passed +... 69%, 482368 KB, 48631 KB/s, 9 seconds passed +... 69%, 482400 KB, 48632 KB/s, 9 seconds passed +... 69%, 482432 KB, 48634 KB/s, 9 seconds passed +... 69%, 482464 KB, 48636 KB/s, 9 seconds passed +... 69%, 482496 KB, 48638 KB/s, 9 seconds passed +... 69%, 482528 KB, 48640 KB/s, 9 seconds passed +... 69%, 482560 KB, 48642 KB/s, 9 seconds passed +... 69%, 482592 KB, 48644 KB/s, 9 seconds passed +... 69%, 482624 KB, 48646 KB/s, 9 seconds passed +... 69%, 482656 KB, 48648 KB/s, 9 seconds passed +... 69%, 482688 KB, 48650 KB/s, 9 seconds passed +... 69%, 482720 KB, 48652 KB/s, 9 seconds passed +... 69%, 482752 KB, 48654 KB/s, 9 seconds passed +... 69%, 482784 KB, 48657 KB/s, 9 seconds passed +... 69%, 482816 KB, 48659 KB/s, 9 seconds passed +... 69%, 482848 KB, 48661 KB/s, 9 seconds passed +... 69%, 482880 KB, 48663 KB/s, 9 seconds passed +... 69%, 482912 KB, 48665 KB/s, 9 seconds passed +... 69%, 482944 KB, 48667 KB/s, 9 seconds passed +... 69%, 482976 KB, 48669 KB/s, 9 seconds passed +... 69%, 483008 KB, 48671 KB/s, 9 seconds passed +... 69%, 483040 KB, 48673 KB/s, 9 seconds passed +... 69%, 483072 KB, 48675 KB/s, 9 seconds passed +... 69%, 483104 KB, 48677 KB/s, 9 seconds passed +... 69%, 483136 KB, 48679 KB/s, 9 seconds passed +... 69%, 483168 KB, 48681 KB/s, 9 seconds passed +... 69%, 483200 KB, 48683 KB/s, 9 seconds passed +... 69%, 483232 KB, 48685 KB/s, 9 seconds passed +... 69%, 483264 KB, 48687 KB/s, 9 seconds passed +... 69%, 483296 KB, 48689 KB/s, 9 seconds passed +... 69%, 483328 KB, 48691 KB/s, 9 seconds passed +... 69%, 483360 KB, 48693 KB/s, 9 seconds passed +... 69%, 483392 KB, 48695 KB/s, 9 seconds passed +... 69%, 483424 KB, 48697 KB/s, 9 seconds passed +... 69%, 483456 KB, 48699 KB/s, 9 seconds passed +... 69%, 483488 KB, 48701 KB/s, 9 seconds passed +... 69%, 483520 KB, 48703 KB/s, 9 seconds passed +... 69%, 483552 KB, 48705 KB/s, 9 seconds passed +... 69%, 483584 KB, 48707 KB/s, 9 seconds passed +... 69%, 483616 KB, 48709 KB/s, 9 seconds passed +... 69%, 483648 KB, 48711 KB/s, 9 seconds passed +... 69%, 483680 KB, 48714 KB/s, 9 seconds passed +... 69%, 483712 KB, 48716 KB/s, 9 seconds passed +... 69%, 483744 KB, 48718 KB/s, 9 seconds passed +... 69%, 483776 KB, 48721 KB/s, 9 seconds passed +... 69%, 483808 KB, 48723 KB/s, 9 seconds passed +... 69%, 483840 KB, 48726 KB/s, 9 seconds passed +... 69%, 483872 KB, 48728 KB/s, 9 seconds passed +... 69%, 483904 KB, 48730 KB/s, 9 seconds passed +... 69%, 483936 KB, 48733 KB/s, 9 seconds passed +... 69%, 483968 KB, 48735 KB/s, 9 seconds passed +... 69%, 484000 KB, 48738 KB/s, 9 seconds passed +... 69%, 484032 KB, 48740 KB/s, 9 seconds passed +... 69%, 484064 KB, 48743 KB/s, 9 seconds passed +... 69%, 484096 KB, 48745 KB/s, 9 seconds passed +... 69%, 484128 KB, 48747 KB/s, 9 seconds passed +... 69%, 484160 KB, 48750 KB/s, 9 seconds passed +... 69%, 484192 KB, 48752 KB/s, 9 seconds passed +... 69%, 484224 KB, 48754 KB/s, 9 seconds passed +... 69%, 484256 KB, 48757 KB/s, 9 seconds passed +... 69%, 484288 KB, 48759 KB/s, 9 seconds passed +... 69%, 484320 KB, 48761 KB/s, 9 seconds passed +... 69%, 484352 KB, 48763 KB/s, 9 seconds passed +... 69%, 484384 KB, 48764 KB/s, 9 seconds passed +... 69%, 484416 KB, 48766 KB/s, 9 seconds passed +... 69%, 484448 KB, 48768 KB/s, 9 seconds passed +... 69%, 484480 KB, 48770 KB/s, 9 seconds passed +... 69%, 484512 KB, 48772 KB/s, 9 seconds passed +... 69%, 484544 KB, 48774 KB/s, 9 seconds passed +... 69%, 484576 KB, 48776 KB/s, 9 seconds passed +... 69%, 484608 KB, 48777 KB/s, 9 seconds passed +... 69%, 484640 KB, 48780 KB/s, 9 seconds passed +... 69%, 484672 KB, 48781 KB/s, 9 seconds passed +... 69%, 484704 KB, 48783 KB/s, 9 seconds passed +... 69%, 484736 KB, 48785 KB/s, 9 seconds passed +... 69%, 484768 KB, 48786 KB/s, 9 seconds passed +... 69%, 484800 KB, 48789 KB/s, 9 seconds passed +... 69%, 484832 KB, 48791 KB/s, 9 seconds passed +... 69%, 484864 KB, 48793 KB/s, 9 seconds passed +... 69%, 484896 KB, 48794 KB/s, 9 seconds passed +... 69%, 484928 KB, 48796 KB/s, 9 seconds passed +... 69%, 484960 KB, 48797 KB/s, 9 seconds passed +... 69%, 484992 KB, 48799 KB/s, 9 seconds passed +... 69%, 485024 KB, 48801 KB/s, 9 seconds passed +... 69%, 485056 KB, 48803 KB/s, 9 seconds passed +... 69%, 485088 KB, 48805 KB/s, 9 seconds passed +... 69%, 485120 KB, 48807 KB/s, 9 seconds passed +... 69%, 485152 KB, 48809 KB/s, 9 seconds passed +... 69%, 485184 KB, 48810 KB/s, 9 seconds passed +... 69%, 485216 KB, 48812 KB/s, 9 seconds passed +... 69%, 485248 KB, 48814 KB/s, 9 seconds passed +... 69%, 485280 KB, 48816 KB/s, 9 seconds passed +... 69%, 485312 KB, 48818 KB/s, 9 seconds passed +... 69%, 485344 KB, 48819 KB/s, 9 seconds passed +... 69%, 485376 KB, 48820 KB/s, 9 seconds passed +... 69%, 485408 KB, 48821 KB/s, 9 seconds passed +... 69%, 485440 KB, 48824 KB/s, 9 seconds passed +... 69%, 485472 KB, 48826 KB/s, 9 seconds passed +... 69%, 485504 KB, 48829 KB/s, 9 seconds passed +... 69%, 485536 KB, 48831 KB/s, 9 seconds passed +... 69%, 485568 KB, 48833 KB/s, 9 seconds passed +... 69%, 485600 KB, 48835 KB/s, 9 seconds passed +... 69%, 485632 KB, 48837 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 69%, 485664 KB, 48839 KB/s, 9 seconds passed +... 69%, 485696 KB, 48841 KB/s, 9 seconds passed +... 69%, 485728 KB, 48843 KB/s, 9 seconds passed +... 69%, 485760 KB, 48844 KB/s, 9 seconds passed +... 69%, 485792 KB, 48846 KB/s, 9 seconds passed +... 69%, 485824 KB, 48848 KB/s, 9 seconds passed +... 69%, 485856 KB, 48850 KB/s, 9 seconds passed +... 69%, 485888 KB, 48852 KB/s, 9 seconds passed +... 69%, 485920 KB, 48854 KB/s, 9 seconds passed +... 69%, 485952 KB, 48855 KB/s, 9 seconds passed +... 69%, 485984 KB, 48857 KB/s, 9 seconds passed +... 69%, 486016 KB, 48859 KB/s, 9 seconds passed +... 69%, 486048 KB, 48861 KB/s, 9 seconds passed +... 69%, 486080 KB, 48863 KB/s, 9 seconds passed +... 69%, 486112 KB, 48865 KB/s, 9 seconds passed +... 69%, 486144 KB, 48866 KB/s, 9 seconds passed +... 69%, 486176 KB, 48868 KB/s, 9 seconds passed +... 69%, 486208 KB, 48870 KB/s, 9 seconds passed +... 69%, 486240 KB, 48872 KB/s, 9 seconds passed +... 69%, 486272 KB, 48874 KB/s, 9 seconds passed +... 69%, 486304 KB, 48876 KB/s, 9 seconds passed +... 69%, 486336 KB, 48877 KB/s, 9 seconds passed +... 69%, 486368 KB, 48879 KB/s, 9 seconds passed +... 69%, 486400 KB, 48877 KB/s, 9 seconds passed +... 69%, 486432 KB, 48879 KB/s, 9 seconds passed +... 69%, 486464 KB, 48882 KB/s, 9 seconds passed +... 69%, 486496 KB, 48883 KB/s, 9 seconds passed +... 69%, 486528 KB, 48885 KB/s, 9 seconds passed +... 69%, 486560 KB, 48887 KB/s, 9 seconds passed +... 69%, 486592 KB, 48888 KB/s, 9 seconds passed +... 69%, 486624 KB, 48890 KB/s, 9 seconds passed +... 69%, 486656 KB, 48892 KB/s, 9 seconds passed +... 69%, 486688 KB, 48894 KB/s, 9 seconds passed +... 69%, 486720 KB, 48896 KB/s, 9 seconds passed +... 69%, 486752 KB, 48898 KB/s, 9 seconds passed +... 69%, 486784 KB, 48900 KB/s, 9 seconds passed +... 69%, 486816 KB, 48902 KB/s, 9 seconds passed +... 69%, 486848 KB, 48904 KB/s, 9 seconds passed +... 70%, 486880 KB, 48906 KB/s, 9 seconds passed +... 70%, 486912 KB, 48907 KB/s, 9 seconds passed +... 70%, 486944 KB, 48908 KB/s, 9 seconds passed +... 70%, 486976 KB, 48909 KB/s, 9 seconds passed +... 70%, 487008 KB, 48912 KB/s, 9 seconds passed +... 70%, 487040 KB, 48914 KB/s, 9 seconds passed +... 70%, 487072 KB, 48916 KB/s, 9 seconds passed +... 70%, 487104 KB, 48918 KB/s, 9 seconds passed +... 70%, 487136 KB, 48920 KB/s, 9 seconds passed +... 70%, 487168 KB, 48922 KB/s, 9 seconds passed +... 70%, 487200 KB, 48924 KB/s, 9 seconds passed +... 70%, 487232 KB, 48925 KB/s, 9 seconds passed +... 70%, 487264 KB, 48927 KB/s, 9 seconds passed +... 70%, 487296 KB, 48929 KB/s, 9 seconds passed +... 70%, 487328 KB, 48931 KB/s, 9 seconds passed +... 70%, 487360 KB, 48933 KB/s, 9 seconds passed +... 70%, 487392 KB, 48935 KB/s, 9 seconds passed +... 70%, 487424 KB, 48937 KB/s, 9 seconds passed +... 70%, 487456 KB, 48939 KB/s, 9 seconds passed +... 70%, 487488 KB, 48940 KB/s, 9 seconds passed +... 70%, 487520 KB, 48941 KB/s, 9 seconds passed +... 70%, 487552 KB, 48943 KB/s, 9 seconds passed +... 70%, 487584 KB, 48946 KB/s, 9 seconds passed +... 70%, 487616 KB, 48948 KB/s, 9 seconds passed +... 70%, 487648 KB, 48950 KB/s, 9 seconds passed +... 70%, 487680 KB, 48951 KB/s, 9 seconds passed +... 70%, 487712 KB, 48952 KB/s, 9 seconds passed +... 70%, 487744 KB, 48953 KB/s, 9 seconds passed +... 70%, 487776 KB, 48955 KB/s, 9 seconds passed +... 70%, 487808 KB, 48957 KB/s, 9 seconds passed +... 70%, 487840 KB, 48960 KB/s, 9 seconds passed +... 70%, 487872 KB, 48962 KB/s, 9 seconds passed +... 70%, 487904 KB, 48964 KB/s, 9 seconds passed +... 70%, 487936 KB, 48966 KB/s, 9 seconds passed +... 70%, 487968 KB, 48948 KB/s, 9 seconds passed +... 70%, 488000 KB, 48949 KB/s, 9 seconds passed +... 70%, 488032 KB, 48951 KB/s, 9 seconds passed +... 70%, 488064 KB, 48952 KB/s, 9 seconds passed +... 70%, 488096 KB, 48954 KB/s, 9 seconds passed +... 70%, 488128 KB, 48955 KB/s, 9 seconds passed +... 70%, 488160 KB, 48956 KB/s, 9 seconds passed +... 70%, 488192 KB, 48958 KB/s, 9 seconds passed +... 70%, 488224 KB, 48959 KB/s, 9 seconds passed +... 70%, 488256 KB, 48961 KB/s, 9 seconds passed +... 70%, 488288 KB, 48962 KB/s, 9 seconds passed +... 70%, 488320 KB, 48964 KB/s, 9 seconds passed +... 70%, 488352 KB, 48965 KB/s, 9 seconds passed +... 70%, 488384 KB, 48966 KB/s, 9 seconds passed +... 70%, 488416 KB, 48968 KB/s, 9 seconds passed +... 70%, 488448 KB, 48969 KB/s, 9 seconds passed +... 70%, 488480 KB, 48970 KB/s, 9 seconds passed +... 70%, 488512 KB, 48972 KB/s, 9 seconds passed +... 70%, 488544 KB, 48973 KB/s, 9 seconds passed +... 70%, 488576 KB, 48975 KB/s, 9 seconds passed +... 70%, 488608 KB, 48976 KB/s, 9 seconds passed +... 70%, 488640 KB, 48977 KB/s, 9 seconds passed +... 70%, 488672 KB, 48979 KB/s, 9 seconds passed +... 70%, 488704 KB, 48980 KB/s, 9 seconds passed +... 70%, 488736 KB, 48981 KB/s, 9 seconds passed +... 70%, 488768 KB, 48983 KB/s, 9 seconds passed +... 70%, 488800 KB, 48984 KB/s, 9 seconds passed +... 70%, 488832 KB, 48986 KB/s, 9 seconds passed +... 70%, 488864 KB, 48988 KB/s, 9 seconds passed +... 70%, 488896 KB, 48990 KB/s, 9 seconds passed +... 70%, 488928 KB, 48992 KB/s, 9 seconds passed +... 70%, 488960 KB, 48994 KB/s, 9 seconds passed +... 70%, 488992 KB, 48996 KB/s, 9 seconds passed +... 70%, 489024 KB, 48998 KB/s, 9 seconds passed +... 70%, 489056 KB, 49000 KB/s, 9 seconds passed +... 70%, 489088 KB, 49002 KB/s, 9 seconds passed +... 70%, 489120 KB, 49003 KB/s, 9 seconds passed +... 70%, 489152 KB, 49005 KB/s, 9 seconds passed +... 70%, 489184 KB, 49007 KB/s, 9 seconds passed +... 70%, 489216 KB, 49009 KB/s, 9 seconds passed +... 70%, 489248 KB, 49011 KB/s, 9 seconds passed +... 70%, 489280 KB, 49013 KB/s, 9 seconds passed +... 70%, 489312 KB, 49015 KB/s, 9 seconds passed +... 70%, 489344 KB, 49017 KB/s, 9 seconds passed +... 70%, 489376 KB, 49019 KB/s, 9 seconds passed +... 70%, 489408 KB, 49021 KB/s, 9 seconds passed +... 70%, 489440 KB, 49023 KB/s, 9 seconds passed +... 70%, 489472 KB, 49025 KB/s, 9 seconds passed +... 70%, 489504 KB, 49026 KB/s, 9 seconds passed +... 70%, 489536 KB, 49028 KB/s, 9 seconds passed +... 70%, 489568 KB, 49030 KB/s, 9 seconds passed +... 70%, 489600 KB, 49032 KB/s, 9 seconds passed +... 70%, 489632 KB, 49034 KB/s, 9 seconds passed +... 70%, 489664 KB, 49036 KB/s, 9 seconds passed +... 70%, 489696 KB, 49038 KB/s, 9 seconds passed +... 70%, 489728 KB, 49040 KB/s, 9 seconds passed +... 70%, 489760 KB, 49042 KB/s, 9 seconds passed +... 70%, 489792 KB, 49044 KB/s, 9 seconds passed +... 70%, 489824 KB, 49045 KB/s, 9 seconds passed +... 70%, 489856 KB, 49047 KB/s, 9 seconds passed +... 70%, 489888 KB, 49049 KB/s, 9 seconds passed +... 70%, 489920 KB, 49051 KB/s, 9 seconds passed +... 70%, 489952 KB, 49053 KB/s, 9 seconds passed +... 70%, 489984 KB, 49055 KB/s, 9 seconds passed +... 70%, 490016 KB, 49057 KB/s, 9 seconds passed +... 70%, 490048 KB, 49059 KB/s, 9 seconds passed +... 70%, 490080 KB, 49062 KB/s, 9 seconds passed +... 70%, 490112 KB, 49064 KB/s, 9 seconds passed +... 70%, 490144 KB, 49066 KB/s, 9 seconds passed +... 70%, 490176 KB, 49069 KB/s, 9 seconds passed +... 70%, 490208 KB, 49071 KB/s, 9 seconds passed +... 70%, 490240 KB, 49073 KB/s, 9 seconds passed +... 70%, 490272 KB, 49076 KB/s, 9 seconds passed +... 70%, 490304 KB, 49078 KB/s, 9 seconds passed +... 70%, 490336 KB, 49081 KB/s, 9 seconds passed +... 70%, 490368 KB, 49083 KB/s, 9 seconds passed +... 70%, 490400 KB, 49085 KB/s, 9 seconds passed +... 70%, 490432 KB, 49087 KB/s, 9 seconds passed +... 70%, 490464 KB, 49089 KB/s, 9 seconds passed +... 70%, 490496 KB, 49091 KB/s, 9 seconds passed +... 70%, 490528 KB, 49093 KB/s, 9 seconds passed +... 70%, 490560 KB, 49094 KB/s, 9 seconds passed +... 70%, 490592 KB, 49096 KB/s, 9 seconds passed +... 70%, 490624 KB, 49098 KB/s, 9 seconds passed +... 70%, 490656 KB, 49100 KB/s, 9 seconds passed +... 70%, 490688 KB, 49102 KB/s, 9 seconds passed +... 70%, 490720 KB, 49104 KB/s, 9 seconds passed +... 70%, 490752 KB, 49105 KB/s, 9 seconds passed +... 70%, 490784 KB, 49107 KB/s, 9 seconds passed +... 70%, 490816 KB, 49109 KB/s, 9 seconds passed +... 70%, 490848 KB, 49111 KB/s, 9 seconds passed +... 70%, 490880 KB, 49113 KB/s, 9 seconds passed + +.. parsed-literal:: + + ... 70%, 490912 KB, 49113 KB/s, 9 seconds passed +... 70%, 490944 KB, 49113 KB/s, 9 seconds passed +... 70%, 490976 KB, 49114 KB/s, 9 seconds passed +... 70%, 491008 KB, 49116 KB/s, 9 seconds passed +... 70%, 491040 KB, 49117 KB/s, 9 seconds passed +... 70%, 491072 KB, 49119 KB/s, 9 seconds passed +... 70%, 491104 KB, 49121 KB/s, 9 seconds passed +... 70%, 491136 KB, 49123 KB/s, 9 seconds passed +... 70%, 491168 KB, 49125 KB/s, 9 seconds passed +... 70%, 491200 KB, 49127 KB/s, 9 seconds passed +... 70%, 491232 KB, 49129 KB/s, 9 seconds passed +... 70%, 491264 KB, 49131 KB/s, 9 seconds passed +... 70%, 491296 KB, 49133 KB/s, 9 seconds passed +... 70%, 491328 KB, 49135 KB/s, 9 seconds passed +... 70%, 491360 KB, 49137 KB/s, 9 seconds passed +... 70%, 491392 KB, 49139 KB/s, 9 seconds passed +... 70%, 491424 KB, 49142 KB/s, 10 seconds passed +... 70%, 491456 KB, 49144 KB/s, 10 seconds passed +... 70%, 491488 KB, 49146 KB/s, 10 seconds passed +... 70%, 491520 KB, 48973 KB/s, 10 seconds passed +... 70%, 491552 KB, 48974 KB/s, 10 seconds passed +... 70%, 491584 KB, 48974 KB/s, 10 seconds passed +... 70%, 491616 KB, 48975 KB/s, 10 seconds passed +... 70%, 491648 KB, 48977 KB/s, 10 seconds passed +... 70%, 491680 KB, 48978 KB/s, 10 seconds passed +... 70%, 491712 KB, 48975 KB/s, 10 seconds passed +... 70%, 491744 KB, 48975 KB/s, 10 seconds passed +... 70%, 491776 KB, 48976 KB/s, 10 seconds passed +... 70%, 491808 KB, 48977 KB/s, 10 seconds passed +... 70%, 491840 KB, 48977 KB/s, 10 seconds passed +... 70%, 491872 KB, 48978 KB/s, 10 seconds passed +... 70%, 491904 KB, 48978 KB/s, 10 seconds passed +... 70%, 491936 KB, 48979 KB/s, 10 seconds passed +... 70%, 491968 KB, 48980 KB/s, 10 seconds passed +... 70%, 492000 KB, 48980 KB/s, 10 seconds passed +... 70%, 492032 KB, 48981 KB/s, 10 seconds passed +... 70%, 492064 KB, 48982 KB/s, 10 seconds passed +... 70%, 492096 KB, 48982 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 70%, 492128 KB, 48983 KB/s, 10 seconds passed +... 70%, 492160 KB, 48983 KB/s, 10 seconds passed +... 70%, 492192 KB, 48984 KB/s, 10 seconds passed +... 70%, 492224 KB, 48983 KB/s, 10 seconds passed +... 70%, 492256 KB, 48983 KB/s, 10 seconds passed +... 70%, 492288 KB, 48984 KB/s, 10 seconds passed +... 70%, 492320 KB, 48986 KB/s, 10 seconds passed +... 70%, 492352 KB, 48987 KB/s, 10 seconds passed +... 70%, 492384 KB, 48988 KB/s, 10 seconds passed +... 70%, 492416 KB, 48989 KB/s, 10 seconds passed +... 70%, 492448 KB, 48991 KB/s, 10 seconds passed +... 70%, 492480 KB, 48993 KB/s, 10 seconds passed +... 70%, 492512 KB, 48995 KB/s, 10 seconds passed +... 70%, 492544 KB, 48997 KB/s, 10 seconds passed +... 70%, 492576 KB, 48999 KB/s, 10 seconds passed +... 70%, 492608 KB, 49000 KB/s, 10 seconds passed +... 70%, 492640 KB, 49002 KB/s, 10 seconds passed +... 70%, 492672 KB, 49004 KB/s, 10 seconds passed +... 70%, 492704 KB, 49006 KB/s, 10 seconds passed +... 70%, 492736 KB, 49008 KB/s, 10 seconds passed +... 70%, 492768 KB, 49009 KB/s, 10 seconds passed +... 70%, 492800 KB, 49011 KB/s, 10 seconds passed +... 70%, 492832 KB, 49013 KB/s, 10 seconds passed +... 70%, 492864 KB, 49015 KB/s, 10 seconds passed +... 70%, 492896 KB, 49016 KB/s, 10 seconds passed +... 70%, 492928 KB, 49018 KB/s, 10 seconds passed +... 70%, 492960 KB, 49020 KB/s, 10 seconds passed +... 70%, 492992 KB, 49022 KB/s, 10 seconds passed +... 70%, 493024 KB, 49024 KB/s, 10 seconds passed +... 70%, 493056 KB, 49026 KB/s, 10 seconds passed +... 70%, 493088 KB, 49028 KB/s, 10 seconds passed +... 70%, 493120 KB, 49030 KB/s, 10 seconds passed +... 70%, 493152 KB, 49031 KB/s, 10 seconds passed +... 70%, 493184 KB, 49033 KB/s, 10 seconds passed +... 70%, 493216 KB, 49035 KB/s, 10 seconds passed +... 70%, 493248 KB, 49037 KB/s, 10 seconds passed +... 70%, 493280 KB, 49039 KB/s, 10 seconds passed +... 70%, 493312 KB, 49040 KB/s, 10 seconds passed +... 70%, 493344 KB, 49042 KB/s, 10 seconds passed +... 70%, 493376 KB, 49044 KB/s, 10 seconds passed +... 70%, 493408 KB, 49046 KB/s, 10 seconds passed +... 70%, 493440 KB, 49049 KB/s, 10 seconds passed +... 70%, 493472 KB, 49051 KB/s, 10 seconds passed +... 70%, 493504 KB, 49053 KB/s, 10 seconds passed +... 70%, 493536 KB, 49055 KB/s, 10 seconds passed +... 70%, 493568 KB, 49058 KB/s, 10 seconds passed +... 70%, 493600 KB, 49060 KB/s, 10 seconds passed +... 70%, 493632 KB, 49062 KB/s, 10 seconds passed +... 70%, 493664 KB, 49065 KB/s, 10 seconds passed +... 70%, 493696 KB, 49067 KB/s, 10 seconds passed +... 70%, 493728 KB, 49069 KB/s, 10 seconds passed +... 70%, 493760 KB, 49071 KB/s, 10 seconds passed +... 70%, 493792 KB, 49074 KB/s, 10 seconds passed +... 71%, 493824 KB, 49076 KB/s, 10 seconds passed +... 71%, 493856 KB, 49078 KB/s, 10 seconds passed +... 71%, 493888 KB, 49080 KB/s, 10 seconds passed +... 71%, 493920 KB, 49083 KB/s, 10 seconds passed +... 71%, 493952 KB, 49085 KB/s, 10 seconds passed +... 71%, 493984 KB, 49087 KB/s, 10 seconds passed +... 71%, 494016 KB, 49089 KB/s, 10 seconds passed +... 71%, 494048 KB, 49092 KB/s, 10 seconds passed +... 71%, 494080 KB, 49094 KB/s, 10 seconds passed +... 71%, 494112 KB, 49096 KB/s, 10 seconds passed +... 71%, 494144 KB, 49098 KB/s, 10 seconds passed +... 71%, 494176 KB, 49101 KB/s, 10 seconds passed +... 71%, 494208 KB, 49103 KB/s, 10 seconds passed +... 71%, 494240 KB, 49105 KB/s, 10 seconds passed +... 71%, 494272 KB, 49108 KB/s, 10 seconds passed +... 71%, 494304 KB, 49110 KB/s, 10 seconds passed +... 71%, 494336 KB, 49112 KB/s, 10 seconds passed +... 71%, 494368 KB, 49114 KB/s, 10 seconds passed +... 71%, 494400 KB, 49117 KB/s, 10 seconds passed +... 71%, 494432 KB, 49119 KB/s, 10 seconds passed +... 71%, 494464 KB, 49121 KB/s, 10 seconds passed +... 71%, 494496 KB, 49124 KB/s, 10 seconds passed +... 71%, 494528 KB, 49126 KB/s, 10 seconds passed +... 71%, 494560 KB, 49128 KB/s, 10 seconds passed +... 71%, 494592 KB, 49131 KB/s, 10 seconds passed +... 71%, 494624 KB, 49133 KB/s, 10 seconds passed +... 71%, 494656 KB, 49135 KB/s, 10 seconds passed +... 71%, 494688 KB, 49137 KB/s, 10 seconds passed +... 71%, 494720 KB, 49140 KB/s, 10 seconds passed +... 71%, 494752 KB, 49142 KB/s, 10 seconds passed +... 71%, 494784 KB, 49144 KB/s, 10 seconds passed +... 71%, 494816 KB, 49147 KB/s, 10 seconds passed +... 71%, 494848 KB, 49149 KB/s, 10 seconds passed +... 71%, 494880 KB, 49151 KB/s, 10 seconds passed +... 71%, 494912 KB, 49153 KB/s, 10 seconds passed +... 71%, 494944 KB, 49156 KB/s, 10 seconds passed +... 71%, 494976 KB, 49158 KB/s, 10 seconds passed +... 71%, 495008 KB, 49160 KB/s, 10 seconds passed +... 71%, 495040 KB, 49163 KB/s, 10 seconds passed +... 71%, 495072 KB, 49165 KB/s, 10 seconds passed +... 71%, 495104 KB, 49167 KB/s, 10 seconds passed +... 71%, 495136 KB, 49169 KB/s, 10 seconds passed +... 71%, 495168 KB, 49171 KB/s, 10 seconds passed +... 71%, 495200 KB, 49172 KB/s, 10 seconds passed +... 71%, 495232 KB, 49173 KB/s, 10 seconds passed +... 71%, 495264 KB, 49174 KB/s, 10 seconds passed +... 71%, 495296 KB, 49177 KB/s, 10 seconds passed +... 71%, 495328 KB, 49179 KB/s, 10 seconds passed +... 71%, 495360 KB, 49182 KB/s, 10 seconds passed +... 71%, 495392 KB, 49184 KB/s, 10 seconds passed +... 71%, 495424 KB, 49185 KB/s, 10 seconds passed +... 71%, 495456 KB, 49187 KB/s, 10 seconds passed +... 71%, 495488 KB, 49190 KB/s, 10 seconds passed +... 71%, 495520 KB, 49192 KB/s, 10 seconds passed +... 71%, 495552 KB, 49191 KB/s, 10 seconds passed +... 71%, 495584 KB, 49192 KB/s, 10 seconds passed +... 71%, 495616 KB, 49195 KB/s, 10 seconds passed +... 71%, 495648 KB, 49197 KB/s, 10 seconds passed +... 71%, 495680 KB, 49198 KB/s, 10 seconds passed +... 71%, 495712 KB, 49200 KB/s, 10 seconds passed +... 71%, 495744 KB, 49202 KB/s, 10 seconds passed +... 71%, 495776 KB, 49203 KB/s, 10 seconds passed +... 71%, 495808 KB, 49204 KB/s, 10 seconds passed +... 71%, 495840 KB, 49206 KB/s, 10 seconds passed +... 71%, 495872 KB, 49209 KB/s, 10 seconds passed +... 71%, 495904 KB, 49211 KB/s, 10 seconds passed +... 71%, 495936 KB, 49213 KB/s, 10 seconds passed +... 71%, 495968 KB, 49215 KB/s, 10 seconds passed +... 71%, 496000 KB, 49217 KB/s, 10 seconds passed +... 71%, 496032 KB, 49219 KB/s, 10 seconds passed +... 71%, 496064 KB, 49220 KB/s, 10 seconds passed +... 71%, 496096 KB, 49222 KB/s, 10 seconds passed +... 71%, 496128 KB, 49224 KB/s, 10 seconds passed +... 71%, 496160 KB, 49226 KB/s, 10 seconds passed +... 71%, 496192 KB, 49227 KB/s, 10 seconds passed +... 71%, 496224 KB, 49229 KB/s, 10 seconds passed +... 71%, 496256 KB, 49231 KB/s, 10 seconds passed +... 71%, 496288 KB, 49233 KB/s, 10 seconds passed +... 71%, 496320 KB, 49235 KB/s, 10 seconds passed +... 71%, 496352 KB, 49237 KB/s, 10 seconds passed +... 71%, 496384 KB, 49238 KB/s, 10 seconds passed +... 71%, 496416 KB, 49240 KB/s, 10 seconds passed +... 71%, 496448 KB, 49242 KB/s, 10 seconds passed +... 71%, 496480 KB, 49244 KB/s, 10 seconds passed +... 71%, 496512 KB, 49246 KB/s, 10 seconds passed +... 71%, 496544 KB, 49247 KB/s, 10 seconds passed +... 71%, 496576 KB, 49249 KB/s, 10 seconds passed +... 71%, 496608 KB, 49251 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 71%, 496640 KB, 49141 KB/s, 10 seconds passed +... 71%, 496672 KB, 49143 KB/s, 10 seconds passed +... 71%, 496704 KB, 49144 KB/s, 10 seconds passed +... 71%, 496736 KB, 49145 KB/s, 10 seconds passed +... 71%, 496768 KB, 49147 KB/s, 10 seconds passed +... 71%, 496800 KB, 49148 KB/s, 10 seconds passed +... 71%, 496832 KB, 49149 KB/s, 10 seconds passed +... 71%, 496864 KB, 49151 KB/s, 10 seconds passed +... 71%, 496896 KB, 49152 KB/s, 10 seconds passed +... 71%, 496928 KB, 49153 KB/s, 10 seconds passed +... 71%, 496960 KB, 49155 KB/s, 10 seconds passed +... 71%, 496992 KB, 49156 KB/s, 10 seconds passed +... 71%, 497024 KB, 49157 KB/s, 10 seconds passed +... 71%, 497056 KB, 49159 KB/s, 10 seconds passed +... 71%, 497088 KB, 49160 KB/s, 10 seconds passed +... 71%, 497120 KB, 49161 KB/s, 10 seconds passed +... 71%, 497152 KB, 49163 KB/s, 10 seconds passed +... 71%, 497184 KB, 49165 KB/s, 10 seconds passed +... 71%, 497216 KB, 49166 KB/s, 10 seconds passed +... 71%, 497248 KB, 49168 KB/s, 10 seconds passed +... 71%, 497280 KB, 49170 KB/s, 10 seconds passed +... 71%, 497312 KB, 49171 KB/s, 10 seconds passed +... 71%, 497344 KB, 49173 KB/s, 10 seconds passed +... 71%, 497376 KB, 49174 KB/s, 10 seconds passed +... 71%, 497408 KB, 49175 KB/s, 10 seconds passed +... 71%, 497440 KB, 49177 KB/s, 10 seconds passed +... 71%, 497472 KB, 49178 KB/s, 10 seconds passed +... 71%, 497504 KB, 49179 KB/s, 10 seconds passed +... 71%, 497536 KB, 49181 KB/s, 10 seconds passed +... 71%, 497568 KB, 49182 KB/s, 10 seconds passed +... 71%, 497600 KB, 49183 KB/s, 10 seconds passed +... 71%, 497632 KB, 49185 KB/s, 10 seconds passed +... 71%, 497664 KB, 49186 KB/s, 10 seconds passed +... 71%, 497696 KB, 49187 KB/s, 10 seconds passed +... 71%, 497728 KB, 49189 KB/s, 10 seconds passed +... 71%, 497760 KB, 49190 KB/s, 10 seconds passed +... 71%, 497792 KB, 49191 KB/s, 10 seconds passed +... 71%, 497824 KB, 49193 KB/s, 10 seconds passed +... 71%, 497856 KB, 49195 KB/s, 10 seconds passed +... 71%, 497888 KB, 49197 KB/s, 10 seconds passed +... 71%, 497920 KB, 49199 KB/s, 10 seconds passed +... 71%, 497952 KB, 49201 KB/s, 10 seconds passed +... 71%, 497984 KB, 49203 KB/s, 10 seconds passed +... 71%, 498016 KB, 49205 KB/s, 10 seconds passed +... 71%, 498048 KB, 49207 KB/s, 10 seconds passed +... 71%, 498080 KB, 49209 KB/s, 10 seconds passed +... 71%, 498112 KB, 49211 KB/s, 10 seconds passed +... 71%, 498144 KB, 49213 KB/s, 10 seconds passed +... 71%, 498176 KB, 49215 KB/s, 10 seconds passed +... 71%, 498208 KB, 49217 KB/s, 10 seconds passed +... 71%, 498240 KB, 49219 KB/s, 10 seconds passed +... 71%, 498272 KB, 49221 KB/s, 10 seconds passed +... 71%, 498304 KB, 49223 KB/s, 10 seconds passed +... 71%, 498336 KB, 49225 KB/s, 10 seconds passed +... 71%, 498368 KB, 49227 KB/s, 10 seconds passed +... 71%, 498400 KB, 49229 KB/s, 10 seconds passed +... 71%, 498432 KB, 49231 KB/s, 10 seconds passed +... 71%, 498464 KB, 49233 KB/s, 10 seconds passed +... 71%, 498496 KB, 49235 KB/s, 10 seconds passed +... 71%, 498528 KB, 49237 KB/s, 10 seconds passed +... 71%, 498560 KB, 49239 KB/s, 10 seconds passed +... 71%, 498592 KB, 49241 KB/s, 10 seconds passed +... 71%, 498624 KB, 49243 KB/s, 10 seconds passed +... 71%, 498656 KB, 49245 KB/s, 10 seconds passed +... 71%, 498688 KB, 49247 KB/s, 10 seconds passed +... 71%, 498720 KB, 49249 KB/s, 10 seconds passed +... 71%, 498752 KB, 49251 KB/s, 10 seconds passed +... 71%, 498784 KB, 49253 KB/s, 10 seconds passed +... 71%, 498816 KB, 49255 KB/s, 10 seconds passed +... 71%, 498848 KB, 49257 KB/s, 10 seconds passed +... 71%, 498880 KB, 49259 KB/s, 10 seconds passed +... 71%, 498912 KB, 49260 KB/s, 10 seconds passed +... 71%, 498944 KB, 49262 KB/s, 10 seconds passed +... 71%, 498976 KB, 49264 KB/s, 10 seconds passed +... 71%, 499008 KB, 49266 KB/s, 10 seconds passed +... 71%, 499040 KB, 49268 KB/s, 10 seconds passed +... 71%, 499072 KB, 49270 KB/s, 10 seconds passed +... 71%, 499104 KB, 49272 KB/s, 10 seconds passed +... 71%, 499136 KB, 49274 KB/s, 10 seconds passed +... 71%, 499168 KB, 49276 KB/s, 10 seconds passed +... 71%, 499200 KB, 49278 KB/s, 10 seconds passed +... 71%, 499232 KB, 49280 KB/s, 10 seconds passed +... 71%, 499264 KB, 49282 KB/s, 10 seconds passed +... 71%, 499296 KB, 49284 KB/s, 10 seconds passed +... 71%, 499328 KB, 49286 KB/s, 10 seconds passed +... 71%, 499360 KB, 49287 KB/s, 10 seconds passed +... 71%, 499392 KB, 49289 KB/s, 10 seconds passed +... 71%, 499424 KB, 49291 KB/s, 10 seconds passed +... 71%, 499456 KB, 49292 KB/s, 10 seconds passed +... 71%, 499488 KB, 49294 KB/s, 10 seconds passed +... 71%, 499520 KB, 49296 KB/s, 10 seconds passed +... 71%, 499552 KB, 49298 KB/s, 10 seconds passed +... 71%, 499584 KB, 49300 KB/s, 10 seconds passed +... 71%, 499616 KB, 49301 KB/s, 10 seconds passed +... 71%, 499648 KB, 49304 KB/s, 10 seconds passed +... 71%, 499680 KB, 49305 KB/s, 10 seconds passed +... 71%, 499712 KB, 49307 KB/s, 10 seconds passed +... 71%, 499744 KB, 49309 KB/s, 10 seconds passed +... 71%, 499776 KB, 49311 KB/s, 10 seconds passed +... 71%, 499808 KB, 49313 KB/s, 10 seconds passed +... 71%, 499840 KB, 49315 KB/s, 10 seconds passed +... 71%, 499872 KB, 49316 KB/s, 10 seconds passed +... 71%, 499904 KB, 49318 KB/s, 10 seconds passed +... 71%, 499936 KB, 49320 KB/s, 10 seconds passed +... 71%, 499968 KB, 49322 KB/s, 10 seconds passed +... 71%, 500000 KB, 49324 KB/s, 10 seconds passed +... 71%, 500032 KB, 49325 KB/s, 10 seconds passed +... 71%, 500064 KB, 49326 KB/s, 10 seconds passed +... 71%, 500096 KB, 49327 KB/s, 10 seconds passed +... 71%, 500128 KB, 49329 KB/s, 10 seconds passed +... 71%, 500160 KB, 49331 KB/s, 10 seconds passed +... 71%, 500192 KB, 49334 KB/s, 10 seconds passed +... 71%, 500224 KB, 49336 KB/s, 10 seconds passed +... 71%, 500256 KB, 49338 KB/s, 10 seconds passed +... 71%, 500288 KB, 49339 KB/s, 10 seconds passed +... 71%, 500320 KB, 49340 KB/s, 10 seconds passed +... 71%, 500352 KB, 49342 KB/s, 10 seconds passed +... 71%, 500384 KB, 49345 KB/s, 10 seconds passed +... 71%, 500416 KB, 49347 KB/s, 10 seconds passed +... 71%, 500448 KB, 49348 KB/s, 10 seconds passed +... 71%, 500480 KB, 49350 KB/s, 10 seconds passed +... 71%, 500512 KB, 49349 KB/s, 10 seconds passed +... 71%, 500544 KB, 49351 KB/s, 10 seconds passed +... 71%, 500576 KB, 49353 KB/s, 10 seconds passed +... 71%, 500608 KB, 49355 KB/s, 10 seconds passed +... 71%, 500640 KB, 49357 KB/s, 10 seconds passed +... 71%, 500672 KB, 49358 KB/s, 10 seconds passed +... 71%, 500704 KB, 49359 KB/s, 10 seconds passed +... 71%, 500736 KB, 49360 KB/s, 10 seconds passed +... 72%, 500768 KB, 49362 KB/s, 10 seconds passed +... 72%, 500800 KB, 49365 KB/s, 10 seconds passed +... 72%, 500832 KB, 49367 KB/s, 10 seconds passed +... 72%, 500864 KB, 49354 KB/s, 10 seconds passed +... 72%, 500896 KB, 49355 KB/s, 10 seconds passed +... 72%, 500928 KB, 49358 KB/s, 10 seconds passed +... 72%, 500960 KB, 49360 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 72%, 500992 KB, 49361 KB/s, 10 seconds passed +... 72%, 501024 KB, 49363 KB/s, 10 seconds passed +... 72%, 501056 KB, 49365 KB/s, 10 seconds passed +... 72%, 501088 KB, 49367 KB/s, 10 seconds passed +... 72%, 501120 KB, 49369 KB/s, 10 seconds passed +... 72%, 501152 KB, 49370 KB/s, 10 seconds passed +... 72%, 501184 KB, 49372 KB/s, 10 seconds passed +... 72%, 501216 KB, 49374 KB/s, 10 seconds passed +... 72%, 501248 KB, 49376 KB/s, 10 seconds passed +... 72%, 501280 KB, 49378 KB/s, 10 seconds passed +... 72%, 501312 KB, 49379 KB/s, 10 seconds passed +... 72%, 501344 KB, 49381 KB/s, 10 seconds passed +... 72%, 501376 KB, 49383 KB/s, 10 seconds passed +... 72%, 501408 KB, 49385 KB/s, 10 seconds passed +... 72%, 501440 KB, 49386 KB/s, 10 seconds passed +... 72%, 501472 KB, 49388 KB/s, 10 seconds passed +... 72%, 501504 KB, 49390 KB/s, 10 seconds passed +... 72%, 501536 KB, 49392 KB/s, 10 seconds passed +... 72%, 501568 KB, 49394 KB/s, 10 seconds passed +... 72%, 501600 KB, 49396 KB/s, 10 seconds passed +... 72%, 501632 KB, 49397 KB/s, 10 seconds passed +... 72%, 501664 KB, 49399 KB/s, 10 seconds passed +... 72%, 501696 KB, 49401 KB/s, 10 seconds passed +... 72%, 501728 KB, 49403 KB/s, 10 seconds passed +... 72%, 501760 KB, 49324 KB/s, 10 seconds passed +... 72%, 501792 KB, 49325 KB/s, 10 seconds passed +... 72%, 501824 KB, 49326 KB/s, 10 seconds passed +... 72%, 501856 KB, 49327 KB/s, 10 seconds passed +... 72%, 501888 KB, 49329 KB/s, 10 seconds passed +... 72%, 501920 KB, 49302 KB/s, 10 seconds passed +... 72%, 501952 KB, 49303 KB/s, 10 seconds passed +... 72%, 501984 KB, 49273 KB/s, 10 seconds passed +... 72%, 502016 KB, 49274 KB/s, 10 seconds passed +... 72%, 502048 KB, 49275 KB/s, 10 seconds passed +... 72%, 502080 KB, 49276 KB/s, 10 seconds passed +... 72%, 502112 KB, 49278 KB/s, 10 seconds passed +... 72%, 502144 KB, 49279 KB/s, 10 seconds passed +... 72%, 502176 KB, 49280 KB/s, 10 seconds passed +... 72%, 502208 KB, 49282 KB/s, 10 seconds passed +... 72%, 502240 KB, 49283 KB/s, 10 seconds passed +... 72%, 502272 KB, 49284 KB/s, 10 seconds passed +... 72%, 502304 KB, 49285 KB/s, 10 seconds passed +... 72%, 502336 KB, 49287 KB/s, 10 seconds passed +... 72%, 502368 KB, 49288 KB/s, 10 seconds passed +... 72%, 502400 KB, 49289 KB/s, 10 seconds passed +... 72%, 502432 KB, 49291 KB/s, 10 seconds passed +... 72%, 502464 KB, 49292 KB/s, 10 seconds passed +... 72%, 502496 KB, 49293 KB/s, 10 seconds passed +... 72%, 502528 KB, 49294 KB/s, 10 seconds passed +... 72%, 502560 KB, 49296 KB/s, 10 seconds passed +... 72%, 502592 KB, 49297 KB/s, 10 seconds passed +... 72%, 502624 KB, 49298 KB/s, 10 seconds passed +... 72%, 502656 KB, 49299 KB/s, 10 seconds passed +... 72%, 502688 KB, 49301 KB/s, 10 seconds passed +... 72%, 502720 KB, 49302 KB/s, 10 seconds passed +... 72%, 502752 KB, 49303 KB/s, 10 seconds passed +... 72%, 502784 KB, 49305 KB/s, 10 seconds passed +... 72%, 502816 KB, 49306 KB/s, 10 seconds passed +... 72%, 502848 KB, 49307 KB/s, 10 seconds passed +... 72%, 502880 KB, 49309 KB/s, 10 seconds passed +... 72%, 502912 KB, 49310 KB/s, 10 seconds passed +... 72%, 502944 KB, 49311 KB/s, 10 seconds passed +... 72%, 502976 KB, 49312 KB/s, 10 seconds passed +... 72%, 503008 KB, 49314 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 72%, 503040 KB, 49315 KB/s, 10 seconds passed +... 72%, 503072 KB, 49316 KB/s, 10 seconds passed +... 72%, 503104 KB, 49318 KB/s, 10 seconds passed +... 72%, 503136 KB, 49320 KB/s, 10 seconds passed +... 72%, 503168 KB, 49322 KB/s, 10 seconds passed +... 72%, 503200 KB, 49324 KB/s, 10 seconds passed +... 72%, 503232 KB, 49326 KB/s, 10 seconds passed +... 72%, 503264 KB, 49328 KB/s, 10 seconds passed +... 72%, 503296 KB, 49330 KB/s, 10 seconds passed +... 72%, 503328 KB, 49331 KB/s, 10 seconds passed +... 72%, 503360 KB, 49333 KB/s, 10 seconds passed +... 72%, 503392 KB, 49335 KB/s, 10 seconds passed +... 72%, 503424 KB, 49337 KB/s, 10 seconds passed +... 72%, 503456 KB, 49339 KB/s, 10 seconds passed +... 72%, 503488 KB, 49341 KB/s, 10 seconds passed +... 72%, 503520 KB, 49343 KB/s, 10 seconds passed +... 72%, 503552 KB, 49345 KB/s, 10 seconds passed +... 72%, 503584 KB, 49347 KB/s, 10 seconds passed +... 72%, 503616 KB, 49349 KB/s, 10 seconds passed +... 72%, 503648 KB, 49351 KB/s, 10 seconds passed +... 72%, 503680 KB, 49353 KB/s, 10 seconds passed +... 72%, 503712 KB, 49355 KB/s, 10 seconds passed +... 72%, 503744 KB, 49357 KB/s, 10 seconds passed +... 72%, 503776 KB, 49359 KB/s, 10 seconds passed +... 72%, 503808 KB, 49361 KB/s, 10 seconds passed +... 72%, 503840 KB, 49363 KB/s, 10 seconds passed +... 72%, 503872 KB, 49365 KB/s, 10 seconds passed +... 72%, 503904 KB, 49366 KB/s, 10 seconds passed +... 72%, 503936 KB, 49368 KB/s, 10 seconds passed +... 72%, 503968 KB, 49370 KB/s, 10 seconds passed +... 72%, 504000 KB, 49372 KB/s, 10 seconds passed +... 72%, 504032 KB, 49374 KB/s, 10 seconds passed +... 72%, 504064 KB, 49376 KB/s, 10 seconds passed +... 72%, 504096 KB, 49378 KB/s, 10 seconds passed +... 72%, 504128 KB, 49380 KB/s, 10 seconds passed +... 72%, 504160 KB, 49382 KB/s, 10 seconds passed +... 72%, 504192 KB, 49384 KB/s, 10 seconds passed +... 72%, 504224 KB, 49386 KB/s, 10 seconds passed +... 72%, 504256 KB, 49388 KB/s, 10 seconds passed +... 72%, 504288 KB, 49390 KB/s, 10 seconds passed +... 72%, 504320 KB, 49392 KB/s, 10 seconds passed +... 72%, 504352 KB, 49394 KB/s, 10 seconds passed +... 72%, 504384 KB, 49396 KB/s, 10 seconds passed +... 72%, 504416 KB, 49398 KB/s, 10 seconds passed +... 72%, 504448 KB, 49401 KB/s, 10 seconds passed +... 72%, 504480 KB, 49403 KB/s, 10 seconds passed +... 72%, 504512 KB, 49405 KB/s, 10 seconds passed +... 72%, 504544 KB, 49407 KB/s, 10 seconds passed +... 72%, 504576 KB, 49410 KB/s, 10 seconds passed +... 72%, 504608 KB, 49412 KB/s, 10 seconds passed +... 72%, 504640 KB, 49414 KB/s, 10 seconds passed +... 72%, 504672 KB, 49417 KB/s, 10 seconds passed +... 72%, 504704 KB, 49419 KB/s, 10 seconds passed +... 72%, 504736 KB, 49421 KB/s, 10 seconds passed +... 72%, 504768 KB, 49424 KB/s, 10 seconds passed +... 72%, 504800 KB, 49426 KB/s, 10 seconds passed +... 72%, 504832 KB, 49428 KB/s, 10 seconds passed +... 72%, 504864 KB, 49431 KB/s, 10 seconds passed +... 72%, 504896 KB, 49433 KB/s, 10 seconds passed +... 72%, 504928 KB, 49435 KB/s, 10 seconds passed +... 72%, 504960 KB, 49438 KB/s, 10 seconds passed +... 72%, 504992 KB, 49440 KB/s, 10 seconds passed +... 72%, 505024 KB, 49443 KB/s, 10 seconds passed +... 72%, 505056 KB, 49445 KB/s, 10 seconds passed +... 72%, 505088 KB, 49446 KB/s, 10 seconds passed +... 72%, 505120 KB, 49448 KB/s, 10 seconds passed +... 72%, 505152 KB, 49450 KB/s, 10 seconds passed +... 72%, 505184 KB, 49452 KB/s, 10 seconds passed +... 72%, 505216 KB, 49454 KB/s, 10 seconds passed +... 72%, 505248 KB, 49455 KB/s, 10 seconds passed +... 72%, 505280 KB, 49457 KB/s, 10 seconds passed +... 72%, 505312 KB, 49459 KB/s, 10 seconds passed +... 72%, 505344 KB, 49460 KB/s, 10 seconds passed +... 72%, 505376 KB, 49462 KB/s, 10 seconds passed +... 72%, 505408 KB, 49464 KB/s, 10 seconds passed +... 72%, 505440 KB, 49466 KB/s, 10 seconds passed +... 72%, 505472 KB, 49468 KB/s, 10 seconds passed +... 72%, 505504 KB, 49470 KB/s, 10 seconds passed +... 72%, 505536 KB, 49472 KB/s, 10 seconds passed +... 72%, 505568 KB, 49473 KB/s, 10 seconds passed +... 72%, 505600 KB, 49475 KB/s, 10 seconds passed +... 72%, 505632 KB, 49477 KB/s, 10 seconds passed +... 72%, 505664 KB, 49479 KB/s, 10 seconds passed +... 72%, 505696 KB, 49480 KB/s, 10 seconds passed +... 72%, 505728 KB, 49482 KB/s, 10 seconds passed +... 72%, 505760 KB, 49484 KB/s, 10 seconds passed +... 72%, 505792 KB, 49486 KB/s, 10 seconds passed +... 72%, 505824 KB, 49488 KB/s, 10 seconds passed +... 72%, 505856 KB, 49490 KB/s, 10 seconds passed +... 72%, 505888 KB, 49491 KB/s, 10 seconds passed +... 72%, 505920 KB, 49493 KB/s, 10 seconds passed +... 72%, 505952 KB, 49495 KB/s, 10 seconds passed +... 72%, 505984 KB, 49497 KB/s, 10 seconds passed +... 72%, 506016 KB, 49498 KB/s, 10 seconds passed +... 72%, 506048 KB, 49500 KB/s, 10 seconds passed +... 72%, 506080 KB, 49502 KB/s, 10 seconds passed +... 72%, 506112 KB, 49504 KB/s, 10 seconds passed +... 72%, 506144 KB, 49505 KB/s, 10 seconds passed +... 72%, 506176 KB, 49507 KB/s, 10 seconds passed +... 72%, 506208 KB, 49509 KB/s, 10 seconds passed +... 72%, 506240 KB, 49511 KB/s, 10 seconds passed +... 72%, 506272 KB, 49513 KB/s, 10 seconds passed +... 72%, 506304 KB, 49515 KB/s, 10 seconds passed +... 72%, 506336 KB, 49516 KB/s, 10 seconds passed +... 72%, 506368 KB, 49517 KB/s, 10 seconds passed +... 72%, 506400 KB, 49519 KB/s, 10 seconds passed +... 72%, 506432 KB, 49521 KB/s, 10 seconds passed +... 72%, 506464 KB, 49523 KB/s, 10 seconds passed +... 72%, 506496 KB, 49525 KB/s, 10 seconds passed +... 72%, 506528 KB, 49527 KB/s, 10 seconds passed +... 72%, 506560 KB, 49529 KB/s, 10 seconds passed +... 72%, 506592 KB, 49530 KB/s, 10 seconds passed +... 72%, 506624 KB, 49532 KB/s, 10 seconds passed +... 72%, 506656 KB, 49534 KB/s, 10 seconds passed +... 72%, 506688 KB, 49536 KB/s, 10 seconds passed +... 72%, 506720 KB, 49538 KB/s, 10 seconds passed +... 72%, 506752 KB, 49539 KB/s, 10 seconds passed +... 72%, 506784 KB, 49541 KB/s, 10 seconds passed +... 72%, 506816 KB, 49543 KB/s, 10 seconds passed +... 72%, 506848 KB, 49545 KB/s, 10 seconds passed +... 72%, 506880 KB, 49456 KB/s, 10 seconds passed +... 72%, 506912 KB, 49457 KB/s, 10 seconds passed +... 72%, 506944 KB, 49458 KB/s, 10 seconds passed +... 72%, 506976 KB, 49460 KB/s, 10 seconds passed +... 72%, 507008 KB, 49461 KB/s, 10 seconds passed +... 72%, 507040 KB, 49463 KB/s, 10 seconds passed +... 72%, 507072 KB, 49464 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 72%, 507104 KB, 49465 KB/s, 10 seconds passed +... 72%, 507136 KB, 49466 KB/s, 10 seconds passed +... 72%, 507168 KB, 49467 KB/s, 10 seconds passed +... 72%, 507200 KB, 49468 KB/s, 10 seconds passed +... 72%, 507232 KB, 49470 KB/s, 10 seconds passed +... 72%, 507264 KB, 49464 KB/s, 10 seconds passed +... 72%, 507296 KB, 49465 KB/s, 10 seconds passed +... 72%, 507328 KB, 49466 KB/s, 10 seconds passed +... 72%, 507360 KB, 49468 KB/s, 10 seconds passed +... 72%, 507392 KB, 49469 KB/s, 10 seconds passed +... 72%, 507424 KB, 49470 KB/s, 10 seconds passed +... 72%, 507456 KB, 49471 KB/s, 10 seconds passed +... 72%, 507488 KB, 49473 KB/s, 10 seconds passed +... 72%, 507520 KB, 49474 KB/s, 10 seconds passed +... 72%, 507552 KB, 49476 KB/s, 10 seconds passed +... 72%, 507584 KB, 49477 KB/s, 10 seconds passed +... 72%, 507616 KB, 49478 KB/s, 10 seconds passed +... 72%, 507648 KB, 49479 KB/s, 10 seconds passed +... 72%, 507680 KB, 49481 KB/s, 10 seconds passed +... 72%, 507712 KB, 49482 KB/s, 10 seconds passed +... 73%, 507744 KB, 49484 KB/s, 10 seconds passed +... 73%, 507776 KB, 49485 KB/s, 10 seconds passed +... 73%, 507808 KB, 49487 KB/s, 10 seconds passed +... 73%, 507840 KB, 49488 KB/s, 10 seconds passed +... 73%, 507872 KB, 49490 KB/s, 10 seconds passed +... 73%, 507904 KB, 49492 KB/s, 10 seconds passed +... 73%, 507936 KB, 49493 KB/s, 10 seconds passed +... 73%, 507968 KB, 49495 KB/s, 10 seconds passed +... 73%, 508000 KB, 49497 KB/s, 10 seconds passed +... 73%, 508032 KB, 49498 KB/s, 10 seconds passed +... 73%, 508064 KB, 49500 KB/s, 10 seconds passed +... 73%, 508096 KB, 49502 KB/s, 10 seconds passed +... 73%, 508128 KB, 49503 KB/s, 10 seconds passed +... 73%, 508160 KB, 49505 KB/s, 10 seconds passed +... 73%, 508192 KB, 49507 KB/s, 10 seconds passed +... 73%, 508224 KB, 49508 KB/s, 10 seconds passed +... 73%, 508256 KB, 49510 KB/s, 10 seconds passed +... 73%, 508288 KB, 49512 KB/s, 10 seconds passed +... 73%, 508320 KB, 49514 KB/s, 10 seconds passed +... 73%, 508352 KB, 49515 KB/s, 10 seconds passed +... 73%, 508384 KB, 49517 KB/s, 10 seconds passed +... 73%, 508416 KB, 49518 KB/s, 10 seconds passed +... 73%, 508448 KB, 49520 KB/s, 10 seconds passed +... 73%, 508480 KB, 49522 KB/s, 10 seconds passed +... 73%, 508512 KB, 49523 KB/s, 10 seconds passed +... 73%, 508544 KB, 49525 KB/s, 10 seconds passed +... 73%, 508576 KB, 49527 KB/s, 10 seconds passed +... 73%, 508608 KB, 49529 KB/s, 10 seconds passed +... 73%, 508640 KB, 49530 KB/s, 10 seconds passed +... 73%, 508672 KB, 49532 KB/s, 10 seconds passed +... 73%, 508704 KB, 49534 KB/s, 10 seconds passed +... 73%, 508736 KB, 49535 KB/s, 10 seconds passed +... 73%, 508768 KB, 49537 KB/s, 10 seconds passed +... 73%, 508800 KB, 49539 KB/s, 10 seconds passed +... 73%, 508832 KB, 49540 KB/s, 10 seconds passed +... 73%, 508864 KB, 49542 KB/s, 10 seconds passed +... 73%, 508896 KB, 49544 KB/s, 10 seconds passed +... 73%, 508928 KB, 49546 KB/s, 10 seconds passed +... 73%, 508960 KB, 49548 KB/s, 10 seconds passed +... 73%, 508992 KB, 49551 KB/s, 10 seconds passed +... 73%, 509024 KB, 49553 KB/s, 10 seconds passed +... 73%, 509056 KB, 49555 KB/s, 10 seconds passed +... 73%, 509088 KB, 49557 KB/s, 10 seconds passed +... 73%, 509120 KB, 49559 KB/s, 10 seconds passed +... 73%, 509152 KB, 49561 KB/s, 10 seconds passed +... 73%, 509184 KB, 49564 KB/s, 10 seconds passed +... 73%, 509216 KB, 49566 KB/s, 10 seconds passed +... 73%, 509248 KB, 49568 KB/s, 10 seconds passed +... 73%, 509280 KB, 49570 KB/s, 10 seconds passed +... 73%, 509312 KB, 49572 KB/s, 10 seconds passed +... 73%, 509344 KB, 49574 KB/s, 10 seconds passed +... 73%, 509376 KB, 49577 KB/s, 10 seconds passed +... 73%, 509408 KB, 49579 KB/s, 10 seconds passed +... 73%, 509440 KB, 49581 KB/s, 10 seconds passed +... 73%, 509472 KB, 49583 KB/s, 10 seconds passed +... 73%, 509504 KB, 49585 KB/s, 10 seconds passed +... 73%, 509536 KB, 49587 KB/s, 10 seconds passed +... 73%, 509568 KB, 49589 KB/s, 10 seconds passed +... 73%, 509600 KB, 49592 KB/s, 10 seconds passed +... 73%, 509632 KB, 49594 KB/s, 10 seconds passed +... 73%, 509664 KB, 49596 KB/s, 10 seconds passed +... 73%, 509696 KB, 49598 KB/s, 10 seconds passed +... 73%, 509728 KB, 49600 KB/s, 10 seconds passed +... 73%, 509760 KB, 49602 KB/s, 10 seconds passed +... 73%, 509792 KB, 49604 KB/s, 10 seconds passed +... 73%, 509824 KB, 49605 KB/s, 10 seconds passed +... 73%, 509856 KB, 49607 KB/s, 10 seconds passed +... 73%, 509888 KB, 49609 KB/s, 10 seconds passed +... 73%, 509920 KB, 49611 KB/s, 10 seconds passed +... 73%, 509952 KB, 49613 KB/s, 10 seconds passed +... 73%, 509984 KB, 49614 KB/s, 10 seconds passed +... 73%, 510016 KB, 49616 KB/s, 10 seconds passed +... 73%, 510048 KB, 49617 KB/s, 10 seconds passed +... 73%, 510080 KB, 49619 KB/s, 10 seconds passed +... 73%, 510112 KB, 49621 KB/s, 10 seconds passed +... 73%, 510144 KB, 49623 KB/s, 10 seconds passed +... 73%, 510176 KB, 49624 KB/s, 10 seconds passed +... 73%, 510208 KB, 49626 KB/s, 10 seconds passed +... 73%, 510240 KB, 49628 KB/s, 10 seconds passed +... 73%, 510272 KB, 49630 KB/s, 10 seconds passed +... 73%, 510304 KB, 49631 KB/s, 10 seconds passed +... 73%, 510336 KB, 49633 KB/s, 10 seconds passed +... 73%, 510368 KB, 49635 KB/s, 10 seconds passed +... 73%, 510400 KB, 49637 KB/s, 10 seconds passed +... 73%, 510432 KB, 49639 KB/s, 10 seconds passed +... 73%, 510464 KB, 49640 KB/s, 10 seconds passed +... 73%, 510496 KB, 49642 KB/s, 10 seconds passed +... 73%, 510528 KB, 49644 KB/s, 10 seconds passed +... 73%, 510560 KB, 49646 KB/s, 10 seconds passed +... 73%, 510592 KB, 49648 KB/s, 10 seconds passed +... 73%, 510624 KB, 49650 KB/s, 10 seconds passed +... 73%, 510656 KB, 49652 KB/s, 10 seconds passed +... 73%, 510688 KB, 49653 KB/s, 10 seconds passed +... 73%, 510720 KB, 49655 KB/s, 10 seconds passed +... 73%, 510752 KB, 49657 KB/s, 10 seconds passed +... 73%, 510784 KB, 49658 KB/s, 10 seconds passed +... 73%, 510816 KB, 49660 KB/s, 10 seconds passed +... 73%, 510848 KB, 49650 KB/s, 10 seconds passed +... 73%, 510880 KB, 49651 KB/s, 10 seconds passed +... 73%, 510912 KB, 49654 KB/s, 10 seconds passed +... 73%, 510944 KB, 49655 KB/s, 10 seconds passed +... 73%, 510976 KB, 49657 KB/s, 10 seconds passed +... 73%, 511008 KB, 49659 KB/s, 10 seconds passed +... 73%, 511040 KB, 49660 KB/s, 10 seconds passed +... 73%, 511072 KB, 49663 KB/s, 10 seconds passed +... 73%, 511104 KB, 49664 KB/s, 10 seconds passed +... 73%, 511136 KB, 49666 KB/s, 10 seconds passed +... 73%, 511168 KB, 49652 KB/s, 10 seconds passed +... 73%, 511200 KB, 49653 KB/s, 10 seconds passed +... 73%, 511232 KB, 49654 KB/s, 10 seconds passed +... 73%, 511264 KB, 49657 KB/s, 10 seconds passed +... 73%, 511296 KB, 49657 KB/s, 10 seconds passed +... 73%, 511328 KB, 49648 KB/s, 10 seconds passed +... 73%, 511360 KB, 49650 KB/s, 10 seconds passed +... 73%, 511392 KB, 49652 KB/s, 10 seconds passed +... 73%, 511424 KB, 49654 KB/s, 10 seconds passed +... 73%, 511456 KB, 49655 KB/s, 10 seconds passed +... 73%, 511488 KB, 49657 KB/s, 10 seconds passed +... 73%, 511520 KB, 49659 KB/s, 10 seconds passed +... 73%, 511552 KB, 49661 KB/s, 10 seconds passed +... 73%, 511584 KB, 49663 KB/s, 10 seconds passed +... 73%, 511616 KB, 49664 KB/s, 10 seconds passed +... 73%, 511648 KB, 49666 KB/s, 10 seconds passed +... 73%, 511680 KB, 49667 KB/s, 10 seconds passed +... 73%, 511712 KB, 49669 KB/s, 10 seconds passed +... 73%, 511744 KB, 49671 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 73%, 511776 KB, 49673 KB/s, 10 seconds passed +... 73%, 511808 KB, 49674 KB/s, 10 seconds passed +... 73%, 511840 KB, 49676 KB/s, 10 seconds passed +... 73%, 511872 KB, 49678 KB/s, 10 seconds passed +... 73%, 511904 KB, 49680 KB/s, 10 seconds passed +... 73%, 511936 KB, 49682 KB/s, 10 seconds passed +... 73%, 511968 KB, 49684 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 73%, 512000 KB, 49383 KB/s, 10 seconds passed +... 73%, 512032 KB, 49384 KB/s, 10 seconds passed +... 73%, 512064 KB, 49385 KB/s, 10 seconds passed +... 73%, 512096 KB, 49386 KB/s, 10 seconds passed +... 73%, 512128 KB, 49388 KB/s, 10 seconds passed +... 73%, 512160 KB, 49389 KB/s, 10 seconds passed +... 73%, 512192 KB, 49390 KB/s, 10 seconds passed +... 73%, 512224 KB, 49391 KB/s, 10 seconds passed +... 73%, 512256 KB, 49392 KB/s, 10 seconds passed +... 73%, 512288 KB, 49394 KB/s, 10 seconds passed +... 73%, 512320 KB, 49395 KB/s, 10 seconds passed +... 73%, 512352 KB, 49396 KB/s, 10 seconds passed +... 73%, 512384 KB, 49397 KB/s, 10 seconds passed +... 73%, 512416 KB, 49398 KB/s, 10 seconds passed +... 73%, 512448 KB, 49400 KB/s, 10 seconds passed +... 73%, 512480 KB, 49401 KB/s, 10 seconds passed +... 73%, 512512 KB, 49402 KB/s, 10 seconds passed +... 73%, 512544 KB, 49403 KB/s, 10 seconds passed +... 73%, 512576 KB, 49404 KB/s, 10 seconds passed +... 73%, 512608 KB, 49406 KB/s, 10 seconds passed +... 73%, 512640 KB, 49407 KB/s, 10 seconds passed +... 73%, 512672 KB, 49409 KB/s, 10 seconds passed +... 73%, 512704 KB, 49411 KB/s, 10 seconds passed +... 73%, 512736 KB, 49412 KB/s, 10 seconds passed +... 73%, 512768 KB, 49387 KB/s, 10 seconds passed +... 73%, 512800 KB, 49388 KB/s, 10 seconds passed +... 73%, 512832 KB, 49389 KB/s, 10 seconds passed +... 73%, 512864 KB, 49391 KB/s, 10 seconds passed +... 73%, 512896 KB, 49392 KB/s, 10 seconds passed +... 73%, 512928 KB, 49393 KB/s, 10 seconds passed +... 73%, 512960 KB, 49394 KB/s, 10 seconds passed +... 73%, 512992 KB, 49396 KB/s, 10 seconds passed +... 73%, 513024 KB, 49397 KB/s, 10 seconds passed +... 73%, 513056 KB, 49398 KB/s, 10 seconds passed +... 73%, 513088 KB, 49399 KB/s, 10 seconds passed +... 73%, 513120 KB, 49400 KB/s, 10 seconds passed +... 73%, 513152 KB, 49402 KB/s, 10 seconds passed +... 73%, 513184 KB, 49403 KB/s, 10 seconds passed +... 73%, 513216 KB, 49404 KB/s, 10 seconds passed +... 73%, 513248 KB, 49405 KB/s, 10 seconds passed +... 73%, 513280 KB, 49406 KB/s, 10 seconds passed +... 73%, 513312 KB, 49408 KB/s, 10 seconds passed +... 73%, 513344 KB, 49409 KB/s, 10 seconds passed +... 73%, 513376 KB, 49410 KB/s, 10 seconds passed +... 73%, 513408 KB, 49411 KB/s, 10 seconds passed +... 73%, 513440 KB, 49413 KB/s, 10 seconds passed +... 73%, 513472 KB, 49414 KB/s, 10 seconds passed +... 73%, 513504 KB, 49415 KB/s, 10 seconds passed +... 73%, 513536 KB, 49416 KB/s, 10 seconds passed +... 73%, 513568 KB, 49417 KB/s, 10 seconds passed +... 73%, 513600 KB, 49419 KB/s, 10 seconds passed +... 73%, 513632 KB, 49421 KB/s, 10 seconds passed +... 73%, 513664 KB, 49423 KB/s, 10 seconds passed +... 73%, 513696 KB, 49425 KB/s, 10 seconds passed +... 73%, 513728 KB, 49426 KB/s, 10 seconds passed +... 73%, 513760 KB, 49428 KB/s, 10 seconds passed +... 73%, 513792 KB, 49430 KB/s, 10 seconds passed +... 73%, 513824 KB, 49432 KB/s, 10 seconds passed +... 73%, 513856 KB, 49433 KB/s, 10 seconds passed +... 73%, 513888 KB, 49435 KB/s, 10 seconds passed +... 73%, 513920 KB, 49437 KB/s, 10 seconds passed +... 73%, 513952 KB, 49439 KB/s, 10 seconds passed +... 73%, 513984 KB, 49440 KB/s, 10 seconds passed +... 73%, 514016 KB, 49442 KB/s, 10 seconds passed +... 73%, 514048 KB, 49444 KB/s, 10 seconds passed +... 73%, 514080 KB, 49446 KB/s, 10 seconds passed +... 73%, 514112 KB, 49447 KB/s, 10 seconds passed +... 73%, 514144 KB, 49449 KB/s, 10 seconds passed +... 73%, 514176 KB, 49451 KB/s, 10 seconds passed +... 73%, 514208 KB, 49452 KB/s, 10 seconds passed +... 73%, 514240 KB, 49454 KB/s, 10 seconds passed +... 73%, 514272 KB, 49456 KB/s, 10 seconds passed +... 73%, 514304 KB, 49458 KB/s, 10 seconds passed +... 73%, 514336 KB, 49459 KB/s, 10 seconds passed +... 73%, 514368 KB, 49461 KB/s, 10 seconds passed +... 73%, 514400 KB, 49463 KB/s, 10 seconds passed +... 73%, 514432 KB, 49465 KB/s, 10 seconds passed +... 73%, 514464 KB, 49467 KB/s, 10 seconds passed +... 73%, 514496 KB, 49468 KB/s, 10 seconds passed +... 73%, 514528 KB, 49470 KB/s, 10 seconds passed +... 73%, 514560 KB, 49472 KB/s, 10 seconds passed +... 73%, 514592 KB, 49474 KB/s, 10 seconds passed +... 73%, 514624 KB, 49475 KB/s, 10 seconds passed +... 73%, 514656 KB, 49477 KB/s, 10 seconds passed +... 74%, 514688 KB, 49479 KB/s, 10 seconds passed +... 74%, 514720 KB, 49481 KB/s, 10 seconds passed +... 74%, 514752 KB, 49484 KB/s, 10 seconds passed +... 74%, 514784 KB, 49486 KB/s, 10 seconds passed +... 74%, 514816 KB, 49488 KB/s, 10 seconds passed +... 74%, 514848 KB, 49491 KB/s, 10 seconds passed +... 74%, 514880 KB, 49493 KB/s, 10 seconds passed +... 74%, 514912 KB, 49495 KB/s, 10 seconds passed +... 74%, 514944 KB, 49498 KB/s, 10 seconds passed +... 74%, 514976 KB, 49500 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 74%, 515008 KB, 49437 KB/s, 10 seconds passed +... 74%, 515040 KB, 49405 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 74%, 515072 KB, 49195 KB/s, 10 seconds passed +... 74%, 515104 KB, 49197 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 74%, 515136 KB, 48956 KB/s, 10 seconds passed +... 74%, 515168 KB, 48821 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 74%, 515200 KB, 48789 KB/s, 10 seconds passed +... 74%, 515232 KB, 48621 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 74%, 515264 KB, 48519 KB/s, 10 seconds passed +... 74%, 515296 KB, 48482 KB/s, 10 seconds passed +... 74%, 515328 KB, 48482 KB/s, 10 seconds passed +... 74%, 515360 KB, 48483 KB/s, 10 seconds passed +... 74%, 515392 KB, 48484 KB/s, 10 seconds passed +... 74%, 515424 KB, 48486 KB/s, 10 seconds passed +... 74%, 515456 KB, 48487 KB/s, 10 seconds passed +... 74%, 515488 KB, 48488 KB/s, 10 seconds passed +... 74%, 515520 KB, 48489 KB/s, 10 seconds passed +... 74%, 515552 KB, 48490 KB/s, 10 seconds passed +... 74%, 515584 KB, 48492 KB/s, 10 seconds passed +... 74%, 515616 KB, 48493 KB/s, 10 seconds passed +... 74%, 515648 KB, 48494 KB/s, 10 seconds passed +... 74%, 515680 KB, 48495 KB/s, 10 seconds passed +... 74%, 515712 KB, 48496 KB/s, 10 seconds passed +... 74%, 515744 KB, 48498 KB/s, 10 seconds passed +... 74%, 515776 KB, 48499 KB/s, 10 seconds passed +... 74%, 515808 KB, 48500 KB/s, 10 seconds passed +... 74%, 515840 KB, 48502 KB/s, 10 seconds passed +... 74%, 515872 KB, 48503 KB/s, 10 seconds passed +... 74%, 515904 KB, 48505 KB/s, 10 seconds passed +... 74%, 515936 KB, 48507 KB/s, 10 seconds passed +... 74%, 515968 KB, 48508 KB/s, 10 seconds passed +... 74%, 516000 KB, 48510 KB/s, 10 seconds passed +... 74%, 516032 KB, 48512 KB/s, 10 seconds passed +... 74%, 516064 KB, 48507 KB/s, 10 seconds passed +... 74%, 516096 KB, 48508 KB/s, 10 seconds passed +... 74%, 516128 KB, 48509 KB/s, 10 seconds passed +... 74%, 516160 KB, 48510 KB/s, 10 seconds passed +... 74%, 516192 KB, 48512 KB/s, 10 seconds passed +... 74%, 516224 KB, 48513 KB/s, 10 seconds passed +... 74%, 516256 KB, 48514 KB/s, 10 seconds passed +... 74%, 516288 KB, 48515 KB/s, 10 seconds passed +... 74%, 516320 KB, 48517 KB/s, 10 seconds passed +... 74%, 516352 KB, 48518 KB/s, 10 seconds passed +... 74%, 516384 KB, 48519 KB/s, 10 seconds passed +... 74%, 516416 KB, 48520 KB/s, 10 seconds passed +... 74%, 516448 KB, 48522 KB/s, 10 seconds passed +... 74%, 516480 KB, 48523 KB/s, 10 seconds passed +... 74%, 516512 KB, 48524 KB/s, 10 seconds passed +... 74%, 516544 KB, 48525 KB/s, 10 seconds passed +... 74%, 516576 KB, 48527 KB/s, 10 seconds passed +... 74%, 516608 KB, 48529 KB/s, 10 seconds passed +... 74%, 516640 KB, 48531 KB/s, 10 seconds passed +... 74%, 516672 KB, 48532 KB/s, 10 seconds passed +... 74%, 516704 KB, 48534 KB/s, 10 seconds passed +... 74%, 516736 KB, 48536 KB/s, 10 seconds passed +... 74%, 516768 KB, 48537 KB/s, 10 seconds passed +... 74%, 516800 KB, 48539 KB/s, 10 seconds passed +... 74%, 516832 KB, 48541 KB/s, 10 seconds passed +... 74%, 516864 KB, 48542 KB/s, 10 seconds passed +... 74%, 516896 KB, 48544 KB/s, 10 seconds passed +... 74%, 516928 KB, 48546 KB/s, 10 seconds passed +... 74%, 516960 KB, 48548 KB/s, 10 seconds passed +... 74%, 516992 KB, 48549 KB/s, 10 seconds passed +... 74%, 517024 KB, 48551 KB/s, 10 seconds passed +... 74%, 517056 KB, 48553 KB/s, 10 seconds passed +... 74%, 517088 KB, 48554 KB/s, 10 seconds passed +... 74%, 517120 KB, 48556 KB/s, 10 seconds passed +... 74%, 517152 KB, 48557 KB/s, 10 seconds passed +... 74%, 517184 KB, 48559 KB/s, 10 seconds passed +... 74%, 517216 KB, 48561 KB/s, 10 seconds passed +... 74%, 517248 KB, 48563 KB/s, 10 seconds passed +... 74%, 517280 KB, 48564 KB/s, 10 seconds passed +... 74%, 517312 KB, 48566 KB/s, 10 seconds passed +... 74%, 517344 KB, 48568 KB/s, 10 seconds passed +... 74%, 517376 KB, 48569 KB/s, 10 seconds passed +... 74%, 517408 KB, 48571 KB/s, 10 seconds passed +... 74%, 517440 KB, 48573 KB/s, 10 seconds passed +... 74%, 517472 KB, 48574 KB/s, 10 seconds passed +... 74%, 517504 KB, 48576 KB/s, 10 seconds passed +... 74%, 517536 KB, 48578 KB/s, 10 seconds passed +... 74%, 517568 KB, 48579 KB/s, 10 seconds passed +... 74%, 517600 KB, 48581 KB/s, 10 seconds passed +... 74%, 517632 KB, 48583 KB/s, 10 seconds passed +... 74%, 517664 KB, 48585 KB/s, 10 seconds passed +... 74%, 517696 KB, 48587 KB/s, 10 seconds passed +... 74%, 517728 KB, 48589 KB/s, 10 seconds passed +... 74%, 517760 KB, 48591 KB/s, 10 seconds passed +... 74%, 517792 KB, 48593 KB/s, 10 seconds passed +... 74%, 517824 KB, 48595 KB/s, 10 seconds passed +... 74%, 517856 KB, 48597 KB/s, 10 seconds passed +... 74%, 517888 KB, 48599 KB/s, 10 seconds passed +... 74%, 517920 KB, 48601 KB/s, 10 seconds passed +... 74%, 517952 KB, 48604 KB/s, 10 seconds passed +... 74%, 517984 KB, 48606 KB/s, 10 seconds passed +... 74%, 518016 KB, 48608 KB/s, 10 seconds passed +... 74%, 518048 KB, 48610 KB/s, 10 seconds passed +... 74%, 518080 KB, 48612 KB/s, 10 seconds passed +... 74%, 518112 KB, 48614 KB/s, 10 seconds passed +... 74%, 518144 KB, 48616 KB/s, 10 seconds passed +... 74%, 518176 KB, 48619 KB/s, 10 seconds passed +... 74%, 518208 KB, 48621 KB/s, 10 seconds passed +... 74%, 518240 KB, 48623 KB/s, 10 seconds passed +... 74%, 518272 KB, 48625 KB/s, 10 seconds passed +... 74%, 518304 KB, 48627 KB/s, 10 seconds passed +... 74%, 518336 KB, 48629 KB/s, 10 seconds passed +... 74%, 518368 KB, 48631 KB/s, 10 seconds passed +... 74%, 518400 KB, 48633 KB/s, 10 seconds passed +... 74%, 518432 KB, 48635 KB/s, 10 seconds passed +... 74%, 518464 KB, 48637 KB/s, 10 seconds passed +... 74%, 518496 KB, 48639 KB/s, 10 seconds passed +... 74%, 518528 KB, 48641 KB/s, 10 seconds passed +... 74%, 518560 KB, 48642 KB/s, 10 seconds passed +... 74%, 518592 KB, 48644 KB/s, 10 seconds passed +... 74%, 518624 KB, 48646 KB/s, 10 seconds passed +... 74%, 518656 KB, 48648 KB/s, 10 seconds passed +... 74%, 518688 KB, 48649 KB/s, 10 seconds passed +... 74%, 518720 KB, 48650 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 74%, 518752 KB, 48652 KB/s, 10 seconds passed +... 74%, 518784 KB, 48653 KB/s, 10 seconds passed +... 74%, 518816 KB, 48655 KB/s, 10 seconds passed +... 74%, 518848 KB, 48657 KB/s, 10 seconds passed +... 74%, 518880 KB, 48660 KB/s, 10 seconds passed +... 74%, 518912 KB, 48661 KB/s, 10 seconds passed +... 74%, 518944 KB, 48663 KB/s, 10 seconds passed +... 74%, 518976 KB, 48665 KB/s, 10 seconds passed +... 74%, 519008 KB, 48666 KB/s, 10 seconds passed +... 74%, 519040 KB, 48668 KB/s, 10 seconds passed +... 74%, 519072 KB, 48670 KB/s, 10 seconds passed +... 74%, 519104 KB, 48672 KB/s, 10 seconds passed +... 74%, 519136 KB, 48673 KB/s, 10 seconds passed +... 74%, 519168 KB, 48675 KB/s, 10 seconds passed +... 74%, 519200 KB, 48677 KB/s, 10 seconds passed +... 74%, 519232 KB, 48679 KB/s, 10 seconds passed +... 74%, 519264 KB, 48680 KB/s, 10 seconds passed +... 74%, 519296 KB, 48682 KB/s, 10 seconds passed +... 74%, 519328 KB, 48684 KB/s, 10 seconds passed +... 74%, 519360 KB, 48685 KB/s, 10 seconds passed +... 74%, 519392 KB, 48687 KB/s, 10 seconds passed +... 74%, 519424 KB, 48689 KB/s, 10 seconds passed +... 74%, 519456 KB, 48691 KB/s, 10 seconds passed +... 74%, 519488 KB, 48692 KB/s, 10 seconds passed +... 74%, 519520 KB, 48694 KB/s, 10 seconds passed +... 74%, 519552 KB, 48696 KB/s, 10 seconds passed +... 74%, 519584 KB, 48697 KB/s, 10 seconds passed +... 74%, 519616 KB, 48699 KB/s, 10 seconds passed +... 74%, 519648 KB, 48701 KB/s, 10 seconds passed +... 74%, 519680 KB, 48702 KB/s, 10 seconds passed +... 74%, 519712 KB, 48704 KB/s, 10 seconds passed +... 74%, 519744 KB, 48706 KB/s, 10 seconds passed +... 74%, 519776 KB, 48708 KB/s, 10 seconds passed +... 74%, 519808 KB, 48709 KB/s, 10 seconds passed +... 74%, 519840 KB, 48711 KB/s, 10 seconds passed +... 74%, 519872 KB, 48713 KB/s, 10 seconds passed +... 74%, 519904 KB, 48715 KB/s, 10 seconds passed +... 74%, 519936 KB, 48716 KB/s, 10 seconds passed +... 74%, 519968 KB, 48718 KB/s, 10 seconds passed +... 74%, 520000 KB, 48720 KB/s, 10 seconds passed +... 74%, 520032 KB, 48722 KB/s, 10 seconds passed +... 74%, 520064 KB, 48724 KB/s, 10 seconds passed +... 74%, 520096 KB, 48725 KB/s, 10 seconds passed +... 74%, 520128 KB, 48727 KB/s, 10 seconds passed +... 74%, 520160 KB, 48729 KB/s, 10 seconds passed +... 74%, 520192 KB, 48731 KB/s, 10 seconds passed +... 74%, 520224 KB, 48732 KB/s, 10 seconds passed +... 74%, 520256 KB, 48734 KB/s, 10 seconds passed +... 74%, 520288 KB, 48736 KB/s, 10 seconds passed +... 74%, 520320 KB, 48738 KB/s, 10 seconds passed +... 74%, 520352 KB, 48739 KB/s, 10 seconds passed +... 74%, 520384 KB, 48741 KB/s, 10 seconds passed +... 74%, 520416 KB, 48742 KB/s, 10 seconds passed +... 74%, 520448 KB, 48744 KB/s, 10 seconds passed +... 74%, 520480 KB, 48746 KB/s, 10 seconds passed +... 74%, 520512 KB, 48748 KB/s, 10 seconds passed +... 74%, 520544 KB, 48749 KB/s, 10 seconds passed +... 74%, 520576 KB, 48750 KB/s, 10 seconds passed +... 74%, 520608 KB, 48752 KB/s, 10 seconds passed +... 74%, 520640 KB, 48754 KB/s, 10 seconds passed +... 74%, 520672 KB, 48745 KB/s, 10 seconds passed +... 74%, 520704 KB, 48743 KB/s, 10 seconds passed +... 74%, 520736 KB, 48741 KB/s, 10 seconds passed +... 74%, 520768 KB, 48725 KB/s, 10 seconds passed +... 74%, 520800 KB, 48726 KB/s, 10 seconds passed +... 74%, 520832 KB, 48727 KB/s, 10 seconds passed +... 74%, 520864 KB, 48729 KB/s, 10 seconds passed +... 74%, 520896 KB, 48730 KB/s, 10 seconds passed +... 74%, 520928 KB, 48732 KB/s, 10 seconds passed +... 74%, 520960 KB, 48733 KB/s, 10 seconds passed +... 74%, 520992 KB, 48734 KB/s, 10 seconds passed +... 74%, 521024 KB, 48736 KB/s, 10 seconds passed +... 74%, 521056 KB, 48737 KB/s, 10 seconds passed +... 74%, 521088 KB, 48739 KB/s, 10 seconds passed +... 74%, 521120 KB, 48689 KB/s, 10 seconds passed +... 74%, 521152 KB, 48689 KB/s, 10 seconds passed +... 74%, 521184 KB, 48690 KB/s, 10 seconds passed +... 74%, 521216 KB, 48692 KB/s, 10 seconds passed +... 74%, 521248 KB, 48693 KB/s, 10 seconds passed +... 74%, 521280 KB, 48694 KB/s, 10 seconds passed +... 74%, 521312 KB, 48696 KB/s, 10 seconds passed +... 74%, 521344 KB, 48697 KB/s, 10 seconds passed +... 74%, 521376 KB, 48698 KB/s, 10 seconds passed +... 74%, 521408 KB, 48700 KB/s, 10 seconds passed +... 74%, 521440 KB, 48701 KB/s, 10 seconds passed +... 74%, 521472 KB, 48702 KB/s, 10 seconds passed +... 74%, 521504 KB, 48703 KB/s, 10 seconds passed +... 74%, 521536 KB, 48705 KB/s, 10 seconds passed +... 74%, 521568 KB, 48706 KB/s, 10 seconds passed +... 74%, 521600 KB, 48707 KB/s, 10 seconds passed +... 75%, 521632 KB, 48709 KB/s, 10 seconds passed +... 75%, 521664 KB, 48710 KB/s, 10 seconds passed +... 75%, 521696 KB, 48711 KB/s, 10 seconds passed +... 75%, 521728 KB, 48713 KB/s, 10 seconds passed +... 75%, 521760 KB, 48714 KB/s, 10 seconds passed +... 75%, 521792 KB, 48716 KB/s, 10 seconds passed +... 75%, 521824 KB, 48717 KB/s, 10 seconds passed +... 75%, 521856 KB, 48718 KB/s, 10 seconds passed +... 75%, 521888 KB, 48719 KB/s, 10 seconds passed +... 75%, 521920 KB, 48721 KB/s, 10 seconds passed +... 75%, 521952 KB, 48722 KB/s, 10 seconds passed +... 75%, 521984 KB, 48723 KB/s, 10 seconds passed +... 75%, 522016 KB, 48724 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 75%, 522048 KB, 48726 KB/s, 10 seconds passed +... 75%, 522080 KB, 48727 KB/s, 10 seconds passed +... 75%, 522112 KB, 48728 KB/s, 10 seconds passed +... 75%, 522144 KB, 48730 KB/s, 10 seconds passed +... 75%, 522176 KB, 48731 KB/s, 10 seconds passed +... 75%, 522208 KB, 48733 KB/s, 10 seconds passed +... 75%, 522240 KB, 48735 KB/s, 10 seconds passed +... 75%, 522272 KB, 48737 KB/s, 10 seconds passed +... 75%, 522304 KB, 48739 KB/s, 10 seconds passed +... 75%, 522336 KB, 48741 KB/s, 10 seconds passed +... 75%, 522368 KB, 48742 KB/s, 10 seconds passed +... 75%, 522400 KB, 48744 KB/s, 10 seconds passed +... 75%, 522432 KB, 48746 KB/s, 10 seconds passed +... 75%, 522464 KB, 48748 KB/s, 10 seconds passed +... 75%, 522496 KB, 48750 KB/s, 10 seconds passed +... 75%, 522528 KB, 48752 KB/s, 10 seconds passed +... 75%, 522560 KB, 48754 KB/s, 10 seconds passed +... 75%, 522592 KB, 48756 KB/s, 10 seconds passed +... 75%, 522624 KB, 48758 KB/s, 10 seconds passed +... 75%, 522656 KB, 48760 KB/s, 10 seconds passed +... 75%, 522688 KB, 48761 KB/s, 10 seconds passed +... 75%, 522720 KB, 48763 KB/s, 10 seconds passed +... 75%, 522752 KB, 48765 KB/s, 10 seconds passed +... 75%, 522784 KB, 48767 KB/s, 10 seconds passed +... 75%, 522816 KB, 48769 KB/s, 10 seconds passed +... 75%, 522848 KB, 48771 KB/s, 10 seconds passed +... 75%, 522880 KB, 48773 KB/s, 10 seconds passed +... 75%, 522912 KB, 48775 KB/s, 10 seconds passed +... 75%, 522944 KB, 48777 KB/s, 10 seconds passed +... 75%, 522976 KB, 48779 KB/s, 10 seconds passed +... 75%, 523008 KB, 48780 KB/s, 10 seconds passed +... 75%, 523040 KB, 48782 KB/s, 10 seconds passed +... 75%, 523072 KB, 48784 KB/s, 10 seconds passed +... 75%, 523104 KB, 48786 KB/s, 10 seconds passed +... 75%, 523136 KB, 48788 KB/s, 10 seconds passed +... 75%, 523168 KB, 48790 KB/s, 10 seconds passed +... 75%, 523200 KB, 48792 KB/s, 10 seconds passed +... 75%, 523232 KB, 48794 KB/s, 10 seconds passed +... 75%, 523264 KB, 48796 KB/s, 10 seconds passed +... 75%, 523296 KB, 48798 KB/s, 10 seconds passed +... 75%, 523328 KB, 48799 KB/s, 10 seconds passed +... 75%, 523360 KB, 48801 KB/s, 10 seconds passed +... 75%, 523392 KB, 48803 KB/s, 10 seconds passed +... 75%, 523424 KB, 48805 KB/s, 10 seconds passed +... 75%, 523456 KB, 48807 KB/s, 10 seconds passed +... 75%, 523488 KB, 48809 KB/s, 10 seconds passed +... 75%, 523520 KB, 48811 KB/s, 10 seconds passed +... 75%, 523552 KB, 48813 KB/s, 10 seconds passed +... 75%, 523584 KB, 48815 KB/s, 10 seconds passed +... 75%, 523616 KB, 48817 KB/s, 10 seconds passed +... 75%, 523648 KB, 48819 KB/s, 10 seconds passed +... 75%, 523680 KB, 48822 KB/s, 10 seconds passed +... 75%, 523712 KB, 48824 KB/s, 10 seconds passed +... 75%, 523744 KB, 48826 KB/s, 10 seconds passed +... 75%, 523776 KB, 48828 KB/s, 10 seconds passed +... 75%, 523808 KB, 48831 KB/s, 10 seconds passed +... 75%, 523840 KB, 48833 KB/s, 10 seconds passed +... 75%, 523872 KB, 48835 KB/s, 10 seconds passed +... 75%, 523904 KB, 48837 KB/s, 10 seconds passed +... 75%, 523936 KB, 48840 KB/s, 10 seconds passed +... 75%, 523968 KB, 48842 KB/s, 10 seconds passed +... 75%, 524000 KB, 48843 KB/s, 10 seconds passed +... 75%, 524032 KB, 48840 KB/s, 10 seconds passed +... 75%, 524064 KB, 48842 KB/s, 10 seconds passed +... 75%, 524096 KB, 48844 KB/s, 10 seconds passed +... 75%, 524128 KB, 48845 KB/s, 10 seconds passed +... 75%, 524160 KB, 48847 KB/s, 10 seconds passed +... 75%, 524192 KB, 48849 KB/s, 10 seconds passed +... 75%, 524224 KB, 48850 KB/s, 10 seconds passed +... 75%, 524256 KB, 48852 KB/s, 10 seconds passed +... 75%, 524288 KB, 48854 KB/s, 10 seconds passed +... 75%, 524320 KB, 48856 KB/s, 10 seconds passed +... 75%, 524352 KB, 48858 KB/s, 10 seconds passed +... 75%, 524384 KB, 48859 KB/s, 10 seconds passed +... 75%, 524416 KB, 48861 KB/s, 10 seconds passed +... 75%, 524448 KB, 48863 KB/s, 10 seconds passed +... 75%, 524480 KB, 48865 KB/s, 10 seconds passed +... 75%, 524512 KB, 48866 KB/s, 10 seconds passed +... 75%, 524544 KB, 48867 KB/s, 10 seconds passed +... 75%, 524576 KB, 48869 KB/s, 10 seconds passed +... 75%, 524608 KB, 48871 KB/s, 10 seconds passed +... 75%, 524640 KB, 48873 KB/s, 10 seconds passed +... 75%, 524672 KB, 48875 KB/s, 10 seconds passed +... 75%, 524704 KB, 48876 KB/s, 10 seconds passed +... 75%, 524736 KB, 48878 KB/s, 10 seconds passed +... 75%, 524768 KB, 48880 KB/s, 10 seconds passed +... 75%, 524800 KB, 48882 KB/s, 10 seconds passed +... 75%, 524832 KB, 48883 KB/s, 10 seconds passed +... 75%, 524864 KB, 48884 KB/s, 10 seconds passed +... 75%, 524896 KB, 48885 KB/s, 10 seconds passed +... 75%, 524928 KB, 48886 KB/s, 10 seconds passed +... 75%, 524960 KB, 48889 KB/s, 10 seconds passed +... 75%, 524992 KB, 48891 KB/s, 10 seconds passed +... 75%, 525024 KB, 48893 KB/s, 10 seconds passed +... 75%, 525056 KB, 48895 KB/s, 10 seconds passed +... 75%, 525088 KB, 48897 KB/s, 10 seconds passed +... 75%, 525120 KB, 48899 KB/s, 10 seconds passed +... 75%, 525152 KB, 48900 KB/s, 10 seconds passed +... 75%, 525184 KB, 48902 KB/s, 10 seconds passed +... 75%, 525216 KB, 48904 KB/s, 10 seconds passed +... 75%, 525248 KB, 48906 KB/s, 10 seconds passed +... 75%, 525280 KB, 48907 KB/s, 10 seconds passed +... 75%, 525312 KB, 48909 KB/s, 10 seconds passed +... 75%, 525344 KB, 48911 KB/s, 10 seconds passed +... 75%, 525376 KB, 48912 KB/s, 10 seconds passed +... 75%, 525408 KB, 48914 KB/s, 10 seconds passed +... 75%, 525440 KB, 48916 KB/s, 10 seconds passed +... 75%, 525472 KB, 48917 KB/s, 10 seconds passed +... 75%, 525504 KB, 48919 KB/s, 10 seconds passed +... 75%, 525536 KB, 48921 KB/s, 10 seconds passed +... 75%, 525568 KB, 48922 KB/s, 10 seconds passed +... 75%, 525600 KB, 48924 KB/s, 10 seconds passed +... 75%, 525632 KB, 48926 KB/s, 10 seconds passed +... 75%, 525664 KB, 48927 KB/s, 10 seconds passed +... 75%, 525696 KB, 48928 KB/s, 10 seconds passed +... 75%, 525728 KB, 48929 KB/s, 10 seconds passed +... 75%, 525760 KB, 48931 KB/s, 10 seconds passed +... 75%, 525792 KB, 48934 KB/s, 10 seconds passed +... 75%, 525824 KB, 48936 KB/s, 10 seconds passed +... 75%, 525856 KB, 48938 KB/s, 10 seconds passed +... 75%, 525888 KB, 48939 KB/s, 10 seconds passed +... 75%, 525920 KB, 48941 KB/s, 10 seconds passed +... 75%, 525952 KB, 48943 KB/s, 10 seconds passed +... 75%, 525984 KB, 48945 KB/s, 10 seconds passed +... 75%, 526016 KB, 48946 KB/s, 10 seconds passed +... 75%, 526048 KB, 48948 KB/s, 10 seconds passed +... 75%, 526080 KB, 48950 KB/s, 10 seconds passed +... 75%, 526112 KB, 48952 KB/s, 10 seconds passed +... 75%, 526144 KB, 48953 KB/s, 10 seconds passed +... 75%, 526176 KB, 48955 KB/s, 10 seconds passed +... 75%, 526208 KB, 48957 KB/s, 10 seconds passed +... 75%, 526240 KB, 48958 KB/s, 10 seconds passed +... 75%, 526272 KB, 48960 KB/s, 10 seconds passed +... 75%, 526304 KB, 48962 KB/s, 10 seconds passed +... 75%, 526336 KB, 48964 KB/s, 10 seconds passed +... 75%, 526368 KB, 48965 KB/s, 10 seconds passed +... 75%, 526400 KB, 48967 KB/s, 10 seconds passed +... 75%, 526432 KB, 48968 KB/s, 10 seconds passed +... 75%, 526464 KB, 48970 KB/s, 10 seconds passed +... 75%, 526496 KB, 48971 KB/s, 10 seconds passed +... 75%, 526528 KB, 48973 KB/s, 10 seconds passed +... 75%, 526560 KB, 48975 KB/s, 10 seconds passed +... 75%, 526592 KB, 48977 KB/s, 10 seconds passed +... 75%, 526624 KB, 48979 KB/s, 10 seconds passed +... 75%, 526656 KB, 48980 KB/s, 10 seconds passed +... 75%, 526688 KB, 48982 KB/s, 10 seconds passed +... 75%, 526720 KB, 48984 KB/s, 10 seconds passed +... 75%, 526752 KB, 48986 KB/s, 10 seconds passed +... 75%, 526784 KB, 48987 KB/s, 10 seconds passed +... 75%, 526816 KB, 48989 KB/s, 10 seconds passed +... 75%, 526848 KB, 48991 KB/s, 10 seconds passed +... 75%, 526880 KB, 48993 KB/s, 10 seconds passed +... 75%, 526912 KB, 48994 KB/s, 10 seconds passed +... 75%, 526944 KB, 48996 KB/s, 10 seconds passed +... 75%, 526976 KB, 48998 KB/s, 10 seconds passed +... 75%, 527008 KB, 48999 KB/s, 10 seconds passed +... 75%, 527040 KB, 49001 KB/s, 10 seconds passed +... 75%, 527072 KB, 49003 KB/s, 10 seconds passed +... 75%, 527104 KB, 49004 KB/s, 10 seconds passed +... 75%, 527136 KB, 49006 KB/s, 10 seconds passed +... 75%, 527168 KB, 49008 KB/s, 10 seconds passed +... 75%, 527200 KB, 49009 KB/s, 10 seconds passed +... 75%, 527232 KB, 49011 KB/s, 10 seconds passed +... 75%, 527264 KB, 49013 KB/s, 10 seconds passed +... 75%, 527296 KB, 49014 KB/s, 10 seconds passed +... 75%, 527328 KB, 49015 KB/s, 10 seconds passed +... 75%, 527360 KB, 49018 KB/s, 10 seconds passed +... 75%, 527392 KB, 49020 KB/s, 10 seconds passed +... 75%, 527424 KB, 49021 KB/s, 10 seconds passed +... 75%, 527456 KB, 49023 KB/s, 10 seconds passed +... 75%, 527488 KB, 49024 KB/s, 10 seconds passed +... 75%, 527520 KB, 49026 KB/s, 10 seconds passed +... 75%, 527552 KB, 49027 KB/s, 10 seconds passed +... 75%, 527584 KB, 49030 KB/s, 10 seconds passed +... 75%, 527616 KB, 49032 KB/s, 10 seconds passed +... 75%, 527648 KB, 49033 KB/s, 10 seconds passed +... 75%, 527680 KB, 49035 KB/s, 10 seconds passed +... 75%, 527712 KB, 49037 KB/s, 10 seconds passed +... 75%, 527744 KB, 49038 KB/s, 10 seconds passed +... 75%, 527776 KB, 49040 KB/s, 10 seconds passed +... 75%, 527808 KB, 49042 KB/s, 10 seconds passed +... 75%, 527840 KB, 49044 KB/s, 10 seconds passed +... 75%, 527872 KB, 49045 KB/s, 10 seconds passed +... 75%, 527904 KB, 49047 KB/s, 10 seconds passed +... 75%, 527936 KB, 49049 KB/s, 10 seconds passed +... 75%, 527968 KB, 49050 KB/s, 10 seconds passed +... 75%, 528000 KB, 49052 KB/s, 10 seconds passed +... 75%, 528032 KB, 49054 KB/s, 10 seconds passed +... 75%, 528064 KB, 49055 KB/s, 10 seconds passed +... 75%, 528096 KB, 49056 KB/s, 10 seconds passed +... 75%, 528128 KB, 49058 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 75%, 528160 KB, 49060 KB/s, 10 seconds passed +... 75%, 528192 KB, 49062 KB/s, 10 seconds passed +... 75%, 528224 KB, 49064 KB/s, 10 seconds passed +... 75%, 528256 KB, 49065 KB/s, 10 seconds passed +... 75%, 528288 KB, 49067 KB/s, 10 seconds passed +... 75%, 528320 KB, 49068 KB/s, 10 seconds passed +... 75%, 528352 KB, 49069 KB/s, 10 seconds passed +... 75%, 528384 KB, 49071 KB/s, 10 seconds passed +... 75%, 528416 KB, 49072 KB/s, 10 seconds passed +... 75%, 528448 KB, 49073 KB/s, 10 seconds passed +... 75%, 528480 KB, 49075 KB/s, 10 seconds passed +... 75%, 528512 KB, 49076 KB/s, 10 seconds passed +... 75%, 528544 KB, 49077 KB/s, 10 seconds passed +... 75%, 528576 KB, 49079 KB/s, 10 seconds passed +... 76%, 528608 KB, 49080 KB/s, 10 seconds passed +... 76%, 528640 KB, 49081 KB/s, 10 seconds passed +... 76%, 528672 KB, 49083 KB/s, 10 seconds passed +... 76%, 528704 KB, 49084 KB/s, 10 seconds passed +... 76%, 528736 KB, 49085 KB/s, 10 seconds passed +... 76%, 528768 KB, 49086 KB/s, 10 seconds passed +... 76%, 528800 KB, 49088 KB/s, 10 seconds passed +... 76%, 528832 KB, 49089 KB/s, 10 seconds passed +... 76%, 528864 KB, 49090 KB/s, 10 seconds passed +... 76%, 528896 KB, 49092 KB/s, 10 seconds passed +... 76%, 528928 KB, 49093 KB/s, 10 seconds passed +... 76%, 528960 KB, 49094 KB/s, 10 seconds passed +... 76%, 528992 KB, 49096 KB/s, 10 seconds passed +... 76%, 529024 KB, 49097 KB/s, 10 seconds passed +... 76%, 529056 KB, 49098 KB/s, 10 seconds passed +... 76%, 529088 KB, 49099 KB/s, 10 seconds passed +... 76%, 529120 KB, 49101 KB/s, 10 seconds passed +... 76%, 529152 KB, 49103 KB/s, 10 seconds passed +... 76%, 529184 KB, 49105 KB/s, 10 seconds passed +... 76%, 529216 KB, 49106 KB/s, 10 seconds passed +... 76%, 529248 KB, 49108 KB/s, 10 seconds passed +... 76%, 529280 KB, 49110 KB/s, 10 seconds passed +... 76%, 529312 KB, 49112 KB/s, 10 seconds passed +... 76%, 529344 KB, 49114 KB/s, 10 seconds passed +... 76%, 529376 KB, 49116 KB/s, 10 seconds passed +... 76%, 529408 KB, 49118 KB/s, 10 seconds passed +... 76%, 529440 KB, 49119 KB/s, 10 seconds passed +... 76%, 529472 KB, 49121 KB/s, 10 seconds passed +... 76%, 529504 KB, 49123 KB/s, 10 seconds passed +... 76%, 529536 KB, 49125 KB/s, 10 seconds passed +... 76%, 529568 KB, 49127 KB/s, 10 seconds passed +... 76%, 529600 KB, 49128 KB/s, 10 seconds passed +... 76%, 529632 KB, 49130 KB/s, 10 seconds passed +... 76%, 529664 KB, 49132 KB/s, 10 seconds passed +... 76%, 529696 KB, 49134 KB/s, 10 seconds passed +... 76%, 529728 KB, 49136 KB/s, 10 seconds passed +... 76%, 529760 KB, 49138 KB/s, 10 seconds passed +... 76%, 529792 KB, 49140 KB/s, 10 seconds passed +... 76%, 529824 KB, 49142 KB/s, 10 seconds passed +... 76%, 529856 KB, 49143 KB/s, 10 seconds passed +... 76%, 529888 KB, 49145 KB/s, 10 seconds passed +... 76%, 529920 KB, 49147 KB/s, 10 seconds passed +... 76%, 529952 KB, 49149 KB/s, 10 seconds passed +... 76%, 529984 KB, 49151 KB/s, 10 seconds passed +... 76%, 530016 KB, 49152 KB/s, 10 seconds passed +... 76%, 530048 KB, 49154 KB/s, 10 seconds passed +... 76%, 530080 KB, 49156 KB/s, 10 seconds passed +... 76%, 530112 KB, 49158 KB/s, 10 seconds passed +... 76%, 530144 KB, 49160 KB/s, 10 seconds passed +... 76%, 530176 KB, 49162 KB/s, 10 seconds passed +... 76%, 530208 KB, 49164 KB/s, 10 seconds passed +... 76%, 530240 KB, 49165 KB/s, 10 seconds passed +... 76%, 530272 KB, 49167 KB/s, 10 seconds passed +... 76%, 530304 KB, 49169 KB/s, 10 seconds passed +... 76%, 530336 KB, 49171 KB/s, 10 seconds passed +... 76%, 530368 KB, 49173 KB/s, 10 seconds passed +... 76%, 530400 KB, 49175 KB/s, 10 seconds passed +... 76%, 530432 KB, 49177 KB/s, 10 seconds passed +... 76%, 530464 KB, 49179 KB/s, 10 seconds passed +... 76%, 530496 KB, 49181 KB/s, 10 seconds passed +... 76%, 530528 KB, 49183 KB/s, 10 seconds passed +... 76%, 530560 KB, 49186 KB/s, 10 seconds passed +... 76%, 530592 KB, 49188 KB/s, 10 seconds passed +... 76%, 530624 KB, 49190 KB/s, 10 seconds passed +... 76%, 530656 KB, 49192 KB/s, 10 seconds passed +... 76%, 530688 KB, 49194 KB/s, 10 seconds passed +... 76%, 530720 KB, 49196 KB/s, 10 seconds passed +... 76%, 530752 KB, 49198 KB/s, 10 seconds passed +... 76%, 530784 KB, 49200 KB/s, 10 seconds passed +... 76%, 530816 KB, 49201 KB/s, 10 seconds passed +... 76%, 530848 KB, 49203 KB/s, 10 seconds passed +... 76%, 530880 KB, 49204 KB/s, 10 seconds passed +... 76%, 530912 KB, 49205 KB/s, 10 seconds passed +... 76%, 530944 KB, 49207 KB/s, 10 seconds passed +... 76%, 530976 KB, 49210 KB/s, 10 seconds passed +... 76%, 531008 KB, 49211 KB/s, 10 seconds passed +... 76%, 531040 KB, 49212 KB/s, 10 seconds passed +... 76%, 531072 KB, 49213 KB/s, 10 seconds passed +... 76%, 531104 KB, 49215 KB/s, 10 seconds passed +... 76%, 531136 KB, 49217 KB/s, 10 seconds passed +... 76%, 531168 KB, 49219 KB/s, 10 seconds passed +... 76%, 531200 KB, 49221 KB/s, 10 seconds passed +... 76%, 531232 KB, 49223 KB/s, 10 seconds passed +... 76%, 531264 KB, 49225 KB/s, 10 seconds passed +... 76%, 531296 KB, 49227 KB/s, 10 seconds passed +... 76%, 531328 KB, 49228 KB/s, 10 seconds passed +... 76%, 531360 KB, 49230 KB/s, 10 seconds passed +... 76%, 531392 KB, 49232 KB/s, 10 seconds passed +... 76%, 531424 KB, 49233 KB/s, 10 seconds passed +... 76%, 531456 KB, 49235 KB/s, 10 seconds passed +... 76%, 531488 KB, 49237 KB/s, 10 seconds passed +... 76%, 531520 KB, 49238 KB/s, 10 seconds passed +... 76%, 531552 KB, 49240 KB/s, 10 seconds passed +... 76%, 531584 KB, 49242 KB/s, 10 seconds passed +... 76%, 531616 KB, 49244 KB/s, 10 seconds passed +... 76%, 531648 KB, 49245 KB/s, 10 seconds passed +... 76%, 531680 KB, 49247 KB/s, 10 seconds passed +... 76%, 531712 KB, 49249 KB/s, 10 seconds passed +... 76%, 531744 KB, 49250 KB/s, 10 seconds passed +... 76%, 531776 KB, 49252 KB/s, 10 seconds passed +... 76%, 531808 KB, 49254 KB/s, 10 seconds passed +... 76%, 531840 KB, 49255 KB/s, 10 seconds passed +... 76%, 531872 KB, 49256 KB/s, 10 seconds passed +... 76%, 531904 KB, 49257 KB/s, 10 seconds passed +... 76%, 531936 KB, 49259 KB/s, 10 seconds passed +... 76%, 531968 KB, 49261 KB/s, 10 seconds passed +... 76%, 532000 KB, 49264 KB/s, 10 seconds passed +... 76%, 532032 KB, 49265 KB/s, 10 seconds passed +... 76%, 532064 KB, 49267 KB/s, 10 seconds passed +... 76%, 532096 KB, 49269 KB/s, 10 seconds passed +... 76%, 532128 KB, 49271 KB/s, 10 seconds passed +... 76%, 532160 KB, 49272 KB/s, 10 seconds passed +... 76%, 532192 KB, 49274 KB/s, 10 seconds passed +... 76%, 532224 KB, 49276 KB/s, 10 seconds passed +... 76%, 532256 KB, 49277 KB/s, 10 seconds passed +... 76%, 532288 KB, 49279 KB/s, 10 seconds passed +... 76%, 532320 KB, 49280 KB/s, 10 seconds passed +... 76%, 532352 KB, 49281 KB/s, 10 seconds passed +... 76%, 532384 KB, 49283 KB/s, 10 seconds passed +... 76%, 532416 KB, 49285 KB/s, 10 seconds passed +... 76%, 532448 KB, 49287 KB/s, 10 seconds passed +... 76%, 532480 KB, 49289 KB/s, 10 seconds passed +... 76%, 532512 KB, 49291 KB/s, 10 seconds passed +... 76%, 532544 KB, 49292 KB/s, 10 seconds passed +... 76%, 532576 KB, 49294 KB/s, 10 seconds passed +... 76%, 532608 KB, 49295 KB/s, 10 seconds passed +... 76%, 532640 KB, 49297 KB/s, 10 seconds passed +... 76%, 532672 KB, 49300 KB/s, 10 seconds passed +... 76%, 532704 KB, 49301 KB/s, 10 seconds passed +... 76%, 532736 KB, 49303 KB/s, 10 seconds passed +... 76%, 532768 KB, 49305 KB/s, 10 seconds passed +... 76%, 532800 KB, 49306 KB/s, 10 seconds passed +... 76%, 532832 KB, 49308 KB/s, 10 seconds passed +... 76%, 532864 KB, 49309 KB/s, 10 seconds passed +... 76%, 532896 KB, 49312 KB/s, 10 seconds passed +... 76%, 532928 KB, 49313 KB/s, 10 seconds passed +... 76%, 532960 KB, 49314 KB/s, 10 seconds passed +... 76%, 532992 KB, 49315 KB/s, 10 seconds passed +... 76%, 533024 KB, 49316 KB/s, 10 seconds passed +... 76%, 533056 KB, 49318 KB/s, 10 seconds passed +... 76%, 533088 KB, 49320 KB/s, 10 seconds passed +... 76%, 533120 KB, 49322 KB/s, 10 seconds passed +... 76%, 533152 KB, 49325 KB/s, 10 seconds passed +... 76%, 533184 KB, 49327 KB/s, 10 seconds passed +... 76%, 533216 KB, 49328 KB/s, 10 seconds passed +... 76%, 533248 KB, 49330 KB/s, 10 seconds passed +... 76%, 533280 KB, 49332 KB/s, 10 seconds passed +... 76%, 533312 KB, 49333 KB/s, 10 seconds passed +... 76%, 533344 KB, 49335 KB/s, 10 seconds passed +... 76%, 533376 KB, 49337 KB/s, 10 seconds passed +... 76%, 533408 KB, 49338 KB/s, 10 seconds passed +... 76%, 533440 KB, 49339 KB/s, 10 seconds passed +... 76%, 533472 KB, 49340 KB/s, 10 seconds passed +... 76%, 533504 KB, 49341 KB/s, 10 seconds passed +... 76%, 533536 KB, 49343 KB/s, 10 seconds passed +... 76%, 533568 KB, 49346 KB/s, 10 seconds passed +... 76%, 533600 KB, 49348 KB/s, 10 seconds passed +... 76%, 533632 KB, 49350 KB/s, 10 seconds passed +... 76%, 533664 KB, 49352 KB/s, 10 seconds passed +... 76%, 533696 KB, 49353 KB/s, 10 seconds passed +... 76%, 533728 KB, 49354 KB/s, 10 seconds passed +... 76%, 533760 KB, 49357 KB/s, 10 seconds passed +... 76%, 533792 KB, 49358 KB/s, 10 seconds passed +... 76%, 533824 KB, 49360 KB/s, 10 seconds passed +... 76%, 533856 KB, 49361 KB/s, 10 seconds passed +... 76%, 533888 KB, 49363 KB/s, 10 seconds passed +... 76%, 533920 KB, 49365 KB/s, 10 seconds passed +... 76%, 533952 KB, 49367 KB/s, 10 seconds passed +... 76%, 533984 KB, 49369 KB/s, 10 seconds passed +... 76%, 534016 KB, 49370 KB/s, 10 seconds passed +... 76%, 534048 KB, 49372 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 76%, 534080 KB, 49374 KB/s, 10 seconds passed +... 76%, 534112 KB, 49375 KB/s, 10 seconds passed +... 76%, 534144 KB, 49377 KB/s, 10 seconds passed +... 76%, 534176 KB, 49379 KB/s, 10 seconds passed +... 76%, 534208 KB, 49380 KB/s, 10 seconds passed +... 76%, 534240 KB, 49382 KB/s, 10 seconds passed +... 76%, 534272 KB, 49384 KB/s, 10 seconds passed +... 76%, 534304 KB, 49385 KB/s, 10 seconds passed +... 76%, 534336 KB, 49387 KB/s, 10 seconds passed +... 76%, 534368 KB, 49389 KB/s, 10 seconds passed +... 76%, 534400 KB, 49391 KB/s, 10 seconds passed +... 76%, 534432 KB, 49392 KB/s, 10 seconds passed +... 76%, 534464 KB, 49394 KB/s, 10 seconds passed +... 76%, 534496 KB, 49396 KB/s, 10 seconds passed +... 76%, 534528 KB, 49397 KB/s, 10 seconds passed +... 76%, 534560 KB, 49399 KB/s, 10 seconds passed +... 76%, 534592 KB, 49401 KB/s, 10 seconds passed +... 76%, 534624 KB, 49402 KB/s, 10 seconds passed +... 76%, 534656 KB, 49404 KB/s, 10 seconds passed +... 76%, 534688 KB, 49406 KB/s, 10 seconds passed +... 76%, 534720 KB, 49408 KB/s, 10 seconds passed +... 76%, 534752 KB, 49409 KB/s, 10 seconds passed +... 76%, 534784 KB, 49411 KB/s, 10 seconds passed +... 76%, 534816 KB, 49412 KB/s, 10 seconds passed +... 76%, 534848 KB, 49413 KB/s, 10 seconds passed +... 76%, 534880 KB, 49415 KB/s, 10 seconds passed +... 76%, 534912 KB, 49416 KB/s, 10 seconds passed +... 76%, 534944 KB, 49418 KB/s, 10 seconds passed +... 76%, 534976 KB, 49421 KB/s, 10 seconds passed +... 76%, 535008 KB, 49423 KB/s, 10 seconds passed +... 76%, 535040 KB, 49424 KB/s, 10 seconds passed +... 76%, 535072 KB, 49425 KB/s, 10 seconds passed +... 76%, 535104 KB, 49427 KB/s, 10 seconds passed +... 76%, 535136 KB, 49428 KB/s, 10 seconds passed +... 76%, 535168 KB, 49429 KB/s, 10 seconds passed +... 76%, 535200 KB, 49430 KB/s, 10 seconds passed +... 76%, 535232 KB, 49432 KB/s, 10 seconds passed +... 76%, 535264 KB, 49433 KB/s, 10 seconds passed +... 76%, 535296 KB, 49434 KB/s, 10 seconds passed +... 76%, 535328 KB, 49436 KB/s, 10 seconds passed +... 76%, 535360 KB, 49437 KB/s, 10 seconds passed +... 76%, 535392 KB, 49438 KB/s, 10 seconds passed +... 76%, 535424 KB, 49440 KB/s, 10 seconds passed +... 76%, 535456 KB, 49441 KB/s, 10 seconds passed +... 76%, 535488 KB, 49442 KB/s, 10 seconds passed +... 76%, 535520 KB, 49444 KB/s, 10 seconds passed +... 77%, 535552 KB, 49445 KB/s, 10 seconds passed +... 77%, 535584 KB, 49446 KB/s, 10 seconds passed +... 77%, 535616 KB, 49448 KB/s, 10 seconds passed +... 77%, 535648 KB, 49449 KB/s, 10 seconds passed +... 77%, 535680 KB, 49450 KB/s, 10 seconds passed +... 77%, 535712 KB, 49452 KB/s, 10 seconds passed +... 77%, 535744 KB, 49453 KB/s, 10 seconds passed +... 77%, 535776 KB, 49454 KB/s, 10 seconds passed +... 77%, 535808 KB, 49456 KB/s, 10 seconds passed +... 77%, 535840 KB, 49457 KB/s, 10 seconds passed +... 77%, 535872 KB, 49458 KB/s, 10 seconds passed +... 77%, 535904 KB, 49459 KB/s, 10 seconds passed +... 77%, 535936 KB, 49461 KB/s, 10 seconds passed +... 77%, 535968 KB, 49462 KB/s, 10 seconds passed +... 77%, 536000 KB, 49464 KB/s, 10 seconds passed +... 77%, 536032 KB, 49466 KB/s, 10 seconds passed +... 77%, 536064 KB, 49468 KB/s, 10 seconds passed +... 77%, 536096 KB, 49469 KB/s, 10 seconds passed +... 77%, 536128 KB, 49471 KB/s, 10 seconds passed +... 77%, 536160 KB, 49473 KB/s, 10 seconds passed +... 77%, 536192 KB, 49475 KB/s, 10 seconds passed +... 77%, 536224 KB, 49477 KB/s, 10 seconds passed +... 77%, 536256 KB, 49479 KB/s, 10 seconds passed +... 77%, 536288 KB, 49481 KB/s, 10 seconds passed +... 77%, 536320 KB, 49483 KB/s, 10 seconds passed +... 77%, 536352 KB, 49485 KB/s, 10 seconds passed +... 77%, 536384 KB, 49487 KB/s, 10 seconds passed +... 77%, 536416 KB, 49488 KB/s, 10 seconds passed +... 77%, 536448 KB, 49490 KB/s, 10 seconds passed +... 77%, 536480 KB, 49492 KB/s, 10 seconds passed +... 77%, 536512 KB, 49494 KB/s, 10 seconds passed +... 77%, 536544 KB, 49496 KB/s, 10 seconds passed +... 77%, 536576 KB, 49498 KB/s, 10 seconds passed +... 77%, 536608 KB, 49500 KB/s, 10 seconds passed +... 77%, 536640 KB, 49502 KB/s, 10 seconds passed +... 77%, 536672 KB, 49504 KB/s, 10 seconds passed +... 77%, 536704 KB, 49506 KB/s, 10 seconds passed +... 77%, 536736 KB, 49507 KB/s, 10 seconds passed +... 77%, 536768 KB, 49509 KB/s, 10 seconds passed +... 77%, 536800 KB, 49511 KB/s, 10 seconds passed +... 77%, 536832 KB, 49513 KB/s, 10 seconds passed +... 77%, 536864 KB, 49515 KB/s, 10 seconds passed +... 77%, 536896 KB, 49517 KB/s, 10 seconds passed +... 77%, 536928 KB, 49519 KB/s, 10 seconds passed +... 77%, 536960 KB, 49521 KB/s, 10 seconds passed +... 77%, 536992 KB, 49523 KB/s, 10 seconds passed +... 77%, 537024 KB, 49525 KB/s, 10 seconds passed +... 77%, 537056 KB, 49527 KB/s, 10 seconds passed +... 77%, 537088 KB, 49528 KB/s, 10 seconds passed +... 77%, 537120 KB, 49530 KB/s, 10 seconds passed +... 77%, 537152 KB, 49532 KB/s, 10 seconds passed +... 77%, 537184 KB, 49534 KB/s, 10 seconds passed +... 77%, 537216 KB, 49536 KB/s, 10 seconds passed +... 77%, 537248 KB, 49538 KB/s, 10 seconds passed +... 77%, 537280 KB, 49540 KB/s, 10 seconds passed +... 77%, 537312 KB, 49542 KB/s, 10 seconds passed +... 77%, 537344 KB, 49544 KB/s, 10 seconds passed +... 77%, 537376 KB, 49546 KB/s, 10 seconds passed +... 77%, 537408 KB, 49548 KB/s, 10 seconds passed +... 77%, 537440 KB, 49549 KB/s, 10 seconds passed +... 77%, 537472 KB, 49551 KB/s, 10 seconds passed +... 77%, 537504 KB, 49553 KB/s, 10 seconds passed +... 77%, 537536 KB, 49555 KB/s, 10 seconds passed +... 77%, 537568 KB, 49557 KB/s, 10 seconds passed +... 77%, 537600 KB, 49559 KB/s, 10 seconds passed +... 77%, 537632 KB, 49561 KB/s, 10 seconds passed +... 77%, 537664 KB, 49562 KB/s, 10 seconds passed +... 77%, 537696 KB, 49564 KB/s, 10 seconds passed +... 77%, 537728 KB, 49566 KB/s, 10 seconds passed +... 77%, 537760 KB, 49567 KB/s, 10 seconds passed +... 77%, 537792 KB, 49569 KB/s, 10 seconds passed +... 77%, 537824 KB, 49570 KB/s, 10 seconds passed +... 77%, 537856 KB, 49572 KB/s, 10 seconds passed +... 77%, 537888 KB, 49573 KB/s, 10 seconds passed +... 77%, 537920 KB, 49574 KB/s, 10 seconds passed +... 77%, 537952 KB, 49577 KB/s, 10 seconds passed +... 77%, 537984 KB, 49579 KB/s, 10 seconds passed +... 77%, 538016 KB, 49581 KB/s, 10 seconds passed +... 77%, 538048 KB, 49582 KB/s, 10 seconds passed +... 77%, 538080 KB, 49584 KB/s, 10 seconds passed +... 77%, 538112 KB, 49586 KB/s, 10 seconds passed +... 77%, 538144 KB, 49587 KB/s, 10 seconds passed +... 77%, 538176 KB, 49588 KB/s, 10 seconds passed +... 77%, 538208 KB, 49589 KB/s, 10 seconds passed +... 77%, 538240 KB, 49590 KB/s, 10 seconds passed +... 77%, 538272 KB, 49593 KB/s, 10 seconds passed +... 77%, 538304 KB, 49595 KB/s, 10 seconds passed +... 77%, 538336 KB, 49597 KB/s, 10 seconds passed +... 77%, 538368 KB, 49599 KB/s, 10 seconds passed +... 77%, 538400 KB, 49601 KB/s, 10 seconds passed +... 77%, 538432 KB, 49602 KB/s, 10 seconds passed +... 77%, 538464 KB, 49604 KB/s, 10 seconds passed +... 77%, 538496 KB, 49606 KB/s, 10 seconds passed +... 77%, 538528 KB, 49607 KB/s, 10 seconds passed +... 77%, 538560 KB, 49609 KB/s, 10 seconds passed +... 77%, 538592 KB, 49611 KB/s, 10 seconds passed +... 77%, 538624 KB, 49612 KB/s, 10 seconds passed +... 77%, 538656 KB, 49614 KB/s, 10 seconds passed +... 77%, 538688 KB, 49616 KB/s, 10 seconds passed +... 77%, 538720 KB, 49617 KB/s, 10 seconds passed +... 77%, 538752 KB, 49619 KB/s, 10 seconds passed +... 77%, 538784 KB, 49621 KB/s, 10 seconds passed +... 77%, 538816 KB, 49622 KB/s, 10 seconds passed +... 77%, 538848 KB, 49624 KB/s, 10 seconds passed +... 77%, 538880 KB, 49626 KB/s, 10 seconds passed +... 77%, 538912 KB, 49627 KB/s, 10 seconds passed +... 77%, 538944 KB, 49629 KB/s, 10 seconds passed +... 77%, 538976 KB, 49631 KB/s, 10 seconds passed +... 77%, 539008 KB, 49632 KB/s, 10 seconds passed +... 77%, 539040 KB, 49634 KB/s, 10 seconds passed +... 77%, 539072 KB, 49635 KB/s, 10 seconds passed +... 77%, 539104 KB, 49636 KB/s, 10 seconds passed +... 77%, 539136 KB, 49637 KB/s, 10 seconds passed +... 77%, 539168 KB, 49639 KB/s, 10 seconds passed +... 77%, 539200 KB, 49642 KB/s, 10 seconds passed +... 77%, 539232 KB, 49644 KB/s, 10 seconds passed +... 77%, 539264 KB, 49646 KB/s, 10 seconds passed +... 77%, 539296 KB, 49647 KB/s, 10 seconds passed +... 77%, 539328 KB, 49649 KB/s, 10 seconds passed +... 77%, 539360 KB, 49651 KB/s, 10 seconds passed +... 77%, 539392 KB, 49652 KB/s, 10 seconds passed +... 77%, 539424 KB, 49654 KB/s, 10 seconds passed +... 77%, 539456 KB, 49655 KB/s, 10 seconds passed +... 77%, 539488 KB, 49656 KB/s, 10 seconds passed +... 77%, 539520 KB, 49658 KB/s, 10 seconds passed +... 77%, 539552 KB, 49661 KB/s, 10 seconds passed +... 77%, 539584 KB, 49663 KB/s, 10 seconds passed +... 77%, 539616 KB, 49664 KB/s, 10 seconds passed +... 77%, 539648 KB, 49665 KB/s, 10 seconds passed +... 77%, 539680 KB, 49666 KB/s, 10 seconds passed +... 77%, 539712 KB, 49667 KB/s, 10 seconds passed +... 77%, 539744 KB, 49668 KB/s, 10 seconds passed +... 77%, 539776 KB, 49670 KB/s, 10 seconds passed +... 77%, 539808 KB, 49671 KB/s, 10 seconds passed +... 77%, 539840 KB, 49672 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 77%, 539872 KB, 49673 KB/s, 10 seconds passed +... 77%, 539904 KB, 49675 KB/s, 10 seconds passed +... 77%, 539936 KB, 49676 KB/s, 10 seconds passed +... 77%, 539968 KB, 49677 KB/s, 10 seconds passed +... 77%, 540000 KB, 49678 KB/s, 10 seconds passed +... 77%, 540032 KB, 49680 KB/s, 10 seconds passed +... 77%, 540064 KB, 49681 KB/s, 10 seconds passed +... 77%, 540096 KB, 49682 KB/s, 10 seconds passed +... 77%, 540128 KB, 49683 KB/s, 10 seconds passed +... 77%, 540160 KB, 49684 KB/s, 10 seconds passed +... 77%, 540192 KB, 49686 KB/s, 10 seconds passed +... 77%, 540224 KB, 49687 KB/s, 10 seconds passed +... 77%, 540256 KB, 49688 KB/s, 10 seconds passed +... 77%, 540288 KB, 49689 KB/s, 10 seconds passed +... 77%, 540320 KB, 49691 KB/s, 10 seconds passed +... 77%, 540352 KB, 49692 KB/s, 10 seconds passed +... 77%, 540384 KB, 49693 KB/s, 10 seconds passed +... 77%, 540416 KB, 49695 KB/s, 10 seconds passed +... 77%, 540448 KB, 49696 KB/s, 10 seconds passed +... 77%, 540480 KB, 49697 KB/s, 10 seconds passed +... 77%, 540512 KB, 49698 KB/s, 10 seconds passed +... 77%, 540544 KB, 49700 KB/s, 10 seconds passed +... 77%, 540576 KB, 49701 KB/s, 10 seconds passed +... 77%, 540608 KB, 49703 KB/s, 10 seconds passed +... 77%, 540640 KB, 49705 KB/s, 10 seconds passed +... 77%, 540672 KB, 49707 KB/s, 10 seconds passed +... 77%, 540704 KB, 49708 KB/s, 10 seconds passed +... 77%, 540736 KB, 49710 KB/s, 10 seconds passed +... 77%, 540768 KB, 49712 KB/s, 10 seconds passed +... 77%, 540800 KB, 49714 KB/s, 10 seconds passed +... 77%, 540832 KB, 49716 KB/s, 10 seconds passed +... 77%, 540864 KB, 49718 KB/s, 10 seconds passed +... 77%, 540896 KB, 49720 KB/s, 10 seconds passed +... 77%, 540928 KB, 49721 KB/s, 10 seconds passed +... 77%, 540960 KB, 49723 KB/s, 10 seconds passed +... 77%, 540992 KB, 49725 KB/s, 10 seconds passed +... 77%, 541024 KB, 49727 KB/s, 10 seconds passed +... 77%, 541056 KB, 49729 KB/s, 10 seconds passed +... 77%, 541088 KB, 49730 KB/s, 10 seconds passed +... 77%, 541120 KB, 49732 KB/s, 10 seconds passed +... 77%, 541152 KB, 49734 KB/s, 10 seconds passed +... 77%, 541184 KB, 49736 KB/s, 10 seconds passed +... 77%, 541216 KB, 49738 KB/s, 10 seconds passed +... 77%, 541248 KB, 49740 KB/s, 10 seconds passed +... 77%, 541280 KB, 49741 KB/s, 10 seconds passed +... 77%, 541312 KB, 49743 KB/s, 10 seconds passed +... 77%, 541344 KB, 49745 KB/s, 10 seconds passed +... 77%, 541376 KB, 49747 KB/s, 10 seconds passed +... 77%, 541408 KB, 49749 KB/s, 10 seconds passed +... 77%, 541440 KB, 49751 KB/s, 10 seconds passed +... 77%, 541472 KB, 49753 KB/s, 10 seconds passed +... 77%, 541504 KB, 49754 KB/s, 10 seconds passed +... 77%, 541536 KB, 49756 KB/s, 10 seconds passed +... 77%, 541568 KB, 49758 KB/s, 10 seconds passed +... 77%, 541600 KB, 49760 KB/s, 10 seconds passed +... 77%, 541632 KB, 49762 KB/s, 10 seconds passed +... 77%, 541664 KB, 49764 KB/s, 10 seconds passed +... 77%, 541696 KB, 49766 KB/s, 10 seconds passed +... 77%, 541728 KB, 49768 KB/s, 10 seconds passed +... 77%, 541760 KB, 49769 KB/s, 10 seconds passed +... 77%, 541792 KB, 49771 KB/s, 10 seconds passed +... 77%, 541824 KB, 49773 KB/s, 10 seconds passed +... 77%, 541856 KB, 49775 KB/s, 10 seconds passed +... 77%, 541888 KB, 49777 KB/s, 10 seconds passed +... 77%, 541920 KB, 49779 KB/s, 10 seconds passed +... 77%, 541952 KB, 49781 KB/s, 10 seconds passed +... 77%, 541984 KB, 49783 KB/s, 10 seconds passed +... 77%, 542016 KB, 49784 KB/s, 10 seconds passed +... 77%, 542048 KB, 49787 KB/s, 10 seconds passed +... 77%, 542080 KB, 49789 KB/s, 10 seconds passed +... 77%, 542112 KB, 49791 KB/s, 10 seconds passed +... 77%, 542144 KB, 49793 KB/s, 10 seconds passed +... 77%, 542176 KB, 49796 KB/s, 10 seconds passed +... 77%, 542208 KB, 49798 KB/s, 10 seconds passed +... 77%, 542240 KB, 49800 KB/s, 10 seconds passed +... 77%, 542272 KB, 49802 KB/s, 10 seconds passed +... 77%, 542304 KB, 49804 KB/s, 10 seconds passed +... 77%, 542336 KB, 49806 KB/s, 10 seconds passed +... 77%, 542368 KB, 49807 KB/s, 10 seconds passed +... 77%, 542400 KB, 49809 KB/s, 10 seconds passed +... 77%, 542432 KB, 49811 KB/s, 10 seconds passed +... 77%, 542464 KB, 49812 KB/s, 10 seconds passed +... 78%, 542496 KB, 49814 KB/s, 10 seconds passed +... 78%, 542528 KB, 49815 KB/s, 10 seconds passed +... 78%, 542560 KB, 49816 KB/s, 10 seconds passed +... 78%, 542592 KB, 49818 KB/s, 10 seconds passed +... 78%, 542624 KB, 49820 KB/s, 10 seconds passed +... 78%, 542656 KB, 49822 KB/s, 10 seconds passed +... 78%, 542688 KB, 49824 KB/s, 10 seconds passed + +.. parsed-literal:: + + ... 78%, 542720 KB, 49461 KB/s, 10 seconds passed +... 78%, 542752 KB, 49461 KB/s, 10 seconds passed +... 78%, 542784 KB, 49462 KB/s, 10 seconds passed +... 78%, 542816 KB, 49464 KB/s, 10 seconds passed +... 78%, 542848 KB, 49465 KB/s, 10 seconds passed +... 78%, 542880 KB, 49466 KB/s, 10 seconds passed +... 78%, 542912 KB, 49468 KB/s, 10 seconds passed +... 78%, 542944 KB, 49469 KB/s, 10 seconds passed +... 78%, 542976 KB, 49466 KB/s, 10 seconds passed +... 78%, 543008 KB, 49466 KB/s, 10 seconds passed +... 78%, 543040 KB, 49467 KB/s, 10 seconds passed +... 78%, 543072 KB, 49468 KB/s, 10 seconds passed +... 78%, 543104 KB, 49469 KB/s, 10 seconds passed +... 78%, 543136 KB, 49471 KB/s, 10 seconds passed +... 78%, 543168 KB, 49471 KB/s, 10 seconds passed +... 78%, 543200 KB, 49473 KB/s, 10 seconds passed +... 78%, 543232 KB, 49474 KB/s, 10 seconds passed +... 78%, 543264 KB, 49475 KB/s, 10 seconds passed +... 78%, 543296 KB, 49476 KB/s, 10 seconds passed +... 78%, 543328 KB, 49477 KB/s, 10 seconds passed +... 78%, 543360 KB, 49478 KB/s, 10 seconds passed +... 78%, 543392 KB, 49479 KB/s, 10 seconds passed +... 78%, 543424 KB, 49481 KB/s, 10 seconds passed +... 78%, 543456 KB, 49482 KB/s, 10 seconds passed +... 78%, 543488 KB, 49483 KB/s, 10 seconds passed +... 78%, 543520 KB, 49484 KB/s, 10 seconds passed +... 78%, 543552 KB, 49485 KB/s, 10 seconds passed +... 78%, 543584 KB, 49486 KB/s, 10 seconds passed +... 78%, 543616 KB, 49488 KB/s, 10 seconds passed +... 78%, 543648 KB, 49489 KB/s, 10 seconds passed +... 78%, 543680 KB, 49490 KB/s, 10 seconds passed +... 78%, 543712 KB, 49491 KB/s, 10 seconds passed +... 78%, 543744 KB, 49492 KB/s, 10 seconds passed +... 78%, 543776 KB, 49494 KB/s, 10 seconds passed +... 78%, 543808 KB, 49495 KB/s, 10 seconds passed +... 78%, 543840 KB, 49496 KB/s, 10 seconds passed +... 78%, 543872 KB, 49498 KB/s, 10 seconds passed +... 78%, 543904 KB, 49500 KB/s, 10 seconds passed +... 78%, 543936 KB, 49502 KB/s, 10 seconds passed +... 78%, 543968 KB, 49503 KB/s, 10 seconds passed +... 78%, 544000 KB, 49505 KB/s, 10 seconds passed +... 78%, 544032 KB, 49507 KB/s, 10 seconds passed +... 78%, 544064 KB, 49509 KB/s, 10 seconds passed +... 78%, 544096 KB, 49511 KB/s, 10 seconds passed +... 78%, 544128 KB, 49512 KB/s, 10 seconds passed +... 78%, 544160 KB, 49514 KB/s, 10 seconds passed +... 78%, 544192 KB, 49516 KB/s, 10 seconds passed +... 78%, 544224 KB, 49518 KB/s, 10 seconds passed +... 78%, 544256 KB, 49520 KB/s, 10 seconds passed +... 78%, 544288 KB, 49521 KB/s, 10 seconds passed +... 78%, 544320 KB, 49523 KB/s, 10 seconds passed +... 78%, 544352 KB, 49525 KB/s, 10 seconds passed +... 78%, 544384 KB, 49527 KB/s, 10 seconds passed +... 78%, 544416 KB, 49529 KB/s, 10 seconds passed +... 78%, 544448 KB, 49530 KB/s, 10 seconds passed +... 78%, 544480 KB, 49532 KB/s, 10 seconds passed +... 78%, 544512 KB, 49534 KB/s, 10 seconds passed +... 78%, 544544 KB, 49536 KB/s, 10 seconds passed +... 78%, 544576 KB, 49538 KB/s, 10 seconds passed +... 78%, 544608 KB, 49539 KB/s, 10 seconds passed +... 78%, 544640 KB, 49541 KB/s, 10 seconds passed +... 78%, 544672 KB, 49543 KB/s, 10 seconds passed +... 78%, 544704 KB, 49545 KB/s, 10 seconds passed +... 78%, 544736 KB, 49547 KB/s, 10 seconds passed +... 78%, 544768 KB, 49548 KB/s, 10 seconds passed +... 78%, 544800 KB, 49550 KB/s, 10 seconds passed +... 78%, 544832 KB, 49552 KB/s, 10 seconds passed +... 78%, 544864 KB, 49554 KB/s, 10 seconds passed +... 78%, 544896 KB, 49556 KB/s, 10 seconds passed +... 78%, 544928 KB, 49557 KB/s, 10 seconds passed +... 78%, 544960 KB, 49559 KB/s, 10 seconds passed +... 78%, 544992 KB, 49561 KB/s, 10 seconds passed +... 78%, 545024 KB, 49563 KB/s, 10 seconds passed +... 78%, 545056 KB, 49565 KB/s, 10 seconds passed +... 78%, 545088 KB, 49567 KB/s, 10 seconds passed +... 78%, 545120 KB, 49568 KB/s, 10 seconds passed +... 78%, 545152 KB, 49571 KB/s, 10 seconds passed +... 78%, 545184 KB, 49573 KB/s, 10 seconds passed +... 78%, 545216 KB, 49575 KB/s, 10 seconds passed +... 78%, 545248 KB, 49577 KB/s, 10 seconds passed +... 78%, 545280 KB, 49579 KB/s, 10 seconds passed +... 78%, 545312 KB, 49581 KB/s, 10 seconds passed +... 78%, 545344 KB, 49583 KB/s, 10 seconds passed +... 78%, 545376 KB, 49586 KB/s, 10 seconds passed +... 78%, 545408 KB, 49588 KB/s, 10 seconds passed +... 78%, 545440 KB, 49590 KB/s, 10 seconds passed +... 78%, 545472 KB, 49592 KB/s, 10 seconds passed +... 78%, 545504 KB, 49594 KB/s, 10 seconds passed +... 78%, 545536 KB, 49596 KB/s, 10 seconds passed +... 78%, 545568 KB, 49599 KB/s, 10 seconds passed +... 78%, 545600 KB, 49601 KB/s, 10 seconds passed +... 78%, 545632 KB, 49603 KB/s, 10 seconds passed +... 78%, 545664 KB, 49604 KB/s, 11 seconds passed +... 78%, 545696 KB, 49606 KB/s, 11 seconds passed +... 78%, 545728 KB, 49608 KB/s, 11 seconds passed +... 78%, 545760 KB, 49609 KB/s, 11 seconds passed +... 78%, 545792 KB, 49611 KB/s, 11 seconds passed +... 78%, 545824 KB, 49613 KB/s, 11 seconds passed +... 78%, 545856 KB, 49615 KB/s, 11 seconds passed +... 78%, 545888 KB, 49616 KB/s, 11 seconds passed +... 78%, 545920 KB, 49618 KB/s, 11 seconds passed +... 78%, 545952 KB, 49620 KB/s, 11 seconds passed +... 78%, 545984 KB, 49621 KB/s, 11 seconds passed +... 78%, 546016 KB, 49623 KB/s, 11 seconds passed +... 78%, 546048 KB, 49625 KB/s, 11 seconds passed +... 78%, 546080 KB, 49626 KB/s, 11 seconds passed +... 78%, 546112 KB, 49627 KB/s, 11 seconds passed +... 78%, 546144 KB, 49629 KB/s, 11 seconds passed +... 78%, 546176 KB, 49630 KB/s, 11 seconds passed +... 78%, 546208 KB, 49633 KB/s, 11 seconds passed +... 78%, 546240 KB, 49635 KB/s, 11 seconds passed +... 78%, 546272 KB, 49636 KB/s, 11 seconds passed +... 78%, 546304 KB, 49638 KB/s, 11 seconds passed +... 78%, 546336 KB, 49640 KB/s, 11 seconds passed +... 78%, 546368 KB, 49641 KB/s, 11 seconds passed +... 78%, 546400 KB, 49643 KB/s, 11 seconds passed +... 78%, 546432 KB, 49645 KB/s, 11 seconds passed +... 78%, 546464 KB, 49646 KB/s, 11 seconds passed +... 78%, 546496 KB, 49647 KB/s, 11 seconds passed +... 78%, 546528 KB, 49649 KB/s, 11 seconds passed +... 78%, 546560 KB, 49650 KB/s, 11 seconds passed +... 78%, 546592 KB, 49651 KB/s, 11 seconds passed +... 78%, 546624 KB, 49654 KB/s, 11 seconds passed +... 78%, 546656 KB, 49656 KB/s, 11 seconds passed +... 78%, 546688 KB, 49658 KB/s, 11 seconds passed +... 78%, 546720 KB, 49660 KB/s, 11 seconds passed +... 78%, 546752 KB, 49661 KB/s, 11 seconds passed +... 78%, 546784 KB, 49663 KB/s, 11 seconds passed +... 78%, 546816 KB, 49664 KB/s, 11 seconds passed +... 78%, 546848 KB, 49666 KB/s, 11 seconds passed +... 78%, 546880 KB, 49667 KB/s, 11 seconds passed +... 78%, 546912 KB, 49666 KB/s, 11 seconds passed +... 78%, 546944 KB, 49667 KB/s, 11 seconds passed +... 78%, 546976 KB, 49669 KB/s, 11 seconds passed +... 78%, 547008 KB, 49672 KB/s, 11 seconds passed +... 78%, 547040 KB, 49673 KB/s, 11 seconds passed +... 78%, 547072 KB, 49675 KB/s, 11 seconds passed +... 78%, 547104 KB, 49677 KB/s, 11 seconds passed +... 78%, 547136 KB, 49678 KB/s, 11 seconds passed +... 78%, 547168 KB, 49680 KB/s, 11 seconds passed +... 78%, 547200 KB, 49682 KB/s, 11 seconds passed +... 78%, 547232 KB, 49683 KB/s, 11 seconds passed +... 78%, 547264 KB, 49685 KB/s, 11 seconds passed +... 78%, 547296 KB, 49686 KB/s, 11 seconds passed +... 78%, 547328 KB, 49686 KB/s, 11 seconds passed +... 78%, 547360 KB, 49688 KB/s, 11 seconds passed +... 78%, 547392 KB, 49691 KB/s, 11 seconds passed +... 78%, 547424 KB, 49693 KB/s, 11 seconds passed +... 78%, 547456 KB, 49695 KB/s, 11 seconds passed +... 78%, 547488 KB, 49696 KB/s, 11 seconds passed +... 78%, 547520 KB, 49698 KB/s, 11 seconds passed +... 78%, 547552 KB, 49700 KB/s, 11 seconds passed +... 78%, 547584 KB, 49701 KB/s, 11 seconds passed +... 78%, 547616 KB, 49703 KB/s, 11 seconds passed +... 78%, 547648 KB, 49704 KB/s, 11 seconds passed +... 78%, 547680 KB, 49705 KB/s, 11 seconds passed +... 78%, 547712 KB, 49707 KB/s, 11 seconds passed +... 78%, 547744 KB, 49709 KB/s, 11 seconds passed +... 78%, 547776 KB, 49711 KB/s, 11 seconds passed +... 78%, 547808 KB, 49713 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 78%, 547840 KB, 49340 KB/s, 11 seconds passed +... 78%, 547872 KB, 49341 KB/s, 11 seconds passed +... 78%, 547904 KB, 49342 KB/s, 11 seconds passed +... 78%, 547936 KB, 49343 KB/s, 11 seconds passed +... 78%, 547968 KB, 49344 KB/s, 11 seconds passed +... 78%, 548000 KB, 49345 KB/s, 11 seconds passed +... 78%, 548032 KB, 49346 KB/s, 11 seconds passed +... 78%, 548064 KB, 49348 KB/s, 11 seconds passed +... 78%, 548096 KB, 49349 KB/s, 11 seconds passed +... 78%, 548128 KB, 49350 KB/s, 11 seconds passed +... 78%, 548160 KB, 49351 KB/s, 11 seconds passed +... 78%, 548192 KB, 49352 KB/s, 11 seconds passed +... 78%, 548224 KB, 49353 KB/s, 11 seconds passed +... 78%, 548256 KB, 49354 KB/s, 11 seconds passed +... 78%, 548288 KB, 49355 KB/s, 11 seconds passed +... 78%, 548320 KB, 49357 KB/s, 11 seconds passed +... 78%, 548352 KB, 49358 KB/s, 11 seconds passed +... 78%, 548384 KB, 49359 KB/s, 11 seconds passed +... 78%, 548416 KB, 49360 KB/s, 11 seconds passed +... 78%, 548448 KB, 49361 KB/s, 11 seconds passed +... 78%, 548480 KB, 49362 KB/s, 11 seconds passed +... 78%, 548512 KB, 49363 KB/s, 11 seconds passed +... 78%, 548544 KB, 49364 KB/s, 11 seconds passed +... 78%, 548576 KB, 49366 KB/s, 11 seconds passed +... 78%, 548608 KB, 49367 KB/s, 11 seconds passed +... 78%, 548640 KB, 49368 KB/s, 11 seconds passed +... 78%, 548672 KB, 49369 KB/s, 11 seconds passed +... 78%, 548704 KB, 49370 KB/s, 11 seconds passed +... 78%, 548736 KB, 49372 KB/s, 11 seconds passed +... 78%, 548768 KB, 49373 KB/s, 11 seconds passed +... 78%, 548800 KB, 49375 KB/s, 11 seconds passed +... 78%, 548832 KB, 49375 KB/s, 11 seconds passed +... 78%, 548864 KB, 49377 KB/s, 11 seconds passed +... 78%, 548896 KB, 49378 KB/s, 11 seconds passed +... 78%, 548928 KB, 49379 KB/s, 11 seconds passed +... 78%, 548960 KB, 49380 KB/s, 11 seconds passed +... 78%, 548992 KB, 49381 KB/s, 11 seconds passed +... 78%, 549024 KB, 49382 KB/s, 11 seconds passed +... 78%, 549056 KB, 49384 KB/s, 11 seconds passed +... 78%, 549088 KB, 49385 KB/s, 11 seconds passed +... 78%, 549120 KB, 49386 KB/s, 11 seconds passed +... 78%, 549152 KB, 49388 KB/s, 11 seconds passed +... 78%, 549184 KB, 49390 KB/s, 11 seconds passed +... 78%, 549216 KB, 49392 KB/s, 11 seconds passed +... 78%, 549248 KB, 49393 KB/s, 11 seconds passed +... 78%, 549280 KB, 49395 KB/s, 11 seconds passed +... 78%, 549312 KB, 49397 KB/s, 11 seconds passed +... 78%, 549344 KB, 49399 KB/s, 11 seconds passed +... 78%, 549376 KB, 49400 KB/s, 11 seconds passed +... 78%, 549408 KB, 49402 KB/s, 11 seconds passed +... 78%, 549440 KB, 49404 KB/s, 11 seconds passed +... 79%, 549472 KB, 49406 KB/s, 11 seconds passed +... 79%, 549504 KB, 49408 KB/s, 11 seconds passed +... 79%, 549536 KB, 49410 KB/s, 11 seconds passed +... 79%, 549568 KB, 49411 KB/s, 11 seconds passed +... 79%, 549600 KB, 49413 KB/s, 11 seconds passed +... 79%, 549632 KB, 49415 KB/s, 11 seconds passed +... 79%, 549664 KB, 49417 KB/s, 11 seconds passed +... 79%, 549696 KB, 49418 KB/s, 11 seconds passed +... 79%, 549728 KB, 49420 KB/s, 11 seconds passed +... 79%, 549760 KB, 49422 KB/s, 11 seconds passed +... 79%, 549792 KB, 49424 KB/s, 11 seconds passed +... 79%, 549824 KB, 49426 KB/s, 11 seconds passed +... 79%, 549856 KB, 49427 KB/s, 11 seconds passed +... 79%, 549888 KB, 49429 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 79%, 549920 KB, 49431 KB/s, 11 seconds passed +... 79%, 549952 KB, 49433 KB/s, 11 seconds passed +... 79%, 549984 KB, 49435 KB/s, 11 seconds passed +... 79%, 550016 KB, 49436 KB/s, 11 seconds passed +... 79%, 550048 KB, 49438 KB/s, 11 seconds passed +... 79%, 550080 KB, 49440 KB/s, 11 seconds passed +... 79%, 550112 KB, 49442 KB/s, 11 seconds passed +... 79%, 550144 KB, 49443 KB/s, 11 seconds passed +... 79%, 550176 KB, 49445 KB/s, 11 seconds passed +... 79%, 550208 KB, 49447 KB/s, 11 seconds passed +... 79%, 550240 KB, 49449 KB/s, 11 seconds passed +... 79%, 550272 KB, 49450 KB/s, 11 seconds passed +... 79%, 550304 KB, 49452 KB/s, 11 seconds passed +... 79%, 550336 KB, 49454 KB/s, 11 seconds passed +... 79%, 550368 KB, 49456 KB/s, 11 seconds passed +... 79%, 550400 KB, 49458 KB/s, 11 seconds passed +... 79%, 550432 KB, 49460 KB/s, 11 seconds passed +... 79%, 550464 KB, 49462 KB/s, 11 seconds passed +... 79%, 550496 KB, 49464 KB/s, 11 seconds passed +... 79%, 550528 KB, 49466 KB/s, 11 seconds passed +... 79%, 550560 KB, 49468 KB/s, 11 seconds passed +... 79%, 550592 KB, 49470 KB/s, 11 seconds passed +... 79%, 550624 KB, 49472 KB/s, 11 seconds passed +... 79%, 550656 KB, 49475 KB/s, 11 seconds passed +... 79%, 550688 KB, 49477 KB/s, 11 seconds passed +... 79%, 550720 KB, 49479 KB/s, 11 seconds passed +... 79%, 550752 KB, 49481 KB/s, 11 seconds passed +... 79%, 550784 KB, 49483 KB/s, 11 seconds passed +... 79%, 550816 KB, 49485 KB/s, 11 seconds passed +... 79%, 550848 KB, 49487 KB/s, 11 seconds passed +... 79%, 550880 KB, 49489 KB/s, 11 seconds passed +... 79%, 550912 KB, 49492 KB/s, 11 seconds passed +... 79%, 550944 KB, 49494 KB/s, 11 seconds passed +... 79%, 550976 KB, 49496 KB/s, 11 seconds passed +... 79%, 551008 KB, 49498 KB/s, 11 seconds passed +... 79%, 551040 KB, 49500 KB/s, 11 seconds passed +... 79%, 551072 KB, 49502 KB/s, 11 seconds passed +... 79%, 551104 KB, 49504 KB/s, 11 seconds passed +... 79%, 551136 KB, 49505 KB/s, 11 seconds passed +... 79%, 551168 KB, 49507 KB/s, 11 seconds passed +... 79%, 551200 KB, 49509 KB/s, 11 seconds passed +... 79%, 551232 KB, 49510 KB/s, 11 seconds passed +... 79%, 551264 KB, 49512 KB/s, 11 seconds passed +... 79%, 551296 KB, 49514 KB/s, 11 seconds passed +... 79%, 551328 KB, 49515 KB/s, 11 seconds passed +... 79%, 551360 KB, 49517 KB/s, 11 seconds passed +... 79%, 551392 KB, 49519 KB/s, 11 seconds passed +... 79%, 551424 KB, 49520 KB/s, 11 seconds passed +... 79%, 551456 KB, 49522 KB/s, 11 seconds passed +... 79%, 551488 KB, 49523 KB/s, 11 seconds passed +... 79%, 551520 KB, 49525 KB/s, 11 seconds passed +... 79%, 551552 KB, 49526 KB/s, 11 seconds passed +... 79%, 551584 KB, 49528 KB/s, 11 seconds passed +... 79%, 551616 KB, 49530 KB/s, 11 seconds passed +... 79%, 551648 KB, 49532 KB/s, 11 seconds passed +... 79%, 551680 KB, 49533 KB/s, 11 seconds passed +... 79%, 551712 KB, 49535 KB/s, 11 seconds passed +... 79%, 551744 KB, 49536 KB/s, 11 seconds passed +... 79%, 551776 KB, 49538 KB/s, 11 seconds passed +... 79%, 551808 KB, 49540 KB/s, 11 seconds passed +... 79%, 551840 KB, 49541 KB/s, 11 seconds passed +... 79%, 551872 KB, 49543 KB/s, 11 seconds passed +... 79%, 551904 KB, 49545 KB/s, 11 seconds passed +... 79%, 551936 KB, 49546 KB/s, 11 seconds passed +... 79%, 551968 KB, 49548 KB/s, 11 seconds passed +... 79%, 552000 KB, 49549 KB/s, 11 seconds passed +... 79%, 552032 KB, 49551 KB/s, 11 seconds passed +... 79%, 552064 KB, 49537 KB/s, 11 seconds passed +... 79%, 552096 KB, 49539 KB/s, 11 seconds passed +... 79%, 552128 KB, 49541 KB/s, 11 seconds passed +... 79%, 552160 KB, 49543 KB/s, 11 seconds passed +... 79%, 552192 KB, 49544 KB/s, 11 seconds passed +... 79%, 552224 KB, 49546 KB/s, 11 seconds passed +... 79%, 552256 KB, 49548 KB/s, 11 seconds passed +... 79%, 552288 KB, 49549 KB/s, 11 seconds passed +... 79%, 552320 KB, 49551 KB/s, 11 seconds passed +... 79%, 552352 KB, 49553 KB/s, 11 seconds passed +... 79%, 552384 KB, 49554 KB/s, 11 seconds passed +... 79%, 552416 KB, 49556 KB/s, 11 seconds passed +... 79%, 552448 KB, 49557 KB/s, 11 seconds passed +... 79%, 552480 KB, 49559 KB/s, 11 seconds passed +... 79%, 552512 KB, 49561 KB/s, 11 seconds passed +... 79%, 552544 KB, 49562 KB/s, 11 seconds passed +... 79%, 552576 KB, 49564 KB/s, 11 seconds passed +... 79%, 552608 KB, 49564 KB/s, 11 seconds passed +... 79%, 552640 KB, 49567 KB/s, 11 seconds passed +... 79%, 552672 KB, 49569 KB/s, 11 seconds passed +... 79%, 552704 KB, 49570 KB/s, 11 seconds passed +... 79%, 552736 KB, 49572 KB/s, 11 seconds passed +... 79%, 552768 KB, 49573 KB/s, 11 seconds passed +... 79%, 552800 KB, 49575 KB/s, 11 seconds passed +... 79%, 552832 KB, 49577 KB/s, 11 seconds passed +... 79%, 552864 KB, 49578 KB/s, 11 seconds passed +... 79%, 552896 KB, 49579 KB/s, 11 seconds passed +... 79%, 552928 KB, 49580 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 79%, 552960 KB, 49363 KB/s, 11 seconds passed +... 79%, 552992 KB, 49363 KB/s, 11 seconds passed +... 79%, 553024 KB, 49364 KB/s, 11 seconds passed +... 79%, 553056 KB, 49364 KB/s, 11 seconds passed +... 79%, 553088 KB, 49365 KB/s, 11 seconds passed +... 79%, 553120 KB, 49366 KB/s, 11 seconds passed +... 79%, 553152 KB, 49368 KB/s, 11 seconds passed +... 79%, 553184 KB, 49352 KB/s, 11 seconds passed +... 79%, 553216 KB, 49353 KB/s, 11 seconds passed +... 79%, 553248 KB, 49354 KB/s, 11 seconds passed +... 79%, 553280 KB, 49355 KB/s, 11 seconds passed +... 79%, 553312 KB, 49356 KB/s, 11 seconds passed +... 79%, 553344 KB, 49357 KB/s, 11 seconds passed +... 79%, 553376 KB, 49358 KB/s, 11 seconds passed +... 79%, 553408 KB, 49360 KB/s, 11 seconds passed +... 79%, 553440 KB, 49361 KB/s, 11 seconds passed +... 79%, 553472 KB, 49362 KB/s, 11 seconds passed +... 79%, 553504 KB, 49363 KB/s, 11 seconds passed +... 79%, 553536 KB, 49364 KB/s, 11 seconds passed +... 79%, 553568 KB, 49365 KB/s, 11 seconds passed +... 79%, 553600 KB, 49367 KB/s, 11 seconds passed +... 79%, 553632 KB, 49368 KB/s, 11 seconds passed +... 79%, 553664 KB, 49369 KB/s, 11 seconds passed +... 79%, 553696 KB, 49370 KB/s, 11 seconds passed +... 79%, 553728 KB, 49371 KB/s, 11 seconds passed +... 79%, 553760 KB, 49372 KB/s, 11 seconds passed +... 79%, 553792 KB, 49374 KB/s, 11 seconds passed +... 79%, 553824 KB, 49375 KB/s, 11 seconds passed +... 79%, 553856 KB, 49376 KB/s, 11 seconds passed +... 79%, 553888 KB, 49377 KB/s, 11 seconds passed +... 79%, 553920 KB, 49378 KB/s, 11 seconds passed +... 79%, 553952 KB, 49379 KB/s, 11 seconds passed +... 79%, 553984 KB, 49381 KB/s, 11 seconds passed +... 79%, 554016 KB, 49382 KB/s, 11 seconds passed +... 79%, 554048 KB, 49383 KB/s, 11 seconds passed +... 79%, 554080 KB, 49384 KB/s, 11 seconds passed +... 79%, 554112 KB, 49386 KB/s, 11 seconds passed +... 79%, 554144 KB, 49388 KB/s, 11 seconds passed +... 79%, 554176 KB, 49390 KB/s, 11 seconds passed +... 79%, 554208 KB, 49391 KB/s, 11 seconds passed +... 79%, 554240 KB, 49393 KB/s, 11 seconds passed +... 79%, 554272 KB, 49395 KB/s, 11 seconds passed +... 79%, 554304 KB, 49397 KB/s, 11 seconds passed +... 79%, 554336 KB, 49398 KB/s, 11 seconds passed +... 79%, 554368 KB, 49400 KB/s, 11 seconds passed +... 79%, 554400 KB, 49402 KB/s, 11 seconds passed +... 79%, 554432 KB, 49404 KB/s, 11 seconds passed +... 79%, 554464 KB, 49405 KB/s, 11 seconds passed +... 79%, 554496 KB, 49407 KB/s, 11 seconds passed +... 79%, 554528 KB, 49409 KB/s, 11 seconds passed +... 79%, 554560 KB, 49411 KB/s, 11 seconds passed +... 79%, 554592 KB, 49412 KB/s, 11 seconds passed +... 79%, 554624 KB, 49414 KB/s, 11 seconds passed +... 79%, 554656 KB, 49416 KB/s, 11 seconds passed +... 79%, 554688 KB, 49418 KB/s, 11 seconds passed +... 79%, 554720 KB, 49420 KB/s, 11 seconds passed +... 79%, 554752 KB, 49422 KB/s, 11 seconds passed +... 79%, 554784 KB, 49424 KB/s, 11 seconds passed +... 79%, 554816 KB, 49426 KB/s, 11 seconds passed +... 79%, 554848 KB, 49428 KB/s, 11 seconds passed +... 79%, 554880 KB, 49427 KB/s, 11 seconds passed +... 79%, 554912 KB, 49428 KB/s, 11 seconds passed +... 79%, 554944 KB, 49430 KB/s, 11 seconds passed +... 79%, 554976 KB, 49431 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 79%, 555008 KB, 49433 KB/s, 11 seconds passed +... 79%, 555040 KB, 49435 KB/s, 11 seconds passed +... 79%, 555072 KB, 49436 KB/s, 11 seconds passed +... 79%, 555104 KB, 49438 KB/s, 11 seconds passed +... 79%, 555136 KB, 49440 KB/s, 11 seconds passed +... 79%, 555168 KB, 49441 KB/s, 11 seconds passed +... 79%, 555200 KB, 49443 KB/s, 11 seconds passed +... 79%, 555232 KB, 49445 KB/s, 11 seconds passed +... 79%, 555264 KB, 49446 KB/s, 11 seconds passed +... 79%, 555296 KB, 49447 KB/s, 11 seconds passed +... 79%, 555328 KB, 49449 KB/s, 11 seconds passed +... 79%, 555360 KB, 49451 KB/s, 11 seconds passed +... 79%, 555392 KB, 49453 KB/s, 11 seconds passed +... 79%, 555424 KB, 49454 KB/s, 11 seconds passed +... 79%, 555456 KB, 49456 KB/s, 11 seconds passed +... 79%, 555488 KB, 49457 KB/s, 11 seconds passed +... 79%, 555520 KB, 49458 KB/s, 11 seconds passed +... 79%, 555552 KB, 49460 KB/s, 11 seconds passed +... 79%, 555584 KB, 49462 KB/s, 11 seconds passed +... 79%, 555616 KB, 49464 KB/s, 11 seconds passed +... 79%, 555648 KB, 49465 KB/s, 11 seconds passed +... 79%, 555680 KB, 49467 KB/s, 11 seconds passed +... 79%, 555712 KB, 49469 KB/s, 11 seconds passed +... 79%, 555744 KB, 49470 KB/s, 11 seconds passed +... 79%, 555776 KB, 49472 KB/s, 11 seconds passed +... 79%, 555808 KB, 49474 KB/s, 11 seconds passed +... 79%, 555840 KB, 49475 KB/s, 11 seconds passed +... 79%, 555872 KB, 49477 KB/s, 11 seconds passed +... 79%, 555904 KB, 49478 KB/s, 11 seconds passed +... 79%, 555936 KB, 49432 KB/s, 11 seconds passed +... 79%, 555968 KB, 49433 KB/s, 11 seconds passed +... 79%, 556000 KB, 49434 KB/s, 11 seconds passed +... 79%, 556032 KB, 49435 KB/s, 11 seconds passed +... 79%, 556064 KB, 49436 KB/s, 11 seconds passed +... 79%, 556096 KB, 49438 KB/s, 11 seconds passed +... 79%, 556128 KB, 49439 KB/s, 11 seconds passed +... 79%, 556160 KB, 49440 KB/s, 11 seconds passed +... 79%, 556192 KB, 49441 KB/s, 11 seconds passed +... 79%, 556224 KB, 49442 KB/s, 11 seconds passed +... 79%, 556256 KB, 49444 KB/s, 11 seconds passed +... 79%, 556288 KB, 49445 KB/s, 11 seconds passed +... 79%, 556320 KB, 49446 KB/s, 11 seconds passed +... 79%, 556352 KB, 49447 KB/s, 11 seconds passed +... 79%, 556384 KB, 49448 KB/s, 11 seconds passed +... 80%, 556416 KB, 49449 KB/s, 11 seconds passed +... 80%, 556448 KB, 49451 KB/s, 11 seconds passed +... 80%, 556480 KB, 49452 KB/s, 11 seconds passed +... 80%, 556512 KB, 49453 KB/s, 11 seconds passed +... 80%, 556544 KB, 49454 KB/s, 11 seconds passed +... 80%, 556576 KB, 49455 KB/s, 11 seconds passed +... 80%, 556608 KB, 49457 KB/s, 11 seconds passed +... 80%, 556640 KB, 49458 KB/s, 11 seconds passed +... 80%, 556672 KB, 49459 KB/s, 11 seconds passed +... 80%, 556704 KB, 49460 KB/s, 11 seconds passed +... 80%, 556736 KB, 49461 KB/s, 11 seconds passed +... 80%, 556768 KB, 49462 KB/s, 11 seconds passed +... 80%, 556800 KB, 49464 KB/s, 11 seconds passed +... 80%, 556832 KB, 49465 KB/s, 11 seconds passed +... 80%, 556864 KB, 49466 KB/s, 11 seconds passed +... 80%, 556896 KB, 49467 KB/s, 11 seconds passed +... 80%, 556928 KB, 49468 KB/s, 11 seconds passed +... 80%, 556960 KB, 49470 KB/s, 11 seconds passed +... 80%, 556992 KB, 49471 KB/s, 11 seconds passed +... 80%, 557024 KB, 49472 KB/s, 11 seconds passed +... 80%, 557056 KB, 49473 KB/s, 11 seconds passed +... 80%, 557088 KB, 49475 KB/s, 11 seconds passed +... 80%, 557120 KB, 49477 KB/s, 11 seconds passed +... 80%, 557152 KB, 49478 KB/s, 11 seconds passed +... 80%, 557184 KB, 49480 KB/s, 11 seconds passed +... 80%, 557216 KB, 49482 KB/s, 11 seconds passed +... 80%, 557248 KB, 49484 KB/s, 11 seconds passed +... 80%, 557280 KB, 49486 KB/s, 11 seconds passed +... 80%, 557312 KB, 49487 KB/s, 11 seconds passed +... 80%, 557344 KB, 49489 KB/s, 11 seconds passed +... 80%, 557376 KB, 49491 KB/s, 11 seconds passed +... 80%, 557408 KB, 49493 KB/s, 11 seconds passed +... 80%, 557440 KB, 49494 KB/s, 11 seconds passed +... 80%, 557472 KB, 49496 KB/s, 11 seconds passed +... 80%, 557504 KB, 49498 KB/s, 11 seconds passed +... 80%, 557536 KB, 49500 KB/s, 11 seconds passed +... 80%, 557568 KB, 49501 KB/s, 11 seconds passed +... 80%, 557600 KB, 49503 KB/s, 11 seconds passed +... 80%, 557632 KB, 49505 KB/s, 11 seconds passed +... 80%, 557664 KB, 49507 KB/s, 11 seconds passed +... 80%, 557696 KB, 49508 KB/s, 11 seconds passed +... 80%, 557728 KB, 49510 KB/s, 11 seconds passed +... 80%, 557760 KB, 49512 KB/s, 11 seconds passed +... 80%, 557792 KB, 49514 KB/s, 11 seconds passed +... 80%, 557824 KB, 49516 KB/s, 11 seconds passed +... 80%, 557856 KB, 49518 KB/s, 11 seconds passed +... 80%, 557888 KB, 49520 KB/s, 11 seconds passed +... 80%, 557920 KB, 49522 KB/s, 11 seconds passed +... 80%, 557952 KB, 49524 KB/s, 11 seconds passed +... 80%, 557984 KB, 49526 KB/s, 11 seconds passed +... 80%, 558016 KB, 49528 KB/s, 11 seconds passed +... 80%, 558048 KB, 49530 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 80%, 558080 KB, 49404 KB/s, 11 seconds passed +... 80%, 558112 KB, 49404 KB/s, 11 seconds passed +... 80%, 558144 KB, 49405 KB/s, 11 seconds passed +... 80%, 558176 KB, 49407 KB/s, 11 seconds passed +... 80%, 558208 KB, 49408 KB/s, 11 seconds passed +... 80%, 558240 KB, 49409 KB/s, 11 seconds passed +... 80%, 558272 KB, 49410 KB/s, 11 seconds passed +... 80%, 558304 KB, 49412 KB/s, 11 seconds passed +... 80%, 558336 KB, 49406 KB/s, 11 seconds passed +... 80%, 558368 KB, 49407 KB/s, 11 seconds passed +... 80%, 558400 KB, 49408 KB/s, 11 seconds passed +... 80%, 558432 KB, 49409 KB/s, 11 seconds passed +... 80%, 558464 KB, 49410 KB/s, 11 seconds passed +... 80%, 558496 KB, 49411 KB/s, 11 seconds passed +... 80%, 558528 KB, 49413 KB/s, 11 seconds passed +... 80%, 558560 KB, 49414 KB/s, 11 seconds passed +... 80%, 558592 KB, 49415 KB/s, 11 seconds passed +... 80%, 558624 KB, 49416 KB/s, 11 seconds passed +... 80%, 558656 KB, 49417 KB/s, 11 seconds passed +... 80%, 558688 KB, 49418 KB/s, 11 seconds passed +... 80%, 558720 KB, 49420 KB/s, 11 seconds passed +... 80%, 558752 KB, 49421 KB/s, 11 seconds passed +... 80%, 558784 KB, 49422 KB/s, 11 seconds passed +... 80%, 558816 KB, 49423 KB/s, 11 seconds passed +... 80%, 558848 KB, 49424 KB/s, 11 seconds passed +... 80%, 558880 KB, 49425 KB/s, 11 seconds passed +... 80%, 558912 KB, 49426 KB/s, 11 seconds passed +... 80%, 558944 KB, 49428 KB/s, 11 seconds passed +... 80%, 558976 KB, 49429 KB/s, 11 seconds passed +... 80%, 559008 KB, 49430 KB/s, 11 seconds passed +... 80%, 559040 KB, 49431 KB/s, 11 seconds passed +... 80%, 559072 KB, 49432 KB/s, 11 seconds passed +... 80%, 559104 KB, 49433 KB/s, 11 seconds passed +... 80%, 559136 KB, 49435 KB/s, 11 seconds passed +... 80%, 559168 KB, 49436 KB/s, 11 seconds passed +... 80%, 559200 KB, 49438 KB/s, 11 seconds passed +... 80%, 559232 KB, 49439 KB/s, 11 seconds passed +... 80%, 559264 KB, 49441 KB/s, 11 seconds passed +... 80%, 559296 KB, 49442 KB/s, 11 seconds passed +... 80%, 559328 KB, 49443 KB/s, 11 seconds passed +... 80%, 559360 KB, 49445 KB/s, 11 seconds passed +... 80%, 559392 KB, 49447 KB/s, 11 seconds passed +... 80%, 559424 KB, 49448 KB/s, 11 seconds passed +... 80%, 559456 KB, 49449 KB/s, 11 seconds passed +... 80%, 559488 KB, 49451 KB/s, 11 seconds passed +... 80%, 559520 KB, 49453 KB/s, 11 seconds passed +... 80%, 559552 KB, 49454 KB/s, 11 seconds passed +... 80%, 559584 KB, 49455 KB/s, 11 seconds passed +... 80%, 559616 KB, 49457 KB/s, 11 seconds passed +... 80%, 559648 KB, 49458 KB/s, 11 seconds passed +... 80%, 559680 KB, 49460 KB/s, 11 seconds passed +... 80%, 559712 KB, 49461 KB/s, 11 seconds passed +... 80%, 559744 KB, 49463 KB/s, 11 seconds passed +... 80%, 559776 KB, 49464 KB/s, 11 seconds passed +... 80%, 559808 KB, 49466 KB/s, 11 seconds passed +... 80%, 559840 KB, 49467 KB/s, 11 seconds passed +... 80%, 559872 KB, 49469 KB/s, 11 seconds passed +... 80%, 559904 KB, 49470 KB/s, 11 seconds passed +... 80%, 559936 KB, 49472 KB/s, 11 seconds passed +... 80%, 559968 KB, 49473 KB/s, 11 seconds passed +... 80%, 560000 KB, 49475 KB/s, 11 seconds passed +... 80%, 560032 KB, 49476 KB/s, 11 seconds passed +... 80%, 560064 KB, 49478 KB/s, 11 seconds passed +... 80%, 560096 KB, 49479 KB/s, 11 seconds passed +... 80%, 560128 KB, 49481 KB/s, 11 seconds passed +... 80%, 560160 KB, 49482 KB/s, 11 seconds passed +... 80%, 560192 KB, 49484 KB/s, 11 seconds passed +... 80%, 560224 KB, 49486 KB/s, 11 seconds passed +... 80%, 560256 KB, 49488 KB/s, 11 seconds passed +... 80%, 560288 KB, 49489 KB/s, 11 seconds passed +... 80%, 560320 KB, 49491 KB/s, 11 seconds passed +... 80%, 560352 KB, 49493 KB/s, 11 seconds passed +... 80%, 560384 KB, 49495 KB/s, 11 seconds passed +... 80%, 560416 KB, 49497 KB/s, 11 seconds passed +... 80%, 560448 KB, 49499 KB/s, 11 seconds passed +... 80%, 560480 KB, 49501 KB/s, 11 seconds passed +... 80%, 560512 KB, 49503 KB/s, 11 seconds passed +... 80%, 560544 KB, 49505 KB/s, 11 seconds passed +... 80%, 560576 KB, 49507 KB/s, 11 seconds passed +... 80%, 560608 KB, 49509 KB/s, 11 seconds passed +... 80%, 560640 KB, 49511 KB/s, 11 seconds passed +... 80%, 560672 KB, 49513 KB/s, 11 seconds passed +... 80%, 560704 KB, 49515 KB/s, 11 seconds passed +... 80%, 560736 KB, 49517 KB/s, 11 seconds passed +... 80%, 560768 KB, 49519 KB/s, 11 seconds passed +... 80%, 560800 KB, 49520 KB/s, 11 seconds passed +... 80%, 560832 KB, 49522 KB/s, 11 seconds passed +... 80%, 560864 KB, 49524 KB/s, 11 seconds passed +... 80%, 560896 KB, 49526 KB/s, 11 seconds passed +... 80%, 560928 KB, 49528 KB/s, 11 seconds passed +... 80%, 560960 KB, 49530 KB/s, 11 seconds passed +... 80%, 560992 KB, 49532 KB/s, 11 seconds passed +... 80%, 561024 KB, 49534 KB/s, 11 seconds passed +... 80%, 561056 KB, 49536 KB/s, 11 seconds passed +... 80%, 561088 KB, 49538 KB/s, 11 seconds passed +... 80%, 561120 KB, 49540 KB/s, 11 seconds passed +... 80%, 561152 KB, 49542 KB/s, 11 seconds passed +... 80%, 561184 KB, 49544 KB/s, 11 seconds passed +... 80%, 561216 KB, 49546 KB/s, 11 seconds passed +... 80%, 561248 KB, 49548 KB/s, 11 seconds passed +... 80%, 561280 KB, 49550 KB/s, 11 seconds passed +... 80%, 561312 KB, 49552 KB/s, 11 seconds passed +... 80%, 561344 KB, 49554 KB/s, 11 seconds passed +... 80%, 561376 KB, 49556 KB/s, 11 seconds passed +... 80%, 561408 KB, 49558 KB/s, 11 seconds passed +... 80%, 561440 KB, 49559 KB/s, 11 seconds passed +... 80%, 561472 KB, 49561 KB/s, 11 seconds passed +... 80%, 561504 KB, 49563 KB/s, 11 seconds passed +... 80%, 561536 KB, 49565 KB/s, 11 seconds passed +... 80%, 561568 KB, 49567 KB/s, 11 seconds passed +... 80%, 561600 KB, 49569 KB/s, 11 seconds passed +... 80%, 561632 KB, 49571 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 80%, 561664 KB, 49573 KB/s, 11 seconds passed +... 80%, 561696 KB, 49575 KB/s, 11 seconds passed +... 80%, 561728 KB, 49576 KB/s, 11 seconds passed +... 80%, 561760 KB, 49578 KB/s, 11 seconds passed +... 80%, 561792 KB, 49579 KB/s, 11 seconds passed +... 80%, 561824 KB, 49581 KB/s, 11 seconds passed +... 80%, 561856 KB, 49583 KB/s, 11 seconds passed +... 80%, 561888 KB, 49584 KB/s, 11 seconds passed +... 80%, 561920 KB, 49586 KB/s, 11 seconds passed +... 80%, 561952 KB, 49588 KB/s, 11 seconds passed +... 80%, 561984 KB, 49589 KB/s, 11 seconds passed +... 80%, 562016 KB, 49591 KB/s, 11 seconds passed +... 80%, 562048 KB, 49592 KB/s, 11 seconds passed +... 80%, 562080 KB, 49594 KB/s, 11 seconds passed +... 80%, 562112 KB, 49586 KB/s, 11 seconds passed +... 80%, 562144 KB, 49588 KB/s, 11 seconds passed +... 80%, 562176 KB, 49589 KB/s, 11 seconds passed +... 80%, 562208 KB, 49591 KB/s, 11 seconds passed +... 80%, 562240 KB, 49592 KB/s, 11 seconds passed +... 80%, 562272 KB, 49594 KB/s, 11 seconds passed +... 80%, 562304 KB, 49596 KB/s, 11 seconds passed +... 80%, 562336 KB, 49597 KB/s, 11 seconds passed +... 80%, 562368 KB, 49599 KB/s, 11 seconds passed +... 80%, 562400 KB, 49600 KB/s, 11 seconds passed +... 80%, 562432 KB, 49602 KB/s, 11 seconds passed +... 80%, 562464 KB, 49604 KB/s, 11 seconds passed +... 80%, 562496 KB, 49605 KB/s, 11 seconds passed +... 80%, 562528 KB, 49607 KB/s, 11 seconds passed +... 80%, 562560 KB, 49608 KB/s, 11 seconds passed +... 80%, 562592 KB, 49610 KB/s, 11 seconds passed +... 80%, 562624 KB, 49612 KB/s, 11 seconds passed +... 80%, 562656 KB, 49613 KB/s, 11 seconds passed +... 80%, 562688 KB, 49615 KB/s, 11 seconds passed +... 80%, 562720 KB, 49616 KB/s, 11 seconds passed +... 80%, 562752 KB, 49618 KB/s, 11 seconds passed +... 80%, 562784 KB, 49620 KB/s, 11 seconds passed +... 80%, 562816 KB, 49621 KB/s, 11 seconds passed +... 80%, 562848 KB, 49623 KB/s, 11 seconds passed +... 80%, 562880 KB, 49624 KB/s, 11 seconds passed +... 80%, 562912 KB, 49626 KB/s, 11 seconds passed +... 80%, 562944 KB, 49628 KB/s, 11 seconds passed +... 80%, 562976 KB, 49629 KB/s, 11 seconds passed +... 80%, 563008 KB, 49631 KB/s, 11 seconds passed +... 80%, 563040 KB, 49632 KB/s, 11 seconds passed +... 80%, 563072 KB, 49634 KB/s, 11 seconds passed +... 80%, 563104 KB, 49636 KB/s, 11 seconds passed +... 80%, 563136 KB, 49637 KB/s, 11 seconds passed +... 80%, 563168 KB, 49639 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 80%, 563200 KB, 49448 KB/s, 11 seconds passed +... 80%, 563232 KB, 49448 KB/s, 11 seconds passed +... 80%, 563264 KB, 49445 KB/s, 11 seconds passed +... 80%, 563296 KB, 49446 KB/s, 11 seconds passed +... 80%, 563328 KB, 49447 KB/s, 11 seconds passed +... 80%, 563360 KB, 49448 KB/s, 11 seconds passed +... 81%, 563392 KB, 49449 KB/s, 11 seconds passed +... 81%, 563424 KB, 49451 KB/s, 11 seconds passed +... 81%, 563456 KB, 49446 KB/s, 11 seconds passed +... 81%, 563488 KB, 49446 KB/s, 11 seconds passed +... 81%, 563520 KB, 49447 KB/s, 11 seconds passed +... 81%, 563552 KB, 49448 KB/s, 11 seconds passed +... 81%, 563584 KB, 49450 KB/s, 11 seconds passed +... 81%, 563616 KB, 49451 KB/s, 11 seconds passed +... 81%, 563648 KB, 49452 KB/s, 11 seconds passed +... 81%, 563680 KB, 49453 KB/s, 11 seconds passed +... 81%, 563712 KB, 49454 KB/s, 11 seconds passed +... 81%, 563744 KB, 49455 KB/s, 11 seconds passed +... 81%, 563776 KB, 49456 KB/s, 11 seconds passed +... 81%, 563808 KB, 49457 KB/s, 11 seconds passed +... 81%, 563840 KB, 49459 KB/s, 11 seconds passed +... 81%, 563872 KB, 49460 KB/s, 11 seconds passed +... 81%, 563904 KB, 49461 KB/s, 11 seconds passed +... 81%, 563936 KB, 49462 KB/s, 11 seconds passed +... 81%, 563968 KB, 49463 KB/s, 11 seconds passed +... 81%, 564000 KB, 49465 KB/s, 11 seconds passed +... 81%, 564032 KB, 49466 KB/s, 11 seconds passed +... 81%, 564064 KB, 49468 KB/s, 11 seconds passed +... 81%, 564096 KB, 49469 KB/s, 11 seconds passed +... 81%, 564128 KB, 49470 KB/s, 11 seconds passed +... 81%, 564160 KB, 49472 KB/s, 11 seconds passed +... 81%, 564192 KB, 49473 KB/s, 11 seconds passed +... 81%, 564224 KB, 49475 KB/s, 11 seconds passed +... 81%, 564256 KB, 49476 KB/s, 11 seconds passed +... 81%, 564288 KB, 49477 KB/s, 11 seconds passed +... 81%, 564320 KB, 49479 KB/s, 11 seconds passed +... 81%, 564352 KB, 49480 KB/s, 11 seconds passed +... 81%, 564384 KB, 49481 KB/s, 11 seconds passed +... 81%, 564416 KB, 49483 KB/s, 11 seconds passed +... 81%, 564448 KB, 49484 KB/s, 11 seconds passed +... 81%, 564480 KB, 49485 KB/s, 11 seconds passed +... 81%, 564512 KB, 49486 KB/s, 11 seconds passed +... 81%, 564544 KB, 49488 KB/s, 11 seconds passed +... 81%, 564576 KB, 49489 KB/s, 11 seconds passed +... 81%, 564608 KB, 49491 KB/s, 11 seconds passed +... 81%, 564640 KB, 49492 KB/s, 11 seconds passed +... 81%, 564672 KB, 49493 KB/s, 11 seconds passed +... 81%, 564704 KB, 49495 KB/s, 11 seconds passed +... 81%, 564736 KB, 49496 KB/s, 11 seconds passed +... 81%, 564768 KB, 49498 KB/s, 11 seconds passed +... 81%, 564800 KB, 49499 KB/s, 11 seconds passed +... 81%, 564832 KB, 49500 KB/s, 11 seconds passed +... 81%, 564864 KB, 49502 KB/s, 11 seconds passed +... 81%, 564896 KB, 49503 KB/s, 11 seconds passed +... 81%, 564928 KB, 49505 KB/s, 11 seconds passed +... 81%, 564960 KB, 49507 KB/s, 11 seconds passed +... 81%, 564992 KB, 49509 KB/s, 11 seconds passed +... 81%, 565024 KB, 49511 KB/s, 11 seconds passed +... 81%, 565056 KB, 49513 KB/s, 11 seconds passed +... 81%, 565088 KB, 49515 KB/s, 11 seconds passed +... 81%, 565120 KB, 49516 KB/s, 11 seconds passed +... 81%, 565152 KB, 49518 KB/s, 11 seconds passed +... 81%, 565184 KB, 49520 KB/s, 11 seconds passed +... 81%, 565216 KB, 49522 KB/s, 11 seconds passed +... 81%, 565248 KB, 49524 KB/s, 11 seconds passed +... 81%, 565280 KB, 49526 KB/s, 11 seconds passed +... 81%, 565312 KB, 49528 KB/s, 11 seconds passed +... 81%, 565344 KB, 49530 KB/s, 11 seconds passed +... 81%, 565376 KB, 49531 KB/s, 11 seconds passed +... 81%, 565408 KB, 49533 KB/s, 11 seconds passed +... 81%, 565440 KB, 49535 KB/s, 11 seconds passed +... 81%, 565472 KB, 49537 KB/s, 11 seconds passed +... 81%, 565504 KB, 49539 KB/s, 11 seconds passed +... 81%, 565536 KB, 49541 KB/s, 11 seconds passed +... 81%, 565568 KB, 49543 KB/s, 11 seconds passed +... 81%, 565600 KB, 49544 KB/s, 11 seconds passed +... 81%, 565632 KB, 49546 KB/s, 11 seconds passed +... 81%, 565664 KB, 49548 KB/s, 11 seconds passed +... 81%, 565696 KB, 49550 KB/s, 11 seconds passed +... 81%, 565728 KB, 49552 KB/s, 11 seconds passed +... 81%, 565760 KB, 49554 KB/s, 11 seconds passed +... 81%, 565792 KB, 49556 KB/s, 11 seconds passed +... 81%, 565824 KB, 49558 KB/s, 11 seconds passed +... 81%, 565856 KB, 49560 KB/s, 11 seconds passed +... 81%, 565888 KB, 49561 KB/s, 11 seconds passed +... 81%, 565920 KB, 49563 KB/s, 11 seconds passed +... 81%, 565952 KB, 49565 KB/s, 11 seconds passed +... 81%, 565984 KB, 49567 KB/s, 11 seconds passed +... 81%, 566016 KB, 49569 KB/s, 11 seconds passed +... 81%, 566048 KB, 49571 KB/s, 11 seconds passed +... 81%, 566080 KB, 49573 KB/s, 11 seconds passed +... 81%, 566112 KB, 49575 KB/s, 11 seconds passed +... 81%, 566144 KB, 49577 KB/s, 11 seconds passed +... 81%, 566176 KB, 49578 KB/s, 11 seconds passed +... 81%, 566208 KB, 49580 KB/s, 11 seconds passed +... 81%, 566240 KB, 49582 KB/s, 11 seconds passed +... 81%, 566272 KB, 49584 KB/s, 11 seconds passed +... 81%, 566304 KB, 49586 KB/s, 11 seconds passed +... 81%, 566336 KB, 49588 KB/s, 11 seconds passed +... 81%, 566368 KB, 49590 KB/s, 11 seconds passed +... 81%, 566400 KB, 49592 KB/s, 11 seconds passed +... 81%, 566432 KB, 49594 KB/s, 11 seconds passed +... 81%, 566464 KB, 49595 KB/s, 11 seconds passed +... 81%, 566496 KB, 49597 KB/s, 11 seconds passed +... 81%, 566528 KB, 49599 KB/s, 11 seconds passed +... 81%, 566560 KB, 49601 KB/s, 11 seconds passed +... 81%, 566592 KB, 49602 KB/s, 11 seconds passed +... 81%, 566624 KB, 49604 KB/s, 11 seconds passed +... 81%, 566656 KB, 49606 KB/s, 11 seconds passed +... 81%, 566688 KB, 49607 KB/s, 11 seconds passed +... 81%, 566720 KB, 49609 KB/s, 11 seconds passed +... 81%, 566752 KB, 49610 KB/s, 11 seconds passed +... 81%, 566784 KB, 49612 KB/s, 11 seconds passed +... 81%, 566816 KB, 49613 KB/s, 11 seconds passed +... 81%, 566848 KB, 49615 KB/s, 11 seconds passed +... 81%, 566880 KB, 49616 KB/s, 11 seconds passed +... 81%, 566912 KB, 49618 KB/s, 11 seconds passed +... 81%, 566944 KB, 49620 KB/s, 11 seconds passed +... 81%, 566976 KB, 49621 KB/s, 11 seconds passed +... 81%, 567008 KB, 49623 KB/s, 11 seconds passed +... 81%, 567040 KB, 49624 KB/s, 11 seconds passed +... 81%, 567072 KB, 49626 KB/s, 11 seconds passed +... 81%, 567104 KB, 49627 KB/s, 11 seconds passed +... 81%, 567136 KB, 49627 KB/s, 11 seconds passed +... 81%, 567168 KB, 49628 KB/s, 11 seconds passed +... 81%, 567200 KB, 49630 KB/s, 11 seconds passed +... 81%, 567232 KB, 49631 KB/s, 11 seconds passed +... 81%, 567264 KB, 49633 KB/s, 11 seconds passed +... 81%, 567296 KB, 49635 KB/s, 11 seconds passed +... 81%, 567328 KB, 49636 KB/s, 11 seconds passed +... 81%, 567360 KB, 49638 KB/s, 11 seconds passed +... 81%, 567392 KB, 49639 KB/s, 11 seconds passed +... 81%, 567424 KB, 49641 KB/s, 11 seconds passed +... 81%, 567456 KB, 49643 KB/s, 11 seconds passed +... 81%, 567488 KB, 49644 KB/s, 11 seconds passed +... 81%, 567520 KB, 49646 KB/s, 11 seconds passed +... 81%, 567552 KB, 49647 KB/s, 11 seconds passed +... 81%, 567584 KB, 49649 KB/s, 11 seconds passed +... 81%, 567616 KB, 49650 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 81%, 567648 KB, 49651 KB/s, 11 seconds passed +... 81%, 567680 KB, 49652 KB/s, 11 seconds passed +... 81%, 567712 KB, 49653 KB/s, 11 seconds passed +... 81%, 567744 KB, 49655 KB/s, 11 seconds passed +... 81%, 567776 KB, 49657 KB/s, 11 seconds passed +... 81%, 567808 KB, 49659 KB/s, 11 seconds passed +... 81%, 567840 KB, 49662 KB/s, 11 seconds passed +... 81%, 567872 KB, 49663 KB/s, 11 seconds passed +... 81%, 567904 KB, 49665 KB/s, 11 seconds passed +... 81%, 567936 KB, 49666 KB/s, 11 seconds passed +... 81%, 567968 KB, 49668 KB/s, 11 seconds passed +... 81%, 568000 KB, 49670 KB/s, 11 seconds passed +... 81%, 568032 KB, 49671 KB/s, 11 seconds passed +... 81%, 568064 KB, 49673 KB/s, 11 seconds passed +... 81%, 568096 KB, 49674 KB/s, 11 seconds passed +... 81%, 568128 KB, 49676 KB/s, 11 seconds passed +... 81%, 568160 KB, 49678 KB/s, 11 seconds passed +... 81%, 568192 KB, 49679 KB/s, 11 seconds passed +... 81%, 568224 KB, 49681 KB/s, 11 seconds passed +... 81%, 568256 KB, 49682 KB/s, 11 seconds passed +... 81%, 568288 KB, 49684 KB/s, 11 seconds passed +... 81%, 568320 KB, 49519 KB/s, 11 seconds passed +... 81%, 568352 KB, 49520 KB/s, 11 seconds passed +... 81%, 568384 KB, 49521 KB/s, 11 seconds passed +... 81%, 568416 KB, 49522 KB/s, 11 seconds passed +... 81%, 568448 KB, 49523 KB/s, 11 seconds passed +... 81%, 568480 KB, 49524 KB/s, 11 seconds passed +... 81%, 568512 KB, 49525 KB/s, 11 seconds passed +... 81%, 568544 KB, 49526 KB/s, 11 seconds passed +... 81%, 568576 KB, 49528 KB/s, 11 seconds passed +... 81%, 568608 KB, 49529 KB/s, 11 seconds passed +... 81%, 568640 KB, 49530 KB/s, 11 seconds passed +... 81%, 568672 KB, 49531 KB/s, 11 seconds passed +... 81%, 568704 KB, 49532 KB/s, 11 seconds passed +... 81%, 568736 KB, 49533 KB/s, 11 seconds passed +... 81%, 568768 KB, 49534 KB/s, 11 seconds passed +... 81%, 568800 KB, 49536 KB/s, 11 seconds passed +... 81%, 568832 KB, 49537 KB/s, 11 seconds passed +... 81%, 568864 KB, 49538 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 81%, 568896 KB, 49539 KB/s, 11 seconds passed +... 81%, 568928 KB, 49540 KB/s, 11 seconds passed +... 81%, 568960 KB, 49541 KB/s, 11 seconds passed +... 81%, 568992 KB, 49542 KB/s, 11 seconds passed +... 81%, 569024 KB, 49543 KB/s, 11 seconds passed +... 81%, 569056 KB, 49544 KB/s, 11 seconds passed +... 81%, 569088 KB, 49546 KB/s, 11 seconds passed +... 81%, 569120 KB, 49547 KB/s, 11 seconds passed +... 81%, 569152 KB, 49548 KB/s, 11 seconds passed +... 81%, 569184 KB, 49549 KB/s, 11 seconds passed +... 81%, 569216 KB, 49550 KB/s, 11 seconds passed +... 81%, 569248 KB, 49551 KB/s, 11 seconds passed +... 81%, 569280 KB, 49552 KB/s, 11 seconds passed +... 81%, 569312 KB, 49553 KB/s, 11 seconds passed +... 81%, 569344 KB, 49555 KB/s, 11 seconds passed +... 81%, 569376 KB, 49556 KB/s, 11 seconds passed +... 81%, 569408 KB, 49557 KB/s, 11 seconds passed +... 81%, 569440 KB, 49558 KB/s, 11 seconds passed +... 81%, 569472 KB, 49559 KB/s, 11 seconds passed +... 81%, 569504 KB, 49560 KB/s, 11 seconds passed +... 81%, 569536 KB, 49561 KB/s, 11 seconds passed +... 81%, 569568 KB, 49563 KB/s, 11 seconds passed +... 81%, 569600 KB, 49564 KB/s, 11 seconds passed +... 81%, 569632 KB, 49566 KB/s, 11 seconds passed +... 81%, 569664 KB, 49567 KB/s, 11 seconds passed +... 81%, 569696 KB, 49569 KB/s, 11 seconds passed +... 81%, 569728 KB, 49571 KB/s, 11 seconds passed +... 81%, 569760 KB, 49572 KB/s, 11 seconds passed +... 81%, 569792 KB, 49574 KB/s, 11 seconds passed +... 81%, 569824 KB, 49576 KB/s, 11 seconds passed +... 81%, 569856 KB, 49577 KB/s, 11 seconds passed +... 81%, 569888 KB, 49579 KB/s, 11 seconds passed +... 81%, 569920 KB, 49581 KB/s, 11 seconds passed +... 81%, 569952 KB, 49583 KB/s, 11 seconds passed +... 81%, 569984 KB, 49584 KB/s, 11 seconds passed +... 81%, 570016 KB, 49586 KB/s, 11 seconds passed +... 81%, 570048 KB, 49588 KB/s, 11 seconds passed +... 81%, 570080 KB, 49589 KB/s, 11 seconds passed +... 81%, 570112 KB, 49591 KB/s, 11 seconds passed +... 81%, 570144 KB, 49593 KB/s, 11 seconds passed +... 81%, 570176 KB, 49595 KB/s, 11 seconds passed +... 81%, 570208 KB, 49596 KB/s, 11 seconds passed +... 81%, 570240 KB, 49598 KB/s, 11 seconds passed +... 81%, 570272 KB, 49600 KB/s, 11 seconds passed +... 81%, 570304 KB, 49602 KB/s, 11 seconds passed +... 82%, 570336 KB, 49603 KB/s, 11 seconds passed +... 82%, 570368 KB, 49605 KB/s, 11 seconds passed +... 82%, 570400 KB, 49607 KB/s, 11 seconds passed +... 82%, 570432 KB, 49609 KB/s, 11 seconds passed +... 82%, 570464 KB, 49610 KB/s, 11 seconds passed +... 82%, 570496 KB, 49612 KB/s, 11 seconds passed +... 82%, 570528 KB, 49614 KB/s, 11 seconds passed +... 82%, 570560 KB, 49615 KB/s, 11 seconds passed +... 82%, 570592 KB, 49617 KB/s, 11 seconds passed +... 82%, 570624 KB, 49619 KB/s, 11 seconds passed +... 82%, 570656 KB, 49621 KB/s, 11 seconds passed +... 82%, 570688 KB, 49622 KB/s, 11 seconds passed +... 82%, 570720 KB, 49624 KB/s, 11 seconds passed +... 82%, 570752 KB, 49626 KB/s, 11 seconds passed +... 82%, 570784 KB, 49627 KB/s, 11 seconds passed +... 82%, 570816 KB, 49629 KB/s, 11 seconds passed +... 82%, 570848 KB, 49631 KB/s, 11 seconds passed +... 82%, 570880 KB, 49633 KB/s, 11 seconds passed +... 82%, 570912 KB, 49634 KB/s, 11 seconds passed +... 82%, 570944 KB, 49636 KB/s, 11 seconds passed +... 82%, 570976 KB, 49638 KB/s, 11 seconds passed +... 82%, 571008 KB, 49640 KB/s, 11 seconds passed +... 82%, 571040 KB, 49642 KB/s, 11 seconds passed +... 82%, 571072 KB, 49644 KB/s, 11 seconds passed +... 82%, 571104 KB, 49646 KB/s, 11 seconds passed +... 82%, 571136 KB, 49649 KB/s, 11 seconds passed +... 82%, 571168 KB, 49651 KB/s, 11 seconds passed +... 82%, 571200 KB, 49653 KB/s, 11 seconds passed +... 82%, 571232 KB, 49655 KB/s, 11 seconds passed +... 82%, 571264 KB, 49657 KB/s, 11 seconds passed +... 82%, 571296 KB, 49659 KB/s, 11 seconds passed +... 82%, 571328 KB, 49661 KB/s, 11 seconds passed +... 82%, 571360 KB, 49663 KB/s, 11 seconds passed +... 82%, 571392 KB, 49665 KB/s, 11 seconds passed +... 82%, 571424 KB, 49667 KB/s, 11 seconds passed +... 82%, 571456 KB, 49669 KB/s, 11 seconds passed +... 82%, 571488 KB, 49671 KB/s, 11 seconds passed +... 82%, 571520 KB, 49673 KB/s, 11 seconds passed +... 82%, 571552 KB, 49676 KB/s, 11 seconds passed +... 82%, 571584 KB, 49678 KB/s, 11 seconds passed +... 82%, 571616 KB, 49680 KB/s, 11 seconds passed +... 82%, 571648 KB, 49682 KB/s, 11 seconds passed +... 82%, 571680 KB, 49683 KB/s, 11 seconds passed +... 82%, 571712 KB, 49685 KB/s, 11 seconds passed +... 82%, 571744 KB, 49686 KB/s, 11 seconds passed +... 82%, 571776 KB, 49688 KB/s, 11 seconds passed +... 82%, 571808 KB, 49689 KB/s, 11 seconds passed +... 82%, 571840 KB, 49691 KB/s, 11 seconds passed +... 82%, 571872 KB, 49693 KB/s, 11 seconds passed +... 82%, 571904 KB, 49694 KB/s, 11 seconds passed +... 82%, 571936 KB, 49696 KB/s, 11 seconds passed +... 82%, 571968 KB, 49697 KB/s, 11 seconds passed +... 82%, 572000 KB, 49698 KB/s, 11 seconds passed +... 82%, 572032 KB, 49700 KB/s, 11 seconds passed +... 82%, 572064 KB, 49701 KB/s, 11 seconds passed +... 82%, 572096 KB, 49702 KB/s, 11 seconds passed +... 82%, 572128 KB, 49704 KB/s, 11 seconds passed +... 82%, 572160 KB, 49706 KB/s, 11 seconds passed +... 82%, 572192 KB, 49708 KB/s, 11 seconds passed +... 82%, 572224 KB, 49710 KB/s, 11 seconds passed +... 82%, 572256 KB, 49711 KB/s, 11 seconds passed +... 82%, 572288 KB, 49712 KB/s, 11 seconds passed +... 82%, 572320 KB, 49713 KB/s, 11 seconds passed +... 82%, 572352 KB, 49692 KB/s, 11 seconds passed +... 82%, 572384 KB, 49694 KB/s, 11 seconds passed +... 82%, 572416 KB, 49695 KB/s, 11 seconds passed +... 82%, 572448 KB, 49697 KB/s, 11 seconds passed +... 82%, 572480 KB, 49699 KB/s, 11 seconds passed +... 82%, 572512 KB, 49700 KB/s, 11 seconds passed +... 82%, 572544 KB, 49702 KB/s, 11 seconds passed +... 82%, 572576 KB, 49703 KB/s, 11 seconds passed +... 82%, 572608 KB, 49705 KB/s, 11 seconds passed +... 82%, 572640 KB, 49707 KB/s, 11 seconds passed +... 82%, 572672 KB, 49708 KB/s, 11 seconds passed +... 82%, 572704 KB, 49710 KB/s, 11 seconds passed +... 82%, 572736 KB, 49711 KB/s, 11 seconds passed +... 82%, 572768 KB, 49713 KB/s, 11 seconds passed +... 82%, 572800 KB, 49714 KB/s, 11 seconds passed +... 82%, 572832 KB, 49716 KB/s, 11 seconds passed +... 82%, 572864 KB, 49717 KB/s, 11 seconds passed +... 82%, 572896 KB, 49718 KB/s, 11 seconds passed +... 82%, 572928 KB, 49721 KB/s, 11 seconds passed +... 82%, 572960 KB, 49722 KB/s, 11 seconds passed +... 82%, 572992 KB, 49723 KB/s, 11 seconds passed +... 82%, 573024 KB, 49724 KB/s, 11 seconds passed +... 82%, 573056 KB, 49725 KB/s, 11 seconds passed +... 82%, 573088 KB, 49727 KB/s, 11 seconds passed +... 82%, 573120 KB, 49729 KB/s, 11 seconds passed +... 82%, 573152 KB, 49731 KB/s, 11 seconds passed +... 82%, 573184 KB, 49733 KB/s, 11 seconds passed +... 82%, 573216 KB, 49735 KB/s, 11 seconds passed +... 82%, 573248 KB, 49736 KB/s, 11 seconds passed +... 82%, 573280 KB, 49738 KB/s, 11 seconds passed +... 82%, 573312 KB, 49740 KB/s, 11 seconds passed +... 82%, 573344 KB, 49741 KB/s, 11 seconds passed +... 82%, 573376 KB, 49743 KB/s, 11 seconds passed +... 82%, 573408 KB, 49744 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 82%, 573440 KB, 49639 KB/s, 11 seconds passed +... 82%, 573472 KB, 49640 KB/s, 11 seconds passed +... 82%, 573504 KB, 49637 KB/s, 11 seconds passed +... 82%, 573536 KB, 49638 KB/s, 11 seconds passed +... 82%, 573568 KB, 49639 KB/s, 11 seconds passed +... 82%, 573600 KB, 49640 KB/s, 11 seconds passed +... 82%, 573632 KB, 49641 KB/s, 11 seconds passed +... 82%, 573664 KB, 49642 KB/s, 11 seconds passed +... 82%, 573696 KB, 49643 KB/s, 11 seconds passed +... 82%, 573728 KB, 49645 KB/s, 11 seconds passed +... 82%, 573760 KB, 49646 KB/s, 11 seconds passed +... 82%, 573792 KB, 49647 KB/s, 11 seconds passed +... 82%, 573824 KB, 49648 KB/s, 11 seconds passed +... 82%, 573856 KB, 49649 KB/s, 11 seconds passed +... 82%, 573888 KB, 49650 KB/s, 11 seconds passed +... 82%, 573920 KB, 49651 KB/s, 11 seconds passed +... 82%, 573952 KB, 49652 KB/s, 11 seconds passed +... 82%, 573984 KB, 49653 KB/s, 11 seconds passed +... 82%, 574016 KB, 49655 KB/s, 11 seconds passed +... 82%, 574048 KB, 49656 KB/s, 11 seconds passed +... 82%, 574080 KB, 49657 KB/s, 11 seconds passed +... 82%, 574112 KB, 49658 KB/s, 11 seconds passed +... 82%, 574144 KB, 49659 KB/s, 11 seconds passed +... 82%, 574176 KB, 49660 KB/s, 11 seconds passed +... 82%, 574208 KB, 49662 KB/s, 11 seconds passed +... 82%, 574240 KB, 49663 KB/s, 11 seconds passed +... 82%, 574272 KB, 49665 KB/s, 11 seconds passed +... 82%, 574304 KB, 49666 KB/s, 11 seconds passed +... 82%, 574336 KB, 49668 KB/s, 11 seconds passed +... 82%, 574368 KB, 49669 KB/s, 11 seconds passed +... 82%, 574400 KB, 49671 KB/s, 11 seconds passed +... 82%, 574432 KB, 49672 KB/s, 11 seconds passed +... 82%, 574464 KB, 49674 KB/s, 11 seconds passed +... 82%, 574496 KB, 49675 KB/s, 11 seconds passed +... 82%, 574528 KB, 49677 KB/s, 11 seconds passed +... 82%, 574560 KB, 49678 KB/s, 11 seconds passed +... 82%, 574592 KB, 49680 KB/s, 11 seconds passed +... 82%, 574624 KB, 49681 KB/s, 11 seconds passed +... 82%, 574656 KB, 49683 KB/s, 11 seconds passed +... 82%, 574688 KB, 49685 KB/s, 11 seconds passed +... 82%, 574720 KB, 49686 KB/s, 11 seconds passed +... 82%, 574752 KB, 49688 KB/s, 11 seconds passed +... 82%, 574784 KB, 49689 KB/s, 11 seconds passed +... 82%, 574816 KB, 49691 KB/s, 11 seconds passed +... 82%, 574848 KB, 49692 KB/s, 11 seconds passed +... 82%, 574880 KB, 49694 KB/s, 11 seconds passed +... 82%, 574912 KB, 49695 KB/s, 11 seconds passed +... 82%, 574944 KB, 49697 KB/s, 11 seconds passed +... 82%, 574976 KB, 49698 KB/s, 11 seconds passed +... 82%, 575008 KB, 49700 KB/s, 11 seconds passed +... 82%, 575040 KB, 49701 KB/s, 11 seconds passed +... 82%, 575072 KB, 49703 KB/s, 11 seconds passed +... 82%, 575104 KB, 49704 KB/s, 11 seconds passed +... 82%, 575136 KB, 49706 KB/s, 11 seconds passed +... 82%, 575168 KB, 49708 KB/s, 11 seconds passed +... 82%, 575200 KB, 49709 KB/s, 11 seconds passed +... 82%, 575232 KB, 49711 KB/s, 11 seconds passed +... 82%, 575264 KB, 49712 KB/s, 11 seconds passed +... 82%, 575296 KB, 49714 KB/s, 11 seconds passed +... 82%, 575328 KB, 49716 KB/s, 11 seconds passed +... 82%, 575360 KB, 49717 KB/s, 11 seconds passed +... 82%, 575392 KB, 49719 KB/s, 11 seconds passed +... 82%, 575424 KB, 49721 KB/s, 11 seconds passed +... 82%, 575456 KB, 49723 KB/s, 11 seconds passed +... 82%, 575488 KB, 49725 KB/s, 11 seconds passed +... 82%, 575520 KB, 49727 KB/s, 11 seconds passed +... 82%, 575552 KB, 49729 KB/s, 11 seconds passed +... 82%, 575584 KB, 49731 KB/s, 11 seconds passed +... 82%, 575616 KB, 49733 KB/s, 11 seconds passed +... 82%, 575648 KB, 49735 KB/s, 11 seconds passed +... 82%, 575680 KB, 49737 KB/s, 11 seconds passed +... 82%, 575712 KB, 49739 KB/s, 11 seconds passed +... 82%, 575744 KB, 49741 KB/s, 11 seconds passed +... 82%, 575776 KB, 49743 KB/s, 11 seconds passed +... 82%, 575808 KB, 49745 KB/s, 11 seconds passed +... 82%, 575840 KB, 49747 KB/s, 11 seconds passed +... 82%, 575872 KB, 49749 KB/s, 11 seconds passed +... 82%, 575904 KB, 49751 KB/s, 11 seconds passed +... 82%, 575936 KB, 49753 KB/s, 11 seconds passed +... 82%, 575968 KB, 49754 KB/s, 11 seconds passed +... 82%, 576000 KB, 49756 KB/s, 11 seconds passed +... 82%, 576032 KB, 49758 KB/s, 11 seconds passed +... 82%, 576064 KB, 49760 KB/s, 11 seconds passed +... 82%, 576096 KB, 49762 KB/s, 11 seconds passed +... 82%, 576128 KB, 49759 KB/s, 11 seconds passed +... 82%, 576160 KB, 49761 KB/s, 11 seconds passed +... 82%, 576192 KB, 49762 KB/s, 11 seconds passed +... 82%, 576224 KB, 49764 KB/s, 11 seconds passed +... 82%, 576256 KB, 49766 KB/s, 11 seconds passed +... 82%, 576288 KB, 49767 KB/s, 11 seconds passed +... 82%, 576320 KB, 49769 KB/s, 11 seconds passed +... 82%, 576352 KB, 49770 KB/s, 11 seconds passed +... 82%, 576384 KB, 49772 KB/s, 11 seconds passed +... 82%, 576416 KB, 49773 KB/s, 11 seconds passed +... 82%, 576448 KB, 49775 KB/s, 11 seconds passed +... 82%, 576480 KB, 49776 KB/s, 11 seconds passed +... 82%, 576512 KB, 49778 KB/s, 11 seconds passed +... 82%, 576544 KB, 49780 KB/s, 11 seconds passed +... 82%, 576576 KB, 49781 KB/s, 11 seconds passed +... 82%, 576608 KB, 49783 KB/s, 11 seconds passed +... 82%, 576640 KB, 49784 KB/s, 11 seconds passed +... 82%, 576672 KB, 49786 KB/s, 11 seconds passed +... 82%, 576704 KB, 49787 KB/s, 11 seconds passed +... 82%, 576736 KB, 49789 KB/s, 11 seconds passed +... 82%, 576768 KB, 49790 KB/s, 11 seconds passed +... 82%, 576800 KB, 49792 KB/s, 11 seconds passed +... 82%, 576832 KB, 49794 KB/s, 11 seconds passed +... 82%, 576864 KB, 49795 KB/s, 11 seconds passed +... 82%, 576896 KB, 49797 KB/s, 11 seconds passed +... 82%, 576928 KB, 49798 KB/s, 11 seconds passed +... 82%, 576960 KB, 49799 KB/s, 11 seconds passed +... 82%, 576992 KB, 49801 KB/s, 11 seconds passed +... 82%, 577024 KB, 49803 KB/s, 11 seconds passed +... 82%, 577056 KB, 49804 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 82%, 577088 KB, 49806 KB/s, 11 seconds passed +... 82%, 577120 KB, 49808 KB/s, 11 seconds passed +... 82%, 577152 KB, 49809 KB/s, 11 seconds passed +... 82%, 577184 KB, 49810 KB/s, 11 seconds passed +... 82%, 577216 KB, 49755 KB/s, 11 seconds passed +... 82%, 577248 KB, 49756 KB/s, 11 seconds passed +... 83%, 577280 KB, 49757 KB/s, 11 seconds passed +... 83%, 577312 KB, 49758 KB/s, 11 seconds passed +... 83%, 577344 KB, 49760 KB/s, 11 seconds passed +... 83%, 577376 KB, 49761 KB/s, 11 seconds passed +... 83%, 577408 KB, 49762 KB/s, 11 seconds passed +... 83%, 577440 KB, 49764 KB/s, 11 seconds passed +... 83%, 577472 KB, 49765 KB/s, 11 seconds passed +... 83%, 577504 KB, 49766 KB/s, 11 seconds passed +... 83%, 577536 KB, 49768 KB/s, 11 seconds passed +... 83%, 577568 KB, 49769 KB/s, 11 seconds passed +... 83%, 577600 KB, 49771 KB/s, 11 seconds passed +... 83%, 577632 KB, 49772 KB/s, 11 seconds passed +... 83%, 577664 KB, 49773 KB/s, 11 seconds passed +... 83%, 577696 KB, 49775 KB/s, 11 seconds passed +... 83%, 577728 KB, 49776 KB/s, 11 seconds passed +... 83%, 577760 KB, 49778 KB/s, 11 seconds passed +... 83%, 577792 KB, 49779 KB/s, 11 seconds passed +... 83%, 577824 KB, 49779 KB/s, 11 seconds passed +... 83%, 577856 KB, 49780 KB/s, 11 seconds passed +... 83%, 577888 KB, 49782 KB/s, 11 seconds passed +... 83%, 577920 KB, 49783 KB/s, 11 seconds passed +... 83%, 577952 KB, 49784 KB/s, 11 seconds passed +... 83%, 577984 KB, 49786 KB/s, 11 seconds passed +... 83%, 578016 KB, 49787 KB/s, 11 seconds passed +... 83%, 578048 KB, 49789 KB/s, 11 seconds passed +... 83%, 578080 KB, 49790 KB/s, 11 seconds passed +... 83%, 578112 KB, 49792 KB/s, 11 seconds passed +... 83%, 578144 KB, 49793 KB/s, 11 seconds passed +... 83%, 578176 KB, 49795 KB/s, 11 seconds passed +... 83%, 578208 KB, 49796 KB/s, 11 seconds passed +... 83%, 578240 KB, 49797 KB/s, 11 seconds passed +... 83%, 578272 KB, 49799 KB/s, 11 seconds passed +... 83%, 578304 KB, 49800 KB/s, 11 seconds passed +... 83%, 578336 KB, 49802 KB/s, 11 seconds passed +... 83%, 578368 KB, 49803 KB/s, 11 seconds passed +... 83%, 578400 KB, 49805 KB/s, 11 seconds passed +... 83%, 578432 KB, 49806 KB/s, 11 seconds passed +... 83%, 578464 KB, 49808 KB/s, 11 seconds passed +... 83%, 578496 KB, 49810 KB/s, 11 seconds passed +... 83%, 578528 KB, 49811 KB/s, 11 seconds passed +... 83%, 578560 KB, 49733 KB/s, 11 seconds passed +... 83%, 578592 KB, 49734 KB/s, 11 seconds passed +... 83%, 578624 KB, 49735 KB/s, 11 seconds passed +... 83%, 578656 KB, 49737 KB/s, 11 seconds passed +... 83%, 578688 KB, 49738 KB/s, 11 seconds passed +... 83%, 578720 KB, 49740 KB/s, 11 seconds passed +... 83%, 578752 KB, 49741 KB/s, 11 seconds passed +... 83%, 578784 KB, 49742 KB/s, 11 seconds passed +... 83%, 578816 KB, 49743 KB/s, 11 seconds passed +... 83%, 578848 KB, 49744 KB/s, 11 seconds passed +... 83%, 578880 KB, 49745 KB/s, 11 seconds passed +... 83%, 578912 KB, 49747 KB/s, 11 seconds passed +... 83%, 578944 KB, 49748 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 83%, 578976 KB, 49750 KB/s, 11 seconds passed +... 83%, 579008 KB, 49751 KB/s, 11 seconds passed +... 83%, 579040 KB, 49753 KB/s, 11 seconds passed +... 83%, 579072 KB, 49754 KB/s, 11 seconds passed +... 83%, 579104 KB, 49755 KB/s, 11 seconds passed +... 83%, 579136 KB, 49757 KB/s, 11 seconds passed +... 83%, 579168 KB, 49758 KB/s, 11 seconds passed +... 83%, 579200 KB, 49760 KB/s, 11 seconds passed +... 83%, 579232 KB, 49761 KB/s, 11 seconds passed +... 83%, 579264 KB, 49763 KB/s, 11 seconds passed +... 83%, 579296 KB, 49764 KB/s, 11 seconds passed +... 83%, 579328 KB, 49766 KB/s, 11 seconds passed +... 83%, 579360 KB, 49767 KB/s, 11 seconds passed +... 83%, 579392 KB, 49768 KB/s, 11 seconds passed +... 83%, 579424 KB, 49770 KB/s, 11 seconds passed +... 83%, 579456 KB, 49771 KB/s, 11 seconds passed +... 83%, 579488 KB, 49773 KB/s, 11 seconds passed +... 83%, 579520 KB, 49774 KB/s, 11 seconds passed +... 83%, 579552 KB, 49776 KB/s, 11 seconds passed +... 83%, 579584 KB, 49778 KB/s, 11 seconds passed +... 83%, 579616 KB, 49779 KB/s, 11 seconds passed +... 83%, 579648 KB, 49781 KB/s, 11 seconds passed +... 83%, 579680 KB, 49783 KB/s, 11 seconds passed +... 83%, 579712 KB, 49784 KB/s, 11 seconds passed +... 83%, 579744 KB, 49786 KB/s, 11 seconds passed +... 83%, 579776 KB, 49788 KB/s, 11 seconds passed +... 83%, 579808 KB, 49789 KB/s, 11 seconds passed +... 83%, 579840 KB, 49791 KB/s, 11 seconds passed +... 83%, 579872 KB, 49793 KB/s, 11 seconds passed +... 83%, 579904 KB, 49794 KB/s, 11 seconds passed +... 83%, 579936 KB, 49796 KB/s, 11 seconds passed +... 83%, 579968 KB, 49798 KB/s, 11 seconds passed +... 83%, 580000 KB, 49799 KB/s, 11 seconds passed +... 83%, 580032 KB, 49801 KB/s, 11 seconds passed +... 83%, 580064 KB, 49803 KB/s, 11 seconds passed +... 83%, 580096 KB, 49804 KB/s, 11 seconds passed +... 83%, 580128 KB, 49806 KB/s, 11 seconds passed +... 83%, 580160 KB, 49807 KB/s, 11 seconds passed +... 83%, 580192 KB, 49809 KB/s, 11 seconds passed +... 83%, 580224 KB, 49810 KB/s, 11 seconds passed +... 83%, 580256 KB, 49812 KB/s, 11 seconds passed +... 83%, 580288 KB, 49814 KB/s, 11 seconds passed +... 83%, 580320 KB, 49815 KB/s, 11 seconds passed +... 83%, 580352 KB, 49817 KB/s, 11 seconds passed +... 83%, 580384 KB, 49818 KB/s, 11 seconds passed +... 83%, 580416 KB, 49820 KB/s, 11 seconds passed +... 83%, 580448 KB, 49822 KB/s, 11 seconds passed +... 83%, 580480 KB, 49823 KB/s, 11 seconds passed +... 83%, 580512 KB, 49825 KB/s, 11 seconds passed +... 83%, 580544 KB, 49826 KB/s, 11 seconds passed +... 83%, 580576 KB, 49828 KB/s, 11 seconds passed +... 83%, 580608 KB, 49829 KB/s, 11 seconds passed +... 83%, 580640 KB, 49831 KB/s, 11 seconds passed +... 83%, 580672 KB, 49833 KB/s, 11 seconds passed +... 83%, 580704 KB, 49834 KB/s, 11 seconds passed +... 83%, 580736 KB, 49835 KB/s, 11 seconds passed +... 83%, 580768 KB, 49837 KB/s, 11 seconds passed +... 83%, 580800 KB, 49839 KB/s, 11 seconds passed +... 83%, 580832 KB, 49840 KB/s, 11 seconds passed +... 83%, 580864 KB, 49842 KB/s, 11 seconds passed +... 83%, 580896 KB, 49844 KB/s, 11 seconds passed +... 83%, 580928 KB, 49845 KB/s, 11 seconds passed +... 83%, 580960 KB, 49847 KB/s, 11 seconds passed +... 83%, 580992 KB, 49848 KB/s, 11 seconds passed +... 83%, 581024 KB, 49849 KB/s, 11 seconds passed +... 83%, 581056 KB, 49851 KB/s, 11 seconds passed +... 83%, 581088 KB, 49853 KB/s, 11 seconds passed +... 83%, 581120 KB, 49854 KB/s, 11 seconds passed +... 83%, 581152 KB, 49856 KB/s, 11 seconds passed +... 83%, 581184 KB, 49857 KB/s, 11 seconds passed +... 83%, 581216 KB, 49859 KB/s, 11 seconds passed +... 83%, 581248 KB, 49860 KB/s, 11 seconds passed +... 83%, 581280 KB, 49861 KB/s, 11 seconds passed +... 83%, 581312 KB, 49863 KB/s, 11 seconds passed +... 83%, 581344 KB, 49864 KB/s, 11 seconds passed +... 83%, 581376 KB, 49866 KB/s, 11 seconds passed +... 83%, 581408 KB, 49868 KB/s, 11 seconds passed +... 83%, 581440 KB, 49870 KB/s, 11 seconds passed +... 83%, 581472 KB, 49871 KB/s, 11 seconds passed +... 83%, 581504 KB, 49873 KB/s, 11 seconds passed +... 83%, 581536 KB, 49875 KB/s, 11 seconds passed +... 83%, 581568 KB, 49876 KB/s, 11 seconds passed +... 83%, 581600 KB, 49878 KB/s, 11 seconds passed +... 83%, 581632 KB, 49879 KB/s, 11 seconds passed +... 83%, 581664 KB, 49880 KB/s, 11 seconds passed +... 83%, 581696 KB, 49882 KB/s, 11 seconds passed +... 83%, 581728 KB, 49884 KB/s, 11 seconds passed +... 83%, 581760 KB, 49885 KB/s, 11 seconds passed +... 83%, 581792 KB, 49886 KB/s, 11 seconds passed +... 83%, 581824 KB, 49888 KB/s, 11 seconds passed +... 83%, 581856 KB, 49890 KB/s, 11 seconds passed +... 83%, 581888 KB, 49892 KB/s, 11 seconds passed +... 83%, 581920 KB, 49893 KB/s, 11 seconds passed +... 83%, 581952 KB, 49895 KB/s, 11 seconds passed +... 83%, 581984 KB, 49896 KB/s, 11 seconds passed +... 83%, 582016 KB, 49898 KB/s, 11 seconds passed +... 83%, 582048 KB, 49899 KB/s, 11 seconds passed +... 83%, 582080 KB, 49901 KB/s, 11 seconds passed +... 83%, 582112 KB, 49902 KB/s, 11 seconds passed +... 83%, 582144 KB, 49904 KB/s, 11 seconds passed +... 83%, 582176 KB, 49905 KB/s, 11 seconds passed +... 83%, 582208 KB, 49907 KB/s, 11 seconds passed +... 83%, 582240 KB, 49908 KB/s, 11 seconds passed +... 83%, 582272 KB, 49910 KB/s, 11 seconds passed +... 83%, 582304 KB, 49912 KB/s, 11 seconds passed +... 83%, 582336 KB, 49913 KB/s, 11 seconds passed +... 83%, 582368 KB, 49915 KB/s, 11 seconds passed +... 83%, 582400 KB, 49917 KB/s, 11 seconds passed +... 83%, 582432 KB, 49918 KB/s, 11 seconds passed +... 83%, 582464 KB, 49914 KB/s, 11 seconds passed +... 83%, 582496 KB, 49915 KB/s, 11 seconds passed +... 83%, 582528 KB, 49917 KB/s, 11 seconds passed +... 83%, 582560 KB, 49918 KB/s, 11 seconds passed +... 83%, 582592 KB, 49920 KB/s, 11 seconds passed +... 83%, 582624 KB, 49921 KB/s, 11 seconds passed +... 83%, 582656 KB, 49922 KB/s, 11 seconds passed +... 83%, 582688 KB, 49917 KB/s, 11 seconds passed +... 83%, 582720 KB, 49919 KB/s, 11 seconds passed +... 83%, 582752 KB, 49920 KB/s, 11 seconds passed +... 83%, 582784 KB, 49922 KB/s, 11 seconds passed +... 83%, 582816 KB, 49923 KB/s, 11 seconds passed +... 83%, 582848 KB, 49925 KB/s, 11 seconds passed +... 83%, 582880 KB, 49926 KB/s, 11 seconds passed +... 83%, 582912 KB, 49927 KB/s, 11 seconds passed +... 83%, 582944 KB, 49929 KB/s, 11 seconds passed +... 83%, 582976 KB, 49930 KB/s, 11 seconds passed +... 83%, 583008 KB, 49932 KB/s, 11 seconds passed +... 83%, 583040 KB, 49933 KB/s, 11 seconds passed +... 83%, 583072 KB, 49935 KB/s, 11 seconds passed +... 83%, 583104 KB, 49936 KB/s, 11 seconds passed +... 83%, 583136 KB, 49938 KB/s, 11 seconds passed +... 83%, 583168 KB, 49939 KB/s, 11 seconds passed +... 83%, 583200 KB, 49941 KB/s, 11 seconds passed +... 83%, 583232 KB, 49942 KB/s, 11 seconds passed +... 83%, 583264 KB, 49944 KB/s, 11 seconds passed +... 83%, 583296 KB, 49945 KB/s, 11 seconds passed +... 83%, 583328 KB, 49947 KB/s, 11 seconds passed +... 83%, 583360 KB, 49948 KB/s, 11 seconds passed +... 83%, 583392 KB, 49949 KB/s, 11 seconds passed +... 83%, 583424 KB, 49951 KB/s, 11 seconds passed +... 83%, 583456 KB, 49952 KB/s, 11 seconds passed +... 83%, 583488 KB, 49954 KB/s, 11 seconds passed +... 83%, 583520 KB, 49955 KB/s, 11 seconds passed +... 83%, 583552 KB, 49957 KB/s, 11 seconds passed +... 83%, 583584 KB, 49958 KB/s, 11 seconds passed +... 83%, 583616 KB, 49960 KB/s, 11 seconds passed +... 83%, 583648 KB, 49961 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 83%, 583680 KB, 49751 KB/s, 11 seconds passed +... 83%, 583712 KB, 49752 KB/s, 11 seconds passed +... 83%, 583744 KB, 49753 KB/s, 11 seconds passed +... 83%, 583776 KB, 49754 KB/s, 11 seconds passed +... 83%, 583808 KB, 49756 KB/s, 11 seconds passed +... 83%, 583840 KB, 49757 KB/s, 11 seconds passed +... 83%, 583872 KB, 49758 KB/s, 11 seconds passed +... 83%, 583904 KB, 49760 KB/s, 11 seconds passed +... 83%, 583936 KB, 49761 KB/s, 11 seconds passed +... 83%, 583968 KB, 49763 KB/s, 11 seconds passed +... 83%, 584000 KB, 49764 KB/s, 11 seconds passed +... 83%, 584032 KB, 49765 KB/s, 11 seconds passed +... 83%, 584064 KB, 49767 KB/s, 11 seconds passed +... 83%, 584096 KB, 49768 KB/s, 11 seconds passed +... 83%, 584128 KB, 49770 KB/s, 11 seconds passed +... 83%, 584160 KB, 49771 KB/s, 11 seconds passed +... 83%, 584192 KB, 49773 KB/s, 11 seconds passed +... 83%, 584224 KB, 49774 KB/s, 11 seconds passed +... 84%, 584256 KB, 49775 KB/s, 11 seconds passed +... 84%, 584288 KB, 49777 KB/s, 11 seconds passed +... 84%, 584320 KB, 49778 KB/s, 11 seconds passed +... 84%, 584352 KB, 49780 KB/s, 11 seconds passed +... 84%, 584384 KB, 49781 KB/s, 11 seconds passed +... 84%, 584416 KB, 49783 KB/s, 11 seconds passed +... 84%, 584448 KB, 49784 KB/s, 11 seconds passed +... 84%, 584480 KB, 49785 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 84%, 584512 KB, 49787 KB/s, 11 seconds passed +... 84%, 584544 KB, 49788 KB/s, 11 seconds passed +... 84%, 584576 KB, 49790 KB/s, 11 seconds passed +... 84%, 584608 KB, 49791 KB/s, 11 seconds passed +... 84%, 584640 KB, 49792 KB/s, 11 seconds passed +... 84%, 584672 KB, 49794 KB/s, 11 seconds passed +... 84%, 584704 KB, 49795 KB/s, 11 seconds passed +... 84%, 584736 KB, 49797 KB/s, 11 seconds passed +... 84%, 584768 KB, 49798 KB/s, 11 seconds passed +... 84%, 584800 KB, 49800 KB/s, 11 seconds passed +... 84%, 584832 KB, 49801 KB/s, 11 seconds passed +... 84%, 584864 KB, 49802 KB/s, 11 seconds passed +... 84%, 584896 KB, 49804 KB/s, 11 seconds passed +... 84%, 584928 KB, 49806 KB/s, 11 seconds passed +... 84%, 584960 KB, 49808 KB/s, 11 seconds passed +... 84%, 584992 KB, 49810 KB/s, 11 seconds passed +... 84%, 585024 KB, 49811 KB/s, 11 seconds passed +... 84%, 585056 KB, 49813 KB/s, 11 seconds passed +... 84%, 585088 KB, 49815 KB/s, 11 seconds passed +... 84%, 585120 KB, 49817 KB/s, 11 seconds passed +... 84%, 585152 KB, 49819 KB/s, 11 seconds passed +... 84%, 585184 KB, 49821 KB/s, 11 seconds passed +... 84%, 585216 KB, 49823 KB/s, 11 seconds passed +... 84%, 585248 KB, 49824 KB/s, 11 seconds passed +... 84%, 585280 KB, 49826 KB/s, 11 seconds passed +... 84%, 585312 KB, 49828 KB/s, 11 seconds passed +... 84%, 585344 KB, 49830 KB/s, 11 seconds passed +... 84%, 585376 KB, 49832 KB/s, 11 seconds passed +... 84%, 585408 KB, 49834 KB/s, 11 seconds passed +... 84%, 585440 KB, 49836 KB/s, 11 seconds passed +... 84%, 585472 KB, 49837 KB/s, 11 seconds passed +... 84%, 585504 KB, 49838 KB/s, 11 seconds passed +... 84%, 585536 KB, 49840 KB/s, 11 seconds passed +... 84%, 585568 KB, 49842 KB/s, 11 seconds passed +... 84%, 585600 KB, 49843 KB/s, 11 seconds passed +... 84%, 585632 KB, 49844 KB/s, 11 seconds passed +... 84%, 585664 KB, 49846 KB/s, 11 seconds passed +... 84%, 585696 KB, 49848 KB/s, 11 seconds passed +... 84%, 585728 KB, 49849 KB/s, 11 seconds passed +... 84%, 585760 KB, 49851 KB/s, 11 seconds passed +... 84%, 585792 KB, 49852 KB/s, 11 seconds passed +... 84%, 585824 KB, 49854 KB/s, 11 seconds passed +... 84%, 585856 KB, 49855 KB/s, 11 seconds passed +... 84%, 585888 KB, 49857 KB/s, 11 seconds passed +... 84%, 585920 KB, 49858 KB/s, 11 seconds passed +... 84%, 585952 KB, 49860 KB/s, 11 seconds passed +... 84%, 585984 KB, 49861 KB/s, 11 seconds passed +... 84%, 586016 KB, 49863 KB/s, 11 seconds passed +... 84%, 586048 KB, 49865 KB/s, 11 seconds passed +... 84%, 586080 KB, 49866 KB/s, 11 seconds passed +... 84%, 586112 KB, 49867 KB/s, 11 seconds passed +... 84%, 586144 KB, 49869 KB/s, 11 seconds passed +... 84%, 586176 KB, 49870 KB/s, 11 seconds passed +... 84%, 586208 KB, 49872 KB/s, 11 seconds passed +... 84%, 586240 KB, 49873 KB/s, 11 seconds passed +... 84%, 586272 KB, 49875 KB/s, 11 seconds passed +... 84%, 586304 KB, 49877 KB/s, 11 seconds passed +... 84%, 586336 KB, 49879 KB/s, 11 seconds passed +... 84%, 586368 KB, 49880 KB/s, 11 seconds passed +... 84%, 586400 KB, 49882 KB/s, 11 seconds passed +... 84%, 586432 KB, 49883 KB/s, 11 seconds passed +... 84%, 586464 KB, 49885 KB/s, 11 seconds passed +... 84%, 586496 KB, 49886 KB/s, 11 seconds passed +... 84%, 586528 KB, 49887 KB/s, 11 seconds passed +... 84%, 586560 KB, 49889 KB/s, 11 seconds passed +... 84%, 586592 KB, 49890 KB/s, 11 seconds passed +... 84%, 586624 KB, 49892 KB/s, 11 seconds passed +... 84%, 586656 KB, 49893 KB/s, 11 seconds passed +... 84%, 586688 KB, 49895 KB/s, 11 seconds passed +... 84%, 586720 KB, 49896 KB/s, 11 seconds passed +... 84%, 586752 KB, 49898 KB/s, 11 seconds passed +... 84%, 586784 KB, 49900 KB/s, 11 seconds passed +... 84%, 586816 KB, 49902 KB/s, 11 seconds passed +... 84%, 586848 KB, 49903 KB/s, 11 seconds passed +... 84%, 586880 KB, 49905 KB/s, 11 seconds passed +... 84%, 586912 KB, 49906 KB/s, 11 seconds passed +... 84%, 586944 KB, 49908 KB/s, 11 seconds passed +... 84%, 586976 KB, 49909 KB/s, 11 seconds passed +... 84%, 587008 KB, 49911 KB/s, 11 seconds passed +... 84%, 587040 KB, 49912 KB/s, 11 seconds passed +... 84%, 587072 KB, 49913 KB/s, 11 seconds passed +... 84%, 587104 KB, 49915 KB/s, 11 seconds passed +... 84%, 587136 KB, 49917 KB/s, 11 seconds passed +... 84%, 587168 KB, 49918 KB/s, 11 seconds passed +... 84%, 587200 KB, 49919 KB/s, 11 seconds passed +... 84%, 587232 KB, 49921 KB/s, 11 seconds passed +... 84%, 587264 KB, 49922 KB/s, 11 seconds passed +... 84%, 587296 KB, 49924 KB/s, 11 seconds passed +... 84%, 587328 KB, 49925 KB/s, 11 seconds passed +... 84%, 587360 KB, 49927 KB/s, 11 seconds passed +... 84%, 587392 KB, 49929 KB/s, 11 seconds passed +... 84%, 587424 KB, 49930 KB/s, 11 seconds passed +... 84%, 587456 KB, 49932 KB/s, 11 seconds passed +... 84%, 587488 KB, 49921 KB/s, 11 seconds passed +... 84%, 587520 KB, 49923 KB/s, 11 seconds passed +... 84%, 587552 KB, 49924 KB/s, 11 seconds passed +... 84%, 587584 KB, 49926 KB/s, 11 seconds passed +... 84%, 587616 KB, 49927 KB/s, 11 seconds passed +... 84%, 587648 KB, 49926 KB/s, 11 seconds passed +... 84%, 587680 KB, 49927 KB/s, 11 seconds passed +... 84%, 587712 KB, 49929 KB/s, 11 seconds passed +... 84%, 587744 KB, 49930 KB/s, 11 seconds passed +... 84%, 587776 KB, 49932 KB/s, 11 seconds passed +... 84%, 587808 KB, 49933 KB/s, 11 seconds passed +... 84%, 587840 KB, 49935 KB/s, 11 seconds passed +... 84%, 587872 KB, 49937 KB/s, 11 seconds passed +... 84%, 587904 KB, 49938 KB/s, 11 seconds passed +... 84%, 587936 KB, 49931 KB/s, 11 seconds passed +... 84%, 587968 KB, 49932 KB/s, 11 seconds passed +... 84%, 588000 KB, 49934 KB/s, 11 seconds passed +... 84%, 588032 KB, 49935 KB/s, 11 seconds passed +... 84%, 588064 KB, 49937 KB/s, 11 seconds passed +... 84%, 588096 KB, 49938 KB/s, 11 seconds passed +... 84%, 588128 KB, 49939 KB/s, 11 seconds passed +... 84%, 588160 KB, 49941 KB/s, 11 seconds passed +... 84%, 588192 KB, 49942 KB/s, 11 seconds passed +... 84%, 588224 KB, 49944 KB/s, 11 seconds passed +... 84%, 588256 KB, 49945 KB/s, 11 seconds passed +... 84%, 588288 KB, 49947 KB/s, 11 seconds passed +... 84%, 588320 KB, 49948 KB/s, 11 seconds passed +... 84%, 588352 KB, 49949 KB/s, 11 seconds passed +... 84%, 588384 KB, 49951 KB/s, 11 seconds passed +... 84%, 588416 KB, 49952 KB/s, 11 seconds passed +... 84%, 588448 KB, 49954 KB/s, 11 seconds passed +... 84%, 588480 KB, 49955 KB/s, 11 seconds passed +... 84%, 588512 KB, 49956 KB/s, 11 seconds passed +... 84%, 588544 KB, 49958 KB/s, 11 seconds passed +... 84%, 588576 KB, 49959 KB/s, 11 seconds passed +... 84%, 588608 KB, 49961 KB/s, 11 seconds passed +... 84%, 588640 KB, 49962 KB/s, 11 seconds passed +... 84%, 588672 KB, 49964 KB/s, 11 seconds passed +... 84%, 588704 KB, 49965 KB/s, 11 seconds passed +... 84%, 588736 KB, 49967 KB/s, 11 seconds passed +... 84%, 588768 KB, 49968 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 84%, 588800 KB, 49667 KB/s, 11 seconds passed +... 84%, 588832 KB, 49668 KB/s, 11 seconds passed +... 84%, 588864 KB, 49669 KB/s, 11 seconds passed +... 84%, 588896 KB, 49671 KB/s, 11 seconds passed +... 84%, 588928 KB, 49672 KB/s, 11 seconds passed +... 84%, 588960 KB, 49666 KB/s, 11 seconds passed +... 84%, 588992 KB, 49667 KB/s, 11 seconds passed +... 84%, 589024 KB, 49668 KB/s, 11 seconds passed +... 84%, 589056 KB, 49669 KB/s, 11 seconds passed +... 84%, 589088 KB, 49671 KB/s, 11 seconds passed +... 84%, 589120 KB, 49672 KB/s, 11 seconds passed +... 84%, 589152 KB, 49674 KB/s, 11 seconds passed +... 84%, 589184 KB, 49675 KB/s, 11 seconds passed +... 84%, 589216 KB, 49676 KB/s, 11 seconds passed +... 84%, 589248 KB, 49678 KB/s, 11 seconds passed +... 84%, 589280 KB, 49679 KB/s, 11 seconds passed +... 84%, 589312 KB, 49681 KB/s, 11 seconds passed +... 84%, 589344 KB, 49682 KB/s, 11 seconds passed +... 84%, 589376 KB, 49684 KB/s, 11 seconds passed +... 84%, 589408 KB, 49685 KB/s, 11 seconds passed +... 84%, 589440 KB, 49686 KB/s, 11 seconds passed +... 84%, 589472 KB, 49688 KB/s, 11 seconds passed +... 84%, 589504 KB, 49689 KB/s, 11 seconds passed +... 84%, 589536 KB, 49690 KB/s, 11 seconds passed +... 84%, 589568 KB, 49692 KB/s, 11 seconds passed +... 84%, 589600 KB, 49693 KB/s, 11 seconds passed +... 84%, 589632 KB, 49695 KB/s, 11 seconds passed +... 84%, 589664 KB, 49696 KB/s, 11 seconds passed +... 84%, 589696 KB, 49698 KB/s, 11 seconds passed +... 84%, 589728 KB, 49699 KB/s, 11 seconds passed +... 84%, 589760 KB, 49701 KB/s, 11 seconds passed +... 84%, 589792 KB, 49703 KB/s, 11 seconds passed +... 84%, 589824 KB, 49704 KB/s, 11 seconds passed +... 84%, 589856 KB, 49706 KB/s, 11 seconds passed +... 84%, 589888 KB, 49707 KB/s, 11 seconds passed +... 84%, 589920 KB, 49709 KB/s, 11 seconds passed +... 84%, 589952 KB, 49710 KB/s, 11 seconds passed +... 84%, 589984 KB, 49712 KB/s, 11 seconds passed +... 84%, 590016 KB, 49713 KB/s, 11 seconds passed +... 84%, 590048 KB, 49715 KB/s, 11 seconds passed +... 84%, 590080 KB, 49717 KB/s, 11 seconds passed +... 84%, 590112 KB, 49718 KB/s, 11 seconds passed +... 84%, 590144 KB, 49720 KB/s, 11 seconds passed +... 84%, 590176 KB, 49721 KB/s, 11 seconds passed +... 84%, 590208 KB, 49723 KB/s, 11 seconds passed +... 84%, 590240 KB, 49724 KB/s, 11 seconds passed +... 84%, 590272 KB, 49726 KB/s, 11 seconds passed +... 84%, 590304 KB, 49727 KB/s, 11 seconds passed +... 84%, 590336 KB, 49729 KB/s, 11 seconds passed +... 84%, 590368 KB, 49730 KB/s, 11 seconds passed +... 84%, 590400 KB, 49732 KB/s, 11 seconds passed +... 84%, 590432 KB, 49734 KB/s, 11 seconds passed +... 84%, 590464 KB, 49735 KB/s, 11 seconds passed +... 84%, 590496 KB, 49737 KB/s, 11 seconds passed +... 84%, 590528 KB, 49738 KB/s, 11 seconds passed +... 84%, 590560 KB, 49740 KB/s, 11 seconds passed +... 84%, 590592 KB, 49741 KB/s, 11 seconds passed +... 84%, 590624 KB, 49743 KB/s, 11 seconds passed +... 84%, 590656 KB, 49745 KB/s, 11 seconds passed +... 84%, 590688 KB, 49746 KB/s, 11 seconds passed +... 84%, 590720 KB, 49748 KB/s, 11 seconds passed +... 84%, 590752 KB, 49749 KB/s, 11 seconds passed +... 84%, 590784 KB, 49751 KB/s, 11 seconds passed +... 84%, 590816 KB, 49753 KB/s, 11 seconds passed +... 84%, 590848 KB, 49754 KB/s, 11 seconds passed +... 84%, 590880 KB, 49756 KB/s, 11 seconds passed +... 84%, 590912 KB, 49757 KB/s, 11 seconds passed +... 84%, 590944 KB, 49759 KB/s, 11 seconds passed +... 84%, 590976 KB, 49760 KB/s, 11 seconds passed +... 84%, 591008 KB, 49762 KB/s, 11 seconds passed +... 84%, 591040 KB, 49763 KB/s, 11 seconds passed +... 84%, 591072 KB, 49764 KB/s, 11 seconds passed +... 84%, 591104 KB, 49766 KB/s, 11 seconds passed +... 84%, 591136 KB, 49768 KB/s, 11 seconds passed +... 84%, 591168 KB, 49770 KB/s, 11 seconds passed +... 85%, 591200 KB, 49771 KB/s, 11 seconds passed +... 85%, 591232 KB, 49773 KB/s, 11 seconds passed +... 85%, 591264 KB, 49774 KB/s, 11 seconds passed +... 85%, 591296 KB, 49776 KB/s, 11 seconds passed +... 85%, 591328 KB, 49777 KB/s, 11 seconds passed +... 85%, 591360 KB, 49779 KB/s, 11 seconds passed +... 85%, 591392 KB, 49781 KB/s, 11 seconds passed +... 85%, 591424 KB, 49782 KB/s, 11 seconds passed +... 85%, 591456 KB, 49783 KB/s, 11 seconds passed +... 85%, 591488 KB, 49785 KB/s, 11 seconds passed +... 85%, 591520 KB, 49786 KB/s, 11 seconds passed +... 85%, 591552 KB, 49788 KB/s, 11 seconds passed +... 85%, 591584 KB, 49790 KB/s, 11 seconds passed +... 85%, 591616 KB, 49791 KB/s, 11 seconds passed +... 85%, 591648 KB, 49793 KB/s, 11 seconds passed +... 85%, 591680 KB, 49794 KB/s, 11 seconds passed +... 85%, 591712 KB, 49796 KB/s, 11 seconds passed +... 85%, 591744 KB, 49797 KB/s, 11 seconds passed +... 85%, 591776 KB, 49799 KB/s, 11 seconds passed +... 85%, 591808 KB, 49800 KB/s, 11 seconds passed +... 85%, 591840 KB, 49802 KB/s, 11 seconds passed +... 85%, 591872 KB, 49803 KB/s, 11 seconds passed +... 85%, 591904 KB, 49805 KB/s, 11 seconds passed +... 85%, 591936 KB, 49806 KB/s, 11 seconds passed +... 85%, 591968 KB, 49808 KB/s, 11 seconds passed +... 85%, 592000 KB, 49809 KB/s, 11 seconds passed +... 85%, 592032 KB, 49811 KB/s, 11 seconds passed +... 85%, 592064 KB, 49813 KB/s, 11 seconds passed +... 85%, 592096 KB, 49814 KB/s, 11 seconds passed +... 85%, 592128 KB, 49815 KB/s, 11 seconds passed +... 85%, 592160 KB, 49817 KB/s, 11 seconds passed +... 85%, 592192 KB, 49819 KB/s, 11 seconds passed +... 85%, 592224 KB, 49820 KB/s, 11 seconds passed +... 85%, 592256 KB, 49822 KB/s, 11 seconds passed +... 85%, 592288 KB, 49823 KB/s, 11 seconds passed +... 85%, 592320 KB, 49825 KB/s, 11 seconds passed +... 85%, 592352 KB, 49826 KB/s, 11 seconds passed +... 85%, 592384 KB, 49828 KB/s, 11 seconds passed +... 85%, 592416 KB, 49829 KB/s, 11 seconds passed +... 85%, 592448 KB, 49831 KB/s, 11 seconds passed +... 85%, 592480 KB, 49832 KB/s, 11 seconds passed +... 85%, 592512 KB, 49834 KB/s, 11 seconds passed +... 85%, 592544 KB, 49835 KB/s, 11 seconds passed +... 85%, 592576 KB, 49837 KB/s, 11 seconds passed +... 85%, 592608 KB, 49838 KB/s, 11 seconds passed +... 85%, 592640 KB, 49840 KB/s, 11 seconds passed +... 85%, 592672 KB, 49841 KB/s, 11 seconds passed +... 85%, 592704 KB, 49843 KB/s, 11 seconds passed +... 85%, 592736 KB, 49844 KB/s, 11 seconds passed +... 85%, 592768 KB, 49846 KB/s, 11 seconds passed +... 85%, 592800 KB, 49847 KB/s, 11 seconds passed +... 85%, 592832 KB, 49849 KB/s, 11 seconds passed +... 85%, 592864 KB, 49850 KB/s, 11 seconds passed +... 85%, 592896 KB, 49851 KB/s, 11 seconds passed +... 85%, 592928 KB, 49853 KB/s, 11 seconds passed +... 85%, 592960 KB, 49855 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 85%, 592992 KB, 49857 KB/s, 11 seconds passed +... 85%, 593024 KB, 49858 KB/s, 11 seconds passed +... 85%, 593056 KB, 49859 KB/s, 11 seconds passed +... 85%, 593088 KB, 49861 KB/s, 11 seconds passed +... 85%, 593120 KB, 49863 KB/s, 11 seconds passed +... 85%, 593152 KB, 49864 KB/s, 11 seconds passed +... 85%, 593184 KB, 49865 KB/s, 11 seconds passed +... 85%, 593216 KB, 49867 KB/s, 11 seconds passed +... 85%, 593248 KB, 49869 KB/s, 11 seconds passed +... 85%, 593280 KB, 49870 KB/s, 11 seconds passed +... 85%, 593312 KB, 49872 KB/s, 11 seconds passed +... 85%, 593344 KB, 49873 KB/s, 11 seconds passed +... 85%, 593376 KB, 49875 KB/s, 11 seconds passed +... 85%, 593408 KB, 49876 KB/s, 11 seconds passed +... 85%, 593440 KB, 49878 KB/s, 11 seconds passed +... 85%, 593472 KB, 49879 KB/s, 11 seconds passed +... 85%, 593504 KB, 49881 KB/s, 11 seconds passed +... 85%, 593536 KB, 49882 KB/s, 11 seconds passed +... 85%, 593568 KB, 49884 KB/s, 11 seconds passed +... 85%, 593600 KB, 49885 KB/s, 11 seconds passed +... 85%, 593632 KB, 49887 KB/s, 11 seconds passed +... 85%, 593664 KB, 49888 KB/s, 11 seconds passed +... 85%, 593696 KB, 49890 KB/s, 11 seconds passed +... 85%, 593728 KB, 49891 KB/s, 11 seconds passed +... 85%, 593760 KB, 49893 KB/s, 11 seconds passed +... 85%, 593792 KB, 49894 KB/s, 11 seconds passed +... 85%, 593824 KB, 49895 KB/s, 11 seconds passed +... 85%, 593856 KB, 49897 KB/s, 11 seconds passed +... 85%, 593888 KB, 49899 KB/s, 11 seconds passed +... 85%, 593920 KB, 49744 KB/s, 11 seconds passed +... 85%, 593952 KB, 49745 KB/s, 11 seconds passed +... 85%, 593984 KB, 49745 KB/s, 11 seconds passed +... 85%, 594016 KB, 49746 KB/s, 11 seconds passed +... 85%, 594048 KB, 49744 KB/s, 11 seconds passed +... 85%, 594080 KB, 49745 KB/s, 11 seconds passed +... 85%, 594112 KB, 49746 KB/s, 11 seconds passed +... 85%, 594144 KB, 49748 KB/s, 11 seconds passed +... 85%, 594176 KB, 49749 KB/s, 11 seconds passed +... 85%, 594208 KB, 49750 KB/s, 11 seconds passed +... 85%, 594240 KB, 49752 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 85%, 594272 KB, 49744 KB/s, 11 seconds passed +... 85%, 594304 KB, 49745 KB/s, 11 seconds passed +... 85%, 594336 KB, 49747 KB/s, 11 seconds passed +... 85%, 594368 KB, 49748 KB/s, 11 seconds passed +... 85%, 594400 KB, 49750 KB/s, 11 seconds passed +... 85%, 594432 KB, 49751 KB/s, 11 seconds passed +... 85%, 594464 KB, 49752 KB/s, 11 seconds passed +... 85%, 594496 KB, 49754 KB/s, 11 seconds passed +... 85%, 594528 KB, 49755 KB/s, 11 seconds passed +... 85%, 594560 KB, 49757 KB/s, 11 seconds passed +... 85%, 594592 KB, 49758 KB/s, 11 seconds passed +... 85%, 594624 KB, 49759 KB/s, 11 seconds passed +... 85%, 594656 KB, 49761 KB/s, 11 seconds passed +... 85%, 594688 KB, 49762 KB/s, 11 seconds passed +... 85%, 594720 KB, 49763 KB/s, 11 seconds passed +... 85%, 594752 KB, 49765 KB/s, 11 seconds passed +... 85%, 594784 KB, 49766 KB/s, 11 seconds passed +... 85%, 594816 KB, 49768 KB/s, 11 seconds passed +... 85%, 594848 KB, 49769 KB/s, 11 seconds passed +... 85%, 594880 KB, 49770 KB/s, 11 seconds passed +... 85%, 594912 KB, 49772 KB/s, 11 seconds passed +... 85%, 594944 KB, 49773 KB/s, 11 seconds passed +... 85%, 594976 KB, 49775 KB/s, 11 seconds passed +... 85%, 595008 KB, 49776 KB/s, 11 seconds passed +... 85%, 595040 KB, 49777 KB/s, 11 seconds passed +... 85%, 595072 KB, 49779 KB/s, 11 seconds passed +... 85%, 595104 KB, 49780 KB/s, 11 seconds passed +... 85%, 595136 KB, 49782 KB/s, 11 seconds passed +... 85%, 595168 KB, 49783 KB/s, 11 seconds passed +... 85%, 595200 KB, 49784 KB/s, 11 seconds passed +... 85%, 595232 KB, 49786 KB/s, 11 seconds passed +... 85%, 595264 KB, 49787 KB/s, 11 seconds passed +... 85%, 595296 KB, 49789 KB/s, 11 seconds passed +... 85%, 595328 KB, 49790 KB/s, 11 seconds passed +... 85%, 595360 KB, 49792 KB/s, 11 seconds passed +... 85%, 595392 KB, 49794 KB/s, 11 seconds passed +... 85%, 595424 KB, 49795 KB/s, 11 seconds passed +... 85%, 595456 KB, 49797 KB/s, 11 seconds passed +... 85%, 595488 KB, 49799 KB/s, 11 seconds passed +... 85%, 595520 KB, 49800 KB/s, 11 seconds passed +... 85%, 595552 KB, 49802 KB/s, 11 seconds passed +... 85%, 595584 KB, 49804 KB/s, 11 seconds passed +... 85%, 595616 KB, 49805 KB/s, 11 seconds passed +... 85%, 595648 KB, 49807 KB/s, 11 seconds passed +... 85%, 595680 KB, 49809 KB/s, 11 seconds passed +... 85%, 595712 KB, 49810 KB/s, 11 seconds passed +... 85%, 595744 KB, 49812 KB/s, 11 seconds passed +... 85%, 595776 KB, 49814 KB/s, 11 seconds passed +... 85%, 595808 KB, 49815 KB/s, 11 seconds passed +... 85%, 595840 KB, 49817 KB/s, 11 seconds passed +... 85%, 595872 KB, 49819 KB/s, 11 seconds passed +... 85%, 595904 KB, 49820 KB/s, 11 seconds passed +... 85%, 595936 KB, 49822 KB/s, 11 seconds passed +... 85%, 595968 KB, 49824 KB/s, 11 seconds passed +... 85%, 596000 KB, 49825 KB/s, 11 seconds passed +... 85%, 596032 KB, 49827 KB/s, 11 seconds passed +... 85%, 596064 KB, 49829 KB/s, 11 seconds passed +... 85%, 596096 KB, 49830 KB/s, 11 seconds passed +... 85%, 596128 KB, 49832 KB/s, 11 seconds passed +... 85%, 596160 KB, 49834 KB/s, 11 seconds passed +... 85%, 596192 KB, 49835 KB/s, 11 seconds passed +... 85%, 596224 KB, 49837 KB/s, 11 seconds passed +... 85%, 596256 KB, 49838 KB/s, 11 seconds passed +... 85%, 596288 KB, 49840 KB/s, 11 seconds passed +... 85%, 596320 KB, 49841 KB/s, 11 seconds passed +... 85%, 596352 KB, 49842 KB/s, 11 seconds passed +... 85%, 596384 KB, 49844 KB/s, 11 seconds passed +... 85%, 596416 KB, 49846 KB/s, 11 seconds passed +... 85%, 596448 KB, 49847 KB/s, 11 seconds passed +... 85%, 596480 KB, 49849 KB/s, 11 seconds passed +... 85%, 596512 KB, 49851 KB/s, 11 seconds passed +... 85%, 596544 KB, 49852 KB/s, 11 seconds passed +... 85%, 596576 KB, 49854 KB/s, 11 seconds passed +... 85%, 596608 KB, 49855 KB/s, 11 seconds passed +... 85%, 596640 KB, 49857 KB/s, 11 seconds passed +... 85%, 596672 KB, 49858 KB/s, 11 seconds passed +... 85%, 596704 KB, 49859 KB/s, 11 seconds passed +... 85%, 596736 KB, 49861 KB/s, 11 seconds passed +... 85%, 596768 KB, 49863 KB/s, 11 seconds passed +... 85%, 596800 KB, 49864 KB/s, 11 seconds passed +... 85%, 596832 KB, 49865 KB/s, 11 seconds passed +... 85%, 596864 KB, 49867 KB/s, 11 seconds passed +... 85%, 596896 KB, 49868 KB/s, 11 seconds passed +... 85%, 596928 KB, 49870 KB/s, 11 seconds passed +... 85%, 596960 KB, 49872 KB/s, 11 seconds passed +... 85%, 596992 KB, 49873 KB/s, 11 seconds passed +... 85%, 597024 KB, 49874 KB/s, 11 seconds passed +... 85%, 597056 KB, 49876 KB/s, 11 seconds passed +... 85%, 597088 KB, 49878 KB/s, 11 seconds passed +... 85%, 597120 KB, 49879 KB/s, 11 seconds passed +... 85%, 597152 KB, 49881 KB/s, 11 seconds passed +... 85%, 597184 KB, 49882 KB/s, 11 seconds passed +... 85%, 597216 KB, 49884 KB/s, 11 seconds passed +... 85%, 597248 KB, 49885 KB/s, 11 seconds passed +... 85%, 597280 KB, 49887 KB/s, 11 seconds passed +... 85%, 597312 KB, 49888 KB/s, 11 seconds passed +... 85%, 597344 KB, 49890 KB/s, 11 seconds passed +... 85%, 597376 KB, 49891 KB/s, 11 seconds passed +... 85%, 597408 KB, 49893 KB/s, 11 seconds passed +... 85%, 597440 KB, 49894 KB/s, 11 seconds passed +... 85%, 597472 KB, 49896 KB/s, 11 seconds passed +... 85%, 597504 KB, 49897 KB/s, 11 seconds passed +... 85%, 597536 KB, 49899 KB/s, 11 seconds passed +... 85%, 597568 KB, 49900 KB/s, 11 seconds passed +... 85%, 597600 KB, 49902 KB/s, 11 seconds passed +... 85%, 597632 KB, 49903 KB/s, 11 seconds passed +... 85%, 597664 KB, 49905 KB/s, 11 seconds passed +... 85%, 597696 KB, 49906 KB/s, 11 seconds passed +... 85%, 597728 KB, 49908 KB/s, 11 seconds passed +... 85%, 597760 KB, 49909 KB/s, 11 seconds passed +... 85%, 597792 KB, 49911 KB/s, 11 seconds passed +... 85%, 597824 KB, 49912 KB/s, 11 seconds passed +... 85%, 597856 KB, 49912 KB/s, 11 seconds passed +... 85%, 597888 KB, 49914 KB/s, 11 seconds passed +... 85%, 597920 KB, 49916 KB/s, 11 seconds passed +... 85%, 597952 KB, 49917 KB/s, 11 seconds passed +... 85%, 597984 KB, 49918 KB/s, 11 seconds passed +... 85%, 598016 KB, 49920 KB/s, 11 seconds passed +... 85%, 598048 KB, 49922 KB/s, 11 seconds passed +... 85%, 598080 KB, 49923 KB/s, 11 seconds passed +... 85%, 598112 KB, 49915 KB/s, 11 seconds passed +... 86%, 598144 KB, 49917 KB/s, 11 seconds passed +... 86%, 598176 KB, 49918 KB/s, 11 seconds passed +... 86%, 598208 KB, 49920 KB/s, 11 seconds passed +... 86%, 598240 KB, 49921 KB/s, 11 seconds passed +... 86%, 598272 KB, 49923 KB/s, 11 seconds passed +... 86%, 598304 KB, 49924 KB/s, 11 seconds passed +... 86%, 598336 KB, 49926 KB/s, 11 seconds passed +... 86%, 598368 KB, 49927 KB/s, 11 seconds passed +... 86%, 598400 KB, 49929 KB/s, 11 seconds passed +... 86%, 598432 KB, 49931 KB/s, 11 seconds passed +... 86%, 598464 KB, 49932 KB/s, 11 seconds passed +... 86%, 598496 KB, 49933 KB/s, 11 seconds passed +... 86%, 598528 KB, 49935 KB/s, 11 seconds passed +... 86%, 598560 KB, 49937 KB/s, 11 seconds passed +... 86%, 598592 KB, 49938 KB/s, 11 seconds passed +... 86%, 598624 KB, 49939 KB/s, 11 seconds passed +... 86%, 598656 KB, 49941 KB/s, 11 seconds passed +... 86%, 598688 KB, 49943 KB/s, 11 seconds passed +... 86%, 598720 KB, 49944 KB/s, 11 seconds passed +... 86%, 598752 KB, 49945 KB/s, 11 seconds passed +... 86%, 598784 KB, 49947 KB/s, 11 seconds passed +... 86%, 598816 KB, 49949 KB/s, 11 seconds passed +... 86%, 598848 KB, 49950 KB/s, 11 seconds passed +... 86%, 598880 KB, 49951 KB/s, 11 seconds passed +... 86%, 598912 KB, 49953 KB/s, 11 seconds passed +... 86%, 598944 KB, 49955 KB/s, 11 seconds passed +... 86%, 598976 KB, 49956 KB/s, 11 seconds passed +... 86%, 599008 KB, 49958 KB/s, 11 seconds passed + +.. parsed-literal:: + + ... 86%, 599040 KB, 49825 KB/s, 12 seconds passed +... 86%, 599072 KB, 49825 KB/s, 12 seconds passed +... 86%, 599104 KB, 49826 KB/s, 12 seconds passed +... 86%, 599136 KB, 49828 KB/s, 12 seconds passed +... 86%, 599168 KB, 49829 KB/s, 12 seconds passed +... 86%, 599200 KB, 49831 KB/s, 12 seconds passed +... 86%, 599232 KB, 49832 KB/s, 12 seconds passed +... 86%, 599264 KB, 49833 KB/s, 12 seconds passed +... 86%, 599296 KB, 49835 KB/s, 12 seconds passed +... 86%, 599328 KB, 49836 KB/s, 12 seconds passed +... 86%, 599360 KB, 49837 KB/s, 12 seconds passed +... 86%, 599392 KB, 49839 KB/s, 12 seconds passed +... 86%, 599424 KB, 49829 KB/s, 12 seconds passed +... 86%, 599456 KB, 49830 KB/s, 12 seconds passed +... 86%, 599488 KB, 49831 KB/s, 12 seconds passed +... 86%, 599520 KB, 49832 KB/s, 12 seconds passed +... 86%, 599552 KB, 49833 KB/s, 12 seconds passed +... 86%, 599584 KB, 49835 KB/s, 12 seconds passed +... 86%, 599616 KB, 49836 KB/s, 12 seconds passed +... 86%, 599648 KB, 49837 KB/s, 12 seconds passed +... 86%, 599680 KB, 49839 KB/s, 12 seconds passed +... 86%, 599712 KB, 49840 KB/s, 12 seconds passed +... 86%, 599744 KB, 49842 KB/s, 12 seconds passed +... 86%, 599776 KB, 49843 KB/s, 12 seconds passed +... 86%, 599808 KB, 49844 KB/s, 12 seconds passed +... 86%, 599840 KB, 49846 KB/s, 12 seconds passed +... 86%, 599872 KB, 49847 KB/s, 12 seconds passed +... 86%, 599904 KB, 49849 KB/s, 12 seconds passed +... 86%, 599936 KB, 49850 KB/s, 12 seconds passed +... 86%, 599968 KB, 49852 KB/s, 12 seconds passed +... 86%, 600000 KB, 49853 KB/s, 12 seconds passed +... 86%, 600032 KB, 49854 KB/s, 12 seconds passed +... 86%, 600064 KB, 49855 KB/s, 12 seconds passed +... 86%, 600096 KB, 49857 KB/s, 12 seconds passed +... 86%, 600128 KB, 49858 KB/s, 12 seconds passed +... 86%, 600160 KB, 49860 KB/s, 12 seconds passed +... 86%, 600192 KB, 49861 KB/s, 12 seconds passed +... 86%, 600224 KB, 49863 KB/s, 12 seconds passed +... 86%, 600256 KB, 49864 KB/s, 12 seconds passed +... 86%, 600288 KB, 49866 KB/s, 12 seconds passed +... 86%, 600320 KB, 49867 KB/s, 12 seconds passed +... 86%, 600352 KB, 49869 KB/s, 12 seconds passed +... 86%, 600384 KB, 49851 KB/s, 12 seconds passed +... 86%, 600416 KB, 49852 KB/s, 12 seconds passed +... 86%, 600448 KB, 49853 KB/s, 12 seconds passed +... 86%, 600480 KB, 49855 KB/s, 12 seconds passed +... 86%, 600512 KB, 49856 KB/s, 12 seconds passed +... 86%, 600544 KB, 49858 KB/s, 12 seconds passed +... 86%, 600576 KB, 49859 KB/s, 12 seconds passed +... 86%, 600608 KB, 49861 KB/s, 12 seconds passed +... 86%, 600640 KB, 49862 KB/s, 12 seconds passed +... 86%, 600672 KB, 49864 KB/s, 12 seconds passed +... 86%, 600704 KB, 49865 KB/s, 12 seconds passed +... 86%, 600736 KB, 49867 KB/s, 12 seconds passed +... 86%, 600768 KB, 49868 KB/s, 12 seconds passed +... 86%, 600800 KB, 49869 KB/s, 12 seconds passed +... 86%, 600832 KB, 49870 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 86%, 600864 KB, 49872 KB/s, 12 seconds passed +... 86%, 600896 KB, 49873 KB/s, 12 seconds passed +... 86%, 600928 KB, 49875 KB/s, 12 seconds passed +... 86%, 600960 KB, 49876 KB/s, 12 seconds passed +... 86%, 600992 KB, 49877 KB/s, 12 seconds passed +... 86%, 601024 KB, 49878 KB/s, 12 seconds passed +... 86%, 601056 KB, 49880 KB/s, 12 seconds passed +... 86%, 601088 KB, 49881 KB/s, 12 seconds passed +... 86%, 601120 KB, 49883 KB/s, 12 seconds passed +... 86%, 601152 KB, 49884 KB/s, 12 seconds passed +... 86%, 601184 KB, 49885 KB/s, 12 seconds passed +... 86%, 601216 KB, 49887 KB/s, 12 seconds passed +... 86%, 601248 KB, 49888 KB/s, 12 seconds passed +... 86%, 601280 KB, 49889 KB/s, 12 seconds passed +... 86%, 601312 KB, 49891 KB/s, 12 seconds passed +... 86%, 601344 KB, 49892 KB/s, 12 seconds passed +... 86%, 601376 KB, 49894 KB/s, 12 seconds passed +... 86%, 601408 KB, 49895 KB/s, 12 seconds passed +... 86%, 601440 KB, 49896 KB/s, 12 seconds passed +... 86%, 601472 KB, 49898 KB/s, 12 seconds passed +... 86%, 601504 KB, 49899 KB/s, 12 seconds passed +... 86%, 601536 KB, 49901 KB/s, 12 seconds passed +... 86%, 601568 KB, 49902 KB/s, 12 seconds passed +... 86%, 601600 KB, 49903 KB/s, 12 seconds passed +... 86%, 601632 KB, 49905 KB/s, 12 seconds passed +... 86%, 601664 KB, 49906 KB/s, 12 seconds passed +... 86%, 601696 KB, 49907 KB/s, 12 seconds passed +... 86%, 601728 KB, 49909 KB/s, 12 seconds passed +... 86%, 601760 KB, 49910 KB/s, 12 seconds passed +... 86%, 601792 KB, 49912 KB/s, 12 seconds passed +... 86%, 601824 KB, 49914 KB/s, 12 seconds passed +... 86%, 601856 KB, 49916 KB/s, 12 seconds passed +... 86%, 601888 KB, 49918 KB/s, 12 seconds passed +... 86%, 601920 KB, 49919 KB/s, 12 seconds passed +... 86%, 601952 KB, 49921 KB/s, 12 seconds passed +... 86%, 601984 KB, 49923 KB/s, 12 seconds passed +... 86%, 602016 KB, 49925 KB/s, 12 seconds passed +... 86%, 602048 KB, 49926 KB/s, 12 seconds passed +... 86%, 602080 KB, 49928 KB/s, 12 seconds passed +... 86%, 602112 KB, 49930 KB/s, 12 seconds passed +... 86%, 602144 KB, 49932 KB/s, 12 seconds passed +... 86%, 602176 KB, 49933 KB/s, 12 seconds passed +... 86%, 602208 KB, 49935 KB/s, 12 seconds passed +... 86%, 602240 KB, 49937 KB/s, 12 seconds passed +... 86%, 602272 KB, 49939 KB/s, 12 seconds passed +... 86%, 602304 KB, 49941 KB/s, 12 seconds passed +... 86%, 602336 KB, 49943 KB/s, 12 seconds passed +... 86%, 602368 KB, 49944 KB/s, 12 seconds passed +... 86%, 602400 KB, 49946 KB/s, 12 seconds passed +... 86%, 602432 KB, 49948 KB/s, 12 seconds passed +... 86%, 602464 KB, 49949 KB/s, 12 seconds passed +... 86%, 602496 KB, 49951 KB/s, 12 seconds passed +... 86%, 602528 KB, 49952 KB/s, 12 seconds passed +... 86%, 602560 KB, 49953 KB/s, 12 seconds passed +... 86%, 602592 KB, 49955 KB/s, 12 seconds passed +... 86%, 602624 KB, 49956 KB/s, 12 seconds passed +... 86%, 602656 KB, 49958 KB/s, 12 seconds passed +... 86%, 602688 KB, 49960 KB/s, 12 seconds passed +... 86%, 602720 KB, 49961 KB/s, 12 seconds passed +... 86%, 602752 KB, 49963 KB/s, 12 seconds passed +... 86%, 602784 KB, 49964 KB/s, 12 seconds passed +... 86%, 602816 KB, 49965 KB/s, 12 seconds passed +... 86%, 602848 KB, 49967 KB/s, 12 seconds passed +... 86%, 602880 KB, 49968 KB/s, 12 seconds passed +... 86%, 602912 KB, 49970 KB/s, 12 seconds passed +... 86%, 602944 KB, 49971 KB/s, 12 seconds passed +... 86%, 602976 KB, 49973 KB/s, 12 seconds passed +... 86%, 603008 KB, 49974 KB/s, 12 seconds passed +... 86%, 603040 KB, 49976 KB/s, 12 seconds passed +... 86%, 603072 KB, 49977 KB/s, 12 seconds passed +... 86%, 603104 KB, 49979 KB/s, 12 seconds passed +... 86%, 603136 KB, 49980 KB/s, 12 seconds passed +... 86%, 603168 KB, 49982 KB/s, 12 seconds passed +... 86%, 603200 KB, 49983 KB/s, 12 seconds passed +... 86%, 603232 KB, 49985 KB/s, 12 seconds passed +... 86%, 603264 KB, 49986 KB/s, 12 seconds passed +... 86%, 603296 KB, 49988 KB/s, 12 seconds passed +... 86%, 603328 KB, 49989 KB/s, 12 seconds passed +... 86%, 603360 KB, 49991 KB/s, 12 seconds passed +... 86%, 603392 KB, 49993 KB/s, 12 seconds passed +... 86%, 603424 KB, 49994 KB/s, 12 seconds passed +... 86%, 603456 KB, 49996 KB/s, 12 seconds passed +... 86%, 603488 KB, 49997 KB/s, 12 seconds passed +... 86%, 603520 KB, 49999 KB/s, 12 seconds passed +... 86%, 603552 KB, 50000 KB/s, 12 seconds passed +... 86%, 603584 KB, 50001 KB/s, 12 seconds passed +... 86%, 603616 KB, 50003 KB/s, 12 seconds passed +... 86%, 603648 KB, 50004 KB/s, 12 seconds passed +... 86%, 603680 KB, 50006 KB/s, 12 seconds passed +... 86%, 603712 KB, 50007 KB/s, 12 seconds passed +... 86%, 603744 KB, 50009 KB/s, 12 seconds passed +... 86%, 603776 KB, 50010 KB/s, 12 seconds passed +... 86%, 603808 KB, 50012 KB/s, 12 seconds passed +... 86%, 603840 KB, 50013 KB/s, 12 seconds passed +... 86%, 603872 KB, 50015 KB/s, 12 seconds passed +... 86%, 603904 KB, 50016 KB/s, 12 seconds passed +... 86%, 603936 KB, 50018 KB/s, 12 seconds passed +... 86%, 603968 KB, 50019 KB/s, 12 seconds passed +... 86%, 604000 KB, 50021 KB/s, 12 seconds passed +... 86%, 604032 KB, 50022 KB/s, 12 seconds passed +... 86%, 604064 KB, 50024 KB/s, 12 seconds passed +... 86%, 604096 KB, 50025 KB/s, 12 seconds passed +... 86%, 604128 KB, 50027 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 86%, 604160 KB, 49798 KB/s, 12 seconds passed +... 86%, 604192 KB, 49799 KB/s, 12 seconds passed +... 86%, 604224 KB, 49799 KB/s, 12 seconds passed +... 86%, 604256 KB, 49801 KB/s, 12 seconds passed +... 86%, 604288 KB, 49797 KB/s, 12 seconds passed +... 86%, 604320 KB, 49798 KB/s, 12 seconds passed +... 86%, 604352 KB, 49800 KB/s, 12 seconds passed +... 86%, 604384 KB, 49799 KB/s, 12 seconds passed +... 86%, 604416 KB, 49801 KB/s, 12 seconds passed +... 86%, 604448 KB, 49802 KB/s, 12 seconds passed +... 86%, 604480 KB, 49803 KB/s, 12 seconds passed +... 86%, 604512 KB, 49805 KB/s, 12 seconds passed +... 86%, 604544 KB, 49804 KB/s, 12 seconds passed +... 86%, 604576 KB, 49805 KB/s, 12 seconds passed +... 86%, 604608 KB, 49806 KB/s, 12 seconds passed +... 86%, 604640 KB, 49808 KB/s, 12 seconds passed +... 86%, 604672 KB, 49809 KB/s, 12 seconds passed +... 86%, 604704 KB, 49810 KB/s, 12 seconds passed +... 86%, 604736 KB, 49812 KB/s, 12 seconds passed +... 86%, 604768 KB, 49813 KB/s, 12 seconds passed +... 86%, 604800 KB, 49814 KB/s, 12 seconds passed +... 86%, 604832 KB, 49816 KB/s, 12 seconds passed +... 86%, 604864 KB, 49817 KB/s, 12 seconds passed +... 86%, 604896 KB, 49819 KB/s, 12 seconds passed +... 86%, 604928 KB, 49820 KB/s, 12 seconds passed +... 86%, 604960 KB, 49821 KB/s, 12 seconds passed +... 86%, 604992 KB, 49823 KB/s, 12 seconds passed +... 86%, 605024 KB, 49824 KB/s, 12 seconds passed +... 86%, 605056 KB, 49821 KB/s, 12 seconds passed +... 86%, 605088 KB, 49823 KB/s, 12 seconds passed +... 87%, 605120 KB, 49824 KB/s, 12 seconds passed +... 87%, 605152 KB, 49826 KB/s, 12 seconds passed +... 87%, 605184 KB, 49827 KB/s, 12 seconds passed +... 87%, 605216 KB, 49828 KB/s, 12 seconds passed +... 87%, 605248 KB, 49820 KB/s, 12 seconds passed +... 87%, 605280 KB, 49821 KB/s, 12 seconds passed +... 87%, 605312 KB, 49823 KB/s, 12 seconds passed +... 87%, 605344 KB, 49824 KB/s, 12 seconds passed +... 87%, 605376 KB, 49824 KB/s, 12 seconds passed +... 87%, 605408 KB, 49826 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 87%, 605440 KB, 49827 KB/s, 12 seconds passed +... 87%, 605472 KB, 49829 KB/s, 12 seconds passed +... 87%, 605504 KB, 49830 KB/s, 12 seconds passed +... 87%, 605536 KB, 49832 KB/s, 12 seconds passed +... 87%, 605568 KB, 49833 KB/s, 12 seconds passed +... 87%, 605600 KB, 49834 KB/s, 12 seconds passed +... 87%, 605632 KB, 49836 KB/s, 12 seconds passed +... 87%, 605664 KB, 49837 KB/s, 12 seconds passed +... 87%, 605696 KB, 49839 KB/s, 12 seconds passed +... 87%, 605728 KB, 49840 KB/s, 12 seconds passed +... 87%, 605760 KB, 49842 KB/s, 12 seconds passed +... 87%, 605792 KB, 49843 KB/s, 12 seconds passed +... 87%, 605824 KB, 49844 KB/s, 12 seconds passed +... 87%, 605856 KB, 49846 KB/s, 12 seconds passed +... 87%, 605888 KB, 49847 KB/s, 12 seconds passed +... 87%, 605920 KB, 49849 KB/s, 12 seconds passed +... 87%, 605952 KB, 49850 KB/s, 12 seconds passed +... 87%, 605984 KB, 49852 KB/s, 12 seconds passed +... 87%, 606016 KB, 49853 KB/s, 12 seconds passed +... 87%, 606048 KB, 49854 KB/s, 12 seconds passed +... 87%, 606080 KB, 49856 KB/s, 12 seconds passed +... 87%, 606112 KB, 49857 KB/s, 12 seconds passed +... 87%, 606144 KB, 49859 KB/s, 12 seconds passed +... 87%, 606176 KB, 49860 KB/s, 12 seconds passed +... 87%, 606208 KB, 49862 KB/s, 12 seconds passed +... 87%, 606240 KB, 49863 KB/s, 12 seconds passed +... 87%, 606272 KB, 49865 KB/s, 12 seconds passed +... 87%, 606304 KB, 49866 KB/s, 12 seconds passed +... 87%, 606336 KB, 49864 KB/s, 12 seconds passed +... 87%, 606368 KB, 49865 KB/s, 12 seconds passed +... 87%, 606400 KB, 49867 KB/s, 12 seconds passed +... 87%, 606432 KB, 49868 KB/s, 12 seconds passed +... 87%, 606464 KB, 49867 KB/s, 12 seconds passed +... 87%, 606496 KB, 49869 KB/s, 12 seconds passed +... 87%, 606528 KB, 49870 KB/s, 12 seconds passed +... 87%, 606560 KB, 49872 KB/s, 12 seconds passed +... 87%, 606592 KB, 49874 KB/s, 12 seconds passed +... 87%, 606624 KB, 49875 KB/s, 12 seconds passed +... 87%, 606656 KB, 49876 KB/s, 12 seconds passed +... 87%, 606688 KB, 49878 KB/s, 12 seconds passed +... 87%, 606720 KB, 49879 KB/s, 12 seconds passed +... 87%, 606752 KB, 49881 KB/s, 12 seconds passed +... 87%, 606784 KB, 49882 KB/s, 12 seconds passed +... 87%, 606816 KB, 49884 KB/s, 12 seconds passed +... 87%, 606848 KB, 49885 KB/s, 12 seconds passed +... 87%, 606880 KB, 49886 KB/s, 12 seconds passed +... 87%, 606912 KB, 49888 KB/s, 12 seconds passed +... 87%, 606944 KB, 49889 KB/s, 12 seconds passed +... 87%, 606976 KB, 49891 KB/s, 12 seconds passed +... 87%, 607008 KB, 49892 KB/s, 12 seconds passed +... 87%, 607040 KB, 49894 KB/s, 12 seconds passed +... 87%, 607072 KB, 49895 KB/s, 12 seconds passed +... 87%, 607104 KB, 49896 KB/s, 12 seconds passed +... 87%, 607136 KB, 49898 KB/s, 12 seconds passed +... 87%, 607168 KB, 49900 KB/s, 12 seconds passed +... 87%, 607200 KB, 49901 KB/s, 12 seconds passed +... 87%, 607232 KB, 49902 KB/s, 12 seconds passed +... 87%, 607264 KB, 49904 KB/s, 12 seconds passed +... 87%, 607296 KB, 49905 KB/s, 12 seconds passed +... 87%, 607328 KB, 49907 KB/s, 12 seconds passed +... 87%, 607360 KB, 49908 KB/s, 12 seconds passed +... 87%, 607392 KB, 49910 KB/s, 12 seconds passed +... 87%, 607424 KB, 49912 KB/s, 12 seconds passed +... 87%, 607456 KB, 49913 KB/s, 12 seconds passed +... 87%, 607488 KB, 49914 KB/s, 12 seconds passed +... 87%, 607520 KB, 49916 KB/s, 12 seconds passed +... 87%, 607552 KB, 49917 KB/s, 12 seconds passed +... 87%, 607584 KB, 49919 KB/s, 12 seconds passed +... 87%, 607616 KB, 49920 KB/s, 12 seconds passed +... 87%, 607648 KB, 49922 KB/s, 12 seconds passed +... 87%, 607680 KB, 49923 KB/s, 12 seconds passed +... 87%, 607712 KB, 49924 KB/s, 12 seconds passed +... 87%, 607744 KB, 49926 KB/s, 12 seconds passed +... 87%, 607776 KB, 49927 KB/s, 12 seconds passed +... 87%, 607808 KB, 49928 KB/s, 12 seconds passed +... 87%, 607840 KB, 49930 KB/s, 12 seconds passed +... 87%, 607872 KB, 49931 KB/s, 12 seconds passed +... 87%, 607904 KB, 49933 KB/s, 12 seconds passed +... 87%, 607936 KB, 49935 KB/s, 12 seconds passed +... 87%, 607968 KB, 49937 KB/s, 12 seconds passed +... 87%, 608000 KB, 49938 KB/s, 12 seconds passed +... 87%, 608032 KB, 49940 KB/s, 12 seconds passed +... 87%, 608064 KB, 49941 KB/s, 12 seconds passed +... 87%, 608096 KB, 49943 KB/s, 12 seconds passed +... 87%, 608128 KB, 49944 KB/s, 12 seconds passed +... 87%, 608160 KB, 49945 KB/s, 12 seconds passed +... 87%, 608192 KB, 49947 KB/s, 12 seconds passed +... 87%, 608224 KB, 49948 KB/s, 12 seconds passed +... 87%, 608256 KB, 49950 KB/s, 12 seconds passed +... 87%, 608288 KB, 49951 KB/s, 12 seconds passed +... 87%, 608320 KB, 49953 KB/s, 12 seconds passed +... 87%, 608352 KB, 49954 KB/s, 12 seconds passed +... 87%, 608384 KB, 49956 KB/s, 12 seconds passed +... 87%, 608416 KB, 49958 KB/s, 12 seconds passed +... 87%, 608448 KB, 49953 KB/s, 12 seconds passed +... 87%, 608480 KB, 49954 KB/s, 12 seconds passed +... 87%, 608512 KB, 49956 KB/s, 12 seconds passed +... 87%, 608544 KB, 49957 KB/s, 12 seconds passed +... 87%, 608576 KB, 49959 KB/s, 12 seconds passed +... 87%, 608608 KB, 49960 KB/s, 12 seconds passed +... 87%, 608640 KB, 49962 KB/s, 12 seconds passed +... 87%, 608672 KB, 49963 KB/s, 12 seconds passed +... 87%, 608704 KB, 49965 KB/s, 12 seconds passed +... 87%, 608736 KB, 49966 KB/s, 12 seconds passed +... 87%, 608768 KB, 49967 KB/s, 12 seconds passed +... 87%, 608800 KB, 49969 KB/s, 12 seconds passed +... 87%, 608832 KB, 49970 KB/s, 12 seconds passed +... 87%, 608864 KB, 49972 KB/s, 12 seconds passed +... 87%, 608896 KB, 49974 KB/s, 12 seconds passed +... 87%, 608928 KB, 49975 KB/s, 12 seconds passed +... 87%, 608960 KB, 49977 KB/s, 12 seconds passed +... 87%, 608992 KB, 49978 KB/s, 12 seconds passed +... 87%, 609024 KB, 49980 KB/s, 12 seconds passed +... 87%, 609056 KB, 49981 KB/s, 12 seconds passed +... 87%, 609088 KB, 49982 KB/s, 12 seconds passed +... 87%, 609120 KB, 49984 KB/s, 12 seconds passed +... 87%, 609152 KB, 49986 KB/s, 12 seconds passed +... 87%, 609184 KB, 49987 KB/s, 12 seconds passed +... 87%, 609216 KB, 49988 KB/s, 12 seconds passed +... 87%, 609248 KB, 49989 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 87%, 609280 KB, 49721 KB/s, 12 seconds passed +... 87%, 609312 KB, 49721 KB/s, 12 seconds passed +... 87%, 609344 KB, 49722 KB/s, 12 seconds passed +... 87%, 609376 KB, 49723 KB/s, 12 seconds passed +... 87%, 609408 KB, 49725 KB/s, 12 seconds passed +... 87%, 609440 KB, 49721 KB/s, 12 seconds passed +... 87%, 609472 KB, 49721 KB/s, 12 seconds passed +... 87%, 609504 KB, 49723 KB/s, 12 seconds passed +... 87%, 609536 KB, 49724 KB/s, 12 seconds passed +... 87%, 609568 KB, 49725 KB/s, 12 seconds passed +... 87%, 609600 KB, 49727 KB/s, 12 seconds passed +... 87%, 609632 KB, 49728 KB/s, 12 seconds passed +... 87%, 609664 KB, 49729 KB/s, 12 seconds passed +... 87%, 609696 KB, 49731 KB/s, 12 seconds passed +... 87%, 609728 KB, 49732 KB/s, 12 seconds passed +... 87%, 609760 KB, 49733 KB/s, 12 seconds passed +... 87%, 609792 KB, 49735 KB/s, 12 seconds passed +... 87%, 609824 KB, 49736 KB/s, 12 seconds passed +... 87%, 609856 KB, 49737 KB/s, 12 seconds passed +... 87%, 609888 KB, 49739 KB/s, 12 seconds passed +... 87%, 609920 KB, 49740 KB/s, 12 seconds passed +... 87%, 609952 KB, 49742 KB/s, 12 seconds passed +... 87%, 609984 KB, 49743 KB/s, 12 seconds passed +... 87%, 610016 KB, 49744 KB/s, 12 seconds passed +... 87%, 610048 KB, 49746 KB/s, 12 seconds passed +... 87%, 610080 KB, 49747 KB/s, 12 seconds passed +... 87%, 610112 KB, 49748 KB/s, 12 seconds passed +... 87%, 610144 KB, 49750 KB/s, 12 seconds passed +... 87%, 610176 KB, 49751 KB/s, 12 seconds passed +... 87%, 610208 KB, 49753 KB/s, 12 seconds passed +... 87%, 610240 KB, 49754 KB/s, 12 seconds passed +... 87%, 610272 KB, 49755 KB/s, 12 seconds passed +... 87%, 610304 KB, 49757 KB/s, 12 seconds passed +... 87%, 610336 KB, 49758 KB/s, 12 seconds passed +... 87%, 610368 KB, 49759 KB/s, 12 seconds passed +... 87%, 610400 KB, 49761 KB/s, 12 seconds passed +... 87%, 610432 KB, 49762 KB/s, 12 seconds passed +... 87%, 610464 KB, 49763 KB/s, 12 seconds passed +... 87%, 610496 KB, 49765 KB/s, 12 seconds passed +... 87%, 610528 KB, 49766 KB/s, 12 seconds passed +... 87%, 610560 KB, 49767 KB/s, 12 seconds passed +... 87%, 610592 KB, 49769 KB/s, 12 seconds passed +... 87%, 610624 KB, 49770 KB/s, 12 seconds passed +... 87%, 610656 KB, 49772 KB/s, 12 seconds passed +... 87%, 610688 KB, 49774 KB/s, 12 seconds passed +... 87%, 610720 KB, 49776 KB/s, 12 seconds passed +... 87%, 610752 KB, 49777 KB/s, 12 seconds passed +... 87%, 610784 KB, 49779 KB/s, 12 seconds passed +... 87%, 610816 KB, 49781 KB/s, 12 seconds passed +... 87%, 610848 KB, 49783 KB/s, 12 seconds passed +... 87%, 610880 KB, 49784 KB/s, 12 seconds passed +... 87%, 610912 KB, 49786 KB/s, 12 seconds passed +... 87%, 610944 KB, 49788 KB/s, 12 seconds passed +... 87%, 610976 KB, 49790 KB/s, 12 seconds passed +... 87%, 611008 KB, 49791 KB/s, 12 seconds passed +... 87%, 611040 KB, 49793 KB/s, 12 seconds passed +... 87%, 611072 KB, 49795 KB/s, 12 seconds passed +... 87%, 611104 KB, 49796 KB/s, 12 seconds passed +... 87%, 611136 KB, 49798 KB/s, 12 seconds passed +... 87%, 611168 KB, 49799 KB/s, 12 seconds passed +... 87%, 611200 KB, 49801 KB/s, 12 seconds passed +... 87%, 611232 KB, 49802 KB/s, 12 seconds passed +... 87%, 611264 KB, 49804 KB/s, 12 seconds passed +... 87%, 611296 KB, 49805 KB/s, 12 seconds passed +... 87%, 611328 KB, 49807 KB/s, 12 seconds passed +... 87%, 611360 KB, 49808 KB/s, 12 seconds passed +... 87%, 611392 KB, 49809 KB/s, 12 seconds passed +... 87%, 611424 KB, 49811 KB/s, 12 seconds passed +... 87%, 611456 KB, 49812 KB/s, 12 seconds passed +... 87%, 611488 KB, 49814 KB/s, 12 seconds passed +... 87%, 611520 KB, 49816 KB/s, 12 seconds passed +... 87%, 611552 KB, 49817 KB/s, 12 seconds passed +... 87%, 611584 KB, 49818 KB/s, 12 seconds passed +... 87%, 611616 KB, 49820 KB/s, 12 seconds passed +... 87%, 611648 KB, 49821 KB/s, 12 seconds passed +... 87%, 611680 KB, 49823 KB/s, 12 seconds passed +... 87%, 611712 KB, 49824 KB/s, 12 seconds passed +... 87%, 611744 KB, 49826 KB/s, 12 seconds passed +... 87%, 611776 KB, 49827 KB/s, 12 seconds passed +... 87%, 611808 KB, 49829 KB/s, 12 seconds passed +... 87%, 611840 KB, 49830 KB/s, 12 seconds passed +... 87%, 611872 KB, 49832 KB/s, 12 seconds passed +... 87%, 611904 KB, 49833 KB/s, 12 seconds passed +... 87%, 611936 KB, 49835 KB/s, 12 seconds passed +... 87%, 611968 KB, 49836 KB/s, 12 seconds passed +... 87%, 612000 KB, 49838 KB/s, 12 seconds passed +... 87%, 612032 KB, 49839 KB/s, 12 seconds passed +... 88%, 612064 KB, 49841 KB/s, 12 seconds passed +... 88%, 612096 KB, 49842 KB/s, 12 seconds passed +... 88%, 612128 KB, 49843 KB/s, 12 seconds passed +... 88%, 612160 KB, 49845 KB/s, 12 seconds passed +... 88%, 612192 KB, 49846 KB/s, 12 seconds passed +... 88%, 612224 KB, 49848 KB/s, 12 seconds passed +... 88%, 612256 KB, 49849 KB/s, 12 seconds passed +... 88%, 612288 KB, 49851 KB/s, 12 seconds passed +... 88%, 612320 KB, 49852 KB/s, 12 seconds passed +... 88%, 612352 KB, 49854 KB/s, 12 seconds passed +... 88%, 612384 KB, 49855 KB/s, 12 seconds passed +... 88%, 612416 KB, 49857 KB/s, 12 seconds passed +... 88%, 612448 KB, 49858 KB/s, 12 seconds passed +... 88%, 612480 KB, 49860 KB/s, 12 seconds passed +... 88%, 612512 KB, 49861 KB/s, 12 seconds passed +... 88%, 612544 KB, 49863 KB/s, 12 seconds passed +... 88%, 612576 KB, 49864 KB/s, 12 seconds passed +... 88%, 612608 KB, 49865 KB/s, 12 seconds passed +... 88%, 612640 KB, 49867 KB/s, 12 seconds passed +... 88%, 612672 KB, 49868 KB/s, 12 seconds passed +... 88%, 612704 KB, 49869 KB/s, 12 seconds passed +... 88%, 612736 KB, 49871 KB/s, 12 seconds passed +... 88%, 612768 KB, 49872 KB/s, 12 seconds passed +... 88%, 612800 KB, 49874 KB/s, 12 seconds passed +... 88%, 612832 KB, 49876 KB/s, 12 seconds passed +... 88%, 612864 KB, 49877 KB/s, 12 seconds passed +... 88%, 612896 KB, 49879 KB/s, 12 seconds passed +... 88%, 612928 KB, 49880 KB/s, 12 seconds passed +... 88%, 612960 KB, 49882 KB/s, 12 seconds passed +... 88%, 612992 KB, 49883 KB/s, 12 seconds passed +... 88%, 613024 KB, 49885 KB/s, 12 seconds passed +... 88%, 613056 KB, 49886 KB/s, 12 seconds passed +... 88%, 613088 KB, 49888 KB/s, 12 seconds passed +... 88%, 613120 KB, 49889 KB/s, 12 seconds passed +... 88%, 613152 KB, 49891 KB/s, 12 seconds passed +... 88%, 613184 KB, 49892 KB/s, 12 seconds passed +... 88%, 613216 KB, 49893 KB/s, 12 seconds passed +... 88%, 613248 KB, 49895 KB/s, 12 seconds passed +... 88%, 613280 KB, 49896 KB/s, 12 seconds passed +... 88%, 613312 KB, 49885 KB/s, 12 seconds passed +... 88%, 613344 KB, 49886 KB/s, 12 seconds passed +... 88%, 613376 KB, 49887 KB/s, 12 seconds passed +... 88%, 613408 KB, 49889 KB/s, 12 seconds passed +... 88%, 613440 KB, 49890 KB/s, 12 seconds passed +... 88%, 613472 KB, 49892 KB/s, 12 seconds passed +... 88%, 613504 KB, 49894 KB/s, 12 seconds passed +... 88%, 613536 KB, 49895 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 88%, 613568 KB, 49754 KB/s, 12 seconds passed +... 88%, 613600 KB, 49739 KB/s, 12 seconds passed +... 88%, 613632 KB, 49739 KB/s, 12 seconds passed +... 88%, 613664 KB, 49740 KB/s, 12 seconds passed +... 88%, 613696 KB, 49742 KB/s, 12 seconds passed +... 88%, 613728 KB, 49743 KB/s, 12 seconds passed +... 88%, 613760 KB, 49744 KB/s, 12 seconds passed +... 88%, 613792 KB, 49746 KB/s, 12 seconds passed +... 88%, 613824 KB, 49747 KB/s, 12 seconds passed +... 88%, 613856 KB, 49748 KB/s, 12 seconds passed +... 88%, 613888 KB, 49750 KB/s, 12 seconds passed +... 88%, 613920 KB, 49751 KB/s, 12 seconds passed +... 88%, 613952 KB, 49752 KB/s, 12 seconds passed +... 88%, 613984 KB, 49754 KB/s, 12 seconds passed +... 88%, 614016 KB, 49755 KB/s, 12 seconds passed +... 88%, 614048 KB, 49756 KB/s, 12 seconds passed +... 88%, 614080 KB, 49758 KB/s, 12 seconds passed +... 88%, 614112 KB, 49759 KB/s, 12 seconds passed +... 88%, 614144 KB, 49760 KB/s, 12 seconds passed +... 88%, 614176 KB, 49762 KB/s, 12 seconds passed +... 88%, 614208 KB, 49763 KB/s, 12 seconds passed +... 88%, 614240 KB, 49764 KB/s, 12 seconds passed +... 88%, 614272 KB, 49766 KB/s, 12 seconds passed +... 88%, 614304 KB, 49767 KB/s, 12 seconds passed +... 88%, 614336 KB, 49769 KB/s, 12 seconds passed +... 88%, 614368 KB, 49770 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 88%, 614400 KB, 49590 KB/s, 12 seconds passed +... 88%, 614432 KB, 49589 KB/s, 12 seconds passed +... 88%, 614464 KB, 49590 KB/s, 12 seconds passed +... 88%, 614496 KB, 49592 KB/s, 12 seconds passed +... 88%, 614528 KB, 49568 KB/s, 12 seconds passed +... 88%, 614560 KB, 49569 KB/s, 12 seconds passed +... 88%, 614592 KB, 49557 KB/s, 12 seconds passed +... 88%, 614624 KB, 49558 KB/s, 12 seconds passed +... 88%, 614656 KB, 49559 KB/s, 12 seconds passed +... 88%, 614688 KB, 49560 KB/s, 12 seconds passed +... 88%, 614720 KB, 49562 KB/s, 12 seconds passed +... 88%, 614752 KB, 49563 KB/s, 12 seconds passed +... 88%, 614784 KB, 49564 KB/s, 12 seconds passed +... 88%, 614816 KB, 49566 KB/s, 12 seconds passed +... 88%, 614848 KB, 49567 KB/s, 12 seconds passed +... 88%, 614880 KB, 49568 KB/s, 12 seconds passed +... 88%, 614912 KB, 49570 KB/s, 12 seconds passed +... 88%, 614944 KB, 49571 KB/s, 12 seconds passed +... 88%, 614976 KB, 49572 KB/s, 12 seconds passed +... 88%, 615008 KB, 49574 KB/s, 12 seconds passed +... 88%, 615040 KB, 49575 KB/s, 12 seconds passed +... 88%, 615072 KB, 49577 KB/s, 12 seconds passed +... 88%, 615104 KB, 49578 KB/s, 12 seconds passed +... 88%, 615136 KB, 49579 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 88%, 615168 KB, 49580 KB/s, 12 seconds passed +... 88%, 615200 KB, 49582 KB/s, 12 seconds passed +... 88%, 615232 KB, 49583 KB/s, 12 seconds passed +... 88%, 615264 KB, 49584 KB/s, 12 seconds passed +... 88%, 615296 KB, 49585 KB/s, 12 seconds passed +... 88%, 615328 KB, 49587 KB/s, 12 seconds passed +... 88%, 615360 KB, 49588 KB/s, 12 seconds passed +... 88%, 615392 KB, 49590 KB/s, 12 seconds passed +... 88%, 615424 KB, 49591 KB/s, 12 seconds passed +... 88%, 615456 KB, 49592 KB/s, 12 seconds passed +... 88%, 615488 KB, 49594 KB/s, 12 seconds passed +... 88%, 615520 KB, 49595 KB/s, 12 seconds passed +... 88%, 615552 KB, 49597 KB/s, 12 seconds passed +... 88%, 615584 KB, 49598 KB/s, 12 seconds passed +... 88%, 615616 KB, 49600 KB/s, 12 seconds passed +... 88%, 615648 KB, 49601 KB/s, 12 seconds passed +... 88%, 615680 KB, 49603 KB/s, 12 seconds passed +... 88%, 615712 KB, 49604 KB/s, 12 seconds passed +... 88%, 615744 KB, 49606 KB/s, 12 seconds passed +... 88%, 615776 KB, 49607 KB/s, 12 seconds passed +... 88%, 615808 KB, 49609 KB/s, 12 seconds passed +... 88%, 615840 KB, 49610 KB/s, 12 seconds passed +... 88%, 615872 KB, 49612 KB/s, 12 seconds passed +... 88%, 615904 KB, 49613 KB/s, 12 seconds passed +... 88%, 615936 KB, 49615 KB/s, 12 seconds passed +... 88%, 615968 KB, 49616 KB/s, 12 seconds passed +... 88%, 616000 KB, 49618 KB/s, 12 seconds passed +... 88%, 616032 KB, 49620 KB/s, 12 seconds passed +... 88%, 616064 KB, 49621 KB/s, 12 seconds passed +... 88%, 616096 KB, 49622 KB/s, 12 seconds passed +... 88%, 616128 KB, 49624 KB/s, 12 seconds passed +... 88%, 616160 KB, 49625 KB/s, 12 seconds passed +... 88%, 616192 KB, 49627 KB/s, 12 seconds passed +... 88%, 616224 KB, 49628 KB/s, 12 seconds passed +... 88%, 616256 KB, 49630 KB/s, 12 seconds passed +... 88%, 616288 KB, 49631 KB/s, 12 seconds passed +... 88%, 616320 KB, 49633 KB/s, 12 seconds passed +... 88%, 616352 KB, 49634 KB/s, 12 seconds passed +... 88%, 616384 KB, 49636 KB/s, 12 seconds passed +... 88%, 616416 KB, 49637 KB/s, 12 seconds passed +... 88%, 616448 KB, 49639 KB/s, 12 seconds passed +... 88%, 616480 KB, 49640 KB/s, 12 seconds passed +... 88%, 616512 KB, 49642 KB/s, 12 seconds passed +... 88%, 616544 KB, 49643 KB/s, 12 seconds passed +... 88%, 616576 KB, 49645 KB/s, 12 seconds passed +... 88%, 616608 KB, 49646 KB/s, 12 seconds passed +... 88%, 616640 KB, 49648 KB/s, 12 seconds passed +... 88%, 616672 KB, 49650 KB/s, 12 seconds passed +... 88%, 616704 KB, 49652 KB/s, 12 seconds passed +... 88%, 616736 KB, 49654 KB/s, 12 seconds passed +... 88%, 616768 KB, 49656 KB/s, 12 seconds passed +... 88%, 616800 KB, 49657 KB/s, 12 seconds passed +... 88%, 616832 KB, 49659 KB/s, 12 seconds passed +... 88%, 616864 KB, 49661 KB/s, 12 seconds passed +... 88%, 616896 KB, 49662 KB/s, 12 seconds passed +... 88%, 616928 KB, 49664 KB/s, 12 seconds passed +... 88%, 616960 KB, 49665 KB/s, 12 seconds passed +... 88%, 616992 KB, 49667 KB/s, 12 seconds passed +... 88%, 617024 KB, 49668 KB/s, 12 seconds passed +... 88%, 617056 KB, 49670 KB/s, 12 seconds passed +... 88%, 617088 KB, 49671 KB/s, 12 seconds passed +... 88%, 617120 KB, 49672 KB/s, 12 seconds passed +... 88%, 617152 KB, 49674 KB/s, 12 seconds passed +... 88%, 617184 KB, 49676 KB/s, 12 seconds passed +... 88%, 617216 KB, 49677 KB/s, 12 seconds passed +... 88%, 617248 KB, 49679 KB/s, 12 seconds passed +... 88%, 617280 KB, 49680 KB/s, 12 seconds passed +... 88%, 617312 KB, 49681 KB/s, 12 seconds passed +... 88%, 617344 KB, 49683 KB/s, 12 seconds passed +... 88%, 617376 KB, 49684 KB/s, 12 seconds passed +... 88%, 617408 KB, 49686 KB/s, 12 seconds passed +... 88%, 617440 KB, 49688 KB/s, 12 seconds passed +... 88%, 617472 KB, 49689 KB/s, 12 seconds passed +... 88%, 617504 KB, 49690 KB/s, 12 seconds passed +... 88%, 617536 KB, 49691 KB/s, 12 seconds passed +... 88%, 617568 KB, 49693 KB/s, 12 seconds passed +... 88%, 617600 KB, 49695 KB/s, 12 seconds passed +... 88%, 617632 KB, 49696 KB/s, 12 seconds passed +... 88%, 617664 KB, 49697 KB/s, 12 seconds passed +... 88%, 617696 KB, 49699 KB/s, 12 seconds passed +... 88%, 617728 KB, 49700 KB/s, 12 seconds passed +... 88%, 617760 KB, 49702 KB/s, 12 seconds passed +... 88%, 617792 KB, 49703 KB/s, 12 seconds passed +... 88%, 617824 KB, 49704 KB/s, 12 seconds passed +... 88%, 617856 KB, 49706 KB/s, 12 seconds passed +... 88%, 617888 KB, 49707 KB/s, 12 seconds passed +... 88%, 617920 KB, 49709 KB/s, 12 seconds passed +... 88%, 617952 KB, 49710 KB/s, 12 seconds passed +... 88%, 617984 KB, 49712 KB/s, 12 seconds passed +... 88%, 618016 KB, 49714 KB/s, 12 seconds passed +... 88%, 618048 KB, 49715 KB/s, 12 seconds passed +... 88%, 618080 KB, 49717 KB/s, 12 seconds passed +... 88%, 618112 KB, 49718 KB/s, 12 seconds passed +... 88%, 618144 KB, 49720 KB/s, 12 seconds passed +... 88%, 618176 KB, 49721 KB/s, 12 seconds passed +... 88%, 618208 KB, 49722 KB/s, 12 seconds passed +... 88%, 618240 KB, 49723 KB/s, 12 seconds passed +... 88%, 618272 KB, 49725 KB/s, 12 seconds passed +... 88%, 618304 KB, 49724 KB/s, 12 seconds passed +... 88%, 618336 KB, 49722 KB/s, 12 seconds passed +... 88%, 618368 KB, 49723 KB/s, 12 seconds passed +... 88%, 618400 KB, 49724 KB/s, 12 seconds passed +... 88%, 618432 KB, 49726 KB/s, 12 seconds passed +... 88%, 618464 KB, 49728 KB/s, 12 seconds passed +... 88%, 618496 KB, 49723 KB/s, 12 seconds passed +... 88%, 618528 KB, 49724 KB/s, 12 seconds passed +... 88%, 618560 KB, 49725 KB/s, 12 seconds passed +... 88%, 618592 KB, 49727 KB/s, 12 seconds passed +... 88%, 618624 KB, 49728 KB/s, 12 seconds passed +... 88%, 618656 KB, 49730 KB/s, 12 seconds passed +... 88%, 618688 KB, 49731 KB/s, 12 seconds passed +... 88%, 618720 KB, 49733 KB/s, 12 seconds passed +... 88%, 618752 KB, 49734 KB/s, 12 seconds passed +... 88%, 618784 KB, 49736 KB/s, 12 seconds passed +... 88%, 618816 KB, 49737 KB/s, 12 seconds passed +... 88%, 618848 KB, 49739 KB/s, 12 seconds passed +... 88%, 618880 KB, 49741 KB/s, 12 seconds passed +... 88%, 618912 KB, 49741 KB/s, 12 seconds passed +... 88%, 618944 KB, 49743 KB/s, 12 seconds passed +... 88%, 618976 KB, 49744 KB/s, 12 seconds passed +... 89%, 619008 KB, 49746 KB/s, 12 seconds passed +... 89%, 619040 KB, 49747 KB/s, 12 seconds passed +... 89%, 619072 KB, 49749 KB/s, 12 seconds passed +... 89%, 619104 KB, 49750 KB/s, 12 seconds passed +... 89%, 619136 KB, 49752 KB/s, 12 seconds passed +... 89%, 619168 KB, 49754 KB/s, 12 seconds passed +... 89%, 619200 KB, 49755 KB/s, 12 seconds passed +... 89%, 619232 KB, 49756 KB/s, 12 seconds passed +... 89%, 619264 KB, 49757 KB/s, 12 seconds passed +... 89%, 619296 KB, 49758 KB/s, 12 seconds passed +... 89%, 619328 KB, 49760 KB/s, 12 seconds passed +... 89%, 619360 KB, 49762 KB/s, 12 seconds passed +... 89%, 619392 KB, 49763 KB/s, 12 seconds passed +... 89%, 619424 KB, 49765 KB/s, 12 seconds passed +... 89%, 619456 KB, 49766 KB/s, 12 seconds passed +... 89%, 619488 KB, 49768 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 89%, 619520 KB, 49607 KB/s, 12 seconds passed +... 89%, 619552 KB, 49608 KB/s, 12 seconds passed +... 89%, 619584 KB, 49609 KB/s, 12 seconds passed +... 89%, 619616 KB, 49611 KB/s, 12 seconds passed +... 89%, 619648 KB, 49612 KB/s, 12 seconds passed +... 89%, 619680 KB, 49613 KB/s, 12 seconds passed +... 89%, 619712 KB, 49615 KB/s, 12 seconds passed +... 89%, 619744 KB, 49616 KB/s, 12 seconds passed +... 89%, 619776 KB, 49617 KB/s, 12 seconds passed +... 89%, 619808 KB, 49619 KB/s, 12 seconds passed +... 89%, 619840 KB, 49620 KB/s, 12 seconds passed +... 89%, 619872 KB, 49621 KB/s, 12 seconds passed +... 89%, 619904 KB, 49622 KB/s, 12 seconds passed +... 89%, 619936 KB, 49624 KB/s, 12 seconds passed +... 89%, 619968 KB, 49625 KB/s, 12 seconds passed +... 89%, 620000 KB, 49627 KB/s, 12 seconds passed +... 89%, 620032 KB, 49628 KB/s, 12 seconds passed +... 89%, 620064 KB, 49629 KB/s, 12 seconds passed +... 89%, 620096 KB, 49631 KB/s, 12 seconds passed +... 89%, 620128 KB, 49632 KB/s, 12 seconds passed +... 89%, 620160 KB, 49633 KB/s, 12 seconds passed +... 89%, 620192 KB, 49635 KB/s, 12 seconds passed +... 89%, 620224 KB, 49636 KB/s, 12 seconds passed +... 89%, 620256 KB, 49637 KB/s, 12 seconds passed +... 89%, 620288 KB, 49639 KB/s, 12 seconds passed +... 89%, 620320 KB, 49640 KB/s, 12 seconds passed +... 89%, 620352 KB, 49641 KB/s, 12 seconds passed +... 89%, 620384 KB, 49642 KB/s, 12 seconds passed +... 89%, 620416 KB, 49644 KB/s, 12 seconds passed +... 89%, 620448 KB, 49645 KB/s, 12 seconds passed +... 89%, 620480 KB, 49646 KB/s, 12 seconds passed +... 89%, 620512 KB, 49648 KB/s, 12 seconds passed +... 89%, 620544 KB, 49649 KB/s, 12 seconds passed +... 89%, 620576 KB, 49650 KB/s, 12 seconds passed +... 89%, 620608 KB, 49652 KB/s, 12 seconds passed +... 89%, 620640 KB, 49653 KB/s, 12 seconds passed +... 89%, 620672 KB, 49654 KB/s, 12 seconds passed +... 89%, 620704 KB, 49656 KB/s, 12 seconds passed +... 89%, 620736 KB, 49657 KB/s, 12 seconds passed +... 89%, 620768 KB, 49658 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 89%, 620800 KB, 49621 KB/s, 12 seconds passed +... 89%, 620832 KB, 49622 KB/s, 12 seconds passed +... 89%, 620864 KB, 49623 KB/s, 12 seconds passed +... 89%, 620896 KB, 49624 KB/s, 12 seconds passed +... 89%, 620928 KB, 49626 KB/s, 12 seconds passed +... 89%, 620960 KB, 49627 KB/s, 12 seconds passed +... 89%, 620992 KB, 49628 KB/s, 12 seconds passed +... 89%, 621024 KB, 49630 KB/s, 12 seconds passed +... 89%, 621056 KB, 49631 KB/s, 12 seconds passed +... 89%, 621088 KB, 49632 KB/s, 12 seconds passed +... 89%, 621120 KB, 49634 KB/s, 12 seconds passed +... 89%, 621152 KB, 49635 KB/s, 12 seconds passed +... 89%, 621184 KB, 49636 KB/s, 12 seconds passed +... 89%, 621216 KB, 49638 KB/s, 12 seconds passed +... 89%, 621248 KB, 49639 KB/s, 12 seconds passed +... 89%, 621280 KB, 49640 KB/s, 12 seconds passed +... 89%, 621312 KB, 49641 KB/s, 12 seconds passed +... 89%, 621344 KB, 49643 KB/s, 12 seconds passed +... 89%, 621376 KB, 49644 KB/s, 12 seconds passed +... 89%, 621408 KB, 49645 KB/s, 12 seconds passed +... 89%, 621440 KB, 49647 KB/s, 12 seconds passed +... 89%, 621472 KB, 49648 KB/s, 12 seconds passed +... 89%, 621504 KB, 49649 KB/s, 12 seconds passed +... 89%, 621536 KB, 49651 KB/s, 12 seconds passed +... 89%, 621568 KB, 49652 KB/s, 12 seconds passed +... 89%, 621600 KB, 49653 KB/s, 12 seconds passed +... 89%, 621632 KB, 49655 KB/s, 12 seconds passed +... 89%, 621664 KB, 49596 KB/s, 12 seconds passed +... 89%, 621696 KB, 49597 KB/s, 12 seconds passed +... 89%, 621728 KB, 49598 KB/s, 12 seconds passed +... 89%, 621760 KB, 49599 KB/s, 12 seconds passed +... 89%, 621792 KB, 49600 KB/s, 12 seconds passed +... 89%, 621824 KB, 49602 KB/s, 12 seconds passed +... 89%, 621856 KB, 49603 KB/s, 12 seconds passed +... 89%, 621888 KB, 49604 KB/s, 12 seconds passed +... 89%, 621920 KB, 49606 KB/s, 12 seconds passed +... 89%, 621952 KB, 49607 KB/s, 12 seconds passed +... 89%, 621984 KB, 49608 KB/s, 12 seconds passed +... 89%, 622016 KB, 49609 KB/s, 12 seconds passed +... 89%, 622048 KB, 49611 KB/s, 12 seconds passed +... 89%, 622080 KB, 49612 KB/s, 12 seconds passed +... 89%, 622112 KB, 49613 KB/s, 12 seconds passed +... 89%, 622144 KB, 49615 KB/s, 12 seconds passed +... 89%, 622176 KB, 49616 KB/s, 12 seconds passed +... 89%, 622208 KB, 49617 KB/s, 12 seconds passed +... 89%, 622240 KB, 49619 KB/s, 12 seconds passed +... 89%, 622272 KB, 49620 KB/s, 12 seconds passed +... 89%, 622304 KB, 49621 KB/s, 12 seconds passed +... 89%, 622336 KB, 49623 KB/s, 12 seconds passed +... 89%, 622368 KB, 49624 KB/s, 12 seconds passed +... 89%, 622400 KB, 49625 KB/s, 12 seconds passed +... 89%, 622432 KB, 49627 KB/s, 12 seconds passed +... 89%, 622464 KB, 49628 KB/s, 12 seconds passed +... 89%, 622496 KB, 49629 KB/s, 12 seconds passed +... 89%, 622528 KB, 49630 KB/s, 12 seconds passed +... 89%, 622560 KB, 49632 KB/s, 12 seconds passed +... 89%, 622592 KB, 49633 KB/s, 12 seconds passed +... 89%, 622624 KB, 49634 KB/s, 12 seconds passed +... 89%, 622656 KB, 49636 KB/s, 12 seconds passed +... 89%, 622688 KB, 49637 KB/s, 12 seconds passed +... 89%, 622720 KB, 49638 KB/s, 12 seconds passed +... 89%, 622752 KB, 49640 KB/s, 12 seconds passed +... 89%, 622784 KB, 49641 KB/s, 12 seconds passed +... 89%, 622816 KB, 49642 KB/s, 12 seconds passed +... 89%, 622848 KB, 49644 KB/s, 12 seconds passed +... 89%, 622880 KB, 49645 KB/s, 12 seconds passed +... 89%, 622912 KB, 49646 KB/s, 12 seconds passed +... 89%, 622944 KB, 49647 KB/s, 12 seconds passed +... 89%, 622976 KB, 49649 KB/s, 12 seconds passed +... 89%, 623008 KB, 49650 KB/s, 12 seconds passed +... 89%, 623040 KB, 49651 KB/s, 12 seconds passed +... 89%, 623072 KB, 49653 KB/s, 12 seconds passed +... 89%, 623104 KB, 49654 KB/s, 12 seconds passed +... 89%, 623136 KB, 49655 KB/s, 12 seconds passed +... 89%, 623168 KB, 49657 KB/s, 12 seconds passed +... 89%, 623200 KB, 49658 KB/s, 12 seconds passed +... 89%, 623232 KB, 49659 KB/s, 12 seconds passed +... 89%, 623264 KB, 49661 KB/s, 12 seconds passed +... 89%, 623296 KB, 49662 KB/s, 12 seconds passed +... 89%, 623328 KB, 49663 KB/s, 12 seconds passed +... 89%, 623360 KB, 49665 KB/s, 12 seconds passed +... 89%, 623392 KB, 49666 KB/s, 12 seconds passed +... 89%, 623424 KB, 49667 KB/s, 12 seconds passed +... 89%, 623456 KB, 49669 KB/s, 12 seconds passed +... 89%, 623488 KB, 49670 KB/s, 12 seconds passed +... 89%, 623520 KB, 49672 KB/s, 12 seconds passed +... 89%, 623552 KB, 49674 KB/s, 12 seconds passed +... 89%, 623584 KB, 49675 KB/s, 12 seconds passed +... 89%, 623616 KB, 49677 KB/s, 12 seconds passed +... 89%, 623648 KB, 49679 KB/s, 12 seconds passed +... 89%, 623680 KB, 49681 KB/s, 12 seconds passed +... 89%, 623712 KB, 49682 KB/s, 12 seconds passed +... 89%, 623744 KB, 49684 KB/s, 12 seconds passed +... 89%, 623776 KB, 49686 KB/s, 12 seconds passed +... 89%, 623808 KB, 49688 KB/s, 12 seconds passed +... 89%, 623840 KB, 49689 KB/s, 12 seconds passed +... 89%, 623872 KB, 49691 KB/s, 12 seconds passed +... 89%, 623904 KB, 49693 KB/s, 12 seconds passed +... 89%, 623936 KB, 49694 KB/s, 12 seconds passed +... 89%, 623968 KB, 49696 KB/s, 12 seconds passed +... 89%, 624000 KB, 49698 KB/s, 12 seconds passed +... 89%, 624032 KB, 49700 KB/s, 12 seconds passed +... 89%, 624064 KB, 49701 KB/s, 12 seconds passed +... 89%, 624096 KB, 49703 KB/s, 12 seconds passed +... 89%, 624128 KB, 49705 KB/s, 12 seconds passed +... 89%, 624160 KB, 49707 KB/s, 12 seconds passed +... 89%, 624192 KB, 49708 KB/s, 12 seconds passed +... 89%, 624224 KB, 49710 KB/s, 12 seconds passed +... 89%, 624256 KB, 49712 KB/s, 12 seconds passed +... 89%, 624288 KB, 49713 KB/s, 12 seconds passed +... 89%, 624320 KB, 49715 KB/s, 12 seconds passed +... 89%, 624352 KB, 49717 KB/s, 12 seconds passed +... 89%, 624384 KB, 49719 KB/s, 12 seconds passed +... 89%, 624416 KB, 49720 KB/s, 12 seconds passed +... 89%, 624448 KB, 49722 KB/s, 12 seconds passed +... 89%, 624480 KB, 49724 KB/s, 12 seconds passed +... 89%, 624512 KB, 49725 KB/s, 12 seconds passed +... 89%, 624544 KB, 49727 KB/s, 12 seconds passed +... 89%, 624576 KB, 49728 KB/s, 12 seconds passed +... 89%, 624608 KB, 49729 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 89%, 624640 KB, 49576 KB/s, 12 seconds passed +... 89%, 624672 KB, 49575 KB/s, 12 seconds passed +... 89%, 624704 KB, 49575 KB/s, 12 seconds passed +... 89%, 624736 KB, 49577 KB/s, 12 seconds passed +... 89%, 624768 KB, 49565 KB/s, 12 seconds passed +... 89%, 624800 KB, 49565 KB/s, 12 seconds passed +... 89%, 624832 KB, 49566 KB/s, 12 seconds passed +... 89%, 624864 KB, 49568 KB/s, 12 seconds passed +... 89%, 624896 KB, 49569 KB/s, 12 seconds passed +... 89%, 624928 KB, 49570 KB/s, 12 seconds passed +... 89%, 624960 KB, 49572 KB/s, 12 seconds passed +... 89%, 624992 KB, 49573 KB/s, 12 seconds passed +... 89%, 625024 KB, 49574 KB/s, 12 seconds passed +... 89%, 625056 KB, 49575 KB/s, 12 seconds passed +... 89%, 625088 KB, 49577 KB/s, 12 seconds passed +... 89%, 625120 KB, 49578 KB/s, 12 seconds passed +... 89%, 625152 KB, 49580 KB/s, 12 seconds passed +... 89%, 625184 KB, 49581 KB/s, 12 seconds passed +... 89%, 625216 KB, 49582 KB/s, 12 seconds passed +... 89%, 625248 KB, 49583 KB/s, 12 seconds passed +... 89%, 625280 KB, 49585 KB/s, 12 seconds passed +... 89%, 625312 KB, 49586 KB/s, 12 seconds passed +... 89%, 625344 KB, 49587 KB/s, 12 seconds passed +... 89%, 625376 KB, 49589 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 89%, 625408 KB, 49578 KB/s, 12 seconds passed +... 89%, 625440 KB, 49579 KB/s, 12 seconds passed +... 89%, 625472 KB, 49580 KB/s, 12 seconds passed +... 89%, 625504 KB, 49582 KB/s, 12 seconds passed +... 89%, 625536 KB, 49583 KB/s, 12 seconds passed +... 89%, 625568 KB, 49584 KB/s, 12 seconds passed +... 89%, 625600 KB, 49586 KB/s, 12 seconds passed +... 89%, 625632 KB, 49587 KB/s, 12 seconds passed +... 89%, 625664 KB, 49588 KB/s, 12 seconds passed +... 89%, 625696 KB, 49589 KB/s, 12 seconds passed +... 89%, 625728 KB, 49591 KB/s, 12 seconds passed +... 89%, 625760 KB, 49592 KB/s, 12 seconds passed +... 89%, 625792 KB, 49593 KB/s, 12 seconds passed +... 89%, 625824 KB, 49595 KB/s, 12 seconds passed +... 89%, 625856 KB, 49596 KB/s, 12 seconds passed +... 89%, 625888 KB, 49597 KB/s, 12 seconds passed +... 89%, 625920 KB, 49599 KB/s, 12 seconds passed +... 89%, 625952 KB, 49600 KB/s, 12 seconds passed +... 90%, 625984 KB, 49601 KB/s, 12 seconds passed +... 90%, 626016 KB, 49603 KB/s, 12 seconds passed +... 90%, 626048 KB, 49604 KB/s, 12 seconds passed +... 90%, 626080 KB, 49605 KB/s, 12 seconds passed +... 90%, 626112 KB, 49607 KB/s, 12 seconds passed +... 90%, 626144 KB, 49608 KB/s, 12 seconds passed +... 90%, 626176 KB, 49609 KB/s, 12 seconds passed +... 90%, 626208 KB, 49611 KB/s, 12 seconds passed +... 90%, 626240 KB, 49612 KB/s, 12 seconds passed +... 90%, 626272 KB, 49614 KB/s, 12 seconds passed +... 90%, 626304 KB, 49615 KB/s, 12 seconds passed +... 90%, 626336 KB, 49617 KB/s, 12 seconds passed +... 90%, 626368 KB, 49618 KB/s, 12 seconds passed +... 90%, 626400 KB, 49620 KB/s, 12 seconds passed +... 90%, 626432 KB, 49621 KB/s, 12 seconds passed +... 90%, 626464 KB, 49623 KB/s, 12 seconds passed +... 90%, 626496 KB, 49624 KB/s, 12 seconds passed +... 90%, 626528 KB, 49625 KB/s, 12 seconds passed +... 90%, 626560 KB, 49627 KB/s, 12 seconds passed +... 90%, 626592 KB, 49628 KB/s, 12 seconds passed +... 90%, 626624 KB, 49630 KB/s, 12 seconds passed +... 90%, 626656 KB, 49631 KB/s, 12 seconds passed +... 90%, 626688 KB, 49633 KB/s, 12 seconds passed +... 90%, 626720 KB, 49634 KB/s, 12 seconds passed +... 90%, 626752 KB, 49636 KB/s, 12 seconds passed +... 90%, 626784 KB, 49637 KB/s, 12 seconds passed +... 90%, 626816 KB, 49639 KB/s, 12 seconds passed +... 90%, 626848 KB, 49640 KB/s, 12 seconds passed +... 90%, 626880 KB, 49642 KB/s, 12 seconds passed +... 90%, 626912 KB, 49643 KB/s, 12 seconds passed +... 90%, 626944 KB, 49645 KB/s, 12 seconds passed +... 90%, 626976 KB, 49646 KB/s, 12 seconds passed +... 90%, 627008 KB, 49648 KB/s, 12 seconds passed +... 90%, 627040 KB, 49649 KB/s, 12 seconds passed +... 90%, 627072 KB, 49651 KB/s, 12 seconds passed +... 90%, 627104 KB, 49652 KB/s, 12 seconds passed +... 90%, 627136 KB, 49654 KB/s, 12 seconds passed +... 90%, 627168 KB, 49655 KB/s, 12 seconds passed +... 90%, 627200 KB, 49657 KB/s, 12 seconds passed +... 90%, 627232 KB, 49658 KB/s, 12 seconds passed +... 90%, 627264 KB, 49660 KB/s, 12 seconds passed +... 90%, 627296 KB, 49661 KB/s, 12 seconds passed +... 90%, 627328 KB, 49663 KB/s, 12 seconds passed +... 90%, 627360 KB, 49664 KB/s, 12 seconds passed +... 90%, 627392 KB, 49666 KB/s, 12 seconds passed +... 90%, 627424 KB, 49668 KB/s, 12 seconds passed +... 90%, 627456 KB, 49669 KB/s, 12 seconds passed +... 90%, 627488 KB, 49671 KB/s, 12 seconds passed +... 90%, 627520 KB, 49673 KB/s, 12 seconds passed +... 90%, 627552 KB, 49675 KB/s, 12 seconds passed +... 90%, 627584 KB, 49676 KB/s, 12 seconds passed +... 90%, 627616 KB, 49678 KB/s, 12 seconds passed +... 90%, 627648 KB, 49679 KB/s, 12 seconds passed +... 90%, 627680 KB, 49681 KB/s, 12 seconds passed +... 90%, 627712 KB, 49682 KB/s, 12 seconds passed +... 90%, 627744 KB, 49684 KB/s, 12 seconds passed +... 90%, 627776 KB, 49685 KB/s, 12 seconds passed +... 90%, 627808 KB, 49687 KB/s, 12 seconds passed +... 90%, 627840 KB, 49688 KB/s, 12 seconds passed +... 90%, 627872 KB, 49689 KB/s, 12 seconds passed +... 90%, 627904 KB, 49691 KB/s, 12 seconds passed +... 90%, 627936 KB, 49692 KB/s, 12 seconds passed +... 90%, 627968 KB, 49694 KB/s, 12 seconds passed +... 90%, 628000 KB, 49695 KB/s, 12 seconds passed +... 90%, 628032 KB, 49696 KB/s, 12 seconds passed +... 90%, 628064 KB, 49698 KB/s, 12 seconds passed +... 90%, 628096 KB, 49699 KB/s, 12 seconds passed +... 90%, 628128 KB, 49701 KB/s, 12 seconds passed +... 90%, 628160 KB, 49702 KB/s, 12 seconds passed +... 90%, 628192 KB, 49704 KB/s, 12 seconds passed +... 90%, 628224 KB, 49705 KB/s, 12 seconds passed +... 90%, 628256 KB, 49707 KB/s, 12 seconds passed +... 90%, 628288 KB, 49708 KB/s, 12 seconds passed +... 90%, 628320 KB, 49709 KB/s, 12 seconds passed +... 90%, 628352 KB, 49711 KB/s, 12 seconds passed +... 90%, 628384 KB, 49712 KB/s, 12 seconds passed +... 90%, 628416 KB, 49713 KB/s, 12 seconds passed +... 90%, 628448 KB, 49715 KB/s, 12 seconds passed +... 90%, 628480 KB, 49716 KB/s, 12 seconds passed +... 90%, 628512 KB, 49718 KB/s, 12 seconds passed +... 90%, 628544 KB, 49719 KB/s, 12 seconds passed +... 90%, 628576 KB, 49721 KB/s, 12 seconds passed +... 90%, 628608 KB, 49722 KB/s, 12 seconds passed +... 90%, 628640 KB, 49722 KB/s, 12 seconds passed +... 90%, 628672 KB, 49721 KB/s, 12 seconds passed +... 90%, 628704 KB, 49723 KB/s, 12 seconds passed +... 90%, 628736 KB, 49724 KB/s, 12 seconds passed +... 90%, 628768 KB, 49718 KB/s, 12 seconds passed +... 90%, 628800 KB, 49719 KB/s, 12 seconds passed +... 90%, 628832 KB, 49720 KB/s, 12 seconds passed +... 90%, 628864 KB, 49722 KB/s, 12 seconds passed +... 90%, 628896 KB, 49724 KB/s, 12 seconds passed +... 90%, 628928 KB, 49725 KB/s, 12 seconds passed +... 90%, 628960 KB, 49727 KB/s, 12 seconds passed +... 90%, 628992 KB, 49728 KB/s, 12 seconds passed +... 90%, 629024 KB, 49729 KB/s, 12 seconds passed +... 90%, 629056 KB, 49731 KB/s, 12 seconds passed +... 90%, 629088 KB, 49732 KB/s, 12 seconds passed +... 90%, 629120 KB, 49734 KB/s, 12 seconds passed +... 90%, 629152 KB, 49735 KB/s, 12 seconds passed +... 90%, 629184 KB, 49737 KB/s, 12 seconds passed +... 90%, 629216 KB, 49738 KB/s, 12 seconds passed +... 90%, 629248 KB, 49740 KB/s, 12 seconds passed +... 90%, 629280 KB, 49741 KB/s, 12 seconds passed +... 90%, 629312 KB, 49742 KB/s, 12 seconds passed +... 90%, 629344 KB, 49744 KB/s, 12 seconds passed +... 90%, 629376 KB, 49745 KB/s, 12 seconds passed +... 90%, 629408 KB, 49747 KB/s, 12 seconds passed +... 90%, 629440 KB, 49748 KB/s, 12 seconds passed +... 90%, 629472 KB, 49750 KB/s, 12 seconds passed +... 90%, 629504 KB, 49751 KB/s, 12 seconds passed +... 90%, 629536 KB, 49752 KB/s, 12 seconds passed +... 90%, 629568 KB, 49754 KB/s, 12 seconds passed +... 90%, 629600 KB, 49755 KB/s, 12 seconds passed +... 90%, 629632 KB, 49757 KB/s, 12 seconds passed +... 90%, 629664 KB, 49758 KB/s, 12 seconds passed +... 90%, 629696 KB, 49759 KB/s, 12 seconds passed +... 90%, 629728 KB, 49761 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 90%, 629760 KB, 49626 KB/s, 12 seconds passed +... 90%, 629792 KB, 49627 KB/s, 12 seconds passed +... 90%, 629824 KB, 49628 KB/s, 12 seconds passed +... 90%, 629856 KB, 49630 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 90%, 629888 KB, 49498 KB/s, 12 seconds passed +... 90%, 629920 KB, 49499 KB/s, 12 seconds passed +... 90%, 629952 KB, 49500 KB/s, 12 seconds passed +... 90%, 629984 KB, 49502 KB/s, 12 seconds passed +... 90%, 630016 KB, 49503 KB/s, 12 seconds passed +... 90%, 630048 KB, 49504 KB/s, 12 seconds passed +... 90%, 630080 KB, 49505 KB/s, 12 seconds passed +... 90%, 630112 KB, 49503 KB/s, 12 seconds passed +... 90%, 630144 KB, 49504 KB/s, 12 seconds passed +... 90%, 630176 KB, 49506 KB/s, 12 seconds passed +... 90%, 630208 KB, 49507 KB/s, 12 seconds passed +... 90%, 630240 KB, 49508 KB/s, 12 seconds passed +... 90%, 630272 KB, 49509 KB/s, 12 seconds passed +... 90%, 630304 KB, 49511 KB/s, 12 seconds passed +... 90%, 630336 KB, 49512 KB/s, 12 seconds passed +... 90%, 630368 KB, 49513 KB/s, 12 seconds passed +... 90%, 630400 KB, 49515 KB/s, 12 seconds passed +... 90%, 630432 KB, 49516 KB/s, 12 seconds passed +... 90%, 630464 KB, 49517 KB/s, 12 seconds passed +... 90%, 630496 KB, 49518 KB/s, 12 seconds passed +... 90%, 630528 KB, 49520 KB/s, 12 seconds passed +... 90%, 630560 KB, 49521 KB/s, 12 seconds passed +... 90%, 630592 KB, 49522 KB/s, 12 seconds passed +... 90%, 630624 KB, 49524 KB/s, 12 seconds passed +... 90%, 630656 KB, 49525 KB/s, 12 seconds passed +... 90%, 630688 KB, 49526 KB/s, 12 seconds passed +... 90%, 630720 KB, 49528 KB/s, 12 seconds passed +... 90%, 630752 KB, 49529 KB/s, 12 seconds passed +... 90%, 630784 KB, 49530 KB/s, 12 seconds passed +... 90%, 630816 KB, 49532 KB/s, 12 seconds passed +... 90%, 630848 KB, 49533 KB/s, 12 seconds passed +... 90%, 630880 KB, 49534 KB/s, 12 seconds passed +... 90%, 630912 KB, 49536 KB/s, 12 seconds passed +... 90%, 630944 KB, 49537 KB/s, 12 seconds passed +... 90%, 630976 KB, 49538 KB/s, 12 seconds passed +... 90%, 631008 KB, 49540 KB/s, 12 seconds passed +... 90%, 631040 KB, 49541 KB/s, 12 seconds passed +... 90%, 631072 KB, 49542 KB/s, 12 seconds passed +... 90%, 631104 KB, 49544 KB/s, 12 seconds passed +... 90%, 631136 KB, 49545 KB/s, 12 seconds passed +... 90%, 631168 KB, 49546 KB/s, 12 seconds passed +... 90%, 631200 KB, 49547 KB/s, 12 seconds passed +... 90%, 631232 KB, 49549 KB/s, 12 seconds passed +... 90%, 631264 KB, 49550 KB/s, 12 seconds passed +... 90%, 631296 KB, 49551 KB/s, 12 seconds passed +... 90%, 631328 KB, 49553 KB/s, 12 seconds passed +... 90%, 631360 KB, 49554 KB/s, 12 seconds passed +... 90%, 631392 KB, 49555 KB/s, 12 seconds passed +... 90%, 631424 KB, 49557 KB/s, 12 seconds passed +... 90%, 631456 KB, 49558 KB/s, 12 seconds passed +... 90%, 631488 KB, 49559 KB/s, 12 seconds passed +... 90%, 631520 KB, 49560 KB/s, 12 seconds passed +... 90%, 631552 KB, 49562 KB/s, 12 seconds passed +... 90%, 631584 KB, 49563 KB/s, 12 seconds passed +... 90%, 631616 KB, 49564 KB/s, 12 seconds passed +... 90%, 631648 KB, 49566 KB/s, 12 seconds passed +... 90%, 631680 KB, 49567 KB/s, 12 seconds passed +... 90%, 631712 KB, 49569 KB/s, 12 seconds passed +... 90%, 631744 KB, 49571 KB/s, 12 seconds passed +... 90%, 631776 KB, 49573 KB/s, 12 seconds passed +... 90%, 631808 KB, 49574 KB/s, 12 seconds passed +... 90%, 631840 KB, 49576 KB/s, 12 seconds passed +... 90%, 631872 KB, 49578 KB/s, 12 seconds passed +... 90%, 631904 KB, 49579 KB/s, 12 seconds passed +... 90%, 631936 KB, 49581 KB/s, 12 seconds passed +... 90%, 631968 KB, 49583 KB/s, 12 seconds passed +... 90%, 632000 KB, 49584 KB/s, 12 seconds passed +... 90%, 632032 KB, 49586 KB/s, 12 seconds passed +... 90%, 632064 KB, 49588 KB/s, 12 seconds passed +... 90%, 632096 KB, 49589 KB/s, 12 seconds passed +... 90%, 632128 KB, 49591 KB/s, 12 seconds passed +... 90%, 632160 KB, 49592 KB/s, 12 seconds passed +... 90%, 632192 KB, 49594 KB/s, 12 seconds passed +... 90%, 632224 KB, 49595 KB/s, 12 seconds passed +... 90%, 632256 KB, 49597 KB/s, 12 seconds passed +... 90%, 632288 KB, 49598 KB/s, 12 seconds passed +... 90%, 632320 KB, 49599 KB/s, 12 seconds passed +... 90%, 632352 KB, 49600 KB/s, 12 seconds passed +... 90%, 632384 KB, 49601 KB/s, 12 seconds passed +... 90%, 632416 KB, 49603 KB/s, 12 seconds passed +... 90%, 632448 KB, 49604 KB/s, 12 seconds passed +... 90%, 632480 KB, 49606 KB/s, 12 seconds passed +... 90%, 632512 KB, 49608 KB/s, 12 seconds passed +... 90%, 632544 KB, 49609 KB/s, 12 seconds passed +... 90%, 632576 KB, 49611 KB/s, 12 seconds passed +... 90%, 632608 KB, 49612 KB/s, 12 seconds passed +... 90%, 632640 KB, 49614 KB/s, 12 seconds passed +... 90%, 632672 KB, 49615 KB/s, 12 seconds passed +... 90%, 632704 KB, 49616 KB/s, 12 seconds passed +... 90%, 632736 KB, 49618 KB/s, 12 seconds passed +... 90%, 632768 KB, 49619 KB/s, 12 seconds passed +... 90%, 632800 KB, 49621 KB/s, 12 seconds passed +... 90%, 632832 KB, 49622 KB/s, 12 seconds passed +... 90%, 632864 KB, 49624 KB/s, 12 seconds passed +... 90%, 632896 KB, 49625 KB/s, 12 seconds passed +... 91%, 632928 KB, 49626 KB/s, 12 seconds passed +... 91%, 632960 KB, 49628 KB/s, 12 seconds passed +... 91%, 632992 KB, 49629 KB/s, 12 seconds passed +... 91%, 633024 KB, 49630 KB/s, 12 seconds passed +... 91%, 633056 KB, 49632 KB/s, 12 seconds passed +... 91%, 633088 KB, 49633 KB/s, 12 seconds passed +... 91%, 633120 KB, 49635 KB/s, 12 seconds passed +... 91%, 633152 KB, 49636 KB/s, 12 seconds passed +... 91%, 633184 KB, 49638 KB/s, 12 seconds passed +... 91%, 633216 KB, 49639 KB/s, 12 seconds passed +... 91%, 633248 KB, 49641 KB/s, 12 seconds passed +... 91%, 633280 KB, 49642 KB/s, 12 seconds passed +... 91%, 633312 KB, 49643 KB/s, 12 seconds passed +... 91%, 633344 KB, 49645 KB/s, 12 seconds passed +... 91%, 633376 KB, 49646 KB/s, 12 seconds passed +... 91%, 633408 KB, 49648 KB/s, 12 seconds passed +... 91%, 633440 KB, 49649 KB/s, 12 seconds passed +... 91%, 633472 KB, 49650 KB/s, 12 seconds passed +... 91%, 633504 KB, 49651 KB/s, 12 seconds passed +... 91%, 633536 KB, 49653 KB/s, 12 seconds passed +... 91%, 633568 KB, 49654 KB/s, 12 seconds passed +... 91%, 633600 KB, 49656 KB/s, 12 seconds passed +... 91%, 633632 KB, 49658 KB/s, 12 seconds passed +... 91%, 633664 KB, 49659 KB/s, 12 seconds passed +... 91%, 633696 KB, 49660 KB/s, 12 seconds passed +... 91%, 633728 KB, 49662 KB/s, 12 seconds passed +... 91%, 633760 KB, 49663 KB/s, 12 seconds passed +... 91%, 633792 KB, 49665 KB/s, 12 seconds passed +... 91%, 633824 KB, 49666 KB/s, 12 seconds passed +... 91%, 633856 KB, 49668 KB/s, 12 seconds passed +... 91%, 633888 KB, 49669 KB/s, 12 seconds passed +... 91%, 633920 KB, 49670 KB/s, 12 seconds passed +... 91%, 633952 KB, 49672 KB/s, 12 seconds passed +... 91%, 633984 KB, 49673 KB/s, 12 seconds passed +... 91%, 634016 KB, 49675 KB/s, 12 seconds passed +... 91%, 634048 KB, 49676 KB/s, 12 seconds passed +... 91%, 634080 KB, 49677 KB/s, 12 seconds passed +... 91%, 634112 KB, 49679 KB/s, 12 seconds passed +... 91%, 634144 KB, 49680 KB/s, 12 seconds passed +... 91%, 634176 KB, 49680 KB/s, 12 seconds passed +... 91%, 634208 KB, 49682 KB/s, 12 seconds passed +... 91%, 634240 KB, 49683 KB/s, 12 seconds passed +... 91%, 634272 KB, 49684 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 91%, 634304 KB, 49682 KB/s, 12 seconds passed +... 91%, 634336 KB, 49680 KB/s, 12 seconds passed +... 91%, 634368 KB, 49681 KB/s, 12 seconds passed +... 91%, 634400 KB, 49683 KB/s, 12 seconds passed +... 91%, 634432 KB, 49684 KB/s, 12 seconds passed +... 91%, 634464 KB, 49686 KB/s, 12 seconds passed +... 91%, 634496 KB, 49687 KB/s, 12 seconds passed +... 91%, 634528 KB, 49688 KB/s, 12 seconds passed +... 91%, 634560 KB, 49690 KB/s, 12 seconds passed +... 91%, 634592 KB, 49691 KB/s, 12 seconds passed +... 91%, 634624 KB, 49693 KB/s, 12 seconds passed +... 91%, 634656 KB, 49694 KB/s, 12 seconds passed +... 91%, 634688 KB, 49695 KB/s, 12 seconds passed +... 91%, 634720 KB, 49697 KB/s, 12 seconds passed +... 91%, 634752 KB, 49698 KB/s, 12 seconds passed +... 91%, 634784 KB, 49700 KB/s, 12 seconds passed +... 91%, 634816 KB, 49701 KB/s, 12 seconds passed +... 91%, 634848 KB, 49703 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 91%, 634880 KB, 49489 KB/s, 12 seconds passed +... 91%, 634912 KB, 49490 KB/s, 12 seconds passed +... 91%, 634944 KB, 49491 KB/s, 12 seconds passed +... 91%, 634976 KB, 49492 KB/s, 12 seconds passed +... 91%, 635008 KB, 49489 KB/s, 12 seconds passed +... 91%, 635040 KB, 49490 KB/s, 12 seconds passed +... 91%, 635072 KB, 49491 KB/s, 12 seconds passed +... 91%, 635104 KB, 49492 KB/s, 12 seconds passed +... 91%, 635136 KB, 49494 KB/s, 12 seconds passed +... 91%, 635168 KB, 49495 KB/s, 12 seconds passed +... 91%, 635200 KB, 49496 KB/s, 12 seconds passed +... 91%, 635232 KB, 49497 KB/s, 12 seconds passed +... 91%, 635264 KB, 49499 KB/s, 12 seconds passed +... 91%, 635296 KB, 49500 KB/s, 12 seconds passed +... 91%, 635328 KB, 49501 KB/s, 12 seconds passed +... 91%, 635360 KB, 49503 KB/s, 12 seconds passed +... 91%, 635392 KB, 49504 KB/s, 12 seconds passed +... 91%, 635424 KB, 49505 KB/s, 12 seconds passed +... 91%, 635456 KB, 49489 KB/s, 12 seconds passed +... 91%, 635488 KB, 49490 KB/s, 12 seconds passed +... 91%, 635520 KB, 49491 KB/s, 12 seconds passed +... 91%, 635552 KB, 49493 KB/s, 12 seconds passed +... 91%, 635584 KB, 49494 KB/s, 12 seconds passed +... 91%, 635616 KB, 49495 KB/s, 12 seconds passed +... 91%, 635648 KB, 49496 KB/s, 12 seconds passed +... 91%, 635680 KB, 49498 KB/s, 12 seconds passed +... 91%, 635712 KB, 49499 KB/s, 12 seconds passed +... 91%, 635744 KB, 49500 KB/s, 12 seconds passed +... 91%, 635776 KB, 49501 KB/s, 12 seconds passed +... 91%, 635808 KB, 49503 KB/s, 12 seconds passed +... 91%, 635840 KB, 49504 KB/s, 12 seconds passed +... 91%, 635872 KB, 49505 KB/s, 12 seconds passed +... 91%, 635904 KB, 49507 KB/s, 12 seconds passed +... 91%, 635936 KB, 49508 KB/s, 12 seconds passed +... 91%, 635968 KB, 49509 KB/s, 12 seconds passed +... 91%, 636000 KB, 49511 KB/s, 12 seconds passed +... 91%, 636032 KB, 49512 KB/s, 12 seconds passed +... 91%, 636064 KB, 49513 KB/s, 12 seconds passed +... 91%, 636096 KB, 49515 KB/s, 12 seconds passed +... 91%, 636128 KB, 49516 KB/s, 12 seconds passed +... 91%, 636160 KB, 49517 KB/s, 12 seconds passed +... 91%, 636192 KB, 49518 KB/s, 12 seconds passed +... 91%, 636224 KB, 49520 KB/s, 12 seconds passed +... 91%, 636256 KB, 49521 KB/s, 12 seconds passed +... 91%, 636288 KB, 49522 KB/s, 12 seconds passed +... 91%, 636320 KB, 49524 KB/s, 12 seconds passed +... 91%, 636352 KB, 49525 KB/s, 12 seconds passed +... 91%, 636384 KB, 49526 KB/s, 12 seconds passed +... 91%, 636416 KB, 49528 KB/s, 12 seconds passed +... 91%, 636448 KB, 49529 KB/s, 12 seconds passed +... 91%, 636480 KB, 49530 KB/s, 12 seconds passed +... 91%, 636512 KB, 49532 KB/s, 12 seconds passed +... 91%, 636544 KB, 49533 KB/s, 12 seconds passed +... 91%, 636576 KB, 49534 KB/s, 12 seconds passed +... 91%, 636608 KB, 49536 KB/s, 12 seconds passed +... 91%, 636640 KB, 49537 KB/s, 12 seconds passed +... 91%, 636672 KB, 49538 KB/s, 12 seconds passed +... 91%, 636704 KB, 49540 KB/s, 12 seconds passed +... 91%, 636736 KB, 49541 KB/s, 12 seconds passed +... 91%, 636768 KB, 49542 KB/s, 12 seconds passed +... 91%, 636800 KB, 49544 KB/s, 12 seconds passed +... 91%, 636832 KB, 49545 KB/s, 12 seconds passed +... 91%, 636864 KB, 49546 KB/s, 12 seconds passed +... 91%, 636896 KB, 49547 KB/s, 12 seconds passed +... 91%, 636928 KB, 49549 KB/s, 12 seconds passed +... 91%, 636960 KB, 49550 KB/s, 12 seconds passed +... 91%, 636992 KB, 49552 KB/s, 12 seconds passed +... 91%, 637024 KB, 49554 KB/s, 12 seconds passed +... 91%, 637056 KB, 49555 KB/s, 12 seconds passed +... 91%, 637088 KB, 49557 KB/s, 12 seconds passed +... 91%, 637120 KB, 49559 KB/s, 12 seconds passed +... 91%, 637152 KB, 49561 KB/s, 12 seconds passed +... 91%, 637184 KB, 49562 KB/s, 12 seconds passed +... 91%, 637216 KB, 49564 KB/s, 12 seconds passed +... 91%, 637248 KB, 49566 KB/s, 12 seconds passed +... 91%, 637280 KB, 49567 KB/s, 12 seconds passed +... 91%, 637312 KB, 49569 KB/s, 12 seconds passed +... 91%, 637344 KB, 49571 KB/s, 12 seconds passed +... 91%, 637376 KB, 49573 KB/s, 12 seconds passed +... 91%, 637408 KB, 49574 KB/s, 12 seconds passed +... 91%, 637440 KB, 49576 KB/s, 12 seconds passed +... 91%, 637472 KB, 49578 KB/s, 12 seconds passed +... 91%, 637504 KB, 49579 KB/s, 12 seconds passed +... 91%, 637536 KB, 49581 KB/s, 12 seconds passed +... 91%, 637568 KB, 49583 KB/s, 12 seconds passed +... 91%, 637600 KB, 49584 KB/s, 12 seconds passed +... 91%, 637632 KB, 49586 KB/s, 12 seconds passed +... 91%, 637664 KB, 49588 KB/s, 12 seconds passed +... 91%, 637696 KB, 49589 KB/s, 12 seconds passed +... 91%, 637728 KB, 49590 KB/s, 12 seconds passed +... 91%, 637760 KB, 49592 KB/s, 12 seconds passed +... 91%, 637792 KB, 49593 KB/s, 12 seconds passed +... 91%, 637824 KB, 49594 KB/s, 12 seconds passed +... 91%, 637856 KB, 49596 KB/s, 12 seconds passed +... 91%, 637888 KB, 49598 KB/s, 12 seconds passed +... 91%, 637920 KB, 49599 KB/s, 12 seconds passed +... 91%, 637952 KB, 49600 KB/s, 12 seconds passed +... 91%, 637984 KB, 49602 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 91%, 638016 KB, 49558 KB/s, 12 seconds passed +... 91%, 638048 KB, 49559 KB/s, 12 seconds passed +... 91%, 638080 KB, 49560 KB/s, 12 seconds passed +... 91%, 638112 KB, 49561 KB/s, 12 seconds passed +... 91%, 638144 KB, 49562 KB/s, 12 seconds passed +... 91%, 638176 KB, 49564 KB/s, 12 seconds passed +... 91%, 638208 KB, 49565 KB/s, 12 seconds passed +... 91%, 638240 KB, 49561 KB/s, 12 seconds passed +... 91%, 638272 KB, 49562 KB/s, 12 seconds passed +... 91%, 638304 KB, 49563 KB/s, 12 seconds passed +... 91%, 638336 KB, 49564 KB/s, 12 seconds passed +... 91%, 638368 KB, 49565 KB/s, 12 seconds passed +... 91%, 638400 KB, 49567 KB/s, 12 seconds passed +... 91%, 638432 KB, 49568 KB/s, 12 seconds passed +... 91%, 638464 KB, 49569 KB/s, 12 seconds passed +... 91%, 638496 KB, 49571 KB/s, 12 seconds passed +... 91%, 638528 KB, 49572 KB/s, 12 seconds passed +... 91%, 638560 KB, 49573 KB/s, 12 seconds passed +... 91%, 638592 KB, 49574 KB/s, 12 seconds passed +... 91%, 638624 KB, 49576 KB/s, 12 seconds passed +... 91%, 638656 KB, 49577 KB/s, 12 seconds passed +... 91%, 638688 KB, 49578 KB/s, 12 seconds passed +... 91%, 638720 KB, 49580 KB/s, 12 seconds passed +... 91%, 638752 KB, 49581 KB/s, 12 seconds passed +... 91%, 638784 KB, 49582 KB/s, 12 seconds passed +... 91%, 638816 KB, 49584 KB/s, 12 seconds passed +... 91%, 638848 KB, 49585 KB/s, 12 seconds passed +... 91%, 638880 KB, 49586 KB/s, 12 seconds passed +... 91%, 638912 KB, 49588 KB/s, 12 seconds passed +... 91%, 638944 KB, 49589 KB/s, 12 seconds passed +... 91%, 638976 KB, 49590 KB/s, 12 seconds passed +... 91%, 639008 KB, 49592 KB/s, 12 seconds passed +... 91%, 639040 KB, 49593 KB/s, 12 seconds passed +... 91%, 639072 KB, 49594 KB/s, 12 seconds passed +... 91%, 639104 KB, 49596 KB/s, 12 seconds passed +... 91%, 639136 KB, 49597 KB/s, 12 seconds passed +... 91%, 639168 KB, 49599 KB/s, 12 seconds passed +... 91%, 639200 KB, 49601 KB/s, 12 seconds passed +... 91%, 639232 KB, 49602 KB/s, 12 seconds passed +... 91%, 639264 KB, 49603 KB/s, 12 seconds passed +... 91%, 639296 KB, 49605 KB/s, 12 seconds passed +... 91%, 639328 KB, 49606 KB/s, 12 seconds passed +... 91%, 639360 KB, 49608 KB/s, 12 seconds passed +... 91%, 639392 KB, 49609 KB/s, 12 seconds passed +... 91%, 639424 KB, 49611 KB/s, 12 seconds passed +... 91%, 639456 KB, 49613 KB/s, 12 seconds passed +... 91%, 639488 KB, 49614 KB/s, 12 seconds passed +... 91%, 639520 KB, 49616 KB/s, 12 seconds passed +... 91%, 639552 KB, 49617 KB/s, 12 seconds passed +... 91%, 639584 KB, 49619 KB/s, 12 seconds passed +... 91%, 639616 KB, 49620 KB/s, 12 seconds passed +... 91%, 639648 KB, 49622 KB/s, 12 seconds passed +... 91%, 639680 KB, 49623 KB/s, 12 seconds passed +... 91%, 639712 KB, 49625 KB/s, 12 seconds passed +... 91%, 639744 KB, 49626 KB/s, 12 seconds passed +... 91%, 639776 KB, 49628 KB/s, 12 seconds passed +... 91%, 639808 KB, 49629 KB/s, 12 seconds passed +... 91%, 639840 KB, 49631 KB/s, 12 seconds passed +... 92%, 639872 KB, 49632 KB/s, 12 seconds passed +... 92%, 639904 KB, 49634 KB/s, 12 seconds passed +... 92%, 639936 KB, 49635 KB/s, 12 seconds passed +... 92%, 639968 KB, 49637 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 92%, 640000 KB, 49505 KB/s, 12 seconds passed +... 92%, 640032 KB, 49506 KB/s, 12 seconds passed +... 92%, 640064 KB, 49503 KB/s, 12 seconds passed +... 92%, 640096 KB, 49503 KB/s, 12 seconds passed +... 92%, 640128 KB, 49504 KB/s, 12 seconds passed +... 92%, 640160 KB, 49506 KB/s, 12 seconds passed +... 92%, 640192 KB, 49507 KB/s, 12 seconds passed +... 92%, 640224 KB, 49508 KB/s, 12 seconds passed +... 92%, 640256 KB, 49509 KB/s, 12 seconds passed +... 92%, 640288 KB, 49511 KB/s, 12 seconds passed +... 92%, 640320 KB, 49512 KB/s, 12 seconds passed +... 92%, 640352 KB, 49513 KB/s, 12 seconds passed +... 92%, 640384 KB, 49515 KB/s, 12 seconds passed +... 92%, 640416 KB, 49516 KB/s, 12 seconds passed +... 92%, 640448 KB, 49517 KB/s, 12 seconds passed +... 92%, 640480 KB, 49519 KB/s, 12 seconds passed +... 92%, 640512 KB, 49520 KB/s, 12 seconds passed +... 92%, 640544 KB, 49521 KB/s, 12 seconds passed +... 92%, 640576 KB, 49522 KB/s, 12 seconds passed +... 92%, 640608 KB, 49524 KB/s, 12 seconds passed +... 92%, 640640 KB, 49518 KB/s, 12 seconds passed +... 92%, 640672 KB, 49520 KB/s, 12 seconds passed +... 92%, 640704 KB, 49521 KB/s, 12 seconds passed +... 92%, 640736 KB, 49522 KB/s, 12 seconds passed +... 92%, 640768 KB, 49524 KB/s, 12 seconds passed +... 92%, 640800 KB, 49525 KB/s, 12 seconds passed +... 92%, 640832 KB, 49526 KB/s, 12 seconds passed +... 92%, 640864 KB, 49527 KB/s, 12 seconds passed +... 92%, 640896 KB, 49529 KB/s, 12 seconds passed +... 92%, 640928 KB, 49530 KB/s, 12 seconds passed +... 92%, 640960 KB, 49531 KB/s, 12 seconds passed +... 92%, 640992 KB, 49533 KB/s, 12 seconds passed +... 92%, 641024 KB, 49534 KB/s, 12 seconds passed +... 92%, 641056 KB, 49535 KB/s, 12 seconds passed +... 92%, 641088 KB, 49537 KB/s, 12 seconds passed +... 92%, 641120 KB, 49538 KB/s, 12 seconds passed +... 92%, 641152 KB, 49539 KB/s, 12 seconds passed +... 92%, 641184 KB, 49541 KB/s, 12 seconds passed +... 92%, 641216 KB, 49542 KB/s, 12 seconds passed +... 92%, 641248 KB, 49543 KB/s, 12 seconds passed +... 92%, 641280 KB, 49544 KB/s, 12 seconds passed +... 92%, 641312 KB, 49546 KB/s, 12 seconds passed +... 92%, 641344 KB, 49547 KB/s, 12 seconds passed +... 92%, 641376 KB, 49548 KB/s, 12 seconds passed +... 92%, 641408 KB, 49549 KB/s, 12 seconds passed +... 92%, 641440 KB, 49551 KB/s, 12 seconds passed +... 92%, 641472 KB, 49552 KB/s, 12 seconds passed +... 92%, 641504 KB, 49553 KB/s, 12 seconds passed +... 92%, 641536 KB, 49555 KB/s, 12 seconds passed +... 92%, 641568 KB, 49556 KB/s, 12 seconds passed +... 92%, 641600 KB, 49558 KB/s, 12 seconds passed +... 92%, 641632 KB, 49559 KB/s, 12 seconds passed +... 92%, 641664 KB, 49561 KB/s, 12 seconds passed +... 92%, 641696 KB, 49563 KB/s, 12 seconds passed +... 92%, 641728 KB, 49564 KB/s, 12 seconds passed +... 92%, 641760 KB, 49566 KB/s, 12 seconds passed +... 92%, 641792 KB, 49567 KB/s, 12 seconds passed +... 92%, 641824 KB, 49569 KB/s, 12 seconds passed +... 92%, 641856 KB, 49570 KB/s, 12 seconds passed +... 92%, 641888 KB, 49572 KB/s, 12 seconds passed +... 92%, 641920 KB, 49574 KB/s, 12 seconds passed +... 92%, 641952 KB, 49575 KB/s, 12 seconds passed +... 92%, 641984 KB, 49577 KB/s, 12 seconds passed +... 92%, 642016 KB, 49578 KB/s, 12 seconds passed +... 92%, 642048 KB, 49580 KB/s, 12 seconds passed +... 92%, 642080 KB, 49581 KB/s, 12 seconds passed +... 92%, 642112 KB, 49583 KB/s, 12 seconds passed +... 92%, 642144 KB, 49585 KB/s, 12 seconds passed +... 92%, 642176 KB, 49586 KB/s, 12 seconds passed +... 92%, 642208 KB, 49587 KB/s, 12 seconds passed +... 92%, 642240 KB, 49588 KB/s, 12 seconds passed +... 92%, 642272 KB, 49590 KB/s, 12 seconds passed +... 92%, 642304 KB, 49592 KB/s, 12 seconds passed +... 92%, 642336 KB, 49593 KB/s, 12 seconds passed +... 92%, 642368 KB, 49594 KB/s, 12 seconds passed +... 92%, 642400 KB, 49596 KB/s, 12 seconds passed +... 92%, 642432 KB, 49597 KB/s, 12 seconds passed +... 92%, 642464 KB, 49598 KB/s, 12 seconds passed +... 92%, 642496 KB, 49600 KB/s, 12 seconds passed +... 92%, 642528 KB, 49601 KB/s, 12 seconds passed +... 92%, 642560 KB, 49603 KB/s, 12 seconds passed +... 92%, 642592 KB, 49604 KB/s, 12 seconds passed +... 92%, 642624 KB, 49606 KB/s, 12 seconds passed +... 92%, 642656 KB, 49607 KB/s, 12 seconds passed +... 92%, 642688 KB, 49609 KB/s, 12 seconds passed +... 92%, 642720 KB, 49610 KB/s, 12 seconds passed +... 92%, 642752 KB, 49611 KB/s, 12 seconds passed +... 92%, 642784 KB, 49613 KB/s, 12 seconds passed +... 92%, 642816 KB, 49614 KB/s, 12 seconds passed +... 92%, 642848 KB, 49615 KB/s, 12 seconds passed +... 92%, 642880 KB, 49616 KB/s, 12 seconds passed +... 92%, 642912 KB, 49617 KB/s, 12 seconds passed +... 92%, 642944 KB, 49619 KB/s, 12 seconds passed +... 92%, 642976 KB, 49620 KB/s, 12 seconds passed +... 92%, 643008 KB, 49622 KB/s, 12 seconds passed +... 92%, 643040 KB, 49624 KB/s, 12 seconds passed +... 92%, 643072 KB, 49625 KB/s, 12 seconds passed +... 92%, 643104 KB, 49627 KB/s, 12 seconds passed +... 92%, 643136 KB, 49628 KB/s, 12 seconds passed +... 92%, 643168 KB, 49630 KB/s, 12 seconds passed +... 92%, 643200 KB, 49631 KB/s, 12 seconds passed +... 92%, 643232 KB, 49632 KB/s, 12 seconds passed +... 92%, 643264 KB, 49634 KB/s, 12 seconds passed +... 92%, 643296 KB, 49635 KB/s, 12 seconds passed +... 92%, 643328 KB, 49636 KB/s, 12 seconds passed +... 92%, 643360 KB, 49638 KB/s, 12 seconds passed +... 92%, 643392 KB, 49639 KB/s, 12 seconds passed +... 92%, 643424 KB, 49641 KB/s, 12 seconds passed +... 92%, 643456 KB, 49642 KB/s, 12 seconds passed +... 92%, 643488 KB, 49643 KB/s, 12 seconds passed +... 92%, 643520 KB, 49645 KB/s, 12 seconds passed +... 92%, 643552 KB, 49646 KB/s, 12 seconds passed +... 92%, 643584 KB, 49648 KB/s, 12 seconds passed +... 92%, 643616 KB, 49649 KB/s, 12 seconds passed +... 92%, 643648 KB, 49650 KB/s, 12 seconds passed +... 92%, 643680 KB, 49652 KB/s, 12 seconds passed +... 92%, 643712 KB, 49653 KB/s, 12 seconds passed +... 92%, 643744 KB, 49655 KB/s, 12 seconds passed +... 92%, 643776 KB, 49656 KB/s, 12 seconds passed +... 92%, 643808 KB, 49658 KB/s, 12 seconds passed +... 92%, 643840 KB, 49659 KB/s, 12 seconds passed +... 92%, 643872 KB, 49660 KB/s, 12 seconds passed +... 92%, 643904 KB, 49662 KB/s, 12 seconds passed +... 92%, 643936 KB, 49663 KB/s, 12 seconds passed +... 92%, 643968 KB, 49664 KB/s, 12 seconds passed +... 92%, 644000 KB, 49666 KB/s, 12 seconds passed +... 92%, 644032 KB, 49667 KB/s, 12 seconds passed +... 92%, 644064 KB, 49669 KB/s, 12 seconds passed +... 92%, 644096 KB, 49670 KB/s, 12 seconds passed +... 92%, 644128 KB, 49671 KB/s, 12 seconds passed +... 92%, 644160 KB, 49673 KB/s, 12 seconds passed +... 92%, 644192 KB, 49674 KB/s, 12 seconds passed +... 92%, 644224 KB, 49676 KB/s, 12 seconds passed +... 92%, 644256 KB, 49677 KB/s, 12 seconds passed +... 92%, 644288 KB, 49679 KB/s, 12 seconds passed +... 92%, 644320 KB, 49680 KB/s, 12 seconds passed +... 92%, 644352 KB, 49681 KB/s, 12 seconds passed +... 92%, 644384 KB, 49683 KB/s, 12 seconds passed +... 92%, 644416 KB, 49684 KB/s, 12 seconds passed +... 92%, 644448 KB, 49686 KB/s, 12 seconds passed +... 92%, 644480 KB, 49687 KB/s, 12 seconds passed +... 92%, 644512 KB, 49688 KB/s, 12 seconds passed +... 92%, 644544 KB, 49690 KB/s, 12 seconds passed +... 92%, 644576 KB, 49691 KB/s, 12 seconds passed +... 92%, 644608 KB, 49693 KB/s, 12 seconds passed +... 92%, 644640 KB, 49694 KB/s, 12 seconds passed +... 92%, 644672 KB, 49695 KB/s, 12 seconds passed + +.. parsed-literal:: + + ... 92%, 644704 KB, 49697 KB/s, 12 seconds passed +... 92%, 644736 KB, 49698 KB/s, 12 seconds passed +... 92%, 644768 KB, 49700 KB/s, 12 seconds passed +... 92%, 644800 KB, 49701 KB/s, 12 seconds passed +... 92%, 644832 KB, 49702 KB/s, 12 seconds passed +... 92%, 644864 KB, 49704 KB/s, 12 seconds passed +... 92%, 644896 KB, 49705 KB/s, 12 seconds passed +... 92%, 644928 KB, 49706 KB/s, 12 seconds passed +... 92%, 644960 KB, 49708 KB/s, 12 seconds passed +... 92%, 644992 KB, 49709 KB/s, 12 seconds passed +... 92%, 645024 KB, 49711 KB/s, 12 seconds passed +... 92%, 645056 KB, 49712 KB/s, 12 seconds passed +... 92%, 645088 KB, 49713 KB/s, 12 seconds passed +... 92%, 645120 KB, 49617 KB/s, 13 seconds passed +... 92%, 645152 KB, 49618 KB/s, 13 seconds passed +... 92%, 645184 KB, 49617 KB/s, 13 seconds passed +... 92%, 645216 KB, 49619 KB/s, 13 seconds passed +... 92%, 645248 KB, 49620 KB/s, 13 seconds passed +... 92%, 645280 KB, 49621 KB/s, 13 seconds passed +... 92%, 645312 KB, 49623 KB/s, 13 seconds passed +... 92%, 645344 KB, 49624 KB/s, 13 seconds passed +... 92%, 645376 KB, 49616 KB/s, 13 seconds passed +... 92%, 645408 KB, 49618 KB/s, 13 seconds passed +... 92%, 645440 KB, 49619 KB/s, 13 seconds passed +... 92%, 645472 KB, 49620 KB/s, 13 seconds passed +... 92%, 645504 KB, 49621 KB/s, 13 seconds passed +... 92%, 645536 KB, 49623 KB/s, 13 seconds passed +... 92%, 645568 KB, 49624 KB/s, 13 seconds passed +... 92%, 645600 KB, 49625 KB/s, 13 seconds passed +... 92%, 645632 KB, 49627 KB/s, 13 seconds passed +... 92%, 645664 KB, 49628 KB/s, 13 seconds passed +... 92%, 645696 KB, 49629 KB/s, 13 seconds passed +... 92%, 645728 KB, 49630 KB/s, 13 seconds passed +... 92%, 645760 KB, 49632 KB/s, 13 seconds passed +... 92%, 645792 KB, 49633 KB/s, 13 seconds passed +... 92%, 645824 KB, 49634 KB/s, 13 seconds passed +... 92%, 645856 KB, 49636 KB/s, 13 seconds passed +... 92%, 645888 KB, 49637 KB/s, 13 seconds passed +... 92%, 645920 KB, 49638 KB/s, 13 seconds passed +... 92%, 645952 KB, 49640 KB/s, 13 seconds passed +... 92%, 645984 KB, 49641 KB/s, 13 seconds passed +... 92%, 646016 KB, 49623 KB/s, 13 seconds passed +... 92%, 646048 KB, 49625 KB/s, 13 seconds passed +... 92%, 646080 KB, 49626 KB/s, 13 seconds passed +... 92%, 646112 KB, 49627 KB/s, 13 seconds passed +... 92%, 646144 KB, 49628 KB/s, 13 seconds passed +... 92%, 646176 KB, 49630 KB/s, 13 seconds passed +... 92%, 646208 KB, 49631 KB/s, 13 seconds passed +... 92%, 646240 KB, 49632 KB/s, 13 seconds passed +... 92%, 646272 KB, 49634 KB/s, 13 seconds passed +... 92%, 646304 KB, 49635 KB/s, 13 seconds passed +... 92%, 646336 KB, 49636 KB/s, 13 seconds passed +... 92%, 646368 KB, 49637 KB/s, 13 seconds passed +... 92%, 646400 KB, 49639 KB/s, 13 seconds passed +... 92%, 646432 KB, 49640 KB/s, 13 seconds passed +... 92%, 646464 KB, 49641 KB/s, 13 seconds passed +... 92%, 646496 KB, 49643 KB/s, 13 seconds passed +... 92%, 646528 KB, 49644 KB/s, 13 seconds passed +... 92%, 646560 KB, 49645 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 92%, 646592 KB, 49647 KB/s, 13 seconds passed +... 92%, 646624 KB, 49648 KB/s, 13 seconds passed +... 92%, 646656 KB, 49649 KB/s, 13 seconds passed +... 92%, 646688 KB, 49650 KB/s, 13 seconds passed +... 92%, 646720 KB, 49652 KB/s, 13 seconds passed +... 92%, 646752 KB, 49653 KB/s, 13 seconds passed +... 92%, 646784 KB, 49654 KB/s, 13 seconds passed +... 92%, 646816 KB, 49656 KB/s, 13 seconds passed +... 93%, 646848 KB, 49657 KB/s, 13 seconds passed +... 93%, 646880 KB, 49658 KB/s, 13 seconds passed +... 93%, 646912 KB, 49660 KB/s, 13 seconds passed +... 93%, 646944 KB, 49661 KB/s, 13 seconds passed +... 93%, 646976 KB, 49662 KB/s, 13 seconds passed +... 93%, 647008 KB, 49664 KB/s, 13 seconds passed +... 93%, 647040 KB, 49665 KB/s, 13 seconds passed +... 93%, 647072 KB, 49667 KB/s, 13 seconds passed +... 93%, 647104 KB, 49668 KB/s, 13 seconds passed +... 93%, 647136 KB, 49670 KB/s, 13 seconds passed +... 93%, 647168 KB, 49671 KB/s, 13 seconds passed +... 93%, 647200 KB, 49673 KB/s, 13 seconds passed +... 93%, 647232 KB, 49674 KB/s, 13 seconds passed +... 93%, 647264 KB, 49676 KB/s, 13 seconds passed +... 93%, 647296 KB, 49677 KB/s, 13 seconds passed +... 93%, 647328 KB, 49679 KB/s, 13 seconds passed +... 93%, 647360 KB, 49680 KB/s, 13 seconds passed +... 93%, 647392 KB, 49682 KB/s, 13 seconds passed +... 93%, 647424 KB, 49684 KB/s, 13 seconds passed +... 93%, 647456 KB, 49685 KB/s, 13 seconds passed +... 93%, 647488 KB, 49686 KB/s, 13 seconds passed +... 93%, 647520 KB, 49688 KB/s, 13 seconds passed +... 93%, 647552 KB, 49689 KB/s, 13 seconds passed +... 93%, 647584 KB, 49691 KB/s, 13 seconds passed +... 93%, 647616 KB, 49692 KB/s, 13 seconds passed +... 93%, 647648 KB, 49694 KB/s, 13 seconds passed +... 93%, 647680 KB, 49695 KB/s, 13 seconds passed +... 93%, 647712 KB, 49697 KB/s, 13 seconds passed +... 93%, 647744 KB, 49698 KB/s, 13 seconds passed +... 93%, 647776 KB, 49700 KB/s, 13 seconds passed +... 93%, 647808 KB, 49701 KB/s, 13 seconds passed +... 93%, 647840 KB, 49703 KB/s, 13 seconds passed +... 93%, 647872 KB, 49704 KB/s, 13 seconds passed +... 93%, 647904 KB, 49705 KB/s, 13 seconds passed +... 93%, 647936 KB, 49707 KB/s, 13 seconds passed +... 93%, 647968 KB, 49708 KB/s, 13 seconds passed +... 93%, 648000 KB, 49710 KB/s, 13 seconds passed +... 93%, 648032 KB, 49711 KB/s, 13 seconds passed +... 93%, 648064 KB, 49712 KB/s, 13 seconds passed +... 93%, 648096 KB, 49714 KB/s, 13 seconds passed +... 93%, 648128 KB, 49715 KB/s, 13 seconds passed +... 93%, 648160 KB, 49717 KB/s, 13 seconds passed +... 93%, 648192 KB, 49718 KB/s, 13 seconds passed +... 93%, 648224 KB, 49719 KB/s, 13 seconds passed +... 93%, 648256 KB, 49721 KB/s, 13 seconds passed +... 93%, 648288 KB, 49722 KB/s, 13 seconds passed +... 93%, 648320 KB, 49723 KB/s, 13 seconds passed +... 93%, 648352 KB, 49725 KB/s, 13 seconds passed +... 93%, 648384 KB, 49699 KB/s, 13 seconds passed +... 93%, 648416 KB, 49700 KB/s, 13 seconds passed +... 93%, 648448 KB, 49701 KB/s, 13 seconds passed +... 93%, 648480 KB, 49703 KB/s, 13 seconds passed +... 93%, 648512 KB, 49704 KB/s, 13 seconds passed +... 93%, 648544 KB, 49706 KB/s, 13 seconds passed +... 93%, 648576 KB, 49707 KB/s, 13 seconds passed +... 93%, 648608 KB, 49708 KB/s, 13 seconds passed +... 93%, 648640 KB, 49710 KB/s, 13 seconds passed +... 93%, 648672 KB, 49711 KB/s, 13 seconds passed +... 93%, 648704 KB, 49712 KB/s, 13 seconds passed +... 93%, 648736 KB, 49714 KB/s, 13 seconds passed +... 93%, 648768 KB, 49715 KB/s, 13 seconds passed +... 93%, 648800 KB, 49717 KB/s, 13 seconds passed +... 93%, 648832 KB, 49718 KB/s, 13 seconds passed +... 93%, 648864 KB, 49720 KB/s, 13 seconds passed +... 93%, 648896 KB, 49721 KB/s, 13 seconds passed +... 93%, 648928 KB, 49722 KB/s, 13 seconds passed +... 93%, 648960 KB, 49724 KB/s, 13 seconds passed +... 93%, 648992 KB, 49725 KB/s, 13 seconds passed +... 93%, 649024 KB, 49726 KB/s, 13 seconds passed +... 93%, 649056 KB, 49728 KB/s, 13 seconds passed +... 93%, 649088 KB, 49729 KB/s, 13 seconds passed +... 93%, 649120 KB, 49730 KB/s, 13 seconds passed +... 93%, 649152 KB, 49732 KB/s, 13 seconds passed +... 93%, 649184 KB, 49733 KB/s, 13 seconds passed +... 93%, 649216 KB, 49735 KB/s, 13 seconds passed +... 93%, 649248 KB, 49736 KB/s, 13 seconds passed +... 93%, 649280 KB, 49737 KB/s, 13 seconds passed +... 93%, 649312 KB, 49739 KB/s, 13 seconds passed +... 93%, 649344 KB, 49740 KB/s, 13 seconds passed +... 93%, 649376 KB, 49742 KB/s, 13 seconds passed +... 93%, 649408 KB, 49743 KB/s, 13 seconds passed +... 93%, 649440 KB, 49744 KB/s, 13 seconds passed +... 93%, 649472 KB, 49746 KB/s, 13 seconds passed +... 93%, 649504 KB, 49747 KB/s, 13 seconds passed +... 93%, 649536 KB, 49749 KB/s, 13 seconds passed +... 93%, 649568 KB, 49750 KB/s, 13 seconds passed +... 93%, 649600 KB, 49751 KB/s, 13 seconds passed +... 93%, 649632 KB, 49753 KB/s, 13 seconds passed +... 93%, 649664 KB, 49754 KB/s, 13 seconds passed +... 93%, 649696 KB, 49755 KB/s, 13 seconds passed +... 93%, 649728 KB, 49757 KB/s, 13 seconds passed +... 93%, 649760 KB, 49758 KB/s, 13 seconds passed +... 93%, 649792 KB, 49760 KB/s, 13 seconds passed +... 93%, 649824 KB, 49761 KB/s, 13 seconds passed +... 93%, 649856 KB, 49762 KB/s, 13 seconds passed +... 93%, 649888 KB, 49764 KB/s, 13 seconds passed +... 93%, 649920 KB, 49765 KB/s, 13 seconds passed +... 93%, 649952 KB, 49767 KB/s, 13 seconds passed +... 93%, 649984 KB, 49768 KB/s, 13 seconds passed +... 93%, 650016 KB, 49769 KB/s, 13 seconds passed +... 93%, 650048 KB, 49771 KB/s, 13 seconds passed +... 93%, 650080 KB, 49772 KB/s, 13 seconds passed +... 93%, 650112 KB, 49773 KB/s, 13 seconds passed +... 93%, 650144 KB, 49775 KB/s, 13 seconds passed +... 93%, 650176 KB, 49776 KB/s, 13 seconds passed +... 93%, 650208 KB, 49777 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 93%, 650240 KB, 49667 KB/s, 13 seconds passed +... 93%, 650272 KB, 49668 KB/s, 13 seconds passed +... 93%, 650304 KB, 49669 KB/s, 13 seconds passed +... 93%, 650336 KB, 49670 KB/s, 13 seconds passed +... 93%, 650368 KB, 49671 KB/s, 13 seconds passed +... 93%, 650400 KB, 49673 KB/s, 13 seconds passed +... 93%, 650432 KB, 49674 KB/s, 13 seconds passed +... 93%, 650464 KB, 49675 KB/s, 13 seconds passed +... 93%, 650496 KB, 49676 KB/s, 13 seconds passed +... 93%, 650528 KB, 49678 KB/s, 13 seconds passed +... 93%, 650560 KB, 49679 KB/s, 13 seconds passed +... 93%, 650592 KB, 49680 KB/s, 13 seconds passed +... 93%, 650624 KB, 49682 KB/s, 13 seconds passed +... 93%, 650656 KB, 49683 KB/s, 13 seconds passed +... 93%, 650688 KB, 49684 KB/s, 13 seconds passed +... 93%, 650720 KB, 49685 KB/s, 13 seconds passed +... 93%, 650752 KB, 49687 KB/s, 13 seconds passed +... 93%, 650784 KB, 49688 KB/s, 13 seconds passed +... 93%, 650816 KB, 49689 KB/s, 13 seconds passed +... 93%, 650848 KB, 49690 KB/s, 13 seconds passed +... 93%, 650880 KB, 49692 KB/s, 13 seconds passed +... 93%, 650912 KB, 49693 KB/s, 13 seconds passed +... 93%, 650944 KB, 49694 KB/s, 13 seconds passed +... 93%, 650976 KB, 49696 KB/s, 13 seconds passed +... 93%, 651008 KB, 49695 KB/s, 13 seconds passed +... 93%, 651040 KB, 49696 KB/s, 13 seconds passed +... 93%, 651072 KB, 49698 KB/s, 13 seconds passed +... 93%, 651104 KB, 49699 KB/s, 13 seconds passed +... 93%, 651136 KB, 49700 KB/s, 13 seconds passed +... 93%, 651168 KB, 49702 KB/s, 13 seconds passed +... 93%, 651200 KB, 49703 KB/s, 13 seconds passed +... 93%, 651232 KB, 49704 KB/s, 13 seconds passed +... 93%, 651264 KB, 49705 KB/s, 13 seconds passed +... 93%, 651296 KB, 49707 KB/s, 13 seconds passed +... 93%, 651328 KB, 49708 KB/s, 13 seconds passed +... 93%, 651360 KB, 49709 KB/s, 13 seconds passed +... 93%, 651392 KB, 49711 KB/s, 13 seconds passed +... 93%, 651424 KB, 49712 KB/s, 13 seconds passed +... 93%, 651456 KB, 49713 KB/s, 13 seconds passed +... 93%, 651488 KB, 49714 KB/s, 13 seconds passed +... 93%, 651520 KB, 49716 KB/s, 13 seconds passed +... 93%, 651552 KB, 49717 KB/s, 13 seconds passed +... 93%, 651584 KB, 49718 KB/s, 13 seconds passed +... 93%, 651616 KB, 49720 KB/s, 13 seconds passed +... 93%, 651648 KB, 49721 KB/s, 13 seconds passed +... 93%, 651680 KB, 49722 KB/s, 13 seconds passed +... 93%, 651712 KB, 49723 KB/s, 13 seconds passed +... 93%, 651744 KB, 49725 KB/s, 13 seconds passed +... 93%, 651776 KB, 49726 KB/s, 13 seconds passed +... 93%, 651808 KB, 49727 KB/s, 13 seconds passed +... 93%, 651840 KB, 49728 KB/s, 13 seconds passed +... 93%, 651872 KB, 49730 KB/s, 13 seconds passed +... 93%, 651904 KB, 49731 KB/s, 13 seconds passed +... 93%, 651936 KB, 49733 KB/s, 13 seconds passed +... 93%, 651968 KB, 49735 KB/s, 13 seconds passed +... 93%, 652000 KB, 49736 KB/s, 13 seconds passed +... 93%, 652032 KB, 49738 KB/s, 13 seconds passed +... 93%, 652064 KB, 49740 KB/s, 13 seconds passed +... 93%, 652096 KB, 49741 KB/s, 13 seconds passed +... 93%, 652128 KB, 49743 KB/s, 13 seconds passed +... 93%, 652160 KB, 49745 KB/s, 13 seconds passed +... 93%, 652192 KB, 49746 KB/s, 13 seconds passed +... 93%, 652224 KB, 49748 KB/s, 13 seconds passed +... 93%, 652256 KB, 49750 KB/s, 13 seconds passed +... 93%, 652288 KB, 49751 KB/s, 13 seconds passed +... 93%, 652320 KB, 49752 KB/s, 13 seconds passed +... 93%, 652352 KB, 49754 KB/s, 13 seconds passed +... 93%, 652384 KB, 49755 KB/s, 13 seconds passed +... 93%, 652416 KB, 49756 KB/s, 13 seconds passed +... 93%, 652448 KB, 49758 KB/s, 13 seconds passed +... 93%, 652480 KB, 49759 KB/s, 13 seconds passed +... 93%, 652512 KB, 49761 KB/s, 13 seconds passed +... 93%, 652544 KB, 49762 KB/s, 13 seconds passed +... 93%, 652576 KB, 49764 KB/s, 13 seconds passed +... 93%, 652608 KB, 49765 KB/s, 13 seconds passed +... 93%, 652640 KB, 49766 KB/s, 13 seconds passed +... 93%, 652672 KB, 49767 KB/s, 13 seconds passed +... 93%, 652704 KB, 49769 KB/s, 13 seconds passed +... 93%, 652736 KB, 49770 KB/s, 13 seconds passed +... 93%, 652768 KB, 49772 KB/s, 13 seconds passed +... 93%, 652800 KB, 49773 KB/s, 13 seconds passed +... 93%, 652832 KB, 49774 KB/s, 13 seconds passed +... 93%, 652864 KB, 49776 KB/s, 13 seconds passed +... 93%, 652896 KB, 49777 KB/s, 13 seconds passed +... 93%, 652928 KB, 49779 KB/s, 13 seconds passed +... 93%, 652960 KB, 49780 KB/s, 13 seconds passed +... 93%, 652992 KB, 49781 KB/s, 13 seconds passed +... 93%, 653024 KB, 49782 KB/s, 13 seconds passed +... 93%, 653056 KB, 49784 KB/s, 13 seconds passed +... 93%, 653088 KB, 49785 KB/s, 13 seconds passed +... 93%, 653120 KB, 49787 KB/s, 13 seconds passed +... 93%, 653152 KB, 49788 KB/s, 13 seconds passed +... 93%, 653184 KB, 49789 KB/s, 13 seconds passed +... 93%, 653216 KB, 49791 KB/s, 13 seconds passed +... 93%, 653248 KB, 49791 KB/s, 13 seconds passed +... 93%, 653280 KB, 49793 KB/s, 13 seconds passed +... 93%, 653312 KB, 49794 KB/s, 13 seconds passed +... 93%, 653344 KB, 49796 KB/s, 13 seconds passed +... 93%, 653376 KB, 49797 KB/s, 13 seconds passed +... 93%, 653408 KB, 49799 KB/s, 13 seconds passed +... 93%, 653440 KB, 49800 KB/s, 13 seconds passed +... 93%, 653472 KB, 49802 KB/s, 13 seconds passed +... 93%, 653504 KB, 49803 KB/s, 13 seconds passed +... 93%, 653536 KB, 49805 KB/s, 13 seconds passed +... 93%, 653568 KB, 49806 KB/s, 13 seconds passed +... 93%, 653600 KB, 49807 KB/s, 13 seconds passed +... 93%, 653632 KB, 49808 KB/s, 13 seconds passed +... 93%, 653664 KB, 49809 KB/s, 13 seconds passed +... 93%, 653696 KB, 49810 KB/s, 13 seconds passed +... 93%, 653728 KB, 49812 KB/s, 13 seconds passed +... 93%, 653760 KB, 49814 KB/s, 13 seconds passed +... 94%, 653792 KB, 49815 KB/s, 13 seconds passed +... 94%, 653824 KB, 49816 KB/s, 13 seconds passed +... 94%, 653856 KB, 49818 KB/s, 13 seconds passed +... 94%, 653888 KB, 49819 KB/s, 13 seconds passed +... 94%, 653920 KB, 49821 KB/s, 13 seconds passed +... 94%, 653952 KB, 49822 KB/s, 13 seconds passed +... 94%, 653984 KB, 49824 KB/s, 13 seconds passed +... 94%, 654016 KB, 49825 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 94%, 654048 KB, 49826 KB/s, 13 seconds passed +... 94%, 654080 KB, 49828 KB/s, 13 seconds passed +... 94%, 654112 KB, 49828 KB/s, 13 seconds passed +... 94%, 654144 KB, 49830 KB/s, 13 seconds passed +... 94%, 654176 KB, 49831 KB/s, 13 seconds passed +... 94%, 654208 KB, 49833 KB/s, 13 seconds passed +... 94%, 654240 KB, 49834 KB/s, 13 seconds passed +... 94%, 654272 KB, 49836 KB/s, 13 seconds passed +... 94%, 654304 KB, 49837 KB/s, 13 seconds passed +... 94%, 654336 KB, 49839 KB/s, 13 seconds passed +... 94%, 654368 KB, 49840 KB/s, 13 seconds passed +... 94%, 654400 KB, 49842 KB/s, 13 seconds passed +... 94%, 654432 KB, 49843 KB/s, 13 seconds passed +... 94%, 654464 KB, 49844 KB/s, 13 seconds passed +... 94%, 654496 KB, 49845 KB/s, 13 seconds passed +... 94%, 654528 KB, 49847 KB/s, 13 seconds passed +... 94%, 654560 KB, 49848 KB/s, 13 seconds passed +... 94%, 654592 KB, 49850 KB/s, 13 seconds passed +... 94%, 654624 KB, 49851 KB/s, 13 seconds passed +... 94%, 654656 KB, 49852 KB/s, 13 seconds passed +... 94%, 654688 KB, 49854 KB/s, 13 seconds passed +... 94%, 654720 KB, 49855 KB/s, 13 seconds passed +... 94%, 654752 KB, 49856 KB/s, 13 seconds passed +... 94%, 654784 KB, 49857 KB/s, 13 seconds passed +... 94%, 654816 KB, 49859 KB/s, 13 seconds passed +... 94%, 654848 KB, 49860 KB/s, 13 seconds passed +... 94%, 654880 KB, 49862 KB/s, 13 seconds passed +... 94%, 654912 KB, 49863 KB/s, 13 seconds passed +... 94%, 654944 KB, 49865 KB/s, 13 seconds passed +... 94%, 654976 KB, 49866 KB/s, 13 seconds passed +... 94%, 655008 KB, 49868 KB/s, 13 seconds passed +... 94%, 655040 KB, 49869 KB/s, 13 seconds passed +... 94%, 655072 KB, 49871 KB/s, 13 seconds passed +... 94%, 655104 KB, 49871 KB/s, 13 seconds passed +... 94%, 655136 KB, 49872 KB/s, 13 seconds passed +... 94%, 655168 KB, 49874 KB/s, 13 seconds passed +... 94%, 655200 KB, 49876 KB/s, 13 seconds passed +... 94%, 655232 KB, 49877 KB/s, 13 seconds passed +... 94%, 655264 KB, 49879 KB/s, 13 seconds passed +... 94%, 655296 KB, 49880 KB/s, 13 seconds passed +... 94%, 655328 KB, 49881 KB/s, 13 seconds passed +... 94%, 655360 KB, 49788 KB/s, 13 seconds passed +... 94%, 655392 KB, 49789 KB/s, 13 seconds passed +... 94%, 655424 KB, 49790 KB/s, 13 seconds passed +... 94%, 655456 KB, 49791 KB/s, 13 seconds passed +... 94%, 655488 KB, 49793 KB/s, 13 seconds passed +... 94%, 655520 KB, 49794 KB/s, 13 seconds passed +... 94%, 655552 KB, 49795 KB/s, 13 seconds passed +... 94%, 655584 KB, 49796 KB/s, 13 seconds passed +... 94%, 655616 KB, 49797 KB/s, 13 seconds passed +... 94%, 655648 KB, 49798 KB/s, 13 seconds passed +... 94%, 655680 KB, 49798 KB/s, 13 seconds passed +... 94%, 655712 KB, 49797 KB/s, 13 seconds passed +... 94%, 655744 KB, 49798 KB/s, 13 seconds passed +... 94%, 655776 KB, 49799 KB/s, 13 seconds passed +... 94%, 655808 KB, 49800 KB/s, 13 seconds passed +... 94%, 655840 KB, 49801 KB/s, 13 seconds passed +... 94%, 655872 KB, 49803 KB/s, 13 seconds passed +... 94%, 655904 KB, 49804 KB/s, 13 seconds passed +... 94%, 655936 KB, 49805 KB/s, 13 seconds passed +... 94%, 655968 KB, 49807 KB/s, 13 seconds passed +... 94%, 656000 KB, 49808 KB/s, 13 seconds passed +... 94%, 656032 KB, 49809 KB/s, 13 seconds passed +... 94%, 656064 KB, 49810 KB/s, 13 seconds passed +... 94%, 656096 KB, 49812 KB/s, 13 seconds passed +... 94%, 656128 KB, 49813 KB/s, 13 seconds passed +... 94%, 656160 KB, 49814 KB/s, 13 seconds passed +... 94%, 656192 KB, 49816 KB/s, 13 seconds passed +... 94%, 656224 KB, 49817 KB/s, 13 seconds passed +... 94%, 656256 KB, 49818 KB/s, 13 seconds passed +... 94%, 656288 KB, 49819 KB/s, 13 seconds passed +... 94%, 656320 KB, 49821 KB/s, 13 seconds passed +... 94%, 656352 KB, 49822 KB/s, 13 seconds passed +... 94%, 656384 KB, 49823 KB/s, 13 seconds passed +... 94%, 656416 KB, 49825 KB/s, 13 seconds passed +... 94%, 656448 KB, 49826 KB/s, 13 seconds passed +... 94%, 656480 KB, 49827 KB/s, 13 seconds passed +... 94%, 656512 KB, 49828 KB/s, 13 seconds passed +... 94%, 656544 KB, 49830 KB/s, 13 seconds passed +... 94%, 656576 KB, 49831 KB/s, 13 seconds passed +... 94%, 656608 KB, 49832 KB/s, 13 seconds passed +... 94%, 656640 KB, 49833 KB/s, 13 seconds passed +... 94%, 656672 KB, 49835 KB/s, 13 seconds passed +... 94%, 656704 KB, 49836 KB/s, 13 seconds passed +... 94%, 656736 KB, 49837 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 94%, 656768 KB, 49839 KB/s, 13 seconds passed +... 94%, 656800 KB, 49840 KB/s, 13 seconds passed +... 94%, 656832 KB, 49842 KB/s, 13 seconds passed +... 94%, 656864 KB, 49843 KB/s, 13 seconds passed +... 94%, 656896 KB, 49845 KB/s, 13 seconds passed +... 94%, 656928 KB, 49847 KB/s, 13 seconds passed +... 94%, 656960 KB, 49848 KB/s, 13 seconds passed +... 94%, 656992 KB, 49850 KB/s, 13 seconds passed +... 94%, 657024 KB, 49852 KB/s, 13 seconds passed +... 94%, 657056 KB, 49853 KB/s, 13 seconds passed +... 94%, 657088 KB, 49855 KB/s, 13 seconds passed +... 94%, 657120 KB, 49856 KB/s, 13 seconds passed +... 94%, 657152 KB, 49858 KB/s, 13 seconds passed +... 94%, 657184 KB, 49859 KB/s, 13 seconds passed +... 94%, 657216 KB, 49861 KB/s, 13 seconds passed +... 94%, 657248 KB, 49862 KB/s, 13 seconds passed +... 94%, 657280 KB, 49863 KB/s, 13 seconds passed +... 94%, 657312 KB, 49865 KB/s, 13 seconds passed +... 94%, 657344 KB, 49866 KB/s, 13 seconds passed +... 94%, 657376 KB, 49868 KB/s, 13 seconds passed +... 94%, 657408 KB, 49869 KB/s, 13 seconds passed +... 94%, 657440 KB, 49871 KB/s, 13 seconds passed +... 94%, 657472 KB, 49711 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 94%, 657504 KB, 49693 KB/s, 13 seconds passed +... 94%, 657536 KB, 49694 KB/s, 13 seconds passed +... 94%, 657568 KB, 49695 KB/s, 13 seconds passed +... 94%, 657600 KB, 49696 KB/s, 13 seconds passed +... 94%, 657632 KB, 49698 KB/s, 13 seconds passed +... 94%, 657664 KB, 49699 KB/s, 13 seconds passed +... 94%, 657696 KB, 49700 KB/s, 13 seconds passed +... 94%, 657728 KB, 49701 KB/s, 13 seconds passed +... 94%, 657760 KB, 49703 KB/s, 13 seconds passed +... 94%, 657792 KB, 49704 KB/s, 13 seconds passed +... 94%, 657824 KB, 49705 KB/s, 13 seconds passed +... 94%, 657856 KB, 49706 KB/s, 13 seconds passed +... 94%, 657888 KB, 49708 KB/s, 13 seconds passed +... 94%, 657920 KB, 49709 KB/s, 13 seconds passed +... 94%, 657952 KB, 49710 KB/s, 13 seconds passed +... 94%, 657984 KB, 49711 KB/s, 13 seconds passed +... 94%, 658016 KB, 49712 KB/s, 13 seconds passed +... 94%, 658048 KB, 49714 KB/s, 13 seconds passed +... 94%, 658080 KB, 49715 KB/s, 13 seconds passed +... 94%, 658112 KB, 49716 KB/s, 13 seconds passed +... 94%, 658144 KB, 49718 KB/s, 13 seconds passed +... 94%, 658176 KB, 49719 KB/s, 13 seconds passed +... 94%, 658208 KB, 49720 KB/s, 13 seconds passed +... 94%, 658240 KB, 49721 KB/s, 13 seconds passed +... 94%, 658272 KB, 49723 KB/s, 13 seconds passed +... 94%, 658304 KB, 49724 KB/s, 13 seconds passed +... 94%, 658336 KB, 49725 KB/s, 13 seconds passed +... 94%, 658368 KB, 49726 KB/s, 13 seconds passed +... 94%, 658400 KB, 49728 KB/s, 13 seconds passed +... 94%, 658432 KB, 49729 KB/s, 13 seconds passed +... 94%, 658464 KB, 49730 KB/s, 13 seconds passed +... 94%, 658496 KB, 49732 KB/s, 13 seconds passed +... 94%, 658528 KB, 49733 KB/s, 13 seconds passed +... 94%, 658560 KB, 49734 KB/s, 13 seconds passed +... 94%, 658592 KB, 49736 KB/s, 13 seconds passed +... 94%, 658624 KB, 49737 KB/s, 13 seconds passed +... 94%, 658656 KB, 49739 KB/s, 13 seconds passed +... 94%, 658688 KB, 49740 KB/s, 13 seconds passed +... 94%, 658720 KB, 49741 KB/s, 13 seconds passed +... 94%, 658752 KB, 49742 KB/s, 13 seconds passed +... 94%, 658784 KB, 49744 KB/s, 13 seconds passed +... 94%, 658816 KB, 49745 KB/s, 13 seconds passed +... 94%, 658848 KB, 49746 KB/s, 13 seconds passed +... 94%, 658880 KB, 49748 KB/s, 13 seconds passed +... 94%, 658912 KB, 49749 KB/s, 13 seconds passed +... 94%, 658944 KB, 49751 KB/s, 13 seconds passed +... 94%, 658976 KB, 49752 KB/s, 13 seconds passed +... 94%, 659008 KB, 49753 KB/s, 13 seconds passed +... 94%, 659040 KB, 49755 KB/s, 13 seconds passed +... 94%, 659072 KB, 49756 KB/s, 13 seconds passed +... 94%, 659104 KB, 49757 KB/s, 13 seconds passed +... 94%, 659136 KB, 49759 KB/s, 13 seconds passed +... 94%, 659168 KB, 49760 KB/s, 13 seconds passed +... 94%, 659200 KB, 49761 KB/s, 13 seconds passed +... 94%, 659232 KB, 49763 KB/s, 13 seconds passed +... 94%, 659264 KB, 49764 KB/s, 13 seconds passed +... 94%, 659296 KB, 49765 KB/s, 13 seconds passed +... 94%, 659328 KB, 49767 KB/s, 13 seconds passed +... 94%, 659360 KB, 49768 KB/s, 13 seconds passed +... 94%, 659392 KB, 49769 KB/s, 13 seconds passed +... 94%, 659424 KB, 49771 KB/s, 13 seconds passed +... 94%, 659456 KB, 49772 KB/s, 13 seconds passed +... 94%, 659488 KB, 49774 KB/s, 13 seconds passed +... 94%, 659520 KB, 49776 KB/s, 13 seconds passed +... 94%, 659552 KB, 49777 KB/s, 13 seconds passed +... 94%, 659584 KB, 49779 KB/s, 13 seconds passed +... 94%, 659616 KB, 49781 KB/s, 13 seconds passed +... 94%, 659648 KB, 49779 KB/s, 13 seconds passed +... 94%, 659680 KB, 49780 KB/s, 13 seconds passed +... 94%, 659712 KB, 49782 KB/s, 13 seconds passed +... 94%, 659744 KB, 49784 KB/s, 13 seconds passed +... 94%, 659776 KB, 49785 KB/s, 13 seconds passed +... 94%, 659808 KB, 49786 KB/s, 13 seconds passed +... 94%, 659840 KB, 49788 KB/s, 13 seconds passed +... 94%, 659872 KB, 49789 KB/s, 13 seconds passed +... 94%, 659904 KB, 49790 KB/s, 13 seconds passed +... 94%, 659936 KB, 49792 KB/s, 13 seconds passed +... 94%, 659968 KB, 49793 KB/s, 13 seconds passed +... 94%, 660000 KB, 49795 KB/s, 13 seconds passed +... 94%, 660032 KB, 49796 KB/s, 13 seconds passed +... 94%, 660064 KB, 49797 KB/s, 13 seconds passed +... 94%, 660096 KB, 49799 KB/s, 13 seconds passed +... 94%, 660128 KB, 49800 KB/s, 13 seconds passed +... 94%, 660160 KB, 49801 KB/s, 13 seconds passed +... 94%, 660192 KB, 49803 KB/s, 13 seconds passed +... 94%, 660224 KB, 49804 KB/s, 13 seconds passed +... 94%, 660256 KB, 49805 KB/s, 13 seconds passed +... 94%, 660288 KB, 49807 KB/s, 13 seconds passed +... 94%, 660320 KB, 49808 KB/s, 13 seconds passed +... 94%, 660352 KB, 49810 KB/s, 13 seconds passed +... 94%, 660384 KB, 49811 KB/s, 13 seconds passed +... 94%, 660416 KB, 49813 KB/s, 13 seconds passed +... 94%, 660448 KB, 49813 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 94%, 660480 KB, 49584 KB/s, 13 seconds passed +... 94%, 660512 KB, 49585 KB/s, 13 seconds passed +... 94%, 660544 KB, 49586 KB/s, 13 seconds passed +... 94%, 660576 KB, 49587 KB/s, 13 seconds passed +... 94%, 660608 KB, 49587 KB/s, 13 seconds passed +... 94%, 660640 KB, 49588 KB/s, 13 seconds passed +... 94%, 660672 KB, 49589 KB/s, 13 seconds passed +... 94%, 660704 KB, 49590 KB/s, 13 seconds passed +... 95%, 660736 KB, 49591 KB/s, 13 seconds passed +... 95%, 660768 KB, 49593 KB/s, 13 seconds passed +... 95%, 660800 KB, 49594 KB/s, 13 seconds passed +... 95%, 660832 KB, 49595 KB/s, 13 seconds passed +... 95%, 660864 KB, 49596 KB/s, 13 seconds passed +... 95%, 660896 KB, 49598 KB/s, 13 seconds passed +... 95%, 660928 KB, 49599 KB/s, 13 seconds passed +... 95%, 660960 KB, 49600 KB/s, 13 seconds passed +... 95%, 660992 KB, 49601 KB/s, 13 seconds passed +... 95%, 661024 KB, 49602 KB/s, 13 seconds passed +... 95%, 661056 KB, 49603 KB/s, 13 seconds passed +... 95%, 661088 KB, 49604 KB/s, 13 seconds passed +... 95%, 661120 KB, 49604 KB/s, 13 seconds passed +... 95%, 661152 KB, 49605 KB/s, 13 seconds passed +... 95%, 661184 KB, 49606 KB/s, 13 seconds passed +... 95%, 661216 KB, 49608 KB/s, 13 seconds passed +... 95%, 661248 KB, 49606 KB/s, 13 seconds passed +... 95%, 661280 KB, 49607 KB/s, 13 seconds passed +... 95%, 661312 KB, 49608 KB/s, 13 seconds passed +... 95%, 661344 KB, 49610 KB/s, 13 seconds passed +... 95%, 661376 KB, 49610 KB/s, 13 seconds passed +... 95%, 661408 KB, 49612 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 95%, 661440 KB, 49613 KB/s, 13 seconds passed +... 95%, 661472 KB, 49614 KB/s, 13 seconds passed +... 95%, 661504 KB, 49616 KB/s, 13 seconds passed +... 95%, 661536 KB, 49617 KB/s, 13 seconds passed +... 95%, 661568 KB, 49618 KB/s, 13 seconds passed +... 95%, 661600 KB, 49620 KB/s, 13 seconds passed +... 95%, 661632 KB, 49621 KB/s, 13 seconds passed +... 95%, 661664 KB, 49622 KB/s, 13 seconds passed +... 95%, 661696 KB, 49620 KB/s, 13 seconds passed +... 95%, 661728 KB, 49621 KB/s, 13 seconds passed +... 95%, 661760 KB, 49622 KB/s, 13 seconds passed +... 95%, 661792 KB, 49624 KB/s, 13 seconds passed +... 95%, 661824 KB, 49625 KB/s, 13 seconds passed +... 95%, 661856 KB, 49626 KB/s, 13 seconds passed +... 95%, 661888 KB, 49624 KB/s, 13 seconds passed +... 95%, 661920 KB, 49625 KB/s, 13 seconds passed +... 95%, 661952 KB, 49627 KB/s, 13 seconds passed +... 95%, 661984 KB, 49628 KB/s, 13 seconds passed +... 95%, 662016 KB, 49629 KB/s, 13 seconds passed +... 95%, 662048 KB, 49630 KB/s, 13 seconds passed +... 95%, 662080 KB, 49626 KB/s, 13 seconds passed +... 95%, 662112 KB, 49628 KB/s, 13 seconds passed +... 95%, 662144 KB, 49629 KB/s, 13 seconds passed +... 95%, 662176 KB, 49631 KB/s, 13 seconds passed +... 95%, 662208 KB, 49632 KB/s, 13 seconds passed +... 95%, 662240 KB, 49634 KB/s, 13 seconds passed +... 95%, 662272 KB, 49635 KB/s, 13 seconds passed +... 95%, 662304 KB, 49636 KB/s, 13 seconds passed +... 95%, 662336 KB, 49638 KB/s, 13 seconds passed +... 95%, 662368 KB, 49639 KB/s, 13 seconds passed +... 95%, 662400 KB, 49640 KB/s, 13 seconds passed +... 95%, 662432 KB, 49642 KB/s, 13 seconds passed +... 95%, 662464 KB, 49643 KB/s, 13 seconds passed +... 95%, 662496 KB, 49645 KB/s, 13 seconds passed +... 95%, 662528 KB, 49646 KB/s, 13 seconds passed +... 95%, 662560 KB, 49647 KB/s, 13 seconds passed +... 95%, 662592 KB, 49649 KB/s, 13 seconds passed +... 95%, 662624 KB, 49650 KB/s, 13 seconds passed +... 95%, 662656 KB, 49651 KB/s, 13 seconds passed +... 95%, 662688 KB, 49653 KB/s, 13 seconds passed +... 95%, 662720 KB, 49654 KB/s, 13 seconds passed +... 95%, 662752 KB, 49655 KB/s, 13 seconds passed +... 95%, 662784 KB, 49656 KB/s, 13 seconds passed +... 95%, 662816 KB, 49658 KB/s, 13 seconds passed +... 95%, 662848 KB, 49659 KB/s, 13 seconds passed +... 95%, 662880 KB, 49661 KB/s, 13 seconds passed +... 95%, 662912 KB, 49662 KB/s, 13 seconds passed +... 95%, 662944 KB, 49663 KB/s, 13 seconds passed +... 95%, 662976 KB, 49664 KB/s, 13 seconds passed +... 95%, 663008 KB, 49665 KB/s, 13 seconds passed +... 95%, 663040 KB, 49667 KB/s, 13 seconds passed +... 95%, 663072 KB, 49668 KB/s, 13 seconds passed +... 95%, 663104 KB, 49670 KB/s, 13 seconds passed +... 95%, 663136 KB, 49671 KB/s, 13 seconds passed +... 95%, 663168 KB, 49673 KB/s, 13 seconds passed +... 95%, 663200 KB, 49674 KB/s, 13 seconds passed +... 95%, 663232 KB, 49676 KB/s, 13 seconds passed +... 95%, 663264 KB, 49677 KB/s, 13 seconds passed +... 95%, 663296 KB, 49679 KB/s, 13 seconds passed +... 95%, 663328 KB, 49680 KB/s, 13 seconds passed +... 95%, 663360 KB, 49681 KB/s, 13 seconds passed +... 95%, 663392 KB, 49683 KB/s, 13 seconds passed +... 95%, 663424 KB, 49684 KB/s, 13 seconds passed +... 95%, 663456 KB, 49685 KB/s, 13 seconds passed +... 95%, 663488 KB, 49687 KB/s, 13 seconds passed +... 95%, 663520 KB, 49688 KB/s, 13 seconds passed +... 95%, 663552 KB, 49690 KB/s, 13 seconds passed +... 95%, 663584 KB, 49691 KB/s, 13 seconds passed +... 95%, 663616 KB, 49692 KB/s, 13 seconds passed +... 95%, 663648 KB, 49693 KB/s, 13 seconds passed +... 95%, 663680 KB, 49695 KB/s, 13 seconds passed +... 95%, 663712 KB, 49696 KB/s, 13 seconds passed +... 95%, 663744 KB, 49697 KB/s, 13 seconds passed +... 95%, 663776 KB, 49699 KB/s, 13 seconds passed +... 95%, 663808 KB, 49700 KB/s, 13 seconds passed +... 95%, 663840 KB, 49702 KB/s, 13 seconds passed +... 95%, 663872 KB, 49703 KB/s, 13 seconds passed +... 95%, 663904 KB, 49704 KB/s, 13 seconds passed +... 95%, 663936 KB, 49705 KB/s, 13 seconds passed +... 95%, 663968 KB, 49707 KB/s, 13 seconds passed +... 95%, 664000 KB, 49708 KB/s, 13 seconds passed +... 95%, 664032 KB, 49710 KB/s, 13 seconds passed +... 95%, 664064 KB, 49711 KB/s, 13 seconds passed +... 95%, 664096 KB, 49713 KB/s, 13 seconds passed +... 95%, 664128 KB, 49714 KB/s, 13 seconds passed +... 95%, 664160 KB, 49715 KB/s, 13 seconds passed +... 95%, 664192 KB, 49716 KB/s, 13 seconds passed +... 95%, 664224 KB, 49718 KB/s, 13 seconds passed +... 95%, 664256 KB, 49719 KB/s, 13 seconds passed +... 95%, 664288 KB, 49721 KB/s, 13 seconds passed +... 95%, 664320 KB, 49722 KB/s, 13 seconds passed +... 95%, 664352 KB, 49723 KB/s, 13 seconds passed +... 95%, 664384 KB, 49724 KB/s, 13 seconds passed +... 95%, 664416 KB, 49726 KB/s, 13 seconds passed +... 95%, 664448 KB, 49728 KB/s, 13 seconds passed +... 95%, 664480 KB, 49729 KB/s, 13 seconds passed +... 95%, 664512 KB, 49730 KB/s, 13 seconds passed +... 95%, 664544 KB, 49732 KB/s, 13 seconds passed +... 95%, 664576 KB, 49733 KB/s, 13 seconds passed +... 95%, 664608 KB, 49734 KB/s, 13 seconds passed +... 95%, 664640 KB, 49735 KB/s, 13 seconds passed +... 95%, 664672 KB, 49736 KB/s, 13 seconds passed +... 95%, 664704 KB, 49737 KB/s, 13 seconds passed +... 95%, 664736 KB, 49738 KB/s, 13 seconds passed +... 95%, 664768 KB, 49740 KB/s, 13 seconds passed +... 95%, 664800 KB, 49742 KB/s, 13 seconds passed +... 95%, 664832 KB, 49744 KB/s, 13 seconds passed +... 95%, 664864 KB, 49745 KB/s, 13 seconds passed +... 95%, 664896 KB, 49746 KB/s, 13 seconds passed +... 95%, 664928 KB, 49747 KB/s, 13 seconds passed +... 95%, 664960 KB, 49749 KB/s, 13 seconds passed +... 95%, 664992 KB, 49750 KB/s, 13 seconds passed +... 95%, 665024 KB, 49752 KB/s, 13 seconds passed +... 95%, 665056 KB, 49753 KB/s, 13 seconds passed +... 95%, 665088 KB, 49755 KB/s, 13 seconds passed +... 95%, 665120 KB, 49756 KB/s, 13 seconds passed +... 95%, 665152 KB, 49757 KB/s, 13 seconds passed +... 95%, 665184 KB, 49759 KB/s, 13 seconds passed +... 95%, 665216 KB, 49759 KB/s, 13 seconds passed +... 95%, 665248 KB, 49760 KB/s, 13 seconds passed +... 95%, 665280 KB, 49762 KB/s, 13 seconds passed +... 95%, 665312 KB, 49763 KB/s, 13 seconds passed +... 95%, 665344 KB, 49765 KB/s, 13 seconds passed +... 95%, 665376 KB, 49766 KB/s, 13 seconds passed +... 95%, 665408 KB, 49768 KB/s, 13 seconds passed +... 95%, 665440 KB, 49769 KB/s, 13 seconds passed +... 95%, 665472 KB, 49771 KB/s, 13 seconds passed +... 95%, 665504 KB, 49772 KB/s, 13 seconds passed +... 95%, 665536 KB, 49773 KB/s, 13 seconds passed +... 95%, 665568 KB, 49775 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 95%, 665600 KB, 49483 KB/s, 13 seconds passed +... 95%, 665632 KB, 49483 KB/s, 13 seconds passed +... 95%, 665664 KB, 49484 KB/s, 13 seconds passed +... 95%, 665696 KB, 49486 KB/s, 13 seconds passed +... 95%, 665728 KB, 49487 KB/s, 13 seconds passed +... 95%, 665760 KB, 49488 KB/s, 13 seconds passed +... 95%, 665792 KB, 49489 KB/s, 13 seconds passed +... 95%, 665824 KB, 49490 KB/s, 13 seconds passed +... 95%, 665856 KB, 49492 KB/s, 13 seconds passed +... 95%, 665888 KB, 49493 KB/s, 13 seconds passed +... 95%, 665920 KB, 49494 KB/s, 13 seconds passed +... 95%, 665952 KB, 49495 KB/s, 13 seconds passed +... 95%, 665984 KB, 49497 KB/s, 13 seconds passed +... 95%, 666016 KB, 49498 KB/s, 13 seconds passed +... 95%, 666048 KB, 49499 KB/s, 13 seconds passed +... 95%, 666080 KB, 49500 KB/s, 13 seconds passed +... 95%, 666112 KB, 49502 KB/s, 13 seconds passed +... 95%, 666144 KB, 49503 KB/s, 13 seconds passed +... 95%, 666176 KB, 49504 KB/s, 13 seconds passed +... 95%, 666208 KB, 49505 KB/s, 13 seconds passed +... 95%, 666240 KB, 49507 KB/s, 13 seconds passed +... 95%, 666272 KB, 49508 KB/s, 13 seconds passed +... 95%, 666304 KB, 49509 KB/s, 13 seconds passed +... 95%, 666336 KB, 49510 KB/s, 13 seconds passed +... 95%, 666368 KB, 49512 KB/s, 13 seconds passed +... 95%, 666400 KB, 49513 KB/s, 13 seconds passed +... 95%, 666432 KB, 49514 KB/s, 13 seconds passed +... 95%, 666464 KB, 49515 KB/s, 13 seconds passed +... 95%, 666496 KB, 49516 KB/s, 13 seconds passed +... 95%, 666528 KB, 49518 KB/s, 13 seconds passed +... 95%, 666560 KB, 49519 KB/s, 13 seconds passed +... 95%, 666592 KB, 49520 KB/s, 13 seconds passed +... 95%, 666624 KB, 49521 KB/s, 13 seconds passed +... 95%, 666656 KB, 49523 KB/s, 13 seconds passed +... 95%, 666688 KB, 49524 KB/s, 13 seconds passed +... 95%, 666720 KB, 49526 KB/s, 13 seconds passed +... 95%, 666752 KB, 49528 KB/s, 13 seconds passed +... 95%, 666784 KB, 49529 KB/s, 13 seconds passed +... 95%, 666816 KB, 49531 KB/s, 13 seconds passed +... 95%, 666848 KB, 49532 KB/s, 13 seconds passed +... 95%, 666880 KB, 49534 KB/s, 13 seconds passed +... 95%, 666912 KB, 49536 KB/s, 13 seconds passed +... 95%, 666944 KB, 49537 KB/s, 13 seconds passed +... 95%, 666976 KB, 49539 KB/s, 13 seconds passed +... 95%, 667008 KB, 49540 KB/s, 13 seconds passed +... 95%, 667040 KB, 49542 KB/s, 13 seconds passed +... 95%, 667072 KB, 49544 KB/s, 13 seconds passed +... 95%, 667104 KB, 49545 KB/s, 13 seconds passed +... 95%, 667136 KB, 49547 KB/s, 13 seconds passed +... 95%, 667168 KB, 49548 KB/s, 13 seconds passed +... 95%, 667200 KB, 49550 KB/s, 13 seconds passed +... 95%, 667232 KB, 49552 KB/s, 13 seconds passed +... 95%, 667264 KB, 49553 KB/s, 13 seconds passed +... 95%, 667296 KB, 49554 KB/s, 13 seconds passed +... 95%, 667328 KB, 49556 KB/s, 13 seconds passed +... 95%, 667360 KB, 49557 KB/s, 13 seconds passed +... 95%, 667392 KB, 49558 KB/s, 13 seconds passed +... 95%, 667424 KB, 49560 KB/s, 13 seconds passed +... 95%, 667456 KB, 49561 KB/s, 13 seconds passed +... 95%, 667488 KB, 49562 KB/s, 13 seconds passed +... 95%, 667520 KB, 49564 KB/s, 13 seconds passed +... 95%, 667552 KB, 49565 KB/s, 13 seconds passed +... 95%, 667584 KB, 49566 KB/s, 13 seconds passed +... 95%, 667616 KB, 49568 KB/s, 13 seconds passed +... 95%, 667648 KB, 49569 KB/s, 13 seconds passed +... 95%, 667680 KB, 49570 KB/s, 13 seconds passed +... 96%, 667712 KB, 49572 KB/s, 13 seconds passed +... 96%, 667744 KB, 49573 KB/s, 13 seconds passed +... 96%, 667776 KB, 49574 KB/s, 13 seconds passed +... 96%, 667808 KB, 49576 KB/s, 13 seconds passed +... 96%, 667840 KB, 49577 KB/s, 13 seconds passed +... 96%, 667872 KB, 49579 KB/s, 13 seconds passed +... 96%, 667904 KB, 49580 KB/s, 13 seconds passed +... 96%, 667936 KB, 49581 KB/s, 13 seconds passed +... 96%, 667968 KB, 49583 KB/s, 13 seconds passed +... 96%, 668000 KB, 49584 KB/s, 13 seconds passed +... 96%, 668032 KB, 49585 KB/s, 13 seconds passed +... 96%, 668064 KB, 49587 KB/s, 13 seconds passed +... 96%, 668096 KB, 49588 KB/s, 13 seconds passed +... 96%, 668128 KB, 49589 KB/s, 13 seconds passed +... 96%, 668160 KB, 49591 KB/s, 13 seconds passed +... 96%, 668192 KB, 49592 KB/s, 13 seconds passed +... 96%, 668224 KB, 49593 KB/s, 13 seconds passed +... 96%, 668256 KB, 49595 KB/s, 13 seconds passed +... 96%, 668288 KB, 49596 KB/s, 13 seconds passed +... 96%, 668320 KB, 49597 KB/s, 13 seconds passed +... 96%, 668352 KB, 49598 KB/s, 13 seconds passed +... 96%, 668384 KB, 49599 KB/s, 13 seconds passed +... 96%, 668416 KB, 49601 KB/s, 13 seconds passed +... 96%, 668448 KB, 49603 KB/s, 13 seconds passed +... 96%, 668480 KB, 49604 KB/s, 13 seconds passed +... 96%, 668512 KB, 49605 KB/s, 13 seconds passed +... 96%, 668544 KB, 49606 KB/s, 13 seconds passed +... 96%, 668576 KB, 49608 KB/s, 13 seconds passed +... 96%, 668608 KB, 49609 KB/s, 13 seconds passed +... 96%, 668640 KB, 49611 KB/s, 13 seconds passed +... 96%, 668672 KB, 49612 KB/s, 13 seconds passed +... 96%, 668704 KB, 49614 KB/s, 13 seconds passed +... 96%, 668736 KB, 49615 KB/s, 13 seconds passed +... 96%, 668768 KB, 49616 KB/s, 13 seconds passed +... 96%, 668800 KB, 49618 KB/s, 13 seconds passed +... 96%, 668832 KB, 49619 KB/s, 13 seconds passed +... 96%, 668864 KB, 49620 KB/s, 13 seconds passed +... 96%, 668896 KB, 49622 KB/s, 13 seconds passed +... 96%, 668928 KB, 49623 KB/s, 13 seconds passed +... 96%, 668960 KB, 49624 KB/s, 13 seconds passed +... 96%, 668992 KB, 49626 KB/s, 13 seconds passed +... 96%, 669024 KB, 49627 KB/s, 13 seconds passed +... 96%, 669056 KB, 49628 KB/s, 13 seconds passed +... 96%, 669088 KB, 49630 KB/s, 13 seconds passed +... 96%, 669120 KB, 49631 KB/s, 13 seconds passed +... 96%, 669152 KB, 49633 KB/s, 13 seconds passed +... 96%, 669184 KB, 49634 KB/s, 13 seconds passed +... 96%, 669216 KB, 49635 KB/s, 13 seconds passed +... 96%, 669248 KB, 49636 KB/s, 13 seconds passed +... 96%, 669280 KB, 49638 KB/s, 13 seconds passed +... 96%, 669312 KB, 49639 KB/s, 13 seconds passed +... 96%, 669344 KB, 49641 KB/s, 13 seconds passed +... 96%, 669376 KB, 49642 KB/s, 13 seconds passed +... 96%, 669408 KB, 49643 KB/s, 13 seconds passed +... 96%, 669440 KB, 49645 KB/s, 13 seconds passed +... 96%, 669472 KB, 49646 KB/s, 13 seconds passed +... 96%, 669504 KB, 49647 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 96%, 669536 KB, 49645 KB/s, 13 seconds passed +... 96%, 669568 KB, 49646 KB/s, 13 seconds passed +... 96%, 669600 KB, 49628 KB/s, 13 seconds passed +... 96%, 669632 KB, 49629 KB/s, 13 seconds passed +... 96%, 669664 KB, 49628 KB/s, 13 seconds passed +... 96%, 669696 KB, 49629 KB/s, 13 seconds passed +... 96%, 669728 KB, 49630 KB/s, 13 seconds passed +... 96%, 669760 KB, 49632 KB/s, 13 seconds passed +... 96%, 669792 KB, 49633 KB/s, 13 seconds passed +... 96%, 669824 KB, 49635 KB/s, 13 seconds passed +... 96%, 669856 KB, 49636 KB/s, 13 seconds passed +... 96%, 669888 KB, 49638 KB/s, 13 seconds passed +... 96%, 669920 KB, 49639 KB/s, 13 seconds passed +... 96%, 669952 KB, 49640 KB/s, 13 seconds passed +... 96%, 669984 KB, 49642 KB/s, 13 seconds passed +... 96%, 670016 KB, 49643 KB/s, 13 seconds passed +... 96%, 670048 KB, 49644 KB/s, 13 seconds passed +... 96%, 670080 KB, 49646 KB/s, 13 seconds passed +... 96%, 670112 KB, 49647 KB/s, 13 seconds passed +... 96%, 670144 KB, 49648 KB/s, 13 seconds passed +... 96%, 670176 KB, 49650 KB/s, 13 seconds passed +... 96%, 670208 KB, 49651 KB/s, 13 seconds passed +... 96%, 670240 KB, 49652 KB/s, 13 seconds passed +... 96%, 670272 KB, 49654 KB/s, 13 seconds passed +... 96%, 670304 KB, 49655 KB/s, 13 seconds passed +... 96%, 670336 KB, 49656 KB/s, 13 seconds passed +... 96%, 670368 KB, 49658 KB/s, 13 seconds passed +... 96%, 670400 KB, 49659 KB/s, 13 seconds passed +... 96%, 670432 KB, 49660 KB/s, 13 seconds passed +... 96%, 670464 KB, 49662 KB/s, 13 seconds passed +... 96%, 670496 KB, 49663 KB/s, 13 seconds passed +... 96%, 670528 KB, 49664 KB/s, 13 seconds passed +... 96%, 670560 KB, 49666 KB/s, 13 seconds passed +... 96%, 670592 KB, 49667 KB/s, 13 seconds passed +... 96%, 670624 KB, 49668 KB/s, 13 seconds passed +... 96%, 670656 KB, 49670 KB/s, 13 seconds passed +... 96%, 670688 KB, 49671 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 96%, 670720 KB, 49498 KB/s, 13 seconds passed +... 96%, 670752 KB, 49499 KB/s, 13 seconds passed +... 96%, 670784 KB, 49500 KB/s, 13 seconds passed +... 96%, 670816 KB, 49501 KB/s, 13 seconds passed +... 96%, 670848 KB, 49500 KB/s, 13 seconds passed +... 96%, 670880 KB, 49496 KB/s, 13 seconds passed +... 96%, 670912 KB, 49497 KB/s, 13 seconds passed +... 96%, 670944 KB, 49498 KB/s, 13 seconds passed +... 96%, 670976 KB, 49500 KB/s, 13 seconds passed +... 96%, 671008 KB, 49501 KB/s, 13 seconds passed +... 96%, 671040 KB, 49499 KB/s, 13 seconds passed +... 96%, 671072 KB, 49500 KB/s, 13 seconds passed +... 96%, 671104 KB, 49501 KB/s, 13 seconds passed +... 96%, 671136 KB, 49502 KB/s, 13 seconds passed +... 96%, 671168 KB, 49504 KB/s, 13 seconds passed +... 96%, 671200 KB, 49505 KB/s, 13 seconds passed +... 96%, 671232 KB, 49506 KB/s, 13 seconds passed +... 96%, 671264 KB, 49507 KB/s, 13 seconds passed +... 96%, 671296 KB, 49505 KB/s, 13 seconds passed +... 96%, 671328 KB, 49506 KB/s, 13 seconds passed +... 96%, 671360 KB, 49507 KB/s, 13 seconds passed +... 96%, 671392 KB, 49508 KB/s, 13 seconds passed +... 96%, 671424 KB, 49509 KB/s, 13 seconds passed +... 96%, 671456 KB, 49511 KB/s, 13 seconds passed +... 96%, 671488 KB, 49512 KB/s, 13 seconds passed +... 96%, 671520 KB, 49513 KB/s, 13 seconds passed +... 96%, 671552 KB, 49514 KB/s, 13 seconds passed +... 96%, 671584 KB, 49514 KB/s, 13 seconds passed +... 96%, 671616 KB, 49515 KB/s, 13 seconds passed +... 96%, 671648 KB, 49517 KB/s, 13 seconds passed +... 96%, 671680 KB, 49516 KB/s, 13 seconds passed +... 96%, 671712 KB, 49518 KB/s, 13 seconds passed +... 96%, 671744 KB, 49519 KB/s, 13 seconds passed +... 96%, 671776 KB, 49520 KB/s, 13 seconds passed +... 96%, 671808 KB, 49521 KB/s, 13 seconds passed +... 96%, 671840 KB, 49522 KB/s, 13 seconds passed +... 96%, 671872 KB, 49524 KB/s, 13 seconds passed +... 96%, 671904 KB, 49525 KB/s, 13 seconds passed +... 96%, 671936 KB, 49526 KB/s, 13 seconds passed +... 96%, 671968 KB, 49527 KB/s, 13 seconds passed +... 96%, 672000 KB, 49528 KB/s, 13 seconds passed +... 96%, 672032 KB, 49529 KB/s, 13 seconds passed +... 96%, 672064 KB, 49531 KB/s, 13 seconds passed +... 96%, 672096 KB, 49532 KB/s, 13 seconds passed +... 96%, 672128 KB, 49533 KB/s, 13 seconds passed +... 96%, 672160 KB, 49533 KB/s, 13 seconds passed +... 96%, 672192 KB, 49535 KB/s, 13 seconds passed +... 96%, 672224 KB, 49536 KB/s, 13 seconds passed +... 96%, 672256 KB, 49537 KB/s, 13 seconds passed +... 96%, 672288 KB, 49538 KB/s, 13 seconds passed +... 96%, 672320 KB, 49539 KB/s, 13 seconds passed +... 96%, 672352 KB, 49541 KB/s, 13 seconds passed +... 96%, 672384 KB, 49542 KB/s, 13 seconds passed +... 96%, 672416 KB, 49543 KB/s, 13 seconds passed +... 96%, 672448 KB, 49544 KB/s, 13 seconds passed +... 96%, 672480 KB, 49545 KB/s, 13 seconds passed +... 96%, 672512 KB, 49547 KB/s, 13 seconds passed +... 96%, 672544 KB, 49548 KB/s, 13 seconds passed +... 96%, 672576 KB, 49549 KB/s, 13 seconds passed +... 96%, 672608 KB, 49550 KB/s, 13 seconds passed +... 96%, 672640 KB, 49551 KB/s, 13 seconds passed +... 96%, 672672 KB, 49553 KB/s, 13 seconds passed +... 96%, 672704 KB, 49554 KB/s, 13 seconds passed +... 96%, 672736 KB, 49555 KB/s, 13 seconds passed +... 96%, 672768 KB, 49557 KB/s, 13 seconds passed +... 96%, 672800 KB, 49558 KB/s, 13 seconds passed +... 96%, 672832 KB, 49559 KB/s, 13 seconds passed +... 96%, 672864 KB, 49561 KB/s, 13 seconds passed +... 96%, 672896 KB, 49562 KB/s, 13 seconds passed +... 96%, 672928 KB, 49563 KB/s, 13 seconds passed +... 96%, 672960 KB, 49565 KB/s, 13 seconds passed +... 96%, 672992 KB, 49566 KB/s, 13 seconds passed +... 96%, 673024 KB, 49567 KB/s, 13 seconds passed +... 96%, 673056 KB, 49568 KB/s, 13 seconds passed +... 96%, 673088 KB, 49569 KB/s, 13 seconds passed +... 96%, 673120 KB, 49571 KB/s, 13 seconds passed +... 96%, 673152 KB, 49572 KB/s, 13 seconds passed +... 96%, 673184 KB, 49573 KB/s, 13 seconds passed +... 96%, 673216 KB, 49574 KB/s, 13 seconds passed +... 96%, 673248 KB, 49576 KB/s, 13 seconds passed +... 96%, 673280 KB, 49577 KB/s, 13 seconds passed +... 96%, 673312 KB, 49579 KB/s, 13 seconds passed +... 96%, 673344 KB, 49579 KB/s, 13 seconds passed +... 96%, 673376 KB, 49581 KB/s, 13 seconds passed +... 96%, 673408 KB, 49582 KB/s, 13 seconds passed +... 96%, 673440 KB, 49583 KB/s, 13 seconds passed +... 96%, 673472 KB, 49584 KB/s, 13 seconds passed +... 96%, 673504 KB, 49586 KB/s, 13 seconds passed +... 96%, 673536 KB, 49587 KB/s, 13 seconds passed +... 96%, 673568 KB, 49588 KB/s, 13 seconds passed +... 96%, 673600 KB, 49590 KB/s, 13 seconds passed +... 96%, 673632 KB, 49591 KB/s, 13 seconds passed +... 96%, 673664 KB, 49592 KB/s, 13 seconds passed +... 96%, 673696 KB, 49594 KB/s, 13 seconds passed +... 96%, 673728 KB, 49595 KB/s, 13 seconds passed +... 96%, 673760 KB, 49596 KB/s, 13 seconds passed +... 96%, 673792 KB, 49597 KB/s, 13 seconds passed +... 96%, 673824 KB, 49599 KB/s, 13 seconds passed +... 96%, 673856 KB, 49600 KB/s, 13 seconds passed +... 96%, 673888 KB, 49601 KB/s, 13 seconds passed +... 96%, 673920 KB, 49603 KB/s, 13 seconds passed +... 96%, 673952 KB, 49604 KB/s, 13 seconds passed +... 96%, 673984 KB, 49605 KB/s, 13 seconds passed +... 96%, 674016 KB, 49607 KB/s, 13 seconds passed +... 96%, 674048 KB, 49608 KB/s, 13 seconds passed +... 96%, 674080 KB, 49609 KB/s, 13 seconds passed +... 96%, 674112 KB, 49611 KB/s, 13 seconds passed +... 96%, 674144 KB, 49612 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 96%, 674176 KB, 49613 KB/s, 13 seconds passed +... 96%, 674208 KB, 49615 KB/s, 13 seconds passed +... 96%, 674240 KB, 49616 KB/s, 13 seconds passed +... 96%, 674272 KB, 49617 KB/s, 13 seconds passed +... 96%, 674304 KB, 49618 KB/s, 13 seconds passed +... 96%, 674336 KB, 49620 KB/s, 13 seconds passed +... 96%, 674368 KB, 49621 KB/s, 13 seconds passed +... 96%, 674400 KB, 49623 KB/s, 13 seconds passed +... 96%, 674432 KB, 49624 KB/s, 13 seconds passed +... 96%, 674464 KB, 49625 KB/s, 13 seconds passed +... 96%, 674496 KB, 49627 KB/s, 13 seconds passed +... 96%, 674528 KB, 49628 KB/s, 13 seconds passed +... 96%, 674560 KB, 49629 KB/s, 13 seconds passed +... 96%, 674592 KB, 49631 KB/s, 13 seconds passed +... 96%, 674624 KB, 49632 KB/s, 13 seconds passed +... 97%, 674656 KB, 49633 KB/s, 13 seconds passed +... 97%, 674688 KB, 49635 KB/s, 13 seconds passed +... 97%, 674720 KB, 49636 KB/s, 13 seconds passed +... 97%, 674752 KB, 49637 KB/s, 13 seconds passed +... 97%, 674784 KB, 49615 KB/s, 13 seconds passed +... 97%, 674816 KB, 49601 KB/s, 13 seconds passed +... 97%, 674848 KB, 49602 KB/s, 13 seconds passed +... 97%, 674880 KB, 49602 KB/s, 13 seconds passed +... 97%, 674912 KB, 49604 KB/s, 13 seconds passed +... 97%, 674944 KB, 49605 KB/s, 13 seconds passed +... 97%, 674976 KB, 49606 KB/s, 13 seconds passed +... 97%, 675008 KB, 49608 KB/s, 13 seconds passed +... 97%, 675040 KB, 49609 KB/s, 13 seconds passed +... 97%, 675072 KB, 49610 KB/s, 13 seconds passed +... 97%, 675104 KB, 49612 KB/s, 13 seconds passed +... 97%, 675136 KB, 49613 KB/s, 13 seconds passed +... 97%, 675168 KB, 49614 KB/s, 13 seconds passed +... 97%, 675200 KB, 49616 KB/s, 13 seconds passed +... 97%, 675232 KB, 49617 KB/s, 13 seconds passed +... 97%, 675264 KB, 49618 KB/s, 13 seconds passed +... 97%, 675296 KB, 49620 KB/s, 13 seconds passed +... 97%, 675328 KB, 49621 KB/s, 13 seconds passed +... 97%, 675360 KB, 49622 KB/s, 13 seconds passed +... 97%, 675392 KB, 49624 KB/s, 13 seconds passed +... 97%, 675424 KB, 49625 KB/s, 13 seconds passed +... 97%, 675456 KB, 49626 KB/s, 13 seconds passed +... 97%, 675488 KB, 49628 KB/s, 13 seconds passed +... 97%, 675520 KB, 49629 KB/s, 13 seconds passed +... 97%, 675552 KB, 49630 KB/s, 13 seconds passed +... 97%, 675584 KB, 49632 KB/s, 13 seconds passed +... 97%, 675616 KB, 49633 KB/s, 13 seconds passed +... 97%, 675648 KB, 49634 KB/s, 13 seconds passed +... 97%, 675680 KB, 49636 KB/s, 13 seconds passed +... 97%, 675712 KB, 49637 KB/s, 13 seconds passed +... 97%, 675744 KB, 49638 KB/s, 13 seconds passed +... 97%, 675776 KB, 49640 KB/s, 13 seconds passed +... 97%, 675808 KB, 49641 KB/s, 13 seconds passed +... 97%, 675840 KB, 49596 KB/s, 13 seconds passed +... 97%, 675872 KB, 49597 KB/s, 13 seconds passed +... 97%, 675904 KB, 49585 KB/s, 13 seconds passed +... 97%, 675936 KB, 49586 KB/s, 13 seconds passed +... 97%, 675968 KB, 49585 KB/s, 13 seconds passed +... 97%, 676000 KB, 49587 KB/s, 13 seconds passed +... 97%, 676032 KB, 49588 KB/s, 13 seconds passed +... 97%, 676064 KB, 49589 KB/s, 13 seconds passed +... 97%, 676096 KB, 49590 KB/s, 13 seconds passed +... 97%, 676128 KB, 49591 KB/s, 13 seconds passed +... 97%, 676160 KB, 49593 KB/s, 13 seconds passed +... 97%, 676192 KB, 49594 KB/s, 13 seconds passed +... 97%, 676224 KB, 49595 KB/s, 13 seconds passed +... 97%, 676256 KB, 49596 KB/s, 13 seconds passed +... 97%, 676288 KB, 49598 KB/s, 13 seconds passed +... 97%, 676320 KB, 49599 KB/s, 13 seconds passed +... 97%, 676352 KB, 49600 KB/s, 13 seconds passed +... 97%, 676384 KB, 49601 KB/s, 13 seconds passed +... 97%, 676416 KB, 49602 KB/s, 13 seconds passed +... 97%, 676448 KB, 49604 KB/s, 13 seconds passed +... 97%, 676480 KB, 49605 KB/s, 13 seconds passed +... 97%, 676512 KB, 49606 KB/s, 13 seconds passed +... 97%, 676544 KB, 49607 KB/s, 13 seconds passed +... 97%, 676576 KB, 49609 KB/s, 13 seconds passed +... 97%, 676608 KB, 49610 KB/s, 13 seconds passed +... 97%, 676640 KB, 49611 KB/s, 13 seconds passed +... 97%, 676672 KB, 49612 KB/s, 13 seconds passed +... 97%, 676704 KB, 49613 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 97%, 676736 KB, 49615 KB/s, 13 seconds passed +... 97%, 676768 KB, 49616 KB/s, 13 seconds passed +... 97%, 676800 KB, 49617 KB/s, 13 seconds passed +... 97%, 676832 KB, 49618 KB/s, 13 seconds passed +... 97%, 676864 KB, 49620 KB/s, 13 seconds passed +... 97%, 676896 KB, 49621 KB/s, 13 seconds passed +... 97%, 676928 KB, 49622 KB/s, 13 seconds passed +... 97%, 676960 KB, 49623 KB/s, 13 seconds passed +... 97%, 676992 KB, 49625 KB/s, 13 seconds passed +... 97%, 677024 KB, 49626 KB/s, 13 seconds passed +... 97%, 677056 KB, 49627 KB/s, 13 seconds passed +... 97%, 677088 KB, 49628 KB/s, 13 seconds passed +... 97%, 677120 KB, 49629 KB/s, 13 seconds passed +... 97%, 677152 KB, 49631 KB/s, 13 seconds passed +... 97%, 677184 KB, 49632 KB/s, 13 seconds passed +... 97%, 677216 KB, 49634 KB/s, 13 seconds passed +... 97%, 677248 KB, 49635 KB/s, 13 seconds passed +... 97%, 677280 KB, 49637 KB/s, 13 seconds passed +... 97%, 677312 KB, 49638 KB/s, 13 seconds passed +... 97%, 677344 KB, 49640 KB/s, 13 seconds passed +... 97%, 677376 KB, 49642 KB/s, 13 seconds passed +... 97%, 677408 KB, 49643 KB/s, 13 seconds passed +... 97%, 677440 KB, 49645 KB/s, 13 seconds passed +... 97%, 677472 KB, 49646 KB/s, 13 seconds passed +... 97%, 677504 KB, 49648 KB/s, 13 seconds passed +... 97%, 677536 KB, 49649 KB/s, 13 seconds passed +... 97%, 677568 KB, 49651 KB/s, 13 seconds passed +... 97%, 677600 KB, 49653 KB/s, 13 seconds passed +... 97%, 677632 KB, 49654 KB/s, 13 seconds passed +... 97%, 677664 KB, 49656 KB/s, 13 seconds passed +... 97%, 677696 KB, 49657 KB/s, 13 seconds passed +... 97%, 677728 KB, 49659 KB/s, 13 seconds passed +... 97%, 677760 KB, 49660 KB/s, 13 seconds passed +... 97%, 677792 KB, 49662 KB/s, 13 seconds passed +... 97%, 677824 KB, 49663 KB/s, 13 seconds passed +... 97%, 677856 KB, 49664 KB/s, 13 seconds passed +... 97%, 677888 KB, 49666 KB/s, 13 seconds passed +... 97%, 677920 KB, 49667 KB/s, 13 seconds passed +... 97%, 677952 KB, 49668 KB/s, 13 seconds passed +... 97%, 677984 KB, 49669 KB/s, 13 seconds passed +... 97%, 678016 KB, 49671 KB/s, 13 seconds passed +... 97%, 678048 KB, 49672 KB/s, 13 seconds passed +... 97%, 678080 KB, 49673 KB/s, 13 seconds passed +... 97%, 678112 KB, 49674 KB/s, 13 seconds passed +... 97%, 678144 KB, 49675 KB/s, 13 seconds passed +... 97%, 678176 KB, 49677 KB/s, 13 seconds passed +... 97%, 678208 KB, 49678 KB/s, 13 seconds passed +... 97%, 678240 KB, 49680 KB/s, 13 seconds passed +... 97%, 678272 KB, 49681 KB/s, 13 seconds passed +... 97%, 678304 KB, 49683 KB/s, 13 seconds passed +... 97%, 678336 KB, 49684 KB/s, 13 seconds passed +... 97%, 678368 KB, 49685 KB/s, 13 seconds passed +... 97%, 678400 KB, 49687 KB/s, 13 seconds passed +... 97%, 678432 KB, 49688 KB/s, 13 seconds passed +... 97%, 678464 KB, 49689 KB/s, 13 seconds passed +... 97%, 678496 KB, 49690 KB/s, 13 seconds passed +... 97%, 678528 KB, 49692 KB/s, 13 seconds passed +... 97%, 678560 KB, 49693 KB/s, 13 seconds passed +... 97%, 678592 KB, 49695 KB/s, 13 seconds passed +... 97%, 678624 KB, 49696 KB/s, 13 seconds passed +... 97%, 678656 KB, 49698 KB/s, 13 seconds passed +... 97%, 678688 KB, 49698 KB/s, 13 seconds passed +... 97%, 678720 KB, 49700 KB/s, 13 seconds passed +... 97%, 678752 KB, 49701 KB/s, 13 seconds passed +... 97%, 678784 KB, 49702 KB/s, 13 seconds passed +... 97%, 678816 KB, 49704 KB/s, 13 seconds passed +... 97%, 678848 KB, 49705 KB/s, 13 seconds passed +... 97%, 678880 KB, 49706 KB/s, 13 seconds passed +... 97%, 678912 KB, 49708 KB/s, 13 seconds passed +... 97%, 678944 KB, 49709 KB/s, 13 seconds passed +... 97%, 678976 KB, 49711 KB/s, 13 seconds passed +... 97%, 679008 KB, 49712 KB/s, 13 seconds passed +... 97%, 679040 KB, 49713 KB/s, 13 seconds passed +... 97%, 679072 KB, 49714 KB/s, 13 seconds passed +... 97%, 679104 KB, 49716 KB/s, 13 seconds passed +... 97%, 679136 KB, 49717 KB/s, 13 seconds passed +... 97%, 679168 KB, 49719 KB/s, 13 seconds passed +... 97%, 679200 KB, 49720 KB/s, 13 seconds passed +... 97%, 679232 KB, 49721 KB/s, 13 seconds passed +... 97%, 679264 KB, 49656 KB/s, 13 seconds passed +... 97%, 679296 KB, 49656 KB/s, 13 seconds passed +... 97%, 679328 KB, 49658 KB/s, 13 seconds passed +... 97%, 679360 KB, 49659 KB/s, 13 seconds passed +... 97%, 679392 KB, 49660 KB/s, 13 seconds passed +... 97%, 679424 KB, 49661 KB/s, 13 seconds passed +... 97%, 679456 KB, 49662 KB/s, 13 seconds passed +... 97%, 679488 KB, 49664 KB/s, 13 seconds passed +... 97%, 679520 KB, 49665 KB/s, 13 seconds passed +... 97%, 679552 KB, 49666 KB/s, 13 seconds passed +... 97%, 679584 KB, 49667 KB/s, 13 seconds passed +... 97%, 679616 KB, 49669 KB/s, 13 seconds passed +... 97%, 679648 KB, 49670 KB/s, 13 seconds passed +... 97%, 679680 KB, 49671 KB/s, 13 seconds passed +... 97%, 679712 KB, 49672 KB/s, 13 seconds passed +... 97%, 679744 KB, 49673 KB/s, 13 seconds passed +... 97%, 679776 KB, 49675 KB/s, 13 seconds passed +... 97%, 679808 KB, 49676 KB/s, 13 seconds passed +... 97%, 679840 KB, 49677 KB/s, 13 seconds passed +... 97%, 679872 KB, 49678 KB/s, 13 seconds passed +... 97%, 679904 KB, 49680 KB/s, 13 seconds passed +... 97%, 679936 KB, 49681 KB/s, 13 seconds passed +... 97%, 679968 KB, 49682 KB/s, 13 seconds passed +... 97%, 680000 KB, 49683 KB/s, 13 seconds passed +... 97%, 680032 KB, 49685 KB/s, 13 seconds passed +... 97%, 680064 KB, 49686 KB/s, 13 seconds passed +... 97%, 680096 KB, 49687 KB/s, 13 seconds passed +... 97%, 680128 KB, 49688 KB/s, 13 seconds passed +... 97%, 680160 KB, 49689 KB/s, 13 seconds passed +... 97%, 680192 KB, 49691 KB/s, 13 seconds passed +... 97%, 680224 KB, 49692 KB/s, 13 seconds passed +... 97%, 680256 KB, 49693 KB/s, 13 seconds passed +... 97%, 680288 KB, 49694 KB/s, 13 seconds passed +... 97%, 680320 KB, 49696 KB/s, 13 seconds passed +... 97%, 680352 KB, 49697 KB/s, 13 seconds passed +... 97%, 680384 KB, 49698 KB/s, 13 seconds passed +... 97%, 680416 KB, 49699 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 97%, 680448 KB, 49700 KB/s, 13 seconds passed +... 97%, 680480 KB, 49702 KB/s, 13 seconds passed +... 97%, 680512 KB, 49703 KB/s, 13 seconds passed +... 97%, 680544 KB, 49704 KB/s, 13 seconds passed +... 97%, 680576 KB, 49705 KB/s, 13 seconds passed +... 97%, 680608 KB, 49706 KB/s, 13 seconds passed +... 97%, 680640 KB, 49708 KB/s, 13 seconds passed +... 97%, 680672 KB, 49709 KB/s, 13 seconds passed +... 97%, 680704 KB, 49710 KB/s, 13 seconds passed +... 97%, 680736 KB, 49711 KB/s, 13 seconds passed +... 97%, 680768 KB, 49713 KB/s, 13 seconds passed +... 97%, 680800 KB, 49714 KB/s, 13 seconds passed +... 97%, 680832 KB, 49716 KB/s, 13 seconds passed +... 97%, 680864 KB, 49717 KB/s, 13 seconds passed +... 97%, 680896 KB, 49719 KB/s, 13 seconds passed +... 97%, 680928 KB, 49721 KB/s, 13 seconds passed +... 97%, 680960 KB, 49672 KB/s, 13 seconds passed +... 97%, 680992 KB, 49673 KB/s, 13 seconds passed +... 97%, 681024 KB, 49674 KB/s, 13 seconds passed +... 97%, 681056 KB, 49675 KB/s, 13 seconds passed +... 97%, 681088 KB, 49674 KB/s, 13 seconds passed +... 97%, 681120 KB, 49674 KB/s, 13 seconds passed +... 97%, 681152 KB, 49651 KB/s, 13 seconds passed +... 97%, 681184 KB, 49652 KB/s, 13 seconds passed +... 97%, 681216 KB, 49653 KB/s, 13 seconds passed +... 97%, 681248 KB, 49654 KB/s, 13 seconds passed +... 97%, 681280 KB, 49655 KB/s, 13 seconds passed +... 97%, 681312 KB, 49656 KB/s, 13 seconds passed +... 97%, 681344 KB, 49658 KB/s, 13 seconds passed +... 97%, 681376 KB, 49659 KB/s, 13 seconds passed +... 97%, 681408 KB, 49660 KB/s, 13 seconds passed +... 97%, 681440 KB, 49661 KB/s, 13 seconds passed +... 97%, 681472 KB, 49662 KB/s, 13 seconds passed +... 97%, 681504 KB, 49664 KB/s, 13 seconds passed +... 97%, 681536 KB, 49665 KB/s, 13 seconds passed +... 97%, 681568 KB, 49666 KB/s, 13 seconds passed +... 98%, 681600 KB, 49667 KB/s, 13 seconds passed +... 98%, 681632 KB, 49668 KB/s, 13 seconds passed +... 98%, 681664 KB, 49670 KB/s, 13 seconds passed +... 98%, 681696 KB, 49671 KB/s, 13 seconds passed +... 98%, 681728 KB, 49672 KB/s, 13 seconds passed +... 98%, 681760 KB, 49673 KB/s, 13 seconds passed +... 98%, 681792 KB, 49674 KB/s, 13 seconds passed +... 98%, 681824 KB, 49676 KB/s, 13 seconds passed +... 98%, 681856 KB, 49677 KB/s, 13 seconds passed +... 98%, 681888 KB, 49678 KB/s, 13 seconds passed +... 98%, 681920 KB, 49679 KB/s, 13 seconds passed +... 98%, 681952 KB, 49681 KB/s, 13 seconds passed +... 98%, 681984 KB, 49682 KB/s, 13 seconds passed +... 98%, 682016 KB, 49683 KB/s, 13 seconds passed +... 98%, 682048 KB, 49684 KB/s, 13 seconds passed +... 98%, 682080 KB, 49685 KB/s, 13 seconds passed +... 98%, 682112 KB, 49687 KB/s, 13 seconds passed +... 98%, 682144 KB, 49688 KB/s, 13 seconds passed +... 98%, 682176 KB, 49689 KB/s, 13 seconds passed +... 98%, 682208 KB, 49690 KB/s, 13 seconds passed +... 98%, 682240 KB, 49691 KB/s, 13 seconds passed +... 98%, 682272 KB, 49693 KB/s, 13 seconds passed +... 98%, 682304 KB, 49694 KB/s, 13 seconds passed +... 98%, 682336 KB, 49695 KB/s, 13 seconds passed +... 98%, 682368 KB, 49696 KB/s, 13 seconds passed +... 98%, 682400 KB, 49698 KB/s, 13 seconds passed +... 98%, 682432 KB, 49699 KB/s, 13 seconds passed +... 98%, 682464 KB, 49700 KB/s, 13 seconds passed +... 98%, 682496 KB, 49701 KB/s, 13 seconds passed +... 98%, 682528 KB, 49702 KB/s, 13 seconds passed +... 98%, 682560 KB, 49704 KB/s, 13 seconds passed +... 98%, 682592 KB, 49705 KB/s, 13 seconds passed +... 98%, 682624 KB, 49706 KB/s, 13 seconds passed +... 98%, 682656 KB, 49707 KB/s, 13 seconds passed +... 98%, 682688 KB, 49709 KB/s, 13 seconds passed +... 98%, 682720 KB, 49710 KB/s, 13 seconds passed +... 98%, 682752 KB, 49711 KB/s, 13 seconds passed +... 98%, 682784 KB, 49713 KB/s, 13 seconds passed +... 98%, 682816 KB, 49714 KB/s, 13 seconds passed +... 98%, 682848 KB, 49716 KB/s, 13 seconds passed +... 98%, 682880 KB, 49717 KB/s, 13 seconds passed +... 98%, 682912 KB, 49719 KB/s, 13 seconds passed +... 98%, 682944 KB, 49721 KB/s, 13 seconds passed +... 98%, 682976 KB, 49722 KB/s, 13 seconds passed +... 98%, 683008 KB, 49724 KB/s, 13 seconds passed +... 98%, 683040 KB, 49725 KB/s, 13 seconds passed +... 98%, 683072 KB, 49727 KB/s, 13 seconds passed +... 98%, 683104 KB, 49728 KB/s, 13 seconds passed +... 98%, 683136 KB, 49730 KB/s, 13 seconds passed +... 98%, 683168 KB, 49732 KB/s, 13 seconds passed +... 98%, 683200 KB, 49733 KB/s, 13 seconds passed +... 98%, 683232 KB, 49735 KB/s, 13 seconds passed +... 98%, 683264 KB, 49736 KB/s, 13 seconds passed +... 98%, 683296 KB, 49738 KB/s, 13 seconds passed +... 98%, 683328 KB, 49740 KB/s, 13 seconds passed +... 98%, 683360 KB, 49741 KB/s, 13 seconds passed +... 98%, 683392 KB, 49743 KB/s, 13 seconds passed +... 98%, 683424 KB, 49744 KB/s, 13 seconds passed +... 98%, 683456 KB, 49746 KB/s, 13 seconds passed +... 98%, 683488 KB, 49747 KB/s, 13 seconds passed +... 98%, 683520 KB, 49749 KB/s, 13 seconds passed +... 98%, 683552 KB, 49750 KB/s, 13 seconds passed +... 98%, 683584 KB, 49751 KB/s, 13 seconds passed +... 98%, 683616 KB, 49753 KB/s, 13 seconds passed +... 98%, 683648 KB, 49754 KB/s, 13 seconds passed +... 98%, 683680 KB, 49755 KB/s, 13 seconds passed +... 98%, 683712 KB, 49757 KB/s, 13 seconds passed +... 98%, 683744 KB, 49758 KB/s, 13 seconds passed +... 98%, 683776 KB, 49759 KB/s, 13 seconds passed +... 98%, 683808 KB, 49761 KB/s, 13 seconds passed +... 98%, 683840 KB, 49762 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 98%, 683872 KB, 49763 KB/s, 13 seconds passed +... 98%, 683904 KB, 49765 KB/s, 13 seconds passed +... 98%, 683936 KB, 49766 KB/s, 13 seconds passed +... 98%, 683968 KB, 49767 KB/s, 13 seconds passed +... 98%, 684000 KB, 49769 KB/s, 13 seconds passed +... 98%, 684032 KB, 49770 KB/s, 13 seconds passed +... 98%, 684064 KB, 49771 KB/s, 13 seconds passed +... 98%, 684096 KB, 49773 KB/s, 13 seconds passed +... 98%, 684128 KB, 49774 KB/s, 13 seconds passed +... 98%, 684160 KB, 49775 KB/s, 13 seconds passed +... 98%, 684192 KB, 49776 KB/s, 13 seconds passed +... 98%, 684224 KB, 49778 KB/s, 13 seconds passed +... 98%, 684256 KB, 49779 KB/s, 13 seconds passed +... 98%, 684288 KB, 49780 KB/s, 13 seconds passed +... 98%, 684320 KB, 49782 KB/s, 13 seconds passed +... 98%, 684352 KB, 49783 KB/s, 13 seconds passed +... 98%, 684384 KB, 49784 KB/s, 13 seconds passed +... 98%, 684416 KB, 49786 KB/s, 13 seconds passed +... 98%, 684448 KB, 49787 KB/s, 13 seconds passed +... 98%, 684480 KB, 49788 KB/s, 13 seconds passed +... 98%, 684512 KB, 49789 KB/s, 13 seconds passed +... 98%, 684544 KB, 49791 KB/s, 13 seconds passed +... 98%, 684576 KB, 49792 KB/s, 13 seconds passed +... 98%, 684608 KB, 49794 KB/s, 13 seconds passed +... 98%, 684640 KB, 49795 KB/s, 13 seconds passed +... 98%, 684672 KB, 49796 KB/s, 13 seconds passed +... 98%, 684704 KB, 49798 KB/s, 13 seconds passed +... 98%, 684736 KB, 49799 KB/s, 13 seconds passed +... 98%, 684768 KB, 49800 KB/s, 13 seconds passed +... 98%, 684800 KB, 49802 KB/s, 13 seconds passed +... 98%, 684832 KB, 49803 KB/s, 13 seconds passed +... 98%, 684864 KB, 49804 KB/s, 13 seconds passed +... 98%, 684896 KB, 49805 KB/s, 13 seconds passed +... 98%, 684928 KB, 49807 KB/s, 13 seconds passed +... 98%, 684960 KB, 49808 KB/s, 13 seconds passed +... 98%, 684992 KB, 49809 KB/s, 13 seconds passed +... 98%, 685024 KB, 49811 KB/s, 13 seconds passed +... 98%, 685056 KB, 49809 KB/s, 13 seconds passed +... 98%, 685088 KB, 49810 KB/s, 13 seconds passed +... 98%, 685120 KB, 49811 KB/s, 13 seconds passed +... 98%, 685152 KB, 49812 KB/s, 13 seconds passed +... 98%, 685184 KB, 49814 KB/s, 13 seconds passed +... 98%, 685216 KB, 49815 KB/s, 13 seconds passed +... 98%, 685248 KB, 49816 KB/s, 13 seconds passed +... 98%, 685280 KB, 49817 KB/s, 13 seconds passed +... 98%, 685312 KB, 49818 KB/s, 13 seconds passed +... 98%, 685344 KB, 49819 KB/s, 13 seconds passed +... 98%, 685376 KB, 49820 KB/s, 13 seconds passed +... 98%, 685408 KB, 49821 KB/s, 13 seconds passed +... 98%, 685440 KB, 49823 KB/s, 13 seconds passed +... 98%, 685472 KB, 49824 KB/s, 13 seconds passed +... 98%, 685504 KB, 49825 KB/s, 13 seconds passed +... 98%, 685536 KB, 49826 KB/s, 13 seconds passed +... 98%, 685568 KB, 49827 KB/s, 13 seconds passed +... 98%, 685600 KB, 49829 KB/s, 13 seconds passed +... 98%, 685632 KB, 49830 KB/s, 13 seconds passed +... 98%, 685664 KB, 49831 KB/s, 13 seconds passed +... 98%, 685696 KB, 49832 KB/s, 13 seconds passed +... 98%, 685728 KB, 49834 KB/s, 13 seconds passed +... 98%, 685760 KB, 49835 KB/s, 13 seconds passed +... 98%, 685792 KB, 49836 KB/s, 13 seconds passed +... 98%, 685824 KB, 49837 KB/s, 13 seconds passed +... 98%, 685856 KB, 49839 KB/s, 13 seconds passed +... 98%, 685888 KB, 49840 KB/s, 13 seconds passed +... 98%, 685920 KB, 49841 KB/s, 13 seconds passed +... 98%, 685952 KB, 49842 KB/s, 13 seconds passed +... 98%, 685984 KB, 49843 KB/s, 13 seconds passed +... 98%, 686016 KB, 49845 KB/s, 13 seconds passed +... 98%, 686048 KB, 49846 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 98%, 686080 KB, 49726 KB/s, 13 seconds passed +... 98%, 686112 KB, 49727 KB/s, 13 seconds passed +... 98%, 686144 KB, 49728 KB/s, 13 seconds passed +... 98%, 686176 KB, 49729 KB/s, 13 seconds passed +... 98%, 686208 KB, 49730 KB/s, 13 seconds passed +... 98%, 686240 KB, 49731 KB/s, 13 seconds passed +... 98%, 686272 KB, 49732 KB/s, 13 seconds passed +... 98%, 686304 KB, 49734 KB/s, 13 seconds passed +... 98%, 686336 KB, 49735 KB/s, 13 seconds passed +... 98%, 686368 KB, 49736 KB/s, 13 seconds passed +... 98%, 686400 KB, 49737 KB/s, 13 seconds passed +... 98%, 686432 KB, 49733 KB/s, 13 seconds passed +... 98%, 686464 KB, 49733 KB/s, 13 seconds passed +... 98%, 686496 KB, 49734 KB/s, 13 seconds passed +... 98%, 686528 KB, 49735 KB/s, 13 seconds passed +... 98%, 686560 KB, 49736 KB/s, 13 seconds passed +... 98%, 686592 KB, 49738 KB/s, 13 seconds passed +... 98%, 686624 KB, 49739 KB/s, 13 seconds passed +... 98%, 686656 KB, 49740 KB/s, 13 seconds passed +... 98%, 686688 KB, 49741 KB/s, 13 seconds passed +... 98%, 686720 KB, 49742 KB/s, 13 seconds passed +... 98%, 686752 KB, 49744 KB/s, 13 seconds passed +... 98%, 686784 KB, 49745 KB/s, 13 seconds passed +... 98%, 686816 KB, 49740 KB/s, 13 seconds passed +... 98%, 686848 KB, 49740 KB/s, 13 seconds passed +... 98%, 686880 KB, 49741 KB/s, 13 seconds passed +... 98%, 686912 KB, 49742 KB/s, 13 seconds passed +... 98%, 686944 KB, 49744 KB/s, 13 seconds passed +... 98%, 686976 KB, 49745 KB/s, 13 seconds passed +... 98%, 687008 KB, 49746 KB/s, 13 seconds passed +... 98%, 687040 KB, 49747 KB/s, 13 seconds passed +... 98%, 687072 KB, 49748 KB/s, 13 seconds passed +... 98%, 687104 KB, 49750 KB/s, 13 seconds passed +... 98%, 687136 KB, 49751 KB/s, 13 seconds passed +... 98%, 687168 KB, 49752 KB/s, 13 seconds passed +... 98%, 687200 KB, 49753 KB/s, 13 seconds passed +... 98%, 687232 KB, 49754 KB/s, 13 seconds passed +... 98%, 687264 KB, 49755 KB/s, 13 seconds passed +... 98%, 687296 KB, 49757 KB/s, 13 seconds passed +... 98%, 687328 KB, 49758 KB/s, 13 seconds passed +... 98%, 687360 KB, 49759 KB/s, 13 seconds passed +... 98%, 687392 KB, 49760 KB/s, 13 seconds passed +... 98%, 687424 KB, 49761 KB/s, 13 seconds passed +... 98%, 687456 KB, 49763 KB/s, 13 seconds passed +... 98%, 687488 KB, 49764 KB/s, 13 seconds passed +... 98%, 687520 KB, 49765 KB/s, 13 seconds passed +... 98%, 687552 KB, 49766 KB/s, 13 seconds passed +... 98%, 687584 KB, 49768 KB/s, 13 seconds passed +... 98%, 687616 KB, 49769 KB/s, 13 seconds passed +... 98%, 687648 KB, 49770 KB/s, 13 seconds passed +... 98%, 687680 KB, 49772 KB/s, 13 seconds passed +... 98%, 687712 KB, 49773 KB/s, 13 seconds passed +... 98%, 687744 KB, 49774 KB/s, 13 seconds passed +... 98%, 687776 KB, 49776 KB/s, 13 seconds passed +... 98%, 687808 KB, 49777 KB/s, 13 seconds passed +... 98%, 687840 KB, 49779 KB/s, 13 seconds passed +... 98%, 687872 KB, 49780 KB/s, 13 seconds passed +... 98%, 687904 KB, 49781 KB/s, 13 seconds passed +... 98%, 687936 KB, 49783 KB/s, 13 seconds passed +... 98%, 687968 KB, 49784 KB/s, 13 seconds passed +... 98%, 688000 KB, 49785 KB/s, 13 seconds passed +... 98%, 688032 KB, 49787 KB/s, 13 seconds passed +... 98%, 688064 KB, 49788 KB/s, 13 seconds passed +... 98%, 688096 KB, 49790 KB/s, 13 seconds passed +... 98%, 688128 KB, 49791 KB/s, 13 seconds passed +... 98%, 688160 KB, 49792 KB/s, 13 seconds passed +... 98%, 688192 KB, 49794 KB/s, 13 seconds passed +... 98%, 688224 KB, 49795 KB/s, 13 seconds passed +... 98%, 688256 KB, 49797 KB/s, 13 seconds passed +... 98%, 688288 KB, 49798 KB/s, 13 seconds passed +... 98%, 688320 KB, 49799 KB/s, 13 seconds passed +... 98%, 688352 KB, 49801 KB/s, 13 seconds passed +... 98%, 688384 KB, 49802 KB/s, 13 seconds passed +... 98%, 688416 KB, 49804 KB/s, 13 seconds passed +... 98%, 688448 KB, 49805 KB/s, 13 seconds passed +... 98%, 688480 KB, 49806 KB/s, 13 seconds passed +... 98%, 688512 KB, 49808 KB/s, 13 seconds passed +... 98%, 688544 KB, 49809 KB/s, 13 seconds passed +... 99%, 688576 KB, 49810 KB/s, 13 seconds passed +... 99%, 688608 KB, 49812 KB/s, 13 seconds passed +... 99%, 688640 KB, 49813 KB/s, 13 seconds passed +... 99%, 688672 KB, 49815 KB/s, 13 seconds passed +... 99%, 688704 KB, 49816 KB/s, 13 seconds passed +... 99%, 688736 KB, 49817 KB/s, 13 seconds passed +... 99%, 688768 KB, 49819 KB/s, 13 seconds passed +... 99%, 688800 KB, 49821 KB/s, 13 seconds passed +... 99%, 688832 KB, 49822 KB/s, 13 seconds passed +... 99%, 688864 KB, 49824 KB/s, 13 seconds passed +... 99%, 688896 KB, 49825 KB/s, 13 seconds passed +... 99%, 688928 KB, 49826 KB/s, 13 seconds passed +... 99%, 688960 KB, 49828 KB/s, 13 seconds passed +... 99%, 688992 KB, 49829 KB/s, 13 seconds passed +... 99%, 689024 KB, 49830 KB/s, 13 seconds passed +... 99%, 689056 KB, 49832 KB/s, 13 seconds passed +... 99%, 689088 KB, 49833 KB/s, 13 seconds passed +... 99%, 689120 KB, 49834 KB/s, 13 seconds passed +... 99%, 689152 KB, 49836 KB/s, 13 seconds passed +... 99%, 689184 KB, 49837 KB/s, 13 seconds passed +... 99%, 689216 KB, 49838 KB/s, 13 seconds passed +... 99%, 689248 KB, 49839 KB/s, 13 seconds passed +... 99%, 689280 KB, 49841 KB/s, 13 seconds passed +... 99%, 689312 KB, 49842 KB/s, 13 seconds passed +... 99%, 689344 KB, 49844 KB/s, 13 seconds passed +... 99%, 689376 KB, 49845 KB/s, 13 seconds passed +... 99%, 689408 KB, 49846 KB/s, 13 seconds passed +... 99%, 689440 KB, 49847 KB/s, 13 seconds passed +... 99%, 689472 KB, 49848 KB/s, 13 seconds passed +... 99%, 689504 KB, 49849 KB/s, 13 seconds passed +... 99%, 689536 KB, 49851 KB/s, 13 seconds passed +... 99%, 689568 KB, 49853 KB/s, 13 seconds passed +... 99%, 689600 KB, 49854 KB/s, 13 seconds passed +... 99%, 689632 KB, 49855 KB/s, 13 seconds passed +... 99%, 689664 KB, 49856 KB/s, 13 seconds passed +... 99%, 689696 KB, 49858 KB/s, 13 seconds passed +... 99%, 689728 KB, 49859 KB/s, 13 seconds passed +... 99%, 689760 KB, 49860 KB/s, 13 seconds passed +... 99%, 689792 KB, 49862 KB/s, 13 seconds passed +... 99%, 689824 KB, 49863 KB/s, 13 seconds passed +... 99%, 689856 KB, 49865 KB/s, 13 seconds passed +... 99%, 689888 KB, 49866 KB/s, 13 seconds passed +... 99%, 689920 KB, 49867 KB/s, 13 seconds passed +... 99%, 689952 KB, 49868 KB/s, 13 seconds passed +... 99%, 689984 KB, 49870 KB/s, 13 seconds passed +... 99%, 690016 KB, 49871 KB/s, 13 seconds passed +... 99%, 690048 KB, 49872 KB/s, 13 seconds passed +... 99%, 690080 KB, 49874 KB/s, 13 seconds passed +... 99%, 690112 KB, 49875 KB/s, 13 seconds passed +... 99%, 690144 KB, 49876 KB/s, 13 seconds passed +... 99%, 690176 KB, 49878 KB/s, 13 seconds passed +... 99%, 690208 KB, 49879 KB/s, 13 seconds passed +... 99%, 690240 KB, 49880 KB/s, 13 seconds passed +... 99%, 690272 KB, 49881 KB/s, 13 seconds passed +... 99%, 690304 KB, 49883 KB/s, 13 seconds passed +... 99%, 690336 KB, 49884 KB/s, 13 seconds passed +... 99%, 690368 KB, 49885 KB/s, 13 seconds passed +... 99%, 690400 KB, 49887 KB/s, 13 seconds passed +... 99%, 690432 KB, 49888 KB/s, 13 seconds passed +... 99%, 690464 KB, 49889 KB/s, 13 seconds passed +... 99%, 690496 KB, 49891 KB/s, 13 seconds passed +... 99%, 690528 KB, 49892 KB/s, 13 seconds passed +... 99%, 690560 KB, 49893 KB/s, 13 seconds passed +... 99%, 690592 KB, 49895 KB/s, 13 seconds passed +... 99%, 690624 KB, 49896 KB/s, 13 seconds passed +... 99%, 690656 KB, 49897 KB/s, 13 seconds passed +... 99%, 690688 KB, 49898 KB/s, 13 seconds passed +... 99%, 690720 KB, 49900 KB/s, 13 seconds passed +... 99%, 690752 KB, 49901 KB/s, 13 seconds passed +... 99%, 690784 KB, 49902 KB/s, 13 seconds passed +... 99%, 690816 KB, 49904 KB/s, 13 seconds passed +... 99%, 690848 KB, 49905 KB/s, 13 seconds passed +... 99%, 690880 KB, 49906 KB/s, 13 seconds passed +... 99%, 690912 KB, 49908 KB/s, 13 seconds passed +... 99%, 690944 KB, 49909 KB/s, 13 seconds passed +... 99%, 690976 KB, 49910 KB/s, 13 seconds passed +... 99%, 691008 KB, 49912 KB/s, 13 seconds passed +... 99%, 691040 KB, 49913 KB/s, 13 seconds passed +... 99%, 691072 KB, 49914 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 99%, 691104 KB, 49915 KB/s, 13 seconds passed +... 99%, 691136 KB, 49917 KB/s, 13 seconds passed +... 99%, 691168 KB, 49918 KB/s, 13 seconds passed +... 99%, 691200 KB, 49808 KB/s, 13 seconds passed +... 99%, 691232 KB, 49808 KB/s, 13 seconds passed +... 99%, 691264 KB, 49810 KB/s, 13 seconds passed +... 99%, 691296 KB, 49811 KB/s, 13 seconds passed +... 99%, 691328 KB, 49812 KB/s, 13 seconds passed +... 99%, 691360 KB, 49813 KB/s, 13 seconds passed +... 99%, 691392 KB, 49814 KB/s, 13 seconds passed +... 99%, 691424 KB, 49815 KB/s, 13 seconds passed +... 99%, 691456 KB, 49817 KB/s, 13 seconds passed +... 99%, 691488 KB, 49818 KB/s, 13 seconds passed +... 99%, 691520 KB, 49819 KB/s, 13 seconds passed +... 99%, 691552 KB, 49820 KB/s, 13 seconds passed +... 99%, 691584 KB, 49821 KB/s, 13 seconds passed +... 99%, 691616 KB, 49822 KB/s, 13 seconds passed +... 99%, 691648 KB, 49824 KB/s, 13 seconds passed +... 99%, 691680 KB, 49825 KB/s, 13 seconds passed +... 99%, 691712 KB, 49826 KB/s, 13 seconds passed +... 99%, 691744 KB, 49827 KB/s, 13 seconds passed +... 99%, 691776 KB, 49828 KB/s, 13 seconds passed +... 99%, 691808 KB, 49829 KB/s, 13 seconds passed +... 99%, 691840 KB, 49830 KB/s, 13 seconds passed +... 99%, 691872 KB, 49832 KB/s, 13 seconds passed +... 99%, 691904 KB, 49833 KB/s, 13 seconds passed +... 99%, 691936 KB, 49834 KB/s, 13 seconds passed +... 99%, 691968 KB, 49835 KB/s, 13 seconds passed +... 99%, 692000 KB, 49837 KB/s, 13 seconds passed +... 99%, 692032 KB, 49838 KB/s, 13 seconds passed +... 99%, 692064 KB, 49839 KB/s, 13 seconds passed +... 99%, 692096 KB, 49840 KB/s, 13 seconds passed +... 99%, 692128 KB, 49842 KB/s, 13 seconds passed +... 99%, 692160 KB, 49843 KB/s, 13 seconds passed +... 99%, 692192 KB, 49844 KB/s, 13 seconds passed +... 99%, 692224 KB, 49846 KB/s, 13 seconds passed +... 99%, 692256 KB, 49847 KB/s, 13 seconds passed +... 99%, 692288 KB, 49848 KB/s, 13 seconds passed +... 99%, 692320 KB, 49850 KB/s, 13 seconds passed +... 99%, 692352 KB, 49851 KB/s, 13 seconds passed +... 99%, 692384 KB, 49852 KB/s, 13 seconds passed +... 99%, 692416 KB, 49854 KB/s, 13 seconds passed +... 99%, 692448 KB, 49855 KB/s, 13 seconds passed +... 99%, 692480 KB, 49856 KB/s, 13 seconds passed +... 99%, 692512 KB, 49858 KB/s, 13 seconds passed +... 99%, 692544 KB, 49859 KB/s, 13 seconds passed +... 99%, 692576 KB, 49860 KB/s, 13 seconds passed +... 99%, 692608 KB, 49862 KB/s, 13 seconds passed +... 99%, 692640 KB, 49863 KB/s, 13 seconds passed +... 99%, 692672 KB, 49864 KB/s, 13 seconds passed +... 99%, 692704 KB, 49866 KB/s, 13 seconds passed +... 99%, 692736 KB, 49867 KB/s, 13 seconds passed +... 99%, 692768 KB, 49868 KB/s, 13 seconds passed +... 99%, 692800 KB, 49870 KB/s, 13 seconds passed +... 99%, 692832 KB, 49871 KB/s, 13 seconds passed +... 99%, 692864 KB, 49872 KB/s, 13 seconds passed +... 99%, 692896 KB, 49874 KB/s, 13 seconds passed +... 99%, 692928 KB, 49875 KB/s, 13 seconds passed +... 99%, 692960 KB, 49876 KB/s, 13 seconds passed +... 99%, 692992 KB, 49878 KB/s, 13 seconds passed +... 99%, 693024 KB, 49879 KB/s, 13 seconds passed +... 99%, 693056 KB, 49880 KB/s, 13 seconds passed +... 99%, 693088 KB, 49882 KB/s, 13 seconds passed +... 99%, 693120 KB, 49883 KB/s, 13 seconds passed +... 99%, 693152 KB, 49884 KB/s, 13 seconds passed +... 99%, 693184 KB, 49885 KB/s, 13 seconds passed +... 99%, 693216 KB, 49887 KB/s, 13 seconds passed +... 99%, 693248 KB, 49888 KB/s, 13 seconds passed +... 99%, 693280 KB, 49889 KB/s, 13 seconds passed + +.. parsed-literal:: + + ... 99%, 693312 KB, 49884 KB/s, 13 seconds passed +... 99%, 693344 KB, 49886 KB/s, 13 seconds passed +... 99%, 693376 KB, 49887 KB/s, 13 seconds passed +... 99%, 693408 KB, 49888 KB/s, 13 seconds passed +... 99%, 693440 KB, 49889 KB/s, 13 seconds passed +... 99%, 693472 KB, 49889 KB/s, 13 seconds passed +... 99%, 693504 KB, 49891 KB/s, 13 seconds passed +... 99%, 693536 KB, 49892 KB/s, 13 seconds passed +... 99%, 693568 KB, 49893 KB/s, 13 seconds passed +... 99%, 693600 KB, 49895 KB/s, 13 seconds passed +... 99%, 693632 KB, 49896 KB/s, 13 seconds passed +... 99%, 693664 KB, 49897 KB/s, 13 seconds passed +... 99%, 693696 KB, 49899 KB/s, 13 seconds passed +... 99%, 693728 KB, 49899 KB/s, 13 seconds passed +... 99%, 693760 KB, 49900 KB/s, 13 seconds passed +... 99%, 693792 KB, 49901 KB/s, 13 seconds passed +... 99%, 693824 KB, 49902 KB/s, 13 seconds passed +... 99%, 693856 KB, 49904 KB/s, 13 seconds passed +... 99%, 693888 KB, 49906 KB/s, 13 seconds passed +... 99%, 693920 KB, 49907 KB/s, 13 seconds passed +... 99%, 693952 KB, 49908 KB/s, 13 seconds passed +... 99%, 693984 KB, 49910 KB/s, 13 seconds passed +... 99%, 694016 KB, 49911 KB/s, 13 seconds passed +... 99%, 694048 KB, 49912 KB/s, 13 seconds passed +... 99%, 694080 KB, 49914 KB/s, 13 seconds passed +... 99%, 694112 KB, 49915 KB/s, 13 seconds passed +... 99%, 694144 KB, 49916 KB/s, 13 seconds passed +... 99%, 694176 KB, 49918 KB/s, 13 seconds passed +... 99%, 694208 KB, 49914 KB/s, 13 seconds passed +... 99%, 694240 KB, 49915 KB/s, 13 seconds passed +... 99%, 694272 KB, 49916 KB/s, 13 seconds passed +... 99%, 694304 KB, 49917 KB/s, 13 seconds passed +... 99%, 694336 KB, 49918 KB/s, 13 seconds passed +... 99%, 694368 KB, 49919 KB/s, 13 seconds passed +... 99%, 694400 KB, 49921 KB/s, 13 seconds passed +... 99%, 694432 KB, 49922 KB/s, 13 seconds passed +... 99%, 694464 KB, 49920 KB/s, 13 seconds passed +... 99%, 694496 KB, 49922 KB/s, 13 seconds passed +... 99%, 694528 KB, 49923 KB/s, 13 seconds passed +... 99%, 694560 KB, 49924 KB/s, 13 seconds passed +... 99%, 694592 KB, 49925 KB/s, 13 seconds passed +... 99%, 694624 KB, 49926 KB/s, 13 seconds passed +... 99%, 694656 KB, 49928 KB/s, 13 seconds passed +... 99%, 694688 KB, 49929 KB/s, 13 seconds passed +... 99%, 694720 KB, 49931 KB/s, 13 seconds passed +... 99%, 694752 KB, 49932 KB/s, 13 seconds passed +... 99%, 694784 KB, 49933 KB/s, 13 seconds passed +... 99%, 694816 KB, 49934 KB/s, 13 seconds passed +... 99%, 694848 KB, 49936 KB/s, 13 seconds passed +... 99%, 694880 KB, 49937 KB/s, 13 seconds passed +... 99%, 694912 KB, 49939 KB/s, 13 seconds passed +... 99%, 694944 KB, 49940 KB/s, 13 seconds passed +... 99%, 694976 KB, 49941 KB/s, 13 seconds passed +... 99%, 695008 KB, 49942 KB/s, 13 seconds passed +... 99%, 695040 KB, 49944 KB/s, 13 seconds passed +... 99%, 695072 KB, 49945 KB/s, 13 seconds passed +... 99%, 695104 KB, 49946 KB/s, 13 seconds passed +... 99%, 695136 KB, 49947 KB/s, 13 seconds passed +... 99%, 695168 KB, 49949 KB/s, 13 seconds passed +... 99%, 695200 KB, 49950 KB/s, 13 seconds passed +... 99%, 695232 KB, 49950 KB/s, 13 seconds passed +... 99%, 695264 KB, 49951 KB/s, 13 seconds passed +... 99%, 695296 KB, 49952 KB/s, 13 seconds passed +... 99%, 695328 KB, 49954 KB/s, 13 seconds passed +... 99%, 695360 KB, 49955 KB/s, 13 seconds passed +... 99%, 695392 KB, 49956 KB/s, 13 seconds passed +... 99%, 695424 KB, 49958 KB/s, 13 seconds passed +... 99%, 695456 KB, 49959 KB/s, 13 seconds passed +... 99%, 695488 KB, 49961 KB/s, 13 seconds passed +... 100%, 695506 KB, 49961 KB/s, 13 seconds passed + + + +.. parsed-literal:: + + + ========== Downloading model/public/text-recognition-resnet-fc/vedastr/addict-2.4.0-py3-none-any.whl + + +.. parsed-literal:: + + ... 100%, 3 KB, 15323 KB/s, 0 seconds passed + + + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/heads/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/sequences/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/component.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/decoders/bricks/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/enhance_modules/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/utils/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/__init__.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/utils/config.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/resnet.py + ========== Replacing text in model/public/text-recognition-resnet-fc/vedastr/models/bodies/feature_extractors/encoders/backbones/resnet.py + + +.. parsed-literal:: + + ========== Unpacking model/public/text-recognition-resnet-fc/vedastr/addict-2.4.0-py3-none-any.whl + + + + +Finished downloading horizontal-text-detection-0001, +text-recognition-resnet-fc. + + +.. code:: ipython3 + + ### The text-recognition-resnet-fc model consists of many files. All filenames are printed in + ### the output of Model Downloader. Uncomment the next two lines to show this output. + + # for line in download_result: + # print(line) + +Convert Models +-------------- + + + +The downloaded detection model is an Intel model, which is already in +OpenVINO Intermediate Representation (OpenVINO IR) format. The text +recognition model is a public model which needs to be converted to +OpenVINO IR. Since this model was downloaded from Open Model Zoo, use +Model Converter to convert the model to OpenVINO IR format. + +The output of Model Converter will be displayed. When the conversion is +successful, the last lines of output will include +``[ SUCCESS ] Generated IR version 11 model.`` + +.. code:: ipython3 + + convert_command = f"omz_converter --name {recognition_model} --precisions {precision} --download_dir {model_dir} --output_dir {model_dir}" + display(Markdown(f"Convert command: `{convert_command}`")) + display(Markdown(f"Converting {recognition_model}...")) + ! $convert_command + + + +Convert command: +``omz_converter --name text-recognition-resnet-fc --precisions FP16 --download_dir model --output_dir model`` + + + +Converting text-recognition-resnet-fc… + + +.. parsed-literal:: + + ========== Converting text-recognition-resnet-fc to ONNX + Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-path=/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/models/public/text-recognition-resnet-fc --model-path=model/public/text-recognition-resnet-fc --model-name=get_model --import-module=model '--model-param=file_config=r"model/public/text-recognition-resnet-fc/vedastr/configs/resnet_fc.py"' '--model-param=weights=r"model/public/text-recognition-resnet-fc/vedastr/ckpt/resnet_fc.pth"' --input-shape=1,1,32,100 --input-names=input --output-names=output --output-file=model/public/text-recognition-resnet-fc/resnet_fc.onnx + + + +.. parsed-literal:: + + ONNX check passed successfully. + + +.. parsed-literal:: + + + ========== Converting text-recognition-resnet-fc to IR (FP16) + Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=model/public/text-recognition-resnet-fc/FP16 --model_name=text-recognition-resnet-fc --input=input '--mean_values=input[127.5]' '--scale_values=input[127.5]' --output=output --input_model=model/public/text-recognition-resnet-fc/resnet_fc.onnx '--layout=input(NCHW)' '--input_shape=[1, 1, 32, 100]' --compress_to_fp16=True + + + +.. parsed-literal:: + + [ INFO ] Generated IR will be compressed to FP16. If you get lower accuracy, please consider disabling compression explicitly by adding argument --compress_to_fp16=False. + Find more information about compression to FP16 at https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_FP16_Compression.html + [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. + Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html + + +.. parsed-literal:: + + [ SUCCESS ] Generated IR version 11 model. + [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/optical-character-recognition/model/public/text-recognition-resnet-fc/FP16/text-recognition-resnet-fc.xml + [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/optical-character-recognition/model/public/text-recognition-resnet-fc/FP16/text-recognition-resnet-fc.bin + + + +Select inference device +----------------------- + + + +select device from dropdown list for running inference using OpenVINO + +.. code:: ipython3 + + import ipywidgets as widgets + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Object Detection +---------------- + + + +Load a detection model, load an image, do inference and get the +detection inference result. + +Load a Detection Model +~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + detection_model = core.read_model(model=detection_model_path, weights=detection_model_path.with_suffix(".bin")) + detection_compiled_model = core.compile_model(model=detection_model, device_name=device.value) + + detection_input_layer = detection_compiled_model.input(0) + +Load an Image +~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + # The `image_file` variable can point to a URL or a local image. + image_file = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/intel_rnb.jpg" + + image = load_image(image_file) + + # N,C,H,W = batch size, number of channels, height, width. + N, C, H, W = detection_input_layer.shape + + # Resize the image to meet network expected input sizes. + resized_image = cv2.resize(image, (W, H)) + + # Reshape to the network input shape. + input_image = np.expand_dims(resized_image.transpose(2, 0, 1), 0) + + plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)); + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_16_0.png + + +Do Inference +~~~~~~~~~~~~ + + + +Text boxes are detected in the images and returned as blobs of data in +the shape of ``[100, 5]``. Each description of detection has the +``[x_min, y_min, x_max, y_max, conf]`` format. + +.. code:: ipython3 + + output_key = detection_compiled_model.output("boxes") + boxes = detection_compiled_model([input_image])[output_key] + + # Remove zero only boxes. + boxes = boxes[~np.all(boxes == 0, axis=1)] + +Get Detection Results +~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + def multiply_by_ratio(ratio_x, ratio_y, box): + return [max(shape * ratio_y, 10) if idx % 2 else shape * ratio_x for idx, shape in enumerate(box[:-1])] + + + def run_preprocesing_on_crop(crop, net_shape): + temp_img = cv2.resize(crop, net_shape) + temp_img = temp_img.reshape((1,) * 2 + temp_img.shape) + return temp_img + + + def convert_result_to_image(bgr_image, resized_image, boxes, threshold=0.3, conf_labels=True): + # Define colors for boxes and descriptions. + colors = {"red": (255, 0, 0), "green": (0, 255, 0), "white": (255, 255, 255)} + + # Fetch image shapes to calculate a ratio. + (real_y, real_x), (resized_y, resized_x) = image.shape[:2], resized_image.shape[:2] + ratio_x, ratio_y = real_x / resized_x, real_y / resized_y + + # Convert the base image from BGR to RGB format. + rgb_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2RGB) + + # Iterate through non-zero boxes. + for box, annotation in boxes: + # Pick a confidence factor from the last place in an array. + conf = box[-1] + if conf > threshold: + # Convert float to int and multiply position of each box by x and y ratio. + (x_min, y_min, x_max, y_max) = map(int, multiply_by_ratio(ratio_x, ratio_y, box)) + + # Draw a box based on the position. Parameters in the `rectangle` function are: image, start_point, end_point, color, thickness. + cv2.rectangle(rgb_image, (x_min, y_min), (x_max, y_max), colors["green"], 3) + + # Add a text to an image based on the position and confidence. Parameters in the `putText` function are: image, text, bottomleft_corner_textfield, font, font_scale, color, thickness, line_type + if conf_labels: + # Create a background box based on annotation length. + (text_w, text_h), _ = cv2.getTextSize(f"{annotation}", cv2.FONT_HERSHEY_TRIPLEX, 0.8, 1) + image_copy = rgb_image.copy() + cv2.rectangle( + image_copy, + (x_min, y_min - text_h - 10), + (x_min + text_w, y_min - 10), + colors["white"], + -1, + ) + # Add weighted image copy with white boxes under a text. + cv2.addWeighted(image_copy, 0.4, rgb_image, 0.6, 0, rgb_image) + cv2.putText( + rgb_image, + f"{annotation}", + (x_min, y_min - 10), + cv2.FONT_HERSHEY_SIMPLEX, + 0.8, + colors["red"], + 1, + cv2.LINE_AA, + ) + + return rgb_image + +Text Recognition +---------------- + + + +Load the text recognition model and do inference on the detected boxes +from the detection model. + +Load Text Recognition Model +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + recognition_model = core.read_model(model=recognition_model_path, weights=recognition_model_path.with_suffix(".bin")) + + recognition_compiled_model = core.compile_model(model=recognition_model, device_name=device.value) + + recognition_output_layer = recognition_compiled_model.output(0) + recognition_input_layer = recognition_compiled_model.input(0) + + # Get the height and width of the input layer. + _, _, H, W = recognition_input_layer.shape + +Do Inference +~~~~~~~~~~~~ + + + +.. code:: ipython3 + + # Calculate scale for image resizing. + (real_y, real_x), (resized_y, resized_x) = image.shape[:2], resized_image.shape[:2] + ratio_x, ratio_y = real_x / resized_x, real_y / resized_y + + # Convert the image to grayscale for the text recognition model. + grayscale_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + + # Get a dictionary to encode output, based on the model documentation. + letters = "~0123456789abcdefghijklmnopqrstuvwxyz" + + # Prepare an empty list for annotations. + annotations = list() + cropped_images = list() + # fig, ax = plt.subplots(len(boxes), 1, figsize=(5,15), sharex=True, sharey=True) + # Get annotations for each crop, based on boxes given by the detection model. + for i, crop in enumerate(boxes): + # Get coordinates on corners of a crop. + (x_min, y_min, x_max, y_max) = map(int, multiply_by_ratio(ratio_x, ratio_y, crop)) + image_crop = run_preprocesing_on_crop(grayscale_image[y_min:y_max, x_min:x_max], (W, H)) + + # Run inference with the recognition model. + result = recognition_compiled_model([image_crop])[recognition_output_layer] + + # Squeeze the output to remove unnecessary dimension. + recognition_results_test = np.squeeze(result) + + # Read an annotation based on probabilities from the output layer. + annotation = list() + for letter in recognition_results_test: + parsed_letter = letters[letter.argmax()] + + # Returning 0 index from `argmax` signalizes an end of a string. + if parsed_letter == letters[0]: + break + annotation.append(parsed_letter) + annotations.append("".join(annotation)) + cropped_image = Image.fromarray(image[y_min:y_max, x_min:x_max]) + cropped_images.append(cropped_image) + + boxes_with_annotations = list(zip(boxes, annotations)) + +Show Results +------------ + + + +Show Detected Text Boxes and OCR Results for the Image +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Visualize the result by drawing boxes around recognized text and showing +the OCR result from the text recognition model. + +.. code:: ipython3 + + plt.figure(figsize=(12, 12)) + plt.imshow(convert_result_to_image(image, resized_image, boxes_with_annotations, conf_labels=True)); + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_26_0.png + + +Show the OCR Result per Bounding Box +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Depending on the image, the OCR result may not be readable in the image +with boxes, as displayed in the cell above. Use the code below to +display the extracted boxes and the OCR result per box. + +.. code:: ipython3 + + for cropped_image, annotation in zip(cropped_images, annotations): + display(cropped_image, Markdown("".join(annotation))) + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_0.png + + + +building + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_2.png + + + +noyce + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_4.png + + + +2200 + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_6.png + + + +n + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_8.png + + + +center + + + +.. image:: optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_10.png + + + +robert + + +Print Annotations in Plain Text Format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Print annotations for detected text based on their position in the input +image, starting from the upper left corner. + +.. code:: ipython3 + + [annotation for _, annotation in sorted(zip(boxes, annotations), key=lambda x: x[0][0] ** 2 + x[0][1] ** 2)] + + + + +.. parsed-literal:: + + ['robert', 'n', 'noyce', 'building', '2200', 'center'] + + diff --git a/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_16_0.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_16_0.png new file mode 100644 index 00000000000..435c1891121 --- /dev/null +++ b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_16_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82b893e29e948379dac42c19763842f7ade2ccf03853c2c07f0b28bf2d58fe17 +size 305482 diff --git a/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_26_0.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_26_0.png new file mode 100644 index 00000000000..2194b39b76a --- /dev/null +++ b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_26_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82586a70acee19cdec28f903287e4d3d7c6abb4b8dece91904b2c1407a445b63 +size 923631 diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_0.jpg b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_0.jpg similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_0.jpg rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_0.jpg diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_0.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_0.png similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_0.png rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_0.png diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_10.jpg b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_10.jpg similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_10.jpg rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_10.jpg diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_10.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_10.png similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_10.png rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_10.png diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_2.jpg b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_2.jpg similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_2.jpg rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_2.jpg diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_2.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_2.png similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_2.png rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_2.png diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_4.jpg b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_4.jpg similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_4.jpg rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_4.jpg diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_4.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_4.png similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_4.png rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_4.png diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_6.jpg b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_6.jpg similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_6.jpg rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_6.jpg diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_6.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_6.png similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_6.png rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_6.png diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_8.jpg b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_8.jpg similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_8.jpg rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_8.jpg diff --git a/docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_8.png b/docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_8.png similarity index 100% rename from docs/notebooks/208-optical-character-recognition-with-output_files/208-optical-character-recognition-with-output_28_8.png rename to docs/notebooks/optical-character-recognition-with-output_files/optical-character-recognition-with-output_28_8.png diff --git a/docs/notebooks/118-optimize-preprocessing-with-output.rst b/docs/notebooks/optimize-preprocessing-with-output.rst similarity index 83% rename from docs/notebooks/118-optimize-preprocessing-with-output.rst rename to docs/notebooks/optimize-preprocessing-with-output.rst index b4e72347e48..0d3f7771dc7 100644 --- a/docs/notebooks/118-optimize-preprocessing-with-output.rst +++ b/docs/notebooks/optimize-preprocessing-with-output.rst @@ -70,8 +70,56 @@ Settings .. code:: ipython3 + import platform + # Install openvino package - %pip install -q "openvino>=2023.1.0" tensorflow opencv-python matplotlib + %pip install -q "openvino>=2023.1.0" opencv-python tqdm + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version <= '3.8'" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -87,8 +135,12 @@ Imports .. code:: ipython3 import time + import os from pathlib import Path + os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" + os.environ["TF_USE_LEGACY_KERAS"] = "1" + import cv2 import matplotlib.pyplot as plt import numpy as np @@ -96,26 +148,15 @@ Imports import tensorflow as tf # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file - -.. parsed-literal:: - - 2024-03-12 22:47:40.396566: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:47:40.431134: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-12 22:47:40.948008: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - Setup image and device ~~~~~~~~~~~~~~~~~~~~~~ @@ -126,7 +167,7 @@ Setup image and device # Download the image from the openvino_notebooks storage image_path = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - directory="data" + directory="data", ) image_path = str(image_path) @@ -144,8 +185,8 @@ Setup image and device core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -194,12 +235,8 @@ and save it to the disk. .. parsed-literal:: - 2024-03-12 22:47:44.291989: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-12 22:47:44.292027: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-12 22:47:44.292031: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-12 22:47:44.292168: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-12 22:47:44.292184: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-12 22:47:44.292187: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + 2024-04-18 00:18:31.032726: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-18 00:18:31.032904: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration .. parsed-literal:: @@ -239,7 +276,7 @@ Check the original parameters of image .. code:: ipython3 image = cv2.imread(image_path) - plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)); + plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) print(f"The original shape of the image is {image.shape}") print(f"The original data type of the image is {image.dtype}") @@ -251,7 +288,7 @@ Check the original parameters of image -.. image:: 118-optimize-preprocessing-with-output_files/118-optimize-preprocessing-with-output_14_1.png +.. image:: optimize-preprocessing-with-output_files/optimize-preprocessing-with-output_14_1.png Setup preprocessing steps with Preprocessing API and perform inference @@ -298,9 +335,8 @@ The options for preprocessing are not required. if ir_path.exists(): ppp_model = core.read_model(model=ir_path) print(f"Model in OpenVINO format already exists: {ir_path}") - else: - ppp_model = ov.convert_model(model_path, - input=[1,299,299,3]) + else: + ppp_model = ov.convert_model(model_path, input=[1, 299, 299, 3]) ov.save_model(ppp_model, str(ir_path)) Create ``PrePostProcessor`` Object @@ -351,16 +387,14 @@ for mean/scale normalization. .. code:: ipython3 # setup formant of data - ppp.input().tensor().set_element_type(ov.Type.u8)\ - .set_spatial_dynamic_shape()\ - .set_layout(ov.Layout('NHWC')) + ppp.input().tensor().set_element_type(ov.Type.u8).set_spatial_dynamic_shape().set_layout(ov.Layout("NHWC")) .. parsed-literal:: - + @@ -379,7 +413,7 @@ may be specified is input data input_layer_ir = next(iter(ppp_model.inputs)) print(f"The input shape of the model is {input_layer_ir.shape}") - ppp.input().model().set_layout(ov.Layout('NHWC')) + ppp.input().model().set_layout(ov.Layout("NHWC")) .. parsed-literal:: @@ -391,7 +425,7 @@ may be specified is input data .. parsed-literal:: - + @@ -422,17 +456,14 @@ then such conversion will be added explicitly. from openvino.preprocess import ResizeAlgorithm - ppp.input().preprocess().convert_element_type(ov.Type.f32) \ - .resize(ResizeAlgorithm.RESIZE_LINEAR)\ - .mean([127.5,127.5,127.5])\ - .scale([127.5,127.5,127.5]) + ppp.input().preprocess().convert_element_type(ov.Type.f32).resize(ResizeAlgorithm.RESIZE_LINEAR).mean([127.5, 127.5, 127.5]).scale([127.5, 127.5, 127.5]) .. parsed-literal:: - + @@ -447,7 +478,7 @@ configuration for debugging purposes. .. code:: ipython3 - print(f'Dump preprocessor: {ppp}') + print(f"Dump preprocessor: {ppp}") model_with_preprocess = ppp.build() @@ -511,9 +542,9 @@ Load image and fit it to model input # N, H, W, C = batch size, height, width, number of channels N, H, W, C = input_layer_ir.shape - + # load image, image will be resized to model input size and converted to RGB - img = tf.keras.preprocessing.image.load_img(image_path, target_size=(H, W), color_mode='rgb') + img = tf.keras.preprocessing.image.load_img(image_path, target_size=(H, W), color_mode="rgb") x = tf.keras.preprocessing.image.img_to_array(img) x = np.expand_dims(x, axis=0) @@ -575,10 +606,10 @@ Compare results on one image # Convert the inference result to a class name. imagenet_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/datasets/imagenet/imagenet_2012.txt", - directory="data" + directory="data", ) imagenet_classes = imagenet_filename.read_text().splitlines() - imagenet_classes = ['background'] + imagenet_classes + imagenet_classes = ["background"] + imagenet_classes # get result for inference with preprocessing api print("Result of inference with Preprocessing API:") @@ -636,25 +667,20 @@ Compare performance return time_ir, num_images + time_ir, num_images = check_performance(compiled_model, manual_image_preprocessing) - print( - f"IR model in OpenVINO Runtime/CPU with manual image preprocessing: {time_ir/num_images:.4f} " - f"seconds per image, FPS: {num_images/time_ir:.2f}" - ) + print(f"IR model in OpenVINO Runtime/CPU with manual image preprocessing: {time_ir/num_images:.4f} " f"seconds per image, FPS: {num_images/time_ir:.2f}") time_ir, num_images = check_performance(compiled_model_with_preprocess_api, prepare_image_api_preprocess) - print( - f"IR model in OpenVINO Runtime/CPU with preprocessing API: {time_ir/num_images:.4f} " - f"seconds per image, FPS: {num_images/time_ir:.2f}" - ) + print(f"IR model in OpenVINO Runtime/CPU with preprocessing API: {time_ir/num_images:.4f} " f"seconds per image, FPS: {num_images/time_ir:.2f}") .. parsed-literal:: - IR model in OpenVINO Runtime/CPU with manual image preprocessing: 0.0153 seconds per image, FPS: 65.44 + IR model in OpenVINO Runtime/CPU with manual image preprocessing: 0.0153 seconds per image, FPS: 65.42 .. parsed-literal:: - IR model in OpenVINO Runtime/CPU with preprocessing API: 0.0183 seconds per image, FPS: 54.74 + IR model in OpenVINO Runtime/CPU with preprocessing API: 0.0184 seconds per image, FPS: 54.27 diff --git a/docs/notebooks/optimize-preprocessing-with-output_files/optimize-preprocessing-with-output_14_1.png b/docs/notebooks/optimize-preprocessing-with-output_files/optimize-preprocessing-with-output_14_1.png new file mode 100644 index 00000000000..cca7858e3bc --- /dev/null +++ b/docs/notebooks/optimize-preprocessing-with-output_files/optimize-preprocessing-with-output_14_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbd7b81cc8e7a73ea9bcb8be0c0575134f50b6af8f7de23ee9feed645a4cf66c +size 387941 diff --git a/docs/notebooks/405-paddle-ocr-webcam-with-output.rst b/docs/notebooks/paddle-ocr-webcam-with-output.rst similarity index 82% rename from docs/notebooks/405-paddle-ocr-webcam-with-output.rst rename to docs/notebooks/paddle-ocr-webcam-with-output.rst index 18dca6fe2d1..d7e64f3b5ad 100644 --- a/docs/notebooks/405-paddle-ocr-webcam-with-output.rst +++ b/docs/notebooks/paddle-ocr-webcam-with-output.rst @@ -53,34 +53,19 @@ Table of contents: %pip install -q "openvino>=2023.1.0" %pip install -q "paddlepaddle>=2.5.1" - %pip install -q "pyclipper>=1.2.1" "shapely>=1.7.1" + %pip install -q "pyclipper>=1.2.1" "shapely>=1.7.1" tqdm -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -93,7 +78,6 @@ Imports .. code:: ipython3 - import sys import cv2 import numpy as np import paddle @@ -112,17 +96,15 @@ Imports # Import local modules - utils_file_path = Path('../utils/notebook_utils.py') - notebook_directory_path = Path('.') + if not Path("./notebook_utils.py").exists(): + # Fetch `notebook_utils` module + import requests - if not utils_file_path.exists(): - !git clone --depth 1 https://github.com/igor-davidyuk/openvino_notebooks.git -b moving_data_to_cloud openvino_notebooks - utils_file_path = Path('./openvino_notebooks/notebooks/utils/notebook_utils.py') - notebook_directory_path = Path('./openvino_notebooks/notebooks/405-paddle-ocr-webcam/') - - sys.path.append(str(utils_file_path.parent)) - sys.path.append(str(notebook_directory_path)) + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + open("notebook_utils.py", "w").write(r.text) import notebook_utils as utils import pre_post_processing as processing @@ -141,8 +123,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -175,6 +157,7 @@ files to load to CPU/GPU. # Define the function to download text detection and recognition models from PaddleOCR resources. + def run_model_download(model_url: str, model_file_path: Path) -> None: """ Download pre-trained models from PaddleOCR resources @@ -184,7 +167,7 @@ files to load to CPU/GPU. model_file_path: file path to store the downloaded model """ archive_path = model_file_path.absolute().parent.parent / model_url.split("/")[-1] - if model_file_path.is_file(): + if model_file_path.is_file(): print("Model already exists") else: # Download the model from the server, and untar it. @@ -194,7 +177,6 @@ files to load to CPU/GPU. utils.download_file(model_url, archive_path.name, archive_path.parent) print("Model Downloaded") - file = tarfile.open(archive_path) res = file.extractall(archive_path.parent) file.close() @@ -226,7 +208,7 @@ Download the Model for Text **Detection** .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/405-padd… + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/paddle-o… .. parsed-literal:: @@ -272,7 +254,7 @@ Download the Model for Text **Recognition** .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/405-padd… + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/paddle-o… .. parsed-literal:: @@ -331,7 +313,7 @@ with Chinese text) for easy batching in inference. Preprocess input image for text detection Parameters: - input_image: input image + input_image: input image size: value for the image to be resized for text detection model """ img = cv2.resize(input_image, (size, size)) @@ -352,7 +334,7 @@ with Chinese text) for easy batching in inference. Resize input image for text recognition Parameters: - img: bounding box image from text detection + img: bounding box image from text detection max_wh_ratio: value for the resizing for text recognition model """ rec_image_shape = [3, 48, 320] @@ -368,7 +350,7 @@ with Chinese text) for easy batching in inference. else: resized_w = int(math.ceil(imgH * ratio)) resized_image = cv2.resize(img, (resized_w, imgH)) - resized_image = resized_image.astype('float32') + resized_image = resized_image.astype("float32") resized_image = resized_image.transpose((2, 0, 1)) / 255 resized_image -= 0.5 resized_image /= 0.5 @@ -382,22 +364,22 @@ with Chinese text) for easy batching in inference. Preprocessing of the detected bounding boxes for text recognition Parameters: - dt_boxes: detected bounding boxes from text detection - frame: original input frame + dt_boxes: detected bounding boxes from text detection + frame: original input frame """ ori_im = frame.copy() - img_crop_list = [] + img_crop_list = [] for bno in range(len(dt_boxes)): tmp_box = copy.deepcopy(dt_boxes[bno]) img_crop = processing.get_rotate_crop_image(ori_im, tmp_box) img_crop_list.append(img_crop) - + img_num = len(img_crop_list) # Calculate the aspect ratio of all text bars. width_list = [] for img in img_crop_list: width_list.append(img.shape[1] / float(img.shape[0])) - + # Sorting can speed up the recognition process. indices = np.argsort(np.array(width_list)) return img_crop_list, img_num, indices @@ -408,7 +390,7 @@ with Chinese text) for easy batching in inference. Batch for text recognition Parameters: - img_crop_list: processed detected bounding box images + img_crop_list: processed detected bounding box images img_num: number of bounding boxes from text detection indices: sorting for bounding boxes to speed up text recognition beg_img_no: the beginning number of bounding boxes for each batch of text recognition inference @@ -442,20 +424,20 @@ Postprocessing Image for Text Detection Postprocess the results from text detection into bounding boxes Parameters: - frame: input image + frame: input image det_results: inference results from text detection model - """ + """ ori_im = frame.copy() - data = {'image': frame} + data = {"image": frame} data_resize = processing.DetResizeForTest(data) data_list = [] - keep_keys = ['image', 'shape'] + keep_keys = ["image", "shape"] for key in keep_keys: data_list.append(data_resize[key]) img, shape_list = data_list - shape_list = np.expand_dims(shape_list, axis=0) - pred = det_results[0] + shape_list = np.expand_dims(shape_list, axis=0) + pred = det_results[0] if isinstance(pred, paddle.Tensor): pred = pred.numpy() segmentation = pred > 0.3 @@ -465,10 +447,10 @@ Postprocessing Image for Text Detection src_h, src_w, ratio_h, ratio_w = shape_list[batch_index] mask = segmentation[batch_index] boxes, scores = processing.boxes_from_bitmap(pred[batch_index], mask, src_w, src_h) - boxes_batch.append({'points': boxes}) + boxes_batch.append({"points": boxes}) post_result = boxes_batch - dt_boxes = post_result[0]['points'] - dt_boxes = processing.filter_tag_det_res(dt_boxes, ori_im.shape) + dt_boxes = post_result[0]["points"] + dt_boxes = processing.filter_tag_det_res(dt_boxes, ori_im.shape) return dt_boxes Main Processing Function for PaddleOCR @@ -489,12 +471,12 @@ video file. See the list of procedures below: # Download font and a character dictionary for printing OCR results. font_path = utils.download_file( - url='https://raw.githubusercontent.com/Halfish/lstm-ctc-ocr/master/fonts/simfang.ttf', - directory='fonts' + url="https://raw.githubusercontent.com/Halfish/lstm-ctc-ocr/master/fonts/simfang.ttf", + directory="fonts", ) character_dictionary_path = utils.download_file( - url='https://raw.githubusercontent.com/WenmuZhou/PytorchOCR/master/torchocr/datasets/alphabets/ppocr_keys_v1.txt', - directory='fonts' + url="https://raw.githubusercontent.com/WenmuZhou/PytorchOCR/master/torchocr/datasets/alphabets/ppocr_keys_v1.txt", + directory="fonts", ) @@ -521,10 +503,10 @@ video file. See the list of procedures below: 4. Visualize the results. Parameters: - source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. + source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. flip: To be used by VideoPlayer function for flipping capture image. use_popup: False for showing encoded frames over this notebook, True for creating a popup window. - skip_first_frames: Number of frames to skip at the beginning of the video. + skip_first_frames: Number of frames to skip at the beginning of the video. """ # Create a video player to play with target fps. player = None @@ -546,11 +528,16 @@ video file. See the list of procedures below: # If the frame is larger than full HD, reduce size to improve the performance. scale = 1280 / max(frame.shape) if scale < 1: - frame = cv2.resize(src=frame, dsize=None, fx=scale, fy=scale, - interpolation=cv2.INTER_AREA) + frame = cv2.resize( + src=frame, + dsize=None, + fx=scale, + fy=scale, + interpolation=cv2.INTER_AREA, + ) # Preprocess the image for text detection. test_image = image_preprocess(frame, 640) - + # Measure processing time for text detection. start_time = time.time() # Perform the inference step. @@ -567,55 +554,53 @@ video file. See the list of procedures below: processing_time_det = np.mean(processing_times) * 1000 # Preprocess detection results for recognition. - dt_boxes = processing.sorted_boxes(dt_boxes) + dt_boxes = processing.sorted_boxes(dt_boxes) batch_num = 6 img_crop_list, img_num, indices = prep_for_rec(dt_boxes, frame) - + # For storing recognition results, include two parts: - # txts are the recognized text results, scores are the recognition confidence level. - rec_res = [['', 0.0]] * img_num - txts = [] + # txts are the recognized text results, scores are the recognition confidence level. + rec_res = [["", 0.0]] * img_num + txts = [] scores = [] for beg_img_no in range(0, img_num, batch_num): - # Recognition starts from here. - norm_img_batch = batch_text_box( - img_crop_list, img_num, indices, beg_img_no, batch_num) + norm_img_batch = batch_text_box(img_crop_list, img_num, indices, beg_img_no, batch_num) - # Run inference for text recognition. + # Run inference for text recognition. rec_results = rec_compiled_model([norm_img_batch])[rec_output_layer] # Postprocessing recognition results. postprocess_op = processing.build_post_process(processing.postprocess_params) rec_result = postprocess_op(rec_results) for rno in range(len(rec_result)): - rec_res[indices[beg_img_no + rno]] = rec_result[rno] + rec_res[indices[beg_img_no + rno]] = rec_result[rno] if rec_res: - txts = [rec_res[i][0] for i in range(len(rec_res))] + txts = [rec_res[i][0] for i in range(len(rec_res))] scores = [rec_res[i][1] for i in range(len(rec_res))] - + image = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) boxes = dt_boxes # Draw text recognition results beside the image. - draw_img = processing.draw_ocr_box_txt( - image, - boxes, - txts, - scores, - drop_score=0.5, - font_path=str(font_path) - ) + draw_img = processing.draw_ocr_box_txt(image, boxes, txts, scores, drop_score=0.5, font_path=str(font_path)) # Visualize the PaddleOCR results. f_height, f_width = draw_img.shape[:2] fps = 1000 / processing_time_det - cv2.putText(img=draw_img, text=f"Inference time: {processing_time_det:.1f}ms ({fps:.1f} FPS)", - org=(20, 40),fontFace=cv2.FONT_HERSHEY_COMPLEX, fontScale=f_width / 1000, - color=(0, 0, 255), thickness=1, lineType=cv2.LINE_AA) - + cv2.putText( + img=draw_img, + text=f"Inference time: {processing_time_det:.1f}ms ({fps:.1f} FPS)", + org=(20, 40), + fontFace=cv2.FONT_HERSHEY_COMPLEX, + fontScale=f_width / 1000, + color=(0, 0, 255), + thickness=1, + lineType=cv2.LINE_AA, + ) + # Use this workaround if there is flickering. - if use_popup: + if use_popup: draw_img = cv2.cvtColor(draw_img, cv2.COLOR_RGB2BGR) cv2.imshow(winname=title, mat=draw_img) key = cv2.waitKey(1) @@ -625,14 +610,13 @@ video file. See the list of procedures below: else: # Encode numpy array to jpg. draw_img = cv2.cvtColor(draw_img, cv2.COLOR_RGB2BGR) - _, encoded_img = cv2.imencode(ext=".jpg", img=draw_img, - params=[cv2.IMWRITE_JPEG_QUALITY, 100]) + _, encoded_img = cv2.imencode(ext=".jpg", img=draw_img, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image. i = display.Image(data=encoded_img) # Display the image in this notebook. display.clear_output(wait=True) display.display(i) - + # ctrl-c except KeyboardInterrupt: print("Interrupted") @@ -675,13 +659,13 @@ Run live PaddleOCR: cam_id = 0 video_file = "https://raw.githubusercontent.com/yoyowz/classification/master/images/test.mp4" - source = cam_id if USE_WEBCAM else video_file + source = cam_id if USE_WEBCAM else video_file run_paddle_ocr(source, flip=False, use_popup=False) -.. image:: 405-paddle-ocr-webcam-with-output_files/405-paddle-ocr-webcam-with-output_30_0.png +.. image:: paddle-ocr-webcam-with-output_files/paddle-ocr-webcam-with-output_30_0.png .. parsed-literal:: diff --git a/docs/notebooks/paddle-ocr-webcam-with-output_files/paddle-ocr-webcam-with-output_30_0.png b/docs/notebooks/paddle-ocr-webcam-with-output_files/paddle-ocr-webcam-with-output_30_0.png new file mode 100644 index 00000000000..feb90485f72 --- /dev/null +++ b/docs/notebooks/paddle-ocr-webcam-with-output_files/paddle-ocr-webcam-with-output_30_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cb42d35d1d0e83e8c8005245770a1d8db1f27c738632246f217aa9b1b80b8fa +size 598187 diff --git a/docs/notebooks/103-paddle-to-openvino-classification-with-output.rst b/docs/notebooks/paddle-to-openvino-classification-with-output.rst similarity index 82% rename from docs/notebooks/103-paddle-to-openvino-classification-with-output.rst rename to docs/notebooks/paddle-to-openvino-classification-with-output.rst index 22f761783e8..4fa17d2a633 100644 --- a/docs/notebooks/103-paddle-to-openvino-classification-with-output.rst +++ b/docs/notebooks/paddle-to-openvino-classification-with-output.rst @@ -51,8 +51,8 @@ Imports %pip install -q "paddlepaddle>=2.5.1,<2.6.0" else: %pip install -q "paddlepaddle>=2.5.1" - %pip install -q paddleclas --no-deps - %pip install -q "prettytable" "ujson" "visualdl>=2.2.0" "faiss-cpu>=1.7.1" + %pip install -q "paddleclas>=2.5.2" --no-deps + %pip install -q "prettytable" "ujson" "visualdl>=2.5.3" "faiss-cpu>=1.7.1" Pillow tqdm # Install openvino package %pip install -q "openvino>=2023.1.0" @@ -70,9 +70,9 @@ Imports .. parsed-literal:: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - paddleclas 2.5.1 requires easydict, which is not installed. - paddleclas 2.5.1 requires faiss-cpu==1.7.1.post2, but you have faiss-cpu 1.8.0 which is incompatible. - paddleclas 2.5.1 requires gast==0.3.3, but you have gast 0.4.0 which is incompatible. + paddleclas 2.5.2 requires easydict, which is not installed. + paddleclas 2.5.2 requires gast==0.3.3, but you have gast 0.4.0 which is incompatible. + paddleclas 2.5.2 requires opencv-python==4.6.0.66, but you have opencv-python 4.9.0.80 which is incompatible. .. parsed-literal:: @@ -87,14 +87,14 @@ Imports .. code:: ipython3 - if (platform.system() == "Linux"): + if platform.system() == "Linux": !wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb !sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb .. parsed-literal:: - --2024-03-12 22:20:41-- http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb + --2024-04-18 00:20:15-- http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb Resolving proxy-dmz.intel.com (proxy-dmz.intel.com)... 10.241.208.166 Connecting to proxy-dmz.intel.com (proxy-dmz.intel.com)|10.241.208.166|:911... connected. Proxy request sent, awaiting response... @@ -102,7 +102,7 @@ Imports .. parsed-literal:: 404 Not Found - 2024-03-12 22:20:41 ERROR 404: Not Found. + 2024-04-18 00:20:16 ERROR 404: Not Found. @@ -124,23 +124,25 @@ Imports from PIL import Image # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file .. parsed-literal:: - 2024-03-12 22:20:43 INFO: Loading faiss with AVX512 support. + 2024-04-18 00:20:17 INFO: Loading faiss with AVX512 support. .. parsed-literal:: - 2024-03-12 22:20:43 INFO: Successfully loaded faiss with AVX512 support. + 2024-04-18 00:20:17 INFO: Successfully loaded faiss with AVX512 support. Settings @@ -166,7 +168,7 @@ PaddleHub. This may take a while. # Download the image from the openvino_notebooks storage img = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_close.png", - directory="data" + directory="data", ) IMAGE_FILENAME = img.as_posix() @@ -175,12 +177,12 @@ PaddleHub. This may take a while. MODEL_DIR = Path("model") if not MODEL_DIR.exists(): MODEL_DIR.mkdir() - MODEL_URL = 'https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/{}_infer.tar'.format(MODEL_NAME) + MODEL_URL = "https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/{}_infer.tar".format(MODEL_NAME) download_file(MODEL_URL, directory=MODEL_DIR) - file = tarfile.open(MODEL_DIR / '{}_infer.tar'.format(MODEL_NAME)) + file = tarfile.open(MODEL_DIR / "{}_infer.tar".format(MODEL_NAME)) res = file.extractall(MODEL_DIR) if not res: - print(f"Model Extracted to \"./{MODEL_DIR}\".") + print(f'Model Extracted to "./{MODEL_DIR}".') else: print("Error Extracting the model. Please check the network.") @@ -212,10 +214,10 @@ inference on that image, and then show the top three prediction results. .. code:: ipython3 - classifier = PaddleClas(inference_model_dir=MODEL_DIR / '{}_infer'.format(MODEL_NAME)) + classifier = PaddleClas(inference_model_dir=MODEL_DIR / "{}_infer".format(MODEL_NAME)) result = next(classifier.predict(IMAGE_FILENAME)) - class_names = result[0]['label_names'] - scores = result[0]['scores'] + class_names = result[0]["label_names"] + scores = result[0]["scores"] image = Image.open(IMAGE_FILENAME) plt.imshow(image) for class_name, softmax_probability in zip(class_names, scores): @@ -224,7 +226,7 @@ inference on that image, and then show the top three prediction results. .. parsed-literal:: - [2024/03/12 22:21:11] ppcls WARNING: The current running environment does not support the use of GPU. CPU has been used instead. + [2024/04/18 00:20:47] ppcls WARNING: The current running environment does not support the use of GPU. CPU has been used instead. .. parsed-literal:: @@ -237,7 +239,7 @@ inference on that image, and then show the top three prediction results. -.. image:: 103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_8_2.png +.. image:: paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_8_2.png ``classifier.predict()`` takes an image file name, reads the image, @@ -294,7 +296,7 @@ clipping values. .. parsed-literal:: - 2024-03-12 22:21:12 WARNING: Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers). + 2024-04-18 00:20:48 WARNING: Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers). .. parsed-literal:: @@ -306,12 +308,12 @@ clipping values. .. parsed-literal:: - + -.. image:: 103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_15_3.png +.. image:: paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_15_3.png To decode the labels predicted by the model to names of classes, we need @@ -322,7 +324,7 @@ OpenVINO model. .. code:: ipython3 - class_id_map_file = classifier.get_config()['PostProcess']['Topk']['class_id_map_file'] + class_id_map_file = classifier.get_config()["PostProcess"]["Topk"]["class_id_map_file"] class_id_map = {} with open(class_id_map_file, "r") as fin: lines = fin.readlines() @@ -346,7 +348,7 @@ for more information about the Model Conversion API. .. code:: ipython3 - model_xml = Path(MODEL_NAME).with_suffix('.xml') + model_xml = Path(MODEL_NAME).with_suffix(".xml") if not model_xml.exists(): ov_model = ov.convert_model("model/MobileNetV3_large_x1_0_infer/inference.pdmodel") ov.save_model(ov_model, str(model_xml)) @@ -367,8 +369,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -391,8 +393,7 @@ Show Inference on OpenVINO Model Load the IR model, get model information, load the image, do inference, convert the inference to a meaningful result, and show the output. See the `OpenVINO Runtime API -Notebook <002-openvino-api-with-output.html>`__ for more -information. +Notebook `__ for more information. .. code:: ipython3 @@ -430,7 +431,7 @@ information. -.. image:: 103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_23_1.png +.. image:: paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_23_1.png Timing and Comparison @@ -475,13 +476,10 @@ Note that many optimizations are possible to improve the performance. result = next(classifier.predict(np.array(image))) end = time.perf_counter() time_ir = end - start - print( - f"PaddlePaddle model on CPU: {time_ir/num_images:.4f} " - f"seconds per image, FPS: {num_images/time_ir:.2f}\n" - ) + print(f"PaddlePaddle model on CPU: {time_ir/num_images:.4f} " f"seconds per image, FPS: {num_images/time_ir:.2f}\n") print("PaddlePaddle result:") - class_names = result[0]['label_names'] - scores = result[0]['scores'] + class_names = result[0]["label_names"] + scores = result[0]["scores"] for class_name, softmax_probability in zip(class_names, scores): print(f"{class_name}, {softmax_probability:.5f}") plt.imshow(image); @@ -489,7 +487,7 @@ Note that many optimizations are possible to improve the performance. .. parsed-literal:: - PaddlePaddle model on CPU: 0.0074 seconds per image, FPS: 134.43 + PaddlePaddle model on CPU: 0.0075 seconds per image, FPS: 133.90 PaddlePaddle result: Labrador retriever, 0.75138 @@ -500,7 +498,7 @@ Note that many optimizations are possible to improve the performance. -.. image:: 103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_27_1.png +.. image:: paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_27_1.png Select inference device @@ -540,10 +538,7 @@ select device from dropdown list for running inference using OpenVINO end = time.perf_counter() time_ir = end - start - print( - f"OpenVINO IR model in OpenVINO Runtime ({device.value}): {time_ir/num_images:.4f} " - f"seconds per image, FPS: {num_images/time_ir:.2f}" - ) + print(f"OpenVINO IR model in OpenVINO Runtime ({device.value}): {time_ir/num_images:.4f} " f"seconds per image, FPS: {num_images/time_ir:.2f}") print() print("OpenVINO result:") for index, softmax_probability in zip(top_indices, top_softmax): @@ -553,7 +548,7 @@ select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - OpenVINO IR model in OpenVINO Runtime (AUTO): 0.0028 seconds per image, FPS: 353.76 + OpenVINO IR model in OpenVINO Runtime (AUTO): 0.0029 seconds per image, FPS: 343.70 OpenVINO result: Labrador retriever, 0.74909 @@ -564,7 +559,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 103-paddle-to-openvino-classification-with-output_files/103-paddle-to-openvino-classification-with-output_30_1.png +.. image:: paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_30_1.png References diff --git a/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_15_3.png b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_15_3.png new file mode 100644 index 00000000000..97c14460591 --- /dev/null +++ b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_15_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba922b89ca992098fd516d86f4d0c97858a8264664f9a49d431978b790a9135f +size 120883 diff --git a/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_23_1.png b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_23_1.png new file mode 100644 index 00000000000..74feaaeb12e --- /dev/null +++ b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_23_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b77eb48f499b17e5306d574b90a5d123ab82440225c034a20256a0ce6378cba +size 224886 diff --git a/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_27_1.png b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_27_1.png new file mode 100644 index 00000000000..74feaaeb12e --- /dev/null +++ b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_27_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b77eb48f499b17e5306d574b90a5d123ab82440225c034a20256a0ce6378cba +size 224886 diff --git a/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_30_1.png b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_30_1.png new file mode 100644 index 00000000000..74feaaeb12e --- /dev/null +++ b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_30_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b77eb48f499b17e5306d574b90a5d123ab82440225c034a20256a0ce6378cba +size 224886 diff --git a/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_8_2.png b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_8_2.png new file mode 100644 index 00000000000..74feaaeb12e --- /dev/null +++ b/docs/notebooks/paddle-to-openvino-classification-with-output_files/paddle-to-openvino-classification-with-output_8_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b77eb48f499b17e5306d574b90a5d123ab82440225c034a20256a0ce6378cba +size 224886 diff --git a/docs/notebooks/272-paint-by-example-with-output.rst b/docs/notebooks/paint-by-example-with-output.rst similarity index 79% rename from docs/notebooks/272-paint-by-example-with-output.rst rename to docs/notebooks/paint-by-example-with-output.rst index 1063036bef5..c3e240f6b63 100644 --- a/docs/notebooks/272-paint-by-example-with-output.rst +++ b/docs/notebooks/paint-by-example-with-output.rst @@ -25,7 +25,7 @@ Table of contents: Stable Diffusion in Diffusers library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To work with Stable Diffusion, + To work with Stable Diffusion, we will use the Hugging Face `Diffusers `__ library. To experiment with in-painting we can use Diffusers which exposes the @@ -37,17 +37,17 @@ The code below demonstrates how to create ``stable-diffusion-2-inpainting``. To create the drawing tool we will install Gradio for handling user interaction. -This is the overall flow of the application: |Flow Diagram| +This is the overall flow of the application: -This is the detailed flowchart for the pipeline: |pipeline-flowchart| +.. figure:: https://user-images.githubusercontent.com/103226580/236954918-f364b227-293c-4f78-a9bf-9dcebcb1034a.png + :alt: Flow Diagram -.. |Flow Diagram| image:: https://user-images.githubusercontent.com/103226580/236954918-f364b227-293c-4f78-a9bf-9dcebcb1034a.png -.. |pipeline-flowchart| image:: https://github.com/openvinotoolkit/openvino_notebooks/assets/103226580/cde2d5c4-2540-4a45-ad9c-339f7a69459d + Flow Diagram .. code:: ipython3 - %pip install -q torch torchvision --extra-index-url "https://download.pytorch.org/whl/cpu" - %pip install -q "diffusers>=0.25.0" "peft<=0.6.2" "openvino>=2023.2.0" "transformers>=4.25.1" ipywidgets opencv_python pillow "nncf>=2.7.0" "gradio==3.44.1" + %pip install -q "torch>=2.1" torchvision --extra-index-url "https://download.pytorch.org/whl/cpu" + %pip install -q "diffusers>=0.25.0" "peft==0.6.2" "openvino>=2023.2.0" "transformers>=4.25.1" ipywidgets opencv-python pillow "nncf>=2.7.0" "gradio==3.44.1" tqdm .. parsed-literal:: @@ -95,34 +95,59 @@ Download default images. .. code:: ipython3 # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file - download_file("https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377210-edc98e97-0e43-4796-b771-dacd074c39ea.png", "0.png", "data/image") + download_file( + "https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377210-edc98e97-0e43-4796-b771-dacd074c39ea.png", + "0.png", + "data/image", + ) - download_file("https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377233-b2c2d902-d379-415a-8183-5bdd37c52429.png", "1.png", "data/image") + download_file( + "https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377233-b2c2d902-d379-415a-8183-5bdd37c52429.png", + "1.png", + "data/image", + ) - download_file("https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377248-da1db61e-3521-4cdb-85c8-1386d360ce22.png", "2.png", "data/image") + download_file( + "https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377248-da1db61e-3521-4cdb-85c8-1386d360ce22.png", + "2.png", + "data/image", + ) - download_file("https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377279-fa496f17-e850-4351-87c5-2552dfbc4633.jpg", "bird.jpg", "data/reference") + download_file( + "https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377279-fa496f17-e850-4351-87c5-2552dfbc4633.jpg", + "bird.jpg", + "data/reference", + ) - download_file("https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377298-06a25ff2-84d8-4d46-95cd-8c25efa690d8.jpg", "car.jpg", "data/reference") + download_file( + "https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377298-06a25ff2-84d8-4d46-95cd-8c25efa690d8.jpg", + "car.jpg", + "data/reference", + ) - download_file("https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377318-8841a801-1933-4523-a433-7d2fb64c47e6.jpg", "dog.jpg", "data/reference") - + download_file( + "https://github-production-user-asset-6210df.s3.amazonaws.com/103226580/286377318-8841a801-1933-4523-a433-7d2fb64c47e6.jpg", + "dog.jpg", + "data/reference", + ) Convert models to OpenVINO Intermediate representation (IR) format ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Adapted from `236 Stable Diffusion v2 Infinite Zoom -notebook <236-stable-diffusion-v2-with-output.html>`__ +Adapted from `Stable Diffusion v2 Infinite Zoom +notebook `__ .. code:: ipython3 @@ -149,16 +174,17 @@ Functions to convert to OpenVINO IR format torch.jit._state._clear_class_state() - def convert_image_encoder(image_encoder: torch.nn.Module, ir_path:Path): + def convert_image_encoder(image_encoder: torch.nn.Module, ir_path: Path): """ - Convert Image Encoder model to IR. + Convert Image Encoder model to IR. Function accepts pipeline, prepares example inputs for conversion - Parameters: + Parameters: image_encoder (torch.nn.Module): image encoder PyTorch model ir_path (Path): File for storing model Returns: None """ + class ImageEncoderWrapper(torch.nn.Module): def __init__(self, image_encoder): super().__init__() @@ -171,27 +197,29 @@ Functions to convert to OpenVINO IR format if not ir_path.exists(): image_encoder = ImageEncoderWrapper(image_encoder) image_encoder.eval() - input_ids = torch.randn((1,3,224,224)) + input_ids = torch.randn((1, 3, 224, 224)) # switch model to inference mode # disable gradients calculation for reducing memory consumption with torch.no_grad(): - ov_model = ov.convert_model( - image_encoder, - example_input=input_ids, - input=([1,3,224,224],) - ) + ov_model = ov.convert_model(image_encoder, example_input=input_ids, input=([1, 3, 224, 224],)) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('Image Encoder successfully converted to IR') + print("Image Encoder successfully converted to IR") - - def convert_unet(unet:torch.nn.Module, ir_path:Path, num_channels:int = 4, width:int = 64, height:int = 64): + + def convert_unet( + unet: torch.nn.Module, + ir_path: Path, + num_channels: int = 4, + width: int = 64, + height: int = 64, + ): """ - Convert Unet model to IR format. - Function accepts pipeline, prepares example inputs for conversion - Parameters: + Convert Unet model to IR format. + Function accepts pipeline, prepares example inputs for conversion + Parameters: unet (torch.nn.Module): UNet PyTorch model ir_path (Path): File for storing model num_channels (int, optional, 4): number of input channels @@ -200,10 +228,7 @@ Functions to convert to OpenVINO IR format Returns: None """ - dtype_mapping = { - torch.float32: ov.Type.f32, - torch.float64: ov.Type.f64 - } + dtype_mapping = {torch.float32: ov.Type.f32, torch.float64: ov.Type.f64} if not ir_path.exists(): # prepare inputs encoder_hidden_state = torch.ones((2, 1, 768)) @@ -219,23 +244,19 @@ Functions to convert to OpenVINO IR format input_info.append((shape, element_type)) with torch.no_grad(): - ov_model = ov.convert_model( - unet, - example_input=dummy_inputs, - input=input_info - ) + ov_model = ov.convert_model(unet, example_input=dummy_inputs, input=input_info) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('U-Net successfully converted to IR') + print("U-Net successfully converted to IR") - def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path, width:int = 512, height:int = 512): + def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path, width: int = 512, height: int = 512): """ - Convert VAE model to IR format. - Function accepts VAE model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: + Convert VAE model to IR format. + Function accepts VAE model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: vae (torch.nn.Module): VAE PyTorch model ir_path (Path): File for storing model width (int, optional, 512): input width @@ -243,6 +264,7 @@ Functions to convert to OpenVINO IR format Returns: None """ + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -257,26 +279,27 @@ Functions to convert to OpenVINO IR format vae_encoder.eval() image = torch.zeros((1, 3, width, height)) with torch.no_grad(): - ov_model = ov.convert_model(vae_encoder, example_input=image, input=([1,3, width, height],)) + ov_model = ov.convert_model(vae_encoder, example_input=image, input=([1, 3, width, height],)) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE encoder successfully converted to IR') + print("VAE encoder successfully converted to IR") - def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path, width:int = 64, height:int = 64): + def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path, width: int = 64, height: int = 64): """ - Convert VAE decoder model to IR format. - Function accepts VAE model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: - vae (torch.nn.Module): VAE model + Convert VAE decoder model to IR format. + Function accepts VAE model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: + vae (torch.nn.Module): VAE model ir_path (Path): File for storing model width (int, optional, 64): input width height (int, optional, 64): input height Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -296,7 +319,7 @@ Functions to convert to OpenVINO IR format ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE decoder successfully converted to ') + print("VAE decoder successfully converted to ") Do the conversion of the in-painting model: @@ -316,7 +339,7 @@ Do the conversion of the Unet model .. code:: ipython3 - UNET_OV_PATH_INPAINT = sd2_inpainting_model_dir / 'unet.xml' + UNET_OV_PATH_INPAINT = sd2_inpainting_model_dir / "unet.xml" if not UNET_OV_PATH_INPAINT.exists(): convert_unet(unet_inpaint, UNET_OV_PATH_INPAINT, num_channels=9, width=64, height=64) del unet_inpaint @@ -330,14 +353,14 @@ Do the conversion of the VAE Encoder model .. code:: ipython3 - VAE_ENCODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / 'vae_encoder.xml' + VAE_ENCODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / "vae_encoder.xml" if not VAE_ENCODER_OV_PATH_INPAINT.exists(): convert_vae_encoder(vae_inpaint, VAE_ENCODER_OV_PATH_INPAINT, 512, 512) else: print(f"VAE encoder will be loaded from {VAE_ENCODER_OV_PATH_INPAINT}") - VAE_DECODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / 'vae_decoder.xml' + VAE_DECODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / "vae_decoder.xml" if not VAE_DECODER_OV_PATH_INPAINT.exists(): convert_vae_decoder(vae_inpaint, VAE_DECODER_OV_PATH_INPAINT, 64, 64) else: @@ -353,12 +376,19 @@ Prepare Inference pipeline Function to prepare the mask and masked image. -Adapted from `236 Stable Diffusion v2 Infinite Zoom -notebook <236-stable-diffusion-v2-with-output.html>`__ +Adapted from `Stable Diffusion v2 Infinite Zoom +notebook `__ The main difference is that instead of encoding a text prompt it will now encode an image as the prompt. +This is the detailed flowchart for the pipeline: + +.. figure:: https://github.com/openvinotoolkit/openvino_notebooks/assets/103226580/cde2d5c4-2540-4a45-ad9c-339f7a69459d + :alt: pipeline-flowchart + + pipeline-flowchart + .. code:: ipython3 import inspect @@ -372,7 +402,7 @@ now encode an image as the prompt. from openvino.runtime import Model - def prepare_mask_and_masked_image(image:PIL.Image.Image, mask:PIL.Image.Image): + def prepare_mask_and_masked_image(image: PIL.Image.Image, mask: PIL.Image.Image): """ Prepares a pair (image, mask) to be consumed by the Stable Diffusion pipeline. This means that those inputs will be converted to ``np.array`` with shapes ``batch x channels x height x width`` where ``channels`` is ``3`` for the @@ -496,11 +526,7 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler masked_image_latents = 0.18215 * masked_image_latents mask = np.concatenate([mask] * 2) if do_classifier_free_guidance else mask - masked_image_latents = ( - np.concatenate([masked_image_latents] * 2) - if do_classifier_free_guidance - else masked_image_latents - ) + masked_image_latents = np.concatenate([masked_image_latents] * 2) if do_classifier_free_guidance else masked_image_latents return mask, masked_image_latents def __call__( @@ -556,9 +582,7 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler # prepare mask mask, masked_image = prepare_mask_and_masked_image(image, mask_image) # set timesteps - accepts_offset = "offset" in set( - inspect.signature(self.scheduler.set_timesteps).parameters.keys() - ) + accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) extra_set_kwargs = {} if accepts_offset: extra_set_kwargs["offset"] = 1 @@ -579,34 +603,22 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers. # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502 # and should be between [0, 1] - accepts_eta = "eta" in set( - inspect.signature(self.scheduler.step).parameters.keys() - ) + accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys()) extra_step_kwargs = {} if accepts_eta: extra_step_kwargs["eta"] = eta for t in self.progress_bar(timesteps): # expand the latents if we are doing classifier free guidance - latent_model_input = ( - np.concatenate([latents] * 2) - if do_classifier_free_guidance - else latents - ) + latent_model_input = np.concatenate([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) - latent_model_input = np.concatenate( - [latent_model_input, masked_image_latents, mask], axis=1 - ) + latent_model_input = np.concatenate([latent_model_input, masked_image_latents, mask], axis=1) # predict the noise residual - noise_pred = self.unet( - [latent_model_input, np.array(t, dtype=np.float32), image_embeddings] - )[self._unet_output] + noise_pred = self.unet([latent_model_input, np.array(t, dtype=np.float32), image_embeddings])[self._unet_output] # perform guidance if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred[0], noise_pred[1] - noise_pred = noise_pred_uncond + guidance_scale * ( - noise_pred_text - noise_pred_uncond - ) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) # compute the previous noisy sample x_t -> x_t-1 latents = self.scheduler.step( @@ -621,7 +633,7 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler image = self.postprocess_image(image, meta, output_type) return {"sample": image} - def _encode_image(self, image:PIL.Image.Image, do_classifier_free_guidance:bool = True): + def _encode_image(self, image: PIL.Image.Image, do_classifier_free_guidance: bool = True): """ Encodes the image into image encoder hidden states. @@ -632,7 +644,7 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler image_embeddings (np.ndarray): image encoder hidden states """ processed_image = self.image_processor(image) - processed_image = processed_image['pixel_values'][0] + processed_image = processed_image["pixel_values"][0] processed_image = np.expand_dims(processed_image, axis=0) output = self.image_encoder(processed_image) @@ -643,10 +655,10 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler return image_embeddings - def prepare_latents(self, latent_timestep:torch.Tensor = None): + def prepare_latents(self, latent_timestep: torch.Tensor = None): """ Function for getting initial latents for starting generation - + Parameters: latent_timestep (torch.Tensor, *optional*, None): Predicted by scheduler initial step for image generation, required for latent image mixing with nosie @@ -661,11 +673,11 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler noise = noise * self.scheduler.sigmas[0].numpy() return noise, {} - def postprocess_image(self, image:np.ndarray, meta:Dict, output_type:str = "pil"): + def postprocess_image(self, image: np.ndarray, meta: Dict, output_type: str = "pil"): """ - Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), + Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format - + Parameters: image (np.ndarray): Generated image @@ -691,25 +703,23 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler image = self.numpy_to_pil(image) if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def get_timesteps(self, num_inference_steps:int, strength:float): + def get_timesteps(self, num_inference_steps: int, strength: float): """ Helper function for getting scheduler timesteps for generation In case of image-to-image generation, it updates number of steps according to strength - + Parameters: num_inference_steps (int): number of inference steps for generation strength (float): - value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. + value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. Values that approach 1.0 allow for lots of variations but will also produce images that are not semantically consistent with the input. """ # get the original timestep using init_timestep @@ -718,7 +728,7 @@ decode –> image encode –> tokenizer –> Unet –> VAE model –> scheduler t_start = max(num_inference_steps - init_timestep, 0) timesteps = self.scheduler.timesteps[t_start:] - return timesteps, num_inference_steps - t_start + return timesteps, num_inference_steps - t_start Select inference device ~~~~~~~~~~~~~~~~~~~~~~~ @@ -736,8 +746,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -769,12 +779,11 @@ This can take a while to run. def get_ov_pipeline(): - image_encoder_inpaint = core.compile_model(IMAGE_ENCODER_OV_PATH_INPAINT, device.value) unet_model_inpaint = core.compile_model(UNET_OV_PATH_INPAINT, device.value) vae_decoder_inpaint = core.compile_model(VAE_DECODER_OV_PATH_INPAINT, device.value, ov_config) vae_encoder_inpaint = core.compile_model(VAE_ENCODER_OV_PATH_INPAINT, device.value, ov_config) - + ov_pipe_inpaint = OVStableDiffusionInpaintingPipeline( image_processor=extractor, image_encoder=image_encoder_inpaint, @@ -828,7 +837,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -848,8 +857,11 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) if to_quantize.value and "GPU" in device.value: to_quantize.value = False @@ -877,9 +889,21 @@ to create a calibration dataset. return PIL.Image.open(BytesIO(response.content)).convert("RGB") - example1 = ['https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/image/example_1.png?raw=true', 'https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/mask/example_1.png?raw=true', 'https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/reference/example_1.jpg?raw=true'] - example2 = ['https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/image/example_2.png?raw=true', 'https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/mask/example_2.png?raw=true', 'https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/reference/example_2.jpg?raw=true'] - example3 = ['https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/image/example_3.png?raw=true', 'https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/mask/example_3.png?raw=true', 'https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/reference/example_3.jpg?raw=true'] + example1 = [ + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/image/example_1.png?raw=true", + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/mask/example_1.png?raw=true", + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/reference/example_1.jpg?raw=true", + ] + example2 = [ + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/image/example_2.png?raw=true", + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/mask/example_2.png?raw=true", + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/reference/example_2.jpg?raw=true", + ] + example3 = [ + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/image/example_3.png?raw=true", + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/mask/example_3.png?raw=true", + "https://github.com/Fantasy-Studio/Paint-by-Example/blob/main/examples/reference/example_3.jpg?raw=true", + ] examples = [example1, example2, example3] @@ -1157,7 +1181,7 @@ Quantized pipeline: -.. image:: 272-paint-by-example-with-output_files/272-paint-by-example-with-output_41_0.png +.. image:: paint-by-example-with-output_files/paint-by-example-with-output_41_0.png .. code:: ipython3 @@ -1200,19 +1224,19 @@ can choose both, FP16 and INT8. .. code:: ipython3 - available_models = ['FP16'] + available_models = ["FP16"] if UNET_INT8_OV_PATH.exists(): - available_models.append('INT8') + available_models.append("INT8") model_to_use = widgets.Select( options=available_models, - value='FP16', - description='Select model:', + value="FP16", + description="Select model:", disabled=False, ) - model_to_use + model_to_use @@ -1225,7 +1249,7 @@ can choose both, FP16 and INT8. .. code:: ipython3 - if 'INT8' == model_to_use.value: + if "INT8" == model_to_use.value: chosen_pipeline = int8_ov_pipe_inpaint or get_quantized_pipeline() ov_pipe_inpaint = None else: @@ -1248,25 +1272,25 @@ and push “Paint!” def predict(input_dict, reference, seed, steps): """ - This function runs when the 'paint' button is pressed. It takes 3 input images. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), - normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format - - Parameters: - input_dict (Dict): - Contains two images in a dictionary - 'image' is the image that will be painted on - 'mask' is the black/white image specifying where to paint (white) and not to paint (black) - image (PIL.Image.Image): - Reference image that will be used by the model to know what to paint in the specified area - seed (int): - Used to initialize the random number generator state - steps (int): - The number of denoising steps to run during inference. Low = fast/low quality, High = slow/higher quality - use_quantize_model (bool): - Use fp16 or int8 model - Returns: - image (PIL.Image.Image): - Postprocessed images + This function runs when the 'paint' button is pressed. It takes 3 input images. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), + normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format + + Parameters: + input_dict (Dict): + Contains two images in a dictionary + 'image' is the image that will be painted on + 'mask' is the black/white image specifying where to paint (white) and not to paint (black) + image (PIL.Image.Image): + Reference image that will be used by the model to know what to paint in the specified area + seed (int): + Used to initialize the random number generator state + steps (int): + The number of denoising steps to run during inference. Low = fast/low quality, High = slow/higher quality + use_quantize_model (bool): + Use fp16 or int8 model + Returns: + image (PIL.Image.Image): + Postprocessed images """ width, height = input_dict["image"].size @@ -1280,8 +1304,8 @@ and push “Paint!” height = 512 width = int((width / factor) / 8.0) * 8 - init_image = input_dict["image"].convert("RGB").resize((width,height)) - mask = input_dict["mask"].convert("RGB").resize((width,height)) + init_image = input_dict["image"].convert("RGB").resize((width, height)) + mask = input_dict["mask"].convert("RGB").resize((width, height)) # If the image is not a 512x512 square then crop if width > height: @@ -1295,13 +1319,13 @@ and push “Paint!” else: input_image = init_image - if not os.path.exists('output'): - os.mkdir('output') - input_image.save('output/init.png') - mask.save('output/mask.png') - reference.save('output/ref.png') + if not os.path.exists("output"): + os.mkdir("output") + input_image.save("output/init.png") + mask.save("output/mask.png") + reference.save("output/ref.png") - mask = [mask] + mask = [mask] result = chosen_pipeline( image=input_image, @@ -1309,22 +1333,24 @@ and push “Paint!” reference_image=reference, seed=seed, num_inference_steps=steps, - )["sample"][0] + )[ + "sample" + ][0] out_dir = Path("output") out_dir.mkdir(exist_ok=True) - result.save('output/result.png') + result.save("output/result.png") return result example = {} - title = f'# {model_to_use.value} pipeline' - ref_dir = 'data/reference' - image_dir = 'data/image' - ref_list = [os.path.join(ref_dir,file) for file in os.listdir(ref_dir) if file.endswith(".jpg")] + title = f"# {model_to_use.value} pipeline" + ref_dir = "data/reference" + image_dir = "data/image" + ref_list = [os.path.join(ref_dir, file) for file in os.listdir(ref_dir) if file.endswith(".jpg")] ref_list.sort() - image_list = [os.path.join(image_dir,file) for file in os.listdir(image_dir) if file.endswith(".png")] + image_list = [os.path.join(image_dir, file) for file in os.listdir(image_dir) if file.endswith(".png")] image_list.sort() @@ -1334,24 +1360,56 @@ and push “Paint!” with gr.Group(): with gr.Row(): with gr.Column(): - image = gr.Image(source='upload', tool='sketch', elem_id="image_upload", type="pil", label="Source Image") - reference = gr.Image(source='upload', elem_id="image_upload", type="pil", label="Reference Image") + image = gr.Image( + source="upload", + tool="sketch", + elem_id="image_upload", + type="pil", + label="Source Image", + ) + reference = gr.Image( + source="upload", + elem_id="image_upload", + type="pil", + label="Reference Image", + ) with gr.Column(): image_out = gr.Image(label="Output", elem_id="output-img") - steps = gr.Slider(label="Steps", value=15, minimum=2, maximum=75, step=1, interactive=True) - seed = gr.Slider(0, 10000, label='Seed (0 = random)', value=0, step=1) + steps = gr.Slider( + label="Steps", + value=15, + minimum=2, + maximum=75, + step=1, + interactive=True, + ) + seed = gr.Slider(0, 10000, label="Seed (0 = random)", value=0, step=1) with gr.Row(elem_id="prompt-container"): btn = gr.Button("Paint!") - + with gr.Row(): with gr.Column(): - gr.Examples(image_list, inputs=[image], label="Examples - Source Image", examples_per_page=12) + gr.Examples( + image_list, + inputs=[image], + label="Examples - Source Image", + examples_per_page=12, + ) with gr.Column(): - gr.Examples(ref_list, inputs=[reference], label="Examples - Reference Image", examples_per_page=12) - - btn.click(fn=predict, inputs=[image, reference, seed, steps], outputs=[image_out],) + gr.Examples( + ref_list, + inputs=[reference], + label="Examples - Reference Image", + examples_per_page=12, + ) + + btn.click( + fn=predict, + inputs=[image, reference, seed, steps], + outputs=[image_out], + ) # Launching the Gradio app try: diff --git a/docs/notebooks/272-paint-by-example-with-output_files/272-paint-by-example-with-output_41_0.png b/docs/notebooks/paint-by-example-with-output_files/paint-by-example-with-output_41_0.png similarity index 100% rename from docs/notebooks/272-paint-by-example-with-output_files/272-paint-by-example-with-output_41_0.png rename to docs/notebooks/paint-by-example-with-output_files/paint-by-example-with-output_41_0.png diff --git a/docs/notebooks/407-person-tracking-with-output.rst b/docs/notebooks/person-tracking-with-output.rst similarity index 57% rename from docs/notebooks/407-person-tracking-with-output.rst rename to docs/notebooks/person-tracking-with-output.rst index 74652b31ee1..f1c4f8f82f5 100644 --- a/docs/notebooks/407-person-tracking-with-output.rst +++ b/docs/notebooks/person-tracking-with-output.rst @@ -120,7 +120,7 @@ Table of contents: import platform %pip install -q "openvino-dev>=2024.0.0" - %pip install -q opencv-python requests scipy + %pip install -q opencv-python requests scipy tqdm if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -128,31 +128,16 @@ Table of contents: %pip install -q "matplotlib>=3.4,<3.7" -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -167,7 +152,6 @@ Imports import collections from pathlib import Path - import sys import time import numpy as np @@ -180,21 +164,26 @@ Imports # Import local modules - utils_file_path = Path('../utils/notebook_utils.py') - notebook_directory_path = Path('.') + if not Path("./notebook_utils.py").exists(): + # Fetch `notebook_utils` module + import requests - if not utils_file_path.exists(): - !git clone --depth 1 https://github.com/igor-davidyuk/openvino_notebooks.git -b moving_data_to_cloud openvino_notebooks - utils_file_path = Path('./openvino_notebooks/notebooks/utils/notebook_utils.py') - notebook_directory_path = Path('./openvino_notebooks/notebooks/407-person-tracking-webcam/') + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) - sys.path.append(str(utils_file_path.parent)) - sys.path.append(str(notebook_directory_path)) + open("notebook_utils.py", "w").write(r.text) import notebook_utils as utils from deepsort_utils.tracker import Tracker from deepsort_utils.nn_matching import NearestNeighborDistanceMetric - from deepsort_utils.detection import Detection, compute_color_for_labels, xywh_to_xyxy, xywh_to_tlwh, tlwh_to_xyxy + from deepsort_utils.detection import ( + Detection, + compute_color_for_labels, + xywh_to_xyxy, + xywh_to_tlwh, + tlwh_to_xyxy, + ) Download the Model ------------------ @@ -238,11 +227,9 @@ replace the name of the model in the code below. # The name of the model from Open Model Zoo detection_model_name = "person-detection-0202" - download_command = f"omz_downloader " \ - f"--name {detection_model_name} " \ - f"--precisions {precision} " \ - f"--output_dir {base_model_dir} " \ - f"--cache_dir {base_model_dir}" + download_command = ( + f"omz_downloader " f"--name {detection_model_name} " f"--precisions {precision} " f"--output_dir {base_model_dir} " f"--cache_dir {base_model_dir}" + ) ! $download_command detection_model_path = f"model/intel/{detection_model_name}/{precision}/{detection_model_name}.xml" @@ -250,11 +237,9 @@ replace the name of the model in the code below. reidentification_model_name = "person-reidentification-retail-0287" - download_command = f"omz_downloader " \ - f"--name {reidentification_model_name} " \ - f"--precisions {precision} " \ - f"--output_dir {base_model_dir} " \ - f"--cache_dir {base_model_dir}" + download_command = ( + f"omz_downloader " f"--name {reidentification_model_name} " f"--precisions {precision} " f"--output_dir {base_model_dir} " f"--cache_dir {base_model_dir}" + ) ! $download_command reidentification_model_path = f"model/intel/{reidentification_model_name}/{precision}/{reidentification_model_name}.xml" @@ -269,20 +254,17 @@ replace the name of the model in the code below. .. parsed-literal:: - ... 12%, 32 KB, 918 KB/s, 0 seconds passed + ... 12%, 32 KB, 900 KB/s, 0 seconds passed .. parsed-literal:: - ... 25%, 64 KB, 928 KB/s, 0 seconds passed -... 38%, 96 KB, 1341 KB/s, 0 seconds passed - -.. parsed-literal:: - - ... 51%, 128 KB, 1253 KB/s, 0 seconds passed -... 64%, 160 KB, 1548 KB/s, 0 seconds passed -... 77%, 192 KB, 1851 KB/s, 0 seconds passed -... 89%, 224 KB, 2152 KB/s, 0 seconds passed -... 100%, 248 KB, 2377 KB/s, 0 seconds passed + ... 25%, 64 KB, 937 KB/s, 0 seconds passed +... 38%, 96 KB, 1364 KB/s, 0 seconds passed +... 51%, 128 KB, 1254 KB/s, 0 seconds passed +... 64%, 160 KB, 1552 KB/s, 0 seconds passed +... 77%, 192 KB, 1828 KB/s, 0 seconds passed +... 89%, 224 KB, 2097 KB/s, 0 seconds passed +... 100%, 248 KB, 2307 KB/s, 0 seconds passed ========== Downloading model/intel/person-detection-0202/FP16/person-detection-0202.bin @@ -290,129 +272,129 @@ replace the name of the model in the code below. .. parsed-literal:: - ... 0%, 32 KB, 984 KB/s, 0 seconds passed + ... 0%, 32 KB, 867 KB/s, 0 seconds passed +... 1%, 64 KB, 952 KB/s, 0 seconds passed .. parsed-literal:: - ... 1%, 64 KB, 985 KB/s, 0 seconds passed -... 2%, 96 KB, 1464 KB/s, 0 seconds passed -... 3%, 128 KB, 1318 KB/s, 0 seconds passed -... 4%, 160 KB, 1638 KB/s, 0 seconds passed -... 5%, 192 KB, 1943 KB/s, 0 seconds passed -... 6%, 224 KB, 2239 KB/s, 0 seconds passed -... 7%, 256 KB, 2540 KB/s, 0 seconds passed + ... 2%, 96 KB, 1141 KB/s, 0 seconds passed +... 3%, 128 KB, 1273 KB/s, 0 seconds passed +... 4%, 160 KB, 1575 KB/s, 0 seconds passed +... 5%, 192 KB, 1774 KB/s, 0 seconds passed +... 6%, 224 KB, 1964 KB/s, 0 seconds passed +... 7%, 256 KB, 2147 KB/s, 0 seconds passed .. parsed-literal:: - ... 8%, 288 KB, 2219 KB/s, 0 seconds passed -... 9%, 320 KB, 2458 KB/s, 0 seconds passed -... 9%, 352 KB, 2691 KB/s, 0 seconds passed -... 10%, 384 KB, 2916 KB/s, 0 seconds passed -... 11%, 416 KB, 3138 KB/s, 0 seconds passed -... 12%, 448 KB, 3356 KB/s, 0 seconds passed -... 13%, 480 KB, 3569 KB/s, 0 seconds passed -... 14%, 512 KB, 3780 KB/s, 0 seconds passed -... 15%, 544 KB, 3997 KB/s, 0 seconds passed -... 16%, 576 KB, 3544 KB/s, 0 seconds passed + ... 8%, 288 KB, 2143 KB/s, 0 seconds passed +... 9%, 320 KB, 2371 KB/s, 0 seconds passed +... 9%, 352 KB, 2597 KB/s, 0 seconds passed +... 10%, 384 KB, 2813 KB/s, 0 seconds passed +... 11%, 416 KB, 2976 KB/s, 0 seconds passed +... 12%, 448 KB, 3065 KB/s, 0 seconds passed +... 13%, 480 KB, 3215 KB/s, 0 seconds passed +... 14%, 512 KB, 3349 KB/s, 0 seconds passed +... 15%, 544 KB, 3487 KB/s, 0 seconds passed +... 16%, 576 KB, 3642 KB/s, 0 seconds passed +... 17%, 608 KB, 3611 KB/s, 0 seconds passed +... 18%, 640 KB, 3786 KB/s, 0 seconds passed +... 18%, 672 KB, 3958 KB/s, 0 seconds passed +... 19%, 704 KB, 4128 KB/s, 0 seconds passed +... 20%, 736 KB, 4280 KB/s, 0 seconds passed +... 21%, 768 KB, 4411 KB/s, 0 seconds passed +... 22%, 800 KB, 4515 KB/s, 0 seconds passed +... 23%, 832 KB, 4615 KB/s, 0 seconds passed +... 24%, 864 KB, 4755 KB/s, 0 seconds passed +... 25%, 896 KB, 4879 KB/s, 0 seconds passed .. parsed-literal:: - ... 17%, 608 KB, 3731 KB/s, 0 seconds passed -... 18%, 640 KB, 3909 KB/s, 0 seconds passed -... 18%, 672 KB, 4083 KB/s, 0 seconds passed -... 19%, 704 KB, 4254 KB/s, 0 seconds passed -... 20%, 736 KB, 4425 KB/s, 0 seconds passed -... 21%, 768 KB, 4590 KB/s, 0 seconds passed -... 22%, 800 KB, 4754 KB/s, 0 seconds passed -... 23%, 832 KB, 4922 KB/s, 0 seconds passed -... 24%, 864 KB, 5090 KB/s, 0 seconds passed -... 25%, 896 KB, 5253 KB/s, 0 seconds passed -... 26%, 928 KB, 5415 KB/s, 0 seconds passed -... 27%, 960 KB, 5576 KB/s, 0 seconds passed -... 27%, 992 KB, 5733 KB/s, 0 seconds passed -... 28%, 1024 KB, 5888 KB/s, 0 seconds passed -... 29%, 1056 KB, 6046 KB/s, 0 seconds passed -... 30%, 1088 KB, 6195 KB/s, 0 seconds passed -... 31%, 1120 KB, 6353 KB/s, 0 seconds passed -... 32%, 1152 KB, 6520 KB/s, 0 seconds passed -... 33%, 1184 KB, 6054 KB/s, 0 seconds passed -... 34%, 1216 KB, 6207 KB/s, 0 seconds passed -... 35%, 1248 KB, 6361 KB/s, 0 seconds passed -... 36%, 1280 KB, 6500 KB/s, 0 seconds passed -... 36%, 1312 KB, 6631 KB/s, 0 seconds passed -... 37%, 1344 KB, 6782 KB/s, 0 seconds passed -... 38%, 1376 KB, 6931 KB/s, 0 seconds passed -... 39%, 1408 KB, 7082 KB/s, 0 seconds passed -... 40%, 1440 KB, 7232 KB/s, 0 seconds passed -... 41%, 1472 KB, 7381 KB/s, 0 seconds passed -... 42%, 1504 KB, 7530 KB/s, 0 seconds passed -... 43%, 1536 KB, 7679 KB/s, 0 seconds passed -... 44%, 1568 KB, 7826 KB/s, 0 seconds passed -... 45%, 1600 KB, 7974 KB/s, 0 seconds passed -... 45%, 1632 KB, 8121 KB/s, 0 seconds passed -... 46%, 1664 KB, 8268 KB/s, 0 seconds passed -... 47%, 1696 KB, 8414 KB/s, 0 seconds passed -... 48%, 1728 KB, 8560 KB/s, 0 seconds passed -... 49%, 1760 KB, 8706 KB/s, 0 seconds passed -... 50%, 1792 KB, 8852 KB/s, 0 seconds passed -... 51%, 1824 KB, 8996 KB/s, 0 seconds passed -... 52%, 1856 KB, 9141 KB/s, 0 seconds passed -... 53%, 1888 KB, 9285 KB/s, 0 seconds passed -... 54%, 1920 KB, 9427 KB/s, 0 seconds passed -... 54%, 1952 KB, 9570 KB/s, 0 seconds passed -... 55%, 1984 KB, 9713 KB/s, 0 seconds passed -... 56%, 2016 KB, 9855 KB/s, 0 seconds passed -... 57%, 2048 KB, 9997 KB/s, 0 seconds passed -... 58%, 2080 KB, 10138 KB/s, 0 seconds passed -... 59%, 2112 KB, 10280 KB/s, 0 seconds passed -... 60%, 2144 KB, 10420 KB/s, 0 seconds passed -... 61%, 2176 KB, 10559 KB/s, 0 seconds passed -... 62%, 2208 KB, 10699 KB/s, 0 seconds passed -... 63%, 2240 KB, 10839 KB/s, 0 seconds passed -... 64%, 2272 KB, 10978 KB/s, 0 seconds passed -... 64%, 2304 KB, 11117 KB/s, 0 seconds passed + ... 26%, 928 KB, 5017 KB/s, 0 seconds passed +... 27%, 960 KB, 5135 KB/s, 0 seconds passed +... 27%, 992 KB, 5250 KB/s, 0 seconds passed +... 28%, 1024 KB, 5363 KB/s, 0 seconds passed +... 29%, 1056 KB, 5472 KB/s, 0 seconds passed +... 30%, 1088 KB, 5610 KB/s, 0 seconds passed +... 31%, 1120 KB, 5717 KB/s, 0 seconds passed +... 32%, 1152 KB, 5869 KB/s, 0 seconds passed +... 33%, 1184 KB, 5860 KB/s, 0 seconds passed +... 34%, 1216 KB, 6002 KB/s, 0 seconds passed +... 35%, 1248 KB, 6147 KB/s, 0 seconds passed +... 36%, 1280 KB, 6292 KB/s, 0 seconds passed +... 36%, 1312 KB, 6412 KB/s, 0 seconds passed +... 37%, 1344 KB, 6552 KB/s, 0 seconds passed +... 38%, 1376 KB, 6647 KB/s, 0 seconds passed +... 39%, 1408 KB, 6735 KB/s, 0 seconds passed +... 40%, 1440 KB, 6822 KB/s, 0 seconds passed +... 41%, 1472 KB, 6939 KB/s, 0 seconds passed +... 42%, 1504 KB, 7032 KB/s, 0 seconds passed +... 43%, 1536 KB, 7148 KB/s, 0 seconds passed +... 44%, 1568 KB, 7266 KB/s, 0 seconds passed +... 45%, 1600 KB, 7365 KB/s, 0 seconds passed +... 45%, 1632 KB, 7482 KB/s, 0 seconds passed +... 46%, 1664 KB, 7616 KB/s, 0 seconds passed +... 47%, 1696 KB, 7744 KB/s, 0 seconds passed +... 48%, 1728 KB, 7855 KB/s, 0 seconds passed +... 49%, 1760 KB, 7962 KB/s, 0 seconds passed +... 50%, 1792 KB, 8069 KB/s, 0 seconds passed +... 51%, 1824 KB, 8173 KB/s, 0 seconds passed +... 52%, 1856 KB, 8291 KB/s, 0 seconds passed +... 53%, 1888 KB, 8388 KB/s, 0 seconds passed +... 54%, 1920 KB, 8517 KB/s, 0 seconds passed +... 54%, 1952 KB, 8630 KB/s, 0 seconds passed +... 55%, 1984 KB, 8734 KB/s, 0 seconds passed +... 56%, 2016 KB, 8836 KB/s, 0 seconds passed +... 57%, 2048 KB, 8939 KB/s, 0 seconds passed +... 58%, 2080 KB, 9041 KB/s, 0 seconds passed +... 59%, 2112 KB, 9148 KB/s, 0 seconds passed +... 60%, 2144 KB, 9269 KB/s, 0 seconds passed +... 61%, 2176 KB, 9379 KB/s, 0 seconds passed +... 62%, 2208 KB, 9479 KB/s, 0 seconds passed +... 63%, 2240 KB, 9600 KB/s, 0 seconds passed +... 64%, 2272 KB, 9710 KB/s, 0 seconds passed +... 64%, 2304 KB, 9810 KB/s, 0 seconds passed +... 65%, 2336 KB, 9929 KB/s, 0 seconds passed +... 66%, 2368 KB, 10032 KB/s, 0 seconds passed .. parsed-literal:: - ... 65%, 2336 KB, 10276 KB/s, 0 seconds passed -... 66%, 2368 KB, 10065 KB/s, 0 seconds passed -... 67%, 2400 KB, 10182 KB/s, 0 seconds passed -... 68%, 2432 KB, 10303 KB/s, 0 seconds passed -... 69%, 2464 KB, 10425 KB/s, 0 seconds passed -... 70%, 2496 KB, 10547 KB/s, 0 seconds passed -... 71%, 2528 KB, 10668 KB/s, 0 seconds passed -... 72%, 2560 KB, 10790 KB/s, 0 seconds passed -... 73%, 2592 KB, 10911 KB/s, 0 seconds passed -... 73%, 2624 KB, 11031 KB/s, 0 seconds passed -... 74%, 2656 KB, 11151 KB/s, 0 seconds passed -... 75%, 2688 KB, 11272 KB/s, 0 seconds passed -... 76%, 2720 KB, 11392 KB/s, 0 seconds passed -... 77%, 2752 KB, 11512 KB/s, 0 seconds passed -... 78%, 2784 KB, 11630 KB/s, 0 seconds passed -... 79%, 2816 KB, 11748 KB/s, 0 seconds passed -... 80%, 2848 KB, 11866 KB/s, 0 seconds passed -... 81%, 2880 KB, 11985 KB/s, 0 seconds passed -... 82%, 2912 KB, 12103 KB/s, 0 seconds passed -... 82%, 2944 KB, 12221 KB/s, 0 seconds passed -... 83%, 2976 KB, 12338 KB/s, 0 seconds passed -... 84%, 3008 KB, 12455 KB/s, 0 seconds passed -... 85%, 3040 KB, 12571 KB/s, 0 seconds passed -... 86%, 3072 KB, 12687 KB/s, 0 seconds passed -... 87%, 3104 KB, 12804 KB/s, 0 seconds passed -... 88%, 3136 KB, 12920 KB/s, 0 seconds passed -... 89%, 3168 KB, 13035 KB/s, 0 seconds passed -... 90%, 3200 KB, 13151 KB/s, 0 seconds passed -... 91%, 3232 KB, 13266 KB/s, 0 seconds passed -... 91%, 3264 KB, 13380 KB/s, 0 seconds passed -... 92%, 3296 KB, 13495 KB/s, 0 seconds passed -... 93%, 3328 KB, 13609 KB/s, 0 seconds passed -... 94%, 3360 KB, 13723 KB/s, 0 seconds passed -... 95%, 3392 KB, 13839 KB/s, 0 seconds passed -... 96%, 3424 KB, 13955 KB/s, 0 seconds passed -... 97%, 3456 KB, 14072 KB/s, 0 seconds passed -... 98%, 3488 KB, 14188 KB/s, 0 seconds passed -... 99%, 3520 KB, 14305 KB/s, 0 seconds passed -... 100%, 3549 KB, 14407 KB/s, 0 seconds passed + ... 67%, 2400 KB, 9992 KB/s, 0 seconds passed +... 68%, 2432 KB, 10108 KB/s, 0 seconds passed +... 69%, 2464 KB, 10224 KB/s, 0 seconds passed +... 70%, 2496 KB, 10342 KB/s, 0 seconds passed +... 71%, 2528 KB, 10296 KB/s, 0 seconds passed +... 72%, 2560 KB, 10408 KB/s, 0 seconds passed +... 73%, 2592 KB, 10520 KB/s, 0 seconds passed +... 73%, 2624 KB, 10631 KB/s, 0 seconds passed +... 74%, 2656 KB, 10743 KB/s, 0 seconds passed +... 75%, 2688 KB, 10856 KB/s, 0 seconds passed +... 76%, 2720 KB, 10967 KB/s, 0 seconds passed +... 77%, 2752 KB, 11079 KB/s, 0 seconds passed +... 78%, 2784 KB, 11191 KB/s, 0 seconds passed +... 79%, 2816 KB, 11302 KB/s, 0 seconds passed +... 80%, 2848 KB, 11413 KB/s, 0 seconds passed +... 81%, 2880 KB, 11524 KB/s, 0 seconds passed +... 82%, 2912 KB, 11635 KB/s, 0 seconds passed +... 82%, 2944 KB, 11747 KB/s, 0 seconds passed +... 83%, 2976 KB, 11856 KB/s, 0 seconds passed +... 84%, 3008 KB, 11966 KB/s, 0 seconds passed +... 85%, 3040 KB, 12078 KB/s, 0 seconds passed +... 86%, 3072 KB, 12187 KB/s, 0 seconds passed +... 87%, 3104 KB, 12297 KB/s, 0 seconds passed +... 88%, 3136 KB, 12407 KB/s, 0 seconds passed +... 89%, 3168 KB, 12516 KB/s, 0 seconds passed +... 90%, 3200 KB, 12623 KB/s, 0 seconds passed +... 91%, 3232 KB, 12733 KB/s, 0 seconds passed +... 91%, 3264 KB, 12840 KB/s, 0 seconds passed +... 92%, 3296 KB, 12948 KB/s, 0 seconds passed +... 93%, 3328 KB, 13059 KB/s, 0 seconds passed +... 94%, 3360 KB, 13169 KB/s, 0 seconds passed +... 95%, 3392 KB, 13280 KB/s, 0 seconds passed +... 96%, 3424 KB, 13392 KB/s, 0 seconds passed +... 97%, 3456 KB, 13494 KB/s, 0 seconds passed +... 98%, 3488 KB, 13602 KB/s, 0 seconds passed +... 99%, 3520 KB, 13702 KB/s, 0 seconds passed +... 100%, 3549 KB, 13798 KB/s, 0 seconds passed @@ -426,127 +408,127 @@ replace the name of the model in the code below. .. parsed-literal:: - ... 0%, 32 KB, 949 KB/s, 0 seconds passed -... 1%, 64 KB, 949 KB/s, 0 seconds passed + ... 0%, 32 KB, 948 KB/s, 0 seconds passed .. parsed-literal:: - ... 2%, 96 KB, 1364 KB/s, 0 seconds passed -... 3%, 128 KB, 1758 KB/s, 0 seconds passed + ... 1%, 64 KB, 949 KB/s, 0 seconds passed +... 2%, 96 KB, 1371 KB/s, 0 seconds passed +... 3%, 128 KB, 1763 KB/s, 0 seconds passed ... 4%, 160 KB, 1573 KB/s, 0 seconds passed -... 5%, 192 KB, 1851 KB/s, 0 seconds passed -... 6%, 224 KB, 2127 KB/s, 0 seconds passed -... 7%, 256 KB, 2386 KB/s, 0 seconds passed -... 8%, 288 KB, 2627 KB/s, 0 seconds passed +... 5%, 192 KB, 1852 KB/s, 0 seconds passed +... 6%, 224 KB, 2124 KB/s, 0 seconds passed +... 7%, 256 KB, 2387 KB/s, 0 seconds passed +... 8%, 288 KB, 2635 KB/s, 0 seconds passed .. parsed-literal:: - ... 9%, 320 KB, 2362 KB/s, 0 seconds passed -... 10%, 352 KB, 2589 KB/s, 0 seconds passed -... 11%, 384 KB, 2815 KB/s, 0 seconds passed -... 11%, 416 KB, 3036 KB/s, 0 seconds passed -... 12%, 448 KB, 3249 KB/s, 0 seconds passed -... 13%, 480 KB, 3464 KB/s, 0 seconds passed -... 14%, 512 KB, 3677 KB/s, 0 seconds passed -... 15%, 544 KB, 3896 KB/s, 0 seconds passed -... 16%, 576 KB, 4114 KB/s, 0 seconds passed -... 17%, 608 KB, 4264 KB/s, 0 seconds passed -... 18%, 640 KB, 4468 KB/s, 0 seconds passed -... 19%, 672 KB, 3962 KB/s, 0 seconds passed -... 20%, 704 KB, 4136 KB/s, 0 seconds passed -... 21%, 736 KB, 4313 KB/s, 0 seconds passed -... 22%, 768 KB, 4492 KB/s, 0 seconds passed -... 22%, 800 KB, 4650 KB/s, 0 seconds passed + ... 9%, 320 KB, 2365 KB/s, 0 seconds passed +... 10%, 352 KB, 2577 KB/s, 0 seconds passed +... 11%, 384 KB, 2802 KB/s, 0 seconds passed +... 11%, 416 KB, 3027 KB/s, 0 seconds passed +... 12%, 448 KB, 3252 KB/s, 0 seconds passed +... 13%, 480 KB, 3469 KB/s, 0 seconds passed +... 14%, 512 KB, 3687 KB/s, 0 seconds passed +... 15%, 544 KB, 3897 KB/s, 0 seconds passed +... 16%, 576 KB, 4115 KB/s, 0 seconds passed +... 17%, 608 KB, 4268 KB/s, 0 seconds passed +... 18%, 640 KB, 4465 KB/s, 0 seconds passed .. parsed-literal:: - ... 23%, 832 KB, 4828 KB/s, 0 seconds passed -... 24%, 864 KB, 5005 KB/s, 0 seconds passed -... 25%, 896 KB, 5182 KB/s, 0 seconds passed -... 26%, 928 KB, 5358 KB/s, 0 seconds passed -... 27%, 960 KB, 5532 KB/s, 0 seconds passed -... 28%, 992 KB, 5706 KB/s, 0 seconds passed -... 29%, 1024 KB, 5880 KB/s, 0 seconds passed -... 30%, 1056 KB, 6052 KB/s, 0 seconds passed -... 31%, 1088 KB, 6226 KB/s, 0 seconds passed -... 32%, 1120 KB, 6397 KB/s, 0 seconds passed -... 33%, 1152 KB, 6569 KB/s, 0 seconds passed -... 33%, 1184 KB, 6739 KB/s, 0 seconds passed -... 34%, 1216 KB, 6909 KB/s, 0 seconds passed -... 35%, 1248 KB, 7079 KB/s, 0 seconds passed -... 36%, 1280 KB, 7248 KB/s, 0 seconds passed -... 37%, 1312 KB, 6437 KB/s, 0 seconds passed -... 38%, 1344 KB, 6453 KB/s, 0 seconds passed -... 39%, 1376 KB, 6592 KB/s, 0 seconds passed -... 40%, 1408 KB, 6735 KB/s, 0 seconds passed -... 41%, 1440 KB, 6877 KB/s, 0 seconds passed -... 42%, 1472 KB, 7020 KB/s, 0 seconds passed -... 43%, 1504 KB, 7162 KB/s, 0 seconds passed -... 44%, 1536 KB, 7304 KB/s, 0 seconds passed -... 44%, 1568 KB, 7445 KB/s, 0 seconds passed -... 45%, 1600 KB, 7586 KB/s, 0 seconds passed -... 46%, 1632 KB, 7727 KB/s, 0 seconds passed -... 47%, 1664 KB, 7867 KB/s, 0 seconds passed -... 48%, 1696 KB, 8006 KB/s, 0 seconds passed -... 49%, 1728 KB, 8145 KB/s, 0 seconds passed -... 50%, 1760 KB, 8284 KB/s, 0 seconds passed -... 51%, 1792 KB, 8423 KB/s, 0 seconds passed -... 52%, 1824 KB, 8561 KB/s, 0 seconds passed -... 53%, 1856 KB, 8699 KB/s, 0 seconds passed -... 54%, 1888 KB, 8837 KB/s, 0 seconds passed -... 55%, 1920 KB, 8973 KB/s, 0 seconds passed -... 55%, 1952 KB, 9110 KB/s, 0 seconds passed -... 56%, 1984 KB, 9246 KB/s, 0 seconds passed -... 57%, 2016 KB, 9382 KB/s, 0 seconds passed -... 58%, 2048 KB, 9518 KB/s, 0 seconds passed -... 59%, 2080 KB, 9653 KB/s, 0 seconds passed -... 60%, 2112 KB, 9788 KB/s, 0 seconds passed -... 61%, 2144 KB, 9922 KB/s, 0 seconds passed -... 62%, 2176 KB, 10056 KB/s, 0 seconds passed -... 63%, 2208 KB, 10189 KB/s, 0 seconds passed -... 64%, 2240 KB, 10322 KB/s, 0 seconds passed -... 65%, 2272 KB, 10455 KB/s, 0 seconds passed -... 66%, 2304 KB, 10588 KB/s, 0 seconds passed -... 66%, 2336 KB, 10720 KB/s, 0 seconds passed -... 67%, 2368 KB, 10852 KB/s, 0 seconds passed -... 68%, 2400 KB, 10983 KB/s, 0 seconds passed -... 69%, 2432 KB, 11115 KB/s, 0 seconds passed -... 70%, 2464 KB, 11245 KB/s, 0 seconds passed -... 71%, 2496 KB, 11375 KB/s, 0 seconds passed -... 72%, 2528 KB, 11506 KB/s, 0 seconds passed -... 73%, 2560 KB, 11636 KB/s, 0 seconds passed -... 74%, 2592 KB, 11766 KB/s, 0 seconds passed -... 75%, 2624 KB, 11896 KB/s, 0 seconds passed + ... 19%, 672 KB, 3961 KB/s, 0 seconds passed +... 20%, 704 KB, 4102 KB/s, 0 seconds passed +... 21%, 736 KB, 4279 KB/s, 0 seconds passed +... 22%, 768 KB, 4456 KB/s, 0 seconds passed +... 22%, 800 KB, 4632 KB/s, 0 seconds passed +... 23%, 832 KB, 4809 KB/s, 0 seconds passed +... 24%, 864 KB, 4985 KB/s, 0 seconds passed +... 25%, 896 KB, 5158 KB/s, 0 seconds passed +... 26%, 928 KB, 5333 KB/s, 0 seconds passed +... 27%, 960 KB, 5506 KB/s, 0 seconds passed +... 28%, 992 KB, 5678 KB/s, 0 seconds passed +... 29%, 1024 KB, 5849 KB/s, 0 seconds passed +... 30%, 1056 KB, 6020 KB/s, 0 seconds passed +... 31%, 1088 KB, 6190 KB/s, 0 seconds passed +... 32%, 1120 KB, 6362 KB/s, 0 seconds passed +... 33%, 1152 KB, 6531 KB/s, 0 seconds passed +... 33%, 1184 KB, 6700 KB/s, 0 seconds passed +... 34%, 1216 KB, 6868 KB/s, 0 seconds passed +... 35%, 1248 KB, 7036 KB/s, 0 seconds passed +... 36%, 1280 KB, 7203 KB/s, 0 seconds passed +... 37%, 1312 KB, 6540 KB/s, 0 seconds passed +... 38%, 1344 KB, 6550 KB/s, 0 seconds passed +... 39%, 1376 KB, 6691 KB/s, 0 seconds passed +... 40%, 1408 KB, 6834 KB/s, 0 seconds passed +... 41%, 1440 KB, 6978 KB/s, 0 seconds passed +... 42%, 1472 KB, 7121 KB/s, 0 seconds passed +... 43%, 1504 KB, 7263 KB/s, 0 seconds passed +... 44%, 1536 KB, 7406 KB/s, 0 seconds passed +... 44%, 1568 KB, 7547 KB/s, 0 seconds passed +... 45%, 1600 KB, 7689 KB/s, 0 seconds passed +... 46%, 1632 KB, 7830 KB/s, 0 seconds passed +... 47%, 1664 KB, 7971 KB/s, 0 seconds passed +... 48%, 1696 KB, 8111 KB/s, 0 seconds passed +... 49%, 1728 KB, 8252 KB/s, 0 seconds passed +... 50%, 1760 KB, 8391 KB/s, 0 seconds passed +... 51%, 1792 KB, 8531 KB/s, 0 seconds passed +... 52%, 1824 KB, 8669 KB/s, 0 seconds passed +... 53%, 1856 KB, 8808 KB/s, 0 seconds passed +... 54%, 1888 KB, 8944 KB/s, 0 seconds passed +... 55%, 1920 KB, 9081 KB/s, 0 seconds passed +... 55%, 1952 KB, 9218 KB/s, 0 seconds passed +... 56%, 1984 KB, 9354 KB/s, 0 seconds passed +... 57%, 2016 KB, 9491 KB/s, 0 seconds passed +... 58%, 2048 KB, 9616 KB/s, 0 seconds passed +... 59%, 2080 KB, 9751 KB/s, 0 seconds passed +... 60%, 2112 KB, 9885 KB/s, 0 seconds passed +... 61%, 2144 KB, 10019 KB/s, 0 seconds passed +... 62%, 2176 KB, 10153 KB/s, 0 seconds passed +... 63%, 2208 KB, 10286 KB/s, 0 seconds passed +... 64%, 2240 KB, 10419 KB/s, 0 seconds passed +... 65%, 2272 KB, 10551 KB/s, 0 seconds passed +... 66%, 2304 KB, 10683 KB/s, 0 seconds passed +... 66%, 2336 KB, 10815 KB/s, 0 seconds passed +... 67%, 2368 KB, 10946 KB/s, 0 seconds passed +... 68%, 2400 KB, 11077 KB/s, 0 seconds passed +... 69%, 2432 KB, 11208 KB/s, 0 seconds passed +... 70%, 2464 KB, 11339 KB/s, 0 seconds passed .. parsed-literal:: - ... 76%, 2656 KB, 11139 KB/s, 0 seconds passed -... 77%, 2688 KB, 11250 KB/s, 0 seconds passed -... 77%, 2720 KB, 11368 KB/s, 0 seconds passed -... 78%, 2752 KB, 11487 KB/s, 0 seconds passed -... 79%, 2784 KB, 11605 KB/s, 0 seconds passed -... 80%, 2816 KB, 11723 KB/s, 0 seconds passed -... 81%, 2848 KB, 11841 KB/s, 0 seconds passed -... 82%, 2880 KB, 11959 KB/s, 0 seconds passed -... 83%, 2912 KB, 12077 KB/s, 0 seconds passed -... 84%, 2944 KB, 12195 KB/s, 0 seconds passed -... 85%, 2976 KB, 12312 KB/s, 0 seconds passed -... 86%, 3008 KB, 12428 KB/s, 0 seconds passed -... 87%, 3040 KB, 12545 KB/s, 0 seconds passed -... 88%, 3072 KB, 12661 KB/s, 0 seconds passed -... 88%, 3104 KB, 12777 KB/s, 0 seconds passed -... 89%, 3136 KB, 12894 KB/s, 0 seconds passed -... 90%, 3168 KB, 13009 KB/s, 0 seconds passed -... 91%, 3200 KB, 13124 KB/s, 0 seconds passed -... 92%, 3232 KB, 13238 KB/s, 0 seconds passed -... 93%, 3264 KB, 13353 KB/s, 0 seconds passed -... 94%, 3296 KB, 13467 KB/s, 0 seconds passed -... 95%, 3328 KB, 13580 KB/s, 0 seconds passed -... 96%, 3360 KB, 13694 KB/s, 0 seconds passed -... 97%, 3392 KB, 13807 KB/s, 0 seconds passed -... 98%, 3424 KB, 13921 KB/s, 0 seconds passed -... 99%, 3456 KB, 14035 KB/s, 0 seconds passed -... 100%, 3487 KB, 14142 KB/s, 0 seconds passed + ... 71%, 2496 KB, 11470 KB/s, 0 seconds passed +... 72%, 2528 KB, 11600 KB/s, 0 seconds passed +... 73%, 2560 KB, 11730 KB/s, 0 seconds passed +... 74%, 2592 KB, 11861 KB/s, 0 seconds passed +... 75%, 2624 KB, 11992 KB/s, 0 seconds passed +... 76%, 2656 KB, 11112 KB/s, 0 seconds passed +... 77%, 2688 KB, 11225 KB/s, 0 seconds passed +... 77%, 2720 KB, 11341 KB/s, 0 seconds passed +... 78%, 2752 KB, 11459 KB/s, 0 seconds passed +... 79%, 2784 KB, 11577 KB/s, 0 seconds passed +... 80%, 2816 KB, 11693 KB/s, 0 seconds passed +... 81%, 2848 KB, 11810 KB/s, 0 seconds passed +... 82%, 2880 KB, 11927 KB/s, 0 seconds passed +... 83%, 2912 KB, 12042 KB/s, 0 seconds passed +... 84%, 2944 KB, 12158 KB/s, 0 seconds passed +... 85%, 2976 KB, 12272 KB/s, 0 seconds passed +... 86%, 3008 KB, 12388 KB/s, 0 seconds passed +... 87%, 3040 KB, 12501 KB/s, 0 seconds passed +... 88%, 3072 KB, 12616 KB/s, 0 seconds passed +... 88%, 3104 KB, 12729 KB/s, 0 seconds passed +... 89%, 3136 KB, 12844 KB/s, 0 seconds passed +... 90%, 3168 KB, 12958 KB/s, 0 seconds passed +... 91%, 3200 KB, 13070 KB/s, 0 seconds passed +... 92%, 3232 KB, 13184 KB/s, 0 seconds passed +... 93%, 3264 KB, 13296 KB/s, 0 seconds passed +... 94%, 3296 KB, 13409 KB/s, 0 seconds passed +... 95%, 3328 KB, 13522 KB/s, 0 seconds passed +... 96%, 3360 KB, 13633 KB/s, 0 seconds passed +... 97%, 3392 KB, 13745 KB/s, 0 seconds passed +... 98%, 3424 KB, 13856 KB/s, 0 seconds passed +... 99%, 3456 KB, 13968 KB/s, 0 seconds passed +... 100%, 3487 KB, 14073 KB/s, 0 seconds passed ========== Downloading model/intel/person-reidentification-retail-0287/FP16/person-reidentification-retail-0287.xml @@ -554,31 +536,34 @@ replace the name of the model in the code below. .. parsed-literal:: - ... 5%, 32 KB, 977 KB/s, 0 seconds passed + ... 5%, 32 KB, 972 KB/s, 0 seconds passed .. parsed-literal:: - ... 10%, 64 KB, 953 KB/s, 0 seconds passed -... 15%, 96 KB, 1420 KB/s, 0 seconds passed -... 21%, 128 KB, 1884 KB/s, 0 seconds passed + ... 10%, 64 KB, 958 KB/s, 0 seconds passed +... 15%, 96 KB, 1427 KB/s, 0 seconds passed .. parsed-literal:: - ... 26%, 160 KB, 1579 KB/s, 0 seconds passed -... 31%, 192 KB, 1886 KB/s, 0 seconds passed -... 37%, 224 KB, 2193 KB/s, 0 seconds passed -... 42%, 256 KB, 2498 KB/s, 0 seconds passed -... 47%, 288 KB, 2802 KB/s, 0 seconds passed -... 53%, 320 KB, 2341 KB/s, 0 seconds passed -... 58%, 352 KB, 2567 KB/s, 0 seconds passed -... 63%, 384 KB, 2793 KB/s, 0 seconds passed -... 69%, 416 KB, 3018 KB/s, 0 seconds passed -... 74%, 448 KB, 3243 KB/s, 0 seconds passed -... 79%, 480 KB, 3467 KB/s, 0 seconds passed -... 85%, 512 KB, 3690 KB/s, 0 seconds passed -... 90%, 544 KB, 3912 KB/s, 0 seconds passed -... 95%, 576 KB, 4133 KB/s, 0 seconds passed -... 100%, 600 KB, 4299 KB/s, 0 seconds passed + ... 21%, 128 KB, 1286 KB/s, 0 seconds passed +... 26%, 160 KB, 1600 KB/s, 0 seconds passed +... 31%, 192 KB, 1907 KB/s, 0 seconds passed +... 37%, 224 KB, 2208 KB/s, 0 seconds passed +... 42%, 256 KB, 2500 KB/s, 0 seconds passed +... 47%, 288 KB, 2144 KB/s, 0 seconds passed +... 53%, 320 KB, 2363 KB/s, 0 seconds passed +... 58%, 352 KB, 2581 KB/s, 0 seconds passed +... 63%, 384 KB, 2795 KB/s, 0 seconds passed +... 69%, 416 KB, 3009 KB/s, 0 seconds passed +... 74%, 448 KB, 3231 KB/s, 0 seconds passed +... 79%, 480 KB, 3438 KB/s, 0 seconds passed +... 85%, 512 KB, 3641 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 90%, 544 KB, 3760 KB/s, 0 seconds passed +... 95%, 576 KB, 3464 KB/s, 0 seconds passed +... 100%, 600 KB, 3598 KB/s, 0 seconds passed ========== Downloading model/intel/person-reidentification-retail-0287/FP16/person-reidentification-retail-0287.bin @@ -586,52 +571,52 @@ replace the name of the model in the code below. .. parsed-literal:: - ... 2%, 32 KB, 909 KB/s, 0 seconds passed + ... 2%, 32 KB, 1015 KB/s, 0 seconds passed .. parsed-literal:: - ... 5%, 64 KB, 902 KB/s, 0 seconds passed -... 8%, 96 KB, 1344 KB/s, 0 seconds passed + ... 5%, 64 KB, 990 KB/s, 0 seconds passed +... 8%, 96 KB, 1460 KB/s, 0 seconds passed +... 11%, 128 KB, 1917 KB/s, 0 seconds passed +... 13%, 160 KB, 1648 KB/s, 0 seconds passed +... 16%, 192 KB, 1957 KB/s, 0 seconds passed +... 19%, 224 KB, 2260 KB/s, 0 seconds passed +... 22%, 256 KB, 2556 KB/s, 0 seconds passed +... 24%, 288 KB, 2847 KB/s, 0 seconds passed .. parsed-literal:: - ... 11%, 128 KB, 1222 KB/s, 0 seconds passed -... 13%, 160 KB, 1521 KB/s, 0 seconds passed -... 16%, 192 KB, 1793 KB/s, 0 seconds passed -... 19%, 224 KB, 2082 KB/s, 0 seconds passed -... 22%, 256 KB, 2372 KB/s, 0 seconds passed + ... 27%, 320 KB, 2510 KB/s, 0 seconds passed +... 30%, 352 KB, 2676 KB/s, 0 seconds passed +... 33%, 384 KB, 2874 KB/s, 0 seconds passed +... 36%, 416 KB, 3069 KB/s, 0 seconds passed +... 38%, 448 KB, 3255 KB/s, 0 seconds passed +... 41%, 480 KB, 3461 KB/s, 0 seconds passed +... 44%, 512 KB, 3679 KB/s, 0 seconds passed +... 47%, 544 KB, 3892 KB/s, 0 seconds passed +... 49%, 576 KB, 4108 KB/s, 0 seconds passed +... 52%, 608 KB, 4326 KB/s, 0 seconds passed +... 55%, 640 KB, 4541 KB/s, 0 seconds passed .. parsed-literal:: - ... 24%, 288 KB, 2044 KB/s, 0 seconds passed -... 27%, 320 KB, 2264 KB/s, 0 seconds passed -... 30%, 352 KB, 2484 KB/s, 0 seconds passed -... 33%, 384 KB, 2689 KB/s, 0 seconds passed -... 36%, 416 KB, 2906 KB/s, 0 seconds passed -... 38%, 448 KB, 3123 KB/s, 0 seconds passed -... 41%, 480 KB, 3339 KB/s, 0 seconds passed -... 44%, 512 KB, 3554 KB/s, 0 seconds passed -... 47%, 544 KB, 3768 KB/s, 0 seconds passed -... 49%, 576 KB, 3982 KB/s, 0 seconds passed -... 52%, 608 KB, 3465 KB/s, 0 seconds passed -... 55%, 640 KB, 3639 KB/s, 0 seconds passed -... 58%, 672 KB, 3814 KB/s, 0 seconds passed -... 61%, 704 KB, 3987 KB/s, 0 seconds passed -... 63%, 736 KB, 4138 KB/s, 0 seconds passed -... 66%, 768 KB, 4295 KB/s, 0 seconds passed -... 69%, 800 KB, 4466 KB/s, 0 seconds passed -... 72%, 832 KB, 4636 KB/s, 0 seconds passed -... 74%, 864 KB, 4805 KB/s, 0 seconds passed -... 77%, 896 KB, 4971 KB/s, 0 seconds passed -... 80%, 928 KB, 5140 KB/s, 0 seconds passed -... 83%, 960 KB, 5308 KB/s, 0 seconds passed -... 86%, 992 KB, 5476 KB/s, 0 seconds passed -... 88%, 1024 KB, 5643 KB/s, 0 seconds passed -... 91%, 1056 KB, 5809 KB/s, 0 seconds passed -... 94%, 1088 KB, 5975 KB/s, 0 seconds passed -... 97%, 1120 KB, 6140 KB/s, 0 seconds passed -... 99%, 1152 KB, 6306 KB/s, 0 seconds passed -... 100%, 1153 KB, 6303 KB/s, 0 seconds passed + ... 58%, 672 KB, 4170 KB/s, 0 seconds passed +... 61%, 704 KB, 4356 KB/s, 0 seconds passed +... 63%, 736 KB, 4542 KB/s, 0 seconds passed +... 66%, 768 KB, 4728 KB/s, 0 seconds passed +... 69%, 800 KB, 4906 KB/s, 0 seconds passed +... 72%, 832 KB, 5089 KB/s, 0 seconds passed +... 74%, 864 KB, 5274 KB/s, 0 seconds passed +... 77%, 896 KB, 5456 KB/s, 0 seconds passed +... 80%, 928 KB, 5638 KB/s, 0 seconds passed +... 83%, 960 KB, 5818 KB/s, 0 seconds passed +... 86%, 992 KB, 5997 KB/s, 0 seconds passed +... 88%, 1024 KB, 6176 KB/s, 0 seconds passed +... 91%, 1056 KB, 6354 KB/s, 0 seconds passed +... 94%, 1088 KB, 6531 KB/s, 0 seconds passed +... 97%, 1120 KB, 6708 KB/s, 0 seconds passed +... 99%, 1152 KB, 6886 KB/s, 0 seconds passed +... 100%, 1153 KB, 6882 KB/s, 0 seconds passed @@ -665,10 +650,11 @@ performance, but slightly longer startup time). This class represents a OpenVINO model object. """ + def __init__(self, model_path, batchsize=1, device="AUTO"): """ Initialize the model object - + Parameters ---------- model_path: path of inference model @@ -691,7 +677,7 @@ performance, but slightly longer startup time). def predict(self, input): """ Run inference - + Parameters ---------- input: array of input data @@ -712,8 +698,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -750,7 +736,7 @@ network’s original output and visualize it. def preprocess(frame, height, width): """ Preprocess a single image - + Parameters ---------- frame: input frame @@ -766,24 +752,21 @@ network’s original output and visualize it. def batch_preprocess(img_crops, height, width): """ Preprocess batched images - + Parameters ---------- img_crops: batched input images height: height of model input data width: width of model input data """ - img_batch = np.concatenate([ - preprocess(img, height, width) - for img in img_crops - ], axis=0) + img_batch = np.concatenate([preprocess(img, height, width) for img in img_crops], axis=0) return img_batch def process_results(h, w, results, thresh=0.5): """ postprocess detection results - + Parameters ---------- h, w: original height and width of input image @@ -801,7 +784,12 @@ network’s original output and visualize it. if score > thresh: # Create a box with pixels coordinates from the box with normalized coordinates [0,1]. boxes.append( - [(xmin + xmax) / 2 * w, (ymin + ymax) / 2 * h, (xmax - xmin) * w, (ymax - ymin) * h] + [ + (xmin + xmax) / 2 * w, + (ymin + ymax) / 2 * h, + (xmax - xmin) * w, + (ymax - ymin) * h, + ] ) labels.append(int(label)) scores.append(float(score)) @@ -816,7 +804,7 @@ network’s original output and visualize it. def draw_boxes(img, bbox, identities=None): """ Draw bounding box in original image - + Parameters ---------- img: original image @@ -828,11 +816,10 @@ network’s original output and visualize it. # box text and bar id = int(identities[i]) if identities is not None else 0 color = compute_color_for_labels(id) - label = '{}{:d}'.format("", id) + label = "{}{:d}".format("", id) t_size = cv2.getTextSize(label, cv2.FONT_HERSHEY_PLAIN, 2, 2)[0] cv2.rectangle(img, (x1, y1), (x2, y2), color, 2) - cv2.rectangle( - img, (x1, y1), (x1 + t_size[0] + 3, y1 + t_size[1] + 4), color, -1) + cv2.rectangle(img, (x1, y1), (x1 + t_size[0] + 3, y1 + t_size[1] + 4), color, -1) cv2.putText( img, label, @@ -840,7 +827,7 @@ network’s original output and visualize it. cv2.FONT_HERSHEY_PLAIN, 1.6, [255, 255, 255], - 2 + 2, ) return img @@ -848,7 +835,7 @@ network’s original output and visualize it. def cosin_metric(x1, x2): """ Calculate the consin distance of two vector - + Parameters ---------- x1, x2: input vectors @@ -871,9 +858,9 @@ Visualize data .. code:: ipython3 - base_file_link = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/person_' - image_indices = ['1_1.png', '1_2.png', '2_1.png'] - image_paths = [utils.download_file(base_file_link + image_index, directory='data') for image_index in image_indices] + base_file_link = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/person_" + image_indices = ["1_1.png", "1_2.png", "2_1.png"] + image_paths = [utils.download_file(base_file_link + image_index, directory="data") for image_index in image_indices] image1, image2, image3 = [cv2.cvtColor(cv2.imread(str(image_path)), cv2.COLOR_BGR2RGB) for image_path in image_paths] # Define titles with images. @@ -884,7 +871,7 @@ Visualize data # Fill the subplot. for ax, (name, image) in zip(axs, data.items()): - ax.axis('off') + ax.axis("off") ax.set_title(name) ax.imshow(image) @@ -911,7 +898,7 @@ Visualize data -.. image:: 407-person-tracking-with-output_files/407-person-tracking-with-output_17_3.png +.. image:: person-tracking-with-output_files/person-tracking-with-output_17_3.png Compare two persons @@ -928,9 +915,9 @@ Compare two persons features = extractor.predict(img_batch) sim = cosin_metric(features[0], features[1]) if sim >= 1 - MAX_COSINE_DISTANCE: - print(f'Same person (confidence: {sim})') + print(f"Same person (confidence: {sim})") else: - print(f'Different person (confidence: {sim})') + print(f"Different person (confidence: {sim})") .. parsed-literal:: @@ -959,24 +946,26 @@ video file. Parameters: ---------- - source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. + source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. flip: To be used by VideoPlayer function for flipping capture image. use_popup: False for showing encoded frames over this notebook, True for creating a popup window. - skip_first_frames: Number of frames to skip at the beginning of the video. + skip_first_frames: Number of frames to skip at the beginning of the video. """ player = None try: # Create a video player to play with target fps. player = utils.VideoPlayer( - source=source, size=(700, 450), flip=flip, fps=24, skip_first_frames=skip_first_frames + source=source, + size=(700, 450), + flip=flip, + fps=24, + skip_first_frames=skip_first_frames, ) # Start capturing. player.start() if use_popup: title = "Press ESC to Exit" - cv2.namedWindow( - winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE - ) + cv2.namedWindow(winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE) processing_times = collections.deque() while True: @@ -1007,7 +996,7 @@ video file. # Get poses from detection results. bbox_xywh, score, label = process_results(h, w, results=output) - + img_crops = [] for box in bbox_xywh: x1, y1, x2, y2 = xywh_to_xyxy(box, h, w) @@ -1024,12 +1013,9 @@ video file. # Wrap the detection and reidentification results together bbox_tlwh = xywh_to_tlwh(bbox_xywh) - detections = [ - Detection(bbox_tlwh[i], features[i]) - for i in range(features.shape[0]) - ] + detections = [Detection(bbox_tlwh[i], features[i]) for i in range(features.shape[0])] - # predict the position of tracking target + # predict the position of tracking target tracker.predict() # update tracker @@ -1064,7 +1050,7 @@ video file. thickness=1, lineType=cv2.LINE_AA, ) - + if use_popup: cv2.imshow(winname=title, mat=frame) key = cv2.waitKey(1) @@ -1073,9 +1059,7 @@ video file. break else: # Encode numpy array to jpg. - _, encoded_img = cv2.imencode( - ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100] - ) + _, encoded_img = cv2.imencode(ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image. i = display.Image(data=encoded_img) # Display the image in this notebook. @@ -1112,15 +1096,8 @@ object NN_BUDGET = 100 MAX_COSINE_DISTANCE = 0.6 # threshold of matching object - metric = NearestNeighborDistanceMetric( - "cosine", MAX_COSINE_DISTANCE, NN_BUDGET - ) - tracker = Tracker( - metric, - max_iou_distance=0.7, - max_age=70, - n_init=3 - ) + metric = NearestNeighborDistanceMetric("cosine", MAX_COSINE_DISTANCE, NN_BUDGET) + tracker = Tracker(metric, max_iou_distance=0.7, max_age=70, n_init=3) Run Live Person Tracking ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1144,14 +1121,14 @@ will work. USE_WEBCAM = False cam_id = 0 - video_file = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4' + video_file = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4" source = cam_id if USE_WEBCAM else video_file run_person_tracking(source=source, flip=USE_WEBCAM, use_popup=False) -.. image:: 407-person-tracking-with-output_files/407-person-tracking-with-output_25_0.png +.. image:: person-tracking-with-output_files/person-tracking-with-output_25_0.png .. parsed-literal:: diff --git a/docs/notebooks/person-tracking-with-output_files/person-tracking-with-output_17_3.png b/docs/notebooks/person-tracking-with-output_files/person-tracking-with-output_17_3.png new file mode 100644 index 00000000000..20280b15f5d --- /dev/null +++ b/docs/notebooks/person-tracking-with-output_files/person-tracking-with-output_17_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3983e7e27f73b5e03e02cfb02950ce8aef26d9d6a19a7376c51a6f0b00913732 +size 106259 diff --git a/docs/notebooks/person-tracking-with-output_files/person-tracking-with-output_25_0.png b/docs/notebooks/person-tracking-with-output_files/person-tracking-with-output_25_0.png new file mode 100644 index 00000000000..8e400dc9b25 --- /dev/null +++ b/docs/notebooks/person-tracking-with-output_files/person-tracking-with-output_25_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:284342ed56c46142b62f464ec44136a63122ef644ad8397d705c1d8d9f3e81cd +size 218352 diff --git a/docs/notebooks/260-pix2struct-docvqa-with-output.rst b/docs/notebooks/pix2struct-docvqa-with-output.rst similarity index 95% rename from docs/notebooks/260-pix2struct-docvqa-with-output.rst rename to docs/notebooks/pix2struct-docvqa-with-output.rst index 46ee3232f36..8a4f622859c 100644 --- a/docs/notebooks/260-pix2struct-docvqa-with-output.rst +++ b/docs/notebooks/pix2struct-docvqa-with-output.rst @@ -99,8 +99,8 @@ documentation `__. .. code:: ipython3 - %pip install -q torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu - %pip install -q "git+https://github.com/huggingface/optimum-intel.git" "openvino>=2023.1.0" "transformers>=4.33.0" "peft==0.6.2" onnx gradio --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "torch>=2.1" torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu + %pip install -q "git+https://github.com/huggingface/optimum-intel.git" "openvino>=2023.1.0" "transformers>=4.33.0" "peft==0.6.2" onnx "gradio>=4.19" --extra-index-url https://download.pytorch.org/whl/cpu Download and Convert Model -------------------------- @@ -138,7 +138,7 @@ applicable for other models from pix2struct family. from optimum.intel.openvino import OVModelForPix2Struct model_id = "google/pix2struct-docvqa-base" - model_dir = Path(model_id.split('/')[-1]) + model_dir = Path(model_id.split("/")[-1]) if not model_dir.exists(): ov_model = OVModelForPix2Struct.from_pretrained(model_id, export=True, compile=False) @@ -180,8 +180,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=[d for d in core.available_devices if "GPU" not in d] + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -245,6 +245,7 @@ documentation =2023.1.0" + %pip install -q "openvino>=2023.1.0" opencv-python tqdm -.. parsed-literal:: - - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -57,7 +52,6 @@ Imports .. code:: ipython3 import collections - import sys import time from pathlib import Path @@ -69,7 +63,14 @@ Imports from decoder import OpenPoseDecoder - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) import notebook_utils as utils The model @@ -105,8 +106,12 @@ precision in the code below. if not model_path.exists(): model_url_dir = f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/{model_name}/{precision}/" - utils.download_file(model_url_dir + model_name + '.xml', model_path.name, model_path.parent) - utils.download_file(model_url_dir + model_name + '.bin', model_path.with_suffix('.bin').name, model_path.parent) + utils.download_file(model_url_dir + model_name + ".xml", model_path.name, model_path.parent) + utils.download_file( + model_url_dir + model_name + ".bin", + model_path.with_suffix(".bin").name, + model_path.parent, + ) @@ -143,8 +148,8 @@ using OpenVINO. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -258,7 +263,7 @@ factor. A_w = as_strided( A, shape=output_shape + kernel_size, - strides=(stride * A.strides[0], stride * A.strides[1]) + A.strides + strides=(stride * A.strides[0], stride * A.strides[1]) + A.strides, ) A_w = A_w.reshape(-1, *kernel_size) @@ -278,15 +283,16 @@ factor. def process_results(img, pafs, heatmaps): # This processing comes from # https://github.com/openvinotoolkit/open_model_zoo/blob/master/demos/common/python/models/open_pose.py - pooled_heatmaps = np.array( - [[pool2d(h, kernel_size=3, stride=1, padding=1, pool_mode="max") for h in heatmaps[0]]] - ) + pooled_heatmaps = np.array([[pool2d(h, kernel_size=3, stride=1, padding=1, pool_mode="max") for h in heatmaps[0]]]) nms_heatmaps = heatmap_nms(heatmaps, pooled_heatmaps) # Decode poses. poses, scores = decoder(heatmaps, nms_heatmaps, pafs) output_shape = list(compiled_model.output(index=0).partial_shape) - output_scale = img.shape[1] / output_shape[3].get_length(), img.shape[0] / output_shape[2].get_length() + output_scale = ( + img.shape[1] / output_shape[3].get_length(), + img.shape[0] / output_shape[2].get_length(), + ) # Multiply coordinates by a scaling factor. poses[:, :, :2] *= output_scale return poses, scores @@ -304,12 +310,47 @@ from Open Model Zoo. .. code:: ipython3 - colors = ((255, 0, 0), (255, 0, 255), (170, 0, 255), (255, 0, 85), (255, 0, 170), (85, 255, 0), - (255, 170, 0), (0, 255, 0), (255, 255, 0), (0, 255, 85), (170, 255, 0), (0, 85, 255), - (0, 255, 170), (0, 0, 255), (0, 255, 255), (85, 0, 255), (0, 170, 255)) + colors = ( + (255, 0, 0), + (255, 0, 255), + (170, 0, 255), + (255, 0, 85), + (255, 0, 170), + (85, 255, 0), + (255, 170, 0), + (0, 255, 0), + (255, 255, 0), + (0, 255, 85), + (170, 255, 0), + (0, 85, 255), + (0, 255, 170), + (0, 0, 255), + (0, 255, 255), + (85, 0, 255), + (0, 170, 255), + ) - default_skeleton = ((15, 13), (13, 11), (16, 14), (14, 12), (11, 12), (5, 11), (6, 12), (5, 6), (5, 7), - (6, 8), (7, 9), (8, 10), (1, 2), (0, 1), (0, 2), (1, 3), (2, 4), (3, 5), (4, 6)) + default_skeleton = ( + (15, 13), + (13, 11), + (16, 14), + (14, 12), + (11, 12), + (5, 11), + (6, 12), + (5, 6), + (5, 7), + (6, 8), + (7, 9), + (8, 10), + (1, 2), + (0, 1), + (0, 2), + (1, 3), + (2, 4), + (3, 5), + (4, 6), + ) def draw_poses(img, poses, point_score_threshold, skeleton=default_skeleton): @@ -327,7 +368,13 @@ from Open Model Zoo. # Draw limbs. for i, j in skeleton: if points_scores[i] > point_score_threshold and points_scores[j] > point_score_threshold: - cv2.line(img_limbs, tuple(points[i]), tuple(points[j]), color=colors[j], thickness=4) + cv2.line( + img_limbs, + tuple(points[i]), + tuple(points[j]), + color=colors[j], + thickness=4, + ) cv2.addWeighted(img, 0.4, img_limbs, 0.6, 0, dst=img) return img @@ -372,7 +419,7 @@ file. # (see https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/intel/human-pose-estimation-0001) input_img = cv2.resize(frame, (width, height), interpolation=cv2.INTER_AREA) # Create a batch of images (size = 1). - input_img = input_img.transpose((2,0,1))[np.newaxis, ...] + input_img = input_img.transpose((2, 0, 1))[np.newaxis, ...] # Measure processing time. start_time = time.time() @@ -397,8 +444,16 @@ file. # mean processing time [ms] processing_time = np.mean(processing_times) * 1000 fps = 1000 / processing_time - cv2.putText(frame, f"Inference time: {processing_time:.1f}ms ({fps:.1f} FPS)", (20, 40), - cv2.FONT_HERSHEY_COMPLEX, f_width / 1000, (0, 0, 255), 1, cv2.LINE_AA) + cv2.putText( + frame, + f"Inference time: {processing_time:.1f}ms ({fps:.1f} FPS)", + (20, 40), + cv2.FONT_HERSHEY_COMPLEX, + f_width / 1000, + (0, 0, 255), + 1, + cv2.LINE_AA, + ) # Use this workaround if there is flickering. if use_popup: @@ -470,7 +525,7 @@ Run the pose estimation: -.. image:: 402-pose-estimation-with-output_files/402-pose-estimation-with-output_20_0.png +.. image:: pose-estimation-with-output_files/pose-estimation-with-output_20_0.png .. parsed-literal:: diff --git a/docs/notebooks/pose-estimation-with-output_files/pose-estimation-with-output_20_0.png b/docs/notebooks/pose-estimation-with-output_files/pose-estimation-with-output_20_0.png new file mode 100644 index 00000000000..2614140c287 --- /dev/null +++ b/docs/notebooks/pose-estimation-with-output_files/pose-estimation-with-output_20_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc169ae2255a627b398a42161a5ebafb0d22d4a644bfc15cfa8b050471910991 +size 108138 diff --git a/docs/notebooks/212-pyannote-speaker-diarization-with-output.rst b/docs/notebooks/pyannote-speaker-diarization-with-output.rst similarity index 99% rename from docs/notebooks/212-pyannote-speaker-diarization-with-output.rst rename to docs/notebooks/pyannote-speaker-diarization-with-output.rst index 466d5daa0d4..aeee17d8f1f 100644 --- a/docs/notebooks/212-pyannote-speaker-diarization-with-output.rst +++ b/docs/notebooks/pyannote-speaker-diarization-with-output.rst @@ -59,9 +59,14 @@ Prerequisites .. code:: ipython3 - %pip install -q "librosa>=0.8.1" "matplotlib<3.8" "ruamel.yaml>=0.17.8,<0.17.29" --extra-index-url https://download.pytorch.org/whl/cpu torch torchvision torchaudio git+https://github.com/eaidova/pyannote-audio.git@hub0.10 openvino>=2023.1.0 + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "librosa>=0.8.1" "matplotlib<3.8" "ruamel.yaml>=0.17.8,<0.17.29" "torch>=2.1" tqdm torchvision torchaudio "git+https://github.com/eaidova/pyannote-audio.git@hub0.10" "openvino>=2023.1.0" +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + .. parsed-literal:: DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 @@ -71,11 +76,8 @@ Prerequisites ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. googleapis-common-protos 1.63.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 3.20.1 which is incompatible. - onnx 1.15.0 requires protobuf>=3.20.2, but you have protobuf 3.20.1 which is incompatible. - paddlepaddle 2.6.0 requires protobuf>=3.20.2; platform_system != "Windows", but you have protobuf 3.20.1 which is incompatible. - ppgan 2.1.0 requires imageio==2.9.0, but you have imageio 2.34.0 which is incompatible. - ppgan 2.1.0 requires librosa==0.8.1, but you have librosa 0.9.2 which is incompatible. - ppgan 2.1.0 requires opencv-python<=4.6.0.66, but you have opencv-python 4.9.0.80 which is incompatible. + onnx 1.16.0 requires protobuf>=3.20.2, but you have protobuf 3.20.1 which is incompatible. + paddlepaddle 2.6.1 requires protobuf>=3.20.2; platform_system != "Windows", but you have protobuf 3.20.1 which is incompatible. tensorflow 2.12.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 3.20.1 which is incompatible. tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 3.20.1 which is incompatible. @@ -163,6 +165,25 @@ hub `__. pipeline = Pipeline.from_pretrained("philschmid/pyannote-speaker-diarization-endpoint") + +.. parsed-literal:: + + 2024-04-18 00:26:15.129545: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:26:15.165135: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. + + +.. parsed-literal:: + + 2024-04-18 00:26:15.736692: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/pyannote/audio/core/io.py:42: UserWarning: torchaudio._backend.set_audio_backend has been deprecated. With dispatcher enabled, this function is no-op. You can remove the function call. + torchaudio.set_audio_backend("soundfile") + + Load test audio file -------------------- @@ -170,17 +191,22 @@ Load test audio file .. code:: ipython3 - import sys + # Fetch `notebook_utils` module + import requests - sys.path.append("../utils") + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file test_data_url = "https://github.com/pyannote/pyannote-audio/raw/develop/tutorials/assets/sample.wav" - sample_file = 'sample.wav' - download_file(test_data_url, 'sample.wav') - AUDIO_FILE = {'uri': sample_file.replace('.wav', ''), 'audio': sample_file} + sample_file = "sample.wav" + download_file(test_data_url, "sample.wav") + AUDIO_FILE = {"uri": sample_file.replace(".wav", ""), "audio": sample_file} @@ -218,7 +244,7 @@ Load test audio file -.. image:: 212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_9_1.png +.. image:: pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_9_1.png Run inference pipeline @@ -245,7 +271,7 @@ pipeline .. parsed-literal:: - Diarization pipeline took 15.71 s + Diarization pipeline took 16.70 s The result of running the pipeline can be represented as a diagram @@ -258,7 +284,7 @@ indicating when each person speaks. -.. image:: 212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_14_0.png +.. image:: pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_14_0.png @@ -311,7 +337,14 @@ with ``ov.save_model``. if not ov_speaker_segmentation_path.exists(): onnx_path = ov_speaker_segmentation_path.with_suffix(".onnx") - torch.onnx.export(pipeline._segmentation.model, torch.zeros((1, 1, 80000)), onnx_path, input_names=["chunks"], output_names=["outputs"], dynamic_axes={"chunks": {0: "batch_size", 2: "wave_len"}}) + torch.onnx.export( + pipeline._segmentation.model, + torch.zeros((1, 1, 80000)), + onnx_path, + input_names=["chunks"], + output_names=["outputs"], + dynamic_axes={"chunks": {0: "batch_size", 2: "wave_len"}}, + ) ov_speaker_segmentation = ov.convert_model(onnx_path) ov.save_model(ov_speaker_segmentation, str(ov_speaker_segmentation_path)) print(f"Model successfully converted to IR and saved to {ov_speaker_segmentation_path}") @@ -338,8 +371,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -373,7 +406,7 @@ Replace segmentation model with OpenVINO def infer_segm(chunks: torch.Tensor) -> np.ndarray: - """ + """ Inference speaker segmentation mode using OpenVINO Parameters: chunks (torch.Tensor) input audio chunks @@ -397,6 +430,17 @@ Run speaker diarization with OpenVINO diarization = pipeline(AUDIO_FILE) end = time.perf_counter() + +.. parsed-literal:: + + Model is not converging. Current: 16444.281598619917 is not greater than 16444.330820454463. Delta is -0.04922183454618789 + + +.. parsed-literal:: + + Model is not converging. Current: 16444.281598619917 is not greater than 16444.330820454463. Delta is -0.04922183454618789 + + .. code:: ipython3 print(f"Diarization pipeline took {end - start:.2f} s") @@ -404,7 +448,7 @@ Run speaker diarization with OpenVINO .. parsed-literal:: - Diarization pipeline took 15.14 s + Diarization pipeline took 16.17 s .. code:: ipython3 @@ -414,7 +458,7 @@ Run speaker diarization with OpenVINO -.. image:: 212-pyannote-speaker-diarization-with-output_files/212-pyannote-speaker-diarization-with-output_27_0.png +.. image:: pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_27_0.png diff --git a/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_14_0.png b/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_14_0.png new file mode 100644 index 00000000000..b50ecb8ca64 --- /dev/null +++ b/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_14_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74e686795f39e2a8378fb62b0f66f6088da0a9f49bcbda2ec6ba306c0708675a +size 7969 diff --git a/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_27_0.png b/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_27_0.png new file mode 100644 index 00000000000..b50ecb8ca64 --- /dev/null +++ b/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_27_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74e686795f39e2a8378fb62b0f66f6088da0a9f49bcbda2ec6ba306c0708675a +size 7969 diff --git a/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_9_1.png b/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_9_1.png new file mode 100644 index 00000000000..a5788ec84d8 --- /dev/null +++ b/docs/notebooks/pyannote-speaker-diarization-with-output_files/pyannote-speaker-diarization-with-output_9_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2a9dcbd10f859efd95f9473627e87779603b6982365c0fdf588dab6f3e862eb +size 43095 diff --git a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output.rst b/docs/notebooks/pytorch-onnx-to-openvino-with-output.rst similarity index 82% rename from docs/notebooks/102-pytorch-onnx-to-openvino-with-output.rst rename to docs/notebooks/pytorch-onnx-to-openvino-with-output.rst index d40df85f070..470ad982c3a 100644 --- a/docs/notebooks/102-pytorch-onnx-to-openvino-with-output.rst +++ b/docs/notebooks/pytorch-onnx-to-openvino-with-output.rst @@ -69,9 +69,24 @@ Table of contents: .. code:: ipython3 # Install openvino package - %pip install -q "openvino>=2023.1.0" onnx + %pip install -q "openvino>=2023.1.0" onnx torch torchvision opencv-python tqdm --extra-index-url https://download.pytorch.org/whl/cpu +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. + googleapis-common-protos 1.63.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 5.26.1 which is incompatible. + pytorch-lightning 1.6.5 requires protobuf<=3.20.1, but you have protobuf 5.26.1 which is incompatible. + tensorflow 2.12.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 5.26.1 which is incompatible. + tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 5.26.1 which is incompatible. + tf2onnx 1.16.1 requires protobuf~=3.20, but you have protobuf 5.26.1 which is incompatible. + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -97,16 +112,27 @@ Imports import numpy as np import openvino as ov import torch - from torchvision.models.segmentation import lraspp_mobilenet_v3_large, LRASPP_MobileNet_V3_Large_Weights - - # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + from torchvision.models.segmentation import ( + lraspp_mobilenet_v3_large, + LRASPP_MobileNet_V3_Large_Weights, ) - from notebook_utils import segmentation_map_to_image, viz_result_image, SegmentationMap, Label, download_file + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + + from notebook_utils import ( + segmentation_map_to_image, + viz_result_image, + SegmentationMap, + Label, + download_file, + ) Settings ~~~~~~~~ @@ -127,7 +153,7 @@ transforms function, the model is pre-trained on images with a height of weights_path = Path(BASE_MODEL_NAME + ".pt") # Paths where ONNX and OpenVINO IR models will be stored. - onnx_path = weights_path.with_suffix('.onnx') + onnx_path = weights_path.with_suffix(".onnx") if not onnx_path.parent.exists(): onnx_path.parent.mkdir() ir_path = onnx_path.with_suffix(".xml") @@ -156,12 +182,16 @@ have not downloaded the model before. .. code:: ipython3 - print("Downloading the LRASPP MobileNetV3 model (if it has not been downloaded already)...") - download_file(LRASPP_MobileNet_V3_Large_Weights.COCO_WITH_VOC_LABELS_V1.url, filename=weights_path.name, directory=weights_path.parent) + print("Downloading the LRASPP MobileNetV3 model (if it has not been downloaded already)...") + download_file( + LRASPP_MobileNet_V3_Large_Weights.COCO_WITH_VOC_LABELS_V1.url, + filename=weights_path.name, + directory=weights_path.parent, + ) # create model object model = lraspp_mobilenet_v3_large() # read state dict, use map_location argument to avoid a situation where weights are saved in cuda (which may not be unavailable on the system) - state_dict = torch.load(weights_path, map_location='cpu') + state_dict = torch.load(weights_path, map_location="cpu") # load state dict to model model.load_state_dict(state_dict) # switch model from training to inference mode @@ -292,7 +322,7 @@ Images need to be normalized before propagating through the network. # Download the image from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - directory="data" + directory="data", ) image = cv2.cvtColor(cv2.imread(str(image_filename)), cv2.COLOR_BGR2RGB) @@ -348,8 +378,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -400,7 +430,7 @@ be applied to each label for more convenient visualization. Label(index=17, color=(128, 64, 0), name="sheep"), Label(index=18, color=(0, 192, 0), name="sofa"), Label(index=19, color=(128, 192, 0), name="train"), - Label(index=20, color=(0, 64, 128), name="tv monitor") + Label(index=20, color=(0, 64, 128), name="tv monitor"), ] VOCLabels = SegmentationMap(voc_labels) @@ -415,7 +445,7 @@ be applied to each label for more convenient visualization. -.. image:: 102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_22_0.png +.. image:: pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_22_0.png @@ -469,7 +499,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_27_0.png +.. image:: pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_27_0.png @@ -487,7 +517,7 @@ looks the same as the output on the ONNX/OpenVINO IR models. with torch.no_grad(): result_torch = model(torch.as_tensor(normalized_input_image).float()) - result_mask_torch = torch.argmax(result_torch['out'], dim=1).squeeze(0).numpy().astype(np.uint8) + result_mask_torch = torch.argmax(result_torch["out"], dim=1).squeeze(0).numpy().astype(np.uint8) viz_result_image( image, segmentation_map_to_image(result=result_mask_torch, colormap=VOCLabels.get_colormap()), @@ -497,7 +527,7 @@ looks the same as the output on the ONNX/OpenVINO IR models. -.. image:: 102-pytorch-onnx-to-openvino-with-output_files/102-pytorch-onnx-to-openvino-with-output_29_0.png +.. image:: pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_29_0.png @@ -523,10 +553,7 @@ performance. model(torch.as_tensor(input_image).float()) end = time.perf_counter() time_torch = end - start - print( - f"PyTorch model on CPU: {time_torch/num_images:.3f} seconds per image, " - f"FPS: {num_images/time_torch:.2f}" - ) + print(f"PyTorch model on CPU: {time_torch/num_images:.3f} seconds per image, " f"FPS: {num_images/time_torch:.2f}") compiled_model_onnx = core.compile_model(model=model_onnx, device_name=device.value) start = time.perf_counter() @@ -534,10 +561,7 @@ performance. compiled_model_onnx([normalized_input_image]) end = time.perf_counter() time_onnx = end - start - print( - f"ONNX model in OpenVINO Runtime/{device.value}: {time_onnx/num_images:.3f} " - f"seconds per image, FPS: {num_images/time_onnx:.2f}" - ) + print(f"ONNX model in OpenVINO Runtime/{device.value}: {time_onnx/num_images:.3f} " f"seconds per image, FPS: {num_images/time_onnx:.2f}") compiled_model_ir = core.compile_model(model=model_ir, device_name=device.value) start = time.perf_counter() @@ -545,26 +569,22 @@ performance. compiled_model_ir([input_image]) end = time.perf_counter() time_ir = end - start - print( - f"OpenVINO IR model in OpenVINO Runtime/{device.value}: {time_ir/num_images:.3f} " - f"seconds per image, FPS: {num_images/time_ir:.2f}" - ) - - - -.. parsed-literal:: - - PyTorch model on CPU: 0.039 seconds per image, FPS: 25.55 + print(f"OpenVINO IR model in OpenVINO Runtime/{device.value}: {time_ir/num_images:.3f} " f"seconds per image, FPS: {num_images/time_ir:.2f}") .. parsed-literal:: - ONNX model in OpenVINO Runtime/AUTO: 0.018 seconds per image, FPS: 55.42 + PyTorch model on CPU: 0.040 seconds per image, FPS: 25.21 .. parsed-literal:: - OpenVINO IR model in OpenVINO Runtime/AUTO: 0.019 seconds per image, FPS: 52.62 + ONNX model in OpenVINO Runtime/AUTO: 0.018 seconds per image, FPS: 54.74 + + +.. parsed-literal:: + + OpenVINO IR model in OpenVINO Runtime/AUTO: 0.028 seconds per image, FPS: 35.55 **Show Device Information** diff --git a/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_22_0.png b/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_22_0.png new file mode 100644 index 00000000000..500477edbb4 --- /dev/null +++ b/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_22_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ea549103d4c18c4db782b5ec2feb51be9b0e937d3f0a8bd73bd159b15c0252d +size 465692 diff --git a/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_27_0.png b/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_27_0.png new file mode 100644 index 00000000000..75d41a14576 --- /dev/null +++ b/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_27_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebc49057d92cdb740e63d35ca0794072574d5a6117ff18b118bec8964d25bcff +size 465695 diff --git a/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_29_0.png b/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_29_0.png new file mode 100644 index 00000000000..500477edbb4 --- /dev/null +++ b/docs/notebooks/pytorch-onnx-to-openvino-with-output_files/pytorch-onnx-to-openvino-with-output_29_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ea549103d4c18c4db782b5ec2feb51be9b0e937d3f0a8bd73bd159b15c0252d +size 465692 diff --git a/docs/notebooks/112-pytorch-post-training-quantization-nncf-with-output.rst b/docs/notebooks/pytorch-post-training-quantization-nncf-with-output.rst similarity index 80% rename from docs/notebooks/112-pytorch-post-training-quantization-nncf-with-output.rst rename to docs/notebooks/pytorch-post-training-quantization-nncf-with-output.rst index b47b31b66a2..7849e520edb 100644 --- a/docs/notebooks/112-pytorch-post-training-quantization-nncf-with-output.rst +++ b/docs/notebooks/pytorch-post-training-quantization-nncf-with-output.rst @@ -58,15 +58,25 @@ Preparations .. code:: ipython3 # Install openvino package - %pip install -q "openvino>=2024.0.0" torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2024.0.0" torch torchvision tqdm --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "nncf>=2.9.0" +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -80,7 +90,6 @@ Imports .. code:: ipython3 import os - import sys import time import zipfile from pathlib import Path @@ -94,7 +103,14 @@ Imports from torchvision.models import resnet50 import torchvision.transforms as transforms - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file @@ -146,7 +162,7 @@ Settings .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/112-pytorch-post-training-quantization-nncf/model/resnet50_fp32.pth') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/pytorch-post-training-quantization-nncf/model/resnet50_fp32.pth') @@ -291,7 +307,10 @@ Validation function from openvino.runtime.ie_api import CompiledModel - def validate(val_loader: torch.utils.data.DataLoader, model: Union[torch.nn.Module, CompiledModel]): + def validate( + val_loader: torch.utils.data.DataLoader, + model: Union[torch.nn.Module, CompiledModel], + ): """Compute the metrics using data from val_loader for the model""" batch_time = AverageMeter("Time", ":3.3f") top1 = AverageMeter("Acc@1", ":2.2f") @@ -330,9 +349,7 @@ Validation function if i % print_frequency == 0: progress.display(i) - print( - " * Acc@1 {top1.avg:.3f} Acc@5 {top5.avg:.3f} Total time: {total_time:.3f}".format(top1=top1, top5=top5, total_time=end - start_time) - ) + print(" * Acc@1 {top1.avg:.3f} Acc@5 {top5.avg:.3f} Total time: {total_time:.3f}".format(top1=top1, top5=top5, total_time=end - start_time)) return top1.avg Create and load original uncompressed model @@ -376,9 +393,7 @@ Create train and validation DataLoaders """Creates train dataloader that is used for quantization initialization and validation dataloader for computing the model accruacy""" train_dir = DATASET_DIR / "train" val_dir = DATASET_DIR / "val" / "images" - normalize = transforms.Normalize( - mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] - ) + normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) train_dataset = ImageFolder( train_dir, transforms.Compose( @@ -391,9 +406,7 @@ Create train and validation DataLoaders ) val_dataset = ImageFolder( val_dir, - transforms.Compose( - [transforms.Resize(IMAGE_SIZE), transforms.ToTensor(), normalize] - ), + transforms.Compose([transforms.Resize(IMAGE_SIZE), transforms.ToTensor(), normalize]), ) train_loader = torch.utils.data.DataLoader( @@ -439,47 +452,47 @@ I. Evaluate the loaded model .. parsed-literal:: - Test: [ 0/79] Time 0.266 (0.266) Acc@1 81.25 (81.25) Acc@5 92.19 (92.19) + Test: [ 0/79] Time 0.261 (0.261) Acc@1 81.25 (81.25) Acc@5 92.19 (92.19) .. parsed-literal:: - Test: [10/79] Time 0.237 (0.240) Acc@1 56.25 (66.97) Acc@5 86.72 (87.50) + Test: [10/79] Time 0.234 (0.238) Acc@1 56.25 (66.97) Acc@5 86.72 (87.50) .. parsed-literal:: - Test: [20/79] Time 0.226 (0.238) Acc@1 67.97 (64.29) Acc@5 85.16 (87.35) + Test: [20/79] Time 0.267 (0.239) Acc@1 67.97 (64.29) Acc@5 85.16 (87.35) .. parsed-literal:: - Test: [30/79] Time 0.289 (0.240) Acc@1 53.12 (62.37) Acc@5 77.34 (85.33) + Test: [30/79] Time 0.259 (0.239) Acc@1 53.12 (62.37) Acc@5 77.34 (85.33) .. parsed-literal:: - Test: [40/79] Time 0.239 (0.239) Acc@1 67.19 (60.86) Acc@5 90.62 (84.51) + Test: [40/79] Time 0.237 (0.239) Acc@1 67.19 (60.86) Acc@5 90.62 (84.51) .. parsed-literal:: - Test: [50/79] Time 0.238 (0.239) Acc@1 60.16 (60.80) Acc@5 88.28 (84.42) + Test: [50/79] Time 0.236 (0.240) Acc@1 60.16 (60.80) Acc@5 88.28 (84.42) .. parsed-literal:: - Test: [60/79] Time 0.239 (0.239) Acc@1 66.41 (60.46) Acc@5 86.72 (83.79) + Test: [60/79] Time 0.248 (0.240) Acc@1 66.41 (60.46) Acc@5 86.72 (83.79) .. parsed-literal:: - Test: [70/79] Time 0.237 (0.239) Acc@1 52.34 (60.21) Acc@5 80.47 (83.33) + Test: [70/79] Time 0.248 (0.242) Acc@1 52.34 (60.21) Acc@5 80.47 (83.33) .. parsed-literal:: - * Acc@1 60.740 Acc@5 83.960 Total time: 18.642 + * Acc@1 60.740 Acc@5 83.960 Total time: 18.845 Test accuracy of FP32 model: 60.740 @@ -522,24 +535,19 @@ Guide =2024.0.0" "torch" "torchvision" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "openvino>=2024.0.0" "torch" "torchvision" "tqdm" %pip install -q "nncf>=2.9.0" @@ -98,7 +98,6 @@ models will be stored. .. code:: ipython3 - import sys import time import warnings # To disable warnings on export model import zipfile @@ -118,7 +117,14 @@ models will be stored. import openvino as ov from torch.jit import TracerWarning - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file torch.manual_seed(0) @@ -161,7 +167,7 @@ models will be stored. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/302-pytorch-quantization-aware-training/model/resnet18_fp32.pth') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/pytorch-quantization-aware-training/model/resnet18_fp32.pth') @@ -184,13 +190,14 @@ Download Tiny ImageNet dataset zip_ref.extractall(path=data_dir) zip_ref.close() + def prepare_tiny_imagenet_200(dataset_dir: Path): # Format validation set the same way as train set is formatted. - val_data_dir = dataset_dir / 'val' - val_annotations_file = val_data_dir / 'val_annotations.txt' - with open(val_annotations_file, 'r') as f: - val_annotation_data = map(lambda line: line.split('\t')[:2], f.readlines()) - val_images_dir = val_data_dir / 'images' + val_data_dir = dataset_dir / "val" + val_annotations_file = val_data_dir / "val_annotations.txt" + with open(val_annotations_file, "r") as f: + val_annotation_data = map(lambda line: line.split("\t")[:2], f.readlines()) + val_images_dir = val_data_dir / "images" for image_filename, image_label in val_annotation_data: from_image_filepath = val_images_dir / image_filename to_image_dir = val_data_dir / image_label @@ -200,7 +207,7 @@ Download Tiny ImageNet dataset from_image_filepath.rename(to_image_filepath) val_annotations_file.unlink() val_images_dir.rmdir() - + DATASET_DIR = DATA_DIR / "tiny-imagenet-200" if not DATASET_DIR.exists(): @@ -248,7 +255,9 @@ Train Function top1 = AverageMeter("Acc@1", ":2.2f") top5 = AverageMeter("Acc@5", ":2.2f") progress = ProgressMeter( - len(train_loader), [batch_time, losses, top1, top5], prefix="Epoch:[{}]".format(epoch) + len(train_loader), + [batch_time, losses, top1, top5], + prefix="Epoch:[{}]".format(epoch), ) # Switch to train mode. @@ -446,12 +455,15 @@ section at the top of this notebook. ) train_loader = torch.utils.data.DataLoader( - train_dataset, batch_size=batch_size, shuffle=True, num_workers=0, pin_memory=True, sampler=None + train_dataset, + batch_size=batch_size, + shuffle=True, + num_workers=0, + pin_memory=True, + sampler=None, ) - val_loader = torch.utils.data.DataLoader( - val_dataset, batch_size=batch_size, shuffle=False, num_workers=0, pin_memory=True - ) + val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=batch_size, shuffle=False, num_workers=0, pin_memory=True) # Define loss function (criterion) and optimizer. criterion = nn.CrossEntropyLoss().to(device) @@ -460,9 +472,9 @@ section at the top of this notebook. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead. warnings.warn( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=None`. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=None`. warnings.warn(msg) @@ -539,14 +551,14 @@ modifications. import nncf + def transform_fn(data_item): return data_item[0] + # Creating separate dataloader with batch size = 1 # as dataloaders with batches > 1 is not supported yet. - quantization_loader = torch.utils.data.DataLoader( - val_dataset, batch_size=1, shuffle=False, num_workers=0, pin_memory=True - ) + quantization_loader = torch.utils.data.DataLoader(val_dataset, batch_size=1, shuffle=False, num_workers=0, pin_memory=True) quantization_dataset = nncf.Dataset(quantization_loader, transform_fn) @@ -572,24 +584,19 @@ about supported parameters can be found on this .. parsed-literal:: - 2024-03-13 01:05:17.144827: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 01:05:17.180554: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:33:36.062903: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:33:36.099858: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 01:05:17.770875: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:33:36.657984: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: - WARNING:nncf:NNCF provides best results with torch==2.1.2, while current torch version is 1.13.1+cpu. If you encounter issues, consider switching to torch==2.1.2 - - -.. parsed-literal:: - - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' + WARNING:nncf:NNCF provides best results with torch==2.1.2, while current torch version is 2.2.2+cpu. If you encounter issues, consider switching to torch==2.1.2 @@ -657,42 +664,42 @@ demonstrated here. .. parsed-literal:: - Test: [ 0/79] Time 0.179 (0.179) Loss 1.005 (1.005) Acc@1 78.91 (78.91) Acc@5 88.28 (88.28) + Test: [ 0/79] Time 0.183 (0.183) Loss 1.005 (1.005) Acc@1 78.91 (78.91) Acc@5 88.28 (88.28) .. parsed-literal:: - Test: [10/79] Time 0.158 (0.160) Loss 1.992 (1.625) Acc@1 44.53 (60.37) Acc@5 79.69 (83.66) + Test: [10/79] Time 0.144 (0.153) Loss 1.992 (1.625) Acc@1 44.53 (60.37) Acc@5 79.69 (83.66) .. parsed-literal:: - Test: [20/79] Time 0.160 (0.161) Loss 1.814 (1.705) Acc@1 60.94 (58.04) Acc@5 80.47 (82.66) + Test: [20/79] Time 0.145 (0.149) Loss 1.814 (1.705) Acc@1 60.94 (58.04) Acc@5 80.47 (82.66) .. parsed-literal:: - Test: [30/79] Time 0.157 (0.160) Loss 2.287 (1.795) Acc@1 50.78 (56.48) Acc@5 68.75 (80.97) + Test: [30/79] Time 0.146 (0.148) Loss 2.287 (1.795) Acc@1 50.78 (56.48) Acc@5 68.75 (80.97) .. parsed-literal:: - Test: [40/79] Time 0.155 (0.160) Loss 1.615 (1.832) Acc@1 60.94 (55.43) Acc@5 82.81 (80.43) + Test: [40/79] Time 0.146 (0.147) Loss 1.615 (1.832) Acc@1 60.94 (55.43) Acc@5 82.81 (80.43) .. parsed-literal:: - Test: [50/79] Time 0.156 (0.160) Loss 1.952 (1.833) Acc@1 57.03 (55.51) Acc@5 75.00 (80.16) + Test: [50/79] Time 0.144 (0.147) Loss 1.952 (1.833) Acc@1 57.03 (55.51) Acc@5 75.00 (80.16) .. parsed-literal:: - Test: [60/79] Time 0.160 (0.159) Loss 1.794 (1.856) Acc@1 57.03 (55.16) Acc@5 84.38 (79.84) + Test: [60/79] Time 0.143 (0.146) Loss 1.794 (1.856) Acc@1 57.03 (55.16) Acc@5 84.38 (79.84) .. parsed-literal:: - Test: [70/79] Time 0.156 (0.159) Loss 2.371 (1.889) Acc@1 46.88 (54.68) Acc@5 74.22 (79.14) + Test: [70/79] Time 0.144 (0.146) Loss 2.371 (1.889) Acc@1 46.88 (54.68) Acc@5 74.22 (79.14) .. parsed-literal:: @@ -729,129 +736,129 @@ training pipeline are required. Here is a simple example. .. parsed-literal:: - Epoch:[0][ 0/782] Time 0.403 (0.403) Loss 0.917 (0.917) Acc@1 76.56 (76.56) Acc@5 93.75 (93.75) + Epoch:[0][ 0/782] Time 0.410 (0.410) Loss 0.917 (0.917) Acc@1 76.56 (76.56) Acc@5 93.75 (93.75) .. parsed-literal:: - Epoch:[0][ 50/782] Time 0.377 (0.398) Loss 0.625 (0.812) Acc@1 85.94 (80.22) Acc@5 96.88 (93.95) + Epoch:[0][ 50/782] Time 0.363 (0.366) Loss 0.625 (0.812) Acc@1 87.50 (80.27) Acc@5 96.88 (93.92) .. parsed-literal:: - Epoch:[0][100/782] Time 0.379 (0.393) Loss 0.761 (0.807) Acc@1 78.91 (80.37) Acc@5 94.53 (94.14) + Epoch:[0][100/782] Time 0.361 (0.366) Loss 0.764 (0.807) Acc@1 79.69 (80.37) Acc@5 94.53 (94.17) .. parsed-literal:: - Epoch:[0][150/782] Time 0.364 (0.392) Loss 0.864 (0.799) Acc@1 82.81 (80.54) Acc@5 92.97 (94.22) + Epoch:[0][150/782] Time 0.363 (0.366) Loss 0.863 (0.799) Acc@1 82.81 (80.53) Acc@5 92.97 (94.25) .. parsed-literal:: - Epoch:[0][200/782] Time 0.412 (0.391) Loss 0.581 (0.787) Acc@1 85.94 (80.84) Acc@5 96.88 (94.33) + Epoch:[0][200/782] Time 0.365 (0.367) Loss 0.581 (0.787) Acc@1 85.16 (80.80) Acc@5 97.66 (94.34) .. parsed-literal:: - Epoch:[0][250/782] Time 0.403 (0.391) Loss 0.724 (0.782) Acc@1 83.59 (80.92) Acc@5 93.75 (94.43) + Epoch:[0][250/782] Time 0.363 (0.367) Loss 0.722 (0.782) Acc@1 82.81 (80.88) Acc@5 93.75 (94.42) .. parsed-literal:: - Epoch:[0][300/782] Time 0.379 (0.391) Loss 0.738 (0.777) Acc@1 78.91 (81.06) Acc@5 93.75 (94.41) + Epoch:[0][300/782] Time 0.365 (0.367) Loss 0.737 (0.777) Acc@1 78.91 (81.01) Acc@5 93.75 (94.41) .. parsed-literal:: - Epoch:[0][350/782] Time 0.383 (0.390) Loss 0.819 (0.767) Acc@1 79.69 (81.31) Acc@5 92.97 (94.54) + Epoch:[0][350/782] Time 0.366 (0.367) Loss 0.819 (0.767) Acc@1 80.47 (81.29) Acc@5 92.97 (94.53) .. parsed-literal:: - Epoch:[0][400/782] Time 0.372 (0.390) Loss 0.783 (0.766) Acc@1 80.47 (81.36) Acc@5 94.53 (94.54) + Epoch:[0][400/782] Time 0.368 (0.366) Loss 0.787 (0.767) Acc@1 80.47 (81.35) Acc@5 94.53 (94.53) .. parsed-literal:: - Epoch:[0][450/782] Time 0.409 (0.391) Loss 0.732 (0.763) Acc@1 82.03 (81.49) Acc@5 96.88 (94.55) + Epoch:[0][450/782] Time 0.364 (0.366) Loss 0.726 (0.763) Acc@1 82.03 (81.48) Acc@5 96.88 (94.55) .. parsed-literal:: - Epoch:[0][500/782] Time 0.381 (0.391) Loss 0.726 (0.760) Acc@1 82.03 (81.56) Acc@5 95.31 (94.59) + Epoch:[0][500/782] Time 0.365 (0.366) Loss 0.727 (0.760) Acc@1 82.03 (81.54) Acc@5 94.53 (94.58) .. parsed-literal:: - Epoch:[0][550/782] Time 0.379 (0.390) Loss 0.774 (0.758) Acc@1 83.59 (81.60) Acc@5 95.31 (94.60) + Epoch:[0][550/782] Time 0.365 (0.366) Loss 0.781 (0.758) Acc@1 82.81 (81.58) Acc@5 95.31 (94.59) .. parsed-literal:: - Epoch:[0][600/782] Time 0.389 (0.390) Loss 0.721 (0.756) Acc@1 80.47 (81.65) Acc@5 97.66 (94.60) + Epoch:[0][600/782] Time 0.362 (0.366) Loss 0.721 (0.756) Acc@1 80.47 (81.63) Acc@5 97.66 (94.61) .. parsed-literal:: - Epoch:[0][650/782] Time 0.431 (0.390) Loss 0.919 (0.755) Acc@1 75.78 (81.66) Acc@5 92.97 (94.62) + Epoch:[0][650/782] Time 0.365 (0.366) Loss 0.922 (0.755) Acc@1 76.56 (81.64) Acc@5 92.97 (94.63) .. parsed-literal:: - Epoch:[0][700/782] Time 0.411 (0.390) Loss 0.645 (0.753) Acc@1 85.16 (81.70) Acc@5 93.75 (94.62) + Epoch:[0][700/782] Time 0.366 (0.366) Loss 0.651 (0.753) Acc@1 83.59 (81.68) Acc@5 92.97 (94.63) .. parsed-literal:: - Epoch:[0][750/782] Time 0.376 (0.390) Loss 0.780 (0.750) Acc@1 81.25 (81.72) Acc@5 93.75 (94.65) + Epoch:[0][750/782] Time 0.369 (0.366) Loss 0.781 (0.751) Acc@1 80.47 (81.70) Acc@5 95.31 (94.66) .. parsed-literal:: - Test: [ 0/79] Time 0.164 (0.164) Loss 1.095 (1.095) Acc@1 72.66 (72.66) Acc@5 85.94 (85.94) + Test: [ 0/79] Time 0.146 (0.146) Loss 1.092 (1.092) Acc@1 73.44 (73.44) Acc@5 86.72 (86.72) .. parsed-literal:: - Test: [10/79] Time 0.139 (0.142) Loss 1.832 (1.524) Acc@1 50.00 (62.78) Acc@5 82.03 (83.95) + Test: [10/79] Time 0.145 (0.147) Loss 1.826 (1.522) Acc@1 49.22 (62.78) Acc@5 81.25 (84.23) .. parsed-literal:: - Test: [20/79] Time 0.137 (0.140) Loss 1.535 (1.596) Acc@1 65.62 (60.53) Acc@5 82.03 (83.71) + Test: [20/79] Time 0.147 (0.147) Loss 1.531 (1.594) Acc@1 64.84 (60.83) Acc@5 82.03 (83.85) .. parsed-literal:: - Test: [30/79] Time 0.140 (0.141) Loss 2.056 (1.691) Acc@1 56.25 (59.12) Acc@5 71.09 (82.13) + Test: [30/79] Time 0.148 (0.147) Loss 2.059 (1.690) Acc@1 57.03 (59.22) Acc@5 71.09 (82.26) .. parsed-literal:: - Test: [40/79] Time 0.143 (0.140) Loss 1.517 (1.745) Acc@1 64.06 (57.81) Acc@5 85.16 (81.36) + Test: [40/79] Time 0.147 (0.147) Loss 1.516 (1.744) Acc@1 64.06 (57.91) Acc@5 85.16 (81.46) .. parsed-literal:: - Test: [50/79] Time 0.140 (0.140) Loss 1.911 (1.752) Acc@1 53.91 (57.61) Acc@5 77.34 (80.99) + Test: [50/79] Time 0.147 (0.147) Loss 1.922 (1.750) Acc@1 53.12 (57.69) Acc@5 76.56 (81.14) .. parsed-literal:: - Test: [60/79] Time 0.138 (0.140) Loss 1.587 (1.787) Acc@1 66.41 (57.04) Acc@5 85.16 (80.57) + Test: [60/79] Time 0.146 (0.147) Loss 1.594 (1.785) Acc@1 65.62 (57.17) Acc@5 84.38 (80.60) .. parsed-literal:: - Test: [70/79] Time 0.141 (0.140) Loss 2.455 (1.813) Acc@1 45.31 (56.64) Acc@5 75.00 (80.16) + Test: [70/79] Time 0.141 (0.147) Loss 2.460 (1.811) Acc@1 46.09 (56.75) Acc@5 74.22 (80.08) .. parsed-literal:: - * Acc@1 57.020 Acc@5 80.770 - Accuracy of tuned INT8 model: 57.020 - Accuracy drop of tuned INT8 model over pre-trained FP32 model: -1.500 + * Acc@1 57.180 Acc@5 80.680 + Accuracy of tuned INT8 model: 57.180 + Accuracy drop of tuned INT8 model over pre-trained FP32 model: -1.660 Export INT8 Model to OpenVINO IR @@ -910,8 +917,8 @@ throughput (frames per second) values. core = ov.Core() device = widgets.Dropdown( options=core.available_devices, - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -929,15 +936,15 @@ throughput (frames per second) values. .. code:: ipython3 def parse_benchmark_output(benchmark_output): - parsed_output = [line for line in benchmark_output if 'FPS' in line] - print(*parsed_output, sep='\n') + parsed_output = [line for line in benchmark_output if "FPS" in line] + print(*parsed_output, sep="\n") - print('Benchmark FP32 model (IR)') + print("Benchmark FP32 model (IR)") benchmark_output = ! benchmark_app -m $fp32_ir_path -d $device.value -api async -t 15 parse_benchmark_output(benchmark_output) - print('Benchmark INT8 model (IR)') + print("Benchmark INT8 model (IR)") benchmark_output = ! benchmark_app -m $int8_ir_path -d $device.value -api async -t 15 parse_benchmark_output(benchmark_output) @@ -949,13 +956,13 @@ throughput (frames per second) values. .. parsed-literal:: - [ INFO ] Throughput: 2946.75 FPS + [ INFO ] Throughput: 2928.21 FPS Benchmark INT8 model (IR) .. parsed-literal:: - [ INFO ] Throughput: 11933.05 FPS + [ INFO ] Throughput: 11678.74 FPS Show Device Information for reference. diff --git a/docs/notebooks/102-pytorch-to-openvino-with-output.rst b/docs/notebooks/pytorch-to-openvino-with-output.rst similarity index 91% rename from docs/notebooks/102-pytorch-to-openvino-with-output.rst rename to docs/notebooks/pytorch-to-openvino-with-output.rst index 2b8cf8e3426..12c29bb7635 100644 --- a/docs/notebooks/102-pytorch-to-openvino-with-output.rst +++ b/docs/notebooks/pytorch-to-openvino-with-output.rst @@ -7,7 +7,7 @@ Starting from OpenVINO 2023.0 release, OpenVINO supports direct PyTorch model conversion without an intermediate step to convert them into ONNX format. In order, if you try to use the lower OpenVINO version or prefer to use ONNX, please check this -`tutorial <102-pytorch-to-openvino-with-output.html>`__. +`tutorial `__. In this tutorial, we will use the `RegNetY_800MF `__ model from @@ -84,9 +84,14 @@ Install notebook dependencies .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" scipy + %pip install -q "openvino>=2023.1.0" scipy Pillow torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -148,7 +153,7 @@ enum ``RegNet_Y_800MF_Weights.DEFAULT``. # create model topology and load weights model = torchvision.models.regnet_y_800mf(weights=weights) - # switch model to inference mode + # switch model to inference mode model.eval(); Prepare Input Data @@ -194,8 +199,9 @@ can be reused later. # Perform model inference on input tensor result = model(input_tensor) + # Postprocessing function for getting results in the same way for both PyTorch model inference and OpenVINO - def postprocess_result(output_tensor:np.ndarray, top_k:int = 5): + def postprocess_result(output_tensor: np.ndarray, top_k: int = 5): """ Posprocess model results. This function applied sofrmax on output tensor and returns specified top_k number of labels with highest probability Parameters: @@ -210,6 +216,7 @@ can be reused later. topk_scores = softmaxed_scores[topk_labels] return topk_labels, topk_scores + # Postprocess results top_labels, top_scores = postprocess_result(result.detach().numpy()) @@ -221,7 +228,7 @@ can be reused later. -.. image:: 102-pytorch-to-openvino-with-output_files/102-pytorch-to-openvino-with-output_11_0.png +.. image:: pytorch-to-openvino-with-output_files/pytorch-to-openvino-with-output_11_0.png .. parsed-literal:: @@ -248,7 +255,7 @@ Benchmark PyTorch Model Inference .. parsed-literal:: - 16.1 ms ± 389 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) + 16.6 ms ± 93.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) Convert PyTorch Model to OpenVINO Intermediate Representation @@ -323,8 +330,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -381,7 +388,7 @@ Run OpenVINO Model Inference -.. image:: 102-pytorch-to-openvino-with-output_files/102-pytorch-to-openvino-with-output_20_0.png +.. image:: pytorch-to-openvino-with-output_files/pytorch-to-openvino-with-output_20_0.png .. parsed-literal:: @@ -407,7 +414,7 @@ Benchmark OpenVINO Model Inference .. parsed-literal:: - 3.13 ms ± 17.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) + 3.17 ms ± 17.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) Convert PyTorch Model with Static Input Shape @@ -420,12 +427,12 @@ you want to convert the model with static shapes, you can explicitly specify it during conversion using the ``input_shape`` parameter or reshape the model into the desired shape after conversion. For the model reshaping example please check the following -`tutorial <002-openvino-api-with-output.html>`__. +`tutorial `__. .. code:: ipython3 # Convert model to openvino.runtime.Model object - ov_model = ov.convert_model(model, input=[[1,3,224,224]]) + ov_model = ov.convert_model(model, input=[[1, 3, 224, 224]]) # Save openvino.runtime.Model object on disk ov.save_model(ov_model, MODEL_DIR / f"{MODEL_NAME}_static.xml") ov_model @@ -511,7 +518,7 @@ Run OpenVINO Model Inference with Static Input Shape -.. image:: 102-pytorch-to-openvino-with-output_files/102-pytorch-to-openvino-with-output_31_0.png +.. image:: pytorch-to-openvino-with-output_files/pytorch-to-openvino-with-output_31_0.png .. parsed-literal:: @@ -537,7 +544,7 @@ Benchmark OpenVINO Model Inference with Static Input Shape .. parsed-literal:: - 2.87 ms ± 22 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) + 2.88 ms ± 28 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) Convert TorchScript Model to OpenVINO Intermediate Representation @@ -606,7 +613,7 @@ Reference `__ +`tutorial `__ Table of contents: ^^^^^^^^^^^^^^^^^^ @@ -70,7 +70,7 @@ Prerequisites .. code:: ipython3 - %pip install -q accelerate diffusers transformers torch gradio qrcode opencv-python "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q accelerate diffusers transformers "torch>=2.1" "gradio>=4.19" qrcode opencv-python "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino>=2023.1.0" "nncf>=2.7.0" Instantiating Generation Pipeline @@ -104,9 +104,7 @@ controlnet model and ``stable-diffusion-v1-5``: ControlNetModel, ) - controlnet = ControlNetModel.from_pretrained( - "monster-labs/control_v1p_sd15_qrcode_monster" - ) + controlnet = ControlNetModel.from_pretrained("monster-labs/control_v1p_sd15_qrcode_monster") pipe = StableDiffusionControlNetPipeline.from_pretrained( "runwayml/stable-diffusion-v1-5", @@ -140,6 +138,7 @@ The pipeline consists of four important parts: import openvino as ov import torch + def cleanup_torchscript_cache(): """ Helper for removing cached model representation @@ -168,13 +167,13 @@ blocks, which serves additional context for the UNet model. .. code:: ipython3 - controlnet_ir_path = Path('./controlnet.xml') + controlnet_ir_path = Path("./controlnet.xml") controlnet_inputs = { "sample": torch.randn((2, 4, 96, 96)), "timestep": torch.tensor(1), - "encoder_hidden_states": torch.randn((2,77,768)), - "controlnet_cond": torch.randn((2,3,768,768)) + "encoder_hidden_states": torch.randn((2, 77, 768)), + "controlnet_cond": torch.randn((2, 3, 768, 768)), } with torch.no_grad(): @@ -188,13 +187,12 @@ blocks, which serves additional context for the UNet model. del ov_model del pipe.controlnet, controlnet cleanup_torchscript_cache() - print('ControlNet successfully converted to IR') + print("ControlNet successfully converted to IR") else: del pipe.controlnet, controlnet print(f"ControlNet will be loaded from {controlnet_ir_path}") - .. parsed-literal:: ControlNet will be loaded from controlnet.xml @@ -220,7 +218,7 @@ hidden states. .. code:: ipython3 - text_encoder_ir_path = Path('./text_encoder.xml') + text_encoder_ir_path = Path("./text_encoder.xml") if not text_encoder_ir_path.exists(): pipe.text_encoder.eval() @@ -233,7 +231,7 @@ hidden states. del ov_model del pipe.text_encoder cleanup_torchscript_cache() - print('Text Encoder successfully converted to IR') + print("Text Encoder successfully converted to IR") else: del pipe.text_encoder print(f"Text Encoder will be loaded from {controlnet_ir_path}") @@ -257,15 +255,16 @@ ControlNet. from typing import Tuple - unet_ir_path = Path('./unet.xml') + unet_ir_path = Path("./unet.xml") dtype_mapping = { torch.float32: ov.Type.f32, torch.float64: ov.Type.f64, torch.int32: ov.Type.i32, - torch.int64: ov.Type.i64 + torch.int64: ov.Type.i64, } + def flattenize_inputs(inputs): flatten_inputs = [] for input_data in inputs: @@ -280,13 +279,13 @@ ControlNet. class UnetWrapper(torch.nn.Module): def __init__( - self, - unet, - sample_dtype=torch.float32, - timestep_dtype=torch.int64, - encoder_hidden_states=torch.float32, - down_block_additional_residuals=torch.float32, - mid_block_additional_residual=torch.float32 + self, + unet, + sample_dtype=torch.float32, + timestep_dtype=torch.int64, + encoder_hidden_states=torch.float32, + down_block_additional_residuals=torch.float32, + mid_block_additional_residual=torch.float32, ): super().__init__() self.unet = unet @@ -297,12 +296,12 @@ ControlNet. self.mid_block_additional_residual_dtype = mid_block_additional_residual def forward( - self, - sample:torch.Tensor, - timestep:torch.Tensor, - encoder_hidden_states:torch.Tensor, - down_block_additional_residuals:Tuple[torch.Tensor], - mid_block_additional_residual:torch.Tensor + self, + sample: torch.Tensor, + timestep: torch.Tensor, + encoder_hidden_states: torch.Tensor, + down_block_additional_residuals: Tuple[torch.Tensor], + mid_block_additional_residual: torch.Tensor, ): sample.to(self.sample_dtype) timestep.to(self.timestep_dtype) @@ -310,11 +309,11 @@ ControlNet. down_block_additional_residuals = [res.to(self.down_block_additional_residuals_dtype) for res in down_block_additional_residuals] mid_block_additional_residual.to(self.mid_block_additional_residual_dtype) return self.unet( - sample, - timestep, - encoder_hidden_states, - down_block_additional_residuals=down_block_additional_residuals, - mid_block_additional_residual=mid_block_additional_residual + sample, + timestep, + encoder_hidden_states, + down_block_additional_residuals=down_block_additional_residuals, + mid_block_additional_residual=mid_block_additional_residual, ) @@ -322,9 +321,9 @@ ControlNet. unet_inputs = { "sample": torch.randn((2, 4, 96, 96)), "timestep": torch.tensor(1), - "encoder_hidden_states": torch.randn((2,77,768)), + "encoder_hidden_states": torch.randn((2, 77, 768)), "down_block_additional_residuals": down_block_res_samples, - "mid_block_additional_residual": mid_block_res_sample + "mid_block_additional_residual": mid_block_res_sample, } if not unet_ir_path.exists(): @@ -336,13 +335,13 @@ ControlNet. input_tensor.get_node().set_partial_shape(ov.PartialShape(input_data.shape)) input_tensor.get_node().set_element_type(dtype_mapping[input_data.dtype]) ov_model.validate_nodes_and_infer_types() - + ov.save_model(ov_model, unet_ir_path) del ov_model cleanup_torchscript_cache() del pipe.unet gc.collect() - print('Unet successfully converted to IR') + print("Unet successfully converted to IR") else: del pipe.unet print(f"Unet will be loaded from {unet_ir_path}") @@ -371,11 +370,11 @@ process are converted back into images using the VAE decoder. During inference, we will see that we **only need the VAE decoder**. You can find instructions on how to convert the encoder part in a stable diffusion -`notebook <225-stable-diffusion-text-to-image-with-output.html>`__. +`notebook `__. .. code:: ipython3 - vae_ir_path = Path('./vae.xml') + vae_ir_path = Path("./vae.xml") class VAEDecoderWrapper(torch.nn.Module): @@ -387,6 +386,7 @@ diffusion def forward(self, latents): return self.vae.decode(latents) + if not vae_ir_path.exists(): vae_decoder = VAEDecoderWrapper(pipe.vae) latents = torch.zeros((1, 4, 96, 96)) @@ -398,7 +398,7 @@ diffusion del ov_model del pipe.vae cleanup_torchscript_cache() - print('VAE decoder successfully converted to IR') + print("VAE decoder successfully converted to IR") else: del pipe.vae print(f"VAE decoder will be loaded from {vae_ir_path}") @@ -504,11 +504,11 @@ on OpenVINO. import numpy as np - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -528,7 +528,7 @@ on OpenVINO. then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (Image.Image): input image Returns: @@ -554,7 +554,7 @@ on OpenVINO. ): """ Helper function for generation random values tensor with given shape and data type - + Parameters: shape (Union[Tuple, List]): shape for filling random values dtype (np.dtype, *optiona*, np.float32): data type for result @@ -570,6 +570,7 @@ on OpenVINO. """ OpenVINO inference pipeline for Stable Diffusion with ControlNet guidence """ + def __init__( self, tokenizer: CLIPTokenizer, @@ -579,7 +580,7 @@ on OpenVINO. text_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model, - device:str = "AUTO" + device: str = "AUTO", ): super().__init__() self.tokenizer = tokenizer @@ -588,10 +589,18 @@ on OpenVINO. self.load_models(core, device, controlnet, text_encoder, unet, vae_decoder) self.set_progress_bar_config(disable=True) - def load_models(self, core: ov.Core, device: str, controlnet:ov.Model, text_encoder: ov.Model, unet: ov.Model, vae_decoder: ov.Model): + def load_models( + self, + core: ov.Core, + device: str, + controlnet: ov.Model, + text_encoder: ov.Model, + unet: ov.Model, + vae_decoder: ov.Model, + ): """ Function for loading models on device using OpenVINO - + Parameters: core (Core): OpenVINO runtime Core class instance device (str): inference device @@ -650,7 +659,7 @@ on OpenVINO. [PIL](https://pillow.readthedocs.io/en/stable/): `Image.Image` or `np.array`. Returns: image ([List[Union[np.ndarray, Image.Image]]): generaited images - + """ # 1. Define call parameters @@ -691,8 +700,7 @@ on OpenVINO. # Expand the latents if we are doing classifier free guidance. # The latents are expanded 3 times because for pix2pix the guidance\ # is applied for both the text and the input image. - latent_model_input = np.concatenate( - [latents] * 2) if do_classifier_free_guidance else latents + latent_model_input = np.concatenate([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) result = self.controlnet([latent_model_input, t, text_embeddings, image]) @@ -721,12 +729,17 @@ on OpenVINO. image = self.numpy_to_pil(image) image = [img.resize((orig_width, orig_height), Image.Resampling.LANCZOS) for img in image] else: - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. @@ -750,16 +763,13 @@ on OpenVINO. ) text_input_ids = text_inputs.input_ids - text_embeddings = self.text_encoder( - text_input_ids)[self.text_encoder_out] + text_embeddings = self.text_encoder(text_input_ids)[self.text_encoder_out] # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -793,11 +803,19 @@ on OpenVINO. return text_embeddings - def prepare_latents(self, batch_size:int, num_channels_latents:int, height:int, width:int, dtype:np.dtype = np.float32, latents:np.ndarray = None): + def prepare_latents( + self, + batch_size: int, + num_channels_latents: int, + height: int, + width: int, + dtype: np.dtype = np.float32, + latents: np.ndarray = None, + ): """ - Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, + Preparing noise to image generation. If initial latents are not provided, they will be generated randomly, then prepared latents scaled by the standard deviation required by the scheduler - + Parameters: batch_size (int): input batch size num_channels_latents (int): number of channels for noise generation @@ -808,7 +826,12 @@ on OpenVINO. Returns: latents (np.ndarray): scaled initial noise for diffusion """ - shape = (batch_size, num_channels_latents, height // self.vae_scale_factor, width // self.vae_scale_factor) + shape = ( + batch_size, + num_channels_latents, + height // self.vae_scale_factor, + width // self.vae_scale_factor, + ) if latents is None: latents = randn_tensor(shape, dtype=dtype) else: @@ -818,10 +841,10 @@ on OpenVINO. latents = latents * np.array(self.scheduler.init_noise_sigma) return latents - def decode_latents(self, latents:np.array, pad:Tuple[int]): + def decode_latents(self, latents: np.array, pad: Tuple[int]): """ Decode predicted image from latent space using VAE Decoder and unpad image result - + Parameters: latents (np.ndarray): image encoded in diffusion latent space pad (Tuple[int]): each side padding sizes obtained on preprocessing step @@ -843,6 +866,7 @@ on OpenVINO. import qrcode + def create_code(content: str): """Creates QR codes with provided content.""" qr = qrcode.QRCode( @@ -862,11 +886,10 @@ on OpenVINO. h = (h + 255 + offset_min) // 256 * 256 if w > 1024: raise RuntimeError("QR code is too large, please use a shorter content") - bg = Image.new('L', (w, h), 128) + bg = Image.new("L", (w, h), 128) # align on 16px grid - coords = ((w - img.size[0]) // 2 // 16 * 16, - (h - img.size[1]) // 2 // 16 * 16) + coords = ((w - img.size[0]) // 2 // 16 * 16, (h - img.size[1]) // 2 // 16 * 16) bg.paste(img, coords) return bg @@ -875,10 +898,19 @@ on OpenVINO. from transformers import CLIPTokenizer from diffusers import EulerAncestralDiscreteScheduler - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config) - ov_pipe = OVContrlNetStableDiffusionPipeline(tokenizer, scheduler, core, controlnet_ir_path, text_encoder_ir_path, unet_ir_path, vae_ir_path, device=device.value) + ov_pipe = OVContrlNetStableDiffusionPipeline( + tokenizer, + scheduler, + core, + controlnet_ir_path, + text_encoder_ir_path, + unet_ir_path, + vae_ir_path, + device=device.value, + ) Now, let’s see model in action @@ -893,7 +925,7 @@ Now, let’s see model in action negative_prompt="blurry unreal occluded", num_inference_steps=25, guidance_scale=7.7, - controlnet_conditioning_scale=1.4 + controlnet_conditioning_scale=1.4, )[0] image @@ -907,7 +939,7 @@ Now, let’s see model in action -.. image:: 264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_22_1.png +.. image:: qrcode-monster-with-output_files/qrcode-monster-with-output_22_1.png @@ -945,7 +977,7 @@ improve model inference speed. is_gpu_device = "GPU" in device.value to_quantize = widgets.Checkbox( value=not is_gpu_device, - description='Quantization', + description="Quantization", disabled=is_gpu_device, ) @@ -965,8 +997,13 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipe = None @@ -1218,7 +1255,7 @@ pipelines. -.. image:: 264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_39_0.png +.. image:: qrcode-monster-with-output_files/qrcode-monster-with-output_39_0.png Compare model file sizes @@ -1337,7 +1374,7 @@ launch the interactive demo. use_quantized_model = widgets.Checkbox( value=True if quantized_model_present else False, - description='Use quantized model', + description="Use quantized model", disabled=not quantized_model_present, ) @@ -1358,6 +1395,7 @@ launch the interactive demo. pipeline = int8_pipe if use_quantized_model.value else ov_pipe + def _generate( qr_code_content: str, prompt: str, @@ -1372,12 +1410,15 @@ launch the interactive demo. np.random.seed(int(seed)) qrcode_image = create_code(qr_code_content) return pipeline( - prompt, qrcode_image, negative_prompt=negative_prompt, + prompt, + qrcode_image, + negative_prompt=negative_prompt, num_inference_steps=int(num_inference_steps), guidance_scale=guidance_scale, - controlnet_conditioning_scale=controlnet_conditioning_scale + controlnet_conditioning_scale=controlnet_conditioning_scale, )[0] + demo = gr.Interface( _generate, inputs=[ @@ -1390,7 +1431,7 @@ launch the interactive demo. step=1, value=42, label="Seed", - info="Seed for the random number generator" + info="Seed for the random number generator", ), gr.Slider( minimum=0.0, @@ -1398,7 +1439,7 @@ launch the interactive demo. step=0.25, value=7, label="Guidance Scale", - info="Controls the amount of guidance the text prompt guides the image generation" + info="Controls the amount of guidance the text prompt guides the image generation", ), gr.Slider( minimum=0.5, @@ -1409,19 +1450,20 @@ launch the interactive demo. info="""Controls the readability/creativity of the QR code. High values: The generated QR code will be more readable. Low values: The generated QR code will be more creative. - """ + """, ), - gr.Slider(label="Steps", step=1, value=5, minimum=1, maximum=50) - ], - outputs=[ - "image" + gr.Slider(label="Steps", step=1, value=5, minimum=1, maximum=50), ], + outputs=["image"], examples=[ [ "Hi OpenVINO", "cozy town on snowy mountain slope 8k", "blurry unreal occluded", - 42, 7.7, 1.4, 25 + 42, + 7.7, + 1.4, + 25, ], ], ) diff --git a/docs/notebooks/264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_22_1.jpg b/docs/notebooks/qrcode-monster-with-output_files/qrcode-monster-with-output_22_1.jpg similarity index 100% rename from docs/notebooks/264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_22_1.jpg rename to docs/notebooks/qrcode-monster-with-output_files/qrcode-monster-with-output_22_1.jpg diff --git a/docs/notebooks/264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_22_1.png b/docs/notebooks/qrcode-monster-with-output_files/qrcode-monster-with-output_22_1.png similarity index 100% rename from docs/notebooks/264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_22_1.png rename to docs/notebooks/qrcode-monster-with-output_files/qrcode-monster-with-output_22_1.png diff --git a/docs/notebooks/264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_39_0.png b/docs/notebooks/qrcode-monster-with-output_files/qrcode-monster-with-output_39_0.png similarity index 100% rename from docs/notebooks/264-qrcode-monster-with-output_files/264-qrcode-monster-with-output_39_0.png rename to docs/notebooks/qrcode-monster-with-output_files/qrcode-monster-with-output_39_0.png diff --git a/docs/notebooks/213-question-answering-with-output.rst b/docs/notebooks/question-answering-with-output.rst similarity index 86% rename from docs/notebooks/213-question-answering-with-output.rst rename to docs/notebooks/question-answering-with-output.rst index 231666636dc..e568322bf3f 100644 --- a/docs/notebooks/213-question-answering-with-output.rst +++ b/docs/notebooks/question-answering-with-output.rst @@ -33,7 +33,7 @@ Table of contents: .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" tqdm .. parsed-literal:: @@ -54,12 +54,14 @@ Imports .. code:: ipython3 # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file .. code:: ipython3 @@ -74,14 +76,14 @@ Imports download_file( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/213-question-answering/html_reader.py', - filename='html_reader.py' + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/notebooks/question-answering/html_reader.py", + filename="html_reader.py", ) import html_reader as reader download_file( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/213-question-answering/tokens_bert.py', - filename='tokens_bert.py' + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/notebooks/question-answering/tokens_bert.py", + filename="tokens_bert.py", ) import tokens_bert as tokens @@ -89,13 +91,13 @@ Imports .. parsed-literal:: - html_reader.py: 0%| | 0.00/635 [00:00=0.16.1" "transformers>=4.33.0" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu Pillow scipy "torch>=2.1" torchaudio "diffusers>=0.16.1" "transformers>=4.33.0" %pip install -q "git+https://github.com/huggingface/optimum-intel.git" onnx "gradio>=3.34.0" "openvino>=2023.1.0" Stable Diffusion pipeline in Optimum Intel @@ -119,7 +119,7 @@ combined during inference into the pipeline: - The VAE decoder More details about the Stable Diffusion pipeline can be found in -`stable-diffusion <225-stable-diffusion-text-to-image-with-output.html>`__ +`stable-diffusion `__ notebook. For running the Stable Diffusion model with Optimum Intel, we should use @@ -147,14 +147,14 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 import ipywidgets as widgets - from openvino.runtime import Core + import openvino as ov - core = Core() + core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -242,7 +242,7 @@ from a spectrogram image using Griffin-Lim Algorithm. def wav_bytes_from_spectrogram_image(image: Image.Image) -> Tuple[io.BytesIO, float]: """ Reconstruct a WAV audio clip from a spectrogram image. Also returns the duration in seconds. - + Parameters: image (Image.Image): generated spectrogram image Returns: @@ -292,12 +292,10 @@ from a spectrogram image using Griffin-Lim Algorithm. return wav_bytes, duration_s - def spectrogram_from_image( - image: Image.Image, max_volume: float = 50, power_for_image: float = 0.25 - ) -> np.ndarray: + def spectrogram_from_image(image: Image.Image, max_volume: float = 50, power_for_image: float = 0.25) -> np.ndarray: """ Compute a spectrogram magnitude array from a spectrogram image. - + Parameters: image (image.Image): input image max_volume (float, *optional*, 50): max volume for spectrogram magnitude @@ -402,10 +400,11 @@ reconstructed audio. pipe.reshape(batch_size=1, height=512, width=512, num_images_per_prompt=1) pipe.compile() - def generate(prompt:str, negative_prompt:str = "") -> Tuple[Image.Image, str]: + + def generate(prompt: str, negative_prompt: str = "") -> Tuple[Image.Image, str]: """ function for generation audio from text prompt - + Parameters: prompt (str): input prompt for generation. negative_prompt (str): negative prompt for generation, contains undesired concepts for generation, which should be avoided. Can be empty. @@ -471,13 +470,14 @@ without the other. More explanation of how it works can be found in this -.. image:: 241-riffusion-text-to-music-with-output_files/241-riffusion-text-to-music-with-output_14_0.png +.. image:: riffusion-text-to-music-with-output_files/riffusion-text-to-music-with-output_14_0.png .. code:: ipython3 import IPython.display as ipd + ipd.Audio(wav_path) @@ -502,9 +502,8 @@ Interactive demo .. code:: ipython3 import gradio as gr - from openvino.runtime import Core - available_devices = Core().available_devices + ["AUTO"] + available_devices = core.available_devices + ["AUTO"] examples = [ "acoustic folk violin jam", @@ -516,13 +515,14 @@ Interactive demo "ibiza at 3am", "k-pop boy group", "laughing", - "water drops" + "water drops", ] - def select_device(device_str:str, current_text:str = "", progress:gr.Progress = gr.Progress()): + + def select_device(device_str: str, current_text: str = "", progress: gr.Progress = gr.Progress()): """ Helper function for uploading model on the device. - + Parameters: device_str (str): Device name. current_text (str): Current content of user instruction field (used only for backup purposes, temporally replacing it on the progress bar during model loading). @@ -533,31 +533,32 @@ Interactive demo if device_str != pipe._device: pipe.clear_requests() pipe.to(device_str) - + for i in progress.tqdm(range(1), desc=f"Model loading on {device_str}"): pipe.compile() return current_text + with gr.Blocks() as demo: - with gr.Column(): - gr.Markdown( - "# Riffusion music generation with OpenVINO\n" - " Describe a musical prompt, generate music by getting a spectrogram image and sound." - ) - + gr.Markdown("# Riffusion music generation with OpenVINO\n" " Describe a musical prompt, generate music by getting a spectrogram image and sound.") + prompt_input = gr.Textbox(placeholder="", label="Musical prompt") negative_prompt = gr.Textbox(label="Negative prompt") device = gr.Dropdown(choices=available_devices, value=DEVICE, label="Device") - + send_btn = gr.Button(value="Get a new spectrogram!") gr.Examples(examples, prompt_input, examples_per_page=15) - + with gr.Column(): - sound_output = gr.Audio(type='filepath', label="spectrogram sound") + sound_output = gr.Audio(type="filepath", label="spectrogram sound") spectrogram_output = gr.Image(label="spectrogram image result", height=256) - - send_btn.click(generate, inputs=[prompt_input, negative_prompt], outputs=[spectrogram_output, sound_output]) + + send_btn.click( + generate, + inputs=[prompt_input, negative_prompt], + outputs=[spectrogram_output, sound_output], + ) device.change(select_device, [device, prompt_input], [prompt_input]) if __name__ == "__main__": diff --git a/docs/notebooks/241-riffusion-text-to-music-with-output_files/241-riffusion-text-to-music-with-output_14_0.jpg b/docs/notebooks/riffusion-text-to-music-with-output_files/riffusion-text-to-music-with-output_14_0.jpg similarity index 100% rename from docs/notebooks/241-riffusion-text-to-music-with-output_files/241-riffusion-text-to-music-with-output_14_0.jpg rename to docs/notebooks/riffusion-text-to-music-with-output_files/riffusion-text-to-music-with-output_14_0.jpg diff --git a/docs/notebooks/241-riffusion-text-to-music-with-output_files/241-riffusion-text-to-music-with-output_14_0.png b/docs/notebooks/riffusion-text-to-music-with-output_files/riffusion-text-to-music-with-output_14_0.png similarity index 100% rename from docs/notebooks/241-riffusion-text-to-music-with-output_files/241-riffusion-text-to-music-with-output_14_0.png rename to docs/notebooks/riffusion-text-to-music-with-output_files/riffusion-text-to-music-with-output_14_0.png diff --git a/docs/notebooks/rmbg-background-removal-with-output.rst b/docs/notebooks/rmbg-background-removal-with-output.rst new file mode 100644 index 00000000000..f71222b4d0d --- /dev/null +++ b/docs/notebooks/rmbg-background-removal-with-output.rst @@ -0,0 +1,349 @@ +Background removal with RMBG v1.4 and OpenVINO +============================================== + +Background matting is the process of accurately estimating the +foreground object in images and videos. It is a very important technique +in image and video editing applications, particularly in film production +for creating visual effects. In case of image segmentation, we segment +the image into foreground and background by labeling the pixels. Image +segmentation generates a binary image, in which a pixel either belongs +to foreground or background. However, Image Matting is different from +the image segmentation, wherein some pixels may belong to foreground as +well as background, such pixels are called partial or mixed pixels. In +order to fully separate the foreground from the background in an image, +accurate estimation of the alpha values for partial or mixed pixels is +necessary. + +RMBG v1.4 is background removal model, designed to effectively separate +foreground from background in a range of categories and image types. +This model has been trained on a carefully selected dataset, which +includes: general stock images, e-commerce, gaming, and advertising +content, making it suitable for commercial use cases powering enterprise +content creation at scale. The accuracy, efficiency, and versatility +currently rival leading source-available models. + +More details about model can be found in `model +card `__. + +In this tutorial we consider how to convert and run this model using +OpenVINO. #### Table of contents: + +- `Prerequisites <#prerequisites>`__ +- `Load PyTorch model <#load-pytorch-model>`__ +- `Run PyTorch model inference <#run-pytorch-model-inference>`__ +- `Convert Model to OpenVINO Intermediate Representation + format <#convert-model-to-openvino-intermediate-representation-format>`__ +- `Run OpenVINO model inference <#run-openvino-model-inference>`__ +- `Interactive demo <#interactive-demo>`__ + +Prerequisites +------------- + + + +install required dependencies + +.. code:: ipython3 + + %pip install -q torch torchvision pillow huggingface_hub "openvino>=2024.0.0" matplotlib "gradio>=4.15" "transformers>=4.39.1" tqdm --extra-index-url https://download.pytorch.org/whl/cpu + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Download model code from HuggingFace hub + +.. code:: ipython3 + + from huggingface_hub import hf_hub_download + from pathlib import Path + + repo_id = "briaai/RMBG-1.4" + + download_files = ["utilities.py", "example_input.jpg"] + + for file_for_downloading in download_files: + if not Path(file_for_downloading).exists(): + hf_hub_download(repo_id=repo_id, filename=file_for_downloading, local_dir=".") + +Load PyTorch model +------------------ + + + +For loading model using PyTorch, we should use +``AutoModelForImageSegmentation.from_pretrained`` method. Model weights +will be downloaded automatically during first model usage. Please, note, +it may take some time. + +.. code:: ipython3 + + from transformers import AutoModelForImageSegmentation + + net = AutoModelForImageSegmentation.from_pretrained("briaai/RMBG-1.4", trust_remote_code=True) + +Run PyTorch model inference +--------------------------- + + + +``preprocess_image`` function is responsible for preparing input data in +model-specific format. ``postprocess_image`` function is responsible for +postprocessing model output. After postprocessing, generated background +mask can be inserted into original image as alpha-channel. + +.. code:: ipython3 + + import torch + from PIL import Image + from utilities import preprocess_image, postprocess_image + import numpy as np + from matplotlib import pyplot as plt + + + def visualize_result(orig_img: Image, mask: Image, result_img: Image): + """ + Helper for results visualization + + parameters: + orig_img (Image): input image + mask (Image): background mask + result_img (Image) output image + returns: + plt.Figure: plot with 3 images for visualization + """ + titles = ["Original", "Background Mask", "Without background"] + im_w, im_h = orig_img.size + is_horizontal = im_h <= im_w + figsize = (20, 20) + num_images = 3 + fig, axs = plt.subplots( + num_images if is_horizontal else 1, + 1 if is_horizontal else num_images, + figsize=figsize, + sharex="all", + sharey="all", + ) + fig.patch.set_facecolor("white") + list_axes = list(axs.flat) + for a in list_axes: + a.set_xticklabels([]) + a.set_yticklabels([]) + a.get_xaxis().set_visible(False) + a.get_yaxis().set_visible(False) + a.grid(False) + list_axes[0].imshow(np.array(orig_img)) + list_axes[1].imshow(np.array(mask), cmap="gray") + list_axes[0].set_title(titles[0], fontsize=15) + list_axes[1].set_title(titles[1], fontsize=15) + list_axes[2].imshow(np.array(result_img)) + list_axes[2].set_title(titles[2], fontsize=15) + + fig.subplots_adjust(wspace=0.01 if is_horizontal else 0.00, hspace=0.01 if is_horizontal else 0.1) + fig.tight_layout() + return fig + + + im_path = "./example_input.jpg" + + # prepare input + model_input_size = [1024, 1024] + orig_im = np.array(Image.open(im_path)) + orig_im_size = orig_im.shape[0:2] + image = preprocess_image(orig_im, model_input_size) + + # inference + result = net(image) + + # post process + result_image = postprocess_image(result[0][0], orig_im_size) + + # save result + pil_im = Image.fromarray(result_image) + no_bg_image = Image.new("RGBA", pil_im.size, (0, 0, 0, 0)) + orig_image = Image.open(im_path) + no_bg_image.paste(orig_image, mask=pil_im) + no_bg_image.save("example_image_no_bg.png") + + visualize_result(orig_image, pil_im, no_bg_image); + + + +.. image:: rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_8_0.png + + +Convert Model to OpenVINO Intermediate Representation format +------------------------------------------------------------ + + + +OpenVINO supports PyTorch models via conversion to OpenVINO Intermediate +Representation (IR). `OpenVINO model conversion +API `__ +should be used for these purposes. ``ov.convert_model`` function accepts +original PyTorch model instance and example input for tracing and +returns ``ov.Model`` representing this model in OpenVINO framework. +Converted model can be used for saving on disk using ``ov.save_model`` +function or directly loading on device using ``core.complie_model``. + +.. code:: ipython3 + + import openvino as ov + + ov_model_path = Path("rmbg-1.4.xml") + + if not ov_model_path.exists(): + ov_model = ov.convert_model(net, example_input=image, input=[1, 3, *model_input_size]) + ov.save_model(ov_model, ov_model_path) + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + warnings.warn( + + +Run OpenVINO model inference +---------------------------- + + + +After finishing conversion, we can compile converted model and run it +using OpenVINO on specified device. For selection inference device, +please use dropdown list below: + +.. code:: ipython3 + + import ipywidgets as widgets + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Let’s run model on the same image that we used before for launching +PyTorch model. OpenVINO model input and output is fully compatible with +original pre- and postprocessing steps, it means that we can reuse them. + +.. code:: ipython3 + + ov_compiled_model = core.compile_model(ov_model_path, device.value) + + result = ov_compiled_model(image)[0] + + # post process + result_image = postprocess_image(torch.from_numpy(result), orig_im_size) + + # save result + pil_im = Image.fromarray(result_image) + no_bg_image = Image.new("RGBA", pil_im.size, (0, 0, 0, 0)) + orig_image = Image.open(im_path) + no_bg_image.paste(orig_image, mask=pil_im) + no_bg_image.save("example_image_no_bg.png") + + visualize_result(orig_image, pil_im, no_bg_image); + + + +.. image:: rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_14_0.png + + +Interactive demo +---------------- + + + +.. code:: ipython3 + + import gradio as gr + + + title = "# RMBG background removal with OpenVINO" + + + def get_background_mask(model, image): + return model(image)[0] + + + with gr.Blocks() as demo: + gr.Markdown(title) + + with gr.Row(): + input_image = gr.Image(label="Input Image", type="numpy") + background_image = gr.Image(label="Background removal Image") + submit = gr.Button("Submit") + + def on_submit(image): + original_image = image.copy() + + h, w = image.shape[:2] + image = preprocess_image(original_image, model_input_size) + + mask = get_background_mask(ov_compiled_model, image) + result_image = postprocess_image(torch.from_numpy(mask), (h, w)) + pil_im = Image.fromarray(result_image) + orig_img = Image.fromarray(original_image) + no_bg_image = Image.new("RGBA", pil_im.size, (0, 0, 0, 0)) + no_bg_image.paste(orig_img, mask=pil_im) + + return no_bg_image + + submit.click(on_submit, inputs=[input_image], outputs=[background_image]) + examples = gr.Examples( + examples=["./example_input.jpg"], + inputs=[input_image], + outputs=[background_image], + fn=on_submit, + cache_examples=False, + ) + + + if __name__ == "__main__": + try: + demo.launch(debug=False) + except Exception: + demo.launch(share=True, debug=False) + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # Read more in the docs: https://gradio.app/docs/ + + +.. parsed-literal:: + + Running on local URL: http://127.0.0.1:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + diff --git a/docs/notebooks/rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_14_0.png b/docs/notebooks/rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_14_0.png new file mode 100644 index 00000000000..3da45ed8e62 --- /dev/null +++ b/docs/notebooks/rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_14_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20f75a8ea279af55ef5ce7921d7dc2f60432273d62f1d05f55d8c902a7e852aa +size 1082425 diff --git a/docs/notebooks/rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_8_0.png b/docs/notebooks/rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_8_0.png new file mode 100644 index 00000000000..99b7f2b5254 --- /dev/null +++ b/docs/notebooks/rmbg-background-removal-with-output_files/rmbg-background-removal-with-output_8_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49abbdabfb1a9e50c8d1685c82e99c14e24b535e0a9e2338f513d7640432e267 +size 1082450 diff --git a/docs/notebooks/271-sdxl-turbo-with-output.rst b/docs/notebooks/sdxl-turbo-with-output.rst similarity index 87% rename from docs/notebooks/271-sdxl-turbo-with-output.rst rename to docs/notebooks/sdxl-turbo-with-output.rst index 4ef2d128905..011a0be7721 100644 --- a/docs/notebooks/271-sdxl-turbo-with-output.rst +++ b/docs/notebooks/sdxl-turbo-with-output.rst @@ -16,9 +16,8 @@ More details about model can be found in `Stability AI blog post `__. Previously, we already discussed how to launch Stable Diffusion XL model -using OpenVINO in the following -`notebook <248-stable-diffusion-xl-with-output.html>`__, in this tutorial we will -focus on the +using OpenVINO in the following `notebook <../stable-diffusion-xl>`__, +in this tutorial we will focus on the `SDXL-turbo `__ version. Additionally, to improve image decoding speed, we will use `Tiny Autoencoder `__, which is useful @@ -62,7 +61,7 @@ Prerequisites .. code:: ipython3 %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu\ - torch transformers diffusers "git+https://github.com/huggingface/optimum-intel.git" gradio "peft==0.6.2" "openvino>=2023.3.0" + "torch>=2.1" transformers diffusers "git+https://github.com/huggingface/optimum-intel.git" "gradio>=4.19" "peft==0.6.2" "openvino>=2023.3.0" Convert model to OpenVINO format -------------------------------- @@ -121,6 +120,7 @@ back to image format. from diffusers import AutoencoderTiny import gc + class VAEEncoder(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -128,7 +128,8 @@ back to image format. def forward(self, sample): return self.vae.encode(sample) - + + class VAEDecoder(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -137,18 +138,19 @@ back to image format. def forward(self, latent_sample): return self.vae.decode(latent_sample) + def convert_tiny_vae(model_id, output_path): tiny_vae = AutoencoderTiny.from_pretrained(model_id) tiny_vae.eval() vae_encoder = VAEEncoder(tiny_vae) - ov_model = ov.convert_model(vae_encoder, example_input=torch.zeros((1,3,512,512))) + ov_model = ov.convert_model(vae_encoder, example_input=torch.zeros((1, 3, 512, 512))) ov.save_model(ov_model, output_path / "vae_encoder/openvino_model.xml") tiny_vae.save_config(output_path / "vae_encoder") vae_decoder = VAEDecoder(tiny_vae) - ov_model = ov.convert_model(vae_decoder, example_input=torch.zeros((1,4,64,64))) + ov_model = ov.convert_model(vae_decoder, example_input=torch.zeros((1, 4, 64, 64))) ov.save_model(ov_model, output_path / "vae_decoder/openvino_model.xml") - tiny_vae.save_config(output_path / "vae_decoder") - + tiny_vae.save_config(output_path / "vae_decoder") + if not skip_convert_model: !optimum-cli export openvino --model $sdxl_model_id --task stable-diffusion-xl $model_dir --fp16 @@ -180,8 +182,8 @@ Select inference device for text-to-image generation device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -199,6 +201,7 @@ Select inference device for text-to-image generation .. code:: ipython3 from optimum.intel.openvino import OVStableDiffusionXLPipeline + text2image_pipe = OVStableDiffusionXLPipeline.from_pretrained(model_dir, device=device.value) @@ -231,7 +234,14 @@ disabled using ``guidance_scale = 0`` import numpy as np prompt = "cute cat" - image = text2image_pipe(prompt, num_inference_steps=1, height=512, width=512, guidance_scale=0.0, generator=np.random.RandomState(987)).images[0] + image = text2image_pipe( + prompt, + num_inference_steps=1, + height=512, + width=512, + guidance_scale=0.0, + generator=np.random.RandomState(987), + ).images[0] image.save("cat.png") image @@ -244,7 +254,7 @@ disabled using ``guidance_scale = 0`` -.. image:: 271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_11_1.png +.. image:: sdxl-turbo-with-output_files/sdxl-turbo-with-output_11_1.png @@ -302,7 +312,14 @@ finally, we get 0.5 \* 2.0 = 1 step in our pipeline. .. code:: ipython3 - photo_image = image2image_pipe(photo_prompt, image=image, num_inference_steps=2, generator=np.random.RandomState(511), guidance_scale=0.0, strength=0.5).images[0] + photo_image = image2image_pipe( + photo_prompt, + image=image, + num_inference_steps=2, + generator=np.random.RandomState(511), + guidance_scale=0.0, + strength=0.5, + ).images[0] photo_image.save("cat_tie.png") photo_image @@ -315,7 +332,7 @@ finally, we get 0.5 \* 2.0 = 1 step in our pipeline. -.. image:: 271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_17_1.png +.. image:: sdxl-turbo-with-output_files/sdxl-turbo-with-output_17_1.png @@ -357,7 +374,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -374,8 +391,13 @@ improve model inference speed. .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipe = None @@ -398,11 +420,12 @@ model inputs for calibration we should customize ``CompiledModel``. UNET_INT8_OV_PATH = model_dir / "optimized_unet" / "openvino_model.xml" + def disable_progress_bar(pipeline, disable=True): if not hasattr(pipeline, "_progress_bar_config"): - pipeline._progress_bar_config = {'disable': disable} + pipeline._progress_bar_config = {"disable": disable} else: - pipeline._progress_bar_config['disable'] = disable + pipeline._progress_bar_config["disable"] = disable .. code:: ipython3 @@ -541,7 +564,7 @@ data. -.. image:: 271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_29_3.png +.. image:: sdxl-turbo-with-output_files/sdxl-turbo-with-output_29_3.png .. code:: ipython3 @@ -577,7 +600,7 @@ data. -.. image:: 271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_30_3.png +.. image:: sdxl-turbo-with-output_files/sdxl-turbo-with-output_30_3.png Compare UNet file size @@ -701,7 +724,7 @@ launch the interactive demo. use_quantized_model = widgets.Checkbox( value=True if quantized_model_present else False, - description='Use quantized model', + description="Use quantized model", disabled=False, ) @@ -729,7 +752,14 @@ launch the interactive demo. def generate_from_text(text, seed, num_steps, height, width): - result = text2image_pipe(text, num_inference_steps=num_steps, guidance_scale=0.0, generator=np.random.RandomState(seed), height=height, width=width).images[0] + result = text2image_pipe( + text, + num_inference_steps=num_steps, + guidance_scale=0.0, + generator=np.random.RandomState(seed), + height=height, + width=width, + ).images[0] return result @@ -742,15 +772,38 @@ launch the interactive demo. height_input = gr.Slider(label="Height", value=512, minimum=256, maximum=1024, step=32) width_input = gr.Slider(label="Width", value=512, minimum=256, maximum=1024, step=32) btn = gr.Button() - out = gr.Image(label="Result (Quantized)" if use_quantized_model.value else "Result (Original)", type="pil", width=512) - btn.click(generate_from_text, [positive_input, seed_input, steps_input, height_input, width_input], out) - gr.Examples([ - ["cute cat", 999], - ["underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", 89], - ["a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", 1569], - ["Astronaut on Mars watching sunset, best quality, cinematic effects,", 65245], - ["Black and white street photography of a rainy night in New York, reflections on wet pavement", 48199] - ], [positive_input, seed_input]) + out = gr.Image( + label=("Result (Quantized)" if use_quantized_model.value else "Result (Original)"), + type="pil", + width=512, + ) + btn.click( + generate_from_text, + [positive_input, seed_input, steps_input, height_input, width_input], + out, + ) + gr.Examples( + [ + ["cute cat", 999], + [ + "underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", + 89, + ], + [ + "a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", + 1569, + ], + [ + "Astronaut on Mars watching sunset, best quality, cinematic effects,", + 65245, + ], + [ + "Black and white street photography of a rainy night in New York, reflections on wet pavement", + 48199, + ], + ], + [positive_input, seed_input], + ) # if you are launching remotely, specify server_name and server_port # demo.launch(server_name='your server name', server_port='server port in int') diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_11_1.jpg b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_11_1.jpg similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_11_1.jpg rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_11_1.jpg diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_11_1.png b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_11_1.png similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_11_1.png rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_11_1.png diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_17_1.jpg b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_17_1.jpg similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_17_1.jpg rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_17_1.jpg diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_17_1.png b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_17_1.png similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_17_1.png rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_17_1.png diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_29_3.jpg b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_29_3.jpg similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_29_3.jpg rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_29_3.jpg diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_29_3.png b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_29_3.png similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_29_3.png rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_29_3.png diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_30_3.jpg b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_30_3.jpg similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_30_3.jpg rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_30_3.jpg diff --git a/docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_30_3.png b/docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_30_3.png similarity index 100% rename from docs/notebooks/271-sdxl-turbo-with-output_files/271-sdxl-turbo-with-output_30_3.png rename to docs/notebooks/sdxl-turbo-with-output_files/sdxl-turbo-with-output_30_3.png diff --git a/docs/notebooks/237-segment-anything-with-output.rst b/docs/notebooks/segment-anything-with-output.rst similarity index 90% rename from docs/notebooks/237-segment-anything-with-output.rst rename to docs/notebooks/segment-anything-with-output.rst index 6b1d7eb8121..23b4ddbc0bc 100644 --- a/docs/notebooks/237-segment-anything-with-output.rst +++ b/docs/notebooks/segment-anything-with-output.rst @@ -141,7 +141,14 @@ Prerequisites .. code:: ipython3 - %pip install -q "segment_anything" "gradio>=4.13" "openvino>=2023.1.0" "nncf>=2.7.0" "torch>=2.1" "torchvision>=0.16" --extra-index-url https://download.pytorch.org/whl/cpu + import platform + + %pip install -q "segment_anything" "gradio>=4.13" "openvino>=2023.1.0" "nncf>=2.7.0" "torch>=2.1" "torchvision>=0.16" Pillow opencv-python tqdm --extra-index-url https://download.pytorch.org/whl/cpu + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" Convert model to OpenVINO Intermediate Representation ----------------------------------------------------- @@ -163,9 +170,14 @@ model type below to a SAM model checkpoint, then load the model using .. code:: ipython3 - import sys + # Fetch `notebook_utils` module + import requests - sys.path.append("../utils") + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file checkpoint = "sam_vit_b_01ec64.pth" @@ -184,7 +196,7 @@ model type below to a SAM model checkpoint, then load the model using .. parsed-literal:: - PosixPath('/home/ea/work/openvino_notebooks/notebooks/237-segment-anything/sam_vit_b_01ec64.pth') + PosixPath('/home/ea/work/openvino_notebooks/notebooks/segment-anything/sam_vit_b_01ec64.pth') @@ -225,7 +237,11 @@ embeddings, tensor with shape ``1x256x64x64`` warnings.filterwarnings("ignore", category=torch.jit.TracerWarning) warnings.filterwarnings("ignore", category=UserWarning) - ov_encoder_model = ov.convert_model(sam.image_encoder, example_input=torch.zeros(1,3,1024,1024), input=([1,3,1024,1024],)) + ov_encoder_model = ov.convert_model( + sam.image_encoder, + example_input=torch.zeros(1, 3, 1024, 1024), + input=([1, 3, 1024, 1024],), + ) ov.save_model(ov_encoder_model, ov_encoder_path) else: ov_encoder_model = core.read_model(ov_encoder_path) @@ -236,8 +252,8 @@ embeddings, tensor with shape ``1x256x64x64`` device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -295,6 +311,7 @@ Model outputs: from typing import Tuple + class SamExportableModel(torch.nn.Module): def __init__( self, @@ -319,14 +336,10 @@ Model outputs: point_labels = point_labels.unsqueeze(-1).expand_as(point_embedding) point_embedding = point_embedding * (point_labels != -1).to(torch.float32) - point_embedding = point_embedding + self.model.prompt_encoder.not_a_point_embed.weight * ( - point_labels == -1 - ).to(torch.float32) + point_embedding = point_embedding + self.model.prompt_encoder.not_a_point_embed.weight * (point_labels == -1).to(torch.float32) for i in range(self.model.prompt_encoder.num_point_embeddings): - point_embedding = point_embedding + self.model.prompt_encoder.point_embeddings[ - i - ].weight * (point_labels == i).to(torch.float32) + point_embedding = point_embedding + self.model.prompt_encoder.point_embeddings[i].weight * (point_labels == i).to(torch.float32) return point_embedding @@ -343,14 +356,10 @@ Model outputs: ) return masks - def select_masks( - self, masks: torch.Tensor, iou_preds: torch.Tensor, num_points: int - ) -> Tuple[torch.Tensor, torch.Tensor]: + def select_masks(self, masks: torch.Tensor, iou_preds: torch.Tensor, num_points: int) -> Tuple[torch.Tensor, torch.Tensor]: # Determine if we should return the multiclick mask or not from the number of points. # The reweighting is used to avoid control flow. - score_reweight = torch.tensor( - [[1000] + [0] * (self.model.mask_decoder.num_mask_tokens - 1)] - ).to(iou_preds.device) + score_reweight = torch.tensor([[1000] + [0] * (self.model.mask_decoder.num_mask_tokens - 1)]).to(iou_preds.device) score = iou_preds + (num_points - 2.5) * score_reweight best_idx = torch.argmax(score, dim=1) masks = masks[torch.arange(masks.shape[0]), best_idx, :, :].unsqueeze(1) @@ -382,9 +391,7 @@ Model outputs: ) if self.use_stability_score: - scores = calculate_stability_score( - masks, self.model.mask_threshold, self.stability_score_offset - ) + scores = calculate_stability_score(masks, self.model.mask_threshold, self.stability_score_offset) if self.return_single_mask: masks, scores = self.select_masks(masks, scores, point_coords.shape[1]) @@ -392,14 +399,13 @@ Model outputs: upscaled_masks = self.mask_postprocessing(masks) if self.return_extra_metrics: - stability_scores = calculate_stability_score( - upscaled_masks, self.model.mask_threshold, self.stability_score_offset - ) + stability_scores = calculate_stability_score(upscaled_masks, self.model.mask_threshold, self.stability_score_offset) areas = (upscaled_masks > self.model.mask_threshold).sum(-1).sum(-1) return upscaled_masks, scores, stability_scores, areas, masks return upscaled_masks, scores + ov_model_path = Path("sam_mask_predictor.xml") if not ov_model_path.exists(): exportable_model = SamExportableModel(sam, return_single_mask=True) @@ -452,7 +458,7 @@ Example Image import matplotlib.pyplot as plt download_file("https://raw.githubusercontent.com/facebookresearch/segment-anything/main/notebooks/images/truck.jpg") - image = cv2.imread('truck.jpg') + image = cv2.imread("truck.jpg") image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) @@ -463,14 +469,14 @@ Example Image .. code:: ipython3 - plt.figure(figsize=(10,10)) + plt.figure(figsize=(10, 10)) plt.imshow(image) - plt.axis('off') + plt.axis("off") plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_21_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_21_0.png Preprocessing and visualization utilities @@ -495,7 +501,8 @@ These steps are applicable to all available models from copy import deepcopy from typing import Tuple - from torchvision.transforms.functional import resize, to_pil_image + from torchvision.transforms.functional import resize, to_pil_image + class ResizeLongestSide: """ @@ -520,9 +527,7 @@ These steps are applicable to all available models original image size in (H, W) format. """ old_h, old_w = original_size - new_h, new_w = self.get_preprocess_shape( - original_size[0], original_size[1], self.target_length - ) + new_h, new_w = self.get_preprocess_shape(original_size[0], original_size[1], self.target_length) coords = deepcopy(coords).astype(float) coords[..., 0] = coords[..., 0] * (new_w / old_w) coords[..., 1] = coords[..., 1] * (new_h / old_h) @@ -553,7 +558,11 @@ These steps are applicable to all available models def preprocess_image(image: np.ndarray): resized_image = resizer.apply_image(image) - resized_image = (resized_image.astype(np.float32) - [123.675, 116.28, 103.53]) / [58.395, 57.12, 57.375] + resized_image = (resized_image.astype(np.float32) - [123.675, 116.28, 103.53]) / [ + 58.395, + 57.12, + 57.375, + ] resized_image = np.expand_dims(np.transpose(resized_image, (2, 0, 1)).astype(np.float32), 0) # Pad @@ -566,7 +575,7 @@ These steps are applicable to all available models def postprocess_masks(masks: np.ndarray, orig_size): size_before_pad = resizer.get_preprocess_shape(orig_size[0], orig_size[1], masks.shape[-1]) - masks = masks[..., :int(size_before_pad[0]), :int(size_before_pad[1])] + masks = masks[..., : int(size_before_pad[0]), : int(size_before_pad[1])] masks = torch.nn.functional.interpolate(torch.from_numpy(masks), size=orig_size, mode="bilinear", align_corners=False).numpy() return masks @@ -578,18 +587,34 @@ These steps are applicable to all available models mask_image = mask.reshape(h, w, 1) * color.reshape(1, 1, -1) ax.imshow(mask_image) - + def show_points(coords, labels, ax, marker_size=375): pos_points = coords[labels == 1] neg_points = coords[labels == 0] - ax.scatter(pos_points[:, 0], pos_points[:, 1], color='green', marker='*', s=marker_size, edgecolor='white', linewidth=1.25) - ax.scatter(neg_points[:, 0], neg_points[:, 1], color='red', marker='*', s=marker_size, edgecolor='white', linewidth=1.25) + ax.scatter( + pos_points[:, 0], + pos_points[:, 1], + color="green", + marker="*", + s=marker_size, + edgecolor="white", + linewidth=1.25, + ) + ax.scatter( + neg_points[:, 0], + neg_points[:, 1], + color="red", + marker="*", + s=marker_size, + edgecolor="white", + linewidth=1.25, + ) + - def show_box(box, ax): x0, y0 = box[0], box[1] w, h = box[2] - box[0], box[3] - box[1] - ax.add_patch(plt.Rectangle((x0, y0), w, h, edgecolor='green', facecolor=(0, 0, 0, 0), lw=2)) + ax.add_patch(plt.Rectangle((x0, y0), w, h, edgecolor="green", facecolor=(0, 0, 0, 0), lw=2)) Image encoding ~~~~~~~~~~~~~~ @@ -623,15 +648,15 @@ location on the image below. input_point = np.array([[500, 375]]) input_label = np.array([1]) - plt.figure(figsize=(10,10)) + plt.figure(figsize=(10, 10)) plt.imshow(image) show_points(input_point, input_label, plt.gca()) - plt.axis('off') - plt.show() + plt.axis("off") + plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_28_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_28_0.png Add a batch index, concatenate a padding point, and transform it to @@ -666,16 +691,16 @@ object). .. code:: ipython3 - plt.figure(figsize=(10,10)) + plt.figure(figsize=(10, 10)) plt.imshow(image) show_mask(masks, plt.gca()) show_points(input_point, input_label, plt.gca()) - plt.axis('off') - plt.show() + plt.axis("off") + plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_35_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_35_0.png Example with multiple points @@ -695,15 +720,15 @@ Now, prompt for model looks like represented on this image: .. code:: ipython3 - plt.figure(figsize=(10,10)) + plt.figure(figsize=(10, 10)) plt.imshow(image) show_points(input_point, input_label, plt.gca()) - plt.axis('off') - plt.show() + plt.axis("off") + plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_39_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_39_0.png Transform the points as in the previous example. @@ -733,16 +758,16 @@ Package inputs, then predict and threshold the mask. .. code:: ipython3 - plt.figure(figsize=(10,10)) + plt.figure(figsize=(10, 10)) plt.imshow(image) show_mask(masks, plt.gca()) show_points(input_point, input_label, plt.gca()) - plt.axis('off') - plt.show() + plt.axis("off") + plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_44_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_44_0.png Great! Looks like now, predicted mask cover whole truck. @@ -769,12 +794,12 @@ point should be excluded from mask. plt.imshow(image) show_box(input_box, plt.gca()) show_points(input_point, input_label, plt.gca()) - plt.axis('off') + plt.axis("off") plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_48_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_48_0.png Add a batch index, concatenate a box and point inputs, add the @@ -784,7 +809,7 @@ padding point since the input includes a box input. .. code:: ipython3 box_coords = input_box.reshape(2, 2) - box_labels = np.array([2,3]) + box_labels = np.array([2, 3]) coord = np.concatenate([input_point, box_coords], axis=0)[None, :, :] label = np.concatenate([input_label, box_labels], axis=0)[None, :].astype(np.float32) @@ -814,12 +839,12 @@ Package inputs, then predict and threshold the mask. show_mask(masks[0], plt.gca()) show_box(input_box, plt.gca()) show_points(input_point, input_label, plt.gca()) - plt.axis('off') + plt.axis("off") plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_53_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_53_0.png Interactive segmentation @@ -835,13 +860,14 @@ point. import gradio as gr + class Segmenter: def __init__(self, ov_encoder, ov_predictor): self.encoder = ov_encoder self.predictor = ov_predictor self._img_embeddings = None - def set_image(self, img:np.ndarray): + def set_image(self, img: np.ndarray): if self._img_embeddings is not None: del self._img_embeddings preprocessed_image = preprocess_image(img) @@ -852,7 +878,7 @@ point. def get_mask(self, points, img): coord = np.array(points) - coord = np.concatenate([coord, np.array([[0,0]])], axis=0) + coord = np.concatenate([coord, np.array([[0, 0]])], axis=0) coord = coord[None, :, :] label = np.concatenate([np.ones(len(points)), np.array([-1])], axis=0)[None, :].astype(np.float32) coord = resizer.apply_coords(coord, img.shape[:2]).astype(np.float32) @@ -867,20 +893,21 @@ point. results = self.predictor(inputs) masks = results[ov_predictor.output(0)] masks = postprocess_masks(masks, img.shape[:-1]) - + masks = masks > 0.0 mask = masks[0] mask = np.transpose(mask, (1, 2, 0)) return mask - + + segmenter = Segmenter(ov_encoder, ov_predictor) - - + + with gr.Blocks() as demo: with gr.Row(): input_img = gr.Image(label="Input", type="numpy", height=480, width=480) output_img = gr.Image(label="Selected Segment", type="numpy", height=480, width=480) - + def on_image_change(img): segmenter.set_image(img) return img @@ -900,7 +927,7 @@ point. out = cv2.addWeighted(out.astype(np.float32), 0.7, mask_image.astype(np.float32), 0.3, 0.0) out = out.astype(np.uint8) return out - + input_img.select(get_select_coords, [input_img], output_img) input_img.upload(on_image_change, [input_img], [input_img]) @@ -942,21 +969,21 @@ postprocessing masks to remove small disconnected regions and holes. .. code:: ipython3 from segment_anything.utils.amg import ( - MaskData, - generate_crop_boxes, - uncrop_boxes_xyxy, - uncrop_masks, - uncrop_points, - calculate_stability_score, - rle_to_mask, - batched_mask_to_box, - mask_to_rle_pytorch, + MaskData, + generate_crop_boxes, + uncrop_boxes_xyxy, + uncrop_masks, + uncrop_points, + calculate_stability_score, + rle_to_mask, + batched_mask_to_box, + mask_to_rle_pytorch, is_box_near_crop_edge, batch_iterator, remove_small_regions, build_all_layer_point_grids, box_xyxy_to_xywh, - area_from_rle + area_from_rle, ) from torchvision.ops.boxes import batched_nms, box_area from typing import Tuple, List, Dict, Any @@ -972,7 +999,7 @@ postprocessing masks to remove small disconnected regions and holes. iou_thresh, mask_threshold, stability_score_offset, - stability_score_thresh + stability_score_thresh, ) -> MaskData: orig_h, orig_w = orig_size @@ -1005,9 +1032,7 @@ postprocessing masks to remove small disconnected regions and holes. data.filter(keep_mask) # Calculate stability score - data["stability_score"] = calculate_stability_score( - data["masks"], mask_threshold, stability_score_offset - ) + data["stability_score"] = calculate_stability_score(data["masks"], mask_threshold, stability_score_offset) if stability_score_thresh > 0.0: keep_mask = data["stability_score"] >= stability_score_thresh data.filter(keep_mask) @@ -1036,8 +1061,8 @@ postprocessing masks to remove small disconnected regions and holes. crop_box: List[int], crop_layer_idx: int, orig_size: Tuple[int, ...], - box_nms_thresh:float = 0.7, - mask_threshold:float = 0.0, + box_nms_thresh: float = 0.7, + mask_threshold: float = 0.0, points_per_batch: int = 64, pred_iou_thresh: float = 0.88, stability_score_thresh: float = 0.95, @@ -1057,7 +1082,17 @@ postprocessing masks to remove small disconnected regions and holes. # Generate masks for this crop in batches data = MaskData() for (points,) in batch_iterator(points_per_batch, points_for_image): - batch_data = process_batch(crop_embeddings, points, cropped_im_size, crop_box, orig_size, pred_iou_thresh, mask_threshold, stability_score_offset, stability_score_thresh) + batch_data = process_batch( + crop_embeddings, + points, + cropped_im_size, + crop_box, + orig_size, + pred_iou_thresh, + mask_threshold, + stability_score_offset, + stability_score_thresh, + ) data.cat(batch_data) del batch_data @@ -1081,9 +1116,7 @@ postprocessing masks to remove small disconnected regions and holes. def generate_masks(image: np.ndarray, point_grids, crop_n_layers, crop_overlap_ratio, crop_nms_thresh) -> MaskData: orig_size = image.shape[:2] - crop_boxes, layer_idxs = generate_crop_boxes( - orig_size, crop_n_layers, crop_overlap_ratio - ) + crop_boxes, layer_idxs = generate_crop_boxes(orig_size, crop_n_layers, crop_overlap_ratio) # Iterate over image crops data = MaskData() @@ -1167,7 +1200,14 @@ smaller objects, and post-processing can remove stray pixels and holes .. code:: ipython3 def automatic_mask_generation( - image: np.ndarray, min_mask_region_area: int = 0, points_per_side: int = 32, crop_n_layers: int = 0, crop_n_points_downscale_factor: int = 1, crop_overlap_ratio: float = 512 / 1500, box_nms_thresh: float = 0.7, crop_nms_thresh: float = 0.7 + image: np.ndarray, + min_mask_region_area: int = 0, + points_per_side: int = 32, + crop_n_layers: int = 0, + crop_n_points_downscale_factor: int = 1, + crop_overlap_ratio: float = 512 / 1500, + box_nms_thresh: float = 0.7, + crop_nms_thresh: float = 0.7, ) -> List[Dict[str, Any]]: """ Generates masks for the given image. @@ -1197,8 +1237,7 @@ smaller objects, and post-processing can remove stray pixels and holes crop_n_layers, crop_n_points_downscale_factor, ) - mask_data = generate_masks( - image, point_grids, crop_n_layers, crop_overlap_ratio, crop_nms_thresh) + mask_data = generate_masks(image, point_grids, crop_n_layers, crop_overlap_ratio, crop_nms_thresh) # Filter small disconnected regions and holes in masks if min_mask_region_area > 0: @@ -1208,8 +1247,7 @@ smaller objects, and post-processing can remove stray pixels and holes max(box_nms_thresh, crop_nms_thresh), ) - mask_data["segmentations"] = [ - rle_to_mask(rle) for rle in mask_data["rles"]] + mask_data["segmentations"] = [rle_to_mask(rle) for rle in mask_data["rles"]] # Write mask records curr_anns = [] @@ -1260,11 +1298,12 @@ is a dictionary containing various data about the mask. These keys are: from tqdm.notebook import tqdm + def draw_anns(image, anns): if len(anns) == 0: return segments_image = image.copy() - sorted_anns = sorted(anns, key=(lambda x: x['area']), reverse=True) + sorted_anns = sorted(anns, key=(lambda x: x["area"]), reverse=True) for ann in tqdm(sorted_anns): mask = ann["segmentation"] mask_color = np.random.randint(0, 255, size=(1, 1, 3)).astype(np.uint8) @@ -1289,7 +1328,7 @@ is a dictionary containing various data about the mask. These keys are: -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_68_1.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_68_1.png @@ -1327,12 +1366,12 @@ the label files. from zipfile import ZipFile DATA_URL = "https://ultralytics.com/assets/coco128.zip" - OUT_DIR = Path('.') + OUT_DIR = Path(".") download_file(DATA_URL, directory=OUT_DIR, show_progress=True) if not (OUT_DIR / "coco128/images/train2017").exists(): - with ZipFile('coco128.zip' , "r") as zip_ref: + with ZipFile("coco128.zip", "r") as zip_ref: zip_ref.extractall(OUT_DIR) @@ -1349,6 +1388,7 @@ calibration dataset. For PyTorch, we can pass an instance of the import torch.utils.data as data + class COCOLoader(data.Dataset): def __init__(self, images_path): self.images = list(Path(images_path).iterdir()) @@ -1358,11 +1398,12 @@ calibration dataset. For PyTorch, we can pass an instance of the image = cv2.imread(str(image_path)) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) return image - + def __len__(self): return len(self.images) - - coco_dataset = COCOLoader(OUT_DIR / 'coco128/images/train2017') + + + coco_dataset = COCOLoader(OUT_DIR / "coco128/images/train2017") calibration_loader = torch.utils.data.DataLoader(coco_dataset) The transformation function is a function that takes a sample from the @@ -1372,6 +1413,7 @@ dataset and returns data that can be passed to the model for inference. import nncf + def transform_fn(image_data): """ Quantization transform function. Extracts and preprocess input data from dataloader item for quantization. @@ -1384,6 +1426,7 @@ dataset and returns data that can be passed to the model for inference. processed_image = preprocess_image(np.squeeze(image)) return processed_image + calibration_dataset = nncf.Dataset(calibration_loader, transform_fn) @@ -1418,12 +1461,13 @@ activations. .. code:: ipython3 - model = core.read_model(ov_encoder_path) - quantized_model = nncf.quantize(model, - calibration_dataset, - model_type=nncf.parameters.ModelType.TRANSFORMER, - subset_size=128) + quantized_model = nncf.quantize( + model, + calibration_dataset, + model_type=nncf.parameters.ModelType.TRANSFORMER, + subset_size=128, + ) print("model quantization finished") @@ -1493,16 +1537,16 @@ We can reuse the previous code to validate the output of ``INT8`` model. masks = results[ov_predictor.output(0)] masks = postprocess_masks(masks, image.shape[:-1]) masks = masks > 0.0 - plt.figure(figsize=(10,10)) + plt.figure(figsize=(10, 10)) plt.imshow(image) show_mask(masks, plt.gca()) show_points(input_point, input_label, plt.gca()) - plt.axis('off') - plt.show() + plt.axis("off") + plt.show() -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_80_0.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_80_0.png Run ``INT8`` model in automatic mask generation mode @@ -1524,14 +1568,14 @@ Run ``INT8`` model in automatic mask generation mode -.. image:: 237-segment-anything-with-output_files/237-segment-anything-with-output_82_1.png +.. image:: segment-anything-with-output_files/segment-anything-with-output_82_1.png Compare Performance of the Original and Quantized Models ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Finally, use the OpenVINO + Finally, use the OpenVINO `Benchmark Tool `__ to measure the inference performance of the ``FP32`` and ``INT8`` diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_21_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_21_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_21_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_21_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_28_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_28_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_28_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_28_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_35_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_35_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_35_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_35_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_39_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_39_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_39_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_39_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_44_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_44_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_44_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_44_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_48_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_48_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_48_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_48_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_53_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_53_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_53_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_53_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_68_1.jpg b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_68_1.jpg similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_68_1.jpg rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_68_1.jpg diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_68_1.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_68_1.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_68_1.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_68_1.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_80_0.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_80_0.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_80_0.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_80_0.png diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_82_1.jpg b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_82_1.jpg similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_82_1.jpg rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_82_1.jpg diff --git a/docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_82_1.png b/docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_82_1.png similarity index 100% rename from docs/notebooks/237-segment-anything-with-output_files/237-segment-anything-with-output_82_1.png rename to docs/notebooks/segment-anything-with-output_files/segment-anything-with-output_82_1.png diff --git a/docs/notebooks/204-segmenter-semantic-segmentation-with-output.rst b/docs/notebooks/segmenter-semantic-segmentation-with-output.rst similarity index 68% rename from docs/notebooks/204-segmenter-semantic-segmentation-with-output.rst rename to docs/notebooks/segmenter-semantic-segmentation-with-output.rst index b45f1514f9f..36f20d1123d 100644 --- a/docs/notebooks/204-segmenter-semantic-segmentation-with-output.rst +++ b/docs/notebooks/segmenter-semantic-segmentation-with-output.rst @@ -119,10 +119,7 @@ Receiving objects: 6% (17/268) Receiving objects: 7% (19/268) Receiving objects: 8% (22/268) Receiving objects: 9% (25/268) - -.. parsed-literal:: - - Receiving objects: 10% (27/268) +Receiving objects: 10% (27/268) Receiving objects: 11% (30/268) Receiving objects: 12% (33/268) Receiving objects: 13% (35/268) @@ -139,120 +136,117 @@ Receiving objects: 22% (59/268) .. parsed-literal:: Receiving objects: 23% (62/268) -Receiving objects: 24% (65/268) .. parsed-literal:: - Receiving objects: 25% (67/268), 4.67 MiB | 9.20 MiB/s + Receiving objects: 24% (65/268) .. parsed-literal:: - Receiving objects: 26% (70/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 27% (73/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 28% (76/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 29% (78/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 30% (81/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 31% (84/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 32% (86/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 33% (89/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 34% (92/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 35% (94/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 36% (97/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 37% (100/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 38% (102/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 39% (105/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 40% (108/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 41% (110/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 42% (113/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 43% (116/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 44% (118/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 45% (121/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 46% (124/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 47% (126/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 48% (129/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 49% (132/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 50% (134/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 51% (137/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 52% (140/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 53% (143/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 54% (145/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 55% (148/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 56% (151/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 57% (153/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 58% (156/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 59% (159/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 60% (161/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 61% (164/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 62% (167/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 63% (169/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 64% (172/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 65% (175/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 66% (177/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 67% (180/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 68% (183/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 69% (185/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 70% (188/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 71% (191/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 72% (193/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 73% (196/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 74% (199/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 75% (201/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 76% (204/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 77% (207/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 78% (210/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 79% (212/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 80% (215/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 81% (218/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 82% (220/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 83% (223/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 84% (226/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 85% (228/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 86% (231/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 87% (234/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 88% (236/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 89% (239/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 90% (242/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 91% (244/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 92% (247/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 93% (250/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 94% (252/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 95% (255/268), 4.67 MiB | 9.20 MiB/s -Receiving objects: 96% (258/268), 4.67 MiB | 9.20 MiB/s + Receiving objects: 25% (67/268), 5.86 MiB | 11.28 MiB/s .. parsed-literal:: - Receiving objects: 96% (259/268), 13.36 MiB | 13.12 MiB/s -Receiving objects: 97% (260/268), 13.36 MiB | 13.12 MiB/s -Receiving objects: 98% (263/268), 13.36 MiB | 13.12 MiB/s -Receiving objects: 99% (266/268), 13.36 MiB | 13.12 MiB/s + Receiving objects: 26% (70/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 27% (73/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 28% (76/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 29% (78/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 30% (81/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 31% (84/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 32% (86/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 33% (89/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 34% (92/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 35% (94/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 36% (97/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 37% (100/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 38% (102/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 39% (105/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 40% (108/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 41% (110/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 42% (113/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 43% (116/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 44% (118/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 45% (121/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 46% (124/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 47% (126/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 48% (129/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 49% (132/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 50% (134/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 51% (137/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 52% (140/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 53% (143/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 54% (145/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 55% (148/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 56% (151/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 57% (153/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 58% (156/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 59% (159/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 60% (161/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 61% (164/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 62% (167/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 63% (169/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 64% (172/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 65% (175/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 66% (177/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 67% (180/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 68% (183/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 69% (185/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 70% (188/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 71% (191/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 72% (193/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 73% (196/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 74% (199/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 75% (201/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 76% (204/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 77% (207/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 78% (210/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 79% (212/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 80% (215/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 81% (218/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 82% (220/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 83% (223/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 84% (226/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 85% (228/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 86% (231/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 87% (234/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 88% (236/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 89% (239/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 90% (242/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 91% (244/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 92% (247/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 93% (250/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 94% (252/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 95% (255/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 96% (258/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 97% (260/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 98% (263/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 99% (266/268), 5.86 MiB | 11.28 MiB/s .. parsed-literal:: remote: Total 268 (delta 0), reused 0 (delta 0), pack-reused 268 - Receiving objects: 100% (268/268), 13.36 MiB | 13.12 MiB/s -Receiving objects: 100% (268/268), 15.34 MiB | 13.80 MiB/s, done. + Receiving objects: 100% (268/268), 5.86 MiB | 11.28 MiB/s +Receiving objects: 100% (268/268), 15.34 MiB | 21.23 MiB/s, done. Resolving deltas: 0% (0/117) Resolving deltas: 1% (2/117) Resolving deltas: 2% (3/117) -Resolving deltas: 3% (4/117) -Resolving deltas: 4% (5/117) -Resolving deltas: 6% (8/117) +Resolving deltas: 5% (6/117) Resolving deltas: 7% (9/117) Resolving deltas: 8% (10/117) Resolving deltas: 9% (11/117) Resolving deltas: 10% (12/117) Resolving deltas: 11% (13/117) Resolving deltas: 13% (16/117) -Resolving deltas: 19% (23/117) -Resolving deltas: 26% (31/117) -Resolving deltas: 40% (47/117) -Resolving deltas: 43% (51/117) -Resolving deltas: 45% (53/117) -Resolving deltas: 66% (78/117) -Resolving deltas: 69% (81/117) -Resolving deltas: 70% (83/117) -Resolving deltas: 71% (84/117) -Resolving deltas: 80% (94/117) +Resolving deltas: 14% (17/117) +Resolving deltas: 27% (32/117) +Resolving deltas: 30% (36/117) +Resolving deltas: 56% (66/117) +Resolving deltas: 58% (69/117) +Resolving deltas: 59% (70/117) +Resolving deltas: 73% (86/117) +Resolving deltas: 76% (90/117) +Resolving deltas: 78% (92/117) +Resolving deltas: 81% (95/117) Resolving deltas: 100% (117/117) Resolving deltas: 100% (117/117), done. @@ -260,10 +254,15 @@ Resolving deltas: 100% (117/117), done. .. code:: ipython3 # Installing requirements - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" tqdm %pip install -r segmenter/requirements.txt +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -271,28 +270,19 @@ Resolving deltas: 100% (117/117), done. .. parsed-literal:: - Requirement already satisfied: torch in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 1)) (2.1.0+cpu) - Requirement already satisfied: click in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 2)) (8.1.7) - Requirement already satisfied: numpy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 3)) (1.23.5) - - -.. parsed-literal:: - - Collecting einops (from -r segmenter/requirements.txt (line 4)) - Using cached einops-0.7.0-py3-none-any.whl.metadata (13 kB) + Requirement already satisfied: torch in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 1)) (2.2.2+cpu) + Requirement already satisfied: click in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 2)) (8.1.7) + Requirement already satisfied: numpy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 3)) (1.23.5) + Requirement already satisfied: einops in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 4)) (0.3.2) .. parsed-literal:: Collecting python-hostlist (from -r segmenter/requirements.txt (line 5)) Using cached python_hostlist-1.23.0-py3-none-any.whl - - -.. parsed-literal:: - - Requirement already satisfied: tqdm in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 6)) (4.66.2) - Requirement already satisfied: requests in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 7)) (2.31.0) - Requirement already satisfied: pyyaml in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 8)) (6.0.1) + Requirement already satisfied: tqdm in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 6)) (4.66.2) + Requirement already satisfied: requests in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 7)) (2.31.0) + Requirement already satisfied: pyyaml in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from -r segmenter/requirements.txt (line 8)) (6.0.1) .. parsed-literal:: @@ -311,99 +301,79 @@ Resolving deltas: 100% (117/117), done. Collecting mmsegmentation==0.14.1 (from -r segmenter/requirements.txt (line 11)) Using cached mmsegmentation-0.14.1-py3-none-any.whl.metadata (8.3 kB) - Requirement already satisfied: torchvision in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from timm==0.4.12->-r segmenter/requirements.txt (line 9)) (0.16.0+cpu) + Requirement already satisfied: torchvision in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from timm==0.4.12->-r segmenter/requirements.txt (line 9)) (0.17.2+cpu) + Requirement already satisfied: addict in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (2.4.0) + Requirement already satisfied: Pillow in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (10.3.0) + Requirement already satisfied: yapf in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (0.40.2) + Requirement already satisfied: matplotlib in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (3.7.0) + Requirement already satisfied: prettytable in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (3.10.0) + Requirement already satisfied: filelock in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (3.13.4) + Requirement already satisfied: typing-extensions>=4.8.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (4.11.0) + Requirement already satisfied: sympy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (1.12) + Requirement already satisfied: networkx in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (3.1) + Requirement already satisfied: jinja2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (3.1.3) + Requirement already satisfied: fsspec in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (2024.2.0) .. parsed-literal:: - Collecting addict (from mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) - Using cached addict-2.4.0-py3-none-any.whl.metadata (1.0 kB) - Requirement already satisfied: Pillow in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (10.2.0) + Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (3.3.2) + Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (3.7) + Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (2.2.1) + Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (2024.2.2) .. parsed-literal:: - Collecting yapf (from mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) - Using cached yapf-0.40.2-py3-none-any.whl.metadata (45 kB) + Requirement already satisfied: MarkupSafe>=2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jinja2->torch->-r segmenter/requirements.txt (line 1)) (2.1.5) + Requirement already satisfied: contourpy>=1.0.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (1.1.1) + Requirement already satisfied: cycler>=0.10 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (0.12.1) + Requirement already satisfied: fonttools>=4.22.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (4.51.0) + Requirement already satisfied: kiwisolver>=1.0.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (1.4.5) + Requirement already satisfied: packaging>=20.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (24.0) + Requirement already satisfied: pyparsing>=2.3.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (3.1.2) + Requirement already satisfied: python-dateutil>=2.7 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (2.9.0.post0) + Requirement already satisfied: importlib-resources>=3.2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (6.4.0) + Requirement already satisfied: wcwidth in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from prettytable->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (0.2.13) + Requirement already satisfied: mpmath>=0.19 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from sympy->torch->-r segmenter/requirements.txt (line 1)) (1.3.0) + Requirement already satisfied: importlib-metadata>=6.6.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (7.1.0) + Requirement already satisfied: platformdirs>=3.5.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (4.2.0) + Requirement already satisfied: tomli>=2.0.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (2.0.1) .. parsed-literal:: - Requirement already satisfied: matplotlib in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (3.7.5) - Requirement already satisfied: prettytable in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (3.10.0) - Requirement already satisfied: filelock in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (3.13.1) - Requirement already satisfied: typing-extensions in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (4.10.0) - Requirement already satisfied: sympy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (1.12) - Requirement already satisfied: networkx in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (3.1) - Requirement already satisfied: jinja2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (3.1.3) - Requirement already satisfied: fsspec in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch->-r segmenter/requirements.txt (line 1)) (2024.2.0) - Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (3.3.2) - Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (3.6) - Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (2.2.1) - Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests->-r segmenter/requirements.txt (line 7)) (2024.2.2) - - -.. parsed-literal:: - - Requirement already satisfied: MarkupSafe>=2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jinja2->torch->-r segmenter/requirements.txt (line 1)) (2.1.5) - Requirement already satisfied: contourpy>=1.0.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (1.1.1) - Requirement already satisfied: cycler>=0.10 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (0.12.1) - Requirement already satisfied: fonttools>=4.22.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (4.49.0) - Requirement already satisfied: kiwisolver>=1.0.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (1.4.5) - Requirement already satisfied: packaging>=20.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (24.0) - Requirement already satisfied: pyparsing>=2.3.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (3.1.2) - Requirement already satisfied: python-dateutil>=2.7 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (2.9.0.post0) - Requirement already satisfied: importlib-resources>=3.2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (6.3.0) - - -.. parsed-literal:: - - Requirement already satisfied: wcwidth in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from prettytable->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (0.2.13) - Requirement already satisfied: mpmath>=0.19 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from sympy->torch->-r segmenter/requirements.txt (line 1)) (1.3.0) - Requirement already satisfied: importlib-metadata>=6.6.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (7.0.2) - Requirement already satisfied: platformdirs>=3.5.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (4.2.0) - - -.. parsed-literal:: - - Collecting tomli>=2.0.1 (from yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) - Using cached tomli-2.0.1-py3-none-any.whl.metadata (8.9 kB) - - -.. parsed-literal:: - - Requirement already satisfied: zipp>=0.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from importlib-metadata>=6.6.0->yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (3.17.0) - Requirement already satisfied: six>=1.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from python-dateutil>=2.7->matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (1.16.0) + Requirement already satisfied: zipp>=0.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from importlib-metadata>=6.6.0->yapf->mmcv==1.3.8->-r segmenter/requirements.txt (line 10)) (3.18.1) + Requirement already satisfied: six>=1.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from python-dateutil>=2.7->matplotlib->mmsegmentation==0.14.1->-r segmenter/requirements.txt (line 11)) (1.16.0) .. parsed-literal:: Using cached timm-0.4.12-py3-none-any.whl (376 kB) Using cached mmsegmentation-0.14.1-py3-none-any.whl (201 kB) - Using cached einops-0.7.0-py3-none-any.whl (44 kB) - Using cached addict-2.4.0-py3-none-any.whl (3.8 kB) - Using cached yapf-0.40.2-py3-none-any.whl (254 kB) - Using cached tomli-2.0.1-py3-none-any.whl (12 kB) .. parsed-literal:: - Installing collected packages: python-hostlist, addict, tomli, einops, yapf, mmsegmentation, mmcv, timm + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + Installing collected packages: python-hostlist, mmsegmentation, mmcv, timm .. parsed-literal:: - Attempting uninstall: tomli - Found existing installation: tomli 1.2.3 - Uninstalling tomli-1.2.3: - Successfully uninstalled tomli-1.2.3 + Attempting uninstall: timm + Found existing installation: timm 0.9.16 + Uninstalling timm-0.9.16: + Successfully uninstalled timm-0.9.16 .. parsed-literal:: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - black 21.7b0 requires tomli<2.0.0,>=0.2.6, but you have tomli 2.0.1 which is incompatible. - Successfully installed addict-2.4.0 einops-0.7.0 mmcv-1.3.8 mmsegmentation-0.14.1 python-hostlist-1.23.0 timm-0.4.12 tomli-2.0.1 yapf-0.40.2 + mobileclip 0.1.0 requires timm>=0.9.5, but you have timm 0.4.12 which is incompatible. + mobileclip 0.1.0 requires torch==1.13.1, but you have torch 2.2.2+cpu which is incompatible. + mobileclip 0.1.0 requires torchvision==0.14.1, but you have torchvision 0.17.2+cpu which is incompatible. + Successfully installed mmcv-1.3.8 mmsegmentation-0.14.1 python-hostlist-1.23.0 timm-0.4.12 .. parsed-literal:: @@ -417,11 +387,13 @@ Resolving deltas: 100% (117/117), done. import yaml # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file, load_image We’ll need ``timm``, ``mmsegmentation``, ``einops`` and ``mmcv``, to use @@ -497,17 +469,12 @@ Load normalization settings from config file. .. code:: ipython3 from segmenter.segm.data.utils import STATS + # load normalization name, in our case "vit" since we are using transformer normalization_name = config["dataset_kwargs"]["normalization"] # load normalization params, mean and std from STATS normalization = STATS[normalization_name] - -.. parsed-literal:: - - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' - - Preparing preprocessing and visualization functions --------------------------------------------------- @@ -624,7 +591,7 @@ example image ``coco_hollywood.jpg``. # load image with PIL image = load_image("https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_hollywood.jpg") # load_image reads the image in BGR format, [:,:,::-1] reshape transfroms it to RGB - pil_image = Image.fromarray(image[:,:,::-1]) + pil_image = Image.fromarray(image[:, :, ::-1]) # preprocess image with normalization params loaded in previous steps image = preprocess(pil_image, normalization) @@ -632,13 +599,15 @@ example image ``coco_hollywood.jpg``. # inference function needs some meta parameters, where we specify that we don't flip images in inference mode im_meta = dict(flip=False) # perform inference with function from repository - original_results = inference(model=pytorch_model, - ims=[image], - ims_metas=[im_meta], - ori_shape=image.shape[2:4], - window_size=config["inference_kwargs"]["window_size"], - window_stride=config["inference_kwargs"]["window_stride"], - batch_size=2) + original_results = inference( + model=pytorch_model, + ims=[image], + ims_metas=[im_meta], + ori_shape=image.shape[2:4], + window_size=config["inference_kwargs"]["window_size"], + window_stride=config["inference_kwargs"]["window_stride"], + batch_size=2, + ) After inference is complete, we need to transform output to segmentation mask where each class has specified color, using helper functions from @@ -655,7 +624,7 @@ previous steps. -.. image:: 204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_21_0.png +.. image:: segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_21_0.png @@ -704,28 +673,32 @@ they are not a problem. # make dummy input with correct shapes obtained from config file dummy_input = torch.randn(batch_size, channels, image_size, image_size) - model = ov.convert_model(pytorch_model, example_input=dummy_input, input=([batch_size, channels, image_size, image_size], )) + model = ov.convert_model( + pytorch_model, + example_input=dummy_input, + input=([batch_size, channels, image_size, image_size],), + ) # serialize model for saving IR ov.save_model(model, MODEL_DIR / "segmenter.xml") .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/204-segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:69: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:69: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if H % patch_size > 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/204-segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:71: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:71: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if W % patch_size > 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/204-segmenter-semantic-segmentation/./segmenter/segm/model/vit.py:122: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/segmenter-semantic-segmentation/./segmenter/segm/model/vit.py:122: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if x.shape[1] != pos_embed.shape[1]: .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/204-segmenter-semantic-segmentation/./segmenter/segm/model/decoder.py:100: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/segmenter-semantic-segmentation/./segmenter/segm/model/decoder.py:100: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! masks = rearrange(masks, "b (h w) n -> b n h w", h=int(GS)) - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/204-segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:85: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:85: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if extra_h > 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/204-segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:87: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/segmenter-semantic-segmentation/./segmenter/segm/model/utils.py:87: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if extra_w > 0: @@ -760,7 +733,7 @@ any additional custom code required to process input. """ - def __init__(self, model_path: Path, device:str = "CPU"): + def __init__(self, model_path: Path, device: str = "CPU"): """ Constructor method. Initializes OpenVINO model and sets all required attributes @@ -813,8 +786,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -837,13 +810,15 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 # perform inference with same function as in case of PyTorch model from repository - results = inference(model=model, - ims=[image], - ims_metas=[im_meta], - ori_shape=image.shape[2:4], - window_size=model.config["inference_kwargs"]["window_size"], - window_stride=model.config["inference_kwargs"]["window_stride"], - batch_size=2) + results = inference( + model=model, + ims=[image], + ims_metas=[im_meta], + ori_shape=image.shape[2:4], + window_size=model.config["inference_kwargs"]["window_size"], + window_stride=model.config["inference_kwargs"]["window_stride"], + batch_size=2, + ) .. code:: ipython3 @@ -856,7 +831,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_32_0.png +.. image:: segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_32_0.png @@ -925,7 +900,7 @@ to measure the inference performance of the model. .. parsed-literal:: - [ INFO ] Read model took 24.36 ms + [ INFO ] Read model took 23.64 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] im (node: im) : f32 / [...] / [2,3,512,512] @@ -943,13 +918,9 @@ to measure the inference performance of the model. .. parsed-literal:: - [ INFO ] Compile model took 341.36 ms + [ INFO ] Compile model took 356.63 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - - -.. parsed-literal:: - [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT @@ -986,19 +957,19 @@ to measure the inference performance of the model. .. parsed-literal:: - [ INFO ] First inference took 203.29 ms + [ INFO ] First inference took 202.08 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 1728 iterations - [ INFO ] Duration: 120391.49 ms + [ INFO ] Count: 1698 iterations + [ INFO ] Duration: 120587.19 ms [ INFO ] Latency: - [ INFO ] Median: 416.77 ms - [ INFO ] Average: 417.75 ms - [ INFO ] Min: 333.14 ms - [ INFO ] Max: 505.65 ms - [ INFO ] Throughput: 28.71 FPS + [ INFO ] Median: 425.03 ms + [ INFO ] Average: 425.44 ms + [ INFO ] Min: 356.57 ms + [ INFO ] Max: 515.02 ms + [ INFO ] Throughput: 28.16 FPS diff --git a/docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_21_0.jpg b/docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_21_0.jpg similarity index 100% rename from docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_21_0.jpg rename to docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_21_0.jpg diff --git a/docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_21_0.png b/docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_21_0.png similarity index 100% rename from docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_21_0.png rename to docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_21_0.png diff --git a/docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_32_0.jpg b/docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_32_0.jpg similarity index 100% rename from docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_32_0.jpg rename to docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_32_0.jpg diff --git a/docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_32_0.png b/docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_32_0.png similarity index 100% rename from docs/notebooks/204-segmenter-semantic-segmentation-with-output_files/204-segmenter-semantic-segmentation-with-output_32_0.png rename to docs/notebooks/segmenter-semantic-segmentation-with-output_files/segmenter-semantic-segmentation-with-output_32_0.png diff --git a/docs/notebooks/248-segmind-vegart-with-output.rst b/docs/notebooks/segmind-vegart-with-output.rst similarity index 88% rename from docs/notebooks/248-segmind-vegart-with-output.rst rename to docs/notebooks/segmind-vegart-with-output.rst index ae6bfb513a0..45266e95e9e 100644 --- a/docs/notebooks/248-segmind-vegart-with-output.rst +++ b/docs/notebooks/segmind-vegart-with-output.rst @@ -81,7 +81,7 @@ Prerequisites .. code:: ipython3 %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu\ - torch transformers diffusers "git+https://github.com/huggingface/optimum-intel.git" gradio "openvino>=2023.3.0" + "torch>=2.1" transformers diffusers "git+https://github.com/huggingface/optimum-intel.git" "gradio>=4.19" "openvino>=2023.3.0" "peft==0.6.2" .. parsed-literal:: @@ -113,7 +113,7 @@ pipeline on disk. model_id = "segmind/Segmind-Vega" adapter_id = "segmind/Segmind-VegaRT" - pt_model_dir = Path('segmind-vegart') + pt_model_dir = Path("segmind-vegart") if not pt_model_dir.exists(): pipe = AutoPipelineForText2Image.from_pretrained(model_id, torch_dtype=torch.float16, variant="fp16") @@ -121,7 +121,7 @@ pipeline on disk. pipe.load_lora_weights(adapter_id) pipe.fuse_lora() - pipe.save_pretrained('segmind-vegart') + pipe.save_pretrained("segmind-vegart") del pipe gc.collect() @@ -189,6 +189,7 @@ back to image format. from diffusers import AutoencoderTiny import gc + class VAEEncoder(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -196,7 +197,8 @@ back to image format. def forward(self, sample): return self.vae.encode(sample) - + + class VAEDecoder(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -205,21 +207,22 @@ back to image format. def forward(self, latent_sample): return self.vae.decode(latent_sample) + def convert_tiny_vae(model_id, output_path): tiny_vae = AutoencoderTiny.from_pretrained(model_id) tiny_vae.eval() vae_encoder = VAEEncoder(tiny_vae) - ov_model = ov.convert_model(vae_encoder, example_input=torch.zeros((1,3,512,512))) + ov_model = ov.convert_model(vae_encoder, example_input=torch.zeros((1, 3, 512, 512))) ov.save_model(ov_model, output_path / "vae_encoder/openvino_model.xml") tiny_vae.save_config(output_path / "vae_encoder") vae_decoder = VAEDecoder(tiny_vae) - ov_model = ov.convert_model(vae_decoder, example_input=torch.zeros((1,4,64,64))) + ov_model = ov.convert_model(vae_decoder, example_input=torch.zeros((1, 4, 64, 64))) ov.save_model(ov_model, output_path / "vae_decoder/openvino_model.xml") tiny_vae.save_config(output_path / "vae_decoder") del tiny_vae del ov_model gc.collect() - + if not skip_convert_model: !optimum-cli export openvino --model $sdxl_model_id --task stable-diffusion-xl $model_dir --fp16 @@ -242,7 +245,7 @@ For saving time, we will not cover image-to-image generation in this notebook. As we already mentioned, Segmind-Vega is compatible with Stable Diffusion XL pipeline, the steps required to run Stable Diffusion XL inference for image-to-image task were discussed in this -`notebook <248-stable-dffision-xl-with-output.html>`__. +`notebook `__. Select inference device for text-to-image generation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -257,8 +260,8 @@ Select inference device for text-to-image generation device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -315,7 +318,7 @@ Select inference device for text-to-image generation -.. image:: 248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_12_1.png +.. image:: segmind-vegart-with-output_files/segmind-vegart-with-output_12_1.png @@ -357,7 +360,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -374,8 +377,13 @@ improve model inference speed. .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipe = None @@ -398,11 +406,12 @@ model inputs for calibration we should customize ``CompiledModel``. UNET_INT8_OV_PATH = model_dir / "optimized_unet" / "openvino_model.xml" + def disable_progress_bar(pipeline, disable=True): if not hasattr(pipeline, "_progress_bar_config"): - pipeline._progress_bar_config = {'disable': disable} + pipeline._progress_bar_config = {"disable": disable} else: - pipeline._progress_bar_config['disable'] = disable + pipeline._progress_bar_config["disable"] = disable .. code:: ipython3 @@ -543,7 +552,7 @@ sensitive ``Convolution`` layers in FP16 precision. -.. image:: 248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_23_2.png +.. image:: segmind-vegart-with-output_files/segmind-vegart-with-output_23_2.png Compare UNet file size @@ -678,7 +687,7 @@ launch the interactive demo. use_quantized_model = widgets.Checkbox( value=quantized_model_present, - description='Use quantized model', + description="Use quantized model", disabled=not quantized_model_present, ) @@ -708,7 +717,13 @@ launch the interactive demo. def generate_from_text(text, seed, num_steps, height, width): set_seed(seed) - result = text2image_pipe(text, num_inference_steps=num_steps, guidance_scale=1.0, height=height, width=width).images[0] + result = text2image_pipe( + text, + num_inference_steps=num_steps, + guidance_scale=1.0, + height=height, + width=width, + ).images[0] return result @@ -721,16 +736,42 @@ launch the interactive demo. height_input = gr.Slider(label="Height", value=512, minimum=256, maximum=1024, step=32) width_input = gr.Slider(label="Width", value=512, minimum=256, maximum=1024, step=32) btn = gr.Button() - out = gr.Image(label="Result (Quantized)" if use_quantized_model.value else "Result (Original)", type="pil", width=512) - btn.click(generate_from_text, [positive_input, seed_input, steps_input, height_input, width_input], out) - gr.Examples([ - ["cute cat", 999], - ["underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", 89], - ["a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", 1569], - ["Astronaut on Mars watching sunset, best quality, cinematic effects,", 65245], - ["Black and white street photography of a rainy night in New York, reflections on wet pavement", 48199], - ["cinematic photo detailed closeup portraid of a Beautiful cyberpunk woman, robotic parts, cables, lights, text; , high quality photography, 3 point lighting, flash with softbox, 4k, Canon EOS R3, hdr, smooth, sharp focus, high resolution, award winning photo, 80mm, f2.8, bokeh . 35mm photograph, film, bokeh, professional, 4k, highly detailed, high quality photography, 3 point lighting, flash with softbox, 4k, Canon EOS R3, hdr, smooth, sharp focus, high resolution, award winning photo, 80mm, f2.8, bokeh", 48199] - ], [positive_input, seed_input]) + out = gr.Image( + label=("Result (Quantized)" if use_quantized_model.value else "Result (Original)"), + type="pil", + width=512, + ) + btn.click( + generate_from_text, + [positive_input, seed_input, steps_input, height_input, width_input], + out, + ) + gr.Examples( + [ + ["cute cat", 999], + [ + "underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", + 89, + ], + [ + "a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", + 1569, + ], + [ + "Astronaut on Mars watching sunset, best quality, cinematic effects,", + 65245, + ], + [ + "Black and white street photography of a rainy night in New York, reflections on wet pavement", + 48199, + ], + [ + "cinematic photo detailed closeup portraid of a Beautiful cyberpunk woman, robotic parts, cables, lights, text; , high quality photography, 3 point lighting, flash with softbox, 4k, Canon EOS R3, hdr, smooth, sharp focus, high resolution, award winning photo, 80mm, f2.8, bokeh . 35mm photograph, film, bokeh, professional, 4k, highly detailed, high quality photography, 3 point lighting, flash with softbox, 4k, Canon EOS R3, hdr, smooth, sharp focus, high resolution, award winning photo, 80mm, f2.8, bokeh", + 48199, + ], + ], + [positive_input, seed_input], + ) # if you are launching remotely, specify server_name and server_port # demo.launch(server_name='your server name', server_port='server port in int') diff --git a/docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_12_1.jpg b/docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_12_1.jpg similarity index 100% rename from docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_12_1.jpg rename to docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_12_1.jpg diff --git a/docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_12_1.png b/docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_12_1.png similarity index 100% rename from docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_12_1.png rename to docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_12_1.png diff --git a/docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_23_2.jpg b/docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_23_2.jpg similarity index 100% rename from docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_23_2.jpg rename to docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_23_2.jpg diff --git a/docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_23_2.png b/docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_23_2.png similarity index 100% rename from docs/notebooks/248-segmind-vegart-with-output_files/248-segmind-vegart-with-output_23_2.png rename to docs/notebooks/segmind-vegart-with-output_files/segmind-vegart-with-output_23_2.png diff --git a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output.rst b/docs/notebooks/siglip-zero-shot-image-classification-with-output.rst similarity index 88% rename from docs/notebooks/282-siglip-zero-shot-image-classification-with-output.rst rename to docs/notebooks/siglip-zero-shot-image-classification-with-output.rst index 3f398bd1b6d..8776a4e67a5 100644 --- a/docs/notebooks/282-siglip-zero-shot-image-classification-with-output.rst +++ b/docs/notebooks/siglip-zero-shot-image-classification-with-output.rst @@ -45,7 +45,7 @@ Table of contents: - `Interactive inference <#interactive-inference>`__ .. |Colab| image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/openvinotoolkit/openvino_notebooks/blob/main/notebooks/282-siglip-zero-shot-image-classification/282-siglip-zero-shot-image-classification.ipynb + :target: https://colab.research.google.com/github/openvinotoolkit/openvino_notebooks/blob/latest/notebooks/siglip-zero-shot-image-classification/siglip-zero-shot-image-classification.ipynb Instantiate model ----------------- @@ -89,7 +89,29 @@ tokenizer and preparing the images. .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu gradio "openvino>=2023.3.0" "transformers[torch]>=4.37" sentencepiece protobuf scipy datasets nncf + import platform + + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "gradio>=4.19" "openvino>=2023.3.0" "transformers>=4.37" "torch>=2.1" Pillow sentencepiece protobuf scipy datasets nncf + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -112,14 +134,14 @@ tokenizer and preparing the images. .. parsed-literal:: - 2024-03-13 00:31:36.705887: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:31:36.740422: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:44:12.841205: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:44:12.876405: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:31:37.337284: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:44:13.472113: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT Run PyTorch model inference @@ -177,19 +199,32 @@ similarity score for the final result. .. code:: ipython3 - from urllib.request import urlretrieve + import requests from pathlib import Path import torch from PIL import Image image_path = Path("test_image.jpg") - urlretrieve( + r = requests.get( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - image_path, ) + + with image_path.open("wb") as f: + f.write(r.content) image = Image.open(image_path) - input_labels = ['cat', 'dog', 'wolf', 'tiger', 'man', 'horse', 'frog', 'tree', 'house', 'computer'] + input_labels = [ + "cat", + "dog", + "wolf", + "tiger", + "man", + "horse", + "frog", + "tree", + "house", + "computer", + ] text_descriptions = [f"This is a photo of a {label}" for label in input_labels] inputs = processor(text=text_descriptions, images=[image], padding="max_length", return_tensors="pt") @@ -198,7 +233,7 @@ similarity score for the final result. model.config.torchscript = False results = model(**inputs) - logits_per_image = results['logits_per_image'] # this is the image-text similarity score + logits_per_image = results["logits_per_image"] # this is the image-text similarity score probs = logits_per_image.softmax(dim=1).detach().numpy() visualize_result(image, input_labels, probs[0]) @@ -210,7 +245,7 @@ similarity score for the final result. -.. image:: 282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_6_1.png +.. image:: siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_6_1.png Convert model to OpenVINO Intermediate Representation (IR) format @@ -246,15 +281,15 @@ object ready to load on the device and start making predictions. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/siglip/modeling_siglip.py:362: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/siglip/modeling_siglip.py:362: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_weights.size() != (batch_size, self.num_heads, q_len, k_v_seq_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/siglip/modeling_siglip.py:380: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/siglip/modeling_siglip.py:380: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_output.size() != (batch_size, self.num_heads, q_len, self.head_dim): @@ -277,8 +312,8 @@ Select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -317,7 +352,7 @@ Run OpenVINO model -.. image:: 282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_13_1.png +.. image:: siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_13_1.png Great! Looks like we got the same result. @@ -356,8 +391,10 @@ model. from io import BytesIO from PIL import Image from requests.packages.urllib3.exceptions import InsecureRequestWarning + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + def check_text_data(data): """ Check if the given data is text-based. @@ -368,6 +405,7 @@ model. return all(isinstance(x, str) for x in data) return False + def get_pil_from_url(url): """ Downloads and converts an image from a URL to a PIL Image object. @@ -376,6 +414,7 @@ model. image = Image.open(BytesIO(response.content)) return image.convert("RGB") + def collate_fn(example, image_column="image_url", text_column="caption"): """ Preprocesses an example by loading and transforming image and text data. @@ -399,8 +438,13 @@ model. except Exception: return None - inputs = processor(text=example[text_column], images=[image], return_tensors="pt", padding="max_length") - if inputs['input_ids'].shape[1] > model.config.text_config.max_position_embeddings: + inputs = processor( + text=example[text_column], + images=[image], + return_tensors="pt", + padding="max_length", + ) + if inputs["input_ids"].shape[1] > model.config.text_config.max_position_embeddings: return None return inputs @@ -410,6 +454,7 @@ model. from datasets import load_dataset from tqdm.notebook import tqdm + def prepare_calibration_data(dataloader, init_steps): """ This function prepares calibration data from a dataloader for a specified number of initialization steps. @@ -450,7 +495,7 @@ model. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/datasets/load.py:1461: FutureWarning: The repository for conceptual_captions contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hf.co/datasets/conceptual_captions + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/datasets/load.py:1461: FutureWarning: The repository for conceptual_captions contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hf.co/datasets/conceptual_captions You can avoid this message in future by passing the argument `trust_remote_code=True`. Passing `trust_remote_code=True` will be mandatory to load this dataset from the next major release of `datasets`. warnings.warn( @@ -485,9 +530,7 @@ Create a quantized model from the pre-trained ``FP16`` model. nncf.set_log_level(logging.ERROR) if len(calibration_data) == 0: - raise RuntimeError( - 'Calibration dataset is empty. Please check internet connection and try to download images manually.' - ) + raise RuntimeError("Calibration dataset is empty. Please check internet connection and try to download images manually.") calibration_dataset = nncf.Dataset(calibration_data) quantized_ov_model = nncf.quantize( @@ -604,7 +647,18 @@ model are similar to the PyTorch model. from scipy.special import softmax - input_labels = ['cat', 'dog', 'wolf', 'tiger', 'man', 'horse', 'frog', 'tree', 'house', 'computer'] + input_labels = [ + "cat", + "dog", + "wolf", + "tiger", + "man", + "horse", + "frog", + "tree", + "house", + "computer", + ] text_descriptions = [f"This is a photo of a {label}" for label in input_labels] inputs = processor(text=text_descriptions, images=[image], return_tensors="pt", padding="max_length") @@ -618,11 +672,11 @@ model are similar to the PyTorch model. .. parsed-literal:: - [{'dog': 0.99}, {'cat': 0.0}, {'horse': 0.0}, {'wolf': 0.0}, {'tiger': 0.0}] + [{'dog': 0.99}, {'horse': 0.0}, {'cat': 0.0}, {'wolf': 0.0}, {'tiger': 0.0}] -.. image:: 282-siglip-zero-shot-image-classification-with-output_files/282-siglip-zero-shot-image-classification-with-output_24_1.png +.. image:: siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_24_1.png Compare File Size @@ -634,10 +688,10 @@ Compare File Size from pathlib import Path - fp16_model_path = 'siglip-base-patch16-224.xml' + fp16_model_path = "siglip-base-patch16-224.xml" ov.save_model(ov_model, fp16_model_path) - int8_model_path = 'siglip-base-patch16-224_int8.xml' + int8_model_path = "siglip-base-patch16-224_int8.xml" ov.save_model(quantized_ov_model, int8_model_path) fp16_ir_model_size = Path(fp16_model_path).with_suffix(".bin").stat().st_size / 1024 / 1024 @@ -671,6 +725,7 @@ approximately estimate the speed up of the dynamic quantized models. import time + def calculate_inference_time(model_path, calibration_data): model = ov.compile_model(model_path, device.value) output_layer = model.output(0) @@ -692,7 +747,7 @@ approximately estimate the speed up of the dynamic quantized models. .. parsed-literal:: - Performance speed up: 2.103 + Performance speed up: 2.117 Interactive inference diff --git a/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_13_1.png b/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_13_1.png new file mode 100644 index 00000000000..4f4106d0098 --- /dev/null +++ b/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_13_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a171655a1f69c15f58fe8db7c91075695a3e504bca94e0bbd76d610c22a96ad +size 581043 diff --git a/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_24_1.png b/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_24_1.png new file mode 100644 index 00000000000..156a28aacb6 --- /dev/null +++ b/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_24_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beeadbab0dee7744db3c5541d8002ec04e28e12bd1236179940343143d2420d3 +size 580997 diff --git a/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_6_1.png b/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_6_1.png new file mode 100644 index 00000000000..4f4106d0098 --- /dev/null +++ b/docs/notebooks/siglip-zero-shot-image-classification-with-output_files/siglip-zero-shot-image-classification-with-output_6_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a171655a1f69c15f58fe8db7c91075695a3e504bca94e0bbd76d610c22a96ad +size 581043 diff --git a/docs/notebooks/210-slowfast-video-recognition-with-output.rst b/docs/notebooks/slowfast-video-recognition-with-output.rst similarity index 99% rename from docs/notebooks/210-slowfast-video-recognition-with-output.rst rename to docs/notebooks/slowfast-video-recognition-with-output.rst index 0c9edf604ca..37e78430e33 100644 --- a/docs/notebooks/210-slowfast-video-recognition-with-output.rst +++ b/docs/notebooks/slowfast-video-recognition-with-output.rst @@ -62,9 +62,14 @@ Install necessary packages .. code:: ipython3 - %pip install -q "openvino>=2023.3.0" fvcore --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2023.3.0" torch opencv-python fvcore tqdm --extra-index-url https://download.pytorch.org/whl/cpu +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -79,7 +84,6 @@ Imports and Settings import json import math - import sys import cv2 import torch import numpy as np @@ -88,7 +92,14 @@ Imports and Settings from IPython.display import Video import openvino as ov - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file .. code:: ipython3 @@ -114,7 +125,10 @@ each action. Read more about the dataset and the paper # load the pretrained model from the repository model = torch.hub.load( - repo_or_dir=MODEL_REPOSITORY, model=MODEL_NAME, pretrained=True, skip_validation=True + repo_or_dir=MODEL_REPOSITORY, + model=MODEL_NAME, + pretrained=True, + skip_validation=True, ) # set the device to allocate tensors to. for example, "cpu" or "cuda" @@ -467,9 +481,7 @@ mapping to a dict for later use. .. code:: ipython3 - CLASSNAMES_SOURCE = ( - "https://dl.fbaipublicfiles.com/pyslowfast/dataset/class_names/kinetics_classnames.json" - ) + CLASSNAMES_SOURCE = "https://dl.fbaipublicfiles.com/pyslowfast/dataset/class_names/kinetics_classnames.json" CLASSNAMES_FILE = "kinetics_classnames.json" download_file(url=CLASSNAMES_SOURCE, directory=DATA_DIR, show_progress=True) @@ -560,7 +572,7 @@ helper functions to implement the preprocessing steps. width = frame.shape[1] y_offset = int(math.ceil((height - size) / 2)) x_offset = int(math.ceil((width - size) / 2)) - cropped = frame[y_offset:y_offset + size, x_offset:x_offset + size, :] + cropped = frame[y_offset : y_offset + size, x_offset : x_offset + size, :] assert cropped.shape[0] == size, "Image height not cropped properly" assert cropped.shape[1] == size, "Image width not cropped properly" return cropped @@ -590,7 +602,7 @@ helper functions to implement the preprocessing steps. slow_pathway = np.take( frames, indices=np.linspace(0, frames.shape[1] - 1, frames.shape[1] // alpha).astype(np.int_), - axis=1 + axis=1, ) frame_list = [slow_pathway, fast_pathway] return frame_list @@ -658,9 +670,7 @@ model. ret, frame = video_cap.read() frames.append(frame) # prepare the inputs - inputs = process_inputs( - frames=frames, num_frames=num_frames, crop_size=crop_size, mean=mean, std=std - ) + inputs = process_inputs(frames=frames, num_frames=num_frames, crop_size=crop_size, mean=mean, std=std) if isinstance(model, ov.CompiledModel): # openvino compiled model @@ -672,7 +682,7 @@ model. predictions = predictions.detach().cpu().numpy() def softmax(x): - return (np.exp(x) / np.exp(x).sum(axis=None)) + return np.exp(x) / np.exp(x).sum(axis=None) # apply activation predictions = softmax(predictions) @@ -748,7 +758,6 @@ either be compiled and inferred or serialized. IR_PATH = MODEL_DIR / "slowfast-r50.xml" - # serialize model for saving IR ov.save_model(model=model, output_model=str(IR_PATH), compress_to_fp16=False) @@ -778,8 +787,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) diff --git a/docs/notebooks/262-softvc-voice-conversion-with-output.rst b/docs/notebooks/softvc-voice-conversion-with-output.rst similarity index 69% rename from docs/notebooks/262-softvc-voice-conversion-with-output.rst rename to docs/notebooks/softvc-voice-conversion-with-output.rst index d5ed3b862a8..c2785403f9c 100644 --- a/docs/notebooks/262-softvc-voice-conversion-with-output.rst +++ b/docs/notebooks/softvc-voice-conversion-with-output.rst @@ -38,7 +38,7 @@ Prerequisites %pip install -q --upgrade pip setuptools %pip install -q "openvino>=2023.2.0" !git clone https://github.com/svc-develop-team/so-vits-svc -b 4.1-Stable - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu tqdm librosa "torch>=2.1.0" "torchaudio>=2.1.0" faiss-cpu gradio "numpy==1.23.5" "fairseq==0.12.2" praat-parselmouth + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu tqdm librosa "torch>=2.1.0" "torchaudio>=2.1.0" faiss-cpu "gradio>=4.19" "numpy>=1.23.5" "fairseq==0.12.2" praat-parselmouth Download pretrained models and configs. We use a recommended encoder `ContentVec `__ and models from `a @@ -51,24 +51,50 @@ own `__. .. code:: ipython3 # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file # ContentVec - download_file("https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt", "checkpoint_best_legacy_500.pt", directory="so-vits-svc/pretrain/") + download_file( + "https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt", + "checkpoint_best_legacy_500.pt", + directory="so-vits-svc/pretrain/", + ) - # pretrained models and configs from a collection of so-vits-svc-4.0 models. You can use other models. - download_file("https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/kmeans_10000.pt", "kmeans_10000.pt", directory="so-vits-svc/logs/44k/") - download_file("https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/config.json", "config.json", directory="so-vits-svc/configs/") - download_file("https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/G_30400.pth", "G_30400.pth", directory="so-vits-svc/logs/44k/") - download_file("https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/D_30400.pth", "D_30400.pth", directory="so-vits-svc/logs/44k/") + # pretrained models and configs from a collection of so-vits-svc-4.0 models. You can use other models. + download_file( + "https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/kmeans_10000.pt", + "kmeans_10000.pt", + directory="so-vits-svc/logs/44k/", + ) + download_file( + "https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/config.json", + "config.json", + directory="so-vits-svc/configs/", + ) + download_file( + "https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/G_30400.pth", + "G_30400.pth", + directory="so-vits-svc/logs/44k/", + ) + download_file( + "https://huggingface.co/therealvul/so-vits-svc-4.0/resolve/main/Rainbow%20Dash%20(singing)/D_30400.pth", + "D_30400.pth", + directory="so-vits-svc/logs/44k/", + ) # a wav sample - download_file("https://huggingface.co/datasets/santifiorino/spinetta/resolve/main/spinetta/000.wav", "000.wav", directory="so-vits-svc/raw/") + download_file( + "https://huggingface.co/datasets/santifiorino/spinetta/resolve/main/spinetta/000.wav", + "000.wav", + directory="so-vits-svc/raw/", + ) Use the original model to run an inference ------------------------------------------ @@ -88,20 +114,20 @@ Define the Sovits Model. from inference.infer_tool import Svc - model = Svc("logs/44k/G_30400.pth", "configs/config.json", device='cpu') + model = Svc("logs/44k/G_30400.pth", "configs/config.json", device="cpu") Define ``kwargs`` and make an inference. .. code:: ipython3 kwargs = { - 'raw_audio_path': 'raw/000.wav', # path to a source audio - 'spk': 'Rainbow Dash (singing)', # speaker ID in which the source audio should be converted. - 'tran': 0, - 'slice_db': -40, - 'cluster_infer_ratio': 0, - 'auto_predict_f0': False, - 'noice_scale': 0.4, + "raw_audio_path": "raw/000.wav", # path to a source audio + "spk": "Rainbow Dash (singing)", # speaker ID in which the source audio should be converted. + "tran": 0, + "slice_db": -40, + "cluster_infer_ratio": 0, + "auto_predict_f0": False, + "noice_scale": 0.4, } audio = model.slice_inference(**kwargs) @@ -152,19 +178,19 @@ without need to look inside. model.net_g_ms.forward = model.net_g_ms.infer net_g_kwargs = { - 'c': dummy_c, - 'f0': dummy_f0, - 'uv': dummy_uv, - 'g': dummy_g, - 'noice_scale': torch.tensor(0.35), # need to wrap numeric and boolean values for conversion - 'seed': torch.tensor(52468), - 'predict_f0': torch.tensor(False), - 'vol': torch.tensor(0) + "c": dummy_c, + "f0": dummy_f0, + "uv": dummy_uv, + "g": dummy_g, + "noice_scale": torch.tensor(0.35), # need to wrap numeric and boolean values for conversion + "seed": torch.tensor(52468), + "predict_f0": torch.tensor(False), + "vol": torch.tensor(0), } core = ov.Core() - net_g_model_xml_path = Path('models/ov_net_g_model.xml') + net_g_model_xml_path = Path("models/ov_net_g_model.xml") if not net_g_model_xml_path.exists(): converted_model = ov.convert_model(model.net_g_ms, example_input=net_g_kwargs) @@ -187,8 +213,8 @@ Select a device from dropdown list for running inference using OpenVINO. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -205,16 +231,16 @@ on a device. def __init__(self, net_g_model_xml_path): super().__init__() self.net_g_model = core.compile_model(net_g_model_xml_path, device.value) - + def infer(self, c, *, f0, uv, g, noice_scale=0.35, seed=52468, predict_f0=False, vol=None): if vol is None: # None is not allowed as an input results = self.net_g_model((c, f0, uv, g, noice_scale, seed, predict_f0)) else: results = self.net_g_model((c, f0, uv, g, noice_scale, seed, predict_f0, vol)) - + return torch.from_numpy(results[0]), torch.from_numpy(results[1]) - + model.net_g_ms = NetGModelWrapper(net_g_model_xml_path) audio = model.slice_inference(**kwargs) @@ -236,10 +262,10 @@ Interactive inference import gradio as gr - src_audio = gr.Audio(label="Source Audio", type='filepath') - output_audio = gr.Audio(label="Output Audio", type='numpy') + src_audio = gr.Audio(label="Source Audio", type="filepath") + output_audio = gr.Audio(label="Output Audio", type="numpy") - title = 'SoftVC VITS Singing Voice Conversion with Gradio' + title = "SoftVC VITS Singing Voice Conversion with Gradio" description = f'Gradio Demo for SoftVC VITS Singing Voice Conversion and OpenVINO™. Upload a source audio, then click the "Submit" button to inference. Audio sample rate should be {model.target_sample}' @@ -248,24 +274,38 @@ Interactive inference kwargs["tran"] = tran kwargs["slice_db"] = slice_db kwargs["noice_scale"] = noice_scale - + audio = model.slice_inference(**kwargs) return model.target_sample, audio demo = gr.Interface( - infer, + infer, [ src_audio, gr.Slider(-100, 100, value=0, label="Pitch shift", step=1), - gr.Slider(-80, -20, value=-30, label="Slice db", step=10, info="The default is -30, noisy audio can be -30, dry sound can be -50 to preserve breathing."), - gr.Slider(0, 1, value=0.4, label="Noise scale", step=0.1, info="Noise level will affect pronunciation and sound quality, which is more metaphysical"), + gr.Slider( + -80, + -20, + value=-30, + label="Slice db", + step=10, + info="The default is -30, noisy audio can be -30, dry sound can be -50 to preserve breathing.", + ), + gr.Slider( + 0, + 1, + value=0.4, + label="Noise scale", + step=0.1, + info="Noise level will affect pronunciation and sound quality, which is more metaphysical", + ), ], - output_audio, + output_audio, title=title, - description=description, - examples=[['raw/000.wav', 0, -30, 0.4, False]] + description=description, + examples=[["raw/000.wav", 0, -30, 0.4, False]], ) try: diff --git a/docs/notebooks/270-sound-generation-audioldm2-with-output.rst b/docs/notebooks/sound-generation-audioldm2-with-output.rst similarity index 99% rename from docs/notebooks/270-sound-generation-audioldm2-with-output.rst rename to docs/notebooks/sound-generation-audioldm2-with-output.rst index a855fb02da9..86262e6ed65 100644 --- a/docs/notebooks/270-sound-generation-audioldm2-with-output.rst +++ b/docs/notebooks/sound-generation-audioldm2-with-output.rst @@ -51,7 +51,7 @@ Prerequisites .. code:: ipython3 - %pip install -q accelerate "diffusers>=0.21.0" transformers torch gradio "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q accelerate "diffusers>=0.21.0" transformers "torch>=2.1" "gradio>=4.19" "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino>=2024.0.0" @@ -97,7 +97,7 @@ sample. prompt, negative_prompt=negative_prompt, num_inference_steps=150, - audio_length_in_s=3.0 + audio_length_in_s=3.0, ).audios[0] sampling_rate = 16000 @@ -158,6 +158,7 @@ The pipeline consists of seven important parts: models_base_folder = Path("models") + def cleanup_torchscript_cache(): """ Helper for removing cached model representation @@ -191,6 +192,7 @@ against the text prompt by computing similarity scores. def forward(self, input_ids, attention_mask): return self.encoder.get_text_features(input_ids, attention_mask) + clap_text_encoder_ir_path = models_base_folder / "clap_text_encoder.xml" if not clap_text_encoder_ir_path.exists(): @@ -329,10 +331,10 @@ projected outputs from the two text encoders. if not language_model_ir_path.exists(): pipe.language_model.config.torchscript = True pipe.language_model.eval() - pipe.language_model.__call__ = partial(pipe.language_model.__call__, kwargs={ - "past_key_values": None, - "use_cache": False, - "return_dict": False}) + pipe.language_model.__call__ = partial( + pipe.language_model.__call__, + kwargs={"past_key_values": None, "use_cache": False, "return_dict": False}, + ) with torch.no_grad(): ov_model = ov.convert_model( pipe.language_model, # model instance @@ -343,7 +345,7 @@ projected outputs from the two text encoders. ov_model.inputs[0].get_node().set_element_type(ov.Type.i64) ov_model.inputs[1].get_node().set_partial_shape(ov.PartialShape([1, -1, 768])) ov_model.inputs[1].get_node().set_element_type(ov.Type.f32) - + ov_model.validate_nodes_and_infer_types() ov.save_model(ov_model, language_model_ir_path) @@ -425,9 +427,9 @@ Diffusion model. ov_model.inputs[3].get_node().set_partial_shape(ov.PartialShape((2, -1, 1024))) ov_model.inputs[4].get_node().set_partial_shape(ov.PartialShape((2, -1))) ov_model.validate_nodes_and_infer_types() - + ov.save_model(ov_model, unet_ir_path) - + del ov_model cleanup_torchscript_cache() gc.collect() @@ -459,12 +461,13 @@ process are converted back into images using the VAE decoder. During inference, we will see that we **only need the VAE decoder**. You can find instructions on how to convert the encoder part in a stable diffusion -`notebook <225-stable-diffusion-text-to-image-with-output.html>`__. +`notebook `__. .. code:: ipython3 vae_ir_path = models_base_folder / "vae.xml" + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -474,6 +477,7 @@ diffusion def forward(self, latents): return self.vae.decode(latents) + if not vae_ir_path.exists(): vae_decoder = VAEDecoderWrapper(pipe.vae) latents = torch.zeros((1, 8, 175, 16)) @@ -557,6 +561,7 @@ model inference into the ``get_text_features`` method. last_hidden_state = self.encoder([input_ids, attention_mask])[0] return torch.from_numpy(last_hidden_state) + class OVT5EncoderWrapper: def __init__(self, encoder_ir, config): self.encoder = core.compile_model(encoder_ir, device.value) @@ -566,7 +571,8 @@ model inference into the ``get_text_features`` method. def __call__(self, input_ids, **_): last_hidden_state = self.encoder(input_ids)[0] return torch.from_numpy(last_hidden_state)[None, ...] - + + class OVVocoderWrapper: def __init__(self, vocoder_ir, config): self.vocoder = core.compile_model(vocoder_ir, device.value) @@ -575,47 +581,43 @@ model inference into the ``get_text_features`` method. def __call__(self, mel_spectrogram, **_): waveform = self.vocoder(mel_spectrogram)[0] return torch.from_numpy(waveform) - + + class OVProjectionModelWrapper: def __init__(self, proj_model_ir, config): self.proj_model = core.compile_model(proj_model_ir, device.value) self.config = config self.output_type = namedtuple("ProjectionOutput", ["hidden_states", "attention_mask"]) - def __call__( - self, hidden_states, - hidden_states_1, - attention_mask, - attention_mask_1, **_ - ): - output = self.proj_model({ - "hidden_states": hidden_states, - "hidden_states_1": hidden_states_1, - "attention_mask": attention_mask, - "attention_mask_1": attention_mask_1, - }) + def __call__(self, hidden_states, hidden_states_1, attention_mask, attention_mask_1, **_): + output = self.proj_model( + { + "hidden_states": hidden_states, + "hidden_states_1": hidden_states_1, + "attention_mask": attention_mask, + "attention_mask_1": attention_mask_1, + } + ) return self.output_type(torch.from_numpy(output[0]), torch.from_numpy(output[1])) - + + class OVUnetWrapper: def __init__(self, unet_ir, config): self.unet = core.compile_model(unet_ir, device.value) self.config = config - def __call__( - self, sample, - timestep, - encoder_hidden_states, - encoder_hidden_states_1, - encoder_attention_mask_1, **_ - ): - output = self.unet({ - "sample": sample, - "timestep": timestep, - "encoder_hidden_states": encoder_hidden_states, - "encoder_hidden_states_1": encoder_hidden_states_1, - "encoder_attention_mask_1": encoder_attention_mask_1, - }) - return (torch.from_numpy(output[0]), ) + def __call__(self, sample, timestep, encoder_hidden_states, encoder_hidden_states_1, encoder_attention_mask_1, **_): + output = self.unet( + { + "sample": sample, + "timestep": timestep, + "encoder_hidden_states": encoder_hidden_states, + "encoder_hidden_states_1": encoder_hidden_states_1, + "encoder_attention_mask_1": encoder_attention_mask_1, + } + ) + return (torch.from_numpy(output[0]),) + class OVVaeDecoderWrapper: def __init__(self, vae_ir, config): @@ -626,14 +628,9 @@ model inference into the ``get_text_features`` method. def decode(self, latents, **_): last_hidden_state = self.vae(latents)[0] return self.output_type(torch.from_numpy(last_hidden_state)) - - def generate_language_model( - gpt_2: ov.CompiledModel, - inputs_embeds: torch.Tensor, - attention_mask: torch.Tensor, - max_new_tokens: int = 8, - **_ - ) -> torch.Tensor: + + + def generate_language_model(gpt_2: ov.CompiledModel, inputs_embeds: torch.Tensor, attention_mask: torch.Tensor, max_new_tokens: int = 8, **_) -> torch.Tensor: """ Generates a sequence of hidden-states from the language model, conditioned on the embedding inputs. """ @@ -643,7 +640,7 @@ model inference into the ``get_text_features`` method. attention_mask = attention_mask.cpu().numpy() for _ in range(max_new_tokens): # forward pass to get next hidden states - output = gpt_2({"inputs_embeds":inputs_embeds, "attention_mask":attention_mask}) + output = gpt_2({"inputs_embeds": inputs_embeds, "attention_mask": attention_mask}) next_hidden_states = output[0] @@ -652,7 +649,6 @@ model inference into the ``get_text_features`` method. attention_mask = np.concatenate([attention_mask, np.ones((attention_mask.shape[0], 1))], axis=1) return torch.from_numpy(inputs_embeds[:, -max_new_tokens:, :]) - Now we initialize the wrapper objects and load them to the HF pipeline .. code:: ipython3 @@ -662,7 +658,7 @@ Now we initialize the wrapper objects and load them to the HF pipeline pipe.config.return_dict = False np.random.seed(0) - torch.manual_seed(0) + torch.manual_seed(0) pipe.text_encoder = OVClapEncoderWrapper(clap_text_encoder_ir_path, pipe.text_encoder.config) pipe.text_encoder_2 = OVT5EncoderWrapper(t5_text_encoder_ir_path, pipe.text_encoder_2.config) @@ -681,7 +677,7 @@ Now we initialize the wrapper objects and load them to the HF pipeline prompt, negative_prompt=negative_prompt, num_inference_steps=150, - audio_length_in_s=3.0 + audio_length_in_s=3.0, ).audios[0] sampling_rate = 16000 @@ -729,18 +725,25 @@ package `__ import gradio as gr - def _generate(prompt, negative_prompt, audio_length_in_s, - num_inference_steps, _=gr.Progress(track_tqdm=True)): + + def _generate( + prompt, + negative_prompt, + audio_length_in_s, + num_inference_steps, + _=gr.Progress(track_tqdm=True), + ): """Gradio backing function.""" audio_values = pipe( prompt, negative_prompt=negative_prompt, num_inference_steps=num_inference_steps, - audio_length_in_s=audio_length_in_s + audio_length_in_s=audio_length_in_s, ) waveform = audio_values[0].squeeze() * 2**15 return (sampling_rate, waveform.astype(np.int16)) + demo = gr.Interface( _generate, inputs=[ @@ -753,11 +756,9 @@ package `__ value=7, label="Audio Length (s)", ), - gr.Slider(label="Inference Steps", step=5, value=150, minimum=50, maximum=250) - ], - outputs=[ - "audio" + gr.Slider(label="Inference Steps", step=5, value=150, minimum=50, maximum=250), ], + outputs=["audio"], examples=[ ["birds singing in the forest", "Low quality", 7, 150], ["The sound of a hammer hitting a wooden surface", "", 4, 200], diff --git a/docs/notebooks/116-sparsity-optimization-with-output.rst b/docs/notebooks/sparsity-optimization-with-output.rst similarity index 86% rename from docs/notebooks/116-sparsity-optimization-with-output.rst rename to docs/notebooks/sparsity-optimization-with-output.rst index c44d34e2461..0702349fa2f 100644 --- a/docs/notebooks/116-sparsity-optimization-with-output.rst +++ b/docs/notebooks/sparsity-optimization-with-output.rst @@ -45,14 +45,24 @@ Prerequisites .. code:: ipython3 %pip install -q "openvino>=2023.1.0" - %pip install -q "git+https://github.com/huggingface/optimum-intel.git" datasets onnx transformers>=4.33.0 --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "git+https://github.com/huggingface/optimum-intel.git" "torch>=2.1" datasets onnx transformers>=4.33.0 --extra-index-url https://download.pytorch.org/whl/cpu +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -73,6 +83,11 @@ Imports from huggingface_hub import hf_hub_download +.. parsed-literal:: + + OpenVINO Tokenizer version is not compatible with OpenVINO version. Installed OpenVINO version: 2024.0.0,OpenVINO Tokenizers requires . OpenVINO Tokenizers models will not be added during export. + + .. parsed-literal:: INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino @@ -80,19 +95,20 @@ Imports .. parsed-literal:: - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' - - -.. parsed-literal:: - - 2024-03-12 22:46:23.659626: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:46:23.694199: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:51:56.238501: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:51:56.274301: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:46:24.261905: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:51:56.850457: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + torch.utils._pytree._register_pytree_node( Download, quantize and sparsify the model, using Hugging Face Optimum API @@ -131,11 +147,6 @@ model card on Hugging Face. Compiling the model to CPU ... -.. parsed-literal:: - - device must be of type but got instead - - .. parsed-literal:: [{'label': 'negative', 'score': 0.9982142448425293}] @@ -150,13 +161,13 @@ the IRs into a single folder. quantized_sparse_dir = Path("bert_80pc_sparse_quantized_ir") quantized_sparse_dir.mkdir(parents=True, exist_ok=True) - # following return path to specified filename in cache folder (which we've with the + # following return path to specified filename in cache folder (which we've with the ov_ir_xml_path = hf_hub_download(repo_id=model_id, filename="openvino_model.xml") ov_ir_bin_path = hf_hub_download(repo_id=model_id, filename="openvino_model.bin") # copy IRs to the folder shutil.copy(ov_ir_xml_path, quantized_sparse_dir) - shutil.copy(ov_ir_bin_path, quantized_sparse_dir) + shutil.copy(ov_ir_bin_path, quantized_sparse_dir) @@ -228,7 +239,7 @@ as an example. It is recommended to tune based on your applications. .. parsed-literal:: - [ INFO ] Read model took 60.53 ms + [ INFO ] Read model took 61.16 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] input_ids (node: input_ids) : i64 / [...] / [?,?] @@ -243,7 +254,7 @@ as an example. It is recommended to tune based on your applications. .. parsed-literal:: - [ INFO ] Reshape model took 23.14 ms + [ INFO ] Reshape model took 22.79 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: [ INFO ] input_ids (node: input_ids) : i64 / [...] / [1,64] @@ -256,7 +267,7 @@ as an example. It is recommended to tune based on your applications. .. parsed-literal:: - [ INFO ] Compile model took 1247.60 ms + [ INFO ] Compile model took 1249.77 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: torch_jit @@ -291,21 +302,21 @@ as an example. It is recommended to tune based on your applications. .. parsed-literal:: - [ INFO ] First inference took 28.98 ms + [ INFO ] First inference took 28.22 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 8968 iterations - [ INFO ] Duration: 60028.76 ms + [ INFO ] Count: 9052 iterations + [ INFO ] Duration: 60042.04 ms [ INFO ] Latency: - [ INFO ] Median: 26.62 ms - [ INFO ] Average: 26.65 ms - [ INFO ] Min: 25.60 ms - [ INFO ] Max: 42.76 ms - [ INFO ] Throughput: 149.40 FPS + [ INFO ] Median: 26.38 ms + [ INFO ] Average: 26.41 ms + [ INFO ] Min: 24.29 ms + [ INFO ] Max: 41.86 ms + [ INFO ] Throughput: 150.76 FPS Benchmark quantized sparse inference performance @@ -321,7 +332,7 @@ for which a layer will be enabled. .. code:: ipython3 # Dump benchmarking config for dense inference - # "CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE" controls minimum sparsity rate for weights to consider + # "CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE" controls minimum sparsity rate for weights to consider # for sparse optimization at the runtime. with (quantized_sparse_dir / "perf_config_sparse.json").open("w") as outfile: outfile.write( @@ -370,7 +381,7 @@ for which a layer will be enabled. .. parsed-literal:: - [ INFO ] Read model took 84.42 ms + [ INFO ] Read model took 68.00 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] input_ids (node: input_ids) : i64 / [...] / [?,?] @@ -381,7 +392,11 @@ for which a layer will be enabled. [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 [ INFO ] Reshaping model: 'input_ids': [1,64], 'attention_mask': [1,64], 'token_type_ids': [1,64] - [ INFO ] Reshape model took 23.54 ms + + +.. parsed-literal:: + + [ INFO ] Reshape model took 23.17 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: [ INFO ] input_ids (node: input_ids) : i64 / [...] / [1,64] @@ -390,10 +405,6 @@ for which a layer will be enabled. [ INFO ] Model outputs: [ INFO ] logits (node: logits) : f32 / [...] / [1,2] [Step 7/11] Loading the model to the device - - -.. parsed-literal:: - [ ERROR ] Exception from src/inference/src/cpp/core.cpp:106: Exception from src/inference/src/dev/plugin.cpp:54: Exception from src/plugins/intel_cpu/src/config.cpp:208: @@ -401,9 +412,9 @@ for which a layer will be enabled. Traceback (most recent call last): - File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 408, in main + File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/tools/benchmark/main.py", line 408, in main compiled_model = benchmark.core.compile_model(model, benchmark.device, device_config) - File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/runtime/ie_api.py", line 515, in compile_model + File "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/openvino/runtime/ie_api.py", line 515, in compile_model super().compile_model(model, device_name, {} if config is None else config), RuntimeError: Exception from src/inference/src/cpp/core.cpp:106: Exception from src/inference/src/dev/plugin.cpp:54: diff --git a/docs/notebooks/speculative-sampling-with-output.rst b/docs/notebooks/speculative-sampling-with-output.rst new file mode 100644 index 00000000000..14fdffc3717 --- /dev/null +++ b/docs/notebooks/speculative-sampling-with-output.rst @@ -0,0 +1,424 @@ +Text Generation via Speculative Sampling, KV Caching, and OpenVINO™ +=================================================================== + +As model sizes grow, Generative AI implementations require significant +inference resources. This not only increases the cost per generation +from a prompt, but also increases the power consumption used to serve +such requests. + +Inference optimizations for text generation are essential for reducing +costs and power consumption. When optimizing the inference process, the +amount of time and energy required to generate text can be significantly +reduced. This can lead to cost savings in terms of hardware and +software, as well as reduced power consumption. Additionally, inference +optimizations can help improve the accuracy of text generation as well +as the speed at which it can be generated. This can lead to an improved +user experience and increased efficiency in text-generation tasks. In +summary, inference optimizations for text generation are essential to +reduce costs and power consumption, while also improving the accuracy +and speed of text generation. + +Another necessary condition is that the optimizations are compatible +with each other. That is, implementing a certain optimization should not +preclude other optimizations. There are several levels of optimizations +that can provide significant speedup without “bumping into each other” +in a way that will compromise overall efficiency. + +For details on this method, please refer to the paper by Chen et al, +http://arxiv.org/abs/2302.01318. Additionally, there’s an interesting +proof of correctness of speculative sampling (showing that the original +distribution is preserved) by Leviathan et al, +http://arxiv.org/abs/2211.17192 + +Our blog article describing this implementation with OpenVino is +available at openvino.ai + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ + + - `Select inference device <#select-inference-device>`__ + +- `Create autoregressive and speculative forms of sampling with KV + Cache + support <#create-autoregressive-and-speculative-forms-of-sampling-with-kv-cache-support>`__ + + - `Setup imports <#setup-imports>`__ + - `Prepare autoregressive + sampling <#prepare-autoregressive-sampling>`__ + - `Prepare speculative sampling <#prepare-speculative-sampling>`__ + +- `Main generation function <#main-generation-function>`__ + + - `Download and Convert Model <#download-and-convert-model>`__ + +Prerequisites +------------- + + + +First, we should install the `Hugging Face +Optimum `__ library +accelerated by OpenVINO integration. The Hugging Face Optimum Intel API +is a high-level API that enables us to convert and quantize models from +the Hugging Face Transformers library to the OpenVINO™ IR format. For +more details, refer to the `Hugging Face Optimum Intel +documentation `__. + +We will also need to install transformers (HuggingFace) and some other +useful modules. + +.. code:: ipython3 + + %pip install -q --upgrade pip + %pip uninstall -q -y openvino-dev openvino openvino-nightly + %pip install -q --upgrade transformers "torch>=2.1" "gradio>=4.19" openvino-nightly accelerate onnx ipywidgets "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "git+https://github.com/huggingface/optimum-intel.git" + +Select inference device +~~~~~~~~~~~~~~~~~~~~~~~ + + + +Select the device from dropdown list for running inference using +OpenVINO. + +.. code:: ipython3 + + import ipywidgets as widgets + import openvino as ov + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="CPU", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', options=('CPU', 'GPU.0', 'GPU.1', 'AUTO'), value='CPU') + + + +Create autoregressive and speculative forms of sampling with KV Cache support +----------------------------------------------------------------------------- + + + +Text generation is often done in an autoregressive fashion. We will all +support a KV cache (aka Past Value Cache) in the code. Note that we are +using greedy sampling. We do not adjust other text generation parameters +(e.g. temperature) so keep this illustration of speculative sampling as +simple and understandable as possible. + +Setup imports +~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + import time + import numpy as np + import gradio as gr + +Prepare autoregressive sampling +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + def autoregressive_sampling_with_pkv(input, model, N=30): + input_ids, attention_mask = input.input_ids, input.attention_mask + seq_len = input_ids.shape[-1] + position_ids = np.arange(0, seq_len, dtype=np.int64).reshape([-1, seq_len]) + + # in all subsequent inferences we feed tokens one by one, + # but for the first one we feed the whole encoded prompt + request = model.create_infer_request() + request.infer((input_ids, attention_mask, position_ids, np.array([0]))) + next_token = np.argmax(request.results["logits"][:, -1]).reshape([1]) + + all_tokens = [] + all_tokens.extend(input_ids[0]) + all_tokens.append(next_token[0]) + + while seq_len < N: + input_ids = next_token.reshape([1, 1]) + attention_mask = np.concatenate((attention_mask, np.array([1]).reshape([1, 1])), axis=1) + position_ids = np.array([attention_mask.shape[1]]).reshape([1, 1]) + + request.infer((input_ids, attention_mask, position_ids, np.array([0]))) + next_token = np.argmax(request.results["logits"][:, -1]) + all_tokens.append(next_token) + seq_len += 1 + + return all_tokens + +Prepare speculative sampling +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +- Step 1: With speculative sampling, we first generate K samples from + the draft model (in an autoregressive manner). +- Step 2: These are now candidates to examine using the main model + (step 2) using a batch size of K. +- Step 3: We go through each K predicted tokens, and if tokens differ, + we stop and keep the last token predicted by the main model. +- Step 4: We update KV-cache dropping keys & values for differing + tokens and repeat Step 1. + +.. code:: ipython3 + + def update_state(request, seq_len): + for state in request.query_state(): + old_seq_len = state.state.shape[2] + if seq_len >= old_seq_len: + continue + # After the inference request, key/values have shape [BATCH_SIZE, seq_len + K, vocab_size]. + # Increment the sequence length by the number of matched tokens, and + # trim the KV cache to match the new sequence length. + state.state = ov.Tensor(state.state.data[:, :, :seq_len]) + + + def speculative_sampling_with_pkv(input, draft_model, main_model, K, N=30, **kwargs): + input_ids, attention_mask = input.input_ids, input.attention_mask + # seq_len number of key/values or number of already processed input tokens + seq_len = input_ids.shape[-1] + position_ids = np.arange(0, seq_len, dtype=np.int64).reshape([-1, seq_len]) + + draft_request = draft_model.create_infer_request() + draft_request.infer((input_ids, attention_mask, position_ids, np.array([0]))) + + main_request = main_model.create_infer_request() + main_request.infer((input_ids, attention_mask, position_ids, np.array([0]))) + first_token = np.argmax(main_request.results["logits"][:, -1]).reshape([1]) + + all_tokens = [] + all_tokens.extend(input_ids[0]) + all_tokens.append(first_token[0]) + + accum_draft_tokens = [] + while seq_len < N: + next_token = first_token + for i in range(K): + input_ids = next_token.reshape([1, 1]) + attention_mask = np.concatenate((attention_mask, np.array([1]).reshape([1, 1])), axis=1) + position_ids = np.array([attention_mask.shape[1]]).reshape([1, 1]) + + draft_request.infer((input_ids, attention_mask, position_ids, np.array([0]))) + next_token = np.argmax(draft_request.results["logits"][:, -1]) + accum_draft_tokens.append(next_token) + + # main model will give also K out tokens + # feed the same first token to the main model and do not give the last token generated by the draft + input_ids = np.concatenate((first_token.reshape([1]), accum_draft_tokens[:-1])).reshape([1, -1]) + attention_mask = np.ones((1, seq_len + K)) + position_ids = np.arange(seq_len, seq_len + K, dtype=np.int64).reshape([1, -1]) + + main_request.infer((input_ids, attention_mask, position_ids, np.array([0]))) + next_tokens = np.argmax(main_request.results["logits"], axis=-1)[0] + + # if disagrees from the very beggining then context will be expanded only for one element + # all elements match then context will be expanded to K elements + for disagree_idx, (t1, t2) in enumerate(zip(accum_draft_tokens, next_tokens)): + if t1 != t2: + break + + first_token = next_tokens[disagree_idx] + all_tokens.extend(next_tokens[: disagree_idx + 1]) + seq_len += disagree_idx + 1 + + # cut key/values depending on the position where disagreement starts + update_state(draft_request, seq_len) + update_state(main_request, seq_len) + + attention_mask = np.ones((1, seq_len)) + accum_draft_tokens = [] + all_tokens.extend(accum_draft_tokens) + return all_tokens + +Main generation function +------------------------ + + + +Download and Convert Model +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Optimum Intel can be used to load optimized models from the `Hugging +Face Hub `__ and +create pipelines to run an inference with OpenVINO Runtime using Hugging +Face APIs. For speculative decoding we need to manually update states, +therefore we will use directly openvino inference api, and optimum only +for model conversion. >To download Llama-2-7b-chat-hf, you will need to +accept license agreement. You must be a registered user in Hugging +Face Hub. Please visit HuggingFace model +`card `__, +carefully read terms of usage and click accept button. You will need to +use an access token for the code below to run. For more information on +access tokens, refer to this section of the documentation. + +.. code:: ipython3 + + from pathlib import Path + + main_model_id = "meta-llama/Llama-2-7b-chat-hf" + main_model_path = Path("Llama-2-7b-chat-hf") + draft_model_id = "TinyLlama/TinyLlama-1.1B-Chat-v1.0" + draft_model_path = Path("TinyLlama-1.1B-Chat-v1.0") + + from transformers import AutoTokenizer + + main_tokenizer = AutoTokenizer.from_pretrained(main_model_id) + draft_tokenizer = AutoTokenizer.from_pretrained(draft_model_id) + +.. code:: ipython3 + + # In order for speculative sampling to work, both main and draft tokenizers should be the same. + token_test_txt = "text to ensure tokenizers work the same, as of 2024" + tokens_1 = draft_tokenizer(token_test_txt, return_tensors="pt").input_ids + tokens_2 = main_tokenizer(token_test_txt, return_tensors="pt").input_ids + + assert all((tokens_1 - tokens_2)[0] == 0) + +.. code:: ipython3 + + if not main_model_path.exists(): + !optimum-cli export openvino --model $main_model_id --weight-format fp16 $main_model_path + if not draft_model_path.exists(): + !optimum-cli export openvino --model $draft_model_id --weight-format fp16 $draft_model_path + +Infer directly using OpenVINO Inference Pipeline + +.. code:: ipython3 + + core = ov.Core() + draft_ov_model = core.read_model(draft_model_path / "openvino_model.xml") + draft_model = core.compile_model(draft_ov_model, device_name="CPU") + + main_ov_model = core.read_model(main_model_path / "openvino_model.xml") + main_model = core.compile_model(main_ov_model, device_name="CPU") + +.. code:: ipython3 + + def main( + prompt: str, + n_tokens_to_generate: int = 75, + K: int = 5, + seed: int = 5555, + ): + # seed numpy rng + np.random.seed(seed) + tokenized = main_tokenizer(prompt, return_tensors="pt") + + def run_autoregressive_sampling_fn(decode_fn, tokenized, **kwargs): + start = time.perf_counter() + output_ids = decode_fn(tokenized, **kwargs) + text = main_tokenizer.decode(output_ids, skip_special_tokens=True) + elapsed_time = time.perf_counter() - start + return text, elapsed_time + + def run_speculative_sampling_fn(decode_fn, input_ids, **kwargs): + start = time.perf_counter() + output_ids = decode_fn(input_ids, **kwargs) + text = main_tokenizer.decode(output_ids, skip_special_tokens=True) + elapsed_time = time.perf_counter() - start + return text, elapsed_time + + autoregressive_text, autoregressive_time = run_autoregressive_sampling_fn( + autoregressive_sampling_with_pkv, + tokenized, + model=main_model, + N=n_tokens_to_generate, + ) + + speculative_text, speculative_time = run_speculative_sampling_fn( + speculative_sampling_with_pkv, + tokenized, + main_model=main_model, + draft_model=draft_model, + N=n_tokens_to_generate, + K=K, + ) + + # Format results for output in gradio + out = "\n" + "Autoregressive Decode" + "\n" + "---------------------" + "\n" + out = out + f"Time = {autoregressive_time:.2f}s" + "\n" + f"Text = {autoregressive_text}" + "\n" + out = out + "\n" + "Speculative Decode" + "\n" + "------------------" + "\n" + out = out + f"Time = {speculative_time:.2f}s" + "\n" + f"Text = {speculative_text}" + return out + +.. code:: ipython3 + + res = main("Alan Turing was a", n_tokens_to_generate=100) + print(res) + + +.. parsed-literal:: + + 2024-04-17 10:21:41.642283: I tensorflow/core/util/port.cc:111] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-17 10:21:41.644834: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-04-17 10:21:41.677055: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered + 2024-04-17 10:21:41.677093: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered + 2024-04-17 10:21:41.677119: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered + 2024-04-17 10:21:41.683198: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. + 2024-04-17 10:21:41.683977: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. + 2024-04-17 10:21:42.477656: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +.. parsed-literal:: + + + Autoregressive Decode + --------------------- + Time = 44.39s + Text = Alan Turing was a British mathematician, computer scientist, and codebreaker who played a pivotal role in cracking the German Enigma code during World War II. He was also a pioneer in the field of artificial intelligence and made significant contributions to the development of computer science. + + Turing was born on June 23, 1912, in London, England. He was educated at Cambridge University, where he earned a degree in mathematics in + + Speculative Decode + ------------------ + Time = 22.96s + Text = Alan Turing was a British mathematician, computer scientist, and codebreaker who played a pivotal role in cracking the German Enigma code during World War II. He was also a pioneer in the field of artificial intelligence and made significant contributions to the development of computer science. + + Turing was born on June 23, 1912, in London, England. He was educated at Cambridge University, where he earned a degree in mathematics in 1 + + +.. code:: ipython3 + + with gr.Blocks() as demo: + gr.Markdown( + f""" + # Speculative Sampling Demo + ## The output will show a comparison of Autoregressive Sampling vs Speculative Sampling + - Main Model: {main_model_id} + - Draft Model: {draft_model_id} + - K = 5 + """ + ) + with gr.Row(): + inp = gr.Textbox( + "Alan Turing was a", + placeholder="THIS CANNOT BE EMPTY", + label="Input Prompt", + ) + out = gr.Textbox(label="Output") + btn = gr.Button("Run") + btn.click(fn=main, inputs=inp, outputs=out) + + demo.launch() diff --git a/docs/notebooks/107-speech-recognition-quantization-data2vec-with-output.rst b/docs/notebooks/speech-recognition-quantization-data2vec-with-output.rst similarity index 99% rename from docs/notebooks/107-speech-recognition-quantization-data2vec-with-output.rst rename to docs/notebooks/speech-recognition-quantization-data2vec-with-output.rst index 38d945e74af..80358d9f51b 100644 --- a/docs/notebooks/107-speech-recognition-quantization-data2vec-with-output.rst +++ b/docs/notebooks/speech-recognition-quantization-data2vec-with-output.rst @@ -98,6 +98,7 @@ Convert model to OpenVINO Intermediate Representation .. code:: ipython3 from pathlib import Path + # Set model directory MODEL_DIR = Path("model") MODEL_DIR.mkdir(exist_ok=True) @@ -122,7 +123,6 @@ Convert model to OpenVINO Intermediate Representation print("Read IR model from {}".format(ir_model_path)) ov_model = core.read_model(ir_model_path) - Prepare inference data ~~~~~~~~~~~~~~~~~~~~~~ @@ -143,9 +143,14 @@ dataset. # define preprocessing function for converting audio to input values for model def map_to_input(batch): - preprocessed_signal = processor(batch["audio"]["array"], return_tensors="pt", padding="longest", sampling_rate=batch['audio']['sampling_rate']) + preprocessed_signal = processor( + batch["audio"]["array"], + return_tensors="pt", + padding="longest", + sampling_rate=batch["audio"]["sampling_rate"], + ) input_values = preprocessed_signal.input_values - batch['input_values'] = input_values + batch["input_values"] = input_values return batch @@ -176,7 +181,7 @@ For reference, see the same function provided for OpenVINO model. # inference function for pytorch def torch_infer(model, sample): - logits = model(torch.Tensor(sample['input_values'])).logits + logits = model(torch.Tensor(sample["input_values"])).logits # take argmax and decode predicted_ids = torch.argmax(logits, dim=-1) transcription = processor.batch_decode(predicted_ids) @@ -186,7 +191,7 @@ For reference, see the same function provided for OpenVINO model. # inference function for openvino def ov_infer(model, sample): output = model.output(0) - logits = model(np.array(sample['input_values']))[output] + logits = model(np.array(sample["input_values"]))[output] predicted_ids = np.argmax(logits, axis=-1) transcription = processor.batch_decode(torch.from_numpy(predicted_ids)) return transcription @@ -200,8 +205,8 @@ Select inference device for OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -281,7 +286,7 @@ library. # run infer function on sample transcription = infer_fn(model, sample) # update metric on sample result - wer.update(transcription, [sample['text']]) + wer.update(transcription, [sample["text"]]) # finalize metric calculation result = wer.compute() return result @@ -306,8 +311,8 @@ library. .. code:: ipython3 - print(f'[PyTorch] Word Error Rate: {pt_result:.4f}') - print(f'[OpenVino] Word Error Rate: {ov_result:.4f}') + print(f"[PyTorch] Word Error Rate: {pt_result:.4f}") + print(f"[OpenVino] Word Error Rate: {ov_result:.4f}") .. parsed-literal:: @@ -477,7 +482,7 @@ saved using ``ov.save_model`` function. .. code:: ipython3 - MODEL_NAME = 'quantized_data2vec_base' + MODEL_NAME = "quantized_data2vec_base" quantized_model_path = Path(f"{MODEL_NAME}_openvino_model/{MODEL_NAME}_quantized.xml") ov.save_model(quantized_model, quantized_model_path) @@ -529,7 +534,7 @@ using ``core.compile_model``. After that, we can reuse the same Compare Performance of the Original and Quantized Models -------------------------------------------------------- -`Benchmark + `Benchmark Tool `__ is used to measure the inference performance of the ``FP16`` and ``INT8`` models. @@ -720,8 +725,8 @@ compare it with the ``FP16`` result. .. code:: ipython3 int8_ov_result = compute_wer(dataset, int8_compiled_model, ov_infer) - print(f'[OpenVino FP16] Word Error Rate: {ov_result:.4}') - print(f'[OpenVino INT8] Word Error Rate: {int8_ov_result:.4f}') + print(f"[OpenVino FP16] Word Error Rate: {ov_result:.4}") + print(f"[OpenVino INT8] Word Error Rate: {int8_ov_result:.4f}") diff --git a/docs/notebooks/107-speech-recognition-quantization-wav2vec2-with-output.rst b/docs/notebooks/speech-recognition-quantization-wav2vec2-with-output.rst similarity index 97% rename from docs/notebooks/107-speech-recognition-quantization-wav2vec2-with-output.rst rename to docs/notebooks/speech-recognition-quantization-wav2vec2-with-output.rst index eff951b8ea5..414f26f6f15 100644 --- a/docs/notebooks/107-speech-recognition-quantization-wav2vec2-with-output.rst +++ b/docs/notebooks/speech-recognition-quantization-wav2vec2-with-output.rst @@ -42,6 +42,11 @@ Table of contents: %pip install -q soundfile librosa "transformers>=4.36.2" --extra-index-url https://download.pytorch.org/whl/cpu +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -50,95 +55,91 @@ Table of contents: .. parsed-literal:: Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cpu - Requirement already satisfied: datasets in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2.18.0) + Requirement already satisfied: datasets in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2.18.0) + Requirement already satisfied: torchmetrics>=0.11.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (1.3.2) + Requirement already satisfied: torch>=2.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2.2.2+cpu) .. parsed-literal:: - Collecting torchmetrics>=0.11.0 - Using cached torchmetrics-1.3.1-py3-none-any.whl.metadata (19 kB) - Requirement already satisfied: torch>=2.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (2.1.0+cpu) + Requirement already satisfied: filelock in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (3.13.4) + Requirement already satisfied: numpy>=1.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (1.23.5) + Requirement already satisfied: pyarrow>=12.0.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (15.0.2) + Requirement already satisfied: pyarrow-hotfix in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.6) + Requirement already satisfied: dill<0.3.9,>=0.3.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.3.8) + Requirement already satisfied: pandas in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (2.0.3) + Requirement already satisfied: requests>=2.19.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (2.31.0) + Requirement already satisfied: tqdm>=4.62.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (4.66.2) + Requirement already satisfied: xxhash in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (3.4.1) + Requirement already satisfied: multiprocess in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.70.16) + Requirement already satisfied: fsspec<=2024.2.0,>=2023.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from fsspec[http]<=2024.2.0,>=2023.1.0->datasets) (2024.2.0) + Requirement already satisfied: aiohttp in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (3.9.5) + Requirement already satisfied: huggingface-hub>=0.19.4 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.22.2) + Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (24.0) + Requirement already satisfied: pyyaml>=5.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (6.0.1) .. parsed-literal:: - Requirement already satisfied: filelock in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (3.13.1) - Requirement already satisfied: numpy>=1.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (1.23.5) - Requirement already satisfied: pyarrow>=12.0.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (15.0.1) - Requirement already satisfied: pyarrow-hotfix in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.6) - Requirement already satisfied: dill<0.3.9,>=0.3.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.3.8) - Requirement already satisfied: pandas in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (2.0.3) - Requirement already satisfied: requests>=2.19.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (2.31.0) - Requirement already satisfied: tqdm>=4.62.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (4.66.2) - Requirement already satisfied: xxhash in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (3.4.1) - Requirement already satisfied: multiprocess in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.70.16) - Requirement already satisfied: fsspec<=2024.2.0,>=2023.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from fsspec[http]<=2024.2.0,>=2023.1.0->datasets) (2024.2.0) - Requirement already satisfied: aiohttp in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (3.9.3) - Requirement already satisfied: huggingface-hub>=0.19.4 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (0.21.4) - Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (24.0) - Requirement already satisfied: pyyaml>=5.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from datasets) (6.0.1) + Requirement already satisfied: lightning-utilities>=0.8.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torchmetrics>=0.11.0) (0.11.2) + Requirement already satisfied: typing-extensions in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torchmetrics>=0.11.0) (4.11.0) + Requirement already satisfied: sympy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1.0) (1.12) + Requirement already satisfied: networkx in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1.0) (3.1) + Requirement already satisfied: jinja2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1.0) (3.1.3) .. parsed-literal:: - Collecting lightning-utilities>=0.8.0 (from torchmetrics>=0.11.0) - Using cached lightning_utilities-0.10.1-py3-none-any.whl.metadata (4.8 kB) - Requirement already satisfied: typing-extensions in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torchmetrics>=0.11.0) (4.10.0) - Requirement already satisfied: sympy in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1.0) (1.12) - Requirement already satisfied: networkx in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1.0) (3.1) - Requirement already satisfied: jinja2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from torch>=2.1.0) (3.1.3) + Requirement already satisfied: aiosignal>=1.1.2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (1.3.1) + Requirement already satisfied: attrs>=17.3.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (23.2.0) + Requirement already satisfied: frozenlist>=1.1.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (1.4.1) + Requirement already satisfied: multidict<7.0,>=4.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (6.0.5) + Requirement already satisfied: yarl<2.0,>=1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (1.9.4) + Requirement already satisfied: async-timeout<5.0,>=4.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (4.0.3) .. parsed-literal:: - Requirement already satisfied: aiosignal>=1.1.2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (1.3.1) - Requirement already satisfied: attrs>=17.3.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (23.2.0) - Requirement already satisfied: frozenlist>=1.1.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (1.4.1) - Requirement already satisfied: multidict<7.0,>=4.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (6.0.5) - Requirement already satisfied: yarl<2.0,>=1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (1.9.4) - Requirement already satisfied: async-timeout<5.0,>=4.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from aiohttp->datasets) (4.0.3) + Requirement already satisfied: setuptools in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from lightning-utilities>=0.8.0->torchmetrics>=0.11.0) (69.5.1) + Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (3.3.2) + Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (3.7) + Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (2.2.1) + Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (2024.2.2) .. parsed-literal:: - Requirement already satisfied: setuptools in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from lightning-utilities>=0.8.0->torchmetrics>=0.11.0) (69.1.1) - Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (3.3.2) - Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (3.6) - Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (2.2.1) - Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.19.0->datasets) (2024.2.2) - Requirement already satisfied: MarkupSafe>=2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jinja2->torch>=2.1.0) (2.1.5) + Requirement already satisfied: MarkupSafe>=2.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from jinja2->torch>=2.1.0) (2.1.5) .. parsed-literal:: - Requirement already satisfied: python-dateutil>=2.8.2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pandas->datasets) (2.9.0.post0) - Requirement already satisfied: pytz>=2020.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pandas->datasets) (2024.1) - Requirement already satisfied: tzdata>=2022.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pandas->datasets) (2024.1) - Requirement already satisfied: mpmath>=0.19 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from sympy->torch>=2.1.0) (1.3.0) - Requirement already satisfied: six>=1.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.16.0) + Requirement already satisfied: python-dateutil>=2.8.2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pandas->datasets) (2.9.0.post0) + Requirement already satisfied: pytz>=2020.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pandas->datasets) (2024.1) + Requirement already satisfied: tzdata>=2022.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from pandas->datasets) (2024.1) + Requirement already satisfied: mpmath>=0.19 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from sympy->torch>=2.1.0) (1.3.0) .. parsed-literal:: - Using cached torchmetrics-1.3.1-py3-none-any.whl (840 kB) - Using cached lightning_utilities-0.10.1-py3-none-any.whl (24 kB) + Requirement already satisfied: six>=1.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.16.0) .. parsed-literal:: - Installing collected packages: lightning-utilities, torchmetrics - - -.. parsed-literal:: - - Successfully installed lightning-utilities-0.10.1 torchmetrics-1.3.1 - + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -212,15 +213,15 @@ IR). .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/wav2vec2/modeling_wav2vec2.py:594: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/wav2vec2/modeling_wav2vec2.py:594: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/wav2vec2/modeling_wav2vec2.py:633: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/wav2vec2/modeling_wav2vec2.py:633: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if attn_output.size() != (bsz * self.num_heads, tgt_len, self.head_dim): @@ -246,9 +247,14 @@ dataset. # define preprocessing function for converting audio to input values for model def map_to_input(batch): - preprocessed_signal = processor(batch["audio"]["array"], return_tensors="pt", padding="longest", sampling_rate=batch['audio']['sampling_rate']) + preprocessed_signal = processor( + batch["audio"]["array"], + return_tensors="pt", + padding="longest", + sampling_rate=batch["audio"]["sampling_rate"], + ) input_values = preprocessed_signal.input_values - batch['input_values'] = input_values + batch["input_values"] = input_values return batch @@ -258,7 +264,7 @@ dataset. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/datasets/load.py:1461: FutureWarning: The repository for patrickvonplaten/librispeech_asr_dummy contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hf.co/datasets/patrickvonplaten/librispeech_asr_dummy + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/datasets/load.py:1461: FutureWarning: The repository for patrickvonplaten/librispeech_asr_dummy contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hf.co/datasets/patrickvonplaten/librispeech_asr_dummy You can avoid this message in future by passing the argument `trust_remote_code=True`. Passing `trust_remote_code=True` will be mandatory to load this dataset from the next major release of `datasets`. warnings.warn( @@ -291,7 +297,7 @@ steps: For this model, ignored scope was selected experimentally, based on result of quantization with accuracy control. For understanding how it works please check following - `notebook <122-quantizing-model-with-accuracy-control-with-output.html>`__ + `notebook `__ 3. Serialize OpenVINO IR model using ``ov.save_model`` function. .. code:: ipython3 @@ -299,6 +305,7 @@ steps: import nncf from nncf.parameters import ModelType + def transform_fn(data_item): """ Extract the model's input from the data item. @@ -332,14 +339,14 @@ steps: .. parsed-literal:: - 2024-03-12 22:26:40.835104: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:26:40.866034: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:53:31.426814: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:53:31.462819: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 22:26:41.461559: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:53:32.048658: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT @@ -463,7 +470,7 @@ steps: .. code:: ipython3 - MODEL_NAME = 'quantized_wav2vec2_base' + MODEL_NAME = "quantized_wav2vec2_base" quantized_model_path = Path(f"{MODEL_NAME}_openvino_model/{MODEL_NAME}_quantized.xml") ov.save_model(quantized_model, quantized_model_path) @@ -506,8 +513,8 @@ first. Please select one from available devices from dropdown list: core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -565,9 +572,10 @@ library. from torchmetrics import WordErrorRate from tqdm.notebook import tqdm + # inference function for pytorch def torch_infer(model, sample): - logits = model(torch.Tensor(sample['input_values'])).logits + logits = model(torch.Tensor(sample["input_values"])).logits # take argmax and decode predicted_ids = torch.argmax(logits, dim=-1) transcription = processor.batch_decode(predicted_ids) @@ -576,7 +584,7 @@ library. # inference function for openvino def ov_infer(model, sample): - logits = model(np.array(sample['input_values']))[0] + logits = model(np.array(sample["input_values"]))[0] predicted_ids = np.argmax(logits, axis=-1) transcription = processor.batch_decode(torch.from_numpy(predicted_ids)) return transcription @@ -588,7 +596,7 @@ library. # run infer function on sample transcription = infer_fn(model, sample) # update metric on sample result - wer.update(transcription, [sample['text']]) + wer.update(transcription, [sample["text"]]) # finalize metric calculation result = wer.compute() return result @@ -609,14 +617,14 @@ quantized model. pt_result = compute_wer(dataset, torch_model, torch_infer) ov_result = compute_wer(dataset, compiled_fp32_ov_model, ov_infer) int8_ov_result = compute_wer(dataset, compiled_model, ov_infer) - print(f'[PyTorch] Word Error Rate: {pt_result:.4f}') - print(f'[OpenVino FP16] Word Error Rate: {ov_result:.4}') - print(f'[OpenVino INT8] Word Error Rate: {int8_ov_result:.4f}') + print(f"[PyTorch] Word Error Rate: {pt_result:.4f}") + print(f"[OpenVino FP16] Word Error Rate: {ov_result:.4}") + print(f"[OpenVino INT8] Word Error Rate: {int8_ov_result:.4f}") .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torchmetrics/utilities/prints.py:62: FutureWarning: Importing `WordErrorRate` from `torchmetrics` was deprecated and will be removed in 2.0. Import `WordErrorRate` from `torchmetrics.text` instead. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torchmetrics/utilities/prints.py:62: FutureWarning: Importing `WordErrorRate` from `torchmetrics` was deprecated and will be removed in 2.0. Import `WordErrorRate` from `torchmetrics.text` instead. _future_warning( @@ -686,11 +694,7 @@ models. [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - - -.. parsed-literal:: - - [ INFO ] Read model took 27.55 ms + [ INFO ] Read model took 27.44 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] input_values (node: input_values) : f32 / [...] / [?,?] @@ -699,7 +703,11 @@ models. [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 [ INFO ] Reshaping model: 'input_values': [1,30480] - [ INFO ] Reshape model took 29.21 ms + + +.. parsed-literal:: + + [ INFO ] Reshape model took 30.09 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: [ INFO ] input_values (node: input_values) : f32 / [...] / [1,30480] @@ -710,7 +718,7 @@ models. .. parsed-literal:: - [ INFO ] Compile model took 531.22 ms + [ INFO ] Compile model took 524.97 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model0 @@ -749,21 +757,21 @@ models. .. parsed-literal:: - [ INFO ] First inference took 61.24 ms + [ INFO ] First inference took 57.09 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 5484 iterations - [ INFO ] Duration: 120219.99 ms + [ INFO ] Count: 5502 iterations + [ INFO ] Duration: 120210.49 ms [ INFO ] Latency: - [ INFO ] Median: 131.07 ms - [ INFO ] Average: 131.36 ms - [ INFO ] Min: 107.53 ms - [ INFO ] Max: 328.44 ms - [ INFO ] Throughput: 45.62 FPS + [ INFO ] Median: 130.91 ms + [ INFO ] Average: 130.93 ms + [ INFO ] Min: 69.78 ms + [ INFO ] Max: 154.76 ms + [ INFO ] Throughput: 45.77 FPS .. code:: ipython3 @@ -776,10 +784,6 @@ models. [Step 1/11] Parsing and validating input arguments [ INFO ] Parsing input parameters - - -.. parsed-literal:: - [Step 2/11] Loading OpenVINO Runtime [ WARNING ] Default duration 120 seconds is used for unknown device AUTO [ INFO ] OpenVINO: @@ -794,7 +798,11 @@ models. [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 40.21 ms + + +.. parsed-literal:: + + [ INFO ] Read model took 41.61 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] input_values (node: input_values) : f32 / [...] / [?,?] @@ -807,7 +815,7 @@ models. .. parsed-literal:: - [ INFO ] Reshape model took 35.76 ms + [ INFO ] Reshape model took 35.71 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: [ INFO ] input_values (node: input_values) : f32 / [...] / [1,30480] @@ -818,7 +826,7 @@ models. .. parsed-literal:: - [ INFO ] Compile model took 1294.11 ms + [ INFO ] Compile model took 1265.41 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: @@ -861,19 +869,19 @@ models. .. parsed-literal:: - [ INFO ] First inference took 58.50 ms + [ INFO ] First inference took 55.32 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 8268 iterations - [ INFO ] Duration: 120137.02 ms + [ INFO ] Count: 8274 iterations + [ INFO ] Duration: 120148.65 ms [ INFO ] Latency: - [ INFO ] Median: 87.16 ms - [ INFO ] Average: 87.05 ms - [ INFO ] Min: 73.56 ms - [ INFO ] Max: 112.73 ms - [ INFO ] Throughput: 68.82 FPS + [ INFO ] Median: 86.99 ms + [ INFO ] Average: 86.98 ms + [ INFO ] Min: 44.88 ms + [ INFO ] Max: 112.37 ms + [ INFO ] Throughput: 68.86 FPS diff --git a/docs/notebooks/211-speech-to-text-with-output.rst b/docs/notebooks/speech-to-text-with-output.rst similarity index 96% rename from docs/notebooks/211-speech-to-text-with-output.rst rename to docs/notebooks/speech-to-text-with-output.rst index 90af565b2b1..ee560da3736 100644 --- a/docs/notebooks/211-speech-to-text-with-output.rst +++ b/docs/notebooks/speech-to-text-with-output.rst @@ -48,7 +48,7 @@ Imports .. code:: ipython3 - %pip install -q "librosa>=0.8.1" "matplotlib<3.8" "openvino-dev>=2024.0.0" "numpy<1.24" "ruamel.yaml" + %pip install -q "librosa>=0.8.1" "scipy" "matplotlib<3.8" "openvino-dev>=2024.0.0" "numpy<1.24" "ruamel.yaml" "torch" "tqdm" .. code:: ipython3 @@ -64,12 +64,15 @@ Imports import numpy as np import scipy import openvino as ov + # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file Settings @@ -91,7 +94,7 @@ In this part, all variables used in the notebook are set. Download and Convert Public Model --------------------------------- -If it is your first run, models + If it is your first run, models will be downloaded and converted here. It my take a few minutes. Use ``omz_downloader`` and ``omz_converter``, which are command-line tools from the ``openvino-dev`` package. @@ -110,8 +113,8 @@ Representation (OpenVINO IR). .. code:: ipython3 # Check if a model is already downloaded (to the download directory). - path_to_model_weights = Path(f'{download_folder}/public/{model_name}/models') - downloaded_model_file = list(path_to_model_weights.glob('*.pth')) + path_to_model_weights = Path(f"{download_folder}/public/{model_name}/models") + downloaded_model_file = list(path_to_model_weights.glob("*.pth")) if not path_to_model_weights.is_dir() or len(downloaded_model_file) == 0: download_command = f"omz_downloader --name {model_name} --output_dir {download_folder} --precision {precision}" @@ -121,10 +124,10 @@ Representation (OpenVINO IR). .. code:: ipython3 - def convert_model(model_path:Path, converted_model_path:Path): + def convert_model(model_path: Path, converted_model_path: Path): """ helper function for converting QuartzNet model to IR - The function accepts path to directory with dowloaded packages, weights and configs using OMZ downloader, + The function accepts path to directory with dowloaded packages, weights and configs using OMZ downloader, initialize model and convert to OpenVINO model and serialize it to IR. Params: model_path: path to model modules, weights and configs downloaded via omz_downloader @@ -134,51 +137,58 @@ Representation (OpenVINO IR). """ # add model path to PYTHONPATH for access to downloaded modules sys.path.append(str(model_path)) - + # import necessary classes from ruamel.yaml import YAML from nemo.collections.asr import JasperEncoder, JasperDecoderForCTC from nemo.core import NeuralModuleFactory, DeviceType - YAML = YAML(typ='safe') + YAML = YAML(typ="safe") # utility fornction fr replacing 1d convolutions to 2d for better efficiency def convert_to_2d(model): for name, l in model.named_children(): layer_type = l.__class__.__name__ - if layer_type == 'Conv1d': - new_layer = nn.Conv2d(l.in_channels, l.out_channels, - (1, l.kernel_size[0]), (1, l.stride[0]), - (0, l.padding[0]), (1, l.dilation[0]), - l.groups, False if l.bias is None else True, l.padding_mode) + if layer_type == "Conv1d": + new_layer = nn.Conv2d( + l.in_channels, + l.out_channels, + (1, l.kernel_size[0]), + (1, l.stride[0]), + (0, l.padding[0]), + (1, l.dilation[0]), + l.groups, + False if l.bias is None else True, + l.padding_mode, + ) params = l.state_dict() - params['weight'] = params['weight'].unsqueeze(2) + params["weight"] = params["weight"].unsqueeze(2) new_layer.load_state_dict(params) setattr(model, name, new_layer) - elif layer_type == 'BatchNorm1d': + elif layer_type == "BatchNorm1d": new_layer = nn.BatchNorm2d(l.num_features, l.eps) new_layer.load_state_dict(l.state_dict()) new_layer.eval() setattr(model, name, new_layer) else: convert_to_2d(l) - + # model class class QuartzNet(torch.nn.Module): def __init__(self, model_config, encoder_weights, decoder_weights): super().__init__() - with open(model_config, 'r') as config: + with open(model_config, "r") as config: model_args = YAML.load(config) _ = NeuralModuleFactory(placement=DeviceType.CPU) - encoder_params = model_args['init_params']['encoder_params']['init_params'] + encoder_params = model_args["init_params"]["encoder_params"]["init_params"] self.encoder = JasperEncoder(**encoder_params) - self.encoder.load_state_dict(torch.load(encoder_weights, map_location='cpu')) + self.encoder.load_state_dict(torch.load(encoder_weights, map_location="cpu")) - decoder_params = model_args['init_params']['decoder_params']['init_params'] + decoder_params = model_args["init_params"]["decoder_params"]["init_params"] self.decoder = JasperDecoderForCTC(**decoder_params) - self.decoder.load_state_dict(torch.load(decoder_weights, map_location='cpu')) + self.decoder.load_state_dict(torch.load(decoder_weights, map_location="cpu")) self.encoder._prepare_for_deployment() self.decoder._prepare_for_deployment() @@ -192,7 +202,7 @@ Representation (OpenVINO IR). shape = i_log_probs.shape return i_log_probs.reshape(shape[0], shape[1], shape[3]) - + # path to configs and weights for creating model instane model_config = model_path / ".nemo_tmp/module.yaml" encoder_weights = model_path / ".nemo_tmp/JasperEncoder.pt" @@ -209,8 +219,8 @@ Representation (OpenVINO IR). .. code:: ipython3 # Check if a model is already converted (in the model directory). - path_to_converted_weights = Path(f'{model_folder}/public/{model_name}/{precision}/{model_name}.bin') - path_to_converted_model = Path(f'{model_folder}/public/{model_name}/{precision}/{model_name}.xml') + path_to_converted_weights = Path(f"{model_folder}/public/{model_name}/{precision}/{model_name}.bin") + path_to_converted_model = Path(f"{model_folder}/public/{model_name}/{precision}/{model_name}.xml") if not path_to_converted_weights.is_file(): downloaded_model_path = Path("output/public/quartznet-15x5-en/models") @@ -278,10 +288,10 @@ with a ``sampling rate`` of 16 kHz. .. code:: ipython3 - # Download the audio from the openvino_notebooks storage + # Download the audio from the openvino_notebooks storage file_name = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/audio/" + audio_file_name, - directory=data_folder + directory=data_folder, ) audio, sampling_rate = librosa.load(path=str(file_name), sr=16000) @@ -317,16 +327,16 @@ spectrogram. .. code:: ipython3 plt.figure() - librosa.display.waveshow(y=audio, sr=sampling_rate, max_points=50000, x_axis='time', offset=0.0); + librosa.display.waveshow(y=audio, sr=sampling_rate, max_points=50000, x_axis="time", offset=0.0) plt.show() specto_audio = librosa.stft(audio) specto_audio = librosa.amplitude_to_db(np.abs(specto_audio), ref=np.max) print(specto_audio.shape) - librosa.display.specshow(specto_audio, sr=sampling_rate, x_axis='time', y_axis='hz'); + librosa.display.specshow(specto_audio, sr=sampling_rate, x_axis="time", y_axis="hz"); -.. image:: 211-speech-to-text-with-output_files/211-speech-to-text-with-output_20_0.png +.. image:: speech-to-text-with-output_files/speech-to-text-with-output_20_0.png .. parsed-literal:: @@ -335,7 +345,7 @@ spectrogram. -.. image:: 211-speech-to-text-with-output_files/211-speech-to-text-with-output_20_2.png +.. image:: speech-to-text-with-output_files/speech-to-text-with-output_20_2.png Change Type of Data @@ -351,7 +361,7 @@ multiply each value by the max value of ``int16`` and convert it to .. code:: ipython3 if max(np.abs(audio)) <= 1: - audio = (audio * (2**15 - 1)) + audio = audio * (2**15 - 1) audio = audio.astype(np.int16) Convert Audio to Mel Spectrum @@ -375,8 +385,17 @@ article =2023.1.0" - %pip install -q --upgrade-strategy eager "invisible-watermark>=0.2.0" "transformers>=4.33" "accelerate" "onnx" "onnxruntime" safetensors "diffusers>=0.22.0" - %pip install -q gradio + %pip install -q --upgrade-strategy eager "invisible-watermark>=0.2.0" "transformers>=4.33" "accelerate" "onnx" "torch>=2.1" safetensors "diffusers>=0.22.0" "peft==0.6.2" + %pip install -q "gradio>=4.19" SSD-1B Base model ----------------- @@ -119,8 +119,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -190,7 +190,7 @@ disk and up to 64GB RAM for the SDXL model after exporting. -.. image:: 248-ssd-b1-with-output_files/248-ssd-b1-with-output_9_1.png +.. image:: ssd-b1-with-output_files/ssd-b1-with-output_9_1.png @@ -204,7 +204,13 @@ loaded from disk. prompt = "cute cat 4k, high-res, masterpiece, best quality, soft lighting, dynamic angle" - image = text2image_pipe(prompt, num_inference_steps=15, height=512, width=512, generator=np.random.RandomState(314)).images[0] + image = text2image_pipe( + prompt, + num_inference_steps=15, + height=512, + width=512, + generator=np.random.RandomState(314), + ).images[0] image @@ -216,7 +222,7 @@ loaded from disk. -.. image:: 248-ssd-b1-with-output_files/248-ssd-b1-with-output_11_1.png +.. image:: ssd-b1-with-output_files/ssd-b1-with-output_11_1.png @@ -233,8 +239,16 @@ Image2Image Generation Interactive Demo prompt = "An astronaut riding a green horse" neg_prompt = "ugly, blurry, poor quality" + def generate_from_text(text_promt, neg_prompt, seed, num_steps): - result = text2image_pipe(text_promt, negative_prompt=neg_prompt, num_inference_steps=num_steps, generator=np.random.RandomState(seed), height=512, width=512).images[0] + result = text2image_pipe( + text_promt, + negative_prompt=neg_prompt, + num_inference_steps=num_steps, + generator=np.random.RandomState(seed), + height=512, + width=512, + ).images[0] return result @@ -247,14 +261,41 @@ Image2Image Generation Interactive Demo steps_input = gr.Slider(label="Steps", value=10, step=1) btn = gr.Button() out = gr.Image(label="Result", type="pil", width=512) - btn.click(generate_from_text, [positive_input, neg_input, seed_input, steps_input], out) - gr.Examples([ - [prompt, neg_prompt, 999, 20], - ["underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", neg_prompt, 89, 20], - ["a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", neg_prompt, 1569, 15], - ["Astronaut on Mars watching sunset, best quality, cinematic effects,", neg_prompt, 65245, 12], - ["Black and white street photography of a rainy night in New York, reflections on wet pavement", neg_prompt, 48199, 10] - ], [positive_input, neg_input, seed_input, steps_input]) + btn.click( + generate_from_text, + [positive_input, neg_input, seed_input, steps_input], + out, + ) + gr.Examples( + [ + [prompt, neg_prompt, 999, 20], + [ + "underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", + neg_prompt, + 89, + 20, + ], + [ + "a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", + neg_prompt, + 1569, + 15, + ], + [ + "Astronaut on Mars watching sunset, best quality, cinematic effects,", + neg_prompt, + 65245, + 12, + ], + [ + "Black and white street photography of a rainy night in New York, reflections on wet pavement", + neg_prompt, + 48199, + 10, + ], + ], + [positive_input, neg_input, seed_input, steps_input], + ) try: demo.queue().launch(debug=False) @@ -323,7 +364,7 @@ Infer the original model -.. image:: 248-ssd-b1-with-output_files/248-ssd-b1-with-output_16_3.png +.. image:: ssd-b1-with-output_files/ssd-b1-with-output_16_3.png @@ -369,7 +410,7 @@ file. with torch.no_grad(): converted_model = ov.convert_model(model, example_input=example_input) ov.save_model(converted_model, xml_path) - + # cleanup memory torch._C._jit_clear_class_registry() torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() @@ -399,7 +440,7 @@ VAE decoder. .. code:: ipython3 - VAE_OV_PATH = Path('model/vae_decoder.xml') + VAE_OV_PATH = Path("model/vae_decoder.xml") class VAEDecoderWrapper(torch.nn.Module): @@ -409,7 +450,7 @@ VAE decoder. def forward(self, latents): return self.vae.decode(latents) - + pipe.vae.eval() vae_decoder = VAEDecoderWrapper(pipe.vae) @@ -426,7 +467,7 @@ text encoder hidden state. .. code:: ipython3 - UNET_OV_PATH = Path('model/unet_ir.xml') + UNET_OV_PATH = Path("model/unet_ir.xml") class UNETWrapper(torch.nn.Module): @@ -434,24 +475,31 @@ text encoder hidden state. super().__init__() self.unet = unet - def forward(self, sample=None, timestep=None, encoder_hidden_states=None, timestep_cond=None, text_embeds=None, time_ids=None): - + def forward( + self, + sample=None, + timestep=None, + encoder_hidden_states=None, + timestep_cond=None, + text_embeds=None, + time_ids=None, + ): return self.unet.forward( sample, - timestep, - encoder_hidden_states, + timestep, + encoder_hidden_states, timestep_cond=timestep_cond, - added_cond_kwargs={'text_embeds': text_embeds, 'time_ids': time_ids} + added_cond_kwargs={"text_embeds": text_embeds, "time_ids": time_ids}, ) example_input = { - 'sample': torch.rand([1, 4, 128, 128], dtype=torch.float32), - 'timestep': torch.from_numpy(np.array(1, dtype=float)), - 'encoder_hidden_states': torch.rand([1, 77, 2048], dtype=torch.float32), - 'timestep_cond': torch.rand([1, 256], dtype=torch.float32), - 'text_embeds': torch.rand([1, 1280], dtype=torch.float32), - 'time_ids': torch.rand([1, 6], dtype=torch.float32), + "sample": torch.rand([1, 4, 128, 128], dtype=torch.float32), + "timestep": torch.from_numpy(np.array(1, dtype=float)), + "encoder_hidden_states": torch.rand([1, 77, 2048], dtype=torch.float32), + "timestep_cond": torch.rand([1, 256], dtype=torch.float32), + "text_embeds": torch.rand([1, 1280], dtype=torch.float32), + "time_ids": torch.rand([1, 6], dtype=torch.float32), } @@ -481,18 +529,22 @@ a sequence of latent text embeddings. input_ids=None, output_hidden_states=None, ): - encoder_outputs = self.encoder(input_ids, output_hidden_states=output_hidden_states, return_dict=torch.tensor(True)) + encoder_outputs = self.encoder( + input_ids, + output_hidden_states=output_hidden_states, + return_dict=torch.tensor(True), + ) return encoder_outputs[0], list(encoder_outputs.hidden_states) .. code:: ipython3 - TEXT_ENCODER_1_OV_PATH = Path('model/text_encoder_1.xml') - TEXT_ENCODER_2_OV_PATH = Path('model/text_encoder_2.xml') + TEXT_ENCODER_1_OV_PATH = Path("model/text_encoder_1.xml") + TEXT_ENCODER_2_OV_PATH = Path("model/text_encoder_2.xml") inputs = { - 'input_ids': torch.ones((1, 77), dtype=torch.long), - 'output_hidden_states': torch.tensor(True), + "input_ids": torch.ones((1, 77), dtype=torch.long), + "output_hidden_states": torch.tensor(True), } .. code:: ipython3 @@ -524,8 +576,8 @@ Select device from dropdown list for running inference using OpenVINO. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -562,50 +614,44 @@ interaction with original ``DiffusionPipeline`` class. class EncoderWrapper: dtype = torch.float32 # accessed in the original workflow - + def __init__(self, encoder, orig_encoder): self.encoder = encoder - self.modules = orig_encoder.modules # accessed in the original workflow - self.config = orig_encoder.config # accessed in the original workflow + self.modules = orig_encoder.modules # accessed in the original workflow + self.config = orig_encoder.config # accessed in the original workflow def __call__(self, input_ids, **kwargs): - output_hidden_states = kwargs['output_hidden_states'] - inputs = { - 'input_ids': input_ids, - 'output_hidden_states': output_hidden_states - } + output_hidden_states = kwargs["output_hidden_states"] + inputs = {"input_ids": input_ids, "output_hidden_states": output_hidden_states} output = self.encoder(inputs) hidden_states = [] hidden_states_len = len(output) for i in range(1, hidden_states_len): hidden_states.append(torch.from_numpy(output[i])) - - BaseModelOutputWithPooling = namedtuple("BaseModelOutputWithPooling", 'last_hidden_state hidden_states') + + BaseModelOutputWithPooling = namedtuple("BaseModelOutputWithPooling", "last_hidden_state hidden_states") output = BaseModelOutputWithPooling(torch.from_numpy(output[0]), hidden_states) return output .. code:: ipython3 class UnetWrapper: - def __init__(self, unet, unet_orig): self.unet = unet - self.config = unet_orig.config # accessed in the original workflow - self.add_embedding = unet_orig.add_embedding # accessed in the original workflow + self.config = unet_orig.config # accessed in the original workflow + self.add_embedding = unet_orig.add_embedding # accessed in the original workflow def __call__(self, *args, **kwargs): - latent_model_input, t = args inputs = { - 'sample': latent_model_input, - 'timestep': t, - 'encoder_hidden_states': kwargs['encoder_hidden_states'], - 'timestep_cond': kwargs['timestep_cond'], - 'text_embeds': kwargs['added_cond_kwargs']['text_embeds'], - 'time_ids': kwargs['added_cond_kwargs']['time_ids'] + "sample": latent_model_input, + "timestep": t, + "encoder_hidden_states": kwargs["encoder_hidden_states"], + "timestep_cond": kwargs["timestep_cond"], + "text_embeds": kwargs["added_cond_kwargs"]["text_embeds"], + "time_ids": kwargs["added_cond_kwargs"]["time_ids"], } - output = self.unet(inputs) @@ -614,23 +660,23 @@ interaction with original ``DiffusionPipeline`` class. .. code:: ipython3 class VAEWrapper: - dtype = torch.float32 # accessed in the original workflow - + dtype = torch.float32 # accessed in the original workflow + def __init__(self, vae, vae_orig): self.vae = vae - self.config = vae_orig.config # accessed in the original workflow + self.config = vae_orig.config # accessed in the original workflow def decode(self, latents, return_dict=False): output = self.vae(latents)[0] output = torch.from_numpy(output) - + return [output] And insert wrappers instances in the pipeline: .. code:: ipython3 - pipe.unet = UnetWrapper(compiled_unet,pipe.unet) + pipe.unet = UnetWrapper(compiled_unet, pipe.unet) pipe.text_encoder = EncoderWrapper(compiled_text_encoder, pipe.text_encoder) pipe.text_encoder_2 = EncoderWrapper(compiled_text_encoder_2, pipe.text_encoder_2) pipe.vae = VAEWrapper(compiled_vae, pipe.vae) @@ -655,7 +701,7 @@ Inference -.. image:: 248-ssd-b1-with-output_files/248-ssd-b1-with-output_41_1.png +.. image:: ssd-b1-with-output_files/ssd-b1-with-output_41_1.png @@ -674,8 +720,16 @@ Image2Image Generation with LCM Interactive Demo def generate_from_text(text_promt, neg_prompt, seed, num_steps): - result = pipe(text_promt, negative_prompt=neg_prompt, num_inference_steps=num_steps, guidance_scale=1.0, generator=torch.Generator().manual_seed(seed), height=1024, width=1024).images[0] - + result = pipe( + text_promt, + negative_prompt=neg_prompt, + num_inference_steps=num_steps, + guidance_scale=1.0, + generator=torch.Generator().manual_seed(seed), + height=1024, + width=1024, + ).images[0] + return result @@ -688,14 +742,41 @@ Image2Image Generation with LCM Interactive Demo steps_input = gr.Slider(label="Steps", value=4, minimum=2, maximum=8, step=1) btn = gr.Button() out = gr.Image(label="Result", type="pil", width=1024) - btn.click(generate_from_text, [positive_input, neg_input, seed_input, steps_input], out) - gr.Examples([ - [prompt, neg_prompt, 999, 4], - ["underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", neg_prompt, 89, 4], - ["a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", neg_prompt, 1569, 4], - ["Astronaut on Mars watching sunset, best quality, cinematic effects,", neg_prompt, 65245, 4], - ["Black and white street photography of a rainy night in New York, reflections on wet pavement", neg_prompt, 48199, 4] - ], [positive_input, neg_input, seed_input, steps_input]) + btn.click( + generate_from_text, + [positive_input, neg_input, seed_input, steps_input], + out, + ) + gr.Examples( + [ + [prompt, neg_prompt, 999, 4], + [ + "underwater world coral reef, colorful jellyfish, 35mm, cinematic lighting, shallow depth of field, ultra quality, masterpiece, realistic", + neg_prompt, + 89, + 4, + ], + [ + "a photo realistic happy white poodle dog ​​playing in the grass, extremely detailed, high res, 8k, masterpiece, dynamic angle", + neg_prompt, + 1569, + 4, + ], + [ + "Astronaut on Mars watching sunset, best quality, cinematic effects,", + neg_prompt, + 65245, + 4, + ], + [ + "Black and white street photography of a rainy night in New York, reflections on wet pavement", + neg_prompt, + 48199, + 4, + ], + ], + [positive_input, neg_input, seed_input, steps_input], + ) try: demo.queue().launch(debug=False) diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_11_1.jpg b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_11_1.jpg similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_11_1.jpg rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_11_1.jpg diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_11_1.png b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_11_1.png similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_11_1.png rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_11_1.png diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_16_3.jpg b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_16_3.jpg similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_16_3.jpg rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_16_3.jpg diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_16_3.png b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_16_3.png similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_16_3.png rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_16_3.png diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_41_1.jpg b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_41_1.jpg similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_41_1.jpg rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_41_1.jpg diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_41_1.png b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_41_1.png similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_41_1.png rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_41_1.png diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_9_1.jpg b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_9_1.jpg similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_9_1.jpg rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_9_1.jpg diff --git a/docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_9_1.png b/docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_9_1.png similarity index 100% rename from docs/notebooks/248-ssd-b1-with-output_files/248-ssd-b1-with-output_9_1.png rename to docs/notebooks/ssd-b1-with-output_files/ssd-b1-with-output_9_1.png diff --git a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output.rst b/docs/notebooks/stable-diffusion-ip-adapter-with-output.rst similarity index 79% rename from docs/notebooks/278-stable-diffusion-ip-adapter-with-output.rst rename to docs/notebooks/stable-diffusion-ip-adapter-with-output.rst index cfb914dc61b..fb02e519e31 100644 --- a/docs/notebooks/278-stable-diffusion-ip-adapter-with-output.rst +++ b/docs/notebooks/stable-diffusion-ip-adapter-with-output.rst @@ -52,7 +52,7 @@ Prerequisites import platform - %pip install -q torch transformers accelerate diffusers "openvino>=2023.3.0" gradio opencv-python --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "torch>=2.1" transformers accelerate diffusers "openvino>=2023.3.0" "gradio>=4.19" opencv-python "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -60,6 +60,11 @@ Prerequisites %pip install -q "matplotlib>=3.4,<3.7" +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + .. parsed-literal:: DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 @@ -113,7 +118,7 @@ both text and image prompts. As discussed before, we will also use LCM LoRA for speeding generation process. You can find more information about LCM LoRA in this -`notebook `__. +`notebook `__. For applying LCM LoRA, we should use ``load_lora_weights`` method. Additionally, LCM requires using LCMScheduler for efficient generation. @@ -132,9 +137,27 @@ Additionally, LCM requires using LCMScheduler for efficient generation. lcm_lora_id = "latent-consistency/lcm-lora-sdv1-5" models_dir = Path("model") - load_original_pipeline = not all([(models_dir / model_name).exists() for model_name in ["text_encoder.xml", "image_encoder.xml", "unet.xml", "vae_decoder.xml", "vae_encoder.xml"]]) + load_original_pipeline = not all( + [ + (models_dir / model_name).exists() + for model_name in [ + "text_encoder.xml", + "image_encoder.xml", + "unet.xml", + "vae_decoder.xml", + "vae_encoder.xml", + ] + ] + ) - def get_pipeline_components(stable_diffusion_id, ip_adapter_id, ip_adapter_weight_name , lcm_lora_id, ip_adapter_scale=0.6): + + def get_pipeline_components( + stable_diffusion_id, + ip_adapter_id, + ip_adapter_weight_name, + lcm_lora_id, + ip_adapter_scale=0.6, + ): image_encoder = CLIPVisionModelWithProjection.from_pretrained("h94/IP-Adapter", subfolder="models/image_encoder") pipeline = AutoPipelineForText2Image.from_pretrained(stable_diffusion_id, image_encoder=image_encoder) pipeline.load_lora_weights(lcm_lora_id) @@ -142,30 +165,55 @@ Additionally, LCM requires using LCMScheduler for efficient generation. pipeline.load_ip_adapter(ip_adapter_id, subfolder="models", weight_name=ip_adapter_weight_name) pipeline.set_ip_adapter_scale(0.6) scheduler = LCMScheduler.from_pretrained(stable_diffusion_id, subfolder="scheduler") - return pipeline.tokenizer, pipeline.feature_extractor, scheduler, pipeline.text_encoder, pipeline.image_encoder, pipeline.unet, pipeline.vae + return ( + pipeline.tokenizer, + pipeline.feature_extractor, + scheduler, + pipeline.text_encoder, + pipeline.image_encoder, + pipeline.unet, + pipeline.vae, + ) + if load_original_pipeline: - tokenizer, feature_extractor, scheduler, text_encoder, image_encoder, unet, vae = get_pipeline_components(stable_diffusion_id, ip_adapter_id, ip_adapter_weight_name, lcm_lora_id) + ( + tokenizer, + feature_extractor, + scheduler, + text_encoder, + image_encoder, + unet, + vae, + ) = get_pipeline_components(stable_diffusion_id, ip_adapter_id, ip_adapter_weight_name, lcm_lora_id) scheduler.save_pretrained(models_dir / "scheduler") else: - tokenizer, feature_extractor, scheduler, text_encoder, image_encoder, unet, vae = None, None, None, None, None, None, None + tokenizer, feature_extractor, scheduler, text_encoder, image_encoder, unet, vae = ( + None, + None, + None, + None, + None, + None, + None, + ) .. parsed-literal:: - 2024-03-13 00:17:00.749663: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:17:00.783556: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 00:59:39.892365: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 00:59:39.926975: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:17:01.376270: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 00:59:40.524026: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. torch.utils._pytree._register_pytree_node( @@ -175,12 +223,6 @@ Additionally, LCM requires using LCMScheduler for efficient generation. Loading pipeline components...: 0%| | 0/7 [00:00= 64: @@ -381,23 +427,25 @@ image in pipeline, we can discuss it in inference examples. VAE_ENCODER_PATH = models_dir / "vae_encoder.xml" if not VAE_DECODER_PATH.exists(): + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() self.vae = vae - + def forward(self, latents): return self.vae.decode(latents) vae_decoder = VAEDecoderWrapper(vae) with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=torch.ones([1,4,64,64])) + ov_model = ov.convert_model(vae_decoder, example_input=torch.ones([1, 4, 64, 64])) ov.save_model(ov_model, VAE_DECODER_PATH) del ov_model cleanup_torchscript_cache() del vae_decoder if not VAE_ENCODER_PATH.exists(): + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -405,6 +453,7 @@ image in pipeline, we can discuss it in inference examples. def forward(self, image): return self.vae.encode(x=image)["latent_dist"].sample() + vae_encoder = VAEEncoderWrapper(vae) vae_encoder.eval() image = torch.zeros((1, 3, 512, 512)) @@ -420,16 +469,16 @@ image in pipeline, we can discuss it in inference examples. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Trace had nondeterministic nodes. Did you forget call .eval() on your model? Nodes: - %2494 : Float(1, 4, 64, 64, strides=[16384, 4096, 64, 1], requires_grad=0, device=cpu) = aten::randn(%2488, %2489, %2490, %2491, %2492, %2493) # /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/torch_utils.py:80:0 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Trace had nondeterministic nodes. Did you forget call .eval() on your model? Nodes: + %2494 : Float(1, 4, 64, 64, strides=[16384, 4096, 64, 1], requires_grad=0, device=cpu) = aten::randn(%2488, %2489, %2490, %2491, %2492, %2493) # /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/torch_utils.py:80:0 This may cause errors in trace checking. To disable trace checking, pass check_trace=False to torch.jit.trace() _check_trace( - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: Tensor-likes are not close! - Mismatched elements: 10262 / 16384 (62.6%) - Greatest absolute difference: 0.001510024070739746 at index (0, 1, 63, 63) (up to 1e-05 allowed) - Greatest relative difference: 0.002872670623917016 at index (0, 3, 63, 59) (up to 1e-05 allowed) + Mismatched elements: 10269 / 16384 (62.7%) + Greatest absolute difference: 0.0017402172088623047 at index (0, 1, 63, 63) (up to 1e-05 allowed) + Greatest relative difference: 0.0036845125929832485 at index (0, 3, 63, 59) (up to 1e-05 allowed) _check_trace( @@ -457,7 +506,13 @@ hidden states. if not TEXT_ENCODER_PATH.exists(): with torch.no_grad(): - ov_model = ov.convert_model(text_encoder, example_input=torch.ones([1,77], dtype=torch.long), input=[(1,77),]) + ov_model = ov.convert_model( + text_encoder, + example_input=torch.ones([1, 77], dtype=torch.long), + input=[ + (1, 77), + ], + ) ov.save_model(ov_model, TEXT_ENCODER_PATH) del ov_model cleanup_torchscript_cache() @@ -469,11 +524,11 @@ hidden states. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:86: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:86: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if input_shape[-1] > 1 or self.sliding_window is not None: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:162: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:162: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if past_key_values_length > 0: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:289: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:289: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if causal_attention_mask.size() != (bsz, 1, tgt_len, src_len): @@ -516,15 +571,17 @@ encoder (VAE). from transformers import CLIPTokenizer, CLIPImageProcessor from diffusers import DiffusionPipeline - from diffusers.pipelines.stable_diffusion.pipeline_output import StableDiffusionPipelineOutput + from diffusers.pipelines.stable_diffusion.pipeline_output import ( + StableDiffusionPipelineOutput, + ) from diffusers.schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMScheduler - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -545,7 +602,7 @@ encoder (VAE). ): """A helper function to create random tensors on the desired `device` with the desired `dtype`. When passing a list of generators, you can seed each batch size individually. - + """ batch_size = shape[0] rand_device = torch.device("cpu") @@ -556,23 +613,21 @@ encoder (VAE). if isinstance(generator, list): shape = (1,) + shape[1:] - latents = [ - torch.randn(shape, generator=generator[i], device=rand_device, dtype=dtype) - for i in range(batch_size) - ] + latents = [torch.randn(shape, generator=generator[i], device=rand_device, dtype=dtype) for i in range(batch_size)] latents = torch.cat(latents, dim=0) else: latents = torch.randn(shape, generator=generator, device=rand_device, dtype=dtype) return latents + def preprocess(image: PIL.Image.Image, height, width): """ Image preprocessing function. Takes image in PIL.Image format, resizes it to keep aspect ration and fits to model input window 512x512, then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (PIL.Image.Image): input image Returns: @@ -580,10 +635,8 @@ encoder (VAE). meta (Dict): dictionary with preprocessing metadata info """ src_width, src_height = image.size - dst_width, dst_height = scale_fit_to_window( - height, width, src_width, src_height) - image = np.array(image.resize((dst_width, dst_height), - resample=PIL.Image.Resampling.LANCZOS))[None, :] + dst_width, dst_height = scale_fit_to_window(height, width, src_width, src_height) + image = np.array(image.resize((dst_width, dst_height), resample=PIL.Image.Resampling.LANCZOS))[None, :] pad_width = width - dst_width pad_height = height - dst_height pad = ((0, 0), (0, pad_height), (0, pad_width), (0, 0)) @@ -593,6 +646,7 @@ encoder (VAE). image = image.transpose(0, 3, 1, 2) return image, {"padding": pad, "src_width": src_width, "src_height": src_height} + class OVStableDiffusionPipeline(DiffusionPipeline): def __init__( self, @@ -603,7 +657,7 @@ encoder (VAE). scheduler: Union[DDIMScheduler, PNDMScheduler, LMSDiscreteScheduler], image_encoder: ov.Model, feature_extractor: CLIPImageProcessor, - vae_encoder: ov.Model + vae_encoder: ov.Model, ): """ Pipeline for text-to-image generation using Stable Diffusion and IP-Adapter with OpenVINO @@ -621,7 +675,7 @@ encoder (VAE). A scheduler to be used in combination with unet to denoise the encoded image latents image_encoder (ov.Model): IP-Adapter image encoder for embedding input image as input prompt for generation - feature_extractor : + feature_extractor : """ super().__init__() self.scheduler = scheduler @@ -650,7 +704,7 @@ encoder (VAE). width: Optional[int] = None, generator: Optional[Union[torch.Generator, List[torch.Generator]]] = None, latents: Optional[torch.FloatTensor] = None, - strength: float = 1., + strength: float = 1.0, **kwargs, ): """ @@ -676,7 +730,7 @@ encoder (VAE). output_type (`str`, *optional*, defaults to "pil"): The output format of the generate image. Choose between [PIL](https://pillow.readthedocs.io/en/stable/): PIL.Image.Image or np.array. - height (int, *optional*, 512): + height (int, *optional*, 512): Generated image height width (int, *optional*, 512): Generated image width @@ -688,18 +742,22 @@ encoder (VAE). generation. Can be used to tweak the same generation with different prompts. If not provided, a latents tensor is generated by sampling using the supplied random `generator`. Returns: - Dictionary with keys: + Dictionary with keys: sample - the last generated image PIL.Image.Image or np.arrayhttps://huggingface.co/latent-consistency/lcm-lora-sdv1-5 iterations - *optional* (if gif=True) images for all diffusion steps, List of PIL.Image.Image or np.array. """ do_classifier_free_guidance = guidance_scale > 1.0 # get prompt text embeddings - text_embeddings = self._encode_prompt(prompt, do_classifier_free_guidance=do_classifier_free_guidance, negative_prompt=negative_prompt) + text_embeddings = self._encode_prompt( + prompt, + do_classifier_free_guidance=do_classifier_free_guidance, + negative_prompt=negative_prompt, + ) # get ip-adapter image embeddings image_embeds, negative_image_embeds = self.encode_image(ip_adapter_image) if do_classifier_free_guidance: image_embeds = np.concatenate([negative_image_embeds, image_embeds]) - + # set timesteps accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) extra_set_kwargs = {} @@ -711,7 +769,16 @@ encoder (VAE). latent_timestep = timesteps[:1] # get the initial random noise unless the user supplied it - latents, meta = self.prepare_latents(1, 4, height or self.height, width or self.width, generator=generator, latents=latents, image=image, latent_timestep=latent_timestep) + latents, meta = self.prepare_latents( + 1, + 4, + height or self.height, + width or self.width, + generator=generator, + latents=latents, + image=image, + latent_timestep=latent_timestep, + ) # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers. @@ -735,15 +802,26 @@ encoder (VAE). noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) # compute the previous noisy sample x_t -> x_t-1 - latents = self.scheduler.step(torch.from_numpy(noise_pred), t, torch.from_numpy(latents), **extra_step_kwargs)["prev_sample"].numpy() + latents = self.scheduler.step( + torch.from_numpy(noise_pred), + t, + torch.from_numpy(latents), + **extra_step_kwargs, + )["prev_sample"].numpy() # scale and decode the image latents with vae image = self.vae_decoder(latents * (1 / 0.18215))[0] image = self.postprocess_image(image, meta, output_type) return StableDiffusionPipelineOutput(images=image, nsfw_content_detected=False) - - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. @@ -767,16 +845,13 @@ encoder (VAE). ) text_input_ids = text_inputs.input_ids - text_embeddings = self.text_encoder( - text_input_ids)[0] + text_embeddings = self.text_encoder(text_input_ids)[0] # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -810,9 +885,24 @@ encoder (VAE). return text_embeddings - - def prepare_latents(self, batch_size, num_channels_latents, height, width, dtype=torch.float32, generator=None, latents=None, image=None, latent_timestep=None): - shape = (batch_size, num_channels_latents, height // self.vae_scale_factor, width // self.vae_scale_factor) + def prepare_latents( + self, + batch_size, + num_channels_latents, + height, + width, + dtype=torch.float32, + generator=None, + latents=None, + image=None, + latent_timestep=None, + ): + shape = ( + batch_size, + num_channels_latents, + height // self.vae_scale_factor, + width // self.vae_scale_factor, + ) if isinstance(generator, list) and len(generator) != batch_size: raise ValueError( f"You have passed a list of generators of length {len(generator)}, but requested an effective batch" @@ -831,13 +921,12 @@ encoder (VAE). image_latents = image_latents * 0.18215 latents = self.scheduler.add_noise(torch.from_numpy(image_latents), latents, latent_timestep).numpy() return latents, meta - - def postprocess_image(self, image:np.ndarray, meta:Dict, output_type:str = "pil"): + def postprocess_image(self, image: np.ndarray, meta: Dict, output_type: str = "pil"): """ - Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initial image size (if required), + Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initial image size (if required), normalize and convert to [0, 255] pixels range. Optionally, converts it from np.ndarray to PIL.Image format - + Parameters: image (np.ndarray): Generated image @@ -863,13 +952,11 @@ encoder (VAE). image = self.numpy_to_pil(image) if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image def encode_image(self, image, num_images_per_prompt=1): @@ -883,16 +970,16 @@ encoder (VAE). uncond_image_embeds = np.zeros(image_embeds.shape) return image_embeds, uncond_image_embeds - def get_timesteps(self, num_inference_steps:int, strength:float): + def get_timesteps(self, num_inference_steps: int, strength: float): """ Helper function for getting scheduler timesteps for generation In case of image-to-image generation, it updates number of steps according to strength - + Parameters: num_inference_steps (int): number of inference steps for generation strength (float): - value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. + value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. Values that approach 1.0 allow for lots of variations but will also produce images that are not semantically consistent with the input. """ # get the original timestep using init_timestep @@ -956,7 +1043,16 @@ Select inference device from dropdown list. tokenizer = AutoTokenizer.from_pretrained(models_dir / "tokenizer") feature_extractor = CLIPImageProcessor.from_pretrained(models_dir / "feature_extractor") - ov_pipe = OVStableDiffusionPipeline(vae_decoder, text_encoder, tokenizer, unet, scheduler, image_encoder, feature_extractor, vae_encoder) + ov_pipe = OVStableDiffusionPipeline( + vae_decoder, + text_encoder, + tokenizer, + unet, + scheduler, + image_encoder, + feature_extractor, + vae_encoder, + ) .. parsed-literal:: @@ -980,7 +1076,7 @@ can get variation of the same image. def visualize_results(images, titles): """ Helper function for results visualization - + Parameters: orig_img (PIL.Image.Image): original image processed_img (PIL.Image.Image): processed image after editing @@ -992,8 +1088,14 @@ can get variation of the same image. im_w, im_h = images[0].size is_horizontal = im_h <= im_w figsize = (10, 15 * len(images)) if is_horizontal else (15 * len(images), 10) - fig, axs = plt.subplots(1 if is_horizontal else len(images), len(images) if is_horizontal else 1, figsize=figsize, sharex='all', sharey='all') - fig.patch.set_facecolor('white') + fig, axs = plt.subplots( + 1 if is_horizontal else len(images), + len(images) if is_horizontal else 1, + figsize=figsize, + sharex="all", + sharey="all", + ) + fig.patch.set_facecolor("white") list_axes = list(axs.flat) for a in list_axes: a.set_xticklabels([]) @@ -1003,8 +1105,8 @@ can get variation of the same image. a.grid(False) for image, title, ax in zip(images, titles, list_axes): ax.imshow(np.array(image)) - ax.set_title(title, fontsize=20) - fig.subplots_adjust(wspace=0.0 if is_horizontal else 0.01 , hspace=0.01 if is_horizontal else 0.0) + ax.set_title(title, fontsize=20) + fig.subplots_adjust(wspace=0.0 if is_horizontal else 0.01, hspace=0.01 if is_horizontal else 0.0) fig.tight_layout() return fig @@ -1014,7 +1116,14 @@ can get variation of the same image. image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/load_neg_embed.png") - result = ov_pipe(prompt='', ip_adapter_image=image, gaidance_scale=1, negative_prompt="", num_inference_steps=4, generator=generator) + result = ov_pipe( + prompt="", + ip_adapter_image=image, + gaidance_scale=1, + negative_prompt="", + num_inference_steps=4, + generator=generator, + ) fig = visualize_results([image, result.images[0]], ["input image", "result"]) @@ -1026,7 +1135,7 @@ can get variation of the same image. -.. image:: 278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_22_1.png +.. image:: stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_22_1.png Generation conditioned by image and text @@ -1043,7 +1152,14 @@ extension for each other, for example we can use a text prompt to add generator = torch.Generator(device="cpu").manual_seed(576) - result = ov_pipe(prompt='best quality, high quality, wearing sunglasses', ip_adapter_image=image, gaidance_scale=1, negative_prompt="monochrome, low-res, bad anatomy, worst quality, low quality", num_inference_steps=4, generator=generator) + result = ov_pipe( + prompt="best quality, high quality, wearing sunglasses", + ip_adapter_image=image, + gaidance_scale=1, + negative_prompt="monochrome, low-res, bad anatomy, worst quality, low quality", + num_inference_steps=4, + generator=generator, + ) @@ -1058,7 +1174,7 @@ extension for each other, for example we can use a text prompt to add -.. image:: 278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_25_0.png +.. image:: stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_25_0.png Generation image blending @@ -1074,7 +1190,15 @@ achieve image blending effect. image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/vermeer.jpg") ip_image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/river.png") - result = ov_pipe(prompt='best quality, high quality', image=image, ip_adapter_image=ip_image, gaidance_scale=1, generator=generator, strength=0.7, num_inference_steps=8) + result = ov_pipe( + prompt="best quality, high quality", + image=image, + ip_adapter_image=ip_image, + gaidance_scale=1, + generator=generator, + strength=0.7, + num_inference_steps=8, + ) @@ -1089,7 +1213,7 @@ achieve image blending effect. -.. image:: 278-stable-diffusion-ip-adapter-with-output_files/278-stable-diffusion-ip-adapter-with-output_28_0.png +.. image:: stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_28_0.png Interactive demo @@ -1103,15 +1227,50 @@ Now, you can try model using own images and text prompts. import gradio as gr - def generate_from_text(positive_prompt, negative_prompt, ip_adapter_image, seed, num_steps, guidance_scale, _=gr.Progress(track_tqdm=True)): + + def generate_from_text( + positive_prompt, + negative_prompt, + ip_adapter_image, + seed, + num_steps, + guidance_scale, + _=gr.Progress(track_tqdm=True), + ): generator = torch.Generator(device="cpu").manual_seed(seed) - result = ov_pipe(positive_prompt, ip_adapter_image=ip_adapter_image, negative_prompt=negative_prompt, guidance_scale=guidance_scale, num_inference_steps=num_steps, generator=generator) + result = ov_pipe( + positive_prompt, + ip_adapter_image=ip_adapter_image, + negative_prompt=negative_prompt, + guidance_scale=guidance_scale, + num_inference_steps=num_steps, + generator=generator, + ) return result.images[0] - def generate_from_image(img, ip_adapter_image, positive_prompt, negative_prompt, seed, num_steps, guidance_scale, strength, _=gr.Progress(track_tqdm=True)): + def generate_from_image( + img, + ip_adapter_image, + positive_prompt, + negative_prompt, + seed, + num_steps, + guidance_scale, + strength, + _=gr.Progress(track_tqdm=True), + ): generator = torch.Generator(device="cpu").manual_seed(seed) - result = ov_pipe(positive_prompt, image=img, ip_adapter_image=ip_adapter_image, negative_prompt=negative_prompt, num_inference_steps=num_steps, guidance_scale=guidance_scale, strength=strength, generator=generator) + result = ov_pipe( + positive_prompt, + image=img, + ip_adapter_image=ip_adapter_image, + negative_prompt=negative_prompt, + num_inference_steps=num_steps, + guidance_scale=guidance_scale, + strength=strength, + generator=generator, + ) return result.images[0] @@ -1134,11 +1293,33 @@ Now, you can try model using own images and text prompts. ) out = gr.Image(label="Result", type="pil") btn = gr.Button() - btn.click(generate_from_text, [text_input, neg_text_input, ip_adapter_input, seed_input, steps_input, guidance_scale_input], out) - gr.Examples([ - ["https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/woman.png", 'best quality, high quality', "low resolution"], - ["https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/statue.png", "wearing a hat", ""], - ], [ip_adapter_input, text_input, neg_text_input]) + btn.click( + generate_from_text, + [ + text_input, + neg_text_input, + ip_adapter_input, + seed_input, + steps_input, + guidance_scale_input, + ], + out, + ) + gr.Examples( + [ + [ + "https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/woman.png", + "best quality, high quality", + "low resolution", + ], + [ + "https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/statue.png", + "wearing a hat", + "", + ], + ], + [ip_adapter_input, text_input, neg_text_input], + ) with gr.Tab("Image-to-Image generation"): with gr.Row(): with gr.Column(): @@ -1161,12 +1342,27 @@ Now, you can try model using own images and text prompts. i2i_btn = gr.Button() i2i_btn.click( generate_from_image, - [i2i_input, i2i_ip_adapter_input, i2i_text_input, i2i_neg_text_input, i2i_seed_input, i2i_steps_input, i2i_guidance_scale, strength_input], + [ + i2i_input, + i2i_ip_adapter_input, + i2i_text_input, + i2i_neg_text_input, + i2i_seed_input, + i2i_steps_input, + i2i_guidance_scale, + strength_input, + ], i2i_out, ) - gr.Examples([ - ["https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/river.png", "https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/statue.png"], - ], [i2i_ip_adapter_input, i2i_input]) + gr.Examples( + [ + [ + "https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/river.png", + "https://raw.githubusercontent.com/tencent-ailab/IP-Adapter/main/assets/images/statue.png", + ], + ], + [i2i_ip_adapter_input, i2i_input], + ) try: demo.queue().launch(debug=False) except Exception: diff --git a/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_22_1.png b/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_22_1.png new file mode 100644 index 00000000000..7ee48445585 --- /dev/null +++ b/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_22_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84f09a472548bd938c27d3ba4e3c03b66ed0a64fce319b70937d1d5b61b9de1c +size 956094 diff --git a/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_25_0.png b/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_25_0.png new file mode 100644 index 00000000000..ca0c8f3e208 --- /dev/null +++ b/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_25_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3eec685c3b7629968c231833d760b6580f3ee73ac11e2d47b460e8517b58b7dd +size 938259 diff --git a/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_28_0.png b/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_28_0.png new file mode 100644 index 00000000000..246ab19ff17 --- /dev/null +++ b/docs/notebooks/stable-diffusion-ip-adapter-with-output_files/stable-diffusion-ip-adapter-with-output_28_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5884d4db0559aa8c6afa898a628e23de55876013ca9c9f485f57479bdaca8aff +size 600723 diff --git a/docs/notebooks/225-stable-diffusion-text-to-image-with-output.rst b/docs/notebooks/stable-diffusion-text-to-image-with-output.rst similarity index 86% rename from docs/notebooks/225-stable-diffusion-text-to-image-with-output.rst rename to docs/notebooks/stable-diffusion-text-to-image-with-output.rst index 3764da62687..56372e5967d 100644 --- a/docs/notebooks/225-stable-diffusion-text-to-image-with-output.rst +++ b/docs/notebooks/stable-diffusion-text-to-image-with-output.rst @@ -84,7 +84,7 @@ not, you do not have to do anything. Just run the notebook.** ## login to huggingfacehub to get access to pretrained model - [back to top ⬆️](#Table-of-contents:) + from huggingface_hub import notebook_login, whoami try: @@ -103,10 +103,10 @@ solutions based on Stable Diffusion. .. code:: ipython3 %pip install -q "openvino>=2023.1.0" - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "diffusers[torch]>=0.9.0" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "diffusers>=0.9.0" "torch>=2.1" %pip install -q "huggingface-hub>=0.9.1" - %pip install -q gradio - %pip install -q transformers + %pip install -q "gradio>=4.19" + %pip install -q transformers Pillow opencv-python tqdm Create PyTorch Models pipeline ------------------------------ @@ -122,7 +122,7 @@ First, load the pre-trained weights of all components of the model. from diffusers import StableDiffusionPipeline import gc - + pipe = StableDiffusionPipeline.from_pretrained("prompthero/openjourney").to("cpu") text_encoder = pipe.text_encoder text_encoder.eval() @@ -130,7 +130,7 @@ First, load the pre-trained weights of all components of the model. unet.eval() vae = pipe.vae vae.eval() - + del pipe gc.collect() @@ -313,9 +313,10 @@ hidden states. from pathlib import Path import torch import openvino as ov - + TEXT_ENCODER_OV_PATH = Path("text_encoder.xml") - + + def cleanup_torchscript_cache(): """ Helper for removing cached model representation @@ -323,12 +324,13 @@ hidden states. torch._C._jit_clear_class_registry() torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() torch.jit._state._clear_class_state() - - def convert_encoder(text_encoder: torch.nn.Module, ir_path:Path): + + + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ - Convert Text Encoder mode. - Function accepts text encoder model, and prepares example inputs for conversion, - Parameters: + Convert Text Encoder mode. + Function accepts text encoder model, and prepares example inputs for conversion, + Parameters: text_encoder (torch.nn.Module): text_encoder model from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -337,22 +339,28 @@ hidden states. input_ids = torch.ones((1, 77), dtype=torch.long) # switch model to inference mode text_encoder.eval() - + # disable gradients calculation for reducing memory consumption with torch.no_grad(): # Export model to IR format - ov_model = ov.convert_model(text_encoder, example_input=input_ids, input=[(1,77),]) + ov_model = ov.convert_model( + text_encoder, + example_input=input_ids, + input=[ + (1, 77), + ], + ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'Text Encoder successfully converted to IR and saved to {ir_path}') - - + print(f"Text Encoder successfully converted to IR and saved to {ir_path}") + + if not TEXT_ENCODER_OV_PATH.exists(): convert_encoder(text_encoder, TEXT_ENCODER_OV_PATH) else: print(f"Text encoder will be loaded from {TEXT_ENCODER_OV_PATH}") - + del text_encoder gc.collect() @@ -405,20 +413,17 @@ Model predicts the ``sample`` state for the next step. .. code:: ipython3 import numpy as np - - UNET_OV_PATH = Path('unet.xml') - - dtype_mapping = { - torch.float32: ov.Type.f32, - torch.float64: ov.Type.f64 - } - - - def convert_unet(unet:torch.nn.Module, ir_path:Path): + + UNET_OV_PATH = Path("unet.xml") + + dtype_mapping = {torch.float32: ov.Type.f32, torch.float64: ov.Type.f64} + + + def convert_unet(unet: torch.nn.Module, ir_path: Path): """ - Convert U-net model to IR format. - Function accepts unet model, prepares example inputs for conversion, - Parameters: + Convert U-net model to IR format. + Function accepts unet model, prepares example inputs for conversion, + Parameters: unet (StableDiffusionPipeline): unet from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -435,16 +440,16 @@ Model predicts the ``sample`` state for the next step. shape = ov.PartialShape(tuple(input_tensor.shape)) element_type = dtype_mapping[input_tensor.dtype] input_info.append((shape, element_type)) - + unet.eval() with torch.no_grad(): ov_model = ov.convert_model(unet, example_input=dummy_inputs, input=input_info) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'Unet successfully converted to IR and saved to {ir_path}') - - + print(f"Unet successfully converted to IR and saved to {ir_path}") + + if not UNET_OV_PATH.exists(): convert_unet(unet, UNET_OV_PATH) gc.collect() @@ -506,79 +511,84 @@ of the pipeline, it will be better to convert them to separate models. .. code:: ipython3 VAE_ENCODER_OV_PATH = Path("vae_encoder.xml") - + + def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for encoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: - vae (torch.nn.Module): VAE model from StableDiffusio pipeline + Convert VAE model for encoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: + vae (torch.nn.Module): VAE model from StableDiffusio pipeline ir_path (Path): File for storing model Returns: None """ + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() self.vae = vae - + def forward(self, image): return self.vae.encode(x=image)["latent_dist"].sample() + vae_encoder = VAEEncoderWrapper(vae) vae_encoder.eval() image = torch.zeros((1, 3, 512, 512)) with torch.no_grad(): - ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1,3,512,512),)]) + ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1, 3, 512, 512),)]) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'VAE encoder successfully converted to IR and saved to {ir_path}') - - + print(f"VAE encoder successfully converted to IR and saved to {ir_path}") + + if not VAE_ENCODER_OV_PATH.exists(): convert_vae_encoder(vae, VAE_ENCODER_OV_PATH) else: print(f"VAE encoder will be loaded from {VAE_ENCODER_OV_PATH}") - - VAE_DECODER_OV_PATH = Path('vae_decoder.xml') - + + VAE_DECODER_OV_PATH = Path("vae_decoder.xml") + + def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for decoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: + Convert VAE model for decoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: vae (torch.nn.Module): VAE model frm StableDiffusion pipeline ir_path (Path): File for storing model Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() self.vae = vae - + def forward(self, latents): return self.vae.decode(latents) - + vae_decoder = VAEDecoderWrapper(vae) latents = torch.zeros((1, 4, 64, 64)) - + vae_decoder.eval() with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1,4,64,64),)]) + ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1, 4, 64, 64),)]) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print(f'VAE decoder successfully converted to IR and saved to {ir_path}') - - + print(f"VAE decoder successfully converted to IR and saved to {ir_path}") + + if not VAE_DECODER_OV_PATH.exists(): convert_vae_decoder(vae, VAE_DECODER_OV_PATH) else: print(f"VAE decoder will be loaded from {VAE_DECODER_OV_PATH}") - + del vae gc.collect() @@ -591,7 +601,7 @@ of the pipeline, it will be better to convert them to separate models. _check_trace( /home/ea/work/ov_venv/lib/python3.8/site-packages/torch/jit/_trace.py:1084: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: Tensor-likes are not close! - + Mismatched elements: 10371 / 16384 (63.3%) Greatest absolute difference: 0.0014181137084960938 at index (0, 2, 63, 63) (up to 1e-05 allowed) Greatest relative difference: 0.006298586412390911 at index (0, 3, 63, 59) (up to 1e-05 allowed) @@ -667,21 +677,21 @@ of the variational auto encoder. import inspect from typing import List, Optional, Union, Dict - + import PIL import cv2 - + from transformers import CLIPTokenizer from diffusers.pipelines.pipeline_utils import DiffusionPipeline from diffusers.schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMScheduler from openvino.runtime import Model - - - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + + + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -693,15 +703,15 @@ of the variational auto encoder. """ im_scale = min(dst_height / image_height, dst_width / image_width) return int(im_scale * image_width), int(im_scale * image_height) - - + + def preprocess(image: PIL.Image.Image): """ Image preprocessing function. Takes image in PIL.Image format, resizes it to keep aspect ration and fits to model input window 512x512, then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (PIL.Image.Image): input image Returns: @@ -709,10 +719,8 @@ of the variational auto encoder. meta (Dict): dictionary with preprocessing metadata info """ src_width, src_height = image.size - dst_width, dst_height = scale_fit_to_window( - 512, 512, src_width, src_height) - image = np.array(image.resize((dst_width, dst_height), - resample=PIL.Image.Resampling.LANCZOS))[None, :] + dst_width, dst_height = scale_fit_to_window(512, 512, src_width, src_height) + image = np.array(image.resize((dst_width, dst_height), resample=PIL.Image.Resampling.LANCZOS))[None, :] pad_width = 512 - dst_width pad_height = 512 - dst_height pad = ((0, 0), (0, pad_height), (0, pad_width), (0, 0)) @@ -721,8 +729,8 @@ of the variational auto encoder. image = 2.0 * image - 1.0 image = image.transpose(0, 3, 1, 2) return image, {"padding": pad, "src_width": src_width, "src_height": src_height} - - + + class OVStableDiffusionPipeline(DiffusionPipeline): def __init__( self, @@ -762,7 +770,7 @@ of the variational auto encoder. self.height = 512 self.width = 512 self.tokenizer = tokenizer - + def __call__( self, prompt: Union[str, List[str]], @@ -805,31 +813,35 @@ of the variational auto encoder. gif (bool, *optional*, False): Flag for storing all steps results or not. Returns: - Dictionary with keys: + Dictionary with keys: sample - the last generated image PIL.Image.Image or np.array iterations - *optional* (if gif=True) images for all diffusion steps, List of PIL.Image.Image or np.array. """ if seed is not None: np.random.seed(seed) - + img_buffer = [] do_classifier_free_guidance = guidance_scale > 1.0 # get prompt text embeddings - text_embeddings = self._encode_prompt(prompt, do_classifier_free_guidance=do_classifier_free_guidance, negative_prompt=negative_prompt) - + text_embeddings = self._encode_prompt( + prompt, + do_classifier_free_guidance=do_classifier_free_guidance, + negative_prompt=negative_prompt, + ) + # set timesteps accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) extra_set_kwargs = {} if accepts_offset: extra_set_kwargs["offset"] = 1 - + self.scheduler.set_timesteps(num_inference_steps, **extra_set_kwargs) timesteps, num_inference_steps = self.get_timesteps(num_inference_steps, strength) latent_timestep = timesteps[:1] - + # get the initial random noise unless the user supplied it latents, meta = self.prepare_latents(image, latent_timestep) - + # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers. # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502 @@ -838,36 +850,47 @@ of the variational auto encoder. extra_step_kwargs = {} if accepts_eta: extra_step_kwargs["eta"] = eta - + for i, t in enumerate(self.progress_bar(timesteps)): # expand the latents if you are doing classifier free guidance latent_model_input = np.concatenate([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) - + # predict the noise residual noise_pred = self.unet([latent_model_input, t, text_embeddings])[self._unet_output] # perform guidance if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred[0], noise_pred[1] noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) - + # compute the previous noisy sample x_t -> x_t-1 - latents = self.scheduler.step(torch.from_numpy(noise_pred), t, torch.from_numpy(latents), **extra_step_kwargs)["prev_sample"].numpy() + latents = self.scheduler.step( + torch.from_numpy(noise_pred), + t, + torch.from_numpy(latents), + **extra_step_kwargs, + )["prev_sample"].numpy() if gif: image = self.vae_decoder(latents * (1 / 0.18215))[self._vae_d_output] image = self.postprocess_image(image, meta, output_type) img_buffer.extend(image) - + # scale and decode the image latents with vae image = self.vae_decoder(latents * (1 / 0.18215))[self._vae_d_output] - + image = self.postprocess_image(image, meta, output_type) - return {"sample": image, 'iterations': img_buffer} - - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + return {"sample": image, "iterations": img_buffer} + + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. - + Parameters: prompt (str or list(str)): prompt to be encoded num_images_per_prompt (int): number of images that should be generated per prompt @@ -877,7 +900,7 @@ of the variational auto encoder. text_embeddings (np.ndarray): text encoder hidden states """ batch_size = len(prompt) if isinstance(prompt, list) else 1 - + # tokenize input prompts text_inputs = self.tokenizer( prompt, @@ -887,18 +910,15 @@ of the variational auto encoder. return_tensors="np", ) text_input_ids = text_inputs.input_ids - - text_embeddings = self.text_encoder( - text_input_ids)[self._text_encoder_output] - + + text_embeddings = self.text_encoder(text_input_ids)[self._text_encoder_output] + # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) - + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: uncond_tokens: List[str] @@ -916,26 +936,25 @@ of the variational auto encoder. truncation=True, return_tensors="np", ) - + uncond_embeddings = self.text_encoder(uncond_input.input_ids)[self._text_encoder_output] - + # duplicate unconditional embeddings for each generation per prompt, using mps friendly method seq_len = uncond_embeddings.shape[1] uncond_embeddings = np.tile(uncond_embeddings, (1, num_images_per_prompt, 1)) uncond_embeddings = np.reshape(uncond_embeddings, (batch_size * num_images_per_prompt, seq_len, -1)) - + # For classifier free guidance, we need to do two forward passes. # Here we concatenate the unconditional and text embeddings into a single batch # to avoid doing two forward passes text_embeddings = np.concatenate([uncond_embeddings, text_embeddings]) - + return text_embeddings - - - def prepare_latents(self, image:PIL.Image.Image = None, latent_timestep:torch.Tensor = None): + + def prepare_latents(self, image: PIL.Image.Image = None, latent_timestep: torch.Tensor = None): """ Function for getting initial latents for starting generation - + Parameters: image (PIL.Image.Image, *optional*, None): Input image for generation, if not provided randon noise will be used as starting point @@ -956,12 +975,12 @@ of the variational auto encoder. latents = self.vae_encoder(input_image)[self._vae_e_output] * 0.18215 latents = self.scheduler.add_noise(torch.from_numpy(latents), torch.from_numpy(noise), latent_timestep).numpy() return latents, meta - - def postprocess_image(self, image:np.ndarray, meta:Dict, output_type:str = "pil"): + + def postprocess_image(self, image: np.ndarray, meta: Dict, output_type: str = "pil"): """ - Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), + Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format - + Parameters: image (np.ndarray): Generated image @@ -987,34 +1006,32 @@ of the variational auto encoder. image = self.numpy_to_pil(image) if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - - def get_timesteps(self, num_inference_steps:int, strength:float): + + def get_timesteps(self, num_inference_steps: int, strength: float): """ Helper function for getting scheduler timesteps for generation In case of image-to-image generation, it updates number of steps according to strength - + Parameters: num_inference_steps (int): number of inference steps for generation strength (float): - value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. + value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. Values that approach 1.0 enable lots of variations but will also produce images that are not semantically consistent with the input. """ # get the original timestep using init_timestep init_timestep = min(int(num_inference_steps * strength), num_inference_steps) - + t_start = max(num_inference_steps - init_timestep, 0) timesteps = self.scheduler.timesteps[t_start:] - - return timesteps, num_inference_steps - t_start + + return timesteps, num_inference_steps - t_start Configure Inference Pipeline ---------------------------- @@ -1032,14 +1049,14 @@ Select device from dropdown list for running inference using OpenVINO. .. code:: ipython3 import ipywidgets as widgets - + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) - + device @@ -1053,7 +1070,6 @@ Select device from dropdown list for running inference using OpenVINO. .. code:: ipython3 - text_enc = core.compile_model(TEXT_ENCODER_OV_PATH, device.value) .. code:: ipython3 @@ -1063,7 +1079,7 @@ Select device from dropdown list for running inference using OpenVINO. .. code:: ipython3 ov_config = {"INFERENCE_PRECISION_HINT": "f32"} if device.value != "CPU" else {} - + vae_decoder = core.compile_model(VAE_DECODER_OV_PATH, device.value, ov_config) vae_encoder = core.compile_model(VAE_ENCODER_OV_PATH, device.value, ov_config) @@ -1074,21 +1090,17 @@ Let us define them and put all components together from transformers import CLIPTokenizer from diffusers.schedulers import LMSDiscreteScheduler - - lms = LMSDiscreteScheduler( - beta_start=0.00085, - beta_end=0.012, - beta_schedule="scaled_linear" - ) - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') - + + lms = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear") + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") + ov_pipe = OVStableDiffusionPipeline( tokenizer=tokenizer, text_encoder=text_enc, unet=unet_model, vae_encoder=vae_encoder, vae_decoder=vae_decoder, - scheduler=lms + scheduler=lms, ) Text-to-Image generation @@ -1106,15 +1118,18 @@ latent state initialization and number of steps. .. code:: ipython3 import ipywidgets as widgets - sample_text = ('cyberpunk cityscape like Tokyo New York with tall buildings at dusk golden hour cinematic lighting, epic composition. ' - 'A golden daylight, hyper-realistic environment. ' - 'Hyper and intricate detail, photo-realistic. ' - 'Cinematic and volumetric light. ' - 'Epic concept art. ' - 'Octane render and Unreal Engine, trending on artstation') - text_prompt = widgets.Text(value=sample_text, description='your text') - num_steps = widgets.IntSlider(min=1, max=50, value=20, description='steps:') - seed = widgets.IntSlider(min=0, max=10000000, description='seed: ', value=42) + + sample_text = ( + "cyberpunk cityscape like Tokyo New York with tall buildings at dusk golden hour cinematic lighting, epic composition. " + "A golden daylight, hyper-realistic environment. " + "Hyper and intricate detail, photo-realistic. " + "Cinematic and volumetric light. " + "Epic concept art. " + "Octane render and Unreal Engine, trending on artstation" + ) + text_prompt = widgets.Text(value=sample_text, description="your text") + num_steps = widgets.IntSlider(min=1, max=50, value=20, description="steps:") + seed = widgets.IntSlider(min=0, max=10000000, description="seed: ", value=42) widgets.VBox([text_prompt, seed, num_steps]) @@ -1128,10 +1143,10 @@ latent state initialization and number of steps. .. code:: ipython3 - print('Pipeline settings') - print(f'Input text: {text_prompt.value}') - print(f'Seed: {seed.value}') - print(f'Number of steps: {num_steps.value}') + print("Pipeline settings") + print(f"Input text: {text_prompt.value}") + print(f"Seed: {seed.value}") + print(f"Number of steps: {num_steps.value}") .. parsed-literal:: @@ -1159,20 +1174,27 @@ contains list of intermediate results for each step. .. code:: ipython3 - final_image = result['sample'][0] - if result['iterations']: - all_frames = result['iterations'] + final_image = result["sample"][0] + if result["iterations"]: + all_frames = result["iterations"] img = next(iter(all_frames)) - img.save(fp='result.gif', format='GIF', append_images=iter(all_frames), save_all=True, duration=len(all_frames) * 5, loop=0) - final_image.save('result.png') + img.save( + fp="result.gif", + format="GIF", + append_images=iter(all_frames), + save_all=True, + duration=len(all_frames) * 5, + loop=0, + ) + final_image.save("result.png") Now is show time! .. code:: ipython3 import ipywidgets as widgets - - text = '\n\t'.join(text_prompt.value.split('.')) + + text = "\n\t".join(text_prompt.value.split(".")) print("Input text:") print("\t" + text) display(final_image) @@ -1190,7 +1212,7 @@ Now is show time! -.. image:: 225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_33_1.png +.. image:: stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_33_1.png Nice. As you can see, the picture has quite a high definition 🔥. @@ -1209,15 +1231,15 @@ semantically consistent with the input. .. code:: ipython3 - text_prompt_i2i = widgets.Text(value='amazing watercolor painting', description='your text') - num_steps_i2i = widgets.IntSlider(min=1, max=50, value=10, description='steps:') - seed_i2i = widgets.IntSlider(min=0, max=1024, description='seed: ', value=42) + text_prompt_i2i = widgets.Text(value="amazing watercolor painting", description="your text") + num_steps_i2i = widgets.IntSlider(min=1, max=50, value=10, description="steps:") + seed_i2i = widgets.IntSlider(min=0, max=1024, description="seed: ", value=42) image_widget = widgets.FileUpload( - accept='', + accept="", multiple=False, - description='Upload image', + description="Upload image", ) - strength = widgets.FloatSlider(min=0, max=1, description='strength: ', value=0.5) + strength = widgets.FloatSlider(min=0, max=1, description="strength: ", value=0.5) widgets.VBox([text_prompt_i2i, seed_i2i, num_steps_i2i, image_widget, strength]) @@ -1232,33 +1254,41 @@ semantically consistent with the input. .. code:: ipython3 # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) - + + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file .. code:: ipython3 import io - + default_image_path = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - filename="coco.jpg" + filename="coco.jpg", ) - + # read uploaded image - image = PIL.Image.open(io.BytesIO(image_widget.value[-1]['content']) if image_widget.value else str(default_image_path)) - print('Pipeline settings') - print(f'Input text: {text_prompt_i2i.value}') - print(f'Seed: {seed_i2i.value}') - print(f'Number of steps: {num_steps_i2i.value}') - print(f'Strength: {strength.value}') + image = PIL.Image.open(io.BytesIO(image_widget.value[-1]["content"]) if image_widget.value else str(default_image_path)) + print("Pipeline settings") + print(f"Input text: {text_prompt_i2i.value}") + print(f"Seed: {seed_i2i.value}") + print(f"Number of steps: {num_steps_i2i.value}") + print(f"Strength: {strength.value}") print("Input image:") display(image) - processed_image = ov_pipe(text_prompt_i2i.value, image, num_inference_steps=num_steps_i2i.value, seed=seed_i2i.value, strength=strength.value) + processed_image = ov_pipe( + text_prompt_i2i.value, + image, + num_inference_steps=num_steps_i2i.value, + seed=seed_i2i.value, + strength=strength.value, + ) .. parsed-literal:: @@ -1272,7 +1302,7 @@ semantically consistent with the input. -.. image:: 225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_38_1.png +.. image:: stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_38_1.png @@ -1283,16 +1313,23 @@ semantically consistent with the input. .. code:: ipython3 - final_image_i2i = processed_image['sample'][0] - if processed_image['iterations']: - all_frames_i2i = processed_image['iterations'] + final_image_i2i = processed_image["sample"][0] + if processed_image["iterations"]: + all_frames_i2i = processed_image["iterations"] img = next(iter(all_frames_i2i)) - img.save(fp='result_i2i.gif', format='GIF', append_images=iter(all_frames_i2i), save_all=True, duration=len(all_frames_i2i) * 5, loop=0) - final_image_i2i.save('result_i2i.png') + img.save( + fp="result_i2i.gif", + format="GIF", + append_images=iter(all_frames_i2i), + save_all=True, + duration=len(all_frames_i2i) * 5, + loop=0, + ) + final_image_i2i.save("result_i2i.png") .. code:: ipython3 - text_i2i = '\n\t'.join(text_prompt_i2i.value.split('.')) + text_i2i = "\n\t".join(text_prompt_i2i.value.split(".")) print("Input text:") print("\t" + text_i2i) display(final_image_i2i) @@ -1305,7 +1342,7 @@ semantically consistent with the input. -.. image:: 225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_40_1.png +.. image:: stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_40_1.png Interactive demo @@ -1316,17 +1353,18 @@ Interactive demo .. code:: ipython3 import gradio as gr - + + def generate_from_text(text, seed, num_steps, _=gr.Progress(track_tqdm=True)): result = ov_pipe(text, num_inference_steps=num_steps, seed=seed) return result["sample"][0] - - + + def generate_from_image(img, text, seed, num_steps, strength, _=gr.Progress(track_tqdm=True)): result = ov_pipe(text, img, num_inference_steps=num_steps, seed=seed, strength=strength) return result["sample"][0] - - + + with gr.Blocks() as demo: with gr.Tab("Text-to-Image generation"): with gr.Row(): @@ -1351,14 +1389,26 @@ Interactive demo sample_i2i_text = "amazing watercolor painting" i2i_btn.click( generate_from_image, - [i2i_input, i2i_text_input, i2i_seed_input, i2i_steps_input, strength_input], + [ + i2i_input, + i2i_text_input, + i2i_seed_input, + i2i_steps_input, + strength_input, + ], i2i_out, ) gr.Examples( [[str(default_image_path), sample_i2i_text, 42, 10, 0.5]], - [i2i_input, i2i_text_input, i2i_seed_input, i2i_steps_input, strength_input], + [ + i2i_input, + i2i_text_input, + i2i_seed_input, + i2i_steps_input, + strength_input, + ], ) - + try: demo.queue().launch(debug=False) except Exception: @@ -1371,7 +1421,7 @@ Interactive demo .. parsed-literal:: Running on local URL: http://127.0.0.1:7860 - + To create a public link, set `share=True` in `launch()`. diff --git a/docs/notebooks/225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_33_1.png b/docs/notebooks/stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_33_1.png similarity index 100% rename from docs/notebooks/225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_33_1.png rename to docs/notebooks/stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_33_1.png diff --git a/docs/notebooks/225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_38_1.png b/docs/notebooks/stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_38_1.png similarity index 100% rename from docs/notebooks/225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_38_1.png rename to docs/notebooks/stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_38_1.png diff --git a/docs/notebooks/225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_40_1.png b/docs/notebooks/stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_40_1.png similarity index 100% rename from docs/notebooks/225-stable-diffusion-text-to-image-with-output_files/225-stable-diffusion-text-to-image-with-output_40_1.png rename to docs/notebooks/stable-diffusion-text-to-image-with-output_files/stable-diffusion-text-to-image-with-output_40_1.png diff --git a/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output.rst b/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output.rst similarity index 72% rename from docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output.rst rename to docs/notebooks/stable-diffusion-torchdynamo-backend-with-output.rst index a97fe657f36..c36ba0c3027 100644 --- a/docs/notebooks/276-stable-diffusion-torchdynamo-backend-with-output.rst +++ b/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output.rst @@ -1,6 +1,12 @@ Stable Diffusion v2.1 using OpenVINO TorchDynamo backend ======================================================== +.. container:: alert alert-block alert-danger + + Important note: Currently, PyTorch does not support torch.compile + feature on Windows officially. Please follow these instructions if + you want to run this tutorial on Windows. + Stable Diffusion v2 is the next generation of Stable Diffusion model a Text-to-Image latent diffusion model created by the researchers and engineers from `Stability AI `__ and @@ -49,7 +55,14 @@ Table of contents: import sys from IPython.display import HTML, display - sys.path.append("../utils") + # Fetch `ipython_exit` module + import requests + + r = requests.get("https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/ipython_exit.py") + + with open("ipython_exit.py", "w") as f: + f.write(r.text) + from ipython_exit import exit if sys.platform == "win32": @@ -63,10 +76,15 @@ Prerequisites .. code:: ipython3 - %pip install -q torch transformers diffusers gradio ipywidgets --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "torch>=2.1" transformers diffusers "gradio>=4.19" ipywidgets --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "openvino>=2023.3.0" +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + .. parsed-literal:: DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 @@ -82,6 +100,12 @@ Prerequisites DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 +.. parsed-literal:: + + ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. + openvino-tokenizers 2024.2.0.0.dev20240416 requires openvino~=2024.2.0.0.dev, but you have openvino 2024.0.0 which is incompatible. + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -100,19 +124,19 @@ Prerequisites .. parsed-literal:: - 2024-03-13 00:13:56.113209: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:13:56.146913: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 01:02:01.093954: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 01:02:01.129165: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:13:56.835981: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 01:02:01.757086: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. torch.utils._pytree._register_pytree_node( @@ -175,9 +199,9 @@ options `__ -.. - - **Note**: Currently, PyTorch does not support torch.compile feature - on Windows officially. Please follow `these - instructions `__ - if you want to access it on Windows. - Run Image generation ~~~~~~~~~~~~~~~~~~~~ @@ -258,7 +279,7 @@ Run Image generation -.. image:: 276-stable-diffusion-torchdynamo-backend-with-output_files/276-stable-diffusion-torchdynamo-backend-with-output_15_1.png +.. image:: stable-diffusion-torchdynamo-backend-with-output_files/stable-diffusion-torchdynamo-backend-with-output_15_1.png @@ -274,21 +295,37 @@ pipeline. Optionally, you can also change some input parameters. .. code:: ipython3 time_stamps = [] + + def callback(iter, t, latents): time_stamps.append(time.time()) def error_str(error, title="Error"): - return f"""#### {title} - {error}""" if error else "" + return ( + f"""#### {title} + {error}""" + if error + else "" + ) def on_mode_change(mode): - return gr.update(visible=mode == modes['img2img']), \ - gr.update(visible=mode == modes['txt2img']) + return gr.update(visible=mode == modes["img2img"]), gr.update(visible=mode == modes["txt2img"]) - def inference(inf_mode, prompt, guidance=7.5, steps=25, width=768, height=768, seed=-1, img=None, strength=0.5, neg_prompt=""): + def inference( + inf_mode, + prompt, + guidance=7.5, + steps=25, + width=768, + height=768, + seed=-1, + img=None, + strength=0.5, + neg_prompt="", + ): if seed == -1: seed = random.randint(0, 10000000) generator = torch.Generator().manual_seed(seed) @@ -297,51 +334,66 @@ pipeline. Optionally, you can also change some input parameters. global time_stamps, pipe time_stamps = [] try: - if inf_mode == modes['txt2img']: + if inf_mode == modes["txt2img"]: if type(pipe).__name__ != "StableDiffusionPipeline": pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float32) pipe.unet = torch.compile(pipe.unet, backend="openvino") - res = pipe(prompt, - negative_prompt=neg_prompt, - num_inference_steps=int(steps), - guidance_scale=guidance, - width=width, - height=height, - generator=generator, - callback=callback, - callback_steps=1).images - elif inf_mode == modes['img2img']: + res = pipe( + prompt, + negative_prompt=neg_prompt, + num_inference_steps=int(steps), + guidance_scale=guidance, + width=width, + height=height, + generator=generator, + callback=callback, + callback_steps=1, + ).images + elif inf_mode == modes["img2img"]: if img is None: - return None, None, gr.update(visible=True, value=error_str("Image is required for Image to Image mode")) + return ( + None, + None, + gr.update( + visible=True, + value=error_str("Image is required for Image to Image mode"), + ), + ) if type(pipe).__name__ != "StableDiffusionImg2ImgPipeline": pipe = StableDiffusionImg2ImgPipeline.from_pretrained(model_id, torch_dtype=torch.float32) pipe.unet = torch.compile(pipe.unet, backend="openvino") - res = pipe(prompt, - negative_prompt=neg_prompt, - image=img, - num_inference_steps=int(steps), - strength=strength, - guidance_scale=guidance, - generator=generator, - callback=callback, - callback_steps=1).images + res = pipe( + prompt, + negative_prompt=neg_prompt, + image=img, + num_inference_steps=int(steps), + strength=strength, + guidance_scale=guidance, + generator=generator, + callback=callback, + callback_steps=1, + ).images except Exception as e: return None, None, gr.update(visible=True, value=error_str(e)) - + warmup_duration = time_stamps[1] - time_stamps[0] generation_rate = (steps - 1) / (time_stamps[-1] - time_stamps[1]) res_info = "Warm up time: " + str(round(warmup_duration, 2)) + " secs " - if (generation_rate >= 1.0): + if generation_rate >= 1.0: res_info = res_info + ", Performance: " + str(round(generation_rate, 2)) + " it/s " else: res_info = res_info + ", Performance: " + str(round(1 / generation_rate, 2)) + " s/it " - return res, gr.update(visible=True, value=res_info), gr.update(visible=False, value=None) + return ( + res, + gr.update(visible=True, value=res_info), + gr.update(visible=False, value=None), + ) modes = { - 'txt2img': 'Text to Image', - 'img2img': 'Image to Image', + "txt2img": "Text to Image", + "img2img": "Image to Image", } with gr.Blocks(css="style.css") as demo: @@ -351,11 +403,17 @@ pipeline. Optionally, you can also change some input parameters. """ ) with gr.Row(): - with gr.Column(scale=60): with gr.Group(): - prompt = gr.Textbox("a photograph of an astronaut riding a horse", label="Prompt", max_lines=2) - neg_prompt = gr.Textbox("frames, borderline, text, character, duplicate, error, out of frame, watermark, low quality, ugly, deformed, blur", label="Negative prompt") + prompt = gr.Textbox( + "a photograph of an astronaut riding a horse", + label="Prompt", + max_lines=2, + ) + neg_prompt = gr.Textbox( + "frames, borderline, text, character, duplicate, error, out of frame, watermark, low quality, ugly, deformed, blur", + label="Negative prompt", + ) res_img = gr.Gallery(label="Generated images", show_label=False) error_output = gr.Markdown(visible=False) @@ -363,11 +421,17 @@ pipeline. Optionally, you can also change some input parameters. generate = gr.Button(value="Generate") with gr.Group(): - inf_mode = gr.Dropdown(list(modes.values()), label="Inference Mode", value=modes['txt2img']) - + inf_mode = gr.Dropdown(list(modes.values()), label="Inference Mode", value=modes["txt2img"]) + with gr.Column(visible=False) as i2i: image = gr.Image(label="Image", height=128, type="pil") - strength = gr.Slider(label="Transformation strength", minimum=0, maximum=1, step=0.01, value=0.5) + strength = gr.Slider( + label="Transformation strength", + minimum=0, + maximum=1, + step=0.01, + value=0.5, + ) with gr.Group(): with gr.Row() as txt2i: @@ -379,16 +443,25 @@ pipeline. Optionally, you can also change some input parameters. steps = gr.Slider(label="Steps", value=20, minimum=1, maximum=50, step=1) guidance = gr.Slider(label="Guidance scale", value=7.5, maximum=15) - seed = gr.Slider(-1, 10000000, label='Seed (-1 = random)', value=-1, step=1) - + seed = gr.Slider(-1, 10000000, label="Seed (-1 = random)", value=-1, step=1) + res_info = gr.Markdown(visible=False) - inf_mode.change(on_mode_change, inputs=[inf_mode], outputs=[ - i2i, txt2i], queue=False) + inf_mode.change(on_mode_change, inputs=[inf_mode], outputs=[i2i, txt2i], queue=False) + + inputs = [ + inf_mode, + prompt, + guidance, + steps, + width, + height, + seed, + image, + strength, + neg_prompt, + ] - inputs = [inf_mode, prompt, guidance, steps, - width, height, seed, image, strength, neg_prompt] - outputs = [res_img, res_info, error_output] prompt.submit(inference, inputs=inputs, outputs=outputs) generate.click(inference, inputs=inputs, outputs=outputs) diff --git a/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output_files/stable-diffusion-torchdynamo-backend-with-output_15_1.jpg b/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output_files/stable-diffusion-torchdynamo-backend-with-output_15_1.jpg new file mode 100644 index 00000000000..031b96105ff --- /dev/null +++ b/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output_files/stable-diffusion-torchdynamo-backend-with-output_15_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df6b732c8923a562843961ded9a24ddc9ead773513df30d6fb8def875c1565bc +size 29462 diff --git a/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output_files/stable-diffusion-torchdynamo-backend-with-output_15_1.png b/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output_files/stable-diffusion-torchdynamo-backend-with-output_15_1.png new file mode 100644 index 00000000000..f81fbb33433 --- /dev/null +++ b/docs/notebooks/stable-diffusion-torchdynamo-backend-with-output_files/stable-diffusion-torchdynamo-backend-with-output_15_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae542d1fce059293778d7c921eb3dec3b2cb3538f7c0943742ede02696affb9 +size 385559 diff --git a/docs/notebooks/236-stable-diffusion-v2-infinite-zoom-with-output.rst b/docs/notebooks/stable-diffusion-v2-infinite-zoom-with-output.rst similarity index 90% rename from docs/notebooks/236-stable-diffusion-v2-infinite-zoom-with-output.rst rename to docs/notebooks/stable-diffusion-v2-infinite-zoom-with-output.rst index f3b70fa431c..427eca0149d 100644 --- a/docs/notebooks/236-stable-diffusion-v2-infinite-zoom-with-output.rst +++ b/docs/notebooks/stable-diffusion-v2-infinite-zoom-with-output.rst @@ -20,9 +20,9 @@ fantastic world of diffusion models for everyone! In previous notebooks, we already discussed how to run `Text-to-Image generation and Image-to-Image generation using Stable Diffusion -v1 <225-stable-diffusion-text-to-image-with-output.html>`__ +v1 `__ and `controlling its generation process using -ControlNet <235-controlnet-stable-diffusio235-controlnet-stable-diffusion-with-output.html>`__. +ControlNet <./controlnet-stable-diffusion/controlnet-stable-diffusion.ipynb>`__. Now is turn of Stable Diffusion v2. Stable Diffusion v2: What’s new? @@ -149,7 +149,7 @@ install required packages .. code:: ipython3 - %pip install -q "diffusers>=0.14.0" "transformers>=4.25.1" gradio "openvino>=2023.1.0" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "diffusers>=0.14.0" "transformers>=4.25.1" "gradio>=4.19" "openvino>=2023.1.0" "torch>=2.1" Pillow opencv-python --extra-index-url https://download.pytorch.org/whl/cpu Stable Diffusion in Diffusers library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -170,9 +170,9 @@ The code below demonstrates how to create .. code:: ipython3 from diffusers import StableDiffusionInpaintPipeline, DPMSolverMultistepScheduler - + model_id_inpaint = "stabilityai/stable-diffusion-2-inpainting" - + pipe_inpaint = StableDiffusionInpaintPipeline.from_pretrained(model_id_inpaint) scheduler_inpaint = DPMSolverMultistepScheduler.from_config(pipe_inpaint.scheduler.config) @@ -194,14 +194,14 @@ The code below demonstrates how to create .. code:: ipython3 import gc - + text_encoder_inpaint = pipe_inpaint.text_encoder text_encoder_inpaint.eval() unet_inpaint = pipe_inpaint.unet unet_inpaint.eval() vae_inpaint = pipe_inpaint.vae vae_inpaint.eval() - + del pipe_inpaint gc.collect(); @@ -211,10 +211,10 @@ Convert models to OpenVINO Intermediate representation (IR) format Conversion part of model stayed remain as in `Text-to-Image generation -notebook <236-stable-diffusion-v2-text-to-image-with-output.html>`__. Except -U-Net now has 9 channels, which now calculated like 4 for U-Net -generated latents channels + 4 for latent representation of masked image -+ 1 channel resized mask. +notebook <./stable-diffusion-v2-text-to-image.ipynb>`__. Except U-Net +now has 9 channels, which now calculated like 4 for U-Net generated +latents channels + 4 for latent representation of masked image + 1 +channel resized mask. .. code:: ipython3 @@ -222,7 +222,7 @@ generated latents channels + 4 for latent representation of masked image import torch import numpy as np import openvino as ov - + sd2_inpainting_model_dir = Path("sd2_inpainting") sd2_inpainting_model_dir.mkdir(exist_ok=True) @@ -235,9 +235,9 @@ generated latents channels + 4 for latent representation of masked image torch._C._jit_clear_class_registry() torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() torch.jit._state._clear_class_state() - - - def convert_encoder(text_encoder: torch.nn.Module, ir_path:Path): + + + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ Convert Text Encoder model to IR. Function accepts pipeline, prepares example inputs for conversion @@ -251,22 +251,28 @@ generated latents channels + 4 for latent representation of masked image input_ids = torch.ones((1, 77), dtype=torch.long) # switch model to inference mode text_encoder.eval() - + # disable gradients calculation for reducing memory consumption with torch.no_grad(): # export model ov_model = ov.convert_model( text_encoder, # model instance example_input=input_ids, # example inputs for model tracing - input=([1,77],) # input shape for conversion + input=([1, 77],), # input shape for conversion ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('Text Encoder successfully converted to IR') - - - def convert_unet(unet:torch.nn.Module, ir_path:Path, num_channels:int = 4, width:int = 64, height:int = 64): + print("Text Encoder successfully converted to IR") + + + def convert_unet( + unet: torch.nn.Module, + ir_path: Path, + num_channels: int = 4, + width: int = 64, + height: int = 64, + ): """ Convert Unet model to IR format. Function accepts pipeline, prepares example inputs for conversion @@ -279,10 +285,7 @@ generated latents channels + 4 for latent representation of masked image Returns: None """ - dtype_mapping = { - torch.float32: ov.Type.f32, - torch.float64: ov.Type.f64 - } + dtype_mapping = {torch.float32: ov.Type.f32, torch.float64: ov.Type.f64} if not ir_path.exists(): # prepare inputs encoder_hidden_state = torch.ones((2, 77, 1024)) @@ -296,20 +299,16 @@ generated latents channels + 4 for latent representation of masked image shape = ov.PartialShape(tuple(input_tensor.shape)) element_type = dtype_mapping[input_tensor.dtype] input_info.append((shape, element_type)) - + with torch.no_grad(): - ov_model = ov.convert_model( - unet, - example_input=dummy_inputs, - input=input_info - ) + ov_model = ov.convert_model(unet, example_input=dummy_inputs, input=input_info) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('U-Net successfully converted to IR') - - - def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path, width:int = 512, height:int = 512): + print("U-Net successfully converted to IR") + + + def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path, width: int = 512, height: int = 512): """ Convert VAE model to IR format. VAE model, creates wrapper class for export only necessary for inference part, @@ -322,27 +321,28 @@ generated latents channels + 4 for latent representation of masked image Returns: None """ + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() self.vae = vae - + def forward(self, image): return self.vae.encode(x=image)["latent_dist"].sample() - + if not ir_path.exists(): vae_encoder = VAEEncoderWrapper(vae) vae_encoder.eval() image = torch.zeros((1, 3, width, height)) with torch.no_grad(): - ov_model = ov.convert_model(vae_encoder, example_input=image, input=([1,3, width, height],)) + ov_model = ov.convert_model(vae_encoder, example_input=image, input=([1, 3, width, height],)) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE encoder successfully converted to IR') - - - def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path, width:int = 64, height:int = 64): + print("VAE encoder successfully converted to IR") + + + def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path, width: int = 64, height: int = 64): """ Convert VAE decoder model to IR format. Function accepts VAE model, creates wrapper class for export only necessary for inference part, @@ -355,35 +355,36 @@ generated latents channels + 4 for latent representation of masked image Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() self.vae = vae - + def forward(self, latents): return self.vae.decode(latents) - + if not ir_path.exists(): vae_decoder = VAEDecoderWrapper(vae) latents = torch.zeros((1, 4, width, height)) - + vae_decoder.eval() with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=latents, input=([1,4, width, height],)) + ov_model = ov.convert_model(vae_decoder, example_input=latents, input=([1, 4, width, height],)) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE decoder successfully converted to IR') + print("VAE decoder successfully converted to IR") .. code:: ipython3 TEXT_ENCODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / "text_encoder.xml" - + if not TEXT_ENCODER_OV_PATH_INPAINT.exists(): convert_encoder(text_encoder_inpaint, TEXT_ENCODER_OV_PATH_INPAINT) else: print(f"Text encoder will be loaded from {TEXT_ENCODER_OV_PATH_INPAINT}") - + del text_encoder_inpaint gc.collect(); @@ -395,7 +396,7 @@ generated latents channels + 4 for latent representation of masked image .. code:: ipython3 - UNET_OV_PATH_INPAINT = sd2_inpainting_model_dir / 'unet.xml' + UNET_OV_PATH_INPAINT = sd2_inpainting_model_dir / "unet.xml" if not UNET_OV_PATH_INPAINT.exists(): convert_unet(unet_inpaint, UNET_OV_PATH_INPAINT, num_channels=9, width=64, height=64) del unet_inpaint @@ -413,19 +414,19 @@ generated latents channels + 4 for latent representation of masked image .. code:: ipython3 - VAE_ENCODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / 'vae_encoder.xml' - + VAE_ENCODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / "vae_encoder.xml" + if not VAE_ENCODER_OV_PATH_INPAINT.exists(): convert_vae_encoder(vae_inpaint, VAE_ENCODER_OV_PATH_INPAINT, 512, 512) else: print(f"VAE encoder will be loaded from {VAE_ENCODER_OV_PATH_INPAINT}") - - VAE_DECODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / 'vae_decoder.xml' + + VAE_DECODER_OV_PATH_INPAINT = sd2_inpainting_model_dir / "vae_decoder.xml" if not VAE_DECODER_OV_PATH_INPAINT.exists(): convert_vae_decoder(vae_inpaint, VAE_DECODER_OV_PATH_INPAINT, 64, 64) else: print(f"VAE decoder will be loaded from {VAE_DECODER_OV_PATH_INPAINT}") - + del vae_inpaint gc.collect(); @@ -450,61 +451,61 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in import inspect from typing import List, Optional, Union, Dict - + import PIL import cv2 - + from transformers import CLIPTokenizer from diffusers import DiffusionPipeline from diffusers.schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMScheduler - - - def prepare_mask_and_masked_image(image:PIL.Image.Image, mask:PIL.Image.Image): + + + def prepare_mask_and_masked_image(image: PIL.Image.Image, mask: PIL.Image.Image): """ Prepares a pair (image, mask) to be consumed by the Stable Diffusion pipeline. This means that those inputs will be converted to ``np.array`` with shapes ``batch x channels x height x width`` where ``channels`` is ``3`` for the ``image`` and ``1`` for the ``mask``. - + The ``image`` will be converted to ``np.float32`` and normalized to be in ``[-1, 1]``. The ``mask`` will be binarized (``mask > 0.5``) and cast to ``np.float32`` too. - + Args: image (Union[np.array, PIL.Image]): The image to inpaint. It can be a ``PIL.Image``, or a ``height x width x 3`` ``np.array`` mask (_type_): The mask to apply to the image, i.e. regions to inpaint. It can be a ``PIL.Image``, or a ``height x width`` ``np.array``. - + Returns: tuple[np.array]: The pair (mask, masked_image) as ``torch.Tensor`` with 4 dimensions: ``batch x channels x height x width``. """ if isinstance(image, (PIL.Image.Image, np.ndarray)): image = [image] - + if isinstance(image, list) and isinstance(image[0], PIL.Image.Image): image = [np.array(i.convert("RGB"))[None, :] for i in image] image = np.concatenate(image, axis=0) elif isinstance(image, list) and isinstance(image[0], np.ndarray): image = np.concatenate([i[None, :] for i in image], axis=0) - + image = image.transpose(0, 3, 1, 2) image = image.astype(np.float32) / 127.5 - 1.0 - + # preprocess mask if isinstance(mask, (PIL.Image.Image, np.ndarray)): mask = [mask] - + if isinstance(mask, list) and isinstance(mask[0], PIL.Image.Image): mask = np.concatenate([np.array(m.convert("L"))[None, None, :] for m in mask], axis=0) mask = mask.astype(np.float32) / 255.0 elif isinstance(mask, list) and isinstance(mask[0], np.ndarray): mask = np.concatenate([m[None, None, :] for m in mask], axis=0) - + mask[mask < 0.5] = 0 mask[mask >= 0.5] = 1 - + masked_image = image * (mask < 0.5) - + return mask, masked_image @@ -558,7 +559,7 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in self.width = self.unet.input(0).shape[3] * 8 self.tokenizer = tokenizer self.register_to_config(_progress_bar_config={}) - + def prepare_mask_latents( self, mask, @@ -569,7 +570,7 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in ): """ Prepare mask as Unet nput and encode input masked image to latent space using vae encoder - + Parameters: mask (np.array): input mask array masked_image (np.array): masked input image tensor @@ -582,19 +583,15 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in """ mask = torch.nn.functional.interpolate(torch.from_numpy(mask), size=(height // 8, width // 8)) mask = mask.numpy() - + # encode the mask image into latents space so we can concatenate it to the latents latents = self.vae_encoder(masked_image)[self._vae_e_output] masked_image_latents = latents * 0.18215 - + mask = np.concatenate([mask] * 2) if do_classifier_free_guidance else mask - masked_image_latents = ( - np.concatenate([masked_image_latents] * 2) - if do_classifier_free_guidance - else masked_image_latents - ) + masked_image_latents = np.concatenate([masked_image_latents] * 2) if do_classifier_free_guidance else masked_image_latents return mask, masked_image_latents - + def __call__( self, prompt: Union[str, List[str]], @@ -653,17 +650,15 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in # prepare mask mask, masked_image = prepare_mask_and_masked_image(image, mask_image) # set timesteps - accepts_offset = "offset" in set( - inspect.signature(self.scheduler.set_timesteps).parameters.keys() - ) + accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) extra_set_kwargs = {} if accepts_offset: extra_set_kwargs["offset"] = 1 - + self.scheduler.set_timesteps(num_inference_steps, **extra_set_kwargs) timesteps, num_inference_steps = self.get_timesteps(num_inference_steps, 1) latent_timestep = timesteps[:1] - + # get the initial random noise unless the user supplied it latents, meta = self.prepare_latents(latent_timestep) mask, masked_image_latents = self.prepare_mask_latents( @@ -671,40 +666,28 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in masked_image, do_classifier_free_guidance=do_classifier_free_guidance, ) - + # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers. # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502 # and should be between [0, 1] - accepts_eta = "eta" in set( - inspect.signature(self.scheduler.step).parameters.keys() - ) + accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys()) extra_step_kwargs = {} if accepts_eta: extra_step_kwargs["eta"] = eta - + for t in self.progress_bar(timesteps): # expand the latents if we are doing classifier free guidance - latent_model_input = ( - np.concatenate([latents] * 2) - if do_classifier_free_guidance - else latents - ) + latent_model_input = np.concatenate([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) - latent_model_input = np.concatenate( - [latent_model_input, mask, masked_image_latents], axis=1 - ) + latent_model_input = np.concatenate([latent_model_input, mask, masked_image_latents], axis=1) # predict the noise residual - noise_pred = self.unet( - [latent_model_input, np.array(t, dtype=np.float32), text_embeddings] - )[self._unet_output] + noise_pred = self.unet([latent_model_input, np.array(t, dtype=np.float32), text_embeddings])[self._unet_output] # perform guidance if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred[0], noise_pred[1] - noise_pred = noise_pred_uncond + guidance_scale * ( - noise_pred_text - noise_pred_uncond - ) - + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + # compute the previous noisy sample x_t -> x_t-1 latents = self.scheduler.step( torch.from_numpy(noise_pred), @@ -714,14 +697,20 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in )["prev_sample"].numpy() # scale and decode the image latents with vae image = self.vae_decoder(latents * (1 / 0.18215))[self._vae_d_output] - + image = self.postprocess_image(image, meta, output_type) return {"sample": image} - - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. - + Parameters: prompt (str or list(str)): prompt to be encoded num_images_per_prompt (int): number of images that should be generated per prompt @@ -731,7 +720,7 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in text_embeddings (np.ndarray): text encoder hidden states """ batch_size = len(prompt) if isinstance(prompt, list) else 1 - + # tokenize input prompts text_inputs = self.tokenizer( prompt, @@ -741,18 +730,15 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in return_tensors="np", ) text_input_ids = text_inputs.input_ids - - text_embeddings = self.text_encoder( - text_input_ids)[self._text_encoder_output] - + + text_embeddings = self.text_encoder(text_input_ids)[self._text_encoder_output] + # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) - + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: uncond_tokens: List[str] @@ -770,25 +756,25 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in truncation=True, return_tensors="np", ) - + uncond_embeddings = self.text_encoder(uncond_input.input_ids)[self._text_encoder_output] - + # duplicate unconditional embeddings for each generation per prompt, using mps friendly method seq_len = uncond_embeddings.shape[1] uncond_embeddings = np.tile(uncond_embeddings, (1, num_images_per_prompt, 1)) uncond_embeddings = np.reshape(uncond_embeddings, (batch_size * num_images_per_prompt, seq_len, -1)) - + # For classifier free guidance, we need to do two forward passes. # Here we concatenate the unconditional and text embeddings into a single batch # to avoid doing two forward passes text_embeddings = np.concatenate([uncond_embeddings, text_embeddings]) - + return text_embeddings - - def prepare_latents(self, latent_timestep:torch.Tensor = None): + + def prepare_latents(self, latent_timestep: torch.Tensor = None): """ Function for getting initial latents for starting generation - + Parameters: latent_timestep (torch.Tensor, *optional*, None): Predicted by scheduler initial step for image generation, required for latent image mixing with nosie @@ -802,12 +788,12 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in if isinstance(self.scheduler, LMSDiscreteScheduler): noise = noise * self.scheduler.sigmas[0].numpy() return noise, {} - - def postprocess_image(self, image:np.ndarray, meta:Dict, output_type:str = "pil"): + + def postprocess_image(self, image: np.ndarray, meta: Dict, output_type: str = "pil"): """ Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format - + Parameters: image (np.ndarray): Generated image @@ -833,20 +819,18 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in image = self.numpy_to_pil(image) if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - - def get_timesteps(self, num_inference_steps:int, strength:float): + + def get_timesteps(self, num_inference_steps: int, strength: float): """ Helper function for getting scheduler timesteps for generation In case of image-to-image generation, it updates number of steps according to strength - + Parameters: num_inference_steps (int): number of inference steps for generation @@ -856,10 +840,10 @@ We will reuse ``OVStableDiffusionPipeline`` basic utilities in """ # get the original timestep using init_timestep init_timestep = min(int(num_inference_steps * strength), num_inference_steps) - + t_start = max(num_inference_steps - init_timestep, 0) timesteps = self.scheduler.timesteps[t_start:] - + return timesteps, num_inference_steps - t_start Zoom Video Generation @@ -894,20 +878,22 @@ generation is finished, we record frames in reversed order. .. code:: ipython3 from tqdm import trange + + def generate_video( - pipe:OVStableDiffusionInpaintingPipeline, - prompt:Union[str, List[str]], - negative_prompt:Union[str, List[str]], - guidance_scale:float = 7.5, - num_inference_steps:int = 20, - num_frames:int = 20, - mask_width:int = 128, - seed:int = 9999, - zoom_in:bool = False, + pipe: OVStableDiffusionInpaintingPipeline, + prompt: Union[str, List[str]], + negative_prompt: Union[str, List[str]], + guidance_scale: float = 7.5, + num_inference_steps: int = 20, + num_frames: int = 20, + mask_width: int = 128, + seed: int = 9999, + zoom_in: bool = False, ): """ Zoom video generation function - + Parameters: pipe (OVStableDiffusionInpaintingPipeline): inpainting pipeline. prompt (str or List[str]): The prompt or prompts to guide the image generation. @@ -925,15 +911,15 @@ generation is finished, we record frames in reversed order. Returns: output_path (str): Path where generated video loacated. """ - + height = 512 width = height - + current_image = PIL.Image.new(mode="RGBA", size=(height, width)) mask_image = np.array(current_image)[:, :, 3] mask_image = PIL.Image.fromarray(255 - mask_image).convert("RGB") current_image = current_image.convert("RGB") - pipe.set_progress_bar_config(desc='Generating initial image...') + pipe.set_progress_bar_config(desc="Generating initial image...") init_images = pipe( prompt=prompt, negative_prompt=negative_prompt, @@ -944,26 +930,29 @@ generation is finished, we record frames in reversed order. num_inference_steps=num_inference_steps, )["sample"] pipe.set_progress_bar_config() - + image_grid(init_images, rows=1, cols=1) - + num_outpainting_steps = num_frames num_interpol_frames = 30 - + current_image = init_images[0] all_frames = [] all_frames.append(current_image) - for i in trange(num_outpainting_steps, desc=f'Generating {num_outpainting_steps} additional images...'): + for i in trange( + num_outpainting_steps, + desc=f"Generating {num_outpainting_steps} additional images...", + ): prev_image_fix = current_image - + prev_image = shrink_and_paste_on_blank(current_image, mask_width) - + current_image = prev_image - + # create mask (black image with white mask_width width edges) mask_image = np.array(current_image)[:, :, 3] mask_image = PIL.Image.fromarray(255 - mask_image).convert("RGB") - + # inpainting step current_image = current_image.convert("RGB") images = pipe( @@ -977,7 +966,7 @@ generation is finished, we record frames in reversed order. )["sample"] current_image = images[0] current_image.paste(prev_image, mask=prev_image) - + # interpolation steps bewteen 2 inpainted images (=sequential zoom and crop) for j in range(num_interpol_frames - 1): interpol_image = current_image @@ -990,16 +979,16 @@ generation is finished, we record frames in reversed order. height - interpol_width, ) ) - + interpol_image = interpol_image.resize((height, width)) - + # paste the higher resolution previous image in the middle to avoid drop in quality caused by zooming interpol_width2 = round((1 - (height - 2 * mask_width) / (height - 2 * interpol_width)) / 2 * height) prev_image_fix_crop = shrink_and_paste_on_blank(prev_image_fix, interpol_width2) interpol_image.paste(prev_image_fix_crop, mask=prev_image_fix_crop) all_frames.append(interpol_image) all_frames.append(current_image) - + video_file_name = f"infinite_zoom_{'in' if zoom_in else 'out'}" fps = 30 save_path = video_file_name + ".mp4" @@ -1008,44 +997,42 @@ generation is finished, we record frames in reversed order. .. code:: ipython3 - def shrink_and_paste_on_blank(current_image:PIL.Image.Image, mask_width:int): + def shrink_and_paste_on_blank(current_image: PIL.Image.Image, mask_width: int): """ Decreases size of current_image by mask_width pixels from each side, then adds a mask_width width transparent frame, so that the image the function returns is the same size as the input. - + Parameters: current_image (PIL.Image): input image to transform mask_width (int): width in pixels to shrink from each side Returns: prev_image (PIL.Image): resized image with extended borders """ - + height = current_image.height width = current_image.width - + # shrink down by mask_width prev_image = current_image.resize((height - 2 * mask_width, width - 2 * mask_width)) prev_image = prev_image.convert("RGBA") prev_image = np.array(prev_image) - + # create blank non-transparent image blank_image = np.array(current_image.convert("RGBA")) * 0 blank_image[:, :, 3] = 1 - + # paste shrinked onto blank - blank_image[ - mask_width : height - mask_width, mask_width : width - mask_width, : - ] = prev_image + blank_image[mask_width : height - mask_width, mask_width : width - mask_width, :] = prev_image prev_image = PIL.Image.fromarray(blank_image) - + return prev_image - - - def image_grid(imgs:List[PIL.Image.Image], rows:int, cols:int): + + + def image_grid(imgs: List[PIL.Image.Image], rows: int, cols: int): """ Insert images to grid - + Parameters: imgs (List[PIL.Image.Image]): list of images for making grid rows (int): number of rows in grid @@ -1054,19 +1041,25 @@ generation is finished, we record frames in reversed order. grid (PIL.Image): image with input images collage """ assert len(imgs) == rows * cols - + w, h = imgs[0].size grid = PIL.Image.new("RGB", size=(cols * w, rows * h)) - + for i, img in enumerate(imgs): grid.paste(img, box=(i % cols * w, i // cols * h)) return grid - - - def write_video(file_path:str, frames:List[PIL.Image.Image], fps:float, reversed_order:bool = True, gif:bool = True): + + + def write_video( + file_path: str, + frames: List[PIL.Image.Image], + fps: float, + reversed_order: bool = True, + gif: bool = True, + ): """ Writes frames to an mp4 video file and optionaly to gif - + Parameters: file_path (str): Path to output video, must end with .mp4 frames (List of PIL.Image): list of frames @@ -1078,17 +1071,17 @@ generation is finished, we record frames in reversed order. """ if reversed_order: frames.reverse() - + w, h = frames[0].size fourcc = cv2.VideoWriter_fourcc("m", "p", "4", "v") # fourcc = cv2.VideoWriter_fourcc(*'avc1') writer = cv2.VideoWriter(file_path, fourcc, fps, (w, h)) - + for frame in frames: np_frame = np.array(frame.convert("RGB")) cv_frame = cv2.cvtColor(np_frame, cv2.COLOR_RGB2BGR) writer.write(cv_frame) - + writer.release() if gif: frames[0].save( @@ -1111,8 +1104,8 @@ class .. code:: ipython3 core = ov.Core() - - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') + + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") Select inference device ~~~~~~~~~~~~~~~~~~~~~~~ @@ -1124,14 +1117,14 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 import ipywidgets as widgets - + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) - + device @@ -1146,13 +1139,13 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 ov_config = {"INFERENCE_PRECISION_HINT": "f32"} if device.value != "CPU" else {} - - + + text_enc_inpaint = core.compile_model(TEXT_ENCODER_OV_PATH_INPAINT, device.value) unet_model_inpaint = core.compile_model(UNET_OV_PATH_INPAINT, device.value) vae_decoder_inpaint = core.compile_model(VAE_DECODER_OV_PATH_INPAINT, device.value, ov_config) vae_encoder_inpaint = core.compile_model(VAE_ENCODER_OV_PATH_INPAINT, device.value, ov_config) - + ov_pipe_inpaint = OVStableDiffusionInpaintingPipeline( tokenizer=tokenizer, text_encoder=text_enc_inpaint, @@ -1171,7 +1164,8 @@ Run Infinite Zoom video generation import gradio as gr from socket import gethostbyname, gethostname - + + def generate( prompt, negative_prompt, @@ -1193,8 +1187,8 @@ Run Infinite Zoom video generation zoom_in=zoom_in, ) return video_path.replace(".mp4", ".gif") - - + + gr.close_all() demo = gr.Interface( generate, @@ -1220,6 +1214,20 @@ Run Infinite Zoom video generation Running on local URL: http://127.0.0.1:7860 Running on public URL: https://372deef95f8b1d0168.gradio.live - + This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces) + + + + + + + + + + + + + + diff --git a/docs/notebooks/236-stable-diffusion-v2-optimum-demo-with-output.rst b/docs/notebooks/stable-diffusion-v2-optimum-demo-with-output.rst similarity index 89% rename from docs/notebooks/236-stable-diffusion-v2-optimum-demo-with-output.rst rename to docs/notebooks/stable-diffusion-v2-optimum-demo-with-output.rst index 7fc85733aae..1a113eeee37 100644 --- a/docs/notebooks/236-stable-diffusion-v2-optimum-demo-with-output.rst +++ b/docs/notebooks/stable-diffusion-v2-optimum-demo-with-output.rst @@ -28,7 +28,7 @@ this .. code:: ipython3 - %pip install -q "optimum-intel[openvino,diffusers]@git+https://github.com/huggingface/optimum-intel.git" "ipywidgets" "transformers>=4.33.0" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "optimum-intel[openvino,diffusers]@git+https://github.com/huggingface/optimum-intel.git" "ipywidgets" "transformers>=4.33.0" "torch>=2.1" --extra-index-url https://download.pytorch.org/whl/cpu Stable Diffusion pipeline should brings 6 elements together, a text encoder model with a tokenizer, a UNet model with and scheduler, and an @@ -47,7 +47,8 @@ OpenVINO’s integration into Optimum. .. code:: ipython3 import warnings - warnings.filterwarnings('ignore') + + warnings.filterwarnings("ignore") Showing Info Available Devices ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -64,13 +65,13 @@ If you just have either an iGPU or dGPU that will be assigned to .. code:: ipython3 - from openvino.runtime import Core + import openvino as ov - ie = Core() - devices = ie.available_devices + core = ov.Core() + devices = core.available_devices for device in devices: - device_name = ie.get_property(device, "FULL_DEVICE_NAME") + device_name = core.get_property(device, "FULL_DEVICE_NAME") print(f"{device}: {device_name}") @@ -93,7 +94,7 @@ Select device from dropdown list for running inference using OpenVINO. import ipywidgets as widgets device = widgets.Dropdown( - options=ie.available_devices + ["AUTO"], + options=core.available_devices + ["AUTO"], value="CPU", description="Device:", disabled=False, @@ -130,7 +131,7 @@ Using full precision model in choice device with ``OVStableDiffusionPipeline`` import gc - # Generate an image. + # Generate an image. prompt = "red car in snowy forest, epic vista, beautiful landscape, 4k, 8k" output_ov = ov_pipe(prompt, num_inference_steps=17, output_type="pil").images[0] output_ov.save("image.png") @@ -145,7 +146,7 @@ Using full precision model in choice device with ``OVStableDiffusionPipeline`` -.. image:: 236-stable-diffusion-v2-optimum-demo-with-output_files/236-stable-diffusion-v2-optimum-demo-with-output_11_1.png +.. image:: stable-diffusion-v2-optimum-demo-with-output_files/stable-diffusion-v2-optimum-demo-with-output_11_1.png diff --git a/docs/notebooks/236-stable-diffusion-v2-optimum-demo-with-output_files/236-stable-diffusion-v2-optimum-demo-with-output_11_1.jpg b/docs/notebooks/stable-diffusion-v2-optimum-demo-with-output_files/stable-diffusion-v2-optimum-demo-with-output_11_1.jpg similarity index 100% rename from docs/notebooks/236-stable-diffusion-v2-optimum-demo-with-output_files/236-stable-diffusion-v2-optimum-demo-with-output_11_1.jpg rename to docs/notebooks/stable-diffusion-v2-optimum-demo-with-output_files/stable-diffusion-v2-optimum-demo-with-output_11_1.jpg diff --git a/docs/notebooks/236-stable-diffusion-v2-optimum-demo-with-output_files/236-stable-diffusion-v2-optimum-demo-with-output_11_1.png b/docs/notebooks/stable-diffusion-v2-optimum-demo-with-output_files/stable-diffusion-v2-optimum-demo-with-output_11_1.png similarity index 100% rename from docs/notebooks/236-stable-diffusion-v2-optimum-demo-with-output_files/236-stable-diffusion-v2-optimum-demo-with-output_11_1.png rename to docs/notebooks/stable-diffusion-v2-optimum-demo-with-output_files/stable-diffusion-v2-optimum-demo-with-output_11_1.png diff --git a/docs/notebooks/236-stable-diffusion-v2-text-to-image-demo-with-output.rst b/docs/notebooks/stable-diffusion-v2-text-to-image-demo-with-output.rst similarity index 84% rename from docs/notebooks/236-stable-diffusion-v2-text-to-image-demo-with-output.rst rename to docs/notebooks/stable-diffusion-v2-text-to-image-demo-with-output.rst index 9b862a14f97..c5b9893462e 100644 --- a/docs/notebooks/236-stable-diffusion-v2-text-to-image-demo-with-output.rst +++ b/docs/notebooks/stable-diffusion-v2-text-to-image-demo-with-output.rst @@ -12,14 +12,14 @@ less restrictive filtering of the dataset. All of these features give us promising results for selecting a wide range of input text prompts! **Note:** This is a shorter version of the -`236-stable-diffusion-v2-text-to-image `__ +`stable-diffusion-v2-text-to-image `__ notebook for demo purposes and to get started quickly. This version does not have the full implementation of the helper utilities needed to convert the models from PyTorch to ONNX to OpenVINO, and the OpenVINO ``OVStableDiffusionPipeline`` within the notebook directly. If you would like to see the full implementation of stable diffusion for text to image, please visit -`236-stable-diffusion-v2-text-to-image `__. +`stable-diffusion-v2-text-to-image `__. Table of contents: ^^^^^^^^^^^^^^^^^^ @@ -59,7 +59,7 @@ pipelines `__. .. code:: ipython3 - %pip install -q "diffusers>=0.14.0" "openvino>=2023.1.0" "transformers>=4.31" accelerate "urllib3==1.26.15" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "diffusers>=0.14.0" "openvino>=2023.1.0" "transformers>=4.31" accelerate "torch>=2.1" Pillow opencv-python --extra-index-url https://download.pytorch.org/whl/cpu .. parsed-literal:: @@ -171,7 +171,12 @@ pipelines in OpenVINO on our own data! .. code:: ipython3 - from implementation.conversion_helper_utils import convert_encoder, convert_unet, convert_vae_decoder, convert_vae_encoder + from implementation.conversion_helper_utils import ( + convert_encoder, + convert_unet, + convert_vae_decoder, + convert_vae_encoder, + ) # Convert the Text-to-Image models from PyTorch -> Onnx -> OpenVINO # 1. Convert the Text Encoder @@ -207,14 +212,14 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 import ipywidgets as widgets - from openvino.runtime import Core + import openvino as ov - core = Core() + core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -272,7 +277,7 @@ As part of the ``OVStableDiffusionPipeline()`` class: from implementation.ov_stable_diffusion_pipeline import OVStableDiffusionPipeline scheduler = LMSDiscreteScheduler.from_config(conf) - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") ov_pipe = OVStableDiffusionPipeline( tokenizer=tokenizer, @@ -280,13 +285,13 @@ As part of the ``OVStableDiffusionPipeline()`` class: unet=unet_model, vae_encoder=vae_encoder, vae_decoder=vae_decoder, - scheduler=scheduler + scheduler=scheduler, ) .. parsed-literal:: - /home/ea/work/openvino_notebooks/notebooks/236-stable-diffusion-v2/implementation/ov_stable_diffusion_pipeline.py:10: FutureWarning: Importing `DiffusionPipeline` or `ImagePipelineOutput` from diffusers.pipeline_utils is deprecated. Please import from diffusers.pipelines.pipeline_utils instead. + /home/ea/work/openvino_notebooks/notebooks/stable-diffusion-v2/implementation/ov_stable_diffusion_pipeline.py:10: FutureWarning: Importing `DiffusionPipeline` or `ImagePipelineOutput` from diffusers.pipeline_utils is deprecated. Please import from diffusers.pipelines.pipeline_utils instead. from diffusers.pipeline_utils import DiffusionPipeline @@ -322,10 +327,18 @@ explanation of how it works can be found in this import ipywidgets as widgets - text_prompt = widgets.Textarea(value="valley in the Alps at sunset, epic vista, beautiful landscape, 4k, 8k", description='positive prompt', layout=widgets.Layout(width="auto")) - negative_prompt = widgets.Textarea(value="frames, borderline, text, charachter, duplicate, error, out of frame, watermark, low quality, ugly, deformed, blur", description='negative prompt', layout=widgets.Layout(width="auto")) - num_steps = widgets.IntSlider(min=1, max=50, value=25, description='steps:') - seed = widgets.IntSlider(min=0, max=10000000, description='seed: ', value=42) + text_prompt = widgets.Textarea( + value="valley in the Alps at sunset, epic vista, beautiful landscape, 4k, 8k", + description="positive prompt", + layout=widgets.Layout(width="auto"), + ) + negative_prompt = widgets.Textarea( + value="frames, borderline, text, charachter, duplicate, error, out of frame, watermark, low quality, ugly, deformed, blur", + description="negative prompt", + layout=widgets.Layout(width="auto"), + ) + num_steps = widgets.IntSlider(min=1, max=50, value=25, description="steps:") + seed = widgets.IntSlider(min=0, max=10000000, description="seed: ", value=42) widgets.VBox([text_prompt, negative_prompt, seed, num_steps]) @@ -340,8 +353,12 @@ explanation of how it works can be found in this .. code:: ipython3 # Run inference pipeline - result = ov_pipe(text_prompt.value, negative_prompt=negative_prompt.value, num_inference_steps=num_steps.value, - seed=seed.value) + result = ov_pipe( + text_prompt.value, + negative_prompt=negative_prompt.value, + num_inference_steps=num_steps.value, + seed=seed.value, + ) @@ -352,13 +369,13 @@ explanation of how it works can be found in this .. code:: ipython3 - final_image = result['sample'][0] - final_image.save('result.png') + final_image = result["sample"][0] + final_image.save("result.png") final_image -.. image:: 236-stable-diffusion-v2-text-to-image-demo-with-output_files/236-stable-diffusion-v2-text-to-image-demo-with-output_24_0.png +.. image:: stable-diffusion-v2-text-to-image-demo-with-output_files/stable-diffusion-v2-text-to-image-demo-with-output_24_0.png diff --git a/docs/notebooks/236-stable-diffusion-v2-text-to-image-demo-with-output_files/236-stable-diffusion-v2-text-to-image-demo-with-output_24_0.jpg b/docs/notebooks/stable-diffusion-v2-text-to-image-demo-with-output_files/stable-diffusion-v2-text-to-image-demo-with-output_24_0.jpg similarity index 100% rename from docs/notebooks/236-stable-diffusion-v2-text-to-image-demo-with-output_files/236-stable-diffusion-v2-text-to-image-demo-with-output_24_0.jpg rename to docs/notebooks/stable-diffusion-v2-text-to-image-demo-with-output_files/stable-diffusion-v2-text-to-image-demo-with-output_24_0.jpg diff --git a/docs/notebooks/236-stable-diffusion-v2-text-to-image-demo-with-output_files/236-stable-diffusion-v2-text-to-image-demo-with-output_24_0.png b/docs/notebooks/stable-diffusion-v2-text-to-image-demo-with-output_files/stable-diffusion-v2-text-to-image-demo-with-output_24_0.png similarity index 100% rename from docs/notebooks/236-stable-diffusion-v2-text-to-image-demo-with-output_files/236-stable-diffusion-v2-text-to-image-demo-with-output_24_0.png rename to docs/notebooks/stable-diffusion-v2-text-to-image-demo-with-output_files/stable-diffusion-v2-text-to-image-demo-with-output_24_0.png diff --git a/docs/notebooks/236-stable-diffusion-v2-text-to-image-with-output.rst b/docs/notebooks/stable-diffusion-v2-text-to-image-with-output.rst similarity index 91% rename from docs/notebooks/236-stable-diffusion-v2-text-to-image-with-output.rst rename to docs/notebooks/stable-diffusion-v2-text-to-image-with-output.rst index 1a7e17cef2a..dbece89e181 100644 --- a/docs/notebooks/236-stable-diffusion-v2-text-to-image-with-output.rst +++ b/docs/notebooks/stable-diffusion-v2-text-to-image-with-output.rst @@ -20,9 +20,9 @@ fantastic world of diffusion models for everyone! In previous notebooks, we already discussed how to run `Text-to-Image generation and Image-to-Image generation using Stable Diffusion -v1 <225-stable-diffusion-text-to-image-with-output.html>`__ +v1 `__ and `controlling its generation process using -ControlNet <235-controlnet-stable-diffusio235-controlnet-stable-diffusion-with-output.html>`__. +ControlNet <./controlnet-stable-diffusion/controlnet-stable-diffusion.ipynb>`__. Now is turn of Stable Diffusion v2. Stable Diffusion v2: What’s new? @@ -75,8 +75,8 @@ Notebook contains the following steps: **Note:** This is the full version of the Stable Diffusion text-to-image implementation. If you would like to get started and run the notebook -quickly, check out `236-stable-diffusion-v2-text-to-image-demo -notebook `__. +quickly, check out `stable-diffusion-v2-text-to-image-demo +notebook `__. Table of contents: ^^^^^^^^^^^^^^^^^^ @@ -113,7 +113,7 @@ install required packages .. code:: ipython3 - %pip install -q "diffusers>=0.14.0" "openvino>=2023.1.0" "datasets>=2.14.6" "transformers>=4.25.1" gradio --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "diffusers>=0.14.0" "openvino>=2023.1.0" "datasets>=2.14.6" "transformers>=4.25.1" "gradio>=4.19" "torch>=2.1" Pillow opencv-python --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "nncf>=2.9.0" @@ -142,7 +142,7 @@ and original model Stable Diffusion in Diffusers library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To work with Stable Diffusion + To work with Stable Diffusion v2, we will use Hugging Face `Diffusers `__ library. To experiment with Stable Diffusion models, Diffusers exposes the @@ -228,7 +228,7 @@ hidden states. import torch import openvino as ov - TEXT_ENCODER_OV_PATH = sd2_1_model_dir / 'text_encoder.xml' + TEXT_ENCODER_OV_PATH = sd2_1_model_dir / "text_encoder.xml" def cleanup_torchscript_cache(): @@ -240,11 +240,11 @@ hidden states. torch.jit._state._clear_class_state() - def convert_encoder(text_encoder: torch.nn.Module, ir_path:Path): + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ - Convert Text Encoder model to IR. - Function accepts pipeline, prepares example inputs for conversion - Parameters: + Convert Text Encoder model to IR. + Function accepts pipeline, prepares example inputs for conversion + Parameters: text_encoder (torch.nn.Module): text encoder PyTorch model ir_path (Path): File for storing model Returns: @@ -261,12 +261,13 @@ hidden states. ov_model = ov.convert_model( text_encoder, # model instance example_input=input_ids, # example inputs for model tracing - input=([1,77],) # input shape for conversion + input=([1, 77],), # input shape for conversion ) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('Text Encoder successfully converted to IR') + print("Text Encoder successfully converted to IR") + if not TEXT_ENCODER_OV_PATH.exists(): convert_encoder(text_encoder, TEXT_ENCODER_OV_PATH) @@ -312,14 +313,20 @@ such use cases required to modify number of input channels. import numpy as np - UNET_OV_PATH = sd2_1_model_dir / 'unet.xml' + UNET_OV_PATH = sd2_1_model_dir / "unet.xml" - def convert_unet(unet:torch.nn.Module, ir_path:Path, num_channels:int = 4, width:int = 64, height:int = 64): + def convert_unet( + unet: torch.nn.Module, + ir_path: Path, + num_channels: int = 4, + width: int = 64, + height: int = 64, + ): """ - Convert Unet model to IR format. - Function accepts pipeline, prepares example inputs for conversion - Parameters: + Convert Unet model to IR format. + Function accepts pipeline, prepares example inputs for conversion + Parameters: unet (torch.nn.Module): UNet PyTorch model ir_path (Path): File for storing model num_channels (int, optional, 4): number of input channels @@ -328,10 +335,7 @@ such use cases required to modify number of input channels. Returns: None """ - dtype_mapping = { - torch.float32: ov.Type.f32, - torch.float64: ov.Type.f64 - } + dtype_mapping = {torch.float32: ov.Type.f32, torch.float64: ov.Type.f64} if not ir_path.exists(): # prepare inputs encoder_hidden_state = torch.ones((2, 77, 1024)) @@ -347,15 +351,11 @@ such use cases required to modify number of input channels. input_info.append((shape, element_type)) with torch.no_grad(): - ov_model = ov.convert_model( - unet, - example_input=dummy_inputs, - input=input_info - ) + ov_model = ov.convert_model(unet, example_input=dummy_inputs, input=input_info) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('U-Net successfully converted to IR') + print("U-Net successfully converted to IR") if not UNET_OV_PATH.exists(): @@ -394,15 +394,15 @@ RAM (recommended at least 32GB). .. code:: ipython3 - VAE_ENCODER_OV_PATH = sd2_1_model_dir / 'vae_encoder.xml' + VAE_ENCODER_OV_PATH = sd2_1_model_dir / "vae_encoder.xml" - def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path, width:int = 512, height:int = 512): + def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path, width: int = 512, height: int = 512): """ - Convert VAE model to IR format. - VAE model, creates wrapper class for export only necessary for inference part, - prepares example inputs for onversion - Parameters: + Convert VAE model to IR format. + VAE model, creates wrapper class for export only necessary for inference part, + prepares example inputs for onversion + Parameters: vae (torch.nn.Module): VAE PyTorch model ir_path (Path): File for storing model width (int, optional, 512): input width @@ -410,6 +410,7 @@ RAM (recommended at least 32GB). Returns: None """ + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -423,26 +424,27 @@ RAM (recommended at least 32GB). vae_encoder.eval() image = torch.zeros((1, 3, width, height)) with torch.no_grad(): - ov_model = ov.convert_model(vae_encoder, example_input=image, input=([1,3, width, height],)) + ov_model = ov.convert_model(vae_encoder, example_input=image, input=([1, 3, width, height],)) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE encoder successfully converted to IR') + print("VAE encoder successfully converted to IR") - def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path, width:int = 64, height:int = 64): + def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path, width: int = 64, height: int = 64): """ - Convert VAE decoder model to IR format. - Function accepts VAE model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion - Parameters: - vae (torch.nn.Module): VAE model + Convert VAE decoder model to IR format. + Function accepts VAE model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion + Parameters: + vae (torch.nn.Module): VAE model ir_path (Path): File for storing model width (int, optional, 64): input width height (int, optional, 64): input height Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -457,18 +459,19 @@ RAM (recommended at least 32GB). vae_decoder.eval() with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=latents, input=([1,4, width, height],)) + ov_model = ov.convert_model(vae_decoder, example_input=latents, input=([1, 4, width, height],)) ov.save_model(ov_model, ir_path) del ov_model cleanup_torchscript_cache() - print('VAE decoder successfully converted to IR') + print("VAE decoder successfully converted to IR") + if not VAE_ENCODER_OV_PATH.exists(): convert_vae_encoder(vae, VAE_ENCODER_OV_PATH, 768, 768) else: print(f"VAE encoder will be loaded from {VAE_ENCODER_OV_PATH}") - VAE_DECODER_OV_PATH = sd2_1_model_dir / 'vae_decoder.xml' + VAE_DECODER_OV_PATH = sd2_1_model_dir / "vae_decoder.xml" if not VAE_DECODER_OV_PATH.exists(): convert_vae_decoder(vae, VAE_DECODER_OV_PATH, 96, 96) @@ -527,7 +530,7 @@ it is recommended to look into `Elucidating the Design Space of Diffusion-Based Generative Models `__. The chart above looks very similar to Stable Diffusion V1 from -`notebook <225-stable-diffusion-text-to-image-with-output.html>`__, +`notebook `__, but there is some small difference in details: - Changed input resolution for U-Net model. @@ -559,11 +562,11 @@ but there is some small difference in details: from diffusers.schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMScheduler - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -583,7 +586,7 @@ but there is some small difference in details: then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (PIL.Image.Image): input image Returns: @@ -591,10 +594,8 @@ but there is some small difference in details: meta (Dict): dictionary with preprocessing metadata info """ src_width, src_height = image.size - dst_width, dst_height = scale_fit_to_window( - 512, 512, src_width, src_height) - image = np.array(image.resize((dst_width, dst_height), - resample=PIL.Image.Resampling.LANCZOS))[None, :] + dst_width, dst_height = scale_fit_to_window(512, 512, src_width, src_height) + image = np.array(image.resize((dst_width, dst_height), resample=PIL.Image.Resampling.LANCZOS))[None, :] pad_width = 512 - dst_width pad_height = 512 - dst_height pad = ((0, 0), (0, pad_height), (0, pad_width), (0, 0)) @@ -688,7 +689,7 @@ but there is some small difference in details: strength (int, *optional*, 1.0): strength between initial image and generated in Image-to-Image pipeline, do not used in Text-to-Image Returns: - Dictionary with keys: + Dictionary with keys: sample - the last generated image PIL.Image.Image or np.array """ if seed is not None: @@ -698,7 +699,11 @@ but there is some small difference in details: # corresponds to doing no classifier free guidance. do_classifier_free_guidance = guidance_scale > 1.0 # get prompt text embeddings - text_embeddings = self._encode_prompt(prompt, do_classifier_free_guidance=do_classifier_free_guidance, negative_prompt=negative_prompt) + text_embeddings = self._encode_prompt( + prompt, + do_classifier_free_guidance=do_classifier_free_guidance, + negative_prompt=negative_prompt, + ) # set timesteps accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) extra_set_kwargs = {} @@ -741,7 +746,13 @@ but there is some small difference in details: image = self.postprocess_image(image, meta, output_type) return {"sample": image} - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. @@ -765,16 +776,13 @@ but there is some small difference in details: ) text_input_ids = text_inputs.input_ids - text_embeddings = self.text_encoder( - text_input_ids)[self._text_encoder_output] + text_embeddings = self.text_encoder(text_input_ids)[self._text_encoder_output] # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -808,10 +816,10 @@ but there is some small difference in details: return text_embeddings - def prepare_latents(self, image:PIL.Image.Image = None, latent_timestep:torch.Tensor = None): + def prepare_latents(self, image: PIL.Image.Image = None, latent_timestep: torch.Tensor = None): """ Function for getting initial latents for starting generation - + Parameters: image (PIL.Image.Image, *optional*, None): Input image for generation, if not provided randon noise will be used as starting point @@ -834,11 +842,11 @@ but there is some small difference in details: latents = self.scheduler.add_noise(torch.from_numpy(latents), torch.from_numpy(noise), latent_timestep).numpy() return latents, meta - def postprocess_image(self, image:np.ndarray, meta:Dict, output_type:str = "pil"): + def postprocess_image(self, image: np.ndarray, meta: Dict, output_type: str = "pil"): """ - Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), + Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format - + Parameters: image (np.ndarray): Generated image @@ -864,25 +872,23 @@ but there is some small difference in details: image = self.numpy_to_pil(image) if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def get_timesteps(self, num_inference_steps:int, strength:float): + def get_timesteps(self, num_inference_steps: int, strength: float): """ Helper function for getting scheduler timesteps for generation In case of image-to-image generation, it updates number of steps according to strength - + Parameters: num_inference_steps (int): number of inference steps for generation strength (float): - value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. + value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. Values that approach 1.0 allow for lots of variations but will also produce images that are not semantically consistent with the input. """ # get the original timestep using init_timestep @@ -891,7 +897,7 @@ but there is some small difference in details: t_start = max(num_inference_steps - init_timestep, 0) timesteps = self.scheduler.timesteps[t_start:] - return timesteps, num_inference_steps - t_start + return timesteps, num_inference_steps - t_start Configure Inference Pipeline ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -907,8 +913,8 @@ First, you should create instances of OpenVINO Model. core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -939,8 +945,8 @@ Let us define them and put all components together. from transformers import CLIPTokenizer - scheduler = DDIMScheduler.from_config(conf) # DDIMScheduler is used because UNet quantization produces better results with it - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') + scheduler = DDIMScheduler.from_config(conf) # DDIMScheduler is used because UNet quantization produces better results with it + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") ov_pipe = OVStableDiffusionPipeline( tokenizer=tokenizer, @@ -948,7 +954,7 @@ Let us define them and put all components together. unet=unet_model, vae_encoder=vae_encoder, vae_decoder=vae_decoder, - scheduler=scheduler + scheduler=scheduler, ) Quantization @@ -992,7 +998,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -1009,8 +1015,13 @@ improve model inference speed. .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_ov_pipe = None @@ -1281,7 +1292,7 @@ launch the interactive demo. use_quantized_model = widgets.Checkbox( value=True if quantized_model_present else False, - description='Use quantized model', + description="Use quantized model", disabled=not quantized_model_present, ) diff --git a/docs/notebooks/248-stable-diffusion-xl-with-output.rst b/docs/notebooks/stable-diffusion-xl-with-output.rst similarity index 54% rename from docs/notebooks/248-stable-diffusion-xl-with-output.rst rename to docs/notebooks/stable-diffusion-xl-with-output.rst index b335da34e6f..e0a6a6fa333 100644 --- a/docs/notebooks/248-stable-diffusion-xl-with-output.rst +++ b/docs/notebooks/stable-diffusion-xl-with-output.rst @@ -99,9 +99,9 @@ Install prerequisites .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "diffusers>=0.18.0" "invisible-watermark>=0.2.0" "transformers>=4.33.0" "accelerate" "onnx" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "torch>=2.1" "diffusers>=0.18.0" "invisible-watermark>=0.2.0" "transformers>=4.33.0" "accelerate" "onnx" "peft==0.6.2" %pip install -q "git+https://github.com/huggingface/optimum-intel.git" - %pip install -q "openvino>=2023.1.0" gradio + %pip install -q "openvino>=2023.1.0" "gradio>=4.19" "nncf>=2.9.0" SDXL Base model --------------- @@ -133,23 +133,6 @@ You can save the model on disk using the ``save_pretrained`` method. model_id = "stabilityai/stable-diffusion-xl-base-1.0" model_dir = Path("openvino-sd-xl-base-1.0") - -.. parsed-literal:: - - INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino - - -.. parsed-literal:: - - No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda' - 2023-09-19 18:52:15.570335: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2023-09-19 18:52:15.609718: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2023-09-19 18:52:16.242994: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - /home/ea/work/ov_venv/lib/python3.8/site-packages/transformers/deepspeed.py:23: FutureWarning: transformers.deepspeed module is deprecated and will be removed in a future version. Please import deepspeed modules directly from transformers.integrations - warnings.warn( - - Select inference device SDXL Base model ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -166,8 +149,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -178,14 +161,54 @@ select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=4, options=('CPU', 'GPU.0', 'GPU.1', 'GPU.2', 'AUTO'), value='AUTO') + + + +Please select below whether you would like to use weight compression to +reduce memory footprint. `Optimum +Intel `__ +supports weight compression via NNCF out of the box. For 8-bit +compression we provide +``quantization_config=OVWeightQuantizationConfig(bits=8, ...)`` argument +to ``from_pretrained()`` method containing number of bits and other +compression parameters. + +.. code:: ipython3 + + compress_weights = widgets.Checkbox( + description="Apply weight compression", + value=True, + ) + + compress_weights + + + + +.. parsed-literal:: + + Checkbox(value=True, description='Apply weight compression') +.. code:: ipython3 + + def get_quantization_config(compress_weights): + quantization_config = None + if compress_weights.value: + from optimum.intel import OVWeightQuantizationConfig + + quantization_config = OVWeightQuantizationConfig(bits=8) + return quantization_config + + + quantization_config = get_quantization_config(compress_weights) + .. code:: ipython3 if not model_dir.exists(): - text2image_pipe = OVStableDiffusionXLPipeline.from_pretrained(model_id, compile=False, device=device.value) + text2image_pipe = OVStableDiffusionXLPipeline.from_pretrained(model_id, compile=False, device=device.value, quantization_config=quantization_config) text2image_pipe.half() text2image_pipe.save_pretrained(model_dir) text2image_pipe.compile() @@ -195,11 +218,171 @@ select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - Compiling the vae_decoder... - Compiling the unet... - Compiling the text_encoder... - Compiling the vae_encoder... - Compiling the text_encoder_2... + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (794 / 794) | 100% (794 / 794) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (32 / 32) | 100% (32 / 32) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (40 / 40) | 100% (40 / 40) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (74 / 74) | 100% (74 / 74) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + INFO:nncf:Statistics of the bitwidth distribution: + +--------------+---------------------------+-----------------------------------+ + | Num bits (N) | % all parameters (layers) | % ratio-defining parameters | + | | | (layers) | + +==============+===========================+===================================+ + | 8 | 100% (195 / 195) | 100% (195 / 195) | + +--------------+---------------------------+-----------------------------------+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + Compiling the vae_decoder to AUTO ... + Compiling the unet to AUTO ... + Compiling the vae_encoder to AUTO ... + Compiling the text_encoder to AUTO ... + Compiling the text_encoder_2 to AUTO ... Run Text2Image generation pipeline @@ -219,34 +402,26 @@ numpy random state with a specific seed for results reproducibility. import numpy as np prompt = "cute cat 4k, high-res, masterpiece, best quality, soft lighting, dynamic angle" - image = text2image_pipe(prompt, num_inference_steps=15, height=512, width=512, generator=np.random.RandomState(314)).images[0] + image = text2image_pipe( + prompt, + num_inference_steps=15, + height=512, + width=512, + generator=np.random.RandomState(314), + ).images[0] image.save("cat.png") image -.. parsed-literal:: - - /home/ea/work/ov_venv/lib/python3.8/site-packages/optimum/intel/openvino/modeling_diffusion.py:559: FutureWarning: `shared_memory` is deprecated and will be removed in 2024.0. Value of `shared_memory` is going to override `share_inputs` value. Please use only `share_inputs` explicitly. - outputs = self.request(inputs, shared_memory=True) - - .. parsed-literal:: 0%| | 0/15 [00:00=4.19" Convert model to OpenVINO Intermediate Representation (IR) and compress model weights to INT4 using NNCF -------------------------------------------------------------------------------------------------------- @@ -139,11 +139,11 @@ that .. code:: ipython3 - stateful_model_path = Path("stable-zephyr-3b-stateful/pytorch/dldt/compressed_weights/OV_FP16-4BIT_DEFAULT") + stateful_model_path = Path("stable-zephyr-3b-stateful/pytorch/dldt/compressed_weights/OV_FP16-4BIT_DEFAULT") convert_script = genai_llm_bench / "convert.py" - if not (stateful_model_path / "openvino_model.xml").exists() + if not (stateful_model_path / "openvino_model.xml").exists(): !python $convert_script --model_id stabilityai/stable-zephyr-3b --precision FP16 --compress_weights 4BIT_DEFAULT --output stable-zephyr-3b-stateful --force_convert @@ -288,7 +288,7 @@ Compare with model without state .. code:: ipython3 - stateless_model_path = Path("stable-zephyr-3b-stateless/pytorch/dldt/compressed_weights/OV_FP16-4BIT_DEFAULT") + stateless_model_path = Path("stable-zephyr-3b-stateless/pytorch/dldt/compressed_weights/OV_FP16-4BIT_DEFAULT") if not (stateless_model_path / "openvino_model.xml").exists(): !python $convert_script --model_id stabilityai/stable-zephyr-3b --precision FP16 --compress_weights 4BIT_DEFAULT --output stable-zephyr-3b-stateless --force_convert --disable-stateful @@ -425,7 +425,11 @@ sequence of generated token ids that should be decoded using a tokenizer from optimum.intel.openvino import OVModelForCausalLM from transformers import AutoConfig - ov_model = OVModelForCausalLM.from_pretrained(stateful_model_path, config=AutoConfig.from_pretrained(stateful_model_path, trust_remote_code=True), device=device.value) + ov_model = OVModelForCausalLM.from_pretrained( + stateful_model_path, + config=AutoConfig.from_pretrained(stateful_model_path, trust_remote_code=True), + device=device.value, + ) Interactive chatbot demo ------------------------ @@ -513,7 +517,7 @@ You can modify them in ``Advanced generation options`` section. model_configuration = { "start_message": f"<|system|>\n {DEFAULT_SYSTEM_PROMPT }<|endoftext|>", "history_template": "<|user|>\n{user}<|endoftext|><|assistant|>\n{assistant}<|endoftext|>", - "current_message_template": '<|user|>\n{user}<|endoftext|><|assistant|>\n{assistant}', + "current_message_template": "<|user|>\n{user}<|endoftext|><|assistant|>\n{assistant}", } history_template = model_configuration["history_template"] current_message_template = model_configuration["current_message_template"] @@ -528,9 +532,7 @@ You can modify them in ``Advanced generation options`` section. ["Can you explain to me briefly what is Python programming language?"], ["Explain the plot of Cinderella in a sentence."], ["What are some common mistakes to avoid when writing code?"], - [ - "Write a 100-word blog post on “Benefits of Artificial Intelligence and OpenVINO“" - ], + ["Write a 100-word blog post on “Benefits of Artificial Intelligence and OpenVINO“"], ] max_new_tokens = 256 @@ -540,9 +542,7 @@ You can modify them in ``Advanced generation options`` section. def __init__(self, token_ids): self.token_ids = token_ids - def __call__( - self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs - ) -> bool: + def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool: for stop_id in self.token_ids: if input_ids[0][-1] == stop_id: return True @@ -571,9 +571,8 @@ You can modify them in ``Advanced generation options`` section. return partial_text - text_processor = model_configuration.get( - "partial_text_processor", default_partial_text_processor - ) + text_processor = model_configuration.get("partial_text_processor", default_partial_text_processor) + def convert_history_to_text(history: List[Tuple[str, str]]): """ @@ -583,14 +582,7 @@ You can modify them in ``Advanced generation options`` section. Returns: history in text format """ - text = start_message + "".join( - [ - "".join( - [history_template.format(num=round, user=item[0], assistant=item[1])] - ) - for round, item in enumerate(history[:-1]) - ] - ) + text = start_message + "".join(["".join([history_template.format(num=round, user=item[0], assistant=item[1])]) for round, item in enumerate(history[:-1])]) text += "".join( [ "".join( @@ -645,9 +637,7 @@ You can modify them in ``Advanced generation options`` section. history = [history[-1]] messages = convert_history_to_text(history) input_ids = tok(messages, return_tensors="pt", **tokenizer_kwargs).input_ids - streamer = TextIteratorStreamer( - tok, timeout=30.0, skip_prompt=True, skip_special_tokens=True - ) + streamer = TextIteratorStreamer(tok, timeout=30.0, skip_prompt=True, skip_special_tokens=True) generate_kwargs = dict( input_ids=input_ids, max_new_tokens=max_new_tokens, @@ -759,9 +749,7 @@ You can modify them in ``Advanced generation options`` section. interactive=True, info="Penalize repetition — 1.0 to disable.", ) - gr.Examples( - examples, inputs=msg, label="Click on any example and press the 'Submit' button" - ) + gr.Examples(examples, inputs=msg, label="Click on any example and press the 'Submit' button") submit_event = msg.submit( fn=user, @@ -815,73 +803,3 @@ You can modify them in ``Advanced generation options`` section. # demo.launch(share=True) # it creates a publicly shareable link for the interface. Read more in the docs: https://gradio.app/docs/ demo.launch(share=True) - - -.. parsed-literal:: - - Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained. - /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/gradio/deprecation.py:40: UserWarning: `height` is deprecated in `Interface()`, please use it within `launch()` instead. - warnings.warn(value) - /home/ea/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/gradio/deprecation.py:43: UserWarning: You have unused kwarg parameters in Textbox, please remove them: {'container': False} - warnings.warn( - - -.. parsed-literal:: - - Running on local URL: http://127.0.0.1:7860 - - -:: - - - --------------------------------------------------------------------------- - - KeyboardInterrupt Traceback (most recent call last) - - Cell In[9], line 326 - 320 demo.queue(max_size=2) - 321 # if you are launching remotely, specify server_name and server_port - 322 # demo.launch(server_name='your server name', server_port='server port in int') - 323 # if you have any issue to launch on your platform, you can pass share=True to launch method: - 324 # demo.launch(share=True) - 325 # it creates a publicly shareable link for the interface. Read more in the docs: https://gradio.app/docs/ - --> 326 demo.launch(share=True) - - - File ~/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/gradio/blocks.py:1542, in Blocks.launch(self, inline, inbrowser, share, debug, enable_queue, max_threads, auth, auth_message, prevent_thread_lock, show_error, server_name, server_port, show_tips, height, width, encrypt, favicon_path, ssl_keyfile, ssl_certfile, ssl_keyfile_password, quiet, show_api, file_directories, _frontend) - 1540 try: - 1541 if self.share_url is None: - -> 1542 self.share_url = networking.setup_tunnel( - 1543 self.server_name, self.server_port, self.share_token - 1544 ) - 1545 print(strings.en["SHARE_LINK_DISPLAY"].format(self.share_url)) - 1546 if not (quiet): - - - File ~/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/gradio/networking.py:168, in setup_tunnel(local_host, local_port, share_token) - 164 remote_host, remote_port = payload["host"], int(payload["port"]) - 165 tunnel = Tunnel( - 166 remote_host, remote_port, local_host, local_port, share_token - 167 ) - --> 168 address = tunnel.start_tunnel() - 169 return address - 170 except Exception as e: - - - File ~/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/gradio/tunneling.py:61, in Tunnel.start_tunnel(self) - 59 def start_tunnel(self) -> str: - 60 binary_path = self.download_binary() - ---> 61 self.url = self._start_tunnel(binary_path) - 62 return self.url - - - File ~/work/my_optimum_intel/optimum_env/lib/python3.8/site-packages/gradio/tunneling.py:97, in Tunnel._start_tunnel(self, binary) - 95 if self.proc.stdout is None: - 96 continue - ---> 97 line = self.proc.stdout.readline() - 98 line = line.decode("utf-8") - 99 if "start proxy success" in line: - - - KeyboardInterrupt: - diff --git a/docs/notebooks/404-style-transfer-with-output.rst b/docs/notebooks/style-transfer-with-output.rst similarity index 91% rename from docs/notebooks/404-style-transfer-with-output.rst rename to docs/notebooks/style-transfer-with-output.rst index abfc32d5514..20dd2469101 100644 --- a/docs/notebooks/404-style-transfer-with-output.rst +++ b/docs/notebooks/style-transfer-with-output.rst @@ -66,11 +66,13 @@ Install requirements %pip install -q opencv-python requests tqdm # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) Imports ~~~~~~~ @@ -96,13 +98,14 @@ Pointilism to do the style transfer. .. code:: ipython3 - # Option to select different styles + # Option to select different styles styleButtons = ToggleButtons( - options=['MOSAIC', 'RAIN-PRINCESS', 'CANDY', 'UDNIE', 'POINTILISM'], + options=["MOSAIC", "RAIN-PRINCESS", "CANDY", "UDNIE", "POINTILISM"], description="Click one of the styles you want to use for the style transfer", disabled=False, - style={'description_width': '300px'}) - + style={"description_width": "300px"}, + ) + interactive(lambda option: print(option), option=styleButtons) The Model @@ -205,8 +208,8 @@ results. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -239,7 +242,7 @@ respectively. For *fast-neural-style-mosaic-onnx*, there is 1 input and Preprocess the image ~~~~~~~~~~~~~~~~~~~~ -Preprocess the input image + Preprocess the input image before running the model. Prepare the dimensions and channel order for the image to match the original image with the input tensor @@ -254,12 +257,12 @@ the image to match the original image with the input tensor Preprocess input image to align with network size Parameters: - :param frame: input frame + :param frame: input frame :param H: height of the frame to style transfer model :param W: width of the frame to style transfer model :returns: resized and transposed frame """ - image = np.array(frame).astype('float32') + image = np.array(frame).astype("float32") image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) image = cv2.resize(src=image, dsize=(H, W), interpolation=cv2.INTER_AREA) image = np.transpose(image, [2, 0, 1]) @@ -278,13 +281,13 @@ shape . .. code:: ipython3 - # Postprocess the result + # Postprocess the result def convert_result_to_image(frame, stylized_image) -> np.ndarray: """ Postprocess stylized image for visualization Parameters: - :param frame: input frame + :param frame: input frame :param stylized_image: stylized image with specific style applied :returns: resized stylized image for visualization """ @@ -313,10 +316,10 @@ either using a webcam or a video file. 3. Run AI inference for style transfer. 4. Visualize the results. Parameters: - source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. + source: The webcam number to feed the video stream with primary webcam set to "0", or the video path. flip: To be used by VideoPlayer function for flipping capture image. use_popup: False for showing encoded frames over this notebook, True for creating a popup window. - skip_first_frames: Number of frames to skip at the beginning of the video. + skip_first_frames: Number of frames to skip at the beginning of the video. """ # Create a video player to play with target fps. player = None @@ -338,12 +341,17 @@ either using a webcam or a video file. # If the frame is larger than full HD, reduce size to improve the performance. scale = 720 / max(frame.shape) if scale < 1: - frame = cv2.resize(src=frame, dsize=None, fx=scale, fy=scale, - interpolation=cv2.INTER_AREA) + frame = cv2.resize( + src=frame, + dsize=None, + fx=scale, + fy=scale, + interpolation=cv2.INTER_AREA, + ) # Preprocess the input image. image = preprocess_images(frame, H, W) - + # Measure processing time for the input image. start_time = time.time() # Perform the inference step. @@ -362,10 +370,17 @@ either using a webcam or a video file. # Visualize the results. f_height, f_width = frame.shape[:2] fps = 1000 / processing_time_det - cv2.putText(result_image, text=f"Inference time: {processing_time_det:.1f}ms ({fps:.1f} FPS)", - org=(20, 40),fontFace=cv2.FONT_HERSHEY_COMPLEX, fontScale=f_width / 1000, - color=(0, 0, 255), thickness=1, lineType=cv2.LINE_AA) - + cv2.putText( + result_image, + text=f"Inference time: {processing_time_det:.1f}ms ({fps:.1f} FPS)", + org=(20, 40), + fontFace=cv2.FONT_HERSHEY_COMPLEX, + fontScale=f_width / 1000, + color=(0, 0, 255), + thickness=1, + lineType=cv2.LINE_AA, + ) + # Use this workaround if there is flickering. if use_popup: cv2.imshow(title, result_image) diff --git a/docs/notebooks/table-question-answering-with-output.rst b/docs/notebooks/table-question-answering-with-output.rst new file mode 100644 index 00000000000..76dfbea00cf --- /dev/null +++ b/docs/notebooks/table-question-answering-with-output.rst @@ -0,0 +1,503 @@ +Table Question Answering using TAPAS and OpenVINO™ +================================================== + +Table Question Answering (Table QA) is the answering a question about an +information on a given table. You can use the Table Question Answering +models to simulate SQL execution by inputting a table. + +In this tutorial we demonstrate how to perform table question answering +using OpenVINO. This example based on `TAPAS base model fine-tuned on +WikiTable Questions +(WTQ) `__ that +is based on the paper `TAPAS: Weakly Supervised Table Parsing via +Pre-training `__. + +Answering natural language questions over tables is usually seen as a +semantic parsing task. To alleviate the collection cost of full logical +forms, one popular approach focuses on weak supervision consisting of +denotations instead of logical forms. However, training semantic parsers +from weak supervision poses difficulties, and in addition, the generated +logical forms are only used as an intermediate step prior to retrieving +the denotation. In `this +paper `__, it is presented TAPAS, +an approach to question answering over tables without generating logical +forms. TAPAS trains from weak supervision, and predicts the denotation +by selecting table cells and optionally applying a corresponding +aggregation operator to such selection. TAPAS extends BERT’s +architecture to encode tables as input, initializes from an effective +joint pre-training of text segments and tables crawled from Wikipedia, +and is trained end-to-end. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Use the original model to run an + inference <#use-the-original-model-to-run-an-inference>`__ +- `Convert the original model to OpenVINO Intermediate Representation + (IR) + format <#convert-the-original-model-to-openvino-intermediate-representation-ir-format>`__ +- `Run the OpenVINO model <#run-the-openvino-model>`__ +- `Interactive inference <#interactive-inference>`__ + +Prerequisites +~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + + %pip install -q torch "transformers>=4.31.0" "torch>=2.1" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2023.2.0" "gradio>=4.0.2" + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. code:: ipython3 + + import torch + from transformers import TapasForQuestionAnswering + from transformers import TapasTokenizer + from transformers import pipeline + import pandas as pd + + +.. parsed-literal:: + + 2024-04-18 01:04:30.594476: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 01:04:30.630628: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. + + +.. parsed-literal:: + + 2024-04-18 01:04:31.285021: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + + +Use ``TapasForQuestionAnswering.from_pretrained`` to download a +pretrained model and ``TapasTokenizer.from_pretrained`` to get a +tokenizer. + +.. code:: ipython3 + + model = TapasForQuestionAnswering.from_pretrained("google/tapas-large-finetuned-wtq") + tokenizer = TapasTokenizer.from_pretrained("google/tapas-large-finetuned-wtq") + + data = { + "Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], + "Number of movies": ["87", "53", "69"], + } + table = pd.DataFrame.from_dict(data) + question = "how many movies does Leonardo Di Caprio have?" + table + + + + +.. raw:: html + +
+ +
Sentences ENSentences DE
+ + + + + + + + + + + + + + + + + + + + + + + + +
ActorsNumber of movies
0Brad Pitt87
1Leonardo Di Caprio53
2George Clooney69
+ + + + +Use the original model to run an inference +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +We use `this +example `__ to +demonstrate how to make an inference. You can use ``pipeline`` from +``transformer`` library for this purpose. + +.. code:: ipython3 + + tqa = pipeline(task="table-question-answering", model=model, tokenizer=tokenizer) + result = tqa(table=table, query=question) + print(f"The answer is {result['cells'][0]}") + + +.. parsed-literal:: + + The answer is 53 + + +You can read more about the inference output structure in `this +documentation `__. + +Convert the original model to OpenVINO Intermediate Representation (IR) format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +The original model is a PyTorch module, that can be converted with +``ov.convert_model`` function directly. We also use ``ov.save_model`` +function to serialize the result of conversion. + +.. code:: ipython3 + + import openvino as ov + from pathlib import Path + + + # Define the input shape + batch_size = 1 + sequence_length = 29 + + # Modify the input shape of the dummy_input dictionary + dummy_input = { + "input_ids": torch.zeros((batch_size, sequence_length), dtype=torch.long), + "attention_mask": torch.zeros((batch_size, sequence_length), dtype=torch.long), + "token_type_ids": torch.zeros((batch_size, sequence_length, 7), dtype=torch.long), + } + + + ov_model_xml_path = Path("models/ov_model.xml") + + if not ov_model_xml_path.exists(): + ov_model = ov.convert_model(model, example_input=dummy_input) + ov.save_model(ov_model, ov_model_xml_path) + + +.. parsed-literal:: + + WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11. + + +.. parsed-literal:: + + [ WARNING ] Please fix your imports. Module %s has been moved to %s. The old module will be deleted in version %s. + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + warnings.warn( + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1600: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + self.indices = torch.as_tensor(indices) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1601: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + self.num_segments = torch.as_tensor(num_segments, device=indices.device) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1703: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + batch_size = torch.prod(torch.tensor(list(index.batch_shape()))) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1779: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + [torch.as_tensor([-1], dtype=torch.long), torch.as_tensor(vector_shape, dtype=torch.long)], dim=0 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1782: TracerWarning: Converting a tensor to a Python list might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + flat_values = values.reshape(flattened_shape.tolist()) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1784: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + out = torch.zeros(int(flat_index.num_segments), dtype=torch.float, device=flat_values.device) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1792: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + torch.as_tensor(index.batch_shape(), dtype=torch.long), + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1793: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + torch.as_tensor([index.num_segments], dtype=torch.long), + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1794: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + torch.as_tensor(vector_shape, dtype=torch.long), + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1799: TracerWarning: Converting a tensor to a Python list might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + output_values = segment_means.clone().view(new_shape.tolist()).to(values.dtype) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1730: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + batch_shape = torch.as_tensor( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1734: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + num_segments = torch.as_tensor(num_segments) # create a rank 0 tensor (scalar) containing num_segments (e.g. 64) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1745: TracerWarning: Converting a tensor to a Python list might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + new_shape = [int(x) for x in new_tensor.tolist()] + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1748: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + multiples = torch.cat([batch_shape, torch.as_tensor([1])], dim=0) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1749: TracerWarning: Converting a tensor to a Python list might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + indices = indices.repeat(multiples.tolist()) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:316: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + torch.as_tensor(self.config.max_position_embeddings - 1, device=device), position - first_position + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1260: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + indices=torch.min(row_ids, torch.as_tensor(self.config.max_num_rows - 1, device=row_ids.device)), + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1265: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + indices=torch.min(column_ids, torch.as_tensor(self.config.max_num_columns - 1, device=column_ids.device)), + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1957: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + column_logits += CLOSE_ENOUGH_TO_LOG_ZERO * torch.as_tensor( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1962: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + column_logits += CLOSE_ENOUGH_TO_LOG_ZERO * torch.as_tensor( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:1998: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + labels_per_column, _ = reduce_sum(torch.as_tensor(labels, dtype=torch.float32, device=labels.device), col_index) + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:2021: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + torch.as_tensor(labels, dtype=torch.long, device=labels.device), cell_index + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:2028: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + column_mask = torch.as_tensor( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:2053: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + selected_column_id = torch.as_tensor( + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/tapas/modeling_tapas.py:2058: TracerWarning: torch.as_tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + selected_column_mask = torch.as_tensor( + + +Run the OpenVINO model +~~~~~~~~~~~~~~~~~~~~~~ + + + +Select a device from dropdown list for running inference using OpenVINO. + +.. code:: ipython3 + + import ipywidgets as widgets + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +We use ``ov.compile_model`` to make it ready to use for loading on a +device. To prepare inputs use the original ``tokenizer``. + +.. code:: ipython3 + + inputs = tokenizer(table=table, queries=question, padding="max_length", return_tensors="pt") + + compiled_model = core.compile_model(ov_model_xml_path, device.value) + result = compiled_model((inputs["input_ids"], inputs["attention_mask"], inputs["token_type_ids"])) + +Now we should postprocess results. For this, we can use the appropriate +part of the code from +`postprocess `__ +method of ``TableQuestionAnsweringPipeline``. + +.. code:: ipython3 + + logits = result[0] + logits_aggregation = result[1] + + + predictions = tokenizer.convert_logits_to_predictions(inputs, torch.from_numpy(result[0])) + answer_coordinates_batch = predictions[0] + aggregators = {} + aggregators_prefix = {} + answers = [] + for index, coordinates in enumerate(answer_coordinates_batch): + cells = [table.iat[coordinate] for coordinate in coordinates] + aggregator = aggregators.get(index, "") + aggregator_prefix = aggregators_prefix.get(index, "") + answer = { + "answer": aggregator_prefix + ", ".join(cells), + "coordinates": coordinates, + "cells": [table.iat[coordinate] for coordinate in coordinates], + } + if aggregator: + answer["aggregator"] = aggregator + + answers.append(answer) + + print(answers[0]["cells"][0]) + + +.. parsed-literal:: + + 53 + + +Also, we can use the original pipeline. For this, we should create a +wrapper for ``TapasForQuestionAnswering`` class replacing ``forward`` +method to use the OpenVINO model for inference and methods and +attributes of original model class to be integrated into the pipeline. + +.. code:: ipython3 + + from transformers import TapasConfig + + + # get config for pretrained model + config = TapasConfig.from_pretrained("google/tapas-large-finetuned-wtq") + + + class TapasForQuestionAnswering(TapasForQuestionAnswering): # it is better to keep the class name to avoid warnings + def __init__(self, ov_model_path): + super().__init__(config) # pass config from the pretrained model + self.tqa_model = core.compile_model(ov_model_path, device.value) + + def forward(self, input_ids, *, attention_mask, token_type_ids): + results = self.tqa_model((input_ids, attention_mask, token_type_ids)) + + return torch.from_numpy(results[0]), torch.from_numpy(results[1]) + + + compiled_model = TapasForQuestionAnswering(ov_model_xml_path) + tqa = pipeline(task="table-question-answering", model=compiled_model, tokenizer=tokenizer) + print(tqa(table=table, query=question)["cells"][0]) + + +.. parsed-literal:: + + 53 + + +Interactive inference +~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + import requests + + import gradio as gr + import pandas as pd + + r = requests.get("https://github.com/openvinotoolkit/openvino_notebooks/files/13215688/eu_city_population_top10.csv") + + with open("eu_city_population_top10.csv", "w") as f: + f.write(r.text) + + + def display_table(csv_file_name): + table = pd.read_csv(csv_file_name.name, delimiter=",") + table = table.astype(str) + + return table + + + def highlight_answers(x, coordinates): + highlighted_table = pd.DataFrame("", index=x.index, columns=x.columns) + for coordinates_i in coordinates: + highlighted_table.iloc[coordinates_i[0], coordinates_i[1]] = "background-color: lightgreen" + + return highlighted_table + + + def infer(query, csv_file_name): + table = pd.read_csv(csv_file_name.name, delimiter=",") + table = table.astype(str) + + result = tqa(table=table, query=query) + table = table.style.apply(highlight_answers, axis=None, coordinates=result["coordinates"]) + + return result["answer"], table + + + with gr.Blocks(title="TAPAS Table Question Answering") as demo: + with gr.Row(): + with gr.Column(): + search_query = gr.Textbox(label="Search query") + csv_file = gr.File(label="CSV file") + infer_button = gr.Button("Submit", variant="primary") + with gr.Column(): + answer = gr.Textbox(label="Result") + result_csv_file = gr.Dataframe(label="All data") + + examples = [ + [ + "What is the city with the highest population that is not a capital?", + "eu_city_population_top10.csv", + ], + ["In which country is Madrid?", "eu_city_population_top10.csv"], + [ + "In which cities is the population greater than 2,000,000?", + "eu_city_population_top10.csv", + ], + ] + gr.Examples(examples, inputs=[search_query, csv_file]) + + # Callbacks + csv_file.upload(display_table, inputs=csv_file, outputs=result_csv_file) + csv_file.select(display_table, inputs=csv_file, outputs=result_csv_file) + csv_file.change(display_table, inputs=csv_file, outputs=result_csv_file) + infer_button.click(infer, inputs=[search_query, csv_file], outputs=[answer, result_csv_file]) + + try: + demo.queue().launch(debug=False) + except Exception: + demo.queue().launch(share=True, debug=False) + + +.. parsed-literal:: + + Running on local URL: http://127.0.0.1:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + diff --git a/docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output.rst b/docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output.rst new file mode 100644 index 00000000000..0304f8cbd8c --- /dev/null +++ b/docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output.rst @@ -0,0 +1,1126 @@ +Big Transfer Image Classification Model Quantization pipeline with NNCF +======================================================================= + +This tutorial demonstrates the Quantization of the Big Transfer Image +Classification model, which is fine-tuned on the sub-set of ImageNet +dataset with 10 class labels with +`NNCF `__. It uses +`BiT-M-R50x1/1 `__ +model, which is trained on ImageNet-21k. Big Transfer is a recipe for +pre-training image classification models on large supervised datasets +and efficiently fine-tuning them on any given target task. The recipe +achieves excellent performance on a wide variety of tasks, even when +using very few labeled examples from the target dataset. This tutorial +uses OpenVINO backend for performing model quantization in NNCF. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prepare Dataset <#prepare-dataset>`__ +- `Plotting data samples <#plotting-data-samples>`__ +- `Model Fine-tuning <#model-fine-tuning>`__ +- `Perform model optimization (IR) + step <#perform-model-optimization-ir-step>`__ +- `Compute accuracy of the TF + model <#compute-accuracy-of-the-tf-model>`__ +- `Compute accuracy of the OpenVINO + model <#compute-accuracy-of-the-openvino-model>`__ +- `Quantize OpenVINO model using + NNCF <#quantize-openvino-model-using-nncf>`__ +- `Compute accuracy of the quantized + model <#compute-accuracy-of-the-quantized-model>`__ +- `Compare FP32 and INT8 accuracy <#compare-fp32-and-int8-accuracy>`__ +- `Compare inference results on one + picture <#compare-inference-results-on-one-picture>`__ + +.. code:: ipython3 + + import platform + + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" + + %pip install -q "openvino>=2024.0.0" "nncf>=2.7.0" "tensorflow-hub>=0.15.0" "tensorflow_datasets" tf_keras + %pip install -q "scikit-learn>=1.3.2" + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. code:: ipython3 + + import os + import numpy as np + from pathlib import Path + + from openvino.runtime import Core + import openvino as ov + import nncf + import logging + + from nncf.common.logging.logger import set_log_level + + set_log_level(logging.ERROR) + + from sklearn.metrics import accuracy_score + + os.environ["TF_USE_LEGACY_KERAS"] = "1" + os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" + os.environ["TFHUB_CACHE_DIR"] = str(Path("./tfhub_modules").resolve()) + + import tensorflow as tf + import tensorflow_datasets as tfds + import tensorflow_hub as hub + + tfds.core.utils.gcs_utils._is_gcs_disabled = True + os.environ["NO_GCE_CHECK"] = "true" + + +.. parsed-literal:: + + INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino + + +.. code:: ipython3 + + core = Core() + tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) + + + # For top 5 labels. + MAX_PREDS = 1 + TRAINING_BATCH_SIZE = 128 + BATCH_SIZE = 1 + IMG_SIZE = (256, 256) # Default Imagenet image size + NUM_CLASSES = 10 # For Imagenette dataset + FINE_TUNING_STEPS = 1 + LR = 1e-5 + + MEAN_RGB = (0.485 * 255, 0.456 * 255, 0.406 * 255) # From Imagenet dataset + STDDEV_RGB = (0.229 * 255, 0.224 * 255, 0.225 * 255) # From Imagenet dataset + +Prepare Dataset +~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + datasets, datasets_info = tfds.load( + "imagenette/160px", + shuffle_files=True, + as_supervised=True, + with_info=True, + read_config=tfds.ReadConfig(shuffle_seed=0), + ) + train_ds, validation_ds = datasets["train"], datasets["validation"] + + +.. parsed-literal:: + + 2024-04-17 23:07:11.869026: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-17 23:07:11.869251: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + + +.. code:: ipython3 + + def preprocessing(image, label): + image = tf.image.resize(image, IMG_SIZE) + image = tf.cast(image, tf.float32) / 255.0 + label = tf.one_hot(label, NUM_CLASSES) + return image, label + + + train_dataset = train_ds.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE).batch(TRAINING_BATCH_SIZE).prefetch(tf.data.experimental.AUTOTUNE) + validation_dataset = ( + validation_ds.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE).batch(TRAINING_BATCH_SIZE).prefetch(tf.data.experimental.AUTOTUNE) + ) + +.. code:: ipython3 + + # Class labels dictionary with imagenette sample names and classes + lbl_dict = dict( + n01440764="tench", + n02102040="English springer", + n02979186="cassette player", + n03000684="chain saw", + n03028079="church", + n03394916="French horn", + n03417042="garbage truck", + n03425413="gas pump", + n03445777="golf ball", + n03888257="parachute", + ) + + # Imagenette samples name index + class_idx_dict = [ + "n01440764", + "n02102040", + "n02979186", + "n03000684", + "n03028079", + "n03394916", + "n03417042", + "n03425413", + "n03445777", + "n03888257", + ] + + + def label_func(key): + return lbl_dict[key] + +Plotting data samples +~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + import matplotlib.pyplot as plt + + # Get the class labels from the dataset info + class_labels = datasets_info.features["label"].names + + # Display labels along with the examples + num_examples_to_display = 4 + fig, axes = plt.subplots(nrows=1, ncols=num_examples_to_display, figsize=(10, 5)) + + for i, (image, label_index) in enumerate(train_ds.take(num_examples_to_display)): + label_name = class_labels[label_index.numpy()] + + axes[i].imshow(image.numpy()) + axes[i].set_title(f"{label_func(label_name)}") + axes[i].axis("off") + plt.tight_layout() + plt.show() + + + +.. image:: tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_9_0.png + + +.. code:: ipython3 + + # Get the class labels from the dataset info + class_labels = datasets_info.features["label"].names + + # Display labels along with the examples + num_examples_to_display = 4 + fig, axes = plt.subplots(nrows=1, ncols=num_examples_to_display, figsize=(10, 5)) + + for i, (image, label_index) in enumerate(validation_ds.take(num_examples_to_display)): + label_name = class_labels[label_index.numpy()] + + axes[i].imshow(image.numpy()) + axes[i].set_title(f"{label_func(label_name)}") + axes[i].axis("off") + plt.tight_layout() + plt.show() + + + +.. image:: tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_10_0.png + + +Model Fine-tuning +~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + # Load the Big Transfer model + bit_model_url = "https://www.kaggle.com/models/google/bit/frameworks/TensorFlow2/variations/m-r50x1/versions/1" + bit_m = hub.KerasLayer(bit_model_url, trainable=True) + + # Customize the model for the new task + model = tf.keras.Sequential([bit_m, tf.keras.layers.Dense(NUM_CLASSES, activation="softmax")]) + + # Compile the model + model.compile( + optimizer=tf.keras.optimizers.Adam(learning_rate=LR), + loss="categorical_crossentropy", + metrics=["accuracy"], + ) + + # Fine-tune the model + model.fit( + train_dataset.take(3000), + epochs=FINE_TUNING_STEPS, + validation_data=validation_dataset.take(1000), + ) + model.save("./bit_tf_model/", save_format="tf") + + +.. parsed-literal:: + + + 1/101 [..............................] - ETA: 45:24 - loss: 6.0479 - accuracy: 0.0469 + +.. parsed-literal:: + +  + 2/101 [..............................] - ETA: 15:13 - loss: 5.6065 - accuracy: 0.0820 + +.. parsed-literal:: + +  + 3/101 [..............................] - ETA: 15:03 - loss: 5.2138 - accuracy: 0.0964 + +.. parsed-literal:: + +  + 4/101 [>.............................] - ETA: 14:54 - loss: 4.8722 - accuracy: 0.1016 + +.. parsed-literal:: + +  + 5/101 [>.............................] - ETA: 14:44 - loss: 4.4679 - accuracy: 0.1219 + +.. parsed-literal:: + +  + 6/101 [>.............................] - ETA: 14:35 - loss: 4.1461 - accuracy: 0.1510 + +.. parsed-literal:: + +  + 7/101 [=>............................] - ETA: 14:26 - loss: 3.8548 - accuracy: 0.1953 + +.. parsed-literal:: + +  + 8/101 [=>............................] - ETA: 14:16 - loss: 3.5996 - accuracy: 0.2373 + +.. parsed-literal:: + +  + 9/101 [=>............................] - ETA: 14:07 - loss: 3.4021 - accuracy: 0.2700 + +.. parsed-literal:: + +  + 10/101 [=>............................] - ETA: 13:58 - loss: 3.1909 - accuracy: 0.3063 + +.. parsed-literal:: + +  + 11/101 [==>...........................] - ETA: 13:48 - loss: 2.9949 - accuracy: 0.3381 + +.. parsed-literal:: + +  + 12/101 [==>...........................] - ETA: 13:39 - loss: 2.8219 - accuracy: 0.3698 + +.. parsed-literal:: + +  + 13/101 [==>...........................] - ETA: 13:30 - loss: 2.6598 - accuracy: 0.4020 + +.. parsed-literal:: + +  + 14/101 [===>..........................] - ETA: 13:20 - loss: 2.5312 - accuracy: 0.4269 + +.. parsed-literal:: + +  + 15/101 [===>..........................] - ETA: 13:11 - loss: 2.4153 - accuracy: 0.4510 + +.. parsed-literal:: + +  + 16/101 [===>..........................] - ETA: 13:02 - loss: 2.3011 - accuracy: 0.4761 + +.. parsed-literal:: + +  + 17/101 [====>.........................] - ETA: 12:53 - loss: 2.1989 - accuracy: 0.4959 + +.. parsed-literal:: + +  + 18/101 [====>.........................] - ETA: 12:44 - loss: 2.1012 - accuracy: 0.5161 + +.. parsed-literal:: + +  + 19/101 [====>.........................] - ETA: 12:35 - loss: 2.0128 - accuracy: 0.5354 + +.. parsed-literal:: + +  + 20/101 [====>.........................] - ETA: 12:26 - loss: 1.9297 - accuracy: 0.5543 + +.. parsed-literal:: + +  + 21/101 [=====>........................] - ETA: 12:16 - loss: 1.8573 - accuracy: 0.5707 + +.. parsed-literal:: + +  + 22/101 [=====>........................] - ETA: 12:07 - loss: 1.7837 - accuracy: 0.5870 + +.. parsed-literal:: + +  + 23/101 [=====>........................] - ETA: 11:58 - loss: 1.7245 - accuracy: 0.5999 + +.. parsed-literal:: + +  + 24/101 [======>.......................] - ETA: 11:49 - loss: 1.6608 - accuracy: 0.6146 + +.. parsed-literal:: + +  + 25/101 [======>.......................] - ETA: 11:39 - loss: 1.6048 - accuracy: 0.6263 + +.. parsed-literal:: + +  + 26/101 [======>.......................] - ETA: 11:30 - loss: 1.5509 - accuracy: 0.6385 + +.. parsed-literal:: + +  + 27/101 [=======>......................] - ETA: 11:21 - loss: 1.5013 - accuracy: 0.6493 + +.. parsed-literal:: + +  + 28/101 [=======>......................] - ETA: 11:12 - loss: 1.4595 - accuracy: 0.6585 + +.. parsed-literal:: + +  + 29/101 [=======>......................] - ETA: 11:03 - loss: 1.4204 - accuracy: 0.6676 + +.. parsed-literal:: + +  + 30/101 [=======>......................] - ETA: 10:54 - loss: 1.3813 - accuracy: 0.6766 + +.. parsed-literal:: + +  + 31/101 [========>.....................] - ETA: 10:44 - loss: 1.3424 - accuracy: 0.6852 + +.. parsed-literal:: + +  + 32/101 [========>.....................] - ETA: 10:35 - loss: 1.3107 - accuracy: 0.6926 + +.. parsed-literal:: + +  + 33/101 [========>.....................] - ETA: 10:26 - loss: 1.2751 - accuracy: 0.7005 + +.. parsed-literal:: + +  + 34/101 [=========>....................] - ETA: 10:17 - loss: 1.2508 - accuracy: 0.7063 + +.. parsed-literal:: + +  + 35/101 [=========>....................] - ETA: 10:08 - loss: 1.2218 - accuracy: 0.7123 + +.. parsed-literal:: + +  + 36/101 [=========>....................] - ETA: 9:58 - loss: 1.1916 - accuracy: 0.7192 + +.. parsed-literal:: + +  + 37/101 [=========>....................] - ETA: 9:49 - loss: 1.1619 - accuracy: 0.7259 + +.. parsed-literal:: + +  + 38/101 [==========>...................] - ETA: 9:40 - loss: 1.1351 - accuracy: 0.7317 + +.. parsed-literal:: + +  + 39/101 [==========>...................] - ETA: 9:31 - loss: 1.1082 - accuracy: 0.7378 + +.. parsed-literal:: + +  + 40/101 [==========>...................] - ETA: 9:22 - loss: 1.0851 - accuracy: 0.7428 + +.. parsed-literal:: + +  + 41/101 [===========>..................] - ETA: 9:12 - loss: 1.0637 - accuracy: 0.7471 + +.. parsed-literal:: + +  + 42/101 [===========>..................] - ETA: 9:03 - loss: 1.0405 - accuracy: 0.7524 + +.. parsed-literal:: + +  + 43/101 [===========>..................] - ETA: 8:54 - loss: 1.0197 - accuracy: 0.7571 + +.. parsed-literal:: + +  + 44/101 [============>.................] - ETA: 8:45 - loss: 0.9996 - accuracy: 0.7617 + +.. parsed-literal:: + +  + 45/101 [============>.................] - ETA: 8:35 - loss: 0.9804 - accuracy: 0.7665 + +.. parsed-literal:: + +  + 46/101 [============>.................] - ETA: 8:26 - loss: 0.9625 - accuracy: 0.7706 + +.. parsed-literal:: + +  + 47/101 [============>.................] - ETA: 8:17 - loss: 0.9440 - accuracy: 0.7748 + +.. parsed-literal:: + +  + 48/101 [=============>................] - ETA: 8:08 - loss: 0.9260 - accuracy: 0.7790 + +.. parsed-literal:: + +  + 49/101 [=============>................] - ETA: 7:59 - loss: 0.9093 - accuracy: 0.7828 + +.. parsed-literal:: + +  + 50/101 [=============>................] - ETA: 7:49 - loss: 0.8950 - accuracy: 0.7859 + +.. parsed-literal:: + +  + 51/101 [==============>...............] - ETA: 7:40 - loss: 0.8806 - accuracy: 0.7891 + +.. parsed-literal:: + +  + 52/101 [==============>...............] - ETA: 7:31 - loss: 0.8659 - accuracy: 0.7924 + +.. parsed-literal:: + +  + 53/101 [==============>...............] - ETA: 7:22 - loss: 0.8514 - accuracy: 0.7953 + +.. parsed-literal:: + +  + 54/101 [===============>..............] - ETA: 7:13 - loss: 0.8371 - accuracy: 0.7986 + +.. parsed-literal:: + +  + 55/101 [===============>..............] - ETA: 7:03 - loss: 0.8234 - accuracy: 0.8018 + +.. parsed-literal:: + +  + 56/101 [===============>..............] - ETA: 6:54 - loss: 0.8093 - accuracy: 0.8054 + +.. parsed-literal:: + +  + 57/101 [===============>..............] - ETA: 6:45 - loss: 0.7989 - accuracy: 0.8070 + +.. parsed-literal:: + +  + 58/101 [================>.............] - ETA: 6:36 - loss: 0.7859 - accuracy: 0.8098 + +.. parsed-literal:: + +  + 59/101 [================>.............] - ETA: 6:27 - loss: 0.7743 - accuracy: 0.8124 + +.. parsed-literal:: + +  + 60/101 [================>.............] - ETA: 6:17 - loss: 0.7642 - accuracy: 0.8148 + +.. parsed-literal:: + +  + 61/101 [=================>............] - ETA: 6:08 - loss: 0.7527 - accuracy: 0.8175 + +.. parsed-literal:: + +  + 62/101 [=================>............] - ETA: 5:59 - loss: 0.7433 - accuracy: 0.8194 + +.. parsed-literal:: + +  + 63/101 [=================>............] - ETA: 5:50 - loss: 0.7338 - accuracy: 0.8214 + +.. parsed-literal:: + +  + 64/101 [==================>...........] - ETA: 5:40 - loss: 0.7265 - accuracy: 0.8232 + +.. parsed-literal:: + +  + 65/101 [==================>...........] - ETA: 5:31 - loss: 0.7195 - accuracy: 0.8251 + +.. parsed-literal:: + +  + 66/101 [==================>...........] - ETA: 5:22 - loss: 0.7111 - accuracy: 0.8269 + +.. parsed-literal:: + +  + 67/101 [==================>...........] - ETA: 5:13 - loss: 0.7020 - accuracy: 0.8289 + +.. parsed-literal:: + +  + 68/101 [===================>..........] - ETA: 5:04 - loss: 0.6924 - accuracy: 0.8313 + +.. parsed-literal:: + +  + 69/101 [===================>..........] - ETA: 4:54 - loss: 0.6833 - accuracy: 0.8334 + +.. parsed-literal:: + +  + 70/101 [===================>..........] - ETA: 4:45 - loss: 0.6755 - accuracy: 0.8352 + +.. parsed-literal:: + +  + 71/101 [====================>.........] - ETA: 4:36 - loss: 0.6679 - accuracy: 0.8369 + +.. parsed-literal:: + +  + 72/101 [====================>.........] - ETA: 4:27 - loss: 0.6598 - accuracy: 0.8388 + +.. parsed-literal:: + +  + 73/101 [====================>.........] - ETA: 4:18 - loss: 0.6516 - accuracy: 0.8408 + +.. parsed-literal:: + +  + 74/101 [====================>.........] - ETA: 4:08 - loss: 0.6436 - accuracy: 0.8426 + +.. parsed-literal:: + +  + 75/101 [=====================>........] - ETA: 3:59 - loss: 0.6378 - accuracy: 0.8441 + +.. parsed-literal:: + +  + 76/101 [=====================>........] - ETA: 3:50 - loss: 0.6309 - accuracy: 0.8457 + +.. parsed-literal:: + +  + 77/101 [=====================>........] - ETA: 3:41 - loss: 0.6255 - accuracy: 0.8469 + +.. parsed-literal:: + +  + 78/101 [======================>.......] - ETA: 3:31 - loss: 0.6188 - accuracy: 0.8484 + +.. parsed-literal:: + +  + 79/101 [======================>.......] - ETA: 3:22 - loss: 0.6117 - accuracy: 0.8500 + +.. parsed-literal:: + +  + 80/101 [======================>.......] - ETA: 3:13 - loss: 0.6043 - accuracy: 0.8518 + +.. parsed-literal:: + +  + 81/101 [=======================>......] - ETA: 3:04 - loss: 0.5972 - accuracy: 0.8534 + +.. parsed-literal:: + +  + 82/101 [=======================>......] - ETA: 2:55 - loss: 0.5905 - accuracy: 0.8549 + +.. parsed-literal:: + +  + 83/101 [=======================>......] - ETA: 2:45 - loss: 0.5847 - accuracy: 0.8562 + +.. parsed-literal:: + +  + 84/101 [=======================>......] - ETA: 2:36 - loss: 0.5788 - accuracy: 0.8575 + +.. parsed-literal:: + +  + 85/101 [========================>.....] - ETA: 2:27 - loss: 0.5726 - accuracy: 0.8590 + +.. parsed-literal:: + +  + 86/101 [========================>.....] - ETA: 2:18 - loss: 0.5673 - accuracy: 0.8606 + +.. parsed-literal:: + +  + 87/101 [========================>.....] - ETA: 2:09 - loss: 0.5613 - accuracy: 0.8619 + +.. parsed-literal:: + +  + 88/101 [=========================>....] - ETA: 1:59 - loss: 0.5554 - accuracy: 0.8634 + +.. parsed-literal:: + +  + 89/101 [=========================>....] - ETA: 1:50 - loss: 0.5494 - accuracy: 0.8649 + +.. parsed-literal:: + +  + 90/101 [=========================>....] - ETA: 1:41 - loss: 0.5439 - accuracy: 0.8661 + +.. parsed-literal:: + +  + 91/101 [==========================>...] - ETA: 1:32 - loss: 0.5382 - accuracy: 0.8674 + +.. parsed-literal:: + +  + 92/101 [==========================>...] - ETA: 1:22 - loss: 0.5326 - accuracy: 0.8688 + +.. parsed-literal:: + +  + 93/101 [==========================>...] - ETA: 1:13 - loss: 0.5273 - accuracy: 0.8700 + +.. parsed-literal:: + +  + 94/101 [==========================>...] - ETA: 1:04 - loss: 0.5231 - accuracy: 0.8711 + +.. parsed-literal:: + +  + 95/101 [===========================>..] - ETA: 55s - loss: 0.5177 - accuracy: 0.8725 + +.. parsed-literal:: + +  + 96/101 [===========================>..] - ETA: 46s - loss: 0.5131 - accuracy: 0.8736 + +.. parsed-literal:: + +  + 97/101 [===========================>..] - ETA: 36s - loss: 0.5086 - accuracy: 0.8748 + +.. parsed-literal:: + +  + 98/101 [============================>.] - ETA: 27s - loss: 0.5044 - accuracy: 0.8758 + +.. parsed-literal:: + +  + 99/101 [============================>.] - ETA: 18s - loss: 0.5013 - accuracy: 0.8767 + +.. parsed-literal:: + +  +100/101 [============================>.] - ETA: 9s - loss: 0.4974 - accuracy: 0.8775 + +.. parsed-literal:: + +  +101/101 [==============================] - ETA: 0s - loss: 0.4945 - accuracy: 0.8782 + +.. parsed-literal:: + +  +101/101 [==============================] - 962s 9s/step - loss: 0.4945 - accuracy: 0.8782 - val_loss: 0.0819 - val_accuracy: 0.9800 + + +.. parsed-literal:: + + WARNING:absl:Found untraced functions such as _update_step_xla while saving (showing 1 of 1). These functions will not be directly callable after loading. + + +Perform model optimization (IR) step +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + ir_path = Path("./bit_ov_model/bit_m_r50x1_1.xml") + if not ir_path.exists(): + print("Initiating model optimization..!!!") + ov_model = ov.convert_model("./bit_tf_model") + ov.save_model(ov_model, ir_path) + else: + print(f"IR model {ir_path} already exists.") + + +.. parsed-literal:: + + Initiating model optimization..!!! + + +Compute accuracy of the TF model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + tf_model = tf.keras.models.load_model("./bit_tf_model/") + + tf_predictions = [] + gt_label = [] + + for _, label in validation_dataset: + for cls_label in label: + l_list = cls_label.numpy().tolist() + gt_label.append(l_list.index(1)) + + for img_batch, label_batch in validation_dataset: + tf_result_batch = tf_model.predict(img_batch, verbose=0) + for i in range(len(img_batch)): + tf_result = tf_result_batch[i] + tf_result = tf.reshape(tf_result, [-1]) + top5_label_idx = np.argsort(tf_result)[-MAX_PREDS::][::-1] + tf_predictions.append(top5_label_idx) + + # Convert the lists to NumPy arrays for accuracy calculation + tf_predictions = np.array(tf_predictions) + gt_label = np.array(gt_label) + + tf_acc_score = accuracy_score(tf_predictions, gt_label) + +Compute accuracy of the OpenVINO model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Select device for inference: + +.. code:: ipython3 + + import ipywidgets as widgets + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +.. code:: ipython3 + + ov_fp32_model = core.read_model("./bit_ov_model/bit_m_r50x1_1.xml") + ov_fp32_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) + + # Target device set to CPU (Other options Ex: AUTO/GPU/dGPU/) + compiled_model = ov.compile_model(ov_fp32_model, device.value) + output = compiled_model.outputs[0] + + ov_predictions = [] + for img_batch, _ in validation_dataset: + for image in img_batch: + image = tf.expand_dims(image, axis=0) + pred = compiled_model(image)[output] + ov_result = tf.reshape(pred, [-1]) + top_label_idx = np.argsort(ov_result)[-MAX_PREDS::][::-1] + ov_predictions.append(top_label_idx) + + fp32_acc_score = accuracy_score(ov_predictions, gt_label) + +Quantize OpenVINO model using NNCF +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Model Quantization using NNCF + +1. Preprocessing and preparing validation samples for NNCF calibration +2. Perform NNCF Quantization on OpenVINO FP32 model +3. Serialize Quantized OpenVINO INT8 model + +.. code:: ipython3 + + def nncf_preprocessing(image, label): + image = tf.image.resize(image, IMG_SIZE) + image = image - MEAN_RGB + image = image / STDDEV_RGB + return image + + + val_ds = validation_ds.map(nncf_preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE).batch(1).prefetch(tf.data.experimental.AUTOTUNE) + + calibration_dataset = nncf.Dataset(val_ds) + + ov_fp32_model = core.read_model("./bit_ov_model/bit_m_r50x1_1.xml") + + ov_int8_model = nncf.quantize(ov_fp32_model, calibration_dataset, fast_bias_correction=False) + + ov.save_model(ov_int8_model, "./bit_ov_int8_model/bit_m_r50x1_1_ov_int8.xml") + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +Compute accuracy of the quantized model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + nncf_quantized_model = core.read_model("./bit_ov_int8_model/bit_m_r50x1_1_ov_int8.xml") + nncf_quantized_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) + + # Target device set to CPU by default + compiled_model = ov.compile_model(nncf_quantized_model, device.value) + output = compiled_model.outputs[0] + + ov_predictions = [] + inp_tensor = nncf_quantized_model.inputs[0] + out_tensor = nncf_quantized_model.outputs[0] + + for img_batch, _ in validation_dataset: + for image in img_batch: + image = tf.expand_dims(image, axis=0) + pred = compiled_model(image)[output] + ov_result = tf.reshape(pred, [-1]) + top_label_idx = np.argsort(ov_result)[-MAX_PREDS::][::-1] + ov_predictions.append(top_label_idx) + + int8_acc_score = accuracy_score(ov_predictions, gt_label) + +Compare FP32 and INT8 accuracy +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + print(f"Accuracy of the tensorflow model (fp32): {tf_acc_score * 100: .2f}%") + print(f"Accuracy of the OpenVINO optimized model (fp32): {fp32_acc_score * 100: .2f}%") + print(f"Accuracy of the OpenVINO quantized model (int8): {int8_acc_score * 100: .2f}%") + accuracy_drop = fp32_acc_score - int8_acc_score + print(f"Accuracy drop between OV FP32 and INT8 model: {accuracy_drop * 100:.1f}% ") + + +.. parsed-literal:: + + Accuracy of the tensorflow model (fp32): 98.00% + Accuracy of the OpenVINO optimized model (fp32): 98.20% + Accuracy of the OpenVINO quantized model (int8): 97.00% + Accuracy drop between OV FP32 and INT8 model: 1.2% + + +Compare inference results on one picture +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + # Accessing validation sample + sample_idx = 50 + vds = datasets["validation"] + + if len(vds) > sample_idx: + sample = vds.take(sample_idx + 1).skip(sample_idx).as_numpy_iterator().next() + else: + print("Dataset does not have enough samples...!!!") + + # Image data + sample_data = sample[0] + + # Label info + sample_label = sample[1] + + # Image data pre-processing + image = tf.image.resize(sample_data, IMG_SIZE) + image = tf.expand_dims(image, axis=0) + image = tf.cast(image, tf.float32) / 255.0 + + + # OpenVINO inference + def ov_inference(model: ov.Model, image) -> str: + compiled_model = ov.compile_model(model, device.value) + output = compiled_model.outputs[0] + pred = compiled_model(image)[output] + ov_result = tf.reshape(pred, [-1]) + pred_label = np.argsort(ov_result)[-MAX_PREDS::][::-1] + return pred_label + + + # OpenVINO FP32 model + ov_fp32_model = core.read_model("./bit_ov_model/bit_m_r50x1_1.xml") + ov_fp32_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) + + # OpenVINO INT8 model + ov_int8_model = core.read_model("./bit_ov_int8_model/bit_m_r50x1_1_ov_int8.xml") + ov_int8_model.reshape([1, IMG_SIZE[0], IMG_SIZE[1], 3]) + + # OpenVINO FP32 model inference + ov_fp32_pred_label = ov_inference(ov_fp32_model, image) + + print(f"Predicted label for the sample picture by float (fp32) model: {label_func(class_idx_dict[int(ov_fp32_pred_label)])}\n") + + # OpenVINO FP32 model inference + ov_int8_pred_label = ov_inference(ov_int8_model, image) + print(f"Predicted label for the sample picture by qunatized (int8) model: {label_func(class_idx_dict[int(ov_int8_pred_label)])}\n") + + # Plotting the image sample with ground truth + plt.figure() + plt.imshow(sample_data) + plt.title(f"Ground truth: {label_func(class_idx_dict[sample_label])}") + plt.axis("off") + plt.show() + + +.. parsed-literal:: + + Predicted label for the sample picture by float (fp32) model: gas pump + + + +.. parsed-literal:: + + Predicted label for the sample picture by qunatized (int8) model: gas pump + + + + +.. image:: tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_27_2.png + diff --git a/docs/notebooks/127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_10_2.png b/docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_10_0.png similarity index 100% rename from docs/notebooks/127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_10_2.png rename to docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_10_0.png diff --git a/docs/notebooks/127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_27_3.png b/docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_27_2.png similarity index 100% rename from docs/notebooks/127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_27_3.png rename to docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_27_2.png diff --git a/docs/notebooks/127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_9_2.png b/docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_9_0.png similarity index 100% rename from docs/notebooks/127-tensorflow-bit-image-classification-nncf-quantization-with-output_files/127-tensorflow-bit-image-classification-nncf-quantization-with-output_9_2.png rename to docs/notebooks/tensorflow-bit-image-classification-nncf-quantization-with-output_files/tensorflow-bit-image-classification-nncf-quantization-with-output_9_0.png diff --git a/docs/notebooks/101-tensorflow-classification-to-openvino-with-output.rst b/docs/notebooks/tensorflow-classification-to-openvino-with-output.rst similarity index 55% rename from docs/notebooks/101-tensorflow-classification-to-openvino-with-output.rst rename to docs/notebooks/tensorflow-classification-to-openvino-with-output.rst index f7ec33011b6..76842dab865 100644 --- a/docs/notebooks/101-tensorflow-classification-to-openvino-with-output.rst +++ b/docs/notebooks/tensorflow-classification-to-openvino-with-output.rst @@ -38,10 +38,108 @@ Table of contents: .. code:: ipython3 + import platform + # Install openvino package - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" "opencv-python" + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" + %pip install -q tf_keras tensorflow_hub tqdm +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -54,9 +152,13 @@ Imports .. code:: ipython3 + import os import time from pathlib import Path + os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" + os.environ["TF_USE_LEGACY_KERAS"] = "1" + import cv2 import matplotlib.pyplot as plt import numpy as np @@ -64,27 +166,16 @@ Imports import tensorflow as tf # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file - -.. parsed-literal:: - - 2024-03-12 22:18:47.211125: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 22:18:47.245088: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - - -.. parsed-literal:: - - 2024-03-12 22:18:47.761261: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - Settings -------- @@ -122,12 +213,8 @@ and save it to the disk. .. parsed-literal:: - 2024-03-12 22:18:50.501463: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-12 22:18:50.501497: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-12 22:18:50.501501: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-12 22:18:50.501645: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-12 22:18:50.501661: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-12 22:18:50.501665: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + 2024-04-18 01:05:25.005331: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-18 01:05:25.005523: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration .. parsed-literal:: @@ -137,14 +224,6 @@ and save it to the disk. .. parsed-literal:: - 2024-03-12 22:18:54.762256: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,1,1,1024] - [[{{node inputs}}]] - - -.. parsed-literal:: - - 2024-03-12 22:18:57.938498: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,1,1,1024] - [[{{node inputs}}]] WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 54). These functions will not be directly callable after loading. @@ -222,8 +301,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -251,7 +330,7 @@ Get Model Information input_key = compiled_model.input(0) output_key = compiled_model.output(0) - network_input_shape = input_key.shape + network_input_shape = input_key.shape Load an Image ~~~~~~~~~~~~~ @@ -266,7 +345,7 @@ network. # Download the image from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco.jpg", - directory="data" + directory="data", ) # The MobileNet network expects images in RGB format. @@ -288,7 +367,7 @@ network. -.. image:: 101-tensorflow-classification-to-openvino-with-output_files/101-tensorflow-classification-to-openvino-with-output_19_1.png +.. image:: tensorflow-classification-to-openvino-with-output_files/tensorflow-classification-to-openvino-with-output_19_1.png Do Inference @@ -307,7 +386,7 @@ Do Inference # Download the datasets from the openvino_notebooks storage image_filename = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/datasets/imagenet/imagenet_2012.txt", - directory="data" + directory="data", ) # Convert the inference result to a class name. @@ -354,13 +433,10 @@ performance. end = time.perf_counter() time_ir = end - start - print( - f"IR model in OpenVINO Runtime/CPU: {time_ir/num_images:.4f} " - f"seconds per image, FPS: {num_images/time_ir:.2f}" - ) + print(f"IR model in OpenVINO Runtime/CPU: {time_ir/num_images:.4f} " f"seconds per image, FPS: {num_images/time_ir:.2f}") .. parsed-literal:: - IR model in OpenVINO Runtime/CPU: 0.0011 seconds per image, FPS: 946.40 + IR model in OpenVINO Runtime/CPU: 0.0011 seconds per image, FPS: 917.77 diff --git a/docs/notebooks/tensorflow-classification-to-openvino-with-output_files/tensorflow-classification-to-openvino-with-output_19_1.png b/docs/notebooks/tensorflow-classification-to-openvino-with-output_files/tensorflow-classification-to-openvino-with-output_19_1.png new file mode 100644 index 00000000000..cca7858e3bc --- /dev/null +++ b/docs/notebooks/tensorflow-classification-to-openvino-with-output_files/tensorflow-classification-to-openvino-with-output_19_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbd7b81cc8e7a73ea9bcb8be0c0575134f50b6af8f7de23ee9feed645a4cf66c +size 387941 diff --git a/docs/notebooks/126-tensorflow-hub-with-output.rst b/docs/notebooks/tensorflow-hub-with-output.rst similarity index 61% rename from docs/notebooks/126-tensorflow-hub-with-output.rst rename to docs/notebooks/tensorflow-hub-with-output.rst index cdce57355bd..4485966d043 100644 --- a/docs/notebooks/126-tensorflow-hub-with-output.rst +++ b/docs/notebooks/tensorflow-hub-with-output.rst @@ -47,9 +47,9 @@ Table of contents: - `Inference <#inference>`__ .. |Colab| image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/openvinotoolkit/openvino_notebooks/blob/main/notebooks/126-tensorflow-hub/126-tensorflow-hub.ipynb + :target: https://colab.research.google.com/github/openvinotoolkit/openvino_notebooks/blob/latest/notebooks/tensorflow-hub/tensorflow-hub.ipynb .. |Binder| image:: https://mybinder.org/badge_logo.svg - :target: https://mybinder.org/v2/gh/eaidova/openvino_notebooks_binder.git/main?urlpath=git-pull%3Frepo%3Dhttps%253A%252F%252Fgithub.com%252Fopenvinotoolkit%252Fopenvino_notebooks%26urlpath%3Dtree%252Fopenvino_notebooks%252Fnotebooks%2F126-tensorflow-hub%2F126-tensorflow-hub.ipynb + :target: https://mybinder.org/v2/gh/eaidova/openvino_notebooks_binder.git/main?urlpath=git-pull%3Frepo%3Dhttps%253A%252F%252Fgithub.com%252Fopenvinotoolkit%252Fopenvino_notebooks%26urlpath%3Dtree%252Fopenvino_notebooks%252Fnotebooks%2Ftensorflow-hub%2Ftensorflow-hub.ipynb Image classification -------------------- @@ -83,25 +83,118 @@ Install required packages import platform - %pip install -q tensorflow_hub tensorflow pillow numpy + %pip install -q pillow numpy %pip install -q "openvino>=2023.2.0" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" else: %pip install -q "matplotlib>=3.4,<3.7" + + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" + %pip install -q tf_keras tensorflow_hub +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -116,8 +209,11 @@ Import libraries from pathlib import Path import os - from urllib.request import urlretrieve + import requests + os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" + os.environ["TF_USE_LEGACY_KERAS"] = "1" + os.environ["TFHUB_CACHE_DIR"] = str(Path("./tfhub_modules").resolve()) import tensorflow_hub as hub import tensorflow as tf @@ -132,13 +228,19 @@ Import libraries .. code:: ipython3 IMAGE_SHAPE = (224, 224) - IMAGE_URL, IMAGE_PATH = "https://storage.googleapis.com/download.tensorflow.org/example_images/grace_hopper.jpg", "data/grace_hopper.jpg" - MODEL_URL, MODEL_PATH = "https://www.kaggle.com/models/google/mobilenet-v1/frameworks/tensorFlow2/variations/100-224-classification/versions/2", "models/mobilenet_v2_100_224.xml" + IMAGE_URL, IMAGE_PATH = ( + "https://storage.googleapis.com/download.tensorflow.org/example_images/grace_hopper.jpg", + "data/grace_hopper.jpg", + ) + MODEL_URL, MODEL_PATH = ( + "https://www.kaggle.com/models/google/mobilenet-v1/frameworks/tensorFlow2/variations/100-224-classification/versions/2", + "models/mobilenet_v2_100_224.xml", + ) Download the classifier ~~~~~~~~~~~~~~~~~~~~~~~ -Select a MobileNetV2 + Select a MobileNetV2 pre-trained model `from TensorFlow Hub `__ and wrap it as a Keras layer with ``hub.KerasLayer``. @@ -150,14 +252,14 @@ and wrap it as a Keras layer with ``hub.KerasLayer``. .. parsed-literal:: - 2024-03-12 22:55:04.217869: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-12 22:55:04.218046: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + 2024-04-18 01:06:17.784754: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-18 01:06:17.784935: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration Download a single image to try the model on ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The input ``images`` are + The input ``images`` are expected to have color values in the range [0,1], following the `common image input conventions `__. @@ -167,14 +269,17 @@ For this model, the size of the input images is fixed to ``height`` x .. code:: ipython3 Path(IMAGE_PATH).parent.mkdir(parents=True, exist_ok=True) - grace_hopper, _ = urlretrieve(IMAGE_URL, IMAGE_PATH) - grace_hopper = PIL.Image.open(grace_hopper).resize(IMAGE_SHAPE) + + r = requests.get(IMAGE_URL) + with Path(IMAGE_PATH).open("wb") as f: + f.write(r.content) + grace_hopper = PIL.Image.open(IMAGE_PATH).resize(IMAGE_SHAPE) grace_hopper -.. image:: 126-tensorflow-hub-with-output_files/126-tensorflow-hub-with-output_11_0.png +.. image:: tensorflow-hub-with-output_files/tensorflow-hub-with-output_11_0.png @@ -225,8 +330,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -291,16 +396,19 @@ dataset labels to decode the predictions: .. code:: ipython3 - labels_path = tf.keras.utils.get_file('ImageNetLabels.txt','https://storage.googleapis.com/download.tensorflow.org/data/ImageNetLabels.txt') + labels_path = tf.keras.utils.get_file( + "ImageNetLabels.txt", + "https://storage.googleapis.com/download.tensorflow.org/data/ImageNetLabels.txt", + ) imagenet_labels = np.array(open(labels_path).read().splitlines()) plt.imshow(grace_hopper) - plt.axis('off') + plt.axis("off") predicted_class_name = imagenet_labels[predicted_class] _ = plt.title("Prediction: " + predicted_class_name.title()) -.. image:: 126-tensorflow-hub-with-output_files/126-tensorflow-hub-with-output_26_0.png +.. image:: tensorflow-hub-with-output_files/tensorflow-hub-with-output_26_0.png Image style transfer @@ -345,11 +453,21 @@ Install required packages %pip install -q "openvino>=2023.2.0" +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -358,8 +476,8 @@ Install required packages .. code:: ipython3 import os + os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" - from urllib.request import urlretrieve from pathlib import Path import openvino as ov @@ -433,8 +551,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -463,7 +581,9 @@ Inference def download_image(src, dst): if not Path(dst).exists(): Path(dst).parent.mkdir(parents=True, exist_ok=True) - urlretrieve(src, dst) + r = requests.get(src) + with open(dst, "wb") as f: + f.write(r.content) image = cv2.imread(dst) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Convert image color to RGB space image = image / 255 # Normalize to [0, 1] interval @@ -474,7 +594,7 @@ Inference content_image = download_image(CONTENT_IMAGE_URL, CONTENT_IMAGE_PATH) style_image = download_image(STYLE_IMAGE_URL, STYLE_IMAGE_PATH) - style_image = cv2.resize(style_image, (256,256)) # model was trained on 256x256 images + style_image = cv2.resize(style_image, (256, 256)) # model was trained on 256x256 images .. code:: ipython3 @@ -496,5 +616,5 @@ Inference -.. image:: 126-tensorflow-hub-with-output_files/126-tensorflow-hub-with-output_45_0.png +.. image:: tensorflow-hub-with-output_files/tensorflow-hub-with-output_45_0.png diff --git a/docs/notebooks/126-tensorflow-hub-with-output_files/126-tensorflow-hub-with-output_11_0.jpg b/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_11_0.jpg similarity index 100% rename from docs/notebooks/126-tensorflow-hub-with-output_files/126-tensorflow-hub-with-output_11_0.jpg rename to docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_11_0.jpg diff --git a/docs/notebooks/126-tensorflow-hub-with-output_files/126-tensorflow-hub-with-output_11_0.png b/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_11_0.png similarity index 100% rename from docs/notebooks/126-tensorflow-hub-with-output_files/126-tensorflow-hub-with-output_11_0.png rename to docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_11_0.png diff --git a/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_26_0.png b/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_26_0.png new file mode 100644 index 00000000000..abeb0cad037 --- /dev/null +++ b/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_26_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2183d9cfbc5865851a25d7890cafabbb84a4264ba8a792f5550cbe4c2ba901e8 +size 203738 diff --git a/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_45_0.png b/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_45_0.png new file mode 100644 index 00000000000..77b2f70419d --- /dev/null +++ b/docs/notebooks/tensorflow-hub-with-output_files/tensorflow-hub-with-output_45_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f4b0fb5d082511d93c8d2d5247da30c6c756c4222a6ac501083058857d5d519 +size 538743 diff --git a/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output.rst b/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output.rst similarity index 77% rename from docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output.rst rename to docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output.rst index 4d09c541219..2ec0626ab43 100644 --- a/docs/notebooks/120-tensorflow-instance-segmentation-to-openvino-with-output.rst +++ b/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output.rst @@ -62,19 +62,96 @@ Install required packages: import platform - %pip install -q "openvino>=2023.1.0" "numpy>=1.21.0" "opencv-python" + %pip install -q "openvino>=2023.1.0" "numpy>=1.21.0" "opencv-python" "tqdm" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" else: %pip install -q "matplotlib>=3.4,<3.7" + + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -86,12 +163,22 @@ The notebook uses utility functions. The cell below will download the .. code:: ipython3 # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request + import requests - urllib.request.urlretrieve( - url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py", - filename="notebook_utils.py", - ); + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + + + + +.. parsed-literal:: + + 21503 + + Imports ------- @@ -139,7 +226,9 @@ Define model related variables and create corresponding directories: openvino_ir_path = ir_model_dir / f"{model_name}.xml" - tf_model_url = "https://www.kaggle.com/models/tensorflow/mask-rcnn-inception-resnet-v2/frameworks/tensorFlow2/variations/1024x1024/versions/1?tf-hub-format=compressed" + tf_model_url = ( + "https://www.kaggle.com/models/tensorflow/mask-rcnn-inception-resnet-v2/frameworks/tensorFlow2/variations/1024x1024/versions/1?tf-hub-format=compressed" + ) tf_model_archive_filename = f"{model_name}.tar.gz" @@ -154,11 +243,7 @@ from TensorFlow Hub: .. code:: ipython3 - download_file( - url=tf_model_url, - filename=tf_model_archive_filename, - directory=tf_model_dir - ); + download_file(url=tf_model_url, filename=tf_model_archive_filename, directory=tf_model_dir); @@ -224,8 +309,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -376,12 +461,12 @@ Read the image, resize and convert it to the input shape of the network: .. parsed-literal:: - + -.. image:: 120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_25_1.png +.. image:: tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_25_1.png Perform Inference @@ -446,9 +531,7 @@ Define utility functions to visualize the inference results from typing import Optional - def add_detection_box( - box: np.ndarray, image: np.ndarray, mask: np.ndarray, label: Optional[str] = None - ) -> np.ndarray: + def add_detection_box(box: np.ndarray, image: np.ndarray, mask: np.ndarray, label: Optional[str] = None) -> np.ndarray: """ Helper function for adding single bounding box to the image @@ -489,7 +572,10 @@ Define utility functions to visualize the inference results font_scale = line_thickness / 3 font_color = (255, 255, 255) text_size = cv2.getTextSize( - text=label, fontFace=font_face, fontScale=font_scale, thickness=font_thickness + text=label, + fontFace=font_face, + fontScale=font_scale, + thickness=font_thickness, )[0] # Calculate rectangle coordinates rectangle_point1 = point1 @@ -539,19 +625,22 @@ Define utility functions to visualize the inference results x_max = frame.shape[1] * box[3] y_max = frame.shape[0] * box[2] rect_src = np.array( - [[0, 0], [mask.shape[1], 0], [mask.shape[1], mask.shape[0]], [0, mask.shape[0]]], + [ + [0, 0], + [mask.shape[1], 0], + [mask.shape[1], mask.shape[0]], + [0, mask.shape[0]], + ], dtype=np.float32, ) rect_dst = np.array( - [[x_min, y_min], [x_max, y_min], [x_max, y_max], [x_min, y_max]], dtype=np.float32 + [[x_min, y_min], [x_max, y_min], [x_max, y_max], [x_min, y_max]], + dtype=np.float32, ) M = cv2.getPerspectiveTransform(rect_src[:, :], rect_dst[:, :]) - mask_frame = cv2.warpPerspective( - mask, M, (frame.shape[1], frame.shape[0]), flags=cv2.INTER_CUBIC - ) + mask_frame = cv2.warpPerspective(mask, M, (frame.shape[1], frame.shape[0]), flags=cv2.INTER_CUBIC) return mask_frame - .. code:: ipython3 from typing import Dict @@ -585,11 +674,7 @@ Define utility functions to visualize the inference results num_detections = inference_result.get("num_detections") detection_masks = inference_result.get("detection_masks") - detections_limit = int( - min(detections_limit, num_detections[0]) - if detections_limit is not None - else num_detections[0] - ) + detections_limit = int(min(detections_limit, num_detections[0]) if detections_limit is not None else num_detections[0]) # Normalize detection boxes coordinates to original image size original_image_height, original_image_width, _ = image.shape @@ -608,7 +693,10 @@ Define utility functions to visualize the inference results mask_reframed = (mask_reframed > 0.5).astype(np.uint8) label = f"{detected_class_name} {score:.2f}" result = add_detection_box( - box=normalized_detection_boxes[i], image=result, mask=mask_reframed, label=label + box=normalized_detection_boxes[i], + image=result, + mask=mask_reframed, + label=label, ) plt.imshow(result) @@ -672,7 +760,7 @@ original test image: -.. image:: 120-tensorflow-instance-segmentation-to-openvino-with-output_files/120-tensorflow-instance-segmentation-to-openvino-with-output_39_0.png +.. image:: tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_39_0.png Next Steps @@ -686,13 +774,13 @@ performance of your application using OpenVINO. Async inference pipeline ~~~~~~~~~~~~~~~~~~~~~~~~ -The key advantage of the Async + The key advantage of the Async API is that when a device is busy with inference, the application can perform other tasks in parallel (for example, populating inputs or scheduling other requests) rather than wait for the current inference to complete first. To understand how to perform async inference using openvino, refer to the `Async API -tutorial <115-async-api-with-output.html>`__. +tutorial `__. Integration preprocessing to model ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -708,6 +796,6 @@ CPU as part of an application. This will improve selected device utilization. For more information, refer to the `Optimize Preprocessing -tutorial <118-optimize-preprocessing-with-output.html>`__ -and to the overview of `Preprocessing +tutorial `__ and +to the overview of `Preprocessing API `__. diff --git a/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_25_1.png b/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_25_1.png new file mode 100644 index 00000000000..5479dc43b2c --- /dev/null +++ b/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_25_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bd39d6eb3cbfd9cea347a2187dce7bee617c145fccc54de05dc5e35597da770 +size 395346 diff --git a/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_39_0.png b/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_39_0.png new file mode 100644 index 00000000000..3e3934b35fe --- /dev/null +++ b/docs/notebooks/tensorflow-instance-segmentation-to-openvino-with-output_files/tensorflow-instance-segmentation-to-openvino-with-output_39_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7490928303dad0c415e87d17a7e92fa1ae6b8c76473ded8d0c7d9cbb98f9066a +size 392067 diff --git a/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output.rst b/docs/notebooks/tensorflow-object-detection-to-openvino-with-output.rst similarity index 77% rename from docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output.rst rename to docs/notebooks/tensorflow-object-detection-to-openvino-with-output.rst index 2902f183f9d..305fac6f8c2 100644 --- a/docs/notebooks/120-tensorflow-object-detection-to-openvino-with-output.rst +++ b/docs/notebooks/tensorflow-object-detection-to-openvino-with-output.rst @@ -61,19 +61,95 @@ Install required packages: import platform - %pip install -q "openvino>=2023.1.0" "numpy>=1.21.0" "opencv-python" + %pip install -q "openvino>=2023.1.0" "numpy>=1.21.0" "opencv-python" "tqdm" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" else: %pip install -q "matplotlib>=3.4,<3.7" + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -85,12 +161,22 @@ The notebook uses utility functions. The cell below will download the .. code:: ipython3 # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request + import requests - urllib.request.urlretrieve( - url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py", - filename="notebook_utils.py", - ); + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + + + + +.. parsed-literal:: + + 21503 + + Imports ------- @@ -106,6 +192,7 @@ Imports import cv2 import matplotlib.pyplot as plt import numpy as np + # OpenVINO import import openvino as ov @@ -152,11 +239,7 @@ from TensorFlow Hub: .. code:: ipython3 - download_file( - url=tf_model_url, - filename=tf_model_archive_filename, - directory=tf_model_dir - ) + download_file(url=tf_model_url, filename=tf_model_archive_filename, directory=tf_model_dir) @@ -169,7 +252,7 @@ from TensorFlow Hub: .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/120-tensorflow-object-detection-to-openvino/model/tf/faster_rcnn_resnet50_v1_640x640.tar.gz') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/tensorflow-object-detection-to-openvino/model/tf/faster_rcnn_resnet50_v1_640x640.tar.gz') @@ -231,8 +314,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -355,7 +438,7 @@ Load and save an image: .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/120-tensorflow-object-detection-to-openvino/data/coco_bike.jpg') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/tensorflow-object-detection-to-openvino/data/coco_bike.jpg') @@ -383,12 +466,12 @@ Read the image, resize and convert it to the input shape of the network: .. parsed-literal:: - + -.. image:: 120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_25_1.png +.. image:: tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_25_1.png Perform Inference @@ -407,7 +490,16 @@ outputs will be used. .. code:: ipython3 - _, detection_boxes, detection_classes, _, detection_scores, num_detections, _, _ = model_outputs + ( + _, + detection_boxes, + detection_classes, + _, + detection_scores, + num_detections, + _, + _, + ) = model_outputs image_detection_boxes = inference_result[detection_boxes] print("image_detection_boxes:", image_detection_boxes) @@ -541,23 +633,51 @@ Define utility functions to visualize the inference results box_color = [random.randint(0, 255) for _ in range(3)] line_thickness = round(0.002 * (image.shape[0] + image.shape[1]) / 2) + 1 - cv2.rectangle(img=image, pt1=point1, pt2=point2, color=box_color, thickness=line_thickness, lineType=cv2.LINE_AA) + cv2.rectangle( + img=image, + pt1=point1, + pt2=point2, + color=box_color, + thickness=line_thickness, + lineType=cv2.LINE_AA, + ) if label: font_thickness = max(line_thickness - 1, 1) font_face = 0 font_scale = line_thickness / 3 font_color = (255, 255, 255) - text_size = cv2.getTextSize(text=label, fontFace=font_face, fontScale=font_scale, thickness=font_thickness)[0] + text_size = cv2.getTextSize( + text=label, + fontFace=font_face, + fontScale=font_scale, + thickness=font_thickness, + )[0] # Calculate rectangle coordinates rectangle_point1 = point1 rectangle_point2 = (point1[0] + text_size[0], point1[1] - text_size[1] - 3) # Add filled rectangle - cv2.rectangle(img=image, pt1=rectangle_point1, pt2=rectangle_point2, color=box_color, thickness=-1, lineType=cv2.LINE_AA) + cv2.rectangle( + img=image, + pt1=rectangle_point1, + pt2=rectangle_point2, + color=box_color, + thickness=-1, + lineType=cv2.LINE_AA, + ) # Calculate text position text_position = point1[0], point1[1] - 3 # Add text with label to filled rectangle - cv2.putText(img=image, text=label, org=text_position, fontFace=font_face, fontScale=font_scale, color=font_color, thickness=font_thickness, lineType=cv2.LINE_AA) + cv2.putText( + img=image, + text=label, + org=text_position, + fontFace=font_face, + fontScale=font_scale, + color=font_color, + thickness=font_thickness, + lineType=cv2.LINE_AA, + ) return image .. code:: ipython3 @@ -567,7 +687,12 @@ Define utility functions to visualize the inference results from openvino.runtime.utils.data_helpers import OVDict - def visualize_inference_result(inference_result: OVDict, image: np.ndarray, labels_map: Dict, detections_limit: Optional[int] = None): + def visualize_inference_result( + inference_result: OVDict, + image: np.ndarray, + labels_map: Dict, + detections_limit: Optional[int] = None, + ): """ Helper function for visualizing inference result on the image @@ -587,11 +712,7 @@ Define utility functions to visualize the inference results detection_scores: np.ndarray = inference_result.get("detection_scores") num_detections: np.ndarray = inference_result.get("num_detections") - detections_limit = int( - min(detections_limit, num_detections[0]) - if detections_limit is not None - else num_detections[0] - ) + detections_limit = int(min(detections_limit, num_detections[0]) if detections_limit is not None else num_detections[0]) # Normalize detection boxes coordinates to original image size original_image_height, original_image_width, _ = image.shape @@ -647,7 +768,7 @@ Zoo `__: .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/120-tensorflow-object-detection-to-openvino/data/coco_91cl.txt') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/tensorflow-object-detection-to-openvino/data/coco_91cl.txt') @@ -683,7 +804,7 @@ original test image: -.. image:: 120-tensorflow-object-detection-to-openvino-with-output_files/120-tensorflow-object-detection-to-openvino-with-output_38_0.png +.. image:: tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_38_0.png Next Steps @@ -697,13 +818,13 @@ performance of your application using OpenVINO. Async inference pipeline ~~~~~~~~~~~~~~~~~~~~~~~~ -The key advantage of the Async + The key advantage of the Async API is that when a device is busy with inference, the application can perform other tasks in parallel (for example, populating inputs or scheduling other requests) rather than wait for the current inference to complete first. To understand how to perform async inference using openvino, refer to the `Async API -tutorial <115-async-api-with-output.html>`__. +tutorial `__. Integration preprocessing to model ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -719,6 +840,6 @@ CPU as part of an application. This will improve selected device utilization. For more information, refer to the `Optimize Preprocessing -tutorial <118-optimize-preprocessing-with-output.html>`__ -and to the overview of `Preprocessing +tutorial `__ and +to the overview of `Preprocessing API `__. diff --git a/docs/notebooks/tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_25_1.png b/docs/notebooks/tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_25_1.png new file mode 100644 index 00000000000..5479dc43b2c --- /dev/null +++ b/docs/notebooks/tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_25_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bd39d6eb3cbfd9cea347a2187dce7bee617c145fccc54de05dc5e35597da770 +size 395346 diff --git a/docs/notebooks/tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_38_0.png b/docs/notebooks/tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_38_0.png new file mode 100644 index 00000000000..90ea52895da --- /dev/null +++ b/docs/notebooks/tensorflow-object-detection-to-openvino-with-output_files/tensorflow-object-detection-to-openvino-with-output_38_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7512ac3ef1f68e67ecbae9e3cd6e739c0c027367d579e0a700d85d694da9a3b9 +size 391982 diff --git a/docs/notebooks/305-tensorflow-quantization-aware-training-with-output.rst b/docs/notebooks/tensorflow-quantization-aware-training-with-output.rst similarity index 83% rename from docs/notebooks/305-tensorflow-quantization-aware-training-with-output.rst rename to docs/notebooks/tensorflow-quantization-aware-training-with-output.rst index 39d7d0ab540..19e8a986e5d 100644 --- a/docs/notebooks/305-tensorflow-quantization-aware-training-with-output.rst +++ b/docs/notebooks/tensorflow-quantization-aware-training-with-output.rst @@ -54,16 +54,11 @@ models will be stored. .. code:: ipython3 - import sys - import importlib.util - - %pip install -q "openvino>=2023.1.0" "nncf>=2.5.0" - if sys.platform == "win32": - if importlib.util.find_spec("tensorflow_datasets"): - %pip uninstall -q tensorflow-datasets - %pip install -q --upgrade "tfds-nightly" - else: - %pip install -q "tensorflow-datasets>=4.8.0" + %pip install -q "openvino>=2024.0.0" "nncf>=2.9.0" + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin'" + %pip install -q "tensorflow-datasets>=4.9.0" .. parsed-literal:: @@ -83,8 +78,32 @@ models will be stored. .. parsed-literal:: - ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - pytorch-lightning 1.6.5 requires protobuf<=3.20.1, but you have protobuf 3.20.3 which is incompatible. + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 .. parsed-literal:: @@ -99,8 +118,6 @@ models will be stored. import tensorflow as tf import tensorflow_datasets as tfds - from tensorflow.keras import layers - from tensorflow.keras import models from nncf import NNCFConfig from nncf.tensorflow.helpers.model_creation import create_compressed_model @@ -133,19 +150,19 @@ models will be stored. fp32_pth_url = "https://storage.openvinotoolkit.org/repositories/nncf/openvino_notebook_ckpts/305_resnet18_imagenette_fp32_v1.h5" _ = tf.keras.utils.get_file(fp32_h5_path.resolve(), fp32_pth_url) - print(f'Absolute path where the model weights are saved:\n {fp32_h5_path.resolve()}') + print(f"Absolute path where the model weights are saved:\n {fp32_h5_path.resolve()}") .. parsed-literal:: - 2024-03-13 01:11:54.839379: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 01:11:54.874069: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 01:08:40.624224: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 01:08:40.660171: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 01:11:55.482764: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 01:08:41.258674: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -166,97 +183,87 @@ models will be stored. .. parsed-literal::  - 147456/134604992 [..............................] - ETA: 1:02 + 57344/134604992 [..............................] - ETA: 2:36 .. parsed-literal::  - 655360/134604992 [..............................] - ETA: 27s + 319488/134604992 [..............................] - ETA: 54s .. parsed-literal::  - 2719744/134604992 [..............................] - ETA: 9s + 1343488/134604992 [..............................] - ETA: 18s + +.. parsed-literal:: + +  + 2850816/134604992 [..............................] - ETA: 10s + +.. parsed-literal:: + +  + 8183808/134604992 [>.............................] - ETA: 4s .. parsed-literal::  - 6914048/134604992 [>.............................] - ETA: 5s + 13860864/134604992 [==>...........................] - ETA: 2s .. parsed-literal::  - 12705792/134604992 [=>............................] - ETA: 3s + 17104896/134604992 [==>...........................] - ETA: 2s .. parsed-literal::  - 17588224/134604992 [==>...........................] - ETA: 2s + 20733952/134604992 [===>..........................] - ETA: 2s .. parsed-literal::  - 20963328/134604992 [===>..........................] - ETA: 2s + 25583616/134604992 [====>.........................] - ETA: 2s .. parsed-literal::  - 23764992/134604992 [====>.........................] - ETA: 2s + 28033024/134604992 [=====>........................] - ETA: 2s .. parsed-literal::  - 26558464/134604992 [====>.........................] - ETA: 2s + 31973376/134604992 [======>.......................] - ETA: 1s .. parsed-literal::  - 28844032/134604992 [=====>........................] - ETA: 2s + 36118528/134604992 [=======>......................] - ETA: 1s .. parsed-literal::  - 31449088/134604992 [======>.......................] - ETA: 2s + 38920192/134604992 [=======>......................] - ETA: 1s .. parsed-literal::  - 33857536/134604992 [======>.......................] - ETA: 2s + 41934848/134604992 [========>.....................] - ETA: 1s .. parsed-literal::  - 36683776/134604992 [=======>......................] - ETA: 2s + 45613056/134604992 [=========>....................] - ETA: 1s .. parsed-literal::  - 40517632/134604992 [========>.....................] - ETA: 2s + 49029120/134604992 [=========>....................] - ETA: 1s .. parsed-literal::  - 41484288/134604992 [========>.....................] - ETA: 2s - -.. parsed-literal:: - -  - 41934848/134604992 [========>.....................] - ETA: 2s - -.. parsed-literal:: - -  - 43761664/134604992 [========>.....................] - ETA: 2s - -.. parsed-literal:: - -  - 47177728/134604992 [=========>....................] - ETA: 2s - -.. parsed-literal:: - -  - 52133888/134604992 [==========>...................] - ETA: 1s + 52027392/134604992 [==========>...................] - ETA: 1s .. parsed-literal:: @@ -266,7 +273,12 @@ models will be stored. .. parsed-literal::  - 52551680/134604992 [==========>...................] - ETA: 2s + 54910976/134604992 [===========>..................] - ETA: 1s + +.. parsed-literal:: + +  + 56811520/134604992 [===========>..................] - ETA: 1s .. parsed-literal:: @@ -276,12 +288,17 @@ models will be stored. .. parsed-literal::  - 61620224/134604992 [============>.................] - ETA: 1s + 60514304/134604992 [============>.................] - ETA: 1s .. parsed-literal::  - 64462848/134604992 [=============>................] - ETA: 1s + 62939136/134604992 [=============>................] - ETA: 1s + +.. parsed-literal:: + +  + 67624960/134604992 [==============>...............] - ETA: 1s .. parsed-literal:: @@ -291,7 +308,7 @@ models will be stored. .. parsed-literal::  - 72540160/134604992 [===============>..............] - ETA: 1s + 70328320/134604992 [==============>...............] - ETA: 1s .. parsed-literal:: @@ -301,17 +318,17 @@ models will be stored. .. parsed-literal::  - 77783040/134604992 [================>.............] - ETA: 1s + 75784192/134604992 [===============>..............] - ETA: 1s .. parsed-literal::  - 78635008/134604992 [================>.............] - ETA: 1s + 79994880/134604992 [================>.............] - ETA: 1s .. parsed-literal::  - 83025920/134604992 [=================>............] - ETA: 1s + 81969152/134604992 [=================>............] - ETA: 1s .. parsed-literal:: @@ -321,37 +338,37 @@ models will be stored. .. parsed-literal::  - 88268800/134604992 [==================>...........] - ETA: 1s + 86663168/134604992 [==================>...........] - ETA: 1s .. parsed-literal::  - 89120768/134604992 [==================>...........] - ETA: 1s + 89120768/134604992 [==================>...........] - ETA: 0s .. parsed-literal::  - 90234880/134604992 [===================>..........] - ETA: 1s + 92356608/134604992 [===================>..........] - ETA: 0s .. parsed-literal::  - 92659712/134604992 [===================>..........] - ETA: 1s + 94355456/134604992 [====================>.........] - ETA: 0s .. parsed-literal::  - 95322112/134604992 [====================>.........] - ETA: 1s + 96370688/134604992 [====================>.........] - ETA: 0s .. parsed-literal::  - 99606528/134604992 [=====================>........] - ETA: 0s + 99729408/134604992 [=====================>........] - ETA: 0s .. parsed-literal::  -104275968/134604992 [======================>.......] - ETA: 0s + 99803136/134604992 [=====================>........] - ETA: 0s .. parsed-literal:: @@ -361,17 +378,12 @@ models will be stored. .. parsed-literal::  -109240320/134604992 [=======================>......] - ETA: 0s +107438080/134604992 [======================>.......] - ETA: 0s .. parsed-literal::  -110092288/134604992 [=======================>......] - ETA: 0s - -.. parsed-literal:: - -  -112508928/134604992 [========================>.....] - ETA: 0s +110436352/134604992 [=======================>......] - ETA: 0s .. parsed-literal:: @@ -381,37 +393,27 @@ models will be stored. .. parsed-literal::  -120201216/134604992 [=========================>....] - ETA: 0s +119242752/134604992 [=========================>....] - ETA: 0s .. parsed-literal::  -120578048/134604992 [=========================>....] - ETA: 0s +122077184/134604992 [==========================>...] - ETA: 0s .. parsed-literal::  -125231104/134604992 [==========================>...] - ETA: 0s +125616128/134604992 [==========================>...] - ETA: 0s .. parsed-literal::  -125820928/134604992 [===========================>..] - ETA: 0s +129187840/134604992 [===========================>..] - ETA: 0s .. parsed-literal::  -130924544/134604992 [============================>.] - ETA: 0s - -.. parsed-literal:: - -  -131538944/134604992 [============================>.] - ETA: 0s - -.. parsed-literal:: - -  -134447104/134604992 [============================>.] - ETA: 0s +131284992/134604992 [============================>.] - ETA: 0s .. parsed-literal:: @@ -422,7 +424,7 @@ models will be stored. .. parsed-literal:: Absolute path where the model weights are saved: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/305-tensorflow-quantization-aware-training/model/ResNet-18_fp32.h5 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/tensorflow-quantization-aware-training/model/ResNet-18_fp32.h5 Dataset Preprocessing @@ -442,29 +444,34 @@ Download size: 94.18 MiB .. code:: ipython3 - datasets, datasets_info = tfds.load('imagenette/160px', shuffle_files=True, as_supervised=True, with_info=True, - read_config=tfds.ReadConfig(shuffle_seed=0)) - train_dataset, validation_dataset = datasets['train'], datasets['validation'] + datasets, datasets_info = tfds.load( + "imagenette/160px", + shuffle_files=True, + as_supervised=True, + with_info=True, + read_config=tfds.ReadConfig(shuffle_seed=0), + ) + train_dataset, validation_dataset = datasets["train"], datasets["validation"] fig = tfds.show_examples(train_dataset, datasets_info) .. parsed-literal:: - 2024-03-13 01:12:03.781864: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-13 01:12:03.781896: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-13 01:12:03.781901: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-13 01:12:03.782051: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-13 01:12:03.782066: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-13 01:12:03.782070: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration - 2024-03-13 01:12:03.899468: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int64 and shape [1] + 2024-04-18 01:08:48.987051: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-18 01:08:48.987083: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 + 2024-04-18 01:08:48.987087: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 + 2024-04-18 01:08:48.987237: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 + 2024-04-18 01:08:48.987252: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 + 2024-04-18 01:08:48.987255: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + 2024-04-18 01:08:49.095070: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int64 and shape [1] [[{{node Placeholder/_4}}]] - 2024-03-13 01:12:03.899790: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] - [[{{node Placeholder/_1}}]] - 2024-03-13 01:12:03.971431: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. + 2024-04-18 01:08:49.095393: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int64 and shape [1] + [[{{node Placeholder/_4}}]] + 2024-04-18 01:08:49.187279: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. -.. image:: 305-tensorflow-quantization-aware-training-with-output_files/305-tensorflow-quantization-aware-training-with-output_6_1.png +.. image:: tensorflow-quantization-aware-training-with-output_files/tensorflow-quantization-aware-training-with-output_6_1.png .. code:: ipython3 @@ -477,13 +484,11 @@ Download size: 94.18 MiB return image, label - train_dataset = (train_dataset.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE) - .batch(BATCH_SIZE) - .prefetch(tf.data.experimental.AUTOTUNE)) + train_dataset = train_dataset.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE).batch(BATCH_SIZE).prefetch(tf.data.experimental.AUTOTUNE) - validation_dataset = (validation_dataset.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE) - .batch(BATCH_SIZE) - .prefetch(tf.data.experimental.AUTOTUNE)) + validation_dataset = ( + validation_dataset.map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE).batch(BATCH_SIZE).prefetch(tf.data.experimental.AUTOTUNE) + ) Define a Floating-Point Model ----------------------------- @@ -492,29 +497,40 @@ Define a Floating-Point Model .. code:: ipython3 - def residual_conv_block(filters, stage, block, strides=(1, 1), cut='pre'): + def residual_conv_block(filters, stage, block, strides=(1, 1), cut="pre"): def layer(input_tensor): - x = layers.BatchNormalization(epsilon=2e-5)(input_tensor) - x = layers.Activation('relu')(x) + x = tf.keras.layers.BatchNormalization(epsilon=2e-5)(input_tensor) + x = tf.keras.layers.Activation("relu")(x) # Defining shortcut connection. - if cut == 'pre': + if cut == "pre": shortcut = input_tensor - elif cut == 'post': - shortcut = layers.Conv2D(filters, (1, 1), strides=strides, kernel_initializer='he_uniform', - use_bias=False)(x) + elif cut == "post": + shortcut = tf.keras.layers.Conv2D( + filters, + (1, 1), + strides=strides, + kernel_initializer="he_uniform", + use_bias=False, + )(x) # Continue with convolution layers. - x = layers.ZeroPadding2D(padding=(1, 1))(x) - x = layers.Conv2D(filters, (3, 3), strides=strides, kernel_initializer='he_uniform', use_bias=False)(x) + x = tf.keras.layers.ZeroPadding2D(padding=(1, 1))(x) + x = tf.keras.layers.Conv2D( + filters, + (3, 3), + strides=strides, + kernel_initializer="he_uniform", + use_bias=False, + )(x) - x = layers.BatchNormalization(epsilon=2e-5)(x) - x = layers.Activation('relu')(x) - x = layers.ZeroPadding2D(padding=(1, 1))(x) - x = layers.Conv2D(filters, (3, 3), kernel_initializer='he_uniform', use_bias=False)(x) + x = tf.keras.layers.BatchNormalization(epsilon=2e-5)(x) + x = tf.keras.layers.Activation("relu")(x) + x = tf.keras.layers.ZeroPadding2D(padding=(1, 1))(x) + x = tf.keras.layers.Conv2D(filters, (3, 3), kernel_initializer="he_uniform", use_bias=False)(x) # Add residual connection. - x = layers.Add()([x, shortcut]) + x = tf.keras.layers.Add()([x, shortcut]) return x return layer @@ -522,38 +538,38 @@ Define a Floating-Point Model def ResNet18(input_shape=None): """Instantiates the ResNet18 architecture.""" - img_input = layers.Input(shape=input_shape, name='data') + img_input = tf.keras.layers.Input(shape=input_shape, name="data") # ResNet18 bottom - x = layers.BatchNormalization(epsilon=2e-5, scale=False)(img_input) - x = layers.ZeroPadding2D(padding=(3, 3))(x) - x = layers.Conv2D(64, (7, 7), strides=(2, 2), kernel_initializer='he_uniform', use_bias=False)(x) - x = layers.BatchNormalization(epsilon=2e-5)(x) - x = layers.Activation('relu')(x) - x = layers.ZeroPadding2D(padding=(1, 1))(x) - x = layers.MaxPooling2D((3, 3), strides=(2, 2), padding='valid')(x) + x = tf.keras.layers.BatchNormalization(epsilon=2e-5, scale=False)(img_input) + x = tf.keras.layers.ZeroPadding2D(padding=(3, 3))(x) + x = tf.keras.layers.Conv2D(64, (7, 7), strides=(2, 2), kernel_initializer="he_uniform", use_bias=False)(x) + x = tf.keras.layers.BatchNormalization(epsilon=2e-5)(x) + x = tf.keras.layers.Activation("relu")(x) + x = tf.keras.layers.ZeroPadding2D(padding=(1, 1))(x) + x = tf.keras.layers.MaxPooling2D((3, 3), strides=(2, 2), padding="valid")(x) # ResNet18 body repetitions = (2, 2, 2, 2) for stage, rep in enumerate(repetitions): for block in range(rep): - filters = 64 * (2 ** stage) + filters = 64 * (2**stage) if block == 0 and stage == 0: - x = residual_conv_block(filters, stage, block, strides=(1, 1), cut='post')(x) + x = residual_conv_block(filters, stage, block, strides=(1, 1), cut="post")(x) elif block == 0: - x = residual_conv_block(filters, stage, block, strides=(2, 2), cut='post')(x) + x = residual_conv_block(filters, stage, block, strides=(2, 2), cut="post")(x) else: - x = residual_conv_block(filters, stage, block, strides=(1, 1), cut='pre')(x) - x = layers.BatchNormalization(epsilon=2e-5)(x) - x = layers.Activation('relu')(x) + x = residual_conv_block(filters, stage, block, strides=(1, 1), cut="pre")(x) + x = tf.keras.layers.BatchNormalization(epsilon=2e-5)(x) + x = tf.keras.layers.Activation("relu")(x) # ResNet18 top - x = layers.GlobalAveragePooling2D()(x) - x = layers.Dense(NUM_CLASSES)(x) - x = layers.Activation('softmax')(x) + x = tf.keras.layers.GlobalAveragePooling2D()(x) + x = tf.keras.layers.Dense(NUM_CLASSES)(x) + x = tf.keras.layers.Activation("softmax")(x) # Create the model. - model = models.Model(img_input, x) + model = tf.keras.models.Model(img_input, x) return model @@ -582,23 +598,23 @@ model and a training pipeline. # Compile the floating-point model. fp32_model.compile( loss=tf.keras.losses.CategoricalCrossentropy(label_smoothing=0.1), - metrics=[tf.keras.metrics.CategoricalAccuracy(name='acc@1')] + metrics=[tf.keras.metrics.CategoricalAccuracy(name="acc@1")], ) # Validate the floating-point model. test_loss, acc_fp32 = fp32_model.evaluate( validation_dataset, - callbacks=tf.keras.callbacks.ProgbarLogger(stateful_metrics=['acc@1']) + callbacks=tf.keras.callbacks.ProgbarLogger(stateful_metrics=["acc@1"]), ) print(f"\nAccuracy of FP32 model: {acc_fp32:.3f}") .. parsed-literal:: - 2024-03-13 01:12:04.910372: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int64 and shape [1] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:12:04.910741: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int64 and shape [1] - [[{{node Placeholder/_4}}]] + 2024-04-18 01:08:50.112136: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] + [[{{node Placeholder/_1}}]] + 2024-04-18 01:08:50.112884: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] + [[{{node Placeholder/_1}}]] .. parsed-literal:: @@ -624,7 +640,7 @@ model and a training pipeline. .. parsed-literal::  -4/4 [==============================] - 1s 254ms/sample - loss: 0.9807 - acc@1: 0.8220 +4/4 [==============================] - 1s 302ms/sample - loss: 0.9807 - acc@1: 0.8220 .. parsed-literal:: @@ -662,9 +678,7 @@ scenario and requires only 3 modifications. .. code:: ipython3 - nncf_config = register_default_init_args(nncf_config=nncf_config, - data_loader=train_dataset, - batch_size=BATCH_SIZE) + nncf_config = register_default_init_args(nncf_config=nncf_config, data_loader=train_dataset, batch_size=BATCH_SIZE) 3. Create a wrapped model ready for compression fine-tuning from a pre-trained ``FP32`` model and a configuration object. @@ -676,25 +690,25 @@ scenario and requires only 3 modifications. .. parsed-literal:: - 2024-03-13 01:12:07.816084: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int64 and shape [1] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:12:07.816469: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [1] - [[{{node Placeholder/_0}}]] + 2024-04-18 01:08:52.920250: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_2' with dtype string and shape [1] + [[{{node Placeholder/_2}}]] + 2024-04-18 01:08:52.920633: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_1' with dtype string and shape [1] + [[{{node Placeholder/_1}}]] .. parsed-literal:: - 2024-03-13 01:12:08.749313: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. + 2024-04-18 01:08:53.808337: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. .. parsed-literal:: - 2024-03-13 01:12:09.358441: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. + 2024-04-18 01:08:54.455894: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. .. parsed-literal:: - 2024-03-13 01:12:17.326475: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. + 2024-04-18 01:09:02.361497: W tensorflow/core/kernels/data/cache_dataset_ops.cc:856] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead. Evaluate the new model on the validation set after initialization of @@ -708,13 +722,13 @@ demonstrated here. int8_model.compile( optimizer=tf.keras.optimizers.Adam(learning_rate=LR), loss=tf.keras.losses.CategoricalCrossentropy(label_smoothing=0.1), - metrics=[tf.keras.metrics.CategoricalAccuracy(name='acc@1')] + metrics=[tf.keras.metrics.CategoricalAccuracy(name="acc@1")], ) # Validate the INT8 model. test_loss, test_acc = int8_model.evaluate( validation_dataset, - callbacks=tf.keras.callbacks.ProgbarLogger(stateful_metrics=['acc@1']) + callbacks=tf.keras.callbacks.ProgbarLogger(stateful_metrics=["acc@1"]), ) @@ -741,7 +755,7 @@ demonstrated here. .. parsed-literal::  -4/4 [==============================] - 1s 301ms/sample - loss: 0.9766 - acc@1: 0.8120 +4/4 [==============================] - 1s 302ms/sample - loss: 0.9766 - acc@1: 0.8120 Fine-tune the Compressed Model @@ -764,10 +778,11 @@ training pipeline are required. Here is a simple example. # Validate the INT8 model. test_loss, acc_int8 = int8_model.evaluate( - validation_dataset, callbacks=tf.keras.callbacks.ProgbarLogger(stateful_metrics=['acc@1'])) + validation_dataset, + callbacks=tf.keras.callbacks.ProgbarLogger(stateful_metrics=["acc@1"]), + ) print(f"\nAccuracy of INT8 model after fine-tuning: {acc_int8:.3f}") - print( - f"\nAccuracy drop of tuned INT8 model over pre-trained FP32 model: {acc_fp32 - acc_int8:.3f}") + print(f"\nAccuracy drop of tuned INT8 model over pre-trained FP32 model: {acc_fp32 - acc_int8:.3f}") .. parsed-literal:: @@ -784,17 +799,17 @@ training pipeline are required. Here is a simple example. .. parsed-literal:: - 1/101 [..............................] - ETA: 11:57 - loss: 0.6168 - acc@1: 0.9844 + 1/101 [..............................] - ETA: 11:52 - loss: 0.6168 - acc@1: 0.9844 .. parsed-literal::  - 2/101 [..............................] - ETA: 43s - loss: 0.6303 - acc@1: 0.9766 + 2/101 [..............................] - ETA: 41s - loss: 0.6303 - acc@1: 0.9766 .. parsed-literal::  - 3/101 [..............................] - ETA: 42s - loss: 0.6613 - acc@1: 0.9609 + 3/101 [..............................] - ETA: 41s - loss: 0.6613 - acc@1: 0.9609 .. parsed-literal:: @@ -809,7 +824,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 6/101 [>.............................] - ETA: 40s - loss: 0.6805 - acc@1: 0.9466 + 6/101 [>.............................] - ETA: 39s - loss: 0.6805 - acc@1: 0.9466 .. parsed-literal:: @@ -879,7 +894,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 20/101 [====>.........................] - ETA: 33s - loss: 0.6931 - acc@1: 0.9402 + 20/101 [====>.........................] - ETA: 34s - loss: 0.6931 - acc@1: 0.9402 .. parsed-literal:: @@ -914,7 +929,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 27/101 [=======>......................] - ETA: 31s - loss: 0.6963 - acc@1: 0.9372 + 27/101 [=======>......................] - ETA: 30s - loss: 0.6963 - acc@1: 0.9372 .. parsed-literal:: @@ -949,7 +964,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 34/101 [=========>....................] - ETA: 28s - loss: 0.6978 - acc@1: 0.9370 + 34/101 [=========>....................] - ETA: 27s - loss: 0.6978 - acc@1: 0.9370 .. parsed-literal:: @@ -984,7 +999,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 41/101 [===========>..................] - ETA: 25s - loss: 0.7021 - acc@1: 0.9371 + 41/101 [===========>..................] - ETA: 24s - loss: 0.7021 - acc@1: 0.9371 .. parsed-literal:: @@ -1164,12 +1179,12 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 77/101 [=====================>........] - ETA: 9s - loss: 0.7078 - acc@1: 0.9333 + 77/101 [=====================>........] - ETA: 10s - loss: 0.7078 - acc@1: 0.9333 .. parsed-literal:: -  - 78/101 [======================>.......] - ETA: 9s - loss: 0.7080 - acc@1: 0.9334 +  + 78/101 [======================>.......] - ETA: 9s - loss: 0.7080 - acc@1: 0.9334 .. parsed-literal:: @@ -1224,7 +1239,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 89/101 [=========================>....] - ETA: 4s - loss: 0.7087 - acc@1: 0.9331 + 89/101 [=========================>....] - ETA: 5s - loss: 0.7087 - acc@1: 0.9331 .. parsed-literal:: @@ -1289,7 +1304,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  -101/101 [==============================] - 49s 415ms/step - loss: 0.7134 - acc@1: 0.9299 +101/101 [==============================] - 49s 417ms/step - loss: 0.7134 - acc@1: 0.9299 .. parsed-literal:: @@ -1300,7 +1315,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal:: - 1/101 [..............................] - ETA: 43s - loss: 0.5798 - acc@1: 1.0000 + 1/101 [..............................] - ETA: 41s - loss: 0.5798 - acc@1: 1.0000 .. parsed-literal:: @@ -1315,7 +1330,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 4/101 [>.............................] - ETA: 39s - loss: 0.6225 - acc@1: 0.9844 + 4/101 [>.............................] - ETA: 40s - loss: 0.6225 - acc@1: 0.9844 .. parsed-literal:: @@ -1340,12 +1355,12 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 9/101 [=>............................] - ETA: 37s - loss: 0.6435 - acc@1: 0.9740 + 9/101 [=>............................] - ETA: 38s - loss: 0.6435 - acc@1: 0.9740 .. parsed-literal::  - 10/101 [=>............................] - ETA: 37s - loss: 0.6508 - acc@1: 0.9688 + 10/101 [=>............................] - ETA: 38s - loss: 0.6508 - acc@1: 0.9688 .. parsed-literal:: @@ -1355,7 +1370,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 12/101 [==>...........................] - ETA: 36s - loss: 0.6548 - acc@1: 0.9681 + 12/101 [==>...........................] - ETA: 37s - loss: 0.6548 - acc@1: 0.9681 .. parsed-literal:: @@ -1370,7 +1385,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 15/101 [===>..........................] - ETA: 35s - loss: 0.6590 - acc@1: 0.9656 + 15/101 [===>..........................] - ETA: 36s - loss: 0.6590 - acc@1: 0.9656 .. parsed-literal:: @@ -1380,22 +1395,22 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 17/101 [====>.........................] - ETA: 34s - loss: 0.6583 - acc@1: 0.9665 + 17/101 [====>.........................] - ETA: 35s - loss: 0.6583 - acc@1: 0.9665 .. parsed-literal::  - 18/101 [====>.........................] - ETA: 34s - loss: 0.6584 - acc@1: 0.9666 + 18/101 [====>.........................] - ETA: 35s - loss: 0.6584 - acc@1: 0.9666 .. parsed-literal::  - 19/101 [====>.........................] - ETA: 33s - loss: 0.6601 - acc@1: 0.9659 + 19/101 [====>.........................] - ETA: 34s - loss: 0.6601 - acc@1: 0.9659 .. parsed-literal::  - 20/101 [====>.........................] - ETA: 33s - loss: 0.6586 - acc@1: 0.9656 + 20/101 [====>.........................] - ETA: 34s - loss: 0.6586 - acc@1: 0.9656 .. parsed-literal:: @@ -1405,7 +1420,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 22/101 [=====>........................] - ETA: 32s - loss: 0.6610 - acc@1: 0.9634 + 22/101 [=====>........................] - ETA: 33s - loss: 0.6610 - acc@1: 0.9634 .. parsed-literal:: @@ -1415,7 +1430,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 24/101 [======>.......................] - ETA: 31s - loss: 0.6630 - acc@1: 0.9609 + 24/101 [======>.......................] - ETA: 32s - loss: 0.6630 - acc@1: 0.9609 .. parsed-literal:: @@ -1430,7 +1445,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 27/101 [=======>......................] - ETA: 30s - loss: 0.6631 - acc@1: 0.9604 + 27/101 [=======>......................] - ETA: 31s - loss: 0.6631 - acc@1: 0.9604 .. parsed-literal:: @@ -1440,7 +1455,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 29/101 [=======>......................] - ETA: 29s - loss: 0.6636 - acc@1: 0.9604 + 29/101 [=======>......................] - ETA: 30s - loss: 0.6636 - acc@1: 0.9604 .. parsed-literal:: @@ -1465,7 +1480,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 34/101 [=========>....................] - ETA: 27s - loss: 0.6655 - acc@1: 0.9586 + 34/101 [=========>....................] - ETA: 28s - loss: 0.6655 - acc@1: 0.9586 .. parsed-literal:: @@ -1490,7 +1505,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 39/101 [==========>...................] - ETA: 25s - loss: 0.6692 - acc@1: 0.9569 + 39/101 [==========>...................] - ETA: 26s - loss: 0.6692 - acc@1: 0.9569 .. parsed-literal:: @@ -1500,7 +1515,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 41/101 [===========>..................] - ETA: 24s - loss: 0.6692 - acc@1: 0.9571 + 41/101 [===========>..................] - ETA: 25s - loss: 0.6692 - acc@1: 0.9571 .. parsed-literal:: @@ -1525,7 +1540,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 46/101 [============>.................] - ETA: 22s - loss: 0.6702 - acc@1: 0.9562 + 46/101 [============>.................] - ETA: 23s - loss: 0.6702 - acc@1: 0.9562 .. parsed-literal:: @@ -1620,7 +1635,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  - 65/101 [==================>...........] - ETA: 14s - loss: 0.6750 - acc@1: 0.9523 + 65/101 [==================>...........] - ETA: 15s - loss: 0.6750 - acc@1: 0.9523 .. parsed-literal:: @@ -1805,7 +1820,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  -101/101 [==============================] - 42s 417ms/step - loss: 0.6807 - acc@1: 0.9489 +101/101 [==============================] - 42s 419ms/step - loss: 0.6807 - acc@1: 0.9489 .. parsed-literal:: @@ -1831,7 +1846,7 @@ training pipeline are required. Here is a simple example. .. parsed-literal::  -4/4 [==============================] - 1s 146ms/sample - loss: 0.9760 - acc@1: 0.8160 +4/4 [==============================] - 1s 141ms/sample - loss: 0.9760 - acc@1: 0.8160 .. parsed-literal:: @@ -1878,7 +1893,6 @@ Executing this command may take a while. ov.save_model(model_ir_fp32, fp32_ir_path, compress_to_fp16=False) ov.save_model(model_ir_int8, int8_ir_path, compress_to_fp16=False) - Benchmark Model Performance by Computing Inference Time ------------------------------------------------------- @@ -1911,8 +1925,8 @@ Please select a benchmarking device using the dropdown list: core = ov.Core() device = widgets.Dropdown( options=core.available_devices, - value='CPU', - description='Device:', + value="CPU", + description="Device:", disabled=False, ) @@ -1930,15 +1944,15 @@ Please select a benchmarking device using the dropdown list: .. code:: ipython3 def parse_benchmark_output(benchmark_output): - parsed_output = [line for line in benchmark_output if 'FPS' in line] - print(*parsed_output, sep='\n') + parsed_output = [line for line in benchmark_output if "FPS" in line] + print(*parsed_output, sep="\n") - print('Benchmark FP32 model (IR)') + print("Benchmark FP32 model (IR)") benchmark_output = ! benchmark_app -m $fp32_ir_path -d $device.value -api async -t 15 -shape [1,64,64,3] parse_benchmark_output(benchmark_output) - print('\nBenchmark INT8 model (IR)') + print("\nBenchmark INT8 model (IR)") benchmark_output = ! benchmark_app -m $int8_ir_path -d $device.value -api async -t 15 -shape [1,64,64,3] parse_benchmark_output(benchmark_output) @@ -1950,14 +1964,14 @@ Please select a benchmarking device using the dropdown list: .. parsed-literal:: - [ INFO ] Throughput: 2840.25 FPS + [ INFO ] Throughput: 2821.81 FPS Benchmark INT8 model (IR) .. parsed-literal:: - [ INFO ] Throughput: 11202.29 FPS + [ INFO ] Throughput: 11151.37 FPS Show Device Information for reference. diff --git a/docs/notebooks/tensorflow-quantization-aware-training-with-output_files/tensorflow-quantization-aware-training-with-output_6_1.png b/docs/notebooks/tensorflow-quantization-aware-training-with-output_files/tensorflow-quantization-aware-training-with-output_6_1.png new file mode 100644 index 00000000000..60be8223ea8 --- /dev/null +++ b/docs/notebooks/tensorflow-quantization-aware-training-with-output_files/tensorflow-quantization-aware-training-with-output_6_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eadcb9ce8d255dab09875466b29e4ba7774cbf18191c857309621898a002891 +size 518753 diff --git a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output.rst b/docs/notebooks/tensorflow-training-openvino-nncf-with-output.rst similarity index 62% rename from docs/notebooks/301-tensorflow-training-openvino-nncf-with-output.rst rename to docs/notebooks/tensorflow-training-openvino-nncf-with-output.rst index 466c18b85b9..f4647fb47c6 100644 --- a/docs/notebooks/301-tensorflow-training-openvino-nncf-with-output.rst +++ b/docs/notebooks/tensorflow-training-openvino-nncf-with-output.rst @@ -2,10 +2,9 @@ Post-Training Quantization with TensorFlow Classification Model =============================================================== This example demonstrates how to quantize the OpenVINO model that was -created in `301-tensorflow-training-openvino -notebook <301-tensorflow-training-openvino-with-output.html>`__, to improve -inference speed. Quantization is performed with `Post-training -Quantization with +created in `tensorflow-training-openvino +notebook `__, to improve inference +speed. Quantization is performed with `Post-training Quantization with NNCF `__. A custom dataloader and metric will be defined, and accuracy and performance will be computed for the original IR model and the quantized @@ -42,13 +41,91 @@ notebook. This will take a while. import platform - %pip install -q tensorflow Pillow numpy tqdm nncf + %pip install -q Pillow numpy tqdm nncf "openvino>=2023.1" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" else: %pip install -q "matplotlib>=3.4,<3.7" + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version <= '3.8'" + %pip install -q tf_keras tqdm + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + .. parsed-literal:: @@ -73,30 +150,32 @@ notebook. This will take a while. .. code:: ipython3 from pathlib import Path + import os + + os.environ["TF_USE_LEGACY_KERAS"] = "1" + import tensorflow as tf model_xml = Path("model/flower/flower_ir.xml") - dataset_url = ( - "https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz" - ) + dataset_url = "https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz" data_dir = Path(tf.keras.utils.get_file("flower_photos", origin=dataset_url, untar=True)) if not model_xml.exists(): print("Executing training notebook. This will take a while...") - %run 301-tensorflow-training-openvino.ipynb + %run tensorflow-training-openvino.ipynb .. parsed-literal:: - 2024-03-13 00:59:54.212886: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:59:54.247629: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 01:11:39.893197: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 01:11:39.928932: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:59:54.839388: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 01:11:40.523686: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT .. parsed-literal:: @@ -114,6 +193,86 @@ notebook. This will take a while. Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + .. parsed-literal:: 3670 @@ -131,12 +290,12 @@ notebook. This will take a while. .. parsed-literal:: - 2024-03-13 01:00:00.957194: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-13 01:00:00.957232: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-13 01:00:00.957237: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-13 01:00:00.957362: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-13 01:00:00.957378: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-13 01:00:00.957382: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + 2024-04-18 01:12:09.395264: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-18 01:12:09.395300: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 + 2024-04-18 01:12:09.395304: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 + 2024-04-18 01:12:09.395435: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 + 2024-04-18 01:12:09.395449: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 + 2024-04-18 01:12:09.395453: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration .. parsed-literal:: @@ -152,25 +311,25 @@ notebook. This will take a while. .. parsed-literal:: - 2024-03-13 01:00:01.273972: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:00:01.274232: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + 2024-04-18 01:12:09.711710: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] [[{{node Placeholder/_0}}]] + 2024-04-18 01:12:09.711989: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + [[{{node Placeholder/_4}}]] -.. image:: 301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_12.png +.. image:: tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_28.png .. parsed-literal:: - 2024-03-13 01:00:02.318594: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:12:10.676936: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] - 2024-03-13 01:00:02.319077: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:12:10.677180: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] - 2024-03-13 01:00:02.512508: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:00:02.512891: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:12:10.818263: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + [[{{node Placeholder/_0}}]] + 2024-04-18 01:12:10.818550: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] @@ -182,19 +341,19 @@ notebook. This will take a while. .. parsed-literal:: - 0.008872573 0.7322078 + 0.0 1.0 .. parsed-literal:: - 2024-03-13 01:00:03.177759: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + 2024-04-18 01:12:11.693375: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] [[{{node Placeholder/_0}}]] - 2024-03-13 01:00:03.178061: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + 2024-04-18 01:12:11.693703: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] [[{{node Placeholder/_0}}]] -.. image:: 301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_17.png +.. image:: tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_33.png .. parsed-literal:: @@ -384,484 +543,479 @@ notebook. This will take a while. .. parsed-literal:: - 2024-03-13 01:00:04.215942: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:00:04.216563: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:12:12.768860: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] + 2024-04-18 01:12:12.769608: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + [[{{node Placeholder/_0}}]] .. parsed-literal:: - 1/92 [..............................] - ETA: 1:27 - loss: 1.6034 - accuracy: 0.2812 + 1/92 [..............................] - ETA: 1:32 - loss: 1.6453 - accuracy: 0.1250 .. parsed-literal::  - 2/92 [..............................] - ETA: 6s - loss: 1.8268 - accuracy: 0.2812 + 2/92 [..............................] - ETA: 6s - loss: 3.1595 - accuracy: 0.1875 .. parsed-literal::  - 3/92 [..............................] - ETA: 6s - loss: 1.9325 - accuracy: 0.2500 + 3/92 [..............................] - ETA: 5s - loss: 3.0478 - accuracy: 0.1771 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 1.9389 - accuracy: 0.2422 + 4/92 [>.............................] - ETA: 5s - loss: 3.0508 - accuracy: 0.1875 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 1.8737 - accuracy: 0.2375 + 5/92 [>.............................] - ETA: 5s - loss: 2.8188 - accuracy: 0.2000 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 1.8344 - accuracy: 0.2188 + 6/92 [>.............................] - ETA: 5s - loss: 2.6227 - accuracy: 0.2135 .. parsed-literal::  - 7/92 [=>............................] - ETA: 5s - loss: 1.7918 - accuracy: 0.2321 + 7/92 [=>............................] - ETA: 5s - loss: 2.4793 - accuracy: 0.2277 .. parsed-literal::  - 8/92 [=>............................] - ETA: 5s - loss: 1.7671 - accuracy: 0.2383 + 8/92 [=>............................] - ETA: 5s - loss: 2.3750 - accuracy: 0.2070 .. parsed-literal::  - 9/92 [=>............................] - ETA: 5s - loss: 1.7399 - accuracy: 0.2569 + 9/92 [=>............................] - ETA: 4s - loss: 2.2907 - accuracy: 0.2014 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 1.7224 - accuracy: 0.2562 +10/92 [==>...........................] - ETA: 4s - loss: 2.2244 - accuracy: 0.1906 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 1.7058 - accuracy: 0.2699 +11/92 [==>...........................] - ETA: 4s - loss: 2.1686 - accuracy: 0.1903 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 1.6920 - accuracy: 0.2786 +12/92 [==>...........................] - ETA: 4s - loss: 2.1208 - accuracy: 0.1953 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 1.6738 - accuracy: 0.2933 +13/92 [===>..........................] - ETA: 4s - loss: 2.0802 - accuracy: 0.2019 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 1.6602 - accuracy: 0.2946 +14/92 [===>..........................] - ETA: 4s - loss: 2.0465 - accuracy: 0.2031 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 1.6393 - accuracy: 0.3000 +15/92 [===>..........................] - ETA: 4s - loss: 2.0149 - accuracy: 0.2042 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 1.6261 - accuracy: 0.3008 +16/92 [====>.........................] - ETA: 4s - loss: 1.9883 - accuracy: 0.2090 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 1.6120 - accuracy: 0.3107 +17/92 [====>.........................] - ETA: 4s - loss: 1.9660 - accuracy: 0.2040 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 1.6005 - accuracy: 0.3108 +18/92 [====>.........................] - ETA: 4s - loss: 1.9437 - accuracy: 0.2031 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 1.5823 - accuracy: 0.3174 +19/92 [=====>........................] - ETA: 4s - loss: 1.9263 - accuracy: 0.2039 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 1.5752 - accuracy: 0.3172 +20/92 [=====>........................] - ETA: 4s - loss: 1.9101 - accuracy: 0.2078 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 1.5543 - accuracy: 0.3289 +21/92 [=====>........................] - ETA: 4s - loss: 1.8940 - accuracy: 0.2098 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 1.5440 - accuracy: 0.3338 +22/92 [======>.......................] - ETA: 4s - loss: 1.8793 - accuracy: 0.2116 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 1.5303 - accuracy: 0.3407 +23/92 [======>.......................] - ETA: 4s - loss: 1.8656 - accuracy: 0.2106 .. parsed-literal::  -24/92 [======>.......................] - ETA: 4s - loss: 1.5142 - accuracy: 0.3500 +24/92 [======>.......................] - ETA: 4s - loss: 1.8528 - accuracy: 0.2109 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 1.4981 - accuracy: 0.3523 +25/92 [=======>......................] - ETA: 3s - loss: 1.8416 - accuracy: 0.2125 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 1.4926 - accuracy: 0.3580 +26/92 [=======>......................] - ETA: 3s - loss: 1.8309 - accuracy: 0.2103 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 1.4827 - accuracy: 0.3586 +27/92 [=======>......................] - ETA: 3s - loss: 1.8192 - accuracy: 0.2164 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 1.4825 - accuracy: 0.3570 +28/92 [========>.....................] - ETA: 3s - loss: 1.8101 - accuracy: 0.2188 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 1.4812 - accuracy: 0.3576 +29/92 [========>.....................] - ETA: 3s - loss: 1.7988 - accuracy: 0.2220 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 1.4728 - accuracy: 0.3561 +30/92 [========>.....................] - ETA: 3s - loss: 1.7844 - accuracy: 0.2240 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 1.4755 - accuracy: 0.3587 +31/92 [=========>....................] - ETA: 3s - loss: 1.7738 - accuracy: 0.2248 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 1.4716 - accuracy: 0.3543 +32/92 [=========>....................] - ETA: 3s - loss: 1.7688 - accuracy: 0.2275 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 1.4667 - accuracy: 0.3569 +33/92 [=========>....................] - ETA: 3s - loss: 1.7630 - accuracy: 0.2254 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 1.4663 - accuracy: 0.3602 +34/92 [==========>...................] - ETA: 3s - loss: 1.7550 - accuracy: 0.2270 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 1.4650 - accuracy: 0.3606 +35/92 [==========>...................] - ETA: 3s - loss: 1.7470 - accuracy: 0.2286 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 1.4604 - accuracy: 0.3601 +36/92 [==========>...................] - ETA: 3s - loss: 1.7391 - accuracy: 0.2370 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 1.4550 - accuracy: 0.3614 +37/92 [===========>..................] - ETA: 3s - loss: 1.7348 - accuracy: 0.2424 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 1.4499 - accuracy: 0.3667 +38/92 [===========>..................] - ETA: 3s - loss: 1.7286 - accuracy: 0.2459 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 1.4472 - accuracy: 0.3685 +39/92 [===========>..................] - ETA: 3s - loss: 1.7229 - accuracy: 0.2532 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 1.4436 - accuracy: 0.3711 +40/92 [============>.................] - ETA: 3s - loss: 1.7152 - accuracy: 0.2562 .. parsed-literal::  -41/92 [============>.................] - ETA: 3s - loss: 1.4408 - accuracy: 0.3735 +41/92 [============>.................] - ETA: 3s - loss: 1.7083 - accuracy: 0.2599 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 1.4339 - accuracy: 0.3757 +42/92 [============>.................] - ETA: 2s - loss: 1.6998 - accuracy: 0.2612 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 1.4296 - accuracy: 0.3772 +43/92 [=============>................] - ETA: 2s - loss: 1.6929 - accuracy: 0.2653 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 1.4223 - accuracy: 0.3821 +44/92 [=============>................] - ETA: 2s - loss: 1.6868 - accuracy: 0.2670 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 1.4189 - accuracy: 0.3855 +45/92 [=============>................] - ETA: 2s - loss: 1.6784 - accuracy: 0.2701 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 1.4150 - accuracy: 0.3887 +46/92 [==============>...............] - ETA: 2s - loss: 1.6715 - accuracy: 0.2758 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 1.4034 - accuracy: 0.3944 +47/92 [==============>...............] - ETA: 2s - loss: 1.6668 - accuracy: 0.2773 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 1.4024 - accuracy: 0.3946 +48/92 [==============>...............] - ETA: 2s - loss: 1.6591 - accuracy: 0.2799 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 1.4005 - accuracy: 0.3949 +49/92 [==============>...............] - ETA: 2s - loss: 1.6517 - accuracy: 0.2851 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 1.4008 - accuracy: 0.3957 +50/92 [===============>..............] - ETA: 2s - loss: 1.6514 - accuracy: 0.2850 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 1.3970 - accuracy: 0.3959 +51/92 [===============>..............] - ETA: 2s - loss: 1.6496 - accuracy: 0.2886 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 1.3879 - accuracy: 0.4016 +52/92 [===============>..............] - ETA: 2s - loss: 1.6477 - accuracy: 0.2897 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 1.3819 - accuracy: 0.4052 +53/92 [================>.............] - ETA: 2s - loss: 1.6395 - accuracy: 0.2936 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 1.3761 - accuracy: 0.4081 +54/92 [================>.............] - ETA: 2s - loss: 1.6327 - accuracy: 0.2957 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 1.3762 - accuracy: 0.4081 +55/92 [================>.............] - ETA: 2s - loss: 1.6294 - accuracy: 0.2989 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 1.3707 - accuracy: 0.4126 +57/92 [=================>............] - ETA: 2s - loss: 1.6205 - accuracy: 0.3007 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 1.3653 - accuracy: 0.4163 +58/92 [=================>............] - ETA: 1s - loss: 1.6147 - accuracy: 0.3025 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 1.3623 - accuracy: 0.4194 +59/92 [==================>...........] - ETA: 1s - loss: 1.6101 - accuracy: 0.3021 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 1.3580 - accuracy: 0.4229 +60/92 [==================>...........] - ETA: 1s - loss: 1.6038 - accuracy: 0.3028 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 1.3568 - accuracy: 0.4231 +61/92 [==================>...........] - ETA: 1s - loss: 1.5967 - accuracy: 0.3076 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 1.3522 - accuracy: 0.4254 +62/92 [===================>..........] - ETA: 1s - loss: 1.5905 - accuracy: 0.3097 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 1.3477 - accuracy: 0.4281 +63/92 [===================>..........] - ETA: 1s - loss: 1.5886 - accuracy: 0.3113 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 1.3447 - accuracy: 0.4298 +64/92 [===================>..........] - ETA: 1s - loss: 1.5849 - accuracy: 0.3113 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 1.3389 - accuracy: 0.4343 +65/92 [====================>.........] - ETA: 1s - loss: 1.5793 - accuracy: 0.3127 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 1.3347 - accuracy: 0.4363 +66/92 [====================>.........] - ETA: 1s - loss: 1.5717 - accuracy: 0.3165 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 1.3310 - accuracy: 0.4377 +67/92 [====================>.........] - ETA: 1s - loss: 1.5682 - accuracy: 0.3169 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 1.3324 - accuracy: 0.4368 +68/92 [=====================>........] - ETA: 1s - loss: 1.5641 - accuracy: 0.3220 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 1.3264 - accuracy: 0.4410 +69/92 [=====================>........] - ETA: 1s - loss: 1.5572 - accuracy: 0.3250 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 1.3251 - accuracy: 0.4409 +70/92 [=====================>........] - ETA: 1s - loss: 1.5522 - accuracy: 0.3280 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 1.3276 - accuracy: 0.4404 +71/92 [======================>.......] - ETA: 1s - loss: 1.5501 - accuracy: 0.3269 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 1.3246 - accuracy: 0.4417 +72/92 [======================>.......] - ETA: 1s - loss: 1.5454 - accuracy: 0.3306 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 1.3187 - accuracy: 0.4425 +73/92 [======================>.......] - ETA: 1s - loss: 1.5428 - accuracy: 0.3325 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 1.3160 - accuracy: 0.4437 +74/92 [=======================>......] - ETA: 1s - loss: 1.5386 - accuracy: 0.3326 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 1.3133 - accuracy: 0.4453 +75/92 [=======================>......] - ETA: 0s - loss: 1.5324 - accuracy: 0.3353 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 1.3088 - accuracy: 0.4473 +76/92 [=======================>......] - ETA: 0s - loss: 1.5266 - accuracy: 0.3383 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 1.3031 - accuracy: 0.4501 +77/92 [========================>.....] - ETA: 0s - loss: 1.5249 - accuracy: 0.3400 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 1.3020 - accuracy: 0.4491 +78/92 [========================>.....] - ETA: 0s - loss: 1.5187 - accuracy: 0.3428 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 1.2994 - accuracy: 0.4494 +79/92 [========================>.....] - ETA: 0s - loss: 1.5143 - accuracy: 0.3448 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 1.2970 - accuracy: 0.4500 +80/92 [=========================>....] - ETA: 0s - loss: 1.5138 - accuracy: 0.3444 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 1.2982 - accuracy: 0.4510 +81/92 [=========================>....] - ETA: 0s - loss: 1.5123 - accuracy: 0.3444 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 1.2962 - accuracy: 0.4512 +82/92 [=========================>....] - ETA: 0s - loss: 1.5104 - accuracy: 0.3448 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 1.2922 - accuracy: 0.4537 +83/92 [==========================>...] - ETA: 0s - loss: 1.5065 - accuracy: 0.3471 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 1.2894 - accuracy: 0.4543 +84/92 [==========================>...] - ETA: 0s - loss: 1.5016 - accuracy: 0.3504 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 1.2885 - accuracy: 0.4549 +85/92 [==========================>...] - ETA: 0s - loss: 1.4957 - accuracy: 0.3544 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 1.2850 - accuracy: 0.4558 +86/92 [===========================>..] - ETA: 0s - loss: 1.4916 - accuracy: 0.3560 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 1.2820 - accuracy: 0.4563 +87/92 [===========================>..] - ETA: 0s - loss: 1.4868 - accuracy: 0.3570 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 1.2782 - accuracy: 0.4593 +88/92 [===========================>..] - ETA: 0s - loss: 1.4843 - accuracy: 0.3586 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 1.2757 - accuracy: 0.4605 +89/92 [============================>.] - ETA: 0s - loss: 1.4796 - accuracy: 0.3613 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 1.2736 - accuracy: 0.4613 +90/92 [============================>.] - ETA: 0s - loss: 1.4778 - accuracy: 0.3632 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 1.2737 - accuracy: 0.4614 +91/92 [============================>.] - ETA: 0s - loss: 1.4775 - accuracy: 0.3633 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 1.2724 - accuracy: 0.4621 +92/92 [==============================] - ETA: 0s - loss: 1.4749 - accuracy: 0.3655 .. parsed-literal:: -  -92/92 [==============================] - ETA: 0s - loss: 1.2689 - accuracy: 0.4642 - -.. parsed-literal:: - - 2024-03-13 01:00:10.495383: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [734] + 2024-04-18 01:12:19.128053: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [734] + [[{{node Placeholder/_0}}]] + 2024-04-18 01:12:19.128326: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [734] [[{{node Placeholder/_0}}]] - 2024-03-13 01:00:10.495657: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [734] - [[{{node Placeholder/_4}}]] .. parsed-literal::  -92/92 [==============================] - 7s 66ms/step - loss: 1.2689 - accuracy: 0.4642 - val_loss: 0.9877 - val_accuracy: 0.5954 +92/92 [==============================] - 7s 66ms/step - loss: 1.4749 - accuracy: 0.3655 - val_loss: 1.1456 - val_accuracy: 0.5341 .. parsed-literal:: @@ -872,462 +1026,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.9592 - accuracy: 0.5312 + 1/92 [..............................] - ETA: 7s - loss: 1.4784 - accuracy: 0.3125 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.9494 - accuracy: 0.5312 + 2/92 [..............................] - ETA: 5s - loss: 1.3069 - accuracy: 0.4062 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.9880 - accuracy: 0.5521 + 3/92 [..............................] - ETA: 5s - loss: 1.2792 - accuracy: 0.4792 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 1.0088 - accuracy: 0.5391 + 4/92 [>.............................] - ETA: 5s - loss: 1.2735 - accuracy: 0.4375 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 1.0084 - accuracy: 0.5500 + 5/92 [>.............................] - ETA: 5s - loss: 1.2419 - accuracy: 0.4625 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.9770 - accuracy: 0.5833 + 6/92 [>.............................] - ETA: 5s - loss: 1.2061 - accuracy: 0.4896 .. parsed-literal::  - 7/92 [=>............................] - ETA: 5s - loss: 1.0209 - accuracy: 0.5670 + 7/92 [=>............................] - ETA: 4s - loss: 1.1802 - accuracy: 0.5000 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 1.0146 - accuracy: 0.5781 + 8/92 [=>............................] - ETA: 4s - loss: 1.2022 - accuracy: 0.4883 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.9849 - accuracy: 0.5903 + 9/92 [=>............................] - ETA: 4s - loss: 1.2132 - accuracy: 0.4965 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.9816 - accuracy: 0.6031 +10/92 [==>...........................] - ETA: 4s - loss: 1.1943 - accuracy: 0.5156 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.9651 - accuracy: 0.6080 +11/92 [==>...........................] - ETA: 4s - loss: 1.2038 - accuracy: 0.5085 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.9724 - accuracy: 0.5990 +12/92 [==>...........................] - ETA: 4s - loss: 1.2072 - accuracy: 0.5104 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.9674 - accuracy: 0.6034 +13/92 [===>..........................] - ETA: 4s - loss: 1.2088 - accuracy: 0.5120 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.9582 - accuracy: 0.6027 +14/92 [===>..........................] - ETA: 4s - loss: 1.1953 - accuracy: 0.5223 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.9618 - accuracy: 0.5979 +15/92 [===>..........................] - ETA: 4s - loss: 1.1934 - accuracy: 0.5250 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.9806 - accuracy: 0.5898 +16/92 [====>.........................] - ETA: 4s - loss: 1.1870 - accuracy: 0.5312 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.9973 - accuracy: 0.5882 +17/92 [====>.........................] - ETA: 4s - loss: 1.1830 - accuracy: 0.5331 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.9917 - accuracy: 0.5903 +18/92 [====>.........................] - ETA: 4s - loss: 1.1699 - accuracy: 0.5399 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.9847 - accuracy: 0.5938 +19/92 [=====>........................] - ETA: 4s - loss: 1.1824 - accuracy: 0.5312 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.9966 - accuracy: 0.5938 +20/92 [=====>........................] - ETA: 4s - loss: 1.1714 - accuracy: 0.5328 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.9942 - accuracy: 0.5908 +21/92 [=====>........................] - ETA: 4s - loss: 1.1673 - accuracy: 0.5372 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 1.0058 - accuracy: 0.5923 +22/92 [======>.......................] - ETA: 4s - loss: 1.1658 - accuracy: 0.5369 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 1.0056 - accuracy: 0.5938 +23/92 [======>.......................] - ETA: 4s - loss: 1.1660 - accuracy: 0.5408 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.9982 - accuracy: 0.5990 +24/92 [======>.......................] - ETA: 3s - loss: 1.1668 - accuracy: 0.5378 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.9984 - accuracy: 0.6037 +25/92 [=======>......................] - ETA: 3s - loss: 1.1689 - accuracy: 0.5362 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 1.0006 - accuracy: 0.6022 +27/92 [=======>......................] - ETA: 3s - loss: 1.1677 - accuracy: 0.5350 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.9982 - accuracy: 0.6030 +28/92 [========>.....................] - ETA: 3s - loss: 1.1673 - accuracy: 0.5327 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 1.0047 - accuracy: 0.5982 +29/92 [========>.....................] - ETA: 3s - loss: 1.1636 - accuracy: 0.5348 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 1.0096 - accuracy: 0.5938 +30/92 [========>.....................] - ETA: 3s - loss: 1.1597 - accuracy: 0.5315 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 1.0082 - accuracy: 0.5927 +31/92 [=========>....................] - ETA: 3s - loss: 1.1546 - accuracy: 0.5325 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 1.0093 - accuracy: 0.5938 +32/92 [=========>....................] - ETA: 3s - loss: 1.1615 - accuracy: 0.5266 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 1.0069 - accuracy: 0.5957 +33/92 [=========>....................] - ETA: 3s - loss: 1.1623 - accuracy: 0.5219 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 1.0024 - accuracy: 0.5994 +34/92 [==========>...................] - ETA: 3s - loss: 1.1588 - accuracy: 0.5231 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 1.0045 - accuracy: 0.5983 +35/92 [==========>...................] - ETA: 3s - loss: 1.1526 - accuracy: 0.5279 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 1.0002 - accuracy: 0.6000 +36/92 [==========>...................] - ETA: 3s - loss: 1.1511 - accuracy: 0.5262 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 1.0049 - accuracy: 0.5964 +37/92 [===========>..................] - ETA: 3s - loss: 1.1447 - accuracy: 0.5272 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 1.0047 - accuracy: 0.5997 +38/92 [===========>..................] - ETA: 3s - loss: 1.1423 - accuracy: 0.5265 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 1.0040 - accuracy: 0.5995 +39/92 [===========>..................] - ETA: 3s - loss: 1.1494 - accuracy: 0.5266 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 1.0111 - accuracy: 0.5962 +40/92 [============>.................] - ETA: 3s - loss: 1.1540 - accuracy: 0.5220 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 1.0087 - accuracy: 0.5992 +41/92 [============>.................] - ETA: 2s - loss: 1.1530 - accuracy: 0.5215 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 1.0157 - accuracy: 0.5960 +42/92 [============>.................] - ETA: 2s - loss: 1.1578 - accuracy: 0.5172 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 1.0148 - accuracy: 0.5945 +43/92 [=============>................] - ETA: 2s - loss: 1.1597 - accuracy: 0.5183 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 1.0224 - accuracy: 0.5908 +44/92 [=============>................] - ETA: 2s - loss: 1.1599 - accuracy: 0.5171 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 1.0306 - accuracy: 0.5852 +45/92 [=============>................] - ETA: 2s - loss: 1.1571 - accuracy: 0.5189 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 1.0325 - accuracy: 0.5896 +46/92 [==============>...............] - ETA: 2s - loss: 1.1546 - accuracy: 0.5212 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 1.0310 - accuracy: 0.5938 +47/92 [==============>...............] - ETA: 2s - loss: 1.1557 - accuracy: 0.5214 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 1.0277 - accuracy: 0.5957 +48/92 [==============>...............] - ETA: 2s - loss: 1.1557 - accuracy: 0.5229 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 1.0227 - accuracy: 0.5983 +49/92 [==============>...............] - ETA: 2s - loss: 1.1541 - accuracy: 0.5250 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 1.0222 - accuracy: 0.6001 +50/92 [===============>..............] - ETA: 2s - loss: 1.1559 - accuracy: 0.5214 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 1.0194 - accuracy: 0.6000 +51/92 [===============>..............] - ETA: 2s - loss: 1.1577 - accuracy: 0.5209 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 1.0189 - accuracy: 0.5993 +52/92 [===============>..............] - ETA: 2s - loss: 1.1585 - accuracy: 0.5205 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 1.0204 - accuracy: 0.5986 +53/92 [================>.............] - ETA: 2s - loss: 1.1588 - accuracy: 0.5225 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 1.0189 - accuracy: 0.5985 +54/92 [================>.............] - ETA: 2s - loss: 1.1564 - accuracy: 0.5238 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 1.0253 - accuracy: 0.5961 +55/92 [================>.............] - ETA: 2s - loss: 1.1559 - accuracy: 0.5228 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 1.0253 - accuracy: 0.5972 +56/92 [=================>............] - ETA: 2s - loss: 1.1582 - accuracy: 0.5219 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 1.0253 - accuracy: 0.5982 +57/92 [=================>............] - ETA: 2s - loss: 1.1575 - accuracy: 0.5209 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 1.0231 - accuracy: 0.5998 +58/92 [=================>............] - ETA: 1s - loss: 1.1617 - accuracy: 0.5179 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 1.0205 - accuracy: 0.6008 +59/92 [==================>...........] - ETA: 1s - loss: 1.1581 - accuracy: 0.5197 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 1.0206 - accuracy: 0.6022 +60/92 [==================>...........] - ETA: 1s - loss: 1.1561 - accuracy: 0.5204 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 1.0246 - accuracy: 0.6005 +61/92 [==================>...........] - ETA: 1s - loss: 1.1529 - accuracy: 0.5216 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 1.0248 - accuracy: 0.5999 +62/92 [===================>..........] - ETA: 1s - loss: 1.1494 - accuracy: 0.5233 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 1.0223 - accuracy: 0.6018 +63/92 [===================>..........] - ETA: 1s - loss: 1.1464 - accuracy: 0.5239 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 1.0188 - accuracy: 0.6047 +64/92 [===================>..........] - ETA: 1s - loss: 1.1477 - accuracy: 0.5230 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 1.0164 - accuracy: 0.6060 +65/92 [====================>.........] - ETA: 1s - loss: 1.1483 - accuracy: 0.5236 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 1.0137 - accuracy: 0.6062 +66/92 [====================>.........] - ETA: 1s - loss: 1.1470 - accuracy: 0.5238 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 1.0164 - accuracy: 0.6037 +67/92 [====================>.........] - ETA: 1s - loss: 1.1475 - accuracy: 0.5229 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 1.0162 - accuracy: 0.6054 +68/92 [=====================>........] - ETA: 1s - loss: 1.1462 - accuracy: 0.5235 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 1.0145 - accuracy: 0.6066 +69/92 [=====================>........] - ETA: 1s - loss: 1.1447 - accuracy: 0.5250 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 1.0131 - accuracy: 0.6073 +70/92 [=====================>........] - ETA: 1s - loss: 1.1460 - accuracy: 0.5255 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 1.0129 - accuracy: 0.6076 +71/92 [======================>.......] - ETA: 1s - loss: 1.1434 - accuracy: 0.5265 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 1.0136 - accuracy: 0.6080 +72/92 [======================>.......] - ETA: 1s - loss: 1.1393 - accuracy: 0.5283 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 1.0118 - accuracy: 0.6087 +73/92 [======================>.......] - ETA: 1s - loss: 1.1366 - accuracy: 0.5301 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 1.0102 - accuracy: 0.6085 +74/92 [=======================>......] - ETA: 1s - loss: 1.1359 - accuracy: 0.5305 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 1.0104 - accuracy: 0.6079 +75/92 [=======================>......] - ETA: 0s - loss: 1.1332 - accuracy: 0.5326 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 1.0093 - accuracy: 0.6077 +76/92 [=======================>......] - ETA: 0s - loss: 1.1300 - accuracy: 0.5342 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 1.0111 - accuracy: 0.6067 +77/92 [========================>.....] - ETA: 0s - loss: 1.1273 - accuracy: 0.5338 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 1.0106 - accuracy: 0.6069 +78/92 [========================>.....] - ETA: 0s - loss: 1.1315 - accuracy: 0.5334 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 1.0101 - accuracy: 0.6083 +79/92 [========================>.....] - ETA: 0s - loss: 1.1328 - accuracy: 0.5325 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 1.0098 - accuracy: 0.6089 +80/92 [=========================>....] - ETA: 0s - loss: 1.1328 - accuracy: 0.5333 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 1.0103 - accuracy: 0.6080 +81/92 [=========================>....] - ETA: 0s - loss: 1.1373 - accuracy: 0.5329 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 1.0114 - accuracy: 0.6074 +82/92 [=========================>....] - ETA: 0s - loss: 1.1383 - accuracy: 0.5317 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 1.0102 - accuracy: 0.6080 +83/92 [==========================>...] - ETA: 0s - loss: 1.1364 - accuracy: 0.5321 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 1.0084 - accuracy: 0.6090 +84/92 [==========================>...] - ETA: 0s - loss: 1.1378 - accuracy: 0.5313 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 1.0105 - accuracy: 0.6077 +85/92 [==========================>...] - ETA: 0s - loss: 1.1357 - accuracy: 0.5324 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 1.0073 - accuracy: 0.6086 +86/92 [===========================>..] - ETA: 0s - loss: 1.1355 - accuracy: 0.5317 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 1.0080 - accuracy: 0.6077 +87/92 [===========================>..] - ETA: 0s - loss: 1.1341 - accuracy: 0.5328 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 1.0059 - accuracy: 0.6097 +88/92 [===========================>..] - ETA: 0s - loss: 1.1338 - accuracy: 0.5324 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 1.0064 - accuracy: 0.6088 +89/92 [============================>.] - ETA: 0s - loss: 1.1349 - accuracy: 0.5324 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 1.0058 - accuracy: 0.6090 +90/92 [============================>.] - ETA: 0s - loss: 1.1361 - accuracy: 0.5324 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 1.0035 - accuracy: 0.6102 +91/92 [============================>.] - ETA: 0s - loss: 1.1342 - accuracy: 0.5327 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 1.0031 - accuracy: 0.6107 +92/92 [==============================] - ETA: 0s - loss: 1.1322 - accuracy: 0.5341 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 1.0031 - accuracy: 0.6107 - val_loss: 0.9459 - val_accuracy: 0.6362 +92/92 [==============================] - 6s 64ms/step - loss: 1.1322 - accuracy: 0.5341 - val_loss: 1.0712 - val_accuracy: 0.5708 .. parsed-literal:: @@ -1338,462 +1492,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.9821 - accuracy: 0.6250 + 1/92 [..............................] - ETA: 7s - loss: 1.0558 - accuracy: 0.6250 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.9723 - accuracy: 0.6562 + 2/92 [..............................] - ETA: 5s - loss: 0.9953 - accuracy: 0.6875 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.8494 - accuracy: 0.7083 + 3/92 [..............................] - ETA: 5s - loss: 0.9741 - accuracy: 0.6667 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.8594 - accuracy: 0.7109 + 4/92 [>.............................] - ETA: 5s - loss: 0.9762 - accuracy: 0.6406 .. parsed-literal::  - 5/92 [>.............................] - ETA: 4s - loss: 0.8248 - accuracy: 0.7188 + 5/92 [>.............................] - ETA: 5s - loss: 1.0409 - accuracy: 0.6000 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.7995 - accuracy: 0.7240 + 6/92 [>.............................] - ETA: 4s - loss: 1.0258 - accuracy: 0.6146 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.7832 - accuracy: 0.7277 + 7/92 [=>............................] - ETA: 4s - loss: 1.0239 - accuracy: 0.6116 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.7810 - accuracy: 0.7266 + 8/92 [=>............................] - ETA: 4s - loss: 1.0139 - accuracy: 0.6133 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.7997 - accuracy: 0.7188 + 9/92 [=>............................] - ETA: 4s - loss: 0.9907 - accuracy: 0.6319 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.8188 - accuracy: 0.7125 +10/92 [==>...........................] - ETA: 4s - loss: 0.9815 - accuracy: 0.6344 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.8115 - accuracy: 0.7159 +11/92 [==>...........................] - ETA: 4s - loss: 0.9741 - accuracy: 0.6364 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.8429 - accuracy: 0.7057 +12/92 [==>...........................] - ETA: 4s - loss: 0.9891 - accuracy: 0.6276 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.8557 - accuracy: 0.6947 +13/92 [===>..........................] - ETA: 4s - loss: 0.9823 - accuracy: 0.6250 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.8773 - accuracy: 0.6920 +14/92 [===>..........................] - ETA: 4s - loss: 0.9847 - accuracy: 0.6183 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.8872 - accuracy: 0.6896 +15/92 [===>..........................] - ETA: 4s - loss: 0.9844 - accuracy: 0.6187 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.8785 - accuracy: 0.6895 +16/92 [====>.........................] - ETA: 4s - loss: 0.9729 - accuracy: 0.6211 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.8851 - accuracy: 0.6857 +17/92 [====>.........................] - ETA: 4s - loss: 0.9792 - accuracy: 0.6250 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.8821 - accuracy: 0.6892 +18/92 [====>.........................] - ETA: 4s - loss: 0.9805 - accuracy: 0.6215 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.8844 - accuracy: 0.6842 +19/92 [=====>........................] - ETA: 4s - loss: 0.9759 - accuracy: 0.6250 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.8843 - accuracy: 0.6828 +20/92 [=====>........................] - ETA: 4s - loss: 1.0010 - accuracy: 0.6156 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.8778 - accuracy: 0.6845 +21/92 [=====>........................] - ETA: 4s - loss: 0.9915 - accuracy: 0.6161 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.8890 - accuracy: 0.6804 +22/92 [======>.......................] - ETA: 4s - loss: 0.9885 - accuracy: 0.6179 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.8845 - accuracy: 0.6834 +23/92 [======>.......................] - ETA: 3s - loss: 0.9939 - accuracy: 0.6155 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.8785 - accuracy: 0.6862 +24/92 [======>.......................] - ETA: 3s - loss: 0.9814 - accuracy: 0.6172 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.8871 - accuracy: 0.6808 +25/92 [=======>......................] - ETA: 3s - loss: 0.9855 - accuracy: 0.6150 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.8890 - accuracy: 0.6764 +26/92 [=======>......................] - ETA: 3s - loss: 0.9876 - accuracy: 0.6154 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.8872 - accuracy: 0.6757 +27/92 [=======>......................] - ETA: 3s - loss: 0.9934 - accuracy: 0.6123 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.8884 - accuracy: 0.6750 +28/92 [========>.....................] - ETA: 3s - loss: 0.9933 - accuracy: 0.6105 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.8841 - accuracy: 0.6765 +29/92 [========>.....................] - ETA: 3s - loss: 0.9953 - accuracy: 0.6099 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.8817 - accuracy: 0.6758 +30/92 [========>.....................] - ETA: 3s - loss: 1.0016 - accuracy: 0.6042 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.8775 - accuracy: 0.6742 +31/92 [=========>....................] - ETA: 3s - loss: 1.0062 - accuracy: 0.6008 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.8771 - accuracy: 0.6737 +32/92 [=========>....................] - ETA: 3s - loss: 1.0193 - accuracy: 0.5928 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.8715 - accuracy: 0.6750 +33/92 [=========>....................] - ETA: 3s - loss: 1.0180 - accuracy: 0.5919 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.8819 - accuracy: 0.6718 +34/92 [==========>...................] - ETA: 3s - loss: 1.0210 - accuracy: 0.5928 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.9015 - accuracy: 0.6670 +35/92 [==========>...................] - ETA: 3s - loss: 1.0225 - accuracy: 0.5964 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.9032 - accuracy: 0.6641 +36/92 [==========>...................] - ETA: 3s - loss: 1.0209 - accuracy: 0.5998 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.9129 - accuracy: 0.6581 +37/92 [===========>..................] - ETA: 3s - loss: 1.0220 - accuracy: 0.6014 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.9161 - accuracy: 0.6548 +38/92 [===========>..................] - ETA: 3s - loss: 1.0265 - accuracy: 0.6020 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.9155 - accuracy: 0.6557 +39/92 [===========>..................] - ETA: 3s - loss: 1.0314 - accuracy: 0.5978 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.9134 - accuracy: 0.6572 +40/92 [============>.................] - ETA: 3s - loss: 1.0301 - accuracy: 0.5992 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.9135 - accuracy: 0.6564 +41/92 [============>.................] - ETA: 2s - loss: 1.0326 - accuracy: 0.5983 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.9153 - accuracy: 0.6557 +42/92 [============>.................] - ETA: 2s - loss: 1.0321 - accuracy: 0.5975 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.9133 - accuracy: 0.6564 +43/92 [=============>................] - ETA: 2s - loss: 1.0316 - accuracy: 0.5959 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.9115 - accuracy: 0.6557 +44/92 [=============>................] - ETA: 2s - loss: 1.0263 - accuracy: 0.5994 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.9087 - accuracy: 0.6578 +45/92 [=============>................] - ETA: 2s - loss: 1.0292 - accuracy: 0.6000 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.9028 - accuracy: 0.6604 +46/92 [==============>...............] - ETA: 2s - loss: 1.0306 - accuracy: 0.6012 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.9003 - accuracy: 0.6616 +47/92 [==============>...............] - ETA: 2s - loss: 1.0407 - accuracy: 0.5964 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.8983 - accuracy: 0.6622 +48/92 [==============>...............] - ETA: 2s - loss: 1.0408 - accuracy: 0.5957 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.8977 - accuracy: 0.6602 +49/92 [==============>...............] - ETA: 2s - loss: 1.0388 - accuracy: 0.5957 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.8962 - accuracy: 0.6613 +50/92 [===============>..............] - ETA: 2s - loss: 1.0398 - accuracy: 0.5944 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.8955 - accuracy: 0.6612 +51/92 [===============>..............] - ETA: 2s - loss: 1.0420 - accuracy: 0.5925 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.8943 - accuracy: 0.6605 +52/92 [===============>..............] - ETA: 2s - loss: 1.0420 - accuracy: 0.5931 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.8947 - accuracy: 0.6593 +53/92 [================>.............] - ETA: 2s - loss: 1.0412 - accuracy: 0.5926 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.8937 - accuracy: 0.6610 +54/92 [================>.............] - ETA: 2s - loss: 1.0406 - accuracy: 0.5932 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.8920 - accuracy: 0.6620 +55/92 [================>.............] - ETA: 2s - loss: 1.0416 - accuracy: 0.5932 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.8889 - accuracy: 0.6630 +56/92 [=================>............] - ETA: 2s - loss: 1.0418 - accuracy: 0.5938 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.8896 - accuracy: 0.6613 +57/92 [=================>............] - ETA: 2s - loss: 1.0389 - accuracy: 0.5943 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.8939 - accuracy: 0.6612 +58/92 [=================>............] - ETA: 1s - loss: 1.0415 - accuracy: 0.5938 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.8903 - accuracy: 0.6627 +59/92 [==================>...........] - ETA: 1s - loss: 1.0417 - accuracy: 0.5938 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.8897 - accuracy: 0.6620 +60/92 [==================>...........] - ETA: 1s - loss: 1.0401 - accuracy: 0.5938 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.8934 - accuracy: 0.6599 +61/92 [==================>...........] - ETA: 1s - loss: 1.0405 - accuracy: 0.5953 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.8916 - accuracy: 0.6609 +62/92 [===================>..........] - ETA: 1s - loss: 1.0400 - accuracy: 0.5958 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.8933 - accuracy: 0.6598 +63/92 [===================>..........] - ETA: 1s - loss: 1.0420 - accuracy: 0.5938 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.8913 - accuracy: 0.6612 +64/92 [===================>..........] - ETA: 1s - loss: 1.0483 - accuracy: 0.5913 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.8902 - accuracy: 0.6621 +65/92 [====================>.........] - ETA: 1s - loss: 1.0446 - accuracy: 0.5923 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.8875 - accuracy: 0.6620 +66/92 [====================>.........] - ETA: 1s - loss: 1.0439 - accuracy: 0.5923 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.8855 - accuracy: 0.6624 +67/92 [====================>.........] - ETA: 1s - loss: 1.0423 - accuracy: 0.5928 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.8892 - accuracy: 0.6605 +68/92 [=====================>........] - ETA: 1s - loss: 1.0439 - accuracy: 0.5928 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.8907 - accuracy: 0.6591 +69/92 [=====================>........] - ETA: 1s - loss: 1.0424 - accuracy: 0.5933 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.8893 - accuracy: 0.6608 +70/92 [=====================>........] - ETA: 1s - loss: 1.0417 - accuracy: 0.5951 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.8888 - accuracy: 0.6616 +72/92 [======================>.......] - ETA: 1s - loss: 1.0414 - accuracy: 0.5954 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.8861 - accuracy: 0.6619 +73/92 [======================>.......] - ETA: 1s - loss: 1.0385 - accuracy: 0.5962 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.8853 - accuracy: 0.6610 +74/92 [=======================>......] - ETA: 1s - loss: 1.0407 - accuracy: 0.5970 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.8887 - accuracy: 0.6610 +75/92 [=======================>......] - ETA: 0s - loss: 1.0381 - accuracy: 0.5970 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.8943 - accuracy: 0.6584 +76/92 [=======================>......] - ETA: 0s - loss: 1.0351 - accuracy: 0.5982 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.8933 - accuracy: 0.6588 +77/92 [========================>.....] - ETA: 0s - loss: 1.0349 - accuracy: 0.5989 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.8936 - accuracy: 0.6592 +78/92 [========================>.....] - ETA: 0s - loss: 1.0354 - accuracy: 0.5993 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.8903 - accuracy: 0.6603 +79/92 [========================>.....] - ETA: 0s - loss: 1.0332 - accuracy: 0.5996 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.8899 - accuracy: 0.6587 +80/92 [=========================>....] - ETA: 0s - loss: 1.0320 - accuracy: 0.6003 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.8911 - accuracy: 0.6587 +81/92 [=========================>....] - ETA: 0s - loss: 1.0328 - accuracy: 0.6002 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.8899 - accuracy: 0.6590 +82/92 [=========================>....] - ETA: 0s - loss: 1.0326 - accuracy: 0.5998 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.8901 - accuracy: 0.6597 +83/92 [==========================>...] - ETA: 0s - loss: 1.0308 - accuracy: 0.6012 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.8904 - accuracy: 0.6586 +84/92 [==========================>...] - ETA: 0s - loss: 1.0285 - accuracy: 0.6022 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.8881 - accuracy: 0.6593 +85/92 [==========================>...] - ETA: 0s - loss: 1.0258 - accuracy: 0.6025 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.8884 - accuracy: 0.6589 +86/92 [===========================>..] - ETA: 0s - loss: 1.0265 - accuracy: 0.6013 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.8889 - accuracy: 0.6585 +87/92 [===========================>..] - ETA: 0s - loss: 1.0275 - accuracy: 0.6001 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.8901 - accuracy: 0.6578 +88/92 [===========================>..] - ETA: 0s - loss: 1.0258 - accuracy: 0.6004 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.8902 - accuracy: 0.6567 +89/92 [============================>.] - ETA: 0s - loss: 1.0281 - accuracy: 0.6004 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.8907 - accuracy: 0.6563 +90/92 [============================>.] - ETA: 0s - loss: 1.0270 - accuracy: 0.6006 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.8901 - accuracy: 0.6567 +91/92 [============================>.] - ETA: 0s - loss: 1.0262 - accuracy: 0.6006 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.8904 - accuracy: 0.6567 +92/92 [==============================] - ETA: 0s - loss: 1.0246 - accuracy: 0.6008 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.8904 - accuracy: 0.6567 - val_loss: 0.8648 - val_accuracy: 0.6444 +92/92 [==============================] - 6s 63ms/step - loss: 1.0246 - accuracy: 0.6008 - val_loss: 0.9583 - val_accuracy: 0.6349 .. parsed-literal:: @@ -1804,462 +1958,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.9896 - accuracy: 0.5938 + 1/92 [..............................] - ETA: 7s - loss: 1.2949 - accuracy: 0.4375 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.9483 - accuracy: 0.6250 + 2/92 [..............................] - ETA: 5s - loss: 1.1851 - accuracy: 0.5312 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.8749 - accuracy: 0.6667 + 3/92 [..............................] - ETA: 5s - loss: 1.0969 - accuracy: 0.5521 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.8280 - accuracy: 0.6953 + 4/92 [>.............................] - ETA: 5s - loss: 1.0954 - accuracy: 0.5625 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.8490 - accuracy: 0.6875 + 5/92 [>.............................] - ETA: 5s - loss: 1.0742 - accuracy: 0.5625 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.9025 - accuracy: 0.6719 + 6/92 [>.............................] - ETA: 5s - loss: 1.0892 - accuracy: 0.5573 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.8749 - accuracy: 0.6741 + 7/92 [=>............................] - ETA: 5s - loss: 1.0770 - accuracy: 0.5580 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.8837 - accuracy: 0.6719 + 8/92 [=>............................] - ETA: 4s - loss: 1.0740 - accuracy: 0.5586 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.8878 - accuracy: 0.6701 + 9/92 [=>............................] - ETA: 4s - loss: 1.0555 - accuracy: 0.5660 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.8915 - accuracy: 0.6687 +10/92 [==>...........................] - ETA: 4s - loss: 1.0522 - accuracy: 0.5688 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.8794 - accuracy: 0.6705 +11/92 [==>...........................] - ETA: 4s - loss: 1.0447 - accuracy: 0.5795 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.8726 - accuracy: 0.6641 +12/92 [==>...........................] - ETA: 4s - loss: 1.0230 - accuracy: 0.5859 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.8571 - accuracy: 0.6659 +13/92 [===>..........................] - ETA: 4s - loss: 1.0052 - accuracy: 0.5962 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.8522 - accuracy: 0.6696 +14/92 [===>..........................] - ETA: 4s - loss: 1.0053 - accuracy: 0.6004 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.8456 - accuracy: 0.6687 +15/92 [===>..........................] - ETA: 4s - loss: 0.9968 - accuracy: 0.6021 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.8426 - accuracy: 0.6699 +16/92 [====>.........................] - ETA: 4s - loss: 0.9991 - accuracy: 0.5977 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.8576 - accuracy: 0.6562 +17/92 [====>.........................] - ETA: 4s - loss: 0.9962 - accuracy: 0.5956 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.8540 - accuracy: 0.6580 +18/92 [====>.........................] - ETA: 4s - loss: 0.9968 - accuracy: 0.5972 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.8630 - accuracy: 0.6595 +19/92 [=====>........................] - ETA: 4s - loss: 0.9931 - accuracy: 0.5954 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.8560 - accuracy: 0.6609 +20/92 [=====>........................] - ETA: 4s - loss: 0.9957 - accuracy: 0.6016 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.8498 - accuracy: 0.6622 +21/92 [=====>........................] - ETA: 4s - loss: 0.9932 - accuracy: 0.6012 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.8452 - accuracy: 0.6648 +22/92 [======>.......................] - ETA: 4s - loss: 0.9864 - accuracy: 0.6051 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.8392 - accuracy: 0.6671 +23/92 [======>.......................] - ETA: 4s - loss: 0.9823 - accuracy: 0.6087 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.8392 - accuracy: 0.6667 +24/92 [======>.......................] - ETA: 3s - loss: 0.9748 - accuracy: 0.6120 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.8538 - accuracy: 0.6625 +25/92 [=======>......................] - ETA: 3s - loss: 0.9821 - accuracy: 0.6125 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.8538 - accuracy: 0.6600 +26/92 [=======>......................] - ETA: 3s - loss: 0.9895 - accuracy: 0.6070 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.8436 - accuracy: 0.6655 +27/92 [=======>......................] - ETA: 3s - loss: 0.9889 - accuracy: 0.6134 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.8437 - accuracy: 0.6674 +28/92 [========>.....................] - ETA: 3s - loss: 0.9822 - accuracy: 0.6172 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.8434 - accuracy: 0.6670 +29/92 [========>.....................] - ETA: 3s - loss: 0.9763 - accuracy: 0.6207 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.8447 - accuracy: 0.6697 +30/92 [========>.....................] - ETA: 3s - loss: 0.9738 - accuracy: 0.6208 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.8511 - accuracy: 0.6693 +31/92 [=========>....................] - ETA: 3s - loss: 0.9703 - accuracy: 0.6240 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.8546 - accuracy: 0.6689 +32/92 [=========>....................] - ETA: 3s - loss: 0.9664 - accuracy: 0.6270 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.8529 - accuracy: 0.6694 +33/92 [=========>....................] - ETA: 3s - loss: 0.9625 - accuracy: 0.6288 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.8472 - accuracy: 0.6727 +34/92 [==========>...................] - ETA: 3s - loss: 0.9663 - accuracy: 0.6296 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.8461 - accuracy: 0.6740 +35/92 [==========>...................] - ETA: 3s - loss: 0.9708 - accuracy: 0.6277 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.8527 - accuracy: 0.6726 +36/92 [==========>...................] - ETA: 3s - loss: 0.9707 - accuracy: 0.6276 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.8548 - accuracy: 0.6714 +37/92 [===========>..................] - ETA: 3s - loss: 0.9713 - accuracy: 0.6284 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.8513 - accuracy: 0.6742 +38/92 [===========>..................] - ETA: 3s - loss: 0.9679 - accuracy: 0.6308 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.8520 - accuracy: 0.6737 +39/92 [===========>..................] - ETA: 3s - loss: 0.9612 - accuracy: 0.6338 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.8454 - accuracy: 0.6756 +40/92 [============>.................] - ETA: 3s - loss: 0.9624 - accuracy: 0.6313 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.8508 - accuracy: 0.6737 +41/92 [============>.................] - ETA: 3s - loss: 0.9625 - accuracy: 0.6311 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.8491 - accuracy: 0.6740 +42/92 [============>.................] - ETA: 2s - loss: 0.9611 - accuracy: 0.6302 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.8516 - accuracy: 0.6736 +43/92 [=============>................] - ETA: 2s - loss: 0.9582 - accuracy: 0.6330 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.8572 - accuracy: 0.6711 +44/92 [=============>................] - ETA: 2s - loss: 0.9686 - accuracy: 0.6293 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.8577 - accuracy: 0.6708 +45/92 [=============>................] - ETA: 2s - loss: 0.9665 - accuracy: 0.6285 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.8573 - accuracy: 0.6718 +46/92 [==============>...............] - ETA: 2s - loss: 0.9652 - accuracy: 0.6284 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.8560 - accuracy: 0.6734 +47/92 [==============>...............] - ETA: 2s - loss: 0.9583 - accuracy: 0.6323 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.8557 - accuracy: 0.6744 +48/92 [==============>...............] - ETA: 2s - loss: 0.9600 - accuracy: 0.6315 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.8599 - accuracy: 0.6734 +49/92 [==============>...............] - ETA: 2s - loss: 0.9625 - accuracy: 0.6314 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.8599 - accuracy: 0.6730 +50/92 [===============>..............] - ETA: 2s - loss: 0.9624 - accuracy: 0.6319 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.8576 - accuracy: 0.6733 +51/92 [===============>..............] - ETA: 2s - loss: 0.9600 - accuracy: 0.6330 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.8552 - accuracy: 0.6736 +52/92 [===============>..............] - ETA: 2s - loss: 0.9607 - accuracy: 0.6322 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.8510 - accuracy: 0.6738 +53/92 [================>.............] - ETA: 2s - loss: 0.9606 - accuracy: 0.6315 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.8471 - accuracy: 0.6752 +54/92 [================>.............] - ETA: 2s - loss: 0.9571 - accuracy: 0.6331 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.8438 - accuracy: 0.6771 +55/92 [================>.............] - ETA: 2s - loss: 0.9575 - accuracy: 0.6347 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.8413 - accuracy: 0.6779 +56/92 [=================>............] - ETA: 2s - loss: 0.9535 - accuracy: 0.6367 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.8420 - accuracy: 0.6780 +57/92 [=================>............] - ETA: 2s - loss: 0.9556 - accuracy: 0.6354 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.8412 - accuracy: 0.6787 +58/92 [=================>............] - ETA: 1s - loss: 0.9570 - accuracy: 0.6342 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.8412 - accuracy: 0.6799 +59/92 [==================>...........] - ETA: 1s - loss: 0.9584 - accuracy: 0.6361 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.8434 - accuracy: 0.6800 +60/92 [==================>...........] - ETA: 1s - loss: 0.9560 - accuracy: 0.6359 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.8447 - accuracy: 0.6797 +61/92 [==================>...........] - ETA: 1s - loss: 0.9540 - accuracy: 0.6368 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.8454 - accuracy: 0.6783 +62/92 [===================>..........] - ETA: 1s - loss: 0.9507 - accuracy: 0.6386 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.8441 - accuracy: 0.6799 +63/92 [===================>..........] - ETA: 1s - loss: 0.9495 - accuracy: 0.6394 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.8414 - accuracy: 0.6810 +64/92 [===================>..........] - ETA: 1s - loss: 0.9518 - accuracy: 0.6382 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.8409 - accuracy: 0.6792 +65/92 [====================>.........] - ETA: 1s - loss: 0.9512 - accuracy: 0.6394 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.8392 - accuracy: 0.6793 +66/92 [====================>.........] - ETA: 1s - loss: 0.9484 - accuracy: 0.6411 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.8382 - accuracy: 0.6799 +67/92 [====================>.........] - ETA: 1s - loss: 0.9505 - accuracy: 0.6399 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.8391 - accuracy: 0.6786 +68/92 [=====================>........] - ETA: 1s - loss: 0.9517 - accuracy: 0.6392 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.8388 - accuracy: 0.6788 +69/92 [=====================>........] - ETA: 1s - loss: 0.9484 - accuracy: 0.6404 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.8393 - accuracy: 0.6776 +70/92 [=====================>........] - ETA: 1s - loss: 0.9501 - accuracy: 0.6402 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.8384 - accuracy: 0.6781 +71/92 [======================>.......] - ETA: 1s - loss: 0.9461 - accuracy: 0.6417 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.8382 - accuracy: 0.6796 +72/92 [======================>.......] - ETA: 1s - loss: 0.9494 - accuracy: 0.6398 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.8368 - accuracy: 0.6797 +73/92 [======================>.......] - ETA: 1s - loss: 0.9549 - accuracy: 0.6370 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.8399 - accuracy: 0.6789 +74/92 [=======================>......] - ETA: 1s - loss: 0.9564 - accuracy: 0.6356 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.8411 - accuracy: 0.6782 +75/92 [=======================>......] - ETA: 0s - loss: 0.9540 - accuracy: 0.6367 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.8425 - accuracy: 0.6771 +76/92 [=======================>......] - ETA: 0s - loss: 0.9537 - accuracy: 0.6365 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.8402 - accuracy: 0.6785 +77/92 [========================>.....] - ETA: 0s - loss: 0.9539 - accuracy: 0.6372 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.8427 - accuracy: 0.6786 +79/92 [========================>.....] - ETA: 0s - loss: 0.9534 - accuracy: 0.6365 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.8431 - accuracy: 0.6787 +80/92 [=========================>....] - ETA: 0s - loss: 0.9550 - accuracy: 0.6364 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.8441 - accuracy: 0.6776 +81/92 [=========================>....] - ETA: 0s - loss: 0.9559 - accuracy: 0.6347 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.8435 - accuracy: 0.6778 +82/92 [=========================>....] - ETA: 0s - loss: 0.9589 - accuracy: 0.6346 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.8424 - accuracy: 0.6775 +83/92 [==========================>...] - ETA: 0s - loss: 0.9601 - accuracy: 0.6337 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.8411 - accuracy: 0.6784 +84/92 [==========================>...] - ETA: 0s - loss: 0.9580 - accuracy: 0.6340 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.8421 - accuracy: 0.6781 +85/92 [==========================>...] - ETA: 0s - loss: 0.9577 - accuracy: 0.6331 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.8446 - accuracy: 0.6778 +86/92 [===========================>..] - ETA: 0s - loss: 0.9584 - accuracy: 0.6319 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.8441 - accuracy: 0.6790 +87/92 [===========================>..] - ETA: 0s - loss: 0.9568 - accuracy: 0.6329 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.8434 - accuracy: 0.6795 +88/92 [===========================>..] - ETA: 0s - loss: 0.9564 - accuracy: 0.6321 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.8418 - accuracy: 0.6796 +89/92 [============================>.] - ETA: 0s - loss: 0.9570 - accuracy: 0.6324 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.8403 - accuracy: 0.6804 +90/92 [============================>.] - ETA: 0s - loss: 0.9557 - accuracy: 0.6334 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.8420 - accuracy: 0.6787 +91/92 [============================>.] - ETA: 0s - loss: 0.9555 - accuracy: 0.6340 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.8425 - accuracy: 0.6788 +92/92 [==============================] - ETA: 0s - loss: 0.9604 - accuracy: 0.6318 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.8425 - accuracy: 0.6788 - val_loss: 0.7927 - val_accuracy: 0.6948 +92/92 [==============================] - 6s 64ms/step - loss: 0.9604 - accuracy: 0.6318 - val_loss: 0.9705 - val_accuracy: 0.6308 .. parsed-literal:: @@ -2270,462 +2424,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.6404 - accuracy: 0.7812 + 1/92 [..............................] - ETA: 6s - loss: 0.9688 - accuracy: 0.7500 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.6825 - accuracy: 0.7500 + 2/92 [..............................] - ETA: 5s - loss: 0.8982 - accuracy: 0.7500 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.6366 - accuracy: 0.7708 + 3/92 [..............................] - ETA: 5s - loss: 0.8791 - accuracy: 0.7188 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.7350 - accuracy: 0.7344 + 4/92 [>.............................] - ETA: 5s - loss: 0.8947 - accuracy: 0.7031 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.7050 - accuracy: 0.7500 + 5/92 [>.............................] - ETA: 5s - loss: 0.9190 - accuracy: 0.6687 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.7362 - accuracy: 0.7448 + 6/92 [>.............................] - ETA: 5s - loss: 0.8789 - accuracy: 0.6771 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.7464 - accuracy: 0.7455 + 7/92 [=>............................] - ETA: 5s - loss: 0.8793 - accuracy: 0.6830 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.7201 - accuracy: 0.7617 + 8/92 [=>............................] - ETA: 5s - loss: 0.8757 - accuracy: 0.6797 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.7403 - accuracy: 0.7535 + 9/92 [=>............................] - ETA: 5s - loss: 0.8925 - accuracy: 0.6701 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.7423 - accuracy: 0.7531 +10/92 [==>...........................] - ETA: 5s - loss: 0.9010 - accuracy: 0.6594 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.7348 - accuracy: 0.7614 +11/92 [==>...........................] - ETA: 4s - loss: 0.9055 - accuracy: 0.6562 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.7754 - accuracy: 0.7344 +12/92 [==>...........................] - ETA: 4s - loss: 0.9024 - accuracy: 0.6536 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.7602 - accuracy: 0.7404 +13/92 [===>..........................] - ETA: 4s - loss: 0.8993 - accuracy: 0.6611 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.7555 - accuracy: 0.7411 +14/92 [===>..........................] - ETA: 4s - loss: 0.8962 - accuracy: 0.6585 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.7509 - accuracy: 0.7417 +15/92 [===>..........................] - ETA: 4s - loss: 0.8879 - accuracy: 0.6583 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.7544 - accuracy: 0.7363 +16/92 [====>.........................] - ETA: 4s - loss: 0.9131 - accuracy: 0.6426 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.7430 - accuracy: 0.7390 +17/92 [====>.........................] - ETA: 4s - loss: 0.9255 - accuracy: 0.6379 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.7442 - accuracy: 0.7378 +18/92 [====>.........................] - ETA: 4s - loss: 0.9209 - accuracy: 0.6406 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.7523 - accuracy: 0.7303 +19/92 [=====>........................] - ETA: 4s - loss: 0.9128 - accuracy: 0.6414 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.7570 - accuracy: 0.7266 +20/92 [=====>........................] - ETA: 4s - loss: 0.9060 - accuracy: 0.6453 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.7640 - accuracy: 0.7232 +21/92 [=====>........................] - ETA: 4s - loss: 0.9091 - accuracy: 0.6488 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.7590 - accuracy: 0.7216 +22/92 [======>.......................] - ETA: 4s - loss: 0.9110 - accuracy: 0.6491 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.7601 - accuracy: 0.7224 +23/92 [======>.......................] - ETA: 4s - loss: 0.9085 - accuracy: 0.6508 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.7649 - accuracy: 0.7172 +24/92 [======>.......................] - ETA: 4s - loss: 0.9065 - accuracy: 0.6523 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.7715 - accuracy: 0.7184 +25/92 [=======>......................] - ETA: 3s - loss: 0.8992 - accuracy: 0.6525 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.7758 - accuracy: 0.7196 +26/92 [=======>......................] - ETA: 3s - loss: 0.9081 - accuracy: 0.6466 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.7727 - accuracy: 0.7185 +27/92 [=======>......................] - ETA: 3s - loss: 0.9077 - accuracy: 0.6481 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.7745 - accuracy: 0.7152 +28/92 [========>.....................] - ETA: 3s - loss: 0.9098 - accuracy: 0.6496 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.7760 - accuracy: 0.7143 +29/92 [========>.....................] - ETA: 3s - loss: 0.9049 - accuracy: 0.6530 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.7723 - accuracy: 0.7154 +30/92 [========>.....................] - ETA: 3s - loss: 0.9001 - accuracy: 0.6552 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.7750 - accuracy: 0.7146 +31/92 [=========>....................] - ETA: 3s - loss: 0.8972 - accuracy: 0.6573 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.7828 - accuracy: 0.7109 +32/92 [=========>....................] - ETA: 3s - loss: 0.8884 - accuracy: 0.6611 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.7795 - accuracy: 0.7111 +33/92 [=========>....................] - ETA: 3s - loss: 0.8936 - accuracy: 0.6610 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.7856 - accuracy: 0.7086 +34/92 [==========>...................] - ETA: 3s - loss: 0.8929 - accuracy: 0.6608 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.7864 - accuracy: 0.7063 +35/92 [==========>...................] - ETA: 3s - loss: 0.8989 - accuracy: 0.6571 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.7845 - accuracy: 0.7058 +36/92 [==========>...................] - ETA: 3s - loss: 0.9004 - accuracy: 0.6562 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.7867 - accuracy: 0.7036 +37/92 [===========>..................] - ETA: 3s - loss: 0.8991 - accuracy: 0.6571 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.7945 - accuracy: 0.6984 +38/92 [===========>..................] - ETA: 3s - loss: 0.8939 - accuracy: 0.6587 .. parsed-literal::  -40/92 [============>.................] - ETA: 2s - loss: 0.7895 - accuracy: 0.7028 +39/92 [===========>..................] - ETA: 3s - loss: 0.9007 - accuracy: 0.6554 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.7913 - accuracy: 0.7009 +40/92 [============>.................] - ETA: 3s - loss: 0.8991 - accuracy: 0.6555 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.7863 - accuracy: 0.7043 +41/92 [============>.................] - ETA: 2s - loss: 0.8958 - accuracy: 0.6555 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.7840 - accuracy: 0.7032 +42/92 [============>.................] - ETA: 2s - loss: 0.8924 - accuracy: 0.6577 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.7820 - accuracy: 0.7057 +43/92 [=============>................] - ETA: 2s - loss: 0.8966 - accuracy: 0.6541 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.7812 - accuracy: 0.7053 +44/92 [=============>................] - ETA: 2s - loss: 0.8950 - accuracy: 0.6555 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.7850 - accuracy: 0.7042 +45/92 [=============>................] - ETA: 2s - loss: 0.8990 - accuracy: 0.6549 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.7802 - accuracy: 0.7052 +46/92 [==============>...............] - ETA: 2s - loss: 0.8978 - accuracy: 0.6562 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.7799 - accuracy: 0.7068 +47/92 [==============>...............] - ETA: 2s - loss: 0.8962 - accuracy: 0.6549 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.7815 - accuracy: 0.7071 +48/92 [==============>...............] - ETA: 2s - loss: 0.8979 - accuracy: 0.6536 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.7813 - accuracy: 0.7073 +49/92 [==============>...............] - ETA: 2s - loss: 0.9008 - accuracy: 0.6537 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.7782 - accuracy: 0.7100 +50/92 [===============>..............] - ETA: 2s - loss: 0.9017 - accuracy: 0.6531 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.7786 - accuracy: 0.7077 +51/92 [===============>..............] - ETA: 2s - loss: 0.8987 - accuracy: 0.6556 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.7769 - accuracy: 0.7097 +52/92 [===============>..............] - ETA: 2s - loss: 0.8980 - accuracy: 0.6562 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.7835 - accuracy: 0.7070 +53/92 [================>.............] - ETA: 2s - loss: 0.8973 - accuracy: 0.6557 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.7795 - accuracy: 0.7072 +54/92 [================>.............] - ETA: 2s - loss: 0.8989 - accuracy: 0.6545 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.7789 - accuracy: 0.7080 +55/92 [================>.............] - ETA: 2s - loss: 0.9012 - accuracy: 0.6523 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.7770 - accuracy: 0.7081 +56/92 [=================>............] - ETA: 2s - loss: 0.9044 - accuracy: 0.6512 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.7789 - accuracy: 0.7056 +57/92 [=================>............] - ETA: 2s - loss: 0.9028 - accuracy: 0.6530 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.7809 - accuracy: 0.7059 +58/92 [=================>............] - ETA: 1s - loss: 0.9081 - accuracy: 0.6514 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.7800 - accuracy: 0.7071 +59/92 [==================>...........] - ETA: 1s - loss: 0.9063 - accuracy: 0.6515 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.7785 - accuracy: 0.7088 +60/92 [==================>...........] - ETA: 1s - loss: 0.9033 - accuracy: 0.6536 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.7782 - accuracy: 0.7085 +61/92 [==================>...........] - ETA: 1s - loss: 0.9079 - accuracy: 0.6506 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.7784 - accuracy: 0.7082 +62/92 [===================>..........] - ETA: 1s - loss: 0.9081 - accuracy: 0.6507 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.7779 - accuracy: 0.7083 +63/92 [===================>..........] - ETA: 1s - loss: 0.9059 - accuracy: 0.6518 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.7796 - accuracy: 0.7090 +64/92 [===================>..........] - ETA: 1s - loss: 0.9039 - accuracy: 0.6509 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.7810 - accuracy: 0.7067 +65/92 [====================>.........] - ETA: 1s - loss: 0.9062 - accuracy: 0.6495 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.7796 - accuracy: 0.7069 +66/92 [====================>.........] - ETA: 1s - loss: 0.9062 - accuracy: 0.6501 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.7797 - accuracy: 0.7085 +67/92 [====================>.........] - ETA: 1s - loss: 0.9043 - accuracy: 0.6488 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.7767 - accuracy: 0.7100 +68/92 [=====================>........] - ETA: 1s - loss: 0.9044 - accuracy: 0.6494 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.7788 - accuracy: 0.7101 +69/92 [=====================>........] - ETA: 1s - loss: 0.9044 - accuracy: 0.6495 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.7799 - accuracy: 0.7107 +70/92 [=====================>........] - ETA: 1s - loss: 0.9053 - accuracy: 0.6496 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.7791 - accuracy: 0.7112 +71/92 [======================>.......] - ETA: 1s - loss: 0.9019 - accuracy: 0.6514 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.7787 - accuracy: 0.7118 +72/92 [======================>.......] - ETA: 1s - loss: 0.9011 - accuracy: 0.6528 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.7769 - accuracy: 0.7123 +73/92 [======================>.......] - ETA: 1s - loss: 0.9018 - accuracy: 0.6528 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.7788 - accuracy: 0.7115 +74/92 [=======================>......] - ETA: 1s - loss: 0.9024 - accuracy: 0.6533 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.7791 - accuracy: 0.7116 +75/92 [=======================>......] - ETA: 0s - loss: 0.9009 - accuracy: 0.6546 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.7799 - accuracy: 0.7109 +76/92 [=======================>......] - ETA: 0s - loss: 0.9038 - accuracy: 0.6517 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.7783 - accuracy: 0.7118 +77/92 [========================>.....] - ETA: 0s - loss: 0.9029 - accuracy: 0.6526 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.7791 - accuracy: 0.7115 +79/92 [========================>.....] - ETA: 0s - loss: 0.9031 - accuracy: 0.6532 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.7828 - accuracy: 0.7096 +80/92 [=========================>....] - ETA: 0s - loss: 0.9024 - accuracy: 0.6532 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.7833 - accuracy: 0.7094 +81/92 [=========================>....] - ETA: 0s - loss: 0.9035 - accuracy: 0.6521 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.7866 - accuracy: 0.7068 +82/92 [=========================>....] - ETA: 0s - loss: 0.9061 - accuracy: 0.6506 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.7864 - accuracy: 0.7069 +83/92 [==========================>...] - ETA: 0s - loss: 0.9040 - accuracy: 0.6503 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.7894 - accuracy: 0.7052 +84/92 [==========================>...] - ETA: 0s - loss: 0.9017 - accuracy: 0.6504 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.7870 - accuracy: 0.7061 +85/92 [==========================>...] - ETA: 0s - loss: 0.9030 - accuracy: 0.6497 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.7859 - accuracy: 0.7070 +86/92 [===========================>..] - ETA: 0s - loss: 0.9042 - accuracy: 0.6487 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.7847 - accuracy: 0.7075 +87/92 [===========================>..] - ETA: 0s - loss: 0.9049 - accuracy: 0.6491 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.7860 - accuracy: 0.7062 +88/92 [===========================>..] - ETA: 0s - loss: 0.9035 - accuracy: 0.6499 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.7849 - accuracy: 0.7067 +89/92 [============================>.] - ETA: 0s - loss: 0.9008 - accuracy: 0.6514 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.7823 - accuracy: 0.7072 +90/92 [============================>.] - ETA: 0s - loss: 0.9014 - accuracy: 0.6518 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.7810 - accuracy: 0.7073 +91/92 [============================>.] - ETA: 0s - loss: 0.9004 - accuracy: 0.6515 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.7821 - accuracy: 0.7074 +92/92 [==============================] - ETA: 0s - loss: 0.9002 - accuracy: 0.6516 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.7821 - accuracy: 0.7074 - val_loss: 0.7956 - val_accuracy: 0.6907 +92/92 [==============================] - 6s 64ms/step - loss: 0.9002 - accuracy: 0.6516 - val_loss: 0.8861 - val_accuracy: 0.6512 .. parsed-literal:: @@ -2736,462 +2890,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 6s - loss: 0.5259 - accuracy: 0.8125 + 1/92 [..............................] - ETA: 7s - loss: 0.7376 - accuracy: 0.7812 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.6810 - accuracy: 0.7344 + 2/92 [..............................] - ETA: 5s - loss: 0.8019 - accuracy: 0.6562 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.6532 - accuracy: 0.7708 + 3/92 [..............................] - ETA: 5s - loss: 0.7662 - accuracy: 0.6875 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.6841 - accuracy: 0.7578 + 4/92 [>.............................] - ETA: 5s - loss: 0.8261 - accuracy: 0.6797 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.7076 - accuracy: 0.7437 + 5/92 [>.............................] - ETA: 5s - loss: 0.8438 - accuracy: 0.6438 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.7284 - accuracy: 0.7292 + 6/92 [>.............................] - ETA: 5s - loss: 0.8973 - accuracy: 0.6198 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.7835 - accuracy: 0.6964 + 7/92 [=>............................] - ETA: 5s - loss: 0.8784 - accuracy: 0.6339 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.7509 - accuracy: 0.7109 + 8/92 [=>............................] - ETA: 4s - loss: 0.8579 - accuracy: 0.6445 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.7550 - accuracy: 0.7188 + 9/92 [=>............................] - ETA: 4s - loss: 0.8367 - accuracy: 0.6562 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.7711 - accuracy: 0.7063 +10/92 [==>...........................] - ETA: 4s - loss: 0.8337 - accuracy: 0.6625 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.7442 - accuracy: 0.7216 +11/92 [==>...........................] - ETA: 4s - loss: 0.8314 - accuracy: 0.6676 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.7518 - accuracy: 0.7292 +12/92 [==>...........................] - ETA: 4s - loss: 0.8254 - accuracy: 0.6745 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.7561 - accuracy: 0.7236 +13/92 [===>..........................] - ETA: 4s - loss: 0.8425 - accuracy: 0.6635 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.7499 - accuracy: 0.7246 +14/92 [===>..........................] - ETA: 4s - loss: 0.8482 - accuracy: 0.6607 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.7461 - accuracy: 0.7282 +15/92 [===>..........................] - ETA: 4s - loss: 0.8387 - accuracy: 0.6667 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.7449 - accuracy: 0.7276 +16/92 [====>.........................] - ETA: 4s - loss: 0.8313 - accuracy: 0.6660 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.7416 - accuracy: 0.7236 +17/92 [====>.........................] - ETA: 4s - loss: 0.8200 - accuracy: 0.6710 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.7333 - accuracy: 0.7283 +18/92 [====>.........................] - ETA: 4s - loss: 0.8306 - accuracy: 0.6649 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.7369 - accuracy: 0.7263 +19/92 [=====>........................] - ETA: 4s - loss: 0.8374 - accuracy: 0.6612 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.7392 - accuracy: 0.7229 +20/92 [=====>........................] - ETA: 4s - loss: 0.8466 - accuracy: 0.6594 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.7365 - accuracy: 0.7227 +21/92 [=====>........................] - ETA: 4s - loss: 0.8448 - accuracy: 0.6577 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.7411 - accuracy: 0.7225 +22/92 [======>.......................] - ETA: 4s - loss: 0.8360 - accuracy: 0.6619 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.7425 - accuracy: 0.7211 +23/92 [======>.......................] - ETA: 4s - loss: 0.8271 - accuracy: 0.6671 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.7413 - accuracy: 0.7222 +24/92 [======>.......................] - ETA: 3s - loss: 0.8202 - accuracy: 0.6732 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.7361 - accuracy: 0.7233 +25/92 [=======>......................] - ETA: 3s - loss: 0.8271 - accuracy: 0.6762 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.7333 - accuracy: 0.7231 +26/92 [=======>......................] - ETA: 3s - loss: 0.8231 - accuracy: 0.6755 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.7304 - accuracy: 0.7230 +27/92 [=======>......................] - ETA: 3s - loss: 0.8248 - accuracy: 0.6736 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.7243 - accuracy: 0.7250 +28/92 [========>.....................] - ETA: 3s - loss: 0.8303 - accuracy: 0.6741 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.7290 - accuracy: 0.7237 +29/92 [========>.....................] - ETA: 3s - loss: 0.8456 - accuracy: 0.6659 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.7319 - accuracy: 0.7236 +30/92 [========>.....................] - ETA: 3s - loss: 0.8445 - accuracy: 0.6677 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.7240 - accuracy: 0.7274 +31/92 [=========>....................] - ETA: 3s - loss: 0.8365 - accuracy: 0.6734 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.7212 - accuracy: 0.7290 +32/92 [=========>....................] - ETA: 3s - loss: 0.8398 - accuracy: 0.6758 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.7181 - accuracy: 0.7287 +33/92 [=========>....................] - ETA: 3s - loss: 0.8439 - accuracy: 0.6752 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.7166 - accuracy: 0.7302 +34/92 [==========>...................] - ETA: 3s - loss: 0.8499 - accuracy: 0.6737 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.7104 - accuracy: 0.7343 +35/92 [==========>...................] - ETA: 3s - loss: 0.8491 - accuracy: 0.6750 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.7107 - accuracy: 0.7355 +36/92 [==========>...................] - ETA: 3s - loss: 0.8461 - accuracy: 0.6771 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.7034 - accuracy: 0.7392 +37/92 [===========>..................] - ETA: 3s - loss: 0.8472 - accuracy: 0.6748 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.7021 - accuracy: 0.7395 +38/92 [===========>..................] - ETA: 3s - loss: 0.8525 - accuracy: 0.6719 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.7043 - accuracy: 0.7382 +39/92 [===========>..................] - ETA: 3s - loss: 0.8485 - accuracy: 0.6723 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.7039 - accuracy: 0.7362 +40/92 [============>.................] - ETA: 3s - loss: 0.8532 - accuracy: 0.6703 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.7067 - accuracy: 0.7373 +41/92 [============>.................] - ETA: 2s - loss: 0.8519 - accuracy: 0.6707 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.7059 - accuracy: 0.7376 +42/92 [============>.................] - ETA: 2s - loss: 0.8528 - accuracy: 0.6704 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.7084 - accuracy: 0.7371 +43/92 [=============>................] - ETA: 2s - loss: 0.8500 - accuracy: 0.6708 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.7206 - accuracy: 0.7311 +44/92 [=============>................] - ETA: 2s - loss: 0.8484 - accuracy: 0.6726 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.7171 - accuracy: 0.7322 +45/92 [=============>................] - ETA: 2s - loss: 0.8451 - accuracy: 0.6757 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.7173 - accuracy: 0.7320 +46/92 [==============>...............] - ETA: 2s - loss: 0.8471 - accuracy: 0.6732 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.7160 - accuracy: 0.7330 +47/92 [==============>...............] - ETA: 2s - loss: 0.8485 - accuracy: 0.6729 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.7152 - accuracy: 0.7333 +48/92 [==============>...............] - ETA: 2s - loss: 0.8485 - accuracy: 0.6719 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.7160 - accuracy: 0.7337 +49/92 [==============>...............] - ETA: 2s - loss: 0.8500 - accuracy: 0.6728 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.7235 - accuracy: 0.7303 +50/92 [===============>..............] - ETA: 2s - loss: 0.8477 - accuracy: 0.6744 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.7200 - accuracy: 0.7331 +51/92 [===============>..............] - ETA: 2s - loss: 0.8469 - accuracy: 0.6740 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.7276 - accuracy: 0.7316 +52/92 [===============>..............] - ETA: 2s - loss: 0.8459 - accuracy: 0.6755 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.7316 - accuracy: 0.7297 +53/92 [================>.............] - ETA: 2s - loss: 0.8441 - accuracy: 0.6763 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.7338 - accuracy: 0.7277 +54/92 [================>.............] - ETA: 2s - loss: 0.8458 - accuracy: 0.6748 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.7332 - accuracy: 0.7270 +55/92 [================>.............] - ETA: 2s - loss: 0.8429 - accuracy: 0.6750 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.7309 - accuracy: 0.7285 +56/92 [=================>............] - ETA: 2s - loss: 0.8460 - accuracy: 0.6724 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.7302 - accuracy: 0.7284 +57/92 [=================>............] - ETA: 2s - loss: 0.8432 - accuracy: 0.6732 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.7292 - accuracy: 0.7303 +58/92 [=================>............] - ETA: 1s - loss: 0.8427 - accuracy: 0.6730 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.7316 - accuracy: 0.7296 +59/92 [==================>...........] - ETA: 1s - loss: 0.8456 - accuracy: 0.6706 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.7343 - accuracy: 0.7269 +60/92 [==================>...........] - ETA: 1s - loss: 0.8450 - accuracy: 0.6698 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.7400 - accuracy: 0.7247 +61/92 [==================>...........] - ETA: 1s - loss: 0.8427 - accuracy: 0.6711 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.7407 - accuracy: 0.7236 +62/92 [===================>..........] - ETA: 1s - loss: 0.8430 - accuracy: 0.6719 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.7397 - accuracy: 0.7230 +63/92 [===================>..........] - ETA: 1s - loss: 0.8443 - accuracy: 0.6701 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.7405 - accuracy: 0.7220 +64/92 [===================>..........] - ETA: 1s - loss: 0.8467 - accuracy: 0.6699 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.7435 - accuracy: 0.7196 +65/92 [====================>.........] - ETA: 1s - loss: 0.8466 - accuracy: 0.6692 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.7468 - accuracy: 0.7186 +66/92 [====================>.........] - ETA: 1s - loss: 0.8451 - accuracy: 0.6695 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.7461 - accuracy: 0.7182 +67/92 [====================>.........] - ETA: 1s - loss: 0.8464 - accuracy: 0.6679 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.7459 - accuracy: 0.7182 +68/92 [=====================>........] - ETA: 1s - loss: 0.8453 - accuracy: 0.6682 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.7456 - accuracy: 0.7177 +69/92 [=====================>........] - ETA: 1s - loss: 0.8421 - accuracy: 0.6694 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.7468 - accuracy: 0.7164 +70/92 [=====================>........] - ETA: 1s - loss: 0.8406 - accuracy: 0.6696 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.7508 - accuracy: 0.7147 +71/92 [======================>.......] - ETA: 1s - loss: 0.8443 - accuracy: 0.6673 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.7517 - accuracy: 0.7143 +72/92 [======================>.......] - ETA: 1s - loss: 0.8451 - accuracy: 0.6658 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.7538 - accuracy: 0.7131 +73/92 [======================>.......] - ETA: 1s - loss: 0.8436 - accuracy: 0.6648 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.7568 - accuracy: 0.7111 +74/92 [=======================>......] - ETA: 1s - loss: 0.8403 - accuracy: 0.6660 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.7555 - accuracy: 0.7120 +75/92 [=======================>......] - ETA: 0s - loss: 0.8419 - accuracy: 0.6662 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.7541 - accuracy: 0.7134 +76/92 [=======================>......] - ETA: 0s - loss: 0.8418 - accuracy: 0.6665 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.7545 - accuracy: 0.7134 +77/92 [========================>.....] - ETA: 0s - loss: 0.8434 - accuracy: 0.6668 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.7556 - accuracy: 0.7127 +78/92 [========================>.....] - ETA: 0s - loss: 0.8415 - accuracy: 0.6679 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.7560 - accuracy: 0.7132 +79/92 [========================>.....] - ETA: 0s - loss: 0.8398 - accuracy: 0.6689 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.7551 - accuracy: 0.7148 +80/92 [=========================>....] - ETA: 0s - loss: 0.8380 - accuracy: 0.6707 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.7565 - accuracy: 0.7129 +81/92 [=========================>....] - ETA: 0s - loss: 0.8374 - accuracy: 0.6709 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.7572 - accuracy: 0.7130 +82/92 [=========================>....] - ETA: 0s - loss: 0.8344 - accuracy: 0.6711 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.7562 - accuracy: 0.7131 +84/92 [==========================>...] - ETA: 0s - loss: 0.8336 - accuracy: 0.6720 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.7581 - accuracy: 0.7120 +85/92 [==========================>...] - ETA: 0s - loss: 0.8384 - accuracy: 0.6700 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.7602 - accuracy: 0.7114 +86/92 [===========================>..] - ETA: 0s - loss: 0.8382 - accuracy: 0.6709 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.7630 - accuracy: 0.7097 +87/92 [===========================>..] - ETA: 0s - loss: 0.8397 - accuracy: 0.6711 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.7602 - accuracy: 0.7112 +88/92 [===========================>..] - ETA: 0s - loss: 0.8417 - accuracy: 0.6717 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.7615 - accuracy: 0.7113 +89/92 [============================>.] - ETA: 0s - loss: 0.8452 - accuracy: 0.6697 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.7615 - accuracy: 0.7114 +90/92 [============================>.] - ETA: 0s - loss: 0.8454 - accuracy: 0.6703 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.7614 - accuracy: 0.7125 +91/92 [============================>.] - ETA: 0s - loss: 0.8470 - accuracy: 0.6708 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.7639 - accuracy: 0.7112 +92/92 [==============================] - ETA: 0s - loss: 0.8468 - accuracy: 0.6703 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.7639 - accuracy: 0.7112 - val_loss: 0.7952 - val_accuracy: 0.6744 +92/92 [==============================] - 6s 64ms/step - loss: 0.8468 - accuracy: 0.6703 - val_loss: 0.8756 - val_accuracy: 0.6553 .. parsed-literal:: @@ -3202,462 +3356,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.9636 - accuracy: 0.6250 + 1/92 [..............................] - ETA: 6s - loss: 0.6264 - accuracy: 0.7812 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.9083 - accuracy: 0.6406 + 2/92 [..............................] - ETA: 5s - loss: 0.6836 - accuracy: 0.7500 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.7801 - accuracy: 0.6979 + 3/92 [..............................] - ETA: 5s - loss: 0.6947 - accuracy: 0.7396 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.7920 - accuracy: 0.6875 + 4/92 [>.............................] - ETA: 5s - loss: 0.7650 - accuracy: 0.6875 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.7895 - accuracy: 0.6875 + 5/92 [>.............................] - ETA: 5s - loss: 0.7629 - accuracy: 0.6687 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.7849 - accuracy: 0.6927 + 6/92 [>.............................] - ETA: 4s - loss: 0.7479 - accuracy: 0.6719 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.8100 - accuracy: 0.6964 + 7/92 [=>............................] - ETA: 4s - loss: 0.7367 - accuracy: 0.6830 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.7832 - accuracy: 0.7109 + 8/92 [=>............................] - ETA: 4s - loss: 0.7399 - accuracy: 0.6875 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.7856 - accuracy: 0.7118 + 9/92 [=>............................] - ETA: 4s - loss: 0.7255 - accuracy: 0.6944 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.7685 - accuracy: 0.7188 +10/92 [==>...........................] - ETA: 4s - loss: 0.7219 - accuracy: 0.7000 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.7446 - accuracy: 0.7301 +11/92 [==>...........................] - ETA: 4s - loss: 0.7231 - accuracy: 0.7017 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.7175 - accuracy: 0.7422 +12/92 [==>...........................] - ETA: 4s - loss: 0.7262 - accuracy: 0.6979 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.7149 - accuracy: 0.7452 +13/92 [===>..........................] - ETA: 4s - loss: 0.7422 - accuracy: 0.6995 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.7050 - accuracy: 0.7478 +14/92 [===>..........................] - ETA: 4s - loss: 0.7450 - accuracy: 0.6987 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.7073 - accuracy: 0.7479 +15/92 [===>..........................] - ETA: 4s - loss: 0.7604 - accuracy: 0.6917 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.7272 - accuracy: 0.7363 +16/92 [====>.........................] - ETA: 4s - loss: 0.7630 - accuracy: 0.6914 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.7160 - accuracy: 0.7371 +17/92 [====>.........................] - ETA: 4s - loss: 0.7670 - accuracy: 0.6857 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.7210 - accuracy: 0.7309 +18/92 [====>.........................] - ETA: 4s - loss: 0.7710 - accuracy: 0.6875 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.7214 - accuracy: 0.7352 +19/92 [=====>........................] - ETA: 4s - loss: 0.7752 - accuracy: 0.6842 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.7259 - accuracy: 0.7312 +20/92 [=====>........................] - ETA: 4s - loss: 0.7717 - accuracy: 0.6906 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.7191 - accuracy: 0.7321 +21/92 [=====>........................] - ETA: 4s - loss: 0.7747 - accuracy: 0.6935 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.7161 - accuracy: 0.7301 +22/92 [======>.......................] - ETA: 4s - loss: 0.7742 - accuracy: 0.6946 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.7124 - accuracy: 0.7310 +23/92 [======>.......................] - ETA: 3s - loss: 0.7775 - accuracy: 0.6957 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.7126 - accuracy: 0.7279 +24/92 [======>.......................] - ETA: 3s - loss: 0.7746 - accuracy: 0.6966 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.7065 - accuracy: 0.7325 +25/92 [=======>......................] - ETA: 3s - loss: 0.7811 - accuracy: 0.6963 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.7084 - accuracy: 0.7308 +26/92 [=======>......................] - ETA: 3s - loss: 0.7955 - accuracy: 0.6911 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.7033 - accuracy: 0.7315 +27/92 [=======>......................] - ETA: 3s - loss: 0.7988 - accuracy: 0.6921 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.7063 - accuracy: 0.7277 +28/92 [========>.....................] - ETA: 3s - loss: 0.7998 - accuracy: 0.6897 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.7023 - accuracy: 0.7274 +29/92 [========>.....................] - ETA: 3s - loss: 0.7936 - accuracy: 0.6929 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.6984 - accuracy: 0.7292 +30/92 [========>.....................] - ETA: 3s - loss: 0.7915 - accuracy: 0.6958 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.6987 - accuracy: 0.7278 +31/92 [=========>....................] - ETA: 3s - loss: 0.7968 - accuracy: 0.6946 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.7093 - accuracy: 0.7227 +32/92 [=========>....................] - ETA: 3s - loss: 0.8040 - accuracy: 0.6924 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.7059 - accuracy: 0.7254 +33/92 [=========>....................] - ETA: 3s - loss: 0.8010 - accuracy: 0.6932 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.6989 - accuracy: 0.7298 +34/92 [==========>...................] - ETA: 3s - loss: 0.7984 - accuracy: 0.6958 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.6994 - accuracy: 0.7312 +35/92 [==========>...................] - ETA: 3s - loss: 0.7943 - accuracy: 0.6982 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.7021 - accuracy: 0.7309 +36/92 [==========>...................] - ETA: 3s - loss: 0.7935 - accuracy: 0.6997 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.7004 - accuracy: 0.7314 +37/92 [===========>..................] - ETA: 3s - loss: 0.7985 - accuracy: 0.6993 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.7004 - accuracy: 0.7311 +38/92 [===========>..................] - ETA: 3s - loss: 0.8004 - accuracy: 0.6982 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.7057 - accuracy: 0.7276 +39/92 [===========>..................] - ETA: 3s - loss: 0.7993 - accuracy: 0.6987 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.7024 - accuracy: 0.7297 +40/92 [============>.................] - ETA: 3s - loss: 0.8016 - accuracy: 0.6969 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.7071 - accuracy: 0.7271 +41/92 [============>.................] - ETA: 2s - loss: 0.7994 - accuracy: 0.6974 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.7082 - accuracy: 0.7269 +42/92 [============>.................] - ETA: 2s - loss: 0.7999 - accuracy: 0.6964 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.7072 - accuracy: 0.7282 +43/92 [=============>................] - ETA: 2s - loss: 0.8057 - accuracy: 0.6962 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.7054 - accuracy: 0.7287 +44/92 [=============>................] - ETA: 2s - loss: 0.8052 - accuracy: 0.6967 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.7071 - accuracy: 0.7299 +45/92 [=============>................] - ETA: 2s - loss: 0.8028 - accuracy: 0.6972 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.7043 - accuracy: 0.7317 +46/92 [==============>...............] - ETA: 2s - loss: 0.8059 - accuracy: 0.6957 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.7034 - accuracy: 0.7320 +47/92 [==============>...............] - ETA: 2s - loss: 0.8029 - accuracy: 0.6961 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.6984 - accuracy: 0.7331 +48/92 [==============>...............] - ETA: 2s - loss: 0.8031 - accuracy: 0.6960 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.7049 - accuracy: 0.7309 +49/92 [==============>...............] - ETA: 2s - loss: 0.7996 - accuracy: 0.6971 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.7024 - accuracy: 0.7319 +50/92 [===============>..............] - ETA: 2s - loss: 0.7977 - accuracy: 0.6981 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.7011 - accuracy: 0.7341 +51/92 [===============>..............] - ETA: 2s - loss: 0.8009 - accuracy: 0.6961 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.7025 - accuracy: 0.7350 +52/92 [===============>..............] - ETA: 2s - loss: 0.8005 - accuracy: 0.6953 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.7032 - accuracy: 0.7358 +53/92 [================>.............] - ETA: 2s - loss: 0.8015 - accuracy: 0.6963 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.7029 - accuracy: 0.7367 +54/92 [================>.............] - ETA: 2s - loss: 0.8041 - accuracy: 0.6956 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.7054 - accuracy: 0.7341 +55/92 [================>.............] - ETA: 2s - loss: 0.8068 - accuracy: 0.6938 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.7026 - accuracy: 0.7349 +56/92 [=================>............] - ETA: 2s - loss: 0.8128 - accuracy: 0.6914 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.7042 - accuracy: 0.7341 +57/92 [=================>............] - ETA: 2s - loss: 0.8190 - accuracy: 0.6870 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.7071 - accuracy: 0.7311 +58/92 [=================>............] - ETA: 1s - loss: 0.8181 - accuracy: 0.6870 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.7123 - accuracy: 0.7288 +60/92 [==================>...........] - ETA: 1s - loss: 0.8184 - accuracy: 0.6867 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.7103 - accuracy: 0.7292 +61/92 [==================>...........] - ETA: 1s - loss: 0.8173 - accuracy: 0.6872 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.7111 - accuracy: 0.7300 +62/92 [===================>..........] - ETA: 1s - loss: 0.8147 - accuracy: 0.6888 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.7075 - accuracy: 0.7314 +63/92 [===================>..........] - ETA: 1s - loss: 0.8145 - accuracy: 0.6877 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.7080 - accuracy: 0.7302 +64/92 [===================>..........] - ETA: 1s - loss: 0.8142 - accuracy: 0.6873 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.7108 - accuracy: 0.7285 +65/92 [====================>.........] - ETA: 1s - loss: 0.8139 - accuracy: 0.6863 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.7126 - accuracy: 0.7269 +66/92 [====================>.........] - ETA: 1s - loss: 0.8131 - accuracy: 0.6863 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.7159 - accuracy: 0.7273 +67/92 [====================>.........] - ETA: 1s - loss: 0.8115 - accuracy: 0.6877 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.7148 - accuracy: 0.7267 +68/92 [=====================>........] - ETA: 1s - loss: 0.8116 - accuracy: 0.6868 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.7123 - accuracy: 0.7275 +69/92 [=====================>........] - ETA: 1s - loss: 0.8075 - accuracy: 0.6886 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.7158 - accuracy: 0.7255 +70/92 [=====================>........] - ETA: 1s - loss: 0.8098 - accuracy: 0.6877 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.7161 - accuracy: 0.7254 +71/92 [======================>.......] - ETA: 1s - loss: 0.8080 - accuracy: 0.6886 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.7149 - accuracy: 0.7252 +72/92 [======================>.......] - ETA: 1s - loss: 0.8115 - accuracy: 0.6860 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.7120 - accuracy: 0.7259 +73/92 [======================>.......] - ETA: 1s - loss: 0.8074 - accuracy: 0.6864 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.7105 - accuracy: 0.7267 +74/92 [=======================>......] - ETA: 1s - loss: 0.8086 - accuracy: 0.6873 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.7126 - accuracy: 0.7258 +75/92 [=======================>......] - ETA: 0s - loss: 0.8111 - accuracy: 0.6848 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.7162 - accuracy: 0.7236 +76/92 [=======================>......] - ETA: 0s - loss: 0.8099 - accuracy: 0.6852 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.7144 - accuracy: 0.7239 +77/92 [========================>.....] - ETA: 0s - loss: 0.8094 - accuracy: 0.6853 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.7134 - accuracy: 0.7251 +78/92 [========================>.....] - ETA: 0s - loss: 0.8082 - accuracy: 0.6849 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.7143 - accuracy: 0.7250 +79/92 [========================>.....] - ETA: 0s - loss: 0.8071 - accuracy: 0.6853 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.7147 - accuracy: 0.7249 +80/92 [=========================>....] - ETA: 0s - loss: 0.8077 - accuracy: 0.6857 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.7174 - accuracy: 0.7248 +81/92 [=========================>....] - ETA: 0s - loss: 0.8084 - accuracy: 0.6850 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.7177 - accuracy: 0.7244 +82/92 [=========================>....] - ETA: 0s - loss: 0.8135 - accuracy: 0.6827 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.7171 - accuracy: 0.7247 +83/92 [==========================>...] - ETA: 0s - loss: 0.8137 - accuracy: 0.6824 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.7166 - accuracy: 0.7243 +84/92 [==========================>...] - ETA: 0s - loss: 0.8151 - accuracy: 0.6813 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.7137 - accuracy: 0.7257 +85/92 [==========================>...] - ETA: 0s - loss: 0.8135 - accuracy: 0.6825 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.7127 - accuracy: 0.7252 +86/92 [===========================>..] - ETA: 0s - loss: 0.8145 - accuracy: 0.6826 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.7127 - accuracy: 0.7251 +87/92 [===========================>..] - ETA: 0s - loss: 0.8161 - accuracy: 0.6812 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.7157 - accuracy: 0.7247 +88/92 [===========================>..] - ETA: 0s - loss: 0.8168 - accuracy: 0.6813 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.7150 - accuracy: 0.7257 +89/92 [============================>.] - ETA: 0s - loss: 0.8165 - accuracy: 0.6810 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.7155 - accuracy: 0.7246 +90/92 [============================>.] - ETA: 0s - loss: 0.8168 - accuracy: 0.6818 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.7126 - accuracy: 0.7252 +91/92 [============================>.] - ETA: 0s - loss: 0.8162 - accuracy: 0.6825 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.7125 - accuracy: 0.7251 +92/92 [==============================] - ETA: 0s - loss: 0.8148 - accuracy: 0.6832 .. parsed-literal::  -92/92 [==============================] - 6s 63ms/step - loss: 0.7125 - accuracy: 0.7251 - val_loss: 0.7162 - val_accuracy: 0.7248 +92/92 [==============================] - 6s 63ms/step - loss: 0.8148 - accuracy: 0.6832 - val_loss: 0.7976 - val_accuracy: 0.6689 .. parsed-literal:: @@ -3668,462 +3822,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.5581 - accuracy: 0.8438 + 1/92 [..............................] - ETA: 7s - loss: 0.7238 - accuracy: 0.7188 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.6446 - accuracy: 0.7656 + 2/92 [..............................] - ETA: 5s - loss: 0.6960 - accuracy: 0.7500 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.7033 - accuracy: 0.7396 + 3/92 [..............................] - ETA: 5s - loss: 0.7456 - accuracy: 0.7500 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.7630 - accuracy: 0.7109 + 5/92 [>.............................] - ETA: 4s - loss: 0.8287 - accuracy: 0.7105 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.7291 - accuracy: 0.7250 + 6/92 [>.............................] - ETA: 4s - loss: 0.7804 - accuracy: 0.7228 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.7279 - accuracy: 0.7240 + 7/92 [=>............................] - ETA: 4s - loss: 0.7723 - accuracy: 0.7176 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.7209 - accuracy: 0.7232 + 8/92 [=>............................] - ETA: 4s - loss: 0.7302 - accuracy: 0.7379 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.6963 - accuracy: 0.7266 + 9/92 [=>............................] - ETA: 4s - loss: 0.7499 - accuracy: 0.7286 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.6854 - accuracy: 0.7396 +10/92 [==>...........................] - ETA: 4s - loss: 0.7572 - accuracy: 0.7212 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.6670 - accuracy: 0.7500 +11/92 [==>...........................] - ETA: 4s - loss: 0.7766 - accuracy: 0.7122 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.6627 - accuracy: 0.7528 +12/92 [==>...........................] - ETA: 4s - loss: 0.7523 - accuracy: 0.7234 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.6783 - accuracy: 0.7474 +13/92 [===>..........................] - ETA: 4s - loss: 0.7439 - accuracy: 0.7304 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.6823 - accuracy: 0.7404 +14/92 [===>..........................] - ETA: 4s - loss: 0.7451 - accuracy: 0.7250 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.6710 - accuracy: 0.7388 +15/92 [===>..........................] - ETA: 4s - loss: 0.7425 - accuracy: 0.7267 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.6574 - accuracy: 0.7437 +16/92 [====>.........................] - ETA: 4s - loss: 0.7410 - accuracy: 0.7262 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.6521 - accuracy: 0.7441 +17/92 [====>.........................] - ETA: 4s - loss: 0.7452 - accuracy: 0.7220 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.6599 - accuracy: 0.7445 +18/92 [====>.........................] - ETA: 4s - loss: 0.7387 - accuracy: 0.7254 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.6677 - accuracy: 0.7396 +19/92 [=====>........................] - ETA: 4s - loss: 0.7468 - accuracy: 0.7133 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.6584 - accuracy: 0.7434 +20/92 [=====>........................] - ETA: 4s - loss: 0.7516 - accuracy: 0.7136 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.6603 - accuracy: 0.7422 +21/92 [=====>........................] - ETA: 4s - loss: 0.7829 - accuracy: 0.6973 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.6654 - accuracy: 0.7396 +22/92 [======>.......................] - ETA: 4s - loss: 0.7891 - accuracy: 0.6940 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.6753 - accuracy: 0.7344 +23/92 [======>.......................] - ETA: 3s - loss: 0.7870 - accuracy: 0.6964 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.6743 - accuracy: 0.7364 +24/92 [======>.......................] - ETA: 3s - loss: 0.7964 - accuracy: 0.6947 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.6789 - accuracy: 0.7331 +25/92 [=======>......................] - ETA: 3s - loss: 0.7866 - accuracy: 0.6970 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.6771 - accuracy: 0.7350 +26/92 [=======>......................] - ETA: 3s - loss: 0.7880 - accuracy: 0.6978 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.6825 - accuracy: 0.7308 +27/92 [=======>......................] - ETA: 3s - loss: 0.7870 - accuracy: 0.6998 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.6790 - accuracy: 0.7350 +28/92 [========>.....................] - ETA: 3s - loss: 0.7793 - accuracy: 0.7038 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.6770 - accuracy: 0.7355 +29/92 [========>.....................] - ETA: 3s - loss: 0.7790 - accuracy: 0.7065 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.6779 - accuracy: 0.7317 +30/92 [========>.....................] - ETA: 3s - loss: 0.7753 - accuracy: 0.7069 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.6757 - accuracy: 0.7354 +31/92 [=========>....................] - ETA: 3s - loss: 0.7794 - accuracy: 0.7043 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.6785 - accuracy: 0.7339 +32/92 [=========>....................] - ETA: 3s - loss: 0.7778 - accuracy: 0.7067 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.6766 - accuracy: 0.7344 +33/92 [=========>....................] - ETA: 3s - loss: 0.7690 - accuracy: 0.7090 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.6734 - accuracy: 0.7367 +34/92 [==========>...................] - ETA: 3s - loss: 0.7702 - accuracy: 0.7083 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.6699 - accuracy: 0.7399 +35/92 [==========>...................] - ETA: 3s - loss: 0.7670 - accuracy: 0.7077 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.6635 - accuracy: 0.7429 +36/92 [==========>...................] - ETA: 3s - loss: 0.7700 - accuracy: 0.7098 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.6601 - accuracy: 0.7439 +37/92 [===========>..................] - ETA: 3s - loss: 0.7703 - accuracy: 0.7109 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.6605 - accuracy: 0.7432 +38/92 [===========>..................] - ETA: 3s - loss: 0.7710 - accuracy: 0.7103 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.6638 - accuracy: 0.7410 +39/92 [===========>..................] - ETA: 3s - loss: 0.7732 - accuracy: 0.7081 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.6585 - accuracy: 0.7444 +40/92 [============>.................] - ETA: 3s - loss: 0.7725 - accuracy: 0.7099 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.6588 - accuracy: 0.7437 +41/92 [============>.................] - ETA: 2s - loss: 0.7691 - accuracy: 0.7109 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.6618 - accuracy: 0.7447 +42/92 [============>.................] - ETA: 2s - loss: 0.7689 - accuracy: 0.7096 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.6625 - accuracy: 0.7440 +43/92 [=============>................] - ETA: 2s - loss: 0.7684 - accuracy: 0.7105 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.6595 - accuracy: 0.7456 +44/92 [=============>................] - ETA: 2s - loss: 0.7658 - accuracy: 0.7129 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.6654 - accuracy: 0.7429 +45/92 [=============>................] - ETA: 2s - loss: 0.7679 - accuracy: 0.7116 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.6737 - accuracy: 0.7375 +46/92 [==============>...............] - ETA: 2s - loss: 0.7704 - accuracy: 0.7077 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.6708 - accuracy: 0.7378 +47/92 [==============>...............] - ETA: 2s - loss: 0.7701 - accuracy: 0.7086 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.6708 - accuracy: 0.7387 +48/92 [==============>...............] - ETA: 2s - loss: 0.7674 - accuracy: 0.7088 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.6719 - accuracy: 0.7396 +49/92 [==============>...............] - ETA: 2s - loss: 0.7658 - accuracy: 0.7090 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.6694 - accuracy: 0.7417 +50/92 [===============>..............] - ETA: 2s - loss: 0.7639 - accuracy: 0.7117 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.6721 - accuracy: 0.7377 +51/92 [===============>..............] - ETA: 2s - loss: 0.7641 - accuracy: 0.7112 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.6690 - accuracy: 0.7391 +52/92 [===============>..............] - ETA: 2s - loss: 0.7636 - accuracy: 0.7107 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.6640 - accuracy: 0.7417 +53/92 [================>.............] - ETA: 2s - loss: 0.7595 - accuracy: 0.7127 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.6672 - accuracy: 0.7401 +54/92 [================>.............] - ETA: 2s - loss: 0.7654 - accuracy: 0.7093 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.6716 - accuracy: 0.7386 +55/92 [================>.............] - ETA: 2s - loss: 0.7638 - accuracy: 0.7100 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.6668 - accuracy: 0.7416 +56/92 [=================>............] - ETA: 2s - loss: 0.7652 - accuracy: 0.7108 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.6656 - accuracy: 0.7417 +57/92 [=================>............] - ETA: 2s - loss: 0.7661 - accuracy: 0.7098 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.6651 - accuracy: 0.7419 +58/92 [=================>............] - ETA: 1s - loss: 0.7630 - accuracy: 0.7105 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.6625 - accuracy: 0.7436 +59/92 [==================>...........] - ETA: 1s - loss: 0.7630 - accuracy: 0.7096 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.6657 - accuracy: 0.7432 +60/92 [==================>...........] - ETA: 1s - loss: 0.7610 - accuracy: 0.7092 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.6652 - accuracy: 0.7428 +61/92 [==================>...........] - ETA: 1s - loss: 0.7629 - accuracy: 0.7083 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.6649 - accuracy: 0.7424 +62/92 [===================>..........] - ETA: 1s - loss: 0.7626 - accuracy: 0.7075 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.6657 - accuracy: 0.7405 +63/92 [===================>..........] - ETA: 1s - loss: 0.7682 - accuracy: 0.7062 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.6674 - accuracy: 0.7397 +64/92 [===================>..........] - ETA: 1s - loss: 0.7657 - accuracy: 0.7059 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.6649 - accuracy: 0.7413 +65/92 [====================>.........] - ETA: 1s - loss: 0.7649 - accuracy: 0.7056 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.6624 - accuracy: 0.7433 +66/92 [====================>.........] - ETA: 1s - loss: 0.7652 - accuracy: 0.7058 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.6634 - accuracy: 0.7439 +67/92 [====================>.........] - ETA: 1s - loss: 0.7662 - accuracy: 0.7055 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.6614 - accuracy: 0.7454 +68/92 [=====================>........] - ETA: 1s - loss: 0.7665 - accuracy: 0.7053 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.6606 - accuracy: 0.7468 +69/92 [=====================>........] - ETA: 1s - loss: 0.7670 - accuracy: 0.7041 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.6631 - accuracy: 0.7451 +70/92 [=====================>........] - ETA: 1s - loss: 0.7708 - accuracy: 0.7043 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.6641 - accuracy: 0.7443 +71/92 [======================>.......] - ETA: 1s - loss: 0.7739 - accuracy: 0.7041 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.6667 - accuracy: 0.7439 +72/92 [======================>.......] - ETA: 1s - loss: 0.7738 - accuracy: 0.7038 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.6679 - accuracy: 0.7436 +73/92 [======================>.......] - ETA: 1s - loss: 0.7722 - accuracy: 0.7040 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.6648 - accuracy: 0.7441 +74/92 [=======================>......] - ETA: 1s - loss: 0.7715 - accuracy: 0.7038 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.6643 - accuracy: 0.7433 +75/92 [=======================>......] - ETA: 0s - loss: 0.7732 - accuracy: 0.7036 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.6630 - accuracy: 0.7434 +76/92 [=======================>......] - ETA: 0s - loss: 0.7711 - accuracy: 0.7046 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.6650 - accuracy: 0.7423 +77/92 [========================>.....] - ETA: 0s - loss: 0.7713 - accuracy: 0.7048 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.6686 - accuracy: 0.7412 +78/92 [========================>.....] - ETA: 0s - loss: 0.7710 - accuracy: 0.7054 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.6679 - accuracy: 0.7417 +79/92 [========================>.....] - ETA: 0s - loss: 0.7702 - accuracy: 0.7056 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.6681 - accuracy: 0.7426 +80/92 [=========================>....] - ETA: 0s - loss: 0.7708 - accuracy: 0.7061 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.6656 - accuracy: 0.7430 +81/92 [=========================>....] - ETA: 0s - loss: 0.7702 - accuracy: 0.7067 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.6639 - accuracy: 0.7435 +82/92 [=========================>....] - ETA: 0s - loss: 0.7697 - accuracy: 0.7060 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.6623 - accuracy: 0.7447 +83/92 [==========================>...] - ETA: 0s - loss: 0.7708 - accuracy: 0.7054 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.6632 - accuracy: 0.7451 +84/92 [==========================>...] - ETA: 0s - loss: 0.7705 - accuracy: 0.7056 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.6643 - accuracy: 0.7448 +85/92 [==========================>...] - ETA: 0s - loss: 0.7713 - accuracy: 0.7043 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.6628 - accuracy: 0.7449 +86/92 [===========================>..] - ETA: 0s - loss: 0.7728 - accuracy: 0.7023 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.6647 - accuracy: 0.7446 +87/92 [===========================>..] - ETA: 0s - loss: 0.7723 - accuracy: 0.7032 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.6657 - accuracy: 0.7439 +88/92 [===========================>..] - ETA: 0s - loss: 0.7720 - accuracy: 0.7041 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.6687 - accuracy: 0.7430 +89/92 [============================>.] - ETA: 0s - loss: 0.7728 - accuracy: 0.7039 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.6678 - accuracy: 0.7444 +90/92 [============================>.] - ETA: 0s - loss: 0.7748 - accuracy: 0.7030 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.6687 - accuracy: 0.7435 +91/92 [============================>.] - ETA: 0s - loss: 0.7780 - accuracy: 0.7018 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.6669 - accuracy: 0.7442 +92/92 [==============================] - ETA: 0s - loss: 0.7789 - accuracy: 0.7023 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.6669 - accuracy: 0.7442 - val_loss: 0.7692 - val_accuracy: 0.6771 +92/92 [==============================] - 6s 64ms/step - loss: 0.7789 - accuracy: 0.7023 - val_loss: 0.8257 - val_accuracy: 0.6826 .. parsed-literal:: @@ -4134,462 +4288,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.4666 - accuracy: 0.8750 + 1/92 [..............................] - ETA: 7s - loss: 0.7737 - accuracy: 0.6875 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5074 - accuracy: 0.8125 + 2/92 [..............................] - ETA: 5s - loss: 0.6998 - accuracy: 0.6875 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.6037 - accuracy: 0.7292 + 3/92 [..............................] - ETA: 5s - loss: 0.7219 - accuracy: 0.6875 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.6106 - accuracy: 0.7344 + 4/92 [>.............................] - ETA: 5s - loss: 0.7040 - accuracy: 0.6953 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.6262 - accuracy: 0.7250 + 5/92 [>.............................] - ETA: 4s - loss: 0.6988 - accuracy: 0.7000 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.6256 - accuracy: 0.7448 + 6/92 [>.............................] - ETA: 4s - loss: 0.7033 - accuracy: 0.7031 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.6184 - accuracy: 0.7500 + 7/92 [=>............................] - ETA: 4s - loss: 0.7014 - accuracy: 0.7054 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.6006 - accuracy: 0.7500 + 8/92 [=>............................] - ETA: 4s - loss: 0.6923 - accuracy: 0.6992 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.5930 - accuracy: 0.7500 + 9/92 [=>............................] - ETA: 4s - loss: 0.7400 - accuracy: 0.6840 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5971 - accuracy: 0.7469 +10/92 [==>...........................] - ETA: 4s - loss: 0.7474 - accuracy: 0.6875 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.6612 - accuracy: 0.7188 +11/92 [==>...........................] - ETA: 4s - loss: 0.7315 - accuracy: 0.6960 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.6702 - accuracy: 0.7109 +12/92 [==>...........................] - ETA: 4s - loss: 0.7483 - accuracy: 0.6953 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.6750 - accuracy: 0.7115 +13/92 [===>..........................] - ETA: 4s - loss: 0.7540 - accuracy: 0.6947 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.6804 - accuracy: 0.7121 +14/92 [===>..........................] - ETA: 4s - loss: 0.7483 - accuracy: 0.6964 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.6854 - accuracy: 0.7208 +15/92 [===>..........................] - ETA: 4s - loss: 0.7436 - accuracy: 0.7021 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.6925 - accuracy: 0.7168 +16/92 [====>.........................] - ETA: 4s - loss: 0.7494 - accuracy: 0.7012 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.6867 - accuracy: 0.7224 +17/92 [====>.........................] - ETA: 4s - loss: 0.7471 - accuracy: 0.7022 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.6865 - accuracy: 0.7257 +18/92 [====>.........................] - ETA: 4s - loss: 0.7628 - accuracy: 0.6927 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.6822 - accuracy: 0.7286 +19/92 [=====>........................] - ETA: 4s - loss: 0.7589 - accuracy: 0.6957 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.6723 - accuracy: 0.7297 +20/92 [=====>........................] - ETA: 4s - loss: 0.7572 - accuracy: 0.6953 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.6809 - accuracy: 0.7292 +21/92 [=====>........................] - ETA: 4s - loss: 0.7487 - accuracy: 0.7009 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.6765 - accuracy: 0.7287 +22/92 [======>.......................] - ETA: 4s - loss: 0.7454 - accuracy: 0.7045 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.6683 - accuracy: 0.7310 +23/92 [======>.......................] - ETA: 4s - loss: 0.7385 - accuracy: 0.7120 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.6606 - accuracy: 0.7344 +24/92 [======>.......................] - ETA: 3s - loss: 0.7333 - accuracy: 0.7174 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.6633 - accuracy: 0.7325 +25/92 [=======>......................] - ETA: 3s - loss: 0.7299 - accuracy: 0.7188 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.6632 - accuracy: 0.7332 +26/92 [=======>......................] - ETA: 3s - loss: 0.7285 - accuracy: 0.7224 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.6571 - accuracy: 0.7361 +27/92 [=======>......................] - ETA: 3s - loss: 0.7258 - accuracy: 0.7199 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.6496 - accuracy: 0.7402 +28/92 [========>.....................] - ETA: 3s - loss: 0.7238 - accuracy: 0.7254 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.6536 - accuracy: 0.7395 +29/92 [========>.....................] - ETA: 3s - loss: 0.7281 - accuracy: 0.7263 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.6551 - accuracy: 0.7409 +30/92 [========>.....................] - ETA: 3s - loss: 0.7260 - accuracy: 0.7271 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.6531 - accuracy: 0.7411 +31/92 [=========>....................] - ETA: 3s - loss: 0.7353 - accuracy: 0.7258 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.6463 - accuracy: 0.7433 +32/92 [=========>....................] - ETA: 3s - loss: 0.7290 - accuracy: 0.7266 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.6405 - accuracy: 0.7444 +33/92 [=========>....................] - ETA: 3s - loss: 0.7266 - accuracy: 0.7273 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.6514 - accuracy: 0.7401 +34/92 [==========>...................] - ETA: 3s - loss: 0.7233 - accuracy: 0.7289 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.6462 - accuracy: 0.7430 +35/92 [==========>...................] - ETA: 3s - loss: 0.7190 - accuracy: 0.7304 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.6519 - accuracy: 0.7389 +36/92 [==========>...................] - ETA: 3s - loss: 0.7154 - accuracy: 0.7300 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.6589 - accuracy: 0.7359 +37/92 [===========>..................] - ETA: 3s - loss: 0.7150 - accuracy: 0.7331 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.6558 - accuracy: 0.7379 +38/92 [===========>..................] - ETA: 3s - loss: 0.7147 - accuracy: 0.7344 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.6556 - accuracy: 0.7382 +39/92 [===========>..................] - ETA: 3s - loss: 0.7127 - accuracy: 0.7372 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.6555 - accuracy: 0.7377 +40/92 [============>.................] - ETA: 3s - loss: 0.7139 - accuracy: 0.7367 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.6549 - accuracy: 0.7403 +41/92 [============>.................] - ETA: 2s - loss: 0.7199 - accuracy: 0.7340 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.6603 - accuracy: 0.7368 +43/92 [=============>................] - ETA: 2s - loss: 0.7243 - accuracy: 0.7339 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.6559 - accuracy: 0.7393 +44/92 [=============>................] - ETA: 2s - loss: 0.7293 - accuracy: 0.7321 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.6576 - accuracy: 0.7374 +45/92 [=============>................] - ETA: 2s - loss: 0.7308 - accuracy: 0.7304 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.6604 - accuracy: 0.7343 +46/92 [==============>...............] - ETA: 2s - loss: 0.7367 - accuracy: 0.7275 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.6591 - accuracy: 0.7340 +47/92 [==============>...............] - ETA: 2s - loss: 0.7397 - accuracy: 0.7253 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.6579 - accuracy: 0.7356 +48/92 [==============>...............] - ETA: 2s - loss: 0.7377 - accuracy: 0.7277 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.6563 - accuracy: 0.7372 +49/92 [==============>...............] - ETA: 2s - loss: 0.7324 - accuracy: 0.7288 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.6519 - accuracy: 0.7393 +50/92 [===============>..............] - ETA: 2s - loss: 0.7353 - accuracy: 0.7274 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.6505 - accuracy: 0.7395 +51/92 [===============>..............] - ETA: 2s - loss: 0.7405 - accuracy: 0.7254 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.6492 - accuracy: 0.7409 +52/92 [===============>..............] - ETA: 2s - loss: 0.7486 - accuracy: 0.7234 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.6489 - accuracy: 0.7423 +53/92 [================>.............] - ETA: 2s - loss: 0.7479 - accuracy: 0.7227 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.6449 - accuracy: 0.7453 +54/92 [================>.............] - ETA: 2s - loss: 0.7472 - accuracy: 0.7233 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.6403 - accuracy: 0.7477 +55/92 [================>.............] - ETA: 2s - loss: 0.7504 - accuracy: 0.7226 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.6427 - accuracy: 0.7472 +56/92 [=================>............] - ETA: 2s - loss: 0.7469 - accuracy: 0.7231 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.6399 - accuracy: 0.7483 +57/92 [=================>............] - ETA: 2s - loss: 0.7515 - accuracy: 0.7197 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.6413 - accuracy: 0.7478 +58/92 [=================>............] - ETA: 1s - loss: 0.7508 - accuracy: 0.7197 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.6419 - accuracy: 0.7479 +59/92 [==================>...........] - ETA: 1s - loss: 0.7488 - accuracy: 0.7202 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.6413 - accuracy: 0.7495 +60/92 [==================>...........] - ETA: 1s - loss: 0.7478 - accuracy: 0.7207 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.6396 - accuracy: 0.7510 +61/92 [==================>...........] - ETA: 1s - loss: 0.7478 - accuracy: 0.7207 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.6437 - accuracy: 0.7500 +62/92 [===================>..........] - ETA: 1s - loss: 0.7452 - accuracy: 0.7212 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.6450 - accuracy: 0.7485 +63/92 [===================>..........] - ETA: 1s - loss: 0.7421 - accuracy: 0.7226 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.6502 - accuracy: 0.7461 +64/92 [===================>..........] - ETA: 1s - loss: 0.7453 - accuracy: 0.7225 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.6505 - accuracy: 0.7466 +65/92 [====================>.........] - ETA: 1s - loss: 0.7479 - accuracy: 0.7225 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.6498 - accuracy: 0.7471 +66/92 [====================>.........] - ETA: 1s - loss: 0.7489 - accuracy: 0.7210 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.6504 - accuracy: 0.7467 +67/92 [====================>.........] - ETA: 1s - loss: 0.7490 - accuracy: 0.7214 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.6483 - accuracy: 0.7482 +68/92 [=====================>........] - ETA: 1s - loss: 0.7494 - accuracy: 0.7219 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.6474 - accuracy: 0.7482 +69/92 [=====================>........] - ETA: 1s - loss: 0.7588 - accuracy: 0.7173 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.6461 - accuracy: 0.7496 +70/92 [=====================>........] - ETA: 1s - loss: 0.7586 - accuracy: 0.7155 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.6461 - accuracy: 0.7504 +71/92 [======================>.......] - ETA: 1s - loss: 0.7602 - accuracy: 0.7142 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.6436 - accuracy: 0.7513 +72/92 [======================>.......] - ETA: 1s - loss: 0.7576 - accuracy: 0.7160 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.6450 - accuracy: 0.7500 +73/92 [======================>.......] - ETA: 1s - loss: 0.7577 - accuracy: 0.7152 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.6449 - accuracy: 0.7504 +74/92 [=======================>......] - ETA: 1s - loss: 0.7604 - accuracy: 0.7127 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.6429 - accuracy: 0.7513 +75/92 [=======================>......] - ETA: 0s - loss: 0.7575 - accuracy: 0.7136 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.6423 - accuracy: 0.7517 +76/92 [=======================>......] - ETA: 0s - loss: 0.7558 - accuracy: 0.7141 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.6398 - accuracy: 0.7537 +77/92 [========================>.....] - ETA: 0s - loss: 0.7562 - accuracy: 0.7142 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.6399 - accuracy: 0.7528 +78/92 [========================>.....] - ETA: 0s - loss: 0.7547 - accuracy: 0.7142 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.6387 - accuracy: 0.7532 +79/92 [========================>.....] - ETA: 0s - loss: 0.7529 - accuracy: 0.7151 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.6405 - accuracy: 0.7512 +80/92 [=========================>....] - ETA: 0s - loss: 0.7530 - accuracy: 0.7155 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.6428 - accuracy: 0.7508 +81/92 [=========================>....] - ETA: 0s - loss: 0.7548 - accuracy: 0.7140 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.6419 - accuracy: 0.7511 +82/92 [=========================>....] - ETA: 0s - loss: 0.7544 - accuracy: 0.7152 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.6398 - accuracy: 0.7515 +83/92 [==========================>...] - ETA: 0s - loss: 0.7539 - accuracy: 0.7153 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.6395 - accuracy: 0.7519 +84/92 [==========================>...] - ETA: 0s - loss: 0.7547 - accuracy: 0.7146 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.6384 - accuracy: 0.7522 +85/92 [==========================>...] - ETA: 0s - loss: 0.7555 - accuracy: 0.7139 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.6401 - accuracy: 0.7515 +86/92 [===========================>..] - ETA: 0s - loss: 0.7560 - accuracy: 0.7132 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.6416 - accuracy: 0.7511 +87/92 [===========================>..] - ETA: 0s - loss: 0.7601 - accuracy: 0.7115 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.6405 - accuracy: 0.7518 +88/92 [===========================>..] - ETA: 0s - loss: 0.7603 - accuracy: 0.7108 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.6423 - accuracy: 0.7511 +89/92 [============================>.] - ETA: 0s - loss: 0.7611 - accuracy: 0.7109 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.6423 - accuracy: 0.7514 +90/92 [============================>.] - ETA: 0s - loss: 0.7607 - accuracy: 0.7117 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.6411 - accuracy: 0.7528 +91/92 [============================>.] - ETA: 0s - loss: 0.7599 - accuracy: 0.7121 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.6401 - accuracy: 0.7531 +92/92 [==============================] - ETA: 0s - loss: 0.7587 - accuracy: 0.7122 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.6401 - accuracy: 0.7531 - val_loss: 0.7722 - val_accuracy: 0.6880 +92/92 [==============================] - 6s 63ms/step - loss: 0.7587 - accuracy: 0.7122 - val_loss: 0.7773 - val_accuracy: 0.6894 .. parsed-literal:: @@ -4600,462 +4754,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.5518 - accuracy: 0.8125 + 1/92 [..............................] - ETA: 7s - loss: 0.8874 - accuracy: 0.6562 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.6186 - accuracy: 0.7812 + 2/92 [..............................] - ETA: 5s - loss: 0.7006 - accuracy: 0.7656 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.6593 - accuracy: 0.7708 + 3/92 [..............................] - ETA: 5s - loss: 0.6894 - accuracy: 0.7396 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.6392 - accuracy: 0.7812 + 4/92 [>.............................] - ETA: 5s - loss: 0.6788 - accuracy: 0.7578 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.6786 - accuracy: 0.7500 + 5/92 [>.............................] - ETA: 5s - loss: 0.7055 - accuracy: 0.7625 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.6991 - accuracy: 0.7448 + 6/92 [>.............................] - ETA: 5s - loss: 0.7129 - accuracy: 0.7500 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.6717 - accuracy: 0.7500 + 7/92 [=>............................] - ETA: 5s - loss: 0.7416 - accuracy: 0.7232 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.6444 - accuracy: 0.7617 + 8/92 [=>............................] - ETA: 5s - loss: 0.7553 - accuracy: 0.7188 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.6269 - accuracy: 0.7674 + 9/92 [=>............................] - ETA: 4s - loss: 0.7519 - accuracy: 0.7153 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.6254 - accuracy: 0.7750 +10/92 [==>...........................] - ETA: 4s - loss: 0.7384 - accuracy: 0.7156 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.6196 - accuracy: 0.7727 +11/92 [==>...........................] - ETA: 4s - loss: 0.7344 - accuracy: 0.7159 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.6111 - accuracy: 0.7734 +12/92 [==>...........................] - ETA: 4s - loss: 0.7319 - accuracy: 0.7214 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.6013 - accuracy: 0.7788 +13/92 [===>..........................] - ETA: 4s - loss: 0.7205 - accuracy: 0.7236 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.6024 - accuracy: 0.7790 +14/92 [===>..........................] - ETA: 4s - loss: 0.7497 - accuracy: 0.7098 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.6018 - accuracy: 0.7738 +15/92 [===>..........................] - ETA: 4s - loss: 0.7527 - accuracy: 0.7167 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5923 - accuracy: 0.7668 +16/92 [====>.........................] - ETA: 4s - loss: 0.7523 - accuracy: 0.7168 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5973 - accuracy: 0.7641 +17/92 [====>.........................] - ETA: 4s - loss: 0.7440 - accuracy: 0.7206 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5998 - accuracy: 0.7600 +18/92 [====>.........................] - ETA: 4s - loss: 0.7410 - accuracy: 0.7257 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.6019 - accuracy: 0.7579 +19/92 [=====>........................] - ETA: 4s - loss: 0.7339 - accuracy: 0.7286 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.6015 - accuracy: 0.7575 +20/92 [=====>........................] - ETA: 4s - loss: 0.7494 - accuracy: 0.7188 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5965 - accuracy: 0.7615 +21/92 [=====>........................] - ETA: 4s - loss: 0.7449 - accuracy: 0.7232 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.6093 - accuracy: 0.7596 +22/92 [======>.......................] - ETA: 4s - loss: 0.7454 - accuracy: 0.7202 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.6157 - accuracy: 0.7566 +23/92 [======>.......................] - ETA: 4s - loss: 0.7433 - accuracy: 0.7242 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.6124 - accuracy: 0.7588 +24/92 [======>.......................] - ETA: 4s - loss: 0.7340 - accuracy: 0.7292 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.6075 - accuracy: 0.7609 +25/92 [=======>......................] - ETA: 3s - loss: 0.7369 - accuracy: 0.7300 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.6021 - accuracy: 0.7629 +27/92 [=======>......................] - ETA: 3s - loss: 0.7384 - accuracy: 0.7278 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.5999 - accuracy: 0.7669 +28/92 [========>.....................] - ETA: 3s - loss: 0.7361 - accuracy: 0.7264 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.5975 - accuracy: 0.7674 +29/92 [========>.....................] - ETA: 3s - loss: 0.7327 - accuracy: 0.7261 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.6022 - accuracy: 0.7637 +30/92 [========>.....................] - ETA: 3s - loss: 0.7345 - accuracy: 0.7248 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5988 - accuracy: 0.7663 +31/92 [=========>....................] - ETA: 3s - loss: 0.7249 - accuracy: 0.7266 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.6036 - accuracy: 0.7628 +32/92 [=========>....................] - ETA: 3s - loss: 0.7248 - accuracy: 0.7283 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.6038 - accuracy: 0.7615 +33/92 [=========>....................] - ETA: 3s - loss: 0.7269 - accuracy: 0.7281 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.6136 - accuracy: 0.7583 +34/92 [==========>...................] - ETA: 3s - loss: 0.7327 - accuracy: 0.7287 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.6135 - accuracy: 0.7581 +35/92 [==========>...................] - ETA: 3s - loss: 0.7334 - accuracy: 0.7266 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.6176 - accuracy: 0.7570 +36/92 [==========>...................] - ETA: 3s - loss: 0.7328 - accuracy: 0.7264 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.6131 - accuracy: 0.7585 +37/92 [===========>..................] - ETA: 3s - loss: 0.7316 - accuracy: 0.7279 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.6211 - accuracy: 0.7550 +38/92 [===========>..................] - ETA: 3s - loss: 0.7343 - accuracy: 0.7260 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.6234 - accuracy: 0.7556 +39/92 [===========>..................] - ETA: 3s - loss: 0.7310 - accuracy: 0.7290 .. parsed-literal::  -40/92 [============>.................] - ETA: 2s - loss: 0.6247 - accuracy: 0.7563 +40/92 [============>.................] - ETA: 3s - loss: 0.7339 - accuracy: 0.7256 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.6280 - accuracy: 0.7554 +41/92 [============>.................] - ETA: 2s - loss: 0.7305 - accuracy: 0.7270 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.6276 - accuracy: 0.7552 +42/92 [============>.................] - ETA: 2s - loss: 0.7295 - accuracy: 0.7268 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.6268 - accuracy: 0.7566 +43/92 [=============>................] - ETA: 2s - loss: 0.7279 - accuracy: 0.7273 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.6207 - accuracy: 0.7600 +44/92 [=============>................] - ETA: 2s - loss: 0.7285 - accuracy: 0.7264 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.6198 - accuracy: 0.7605 +45/92 [=============>................] - ETA: 2s - loss: 0.7294 - accuracy: 0.7270 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.6225 - accuracy: 0.7602 +46/92 [==============>...............] - ETA: 2s - loss: 0.7298 - accuracy: 0.7268 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.6208 - accuracy: 0.7614 +47/92 [==============>...............] - ETA: 2s - loss: 0.7260 - accuracy: 0.7279 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.6251 - accuracy: 0.7592 +48/92 [==============>...............] - ETA: 2s - loss: 0.7220 - accuracy: 0.7284 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.6247 - accuracy: 0.7583 +49/92 [==============>...............] - ETA: 2s - loss: 0.7237 - accuracy: 0.7288 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.6270 - accuracy: 0.7588 +50/92 [===============>..............] - ETA: 2s - loss: 0.7265 - accuracy: 0.7280 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.6252 - accuracy: 0.7605 +51/92 [===============>..............] - ETA: 2s - loss: 0.7256 - accuracy: 0.7284 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.6217 - accuracy: 0.7615 +52/92 [===============>..............] - ETA: 2s - loss: 0.7280 - accuracy: 0.7264 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.6216 - accuracy: 0.7624 +53/92 [================>.............] - ETA: 2s - loss: 0.7303 - accuracy: 0.7245 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.6231 - accuracy: 0.7605 +54/92 [================>.............] - ETA: 2s - loss: 0.7296 - accuracy: 0.7256 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.6212 - accuracy: 0.7608 +55/92 [================>.............] - ETA: 2s - loss: 0.7284 - accuracy: 0.7255 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.6195 - accuracy: 0.7629 +56/92 [=================>............] - ETA: 2s - loss: 0.7272 - accuracy: 0.7259 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.6158 - accuracy: 0.7660 +57/92 [=================>............] - ETA: 2s - loss: 0.7230 - accuracy: 0.7274 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.6193 - accuracy: 0.7646 +58/92 [=================>............] - ETA: 2s - loss: 0.7235 - accuracy: 0.7262 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.6177 - accuracy: 0.7638 +59/92 [==================>...........] - ETA: 1s - loss: 0.7210 - accuracy: 0.7277 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.6144 - accuracy: 0.7652 +60/92 [==================>...........] - ETA: 1s - loss: 0.7240 - accuracy: 0.7265 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.6103 - accuracy: 0.7665 +61/92 [==================>...........] - ETA: 1s - loss: 0.7238 - accuracy: 0.7263 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.6104 - accuracy: 0.7657 +62/92 [===================>..........] - ETA: 1s - loss: 0.7262 - accuracy: 0.7247 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.6073 - accuracy: 0.7669 +63/92 [===================>..........] - ETA: 1s - loss: 0.7257 - accuracy: 0.7251 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.6080 - accuracy: 0.7662 +64/92 [===================>..........] - ETA: 1s - loss: 0.7239 - accuracy: 0.7255 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.6158 - accuracy: 0.7635 +65/92 [====================>.........] - ETA: 1s - loss: 0.7250 - accuracy: 0.7249 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.6139 - accuracy: 0.7643 +66/92 [====================>.........] - ETA: 1s - loss: 0.7224 - accuracy: 0.7267 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.6130 - accuracy: 0.7645 +67/92 [====================>.........] - ETA: 1s - loss: 0.7277 - accuracy: 0.7257 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.6111 - accuracy: 0.7648 +68/92 [=====================>........] - ETA: 1s - loss: 0.7265 - accuracy: 0.7256 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.6086 - accuracy: 0.7659 +69/92 [=====================>........] - ETA: 1s - loss: 0.7299 - accuracy: 0.7250 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.6088 - accuracy: 0.7661 +70/92 [=====================>........] - ETA: 1s - loss: 0.7311 - accuracy: 0.7254 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.6090 - accuracy: 0.7663 +71/92 [======================>.......] - ETA: 1s - loss: 0.7294 - accuracy: 0.7266 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.6109 - accuracy: 0.7657 +72/92 [======================>.......] - ETA: 1s - loss: 0.7259 - accuracy: 0.7274 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.6122 - accuracy: 0.7663 +73/92 [======================>.......] - ETA: 1s - loss: 0.7251 - accuracy: 0.7277 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.6128 - accuracy: 0.7665 +74/92 [=======================>......] - ETA: 1s - loss: 0.7268 - accuracy: 0.7263 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.6121 - accuracy: 0.7676 +75/92 [=======================>......] - ETA: 0s - loss: 0.7253 - accuracy: 0.7262 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.6122 - accuracy: 0.7682 +76/92 [=======================>......] - ETA: 0s - loss: 0.7283 - accuracy: 0.7261 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.6122 - accuracy: 0.7671 +77/92 [========================>.....] - ETA: 0s - loss: 0.7267 - accuracy: 0.7264 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.6123 - accuracy: 0.7665 +78/92 [========================>.....] - ETA: 0s - loss: 0.7264 - accuracy: 0.7259 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.6144 - accuracy: 0.7655 +79/92 [========================>.....] - ETA: 0s - loss: 0.7262 - accuracy: 0.7262 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.6142 - accuracy: 0.7653 +80/92 [=========================>....] - ETA: 0s - loss: 0.7274 - accuracy: 0.7241 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.6144 - accuracy: 0.7647 +81/92 [=========================>....] - ETA: 0s - loss: 0.7283 - accuracy: 0.7233 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.6145 - accuracy: 0.7638 +82/92 [=========================>....] - ETA: 0s - loss: 0.7279 - accuracy: 0.7232 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.6156 - accuracy: 0.7636 +83/92 [==========================>...] - ETA: 0s - loss: 0.7274 - accuracy: 0.7236 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.6160 - accuracy: 0.7634 +84/92 [==========================>...] - ETA: 0s - loss: 0.7249 - accuracy: 0.7246 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.6180 - accuracy: 0.7633 +85/92 [==========================>...] - ETA: 0s - loss: 0.7240 - accuracy: 0.7253 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.6182 - accuracy: 0.7631 +86/92 [===========================>..] - ETA: 0s - loss: 0.7254 - accuracy: 0.7245 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.6199 - accuracy: 0.7622 +87/92 [===========================>..] - ETA: 0s - loss: 0.7259 - accuracy: 0.7248 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.6175 - accuracy: 0.7632 +88/92 [===========================>..] - ETA: 0s - loss: 0.7289 - accuracy: 0.7247 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.6170 - accuracy: 0.7634 +89/92 [============================>.] - ETA: 0s - loss: 0.7260 - accuracy: 0.7254 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.6203 - accuracy: 0.7611 +90/92 [============================>.] - ETA: 0s - loss: 0.7266 - accuracy: 0.7246 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.6202 - accuracy: 0.7614 +91/92 [============================>.] - ETA: 0s - loss: 0.7275 - accuracy: 0.7242 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.6217 - accuracy: 0.7606 +92/92 [==============================] - ETA: 0s - loss: 0.7271 - accuracy: 0.7234 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.6217 - accuracy: 0.7606 - val_loss: 0.7700 - val_accuracy: 0.7071 +92/92 [==============================] - 6s 64ms/step - loss: 0.7271 - accuracy: 0.7234 - val_loss: 0.7713 - val_accuracy: 0.7016 .. parsed-literal:: @@ -5066,462 +5220,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.4981 - accuracy: 0.8125 + 1/92 [..............................] - ETA: 7s - loss: 0.7591 - accuracy: 0.7188 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5819 - accuracy: 0.7656 + 2/92 [..............................] - ETA: 5s - loss: 0.6976 - accuracy: 0.7500 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.5281 - accuracy: 0.8125 + 3/92 [..............................] - ETA: 5s - loss: 0.6632 - accuracy: 0.7292 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.5673 - accuracy: 0.7812 + 4/92 [>.............................] - ETA: 5s - loss: 0.6253 - accuracy: 0.7500 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.6359 - accuracy: 0.7375 + 5/92 [>.............................] - ETA: 5s - loss: 0.6267 - accuracy: 0.7500 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.5973 - accuracy: 0.7656 + 6/92 [>.............................] - ETA: 5s - loss: 0.6051 - accuracy: 0.7656 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.5857 - accuracy: 0.7723 + 7/92 [=>............................] - ETA: 4s - loss: 0.6296 - accuracy: 0.7500 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.5830 - accuracy: 0.7734 + 8/92 [=>............................] - ETA: 4s - loss: 0.6541 - accuracy: 0.7422 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.5898 - accuracy: 0.7708 + 9/92 [=>............................] - ETA: 4s - loss: 0.6716 - accuracy: 0.7292 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5826 - accuracy: 0.7750 +10/92 [==>...........................] - ETA: 4s - loss: 0.6663 - accuracy: 0.7344 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5843 - accuracy: 0.7784 +11/92 [==>...........................] - ETA: 4s - loss: 0.6532 - accuracy: 0.7358 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5888 - accuracy: 0.7760 +12/92 [==>...........................] - ETA: 4s - loss: 0.6776 - accuracy: 0.7240 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5808 - accuracy: 0.7812 +13/92 [===>..........................] - ETA: 4s - loss: 0.6726 - accuracy: 0.7236 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5672 - accuracy: 0.7879 +14/92 [===>..........................] - ETA: 4s - loss: 0.6662 - accuracy: 0.7299 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5874 - accuracy: 0.7833 +15/92 [===>..........................] - ETA: 4s - loss: 0.6528 - accuracy: 0.7375 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5875 - accuracy: 0.7832 +16/92 [====>.........................] - ETA: 4s - loss: 0.6668 - accuracy: 0.7344 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5837 - accuracy: 0.7831 +17/92 [====>.........................] - ETA: 4s - loss: 0.6780 - accuracy: 0.7279 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5737 - accuracy: 0.7865 +18/92 [====>.........................] - ETA: 4s - loss: 0.6714 - accuracy: 0.7292 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5835 - accuracy: 0.7812 +19/92 [=====>........................] - ETA: 4s - loss: 0.6778 - accuracy: 0.7253 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5782 - accuracy: 0.7828 +20/92 [=====>........................] - ETA: 4s - loss: 0.6799 - accuracy: 0.7234 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5747 - accuracy: 0.7857 +21/92 [=====>........................] - ETA: 4s - loss: 0.6754 - accuracy: 0.7262 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5807 - accuracy: 0.7812 +22/92 [======>.......................] - ETA: 4s - loss: 0.6751 - accuracy: 0.7287 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.5858 - accuracy: 0.7799 +23/92 [======>.......................] - ETA: 3s - loss: 0.6790 - accuracy: 0.7283 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5895 - accuracy: 0.7773 +24/92 [======>.......................] - ETA: 3s - loss: 0.6767 - accuracy: 0.7318 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5919 - accuracy: 0.7750 +25/92 [=======>......................] - ETA: 3s - loss: 0.6739 - accuracy: 0.7312 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.5958 - accuracy: 0.7728 +26/92 [=======>......................] - ETA: 3s - loss: 0.6909 - accuracy: 0.7260 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.5871 - accuracy: 0.7778 +27/92 [=======>......................] - ETA: 3s - loss: 0.6983 - accuracy: 0.7222 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.5821 - accuracy: 0.7801 +28/92 [========>.....................] - ETA: 3s - loss: 0.6931 - accuracy: 0.7266 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.5746 - accuracy: 0.7823 +29/92 [========>.....................] - ETA: 3s - loss: 0.6875 - accuracy: 0.7295 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5767 - accuracy: 0.7802 +30/92 [========>.....................] - ETA: 3s - loss: 0.6899 - accuracy: 0.7302 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5771 - accuracy: 0.7792 +31/92 [=========>....................] - ETA: 3s - loss: 0.6882 - accuracy: 0.7339 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.5796 - accuracy: 0.7773 +32/92 [=========>....................] - ETA: 3s - loss: 0.6861 - accuracy: 0.7324 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.5823 - accuracy: 0.7746 +33/92 [=========>....................] - ETA: 3s - loss: 0.6830 - accuracy: 0.7330 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.5822 - accuracy: 0.7748 +34/92 [==========>...................] - ETA: 3s - loss: 0.6861 - accuracy: 0.7307 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.5802 - accuracy: 0.7759 +35/92 [==========>...................] - ETA: 3s - loss: 0.6815 - accuracy: 0.7330 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.5800 - accuracy: 0.7769 +36/92 [==========>...................] - ETA: 3s - loss: 0.6788 - accuracy: 0.7352 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.5799 - accuracy: 0.7779 +37/92 [===========>..................] - ETA: 3s - loss: 0.6785 - accuracy: 0.7373 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.5802 - accuracy: 0.7771 +38/92 [===========>..................] - ETA: 3s - loss: 0.6758 - accuracy: 0.7410 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.5765 - accuracy: 0.7788 +39/92 [===========>..................] - ETA: 3s - loss: 0.6824 - accuracy: 0.7412 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.5741 - accuracy: 0.7805 +40/92 [============>.................] - ETA: 2s - loss: 0.6827 - accuracy: 0.7422 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.5748 - accuracy: 0.7812 +41/92 [============>.................] - ETA: 2s - loss: 0.6811 - accuracy: 0.7439 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.5753 - accuracy: 0.7805 +42/92 [============>.................] - ETA: 2s - loss: 0.6788 - accuracy: 0.7448 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.5734 - accuracy: 0.7820 +43/92 [=============>................] - ETA: 2s - loss: 0.6804 - accuracy: 0.7456 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.5732 - accuracy: 0.7834 +44/92 [=============>................] - ETA: 2s - loss: 0.6769 - accuracy: 0.7464 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.5702 - accuracy: 0.7833 +45/92 [=============>................] - ETA: 2s - loss: 0.6806 - accuracy: 0.7465 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.5729 - accuracy: 0.7833 +46/92 [==============>...............] - ETA: 2s - loss: 0.6837 - accuracy: 0.7446 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.5711 - accuracy: 0.7839 +47/92 [==============>...............] - ETA: 2s - loss: 0.6849 - accuracy: 0.7447 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.5693 - accuracy: 0.7852 +48/92 [==============>...............] - ETA: 2s - loss: 0.6853 - accuracy: 0.7448 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.5701 - accuracy: 0.7844 +49/92 [==============>...............] - ETA: 2s - loss: 0.6829 - accuracy: 0.7449 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.5679 - accuracy: 0.7850 +50/92 [===============>..............] - ETA: 2s - loss: 0.6938 - accuracy: 0.7406 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.5703 - accuracy: 0.7843 +51/92 [===============>..............] - ETA: 2s - loss: 0.6922 - accuracy: 0.7414 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.5724 - accuracy: 0.7849 +52/92 [===============>..............] - ETA: 2s - loss: 0.6915 - accuracy: 0.7410 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.5751 - accuracy: 0.7830 +53/92 [================>.............] - ETA: 2s - loss: 0.6885 - accuracy: 0.7423 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.5767 - accuracy: 0.7818 +54/92 [================>.............] - ETA: 2s - loss: 0.6872 - accuracy: 0.7413 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.5760 - accuracy: 0.7830 +55/92 [================>.............] - ETA: 2s - loss: 0.6881 - accuracy: 0.7415 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.5725 - accuracy: 0.7840 +56/92 [=================>............] - ETA: 2s - loss: 0.6871 - accuracy: 0.7422 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5712 - accuracy: 0.7851 +57/92 [=================>............] - ETA: 2s - loss: 0.6871 - accuracy: 0.7412 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5723 - accuracy: 0.7845 +58/92 [=================>............] - ETA: 1s - loss: 0.6875 - accuracy: 0.7408 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5718 - accuracy: 0.7839 +59/92 [==================>...........] - ETA: 1s - loss: 0.6912 - accuracy: 0.7389 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5740 - accuracy: 0.7823 +60/92 [==================>...........] - ETA: 1s - loss: 0.6900 - accuracy: 0.7396 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5786 - accuracy: 0.7809 +61/92 [==================>...........] - ETA: 1s - loss: 0.6859 - accuracy: 0.7413 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5783 - accuracy: 0.7804 +62/92 [===================>..........] - ETA: 1s - loss: 0.6863 - accuracy: 0.7399 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5769 - accuracy: 0.7804 +63/92 [===================>..........] - ETA: 1s - loss: 0.6835 - accuracy: 0.7411 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5777 - accuracy: 0.7799 +64/92 [===================>..........] - ETA: 1s - loss: 0.6851 - accuracy: 0.7407 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5778 - accuracy: 0.7804 +65/92 [====================>.........] - ETA: 1s - loss: 0.6833 - accuracy: 0.7409 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5823 - accuracy: 0.7786 +66/92 [====================>.........] - ETA: 1s - loss: 0.6826 - accuracy: 0.7415 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5845 - accuracy: 0.7777 +67/92 [====================>.........] - ETA: 1s - loss: 0.6816 - accuracy: 0.7407 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5846 - accuracy: 0.7768 +68/92 [=====================>........] - ETA: 1s - loss: 0.6814 - accuracy: 0.7413 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5870 - accuracy: 0.7764 +69/92 [=====================>........] - ETA: 1s - loss: 0.6807 - accuracy: 0.7423 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5877 - accuracy: 0.7761 +70/92 [=====================>........] - ETA: 1s - loss: 0.6807 - accuracy: 0.7429 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5879 - accuracy: 0.7766 +71/92 [======================>.......] - ETA: 1s - loss: 0.6836 - accuracy: 0.7412 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5852 - accuracy: 0.7766 +72/92 [======================>.......] - ETA: 1s - loss: 0.6837 - accuracy: 0.7418 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5867 - accuracy: 0.7758 +73/92 [======================>.......] - ETA: 1s - loss: 0.6834 - accuracy: 0.7423 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5868 - accuracy: 0.7755 +74/92 [=======================>......] - ETA: 1s - loss: 0.6851 - accuracy: 0.7424 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5859 - accuracy: 0.7748 +76/92 [=======================>......] - ETA: 0s - loss: 0.6832 - accuracy: 0.7434 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5844 - accuracy: 0.7748 +77/92 [========================>.....] - ETA: 0s - loss: 0.6834 - accuracy: 0.7427 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5848 - accuracy: 0.7745 +78/92 [========================>.....] - ETA: 0s - loss: 0.6821 - accuracy: 0.7436 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5866 - accuracy: 0.7726 +79/92 [========================>.....] - ETA: 0s - loss: 0.6825 - accuracy: 0.7437 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5852 - accuracy: 0.7727 +80/92 [=========================>....] - ETA: 0s - loss: 0.6828 - accuracy: 0.7437 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5915 - accuracy: 0.7697 +81/92 [=========================>....] - ETA: 0s - loss: 0.6808 - accuracy: 0.7446 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5917 - accuracy: 0.7703 +82/92 [=========================>....] - ETA: 0s - loss: 0.6818 - accuracy: 0.7431 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5907 - accuracy: 0.7708 +83/92 [==========================>...] - ETA: 0s - loss: 0.6806 - accuracy: 0.7436 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5925 - accuracy: 0.7705 +84/92 [==========================>...] - ETA: 0s - loss: 0.6778 - accuracy: 0.7444 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5931 - accuracy: 0.7710 +85/92 [==========================>...] - ETA: 0s - loss: 0.6763 - accuracy: 0.7456 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5939 - accuracy: 0.7704 +86/92 [===========================>..] - ETA: 0s - loss: 0.6765 - accuracy: 0.7445 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5973 - accuracy: 0.7687 +87/92 [===========================>..] - ETA: 0s - loss: 0.6780 - accuracy: 0.7439 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5954 - accuracy: 0.7707 +88/92 [===========================>..] - ETA: 0s - loss: 0.6778 - accuracy: 0.7436 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5953 - accuracy: 0.7704 +89/92 [============================>.] - ETA: 0s - loss: 0.6771 - accuracy: 0.7444 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5971 - accuracy: 0.7692 +90/92 [============================>.] - ETA: 0s - loss: 0.6771 - accuracy: 0.7444 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5996 - accuracy: 0.7679 +91/92 [============================>.] - ETA: 0s - loss: 0.6797 - accuracy: 0.7435 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5981 - accuracy: 0.7691 +92/92 [==============================] - ETA: 0s - loss: 0.6786 - accuracy: 0.7435 .. parsed-literal::  -92/92 [==============================] - 6s 63ms/step - loss: 0.5981 - accuracy: 0.7691 - val_loss: 0.7115 - val_accuracy: 0.7221 +92/92 [==============================] - 6s 64ms/step - loss: 0.6786 - accuracy: 0.7435 - val_loss: 0.7715 - val_accuracy: 0.6798 .. parsed-literal:: @@ -5532,462 +5686,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.7337 - accuracy: 0.7812 + 1/92 [..............................] - ETA: 7s - loss: 0.5204 - accuracy: 0.8125 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5403 - accuracy: 0.8594 + 2/92 [..............................] - ETA: 5s - loss: 0.5876 - accuracy: 0.7812 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.4955 - accuracy: 0.8542 + 3/92 [..............................] - ETA: 5s - loss: 0.5540 - accuracy: 0.7917 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.5461 - accuracy: 0.8281 + 4/92 [>.............................] - ETA: 5s - loss: 0.5630 - accuracy: 0.7734 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.5412 - accuracy: 0.8250 + 5/92 [>.............................] - ETA: 5s - loss: 0.6064 - accuracy: 0.7500 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.5209 - accuracy: 0.8333 + 6/92 [>.............................] - ETA: 5s - loss: 0.6603 - accuracy: 0.7135 .. parsed-literal::  - 7/92 [=>............................] - ETA: 5s - loss: 0.5470 - accuracy: 0.8170 + 7/92 [=>............................] - ETA: 4s - loss: 0.6659 - accuracy: 0.7098 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.5296 - accuracy: 0.8281 + 8/92 [=>............................] - ETA: 4s - loss: 0.6532 - accuracy: 0.7109 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.5669 - accuracy: 0.8125 + 9/92 [=>............................] - ETA: 4s - loss: 0.6953 - accuracy: 0.6910 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5538 - accuracy: 0.8156 +10/92 [==>...........................] - ETA: 4s - loss: 0.6888 - accuracy: 0.6969 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5553 - accuracy: 0.8097 +11/92 [==>...........................] - ETA: 4s - loss: 0.6750 - accuracy: 0.7074 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5551 - accuracy: 0.8151 +12/92 [==>...........................] - ETA: 4s - loss: 0.6779 - accuracy: 0.7109 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5451 - accuracy: 0.8173 +13/92 [===>..........................] - ETA: 4s - loss: 0.6687 - accuracy: 0.7188 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5719 - accuracy: 0.7991 +14/92 [===>..........................] - ETA: 4s - loss: 0.6736 - accuracy: 0.7210 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5774 - accuracy: 0.8000 +15/92 [===>..........................] - ETA: 4s - loss: 0.6661 - accuracy: 0.7250 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5697 - accuracy: 0.8008 +16/92 [====>.........................] - ETA: 4s - loss: 0.6907 - accuracy: 0.7129 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5602 - accuracy: 0.8070 +17/92 [====>.........................] - ETA: 4s - loss: 0.6828 - accuracy: 0.7169 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5665 - accuracy: 0.8056 +18/92 [====>.........................] - ETA: 4s - loss: 0.6764 - accuracy: 0.7240 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5520 - accuracy: 0.8125 +19/92 [=====>........................] - ETA: 4s - loss: 0.6708 - accuracy: 0.7286 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5532 - accuracy: 0.8156 +20/92 [=====>........................] - ETA: 4s - loss: 0.6711 - accuracy: 0.7234 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5492 - accuracy: 0.8140 +21/92 [=====>........................] - ETA: 4s - loss: 0.6707 - accuracy: 0.7247 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5483 - accuracy: 0.8097 +22/92 [======>.......................] - ETA: 4s - loss: 0.6612 - accuracy: 0.7287 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.5440 - accuracy: 0.8084 +23/92 [======>.......................] - ETA: 4s - loss: 0.6664 - accuracy: 0.7269 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5410 - accuracy: 0.8112 +24/92 [======>.......................] - ETA: 3s - loss: 0.6589 - accuracy: 0.7318 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5350 - accuracy: 0.8112 +25/92 [=======>......................] - ETA: 3s - loss: 0.6555 - accuracy: 0.7362 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.5286 - accuracy: 0.8137 +26/92 [=======>......................] - ETA: 3s - loss: 0.6615 - accuracy: 0.7368 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.5272 - accuracy: 0.8137 +27/92 [=======>......................] - ETA: 3s - loss: 0.6585 - accuracy: 0.7419 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.5255 - accuracy: 0.8092 +28/92 [========>.....................] - ETA: 3s - loss: 0.6605 - accuracy: 0.7411 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.5178 - accuracy: 0.8114 +29/92 [========>.....................] - ETA: 3s - loss: 0.6640 - accuracy: 0.7403 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5120 - accuracy: 0.8146 +30/92 [========>.....................] - ETA: 3s - loss: 0.6651 - accuracy: 0.7385 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5063 - accuracy: 0.8155 +31/92 [=========>....................] - ETA: 3s - loss: 0.6663 - accuracy: 0.7379 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.5162 - accuracy: 0.8135 +32/92 [=========>....................] - ETA: 3s - loss: 0.6644 - accuracy: 0.7393 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.5211 - accuracy: 0.8116 +33/92 [=========>....................] - ETA: 3s - loss: 0.6585 - accuracy: 0.7424 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.5212 - accuracy: 0.8107 +34/92 [==========>...................] - ETA: 3s - loss: 0.6641 - accuracy: 0.7399 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.5202 - accuracy: 0.8098 +35/92 [==========>...................] - ETA: 3s - loss: 0.6600 - accuracy: 0.7411 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.5185 - accuracy: 0.8099 +36/92 [==========>...................] - ETA: 3s - loss: 0.6574 - accuracy: 0.7413 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.5184 - accuracy: 0.8083 +37/92 [===========>..................] - ETA: 3s - loss: 0.6605 - accuracy: 0.7416 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.5137 - accuracy: 0.8109 +38/92 [===========>..................] - ETA: 3s - loss: 0.6604 - accuracy: 0.7410 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.5161 - accuracy: 0.8101 +39/92 [===========>..................] - ETA: 3s - loss: 0.6616 - accuracy: 0.7404 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.5181 - accuracy: 0.8086 +40/92 [============>.................] - ETA: 3s - loss: 0.6610 - accuracy: 0.7406 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.5171 - accuracy: 0.8087 +41/92 [============>.................] - ETA: 2s - loss: 0.6643 - accuracy: 0.7416 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.5211 - accuracy: 0.8080 +42/92 [============>.................] - ETA: 2s - loss: 0.6661 - accuracy: 0.7396 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.5192 - accuracy: 0.8074 +43/92 [=============>................] - ETA: 2s - loss: 0.6706 - accuracy: 0.7369 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.5152 - accuracy: 0.8089 +44/92 [=============>................] - ETA: 2s - loss: 0.6685 - accuracy: 0.7379 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.5146 - accuracy: 0.8090 +45/92 [=============>................] - ETA: 2s - loss: 0.6685 - accuracy: 0.7389 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.5139 - accuracy: 0.8084 +46/92 [==============>...............] - ETA: 2s - loss: 0.6644 - accuracy: 0.7398 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.5159 - accuracy: 0.8072 +47/92 [==============>...............] - ETA: 2s - loss: 0.6602 - accuracy: 0.7420 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.5143 - accuracy: 0.8079 +48/92 [==============>...............] - ETA: 2s - loss: 0.6569 - accuracy: 0.7422 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.5168 - accuracy: 0.8055 +49/92 [==============>...............] - ETA: 2s - loss: 0.6579 - accuracy: 0.7430 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.5178 - accuracy: 0.8062 +50/92 [===============>..............] - ETA: 2s - loss: 0.6618 - accuracy: 0.7412 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.5166 - accuracy: 0.8070 +51/92 [===============>..............] - ETA: 2s - loss: 0.6665 - accuracy: 0.7396 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.5184 - accuracy: 0.8071 +52/92 [===============>..............] - ETA: 2s - loss: 0.6646 - accuracy: 0.7404 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.5226 - accuracy: 0.8054 +53/92 [================>.............] - ETA: 2s - loss: 0.6622 - accuracy: 0.7423 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.5204 - accuracy: 0.8079 +54/92 [================>.............] - ETA: 2s - loss: 0.6613 - accuracy: 0.7442 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.5187 - accuracy: 0.8085 +55/92 [================>.............] - ETA: 2s - loss: 0.6608 - accuracy: 0.7443 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.5183 - accuracy: 0.8097 +56/92 [=================>............] - ETA: 2s - loss: 0.6585 - accuracy: 0.7455 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5201 - accuracy: 0.8092 +57/92 [=================>............] - ETA: 2s - loss: 0.6573 - accuracy: 0.7467 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5167 - accuracy: 0.8109 +58/92 [=================>............] - ETA: 1s - loss: 0.6552 - accuracy: 0.7489 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5180 - accuracy: 0.8104 +59/92 [==================>...........] - ETA: 1s - loss: 0.6562 - accuracy: 0.7484 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5233 - accuracy: 0.8078 +60/92 [==================>...........] - ETA: 1s - loss: 0.6584 - accuracy: 0.7474 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.5218 - accuracy: 0.8084 +61/92 [==================>...........] - ETA: 1s - loss: 0.6567 - accuracy: 0.7480 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5251 - accuracy: 0.8070 +62/92 [===================>..........] - ETA: 1s - loss: 0.6583 - accuracy: 0.7470 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5261 - accuracy: 0.8051 +63/92 [===================>..........] - ETA: 1s - loss: 0.6578 - accuracy: 0.7470 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5259 - accuracy: 0.8042 +64/92 [===================>..........] - ETA: 1s - loss: 0.6588 - accuracy: 0.7461 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5262 - accuracy: 0.8038 +65/92 [====================>.........] - ETA: 1s - loss: 0.6590 - accuracy: 0.7462 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5260 - accuracy: 0.8034 +66/92 [====================>.........] - ETA: 1s - loss: 0.6583 - accuracy: 0.7457 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5297 - accuracy: 0.8007 +67/92 [====================>.........] - ETA: 1s - loss: 0.6572 - accuracy: 0.7458 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5284 - accuracy: 0.8023 +68/92 [=====================>........] - ETA: 1s - loss: 0.6573 - accuracy: 0.7440 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5309 - accuracy: 0.8029 +69/92 [=====================>........] - ETA: 1s - loss: 0.6538 - accuracy: 0.7455 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5323 - accuracy: 0.8021 +70/92 [=====================>........] - ETA: 1s - loss: 0.6536 - accuracy: 0.7464 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5335 - accuracy: 0.8018 +72/92 [======================>.......] - ETA: 1s - loss: 0.6533 - accuracy: 0.7474 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5331 - accuracy: 0.8011 +73/92 [======================>.......] - ETA: 1s - loss: 0.6555 - accuracy: 0.7470 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5360 - accuracy: 0.8000 +74/92 [=======================>......] - ETA: 1s - loss: 0.6560 - accuracy: 0.7462 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5361 - accuracy: 0.8002 +75/92 [=======================>......] - ETA: 0s - loss: 0.6576 - accuracy: 0.7450 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5369 - accuracy: 0.7995 +76/92 [=======================>......] - ETA: 0s - loss: 0.6595 - accuracy: 0.7434 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5351 - accuracy: 0.8009 +77/92 [========================>.....] - ETA: 0s - loss: 0.6634 - accuracy: 0.7423 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5370 - accuracy: 0.8010 +78/92 [========================>.....] - ETA: 0s - loss: 0.6615 - accuracy: 0.7432 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5377 - accuracy: 0.8004 +79/92 [========================>.....] - ETA: 0s - loss: 0.6644 - accuracy: 0.7429 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5374 - accuracy: 0.8002 +80/92 [=========================>....] - ETA: 0s - loss: 0.6643 - accuracy: 0.7422 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5360 - accuracy: 0.7999 +81/92 [=========================>....] - ETA: 0s - loss: 0.6657 - accuracy: 0.7415 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5367 - accuracy: 0.7993 +82/92 [=========================>....] - ETA: 0s - loss: 0.6679 - accuracy: 0.7404 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5375 - accuracy: 0.7991 +83/92 [==========================>...] - ETA: 0s - loss: 0.6686 - accuracy: 0.7394 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5368 - accuracy: 0.7989 +84/92 [==========================>...] - ETA: 0s - loss: 0.6643 - accuracy: 0.7410 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5372 - accuracy: 0.7979 +85/92 [==========================>...] - ETA: 0s - loss: 0.6666 - accuracy: 0.7389 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5372 - accuracy: 0.7977 +86/92 [===========================>..] - ETA: 0s - loss: 0.6648 - accuracy: 0.7398 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5374 - accuracy: 0.7976 +87/92 [===========================>..] - ETA: 0s - loss: 0.6629 - accuracy: 0.7406 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5385 - accuracy: 0.7967 +88/92 [===========================>..] - ETA: 0s - loss: 0.6634 - accuracy: 0.7411 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5405 - accuracy: 0.7954 +89/92 [============================>.] - ETA: 0s - loss: 0.6615 - accuracy: 0.7419 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5404 - accuracy: 0.7946 +90/92 [============================>.] - ETA: 0s - loss: 0.6613 - accuracy: 0.7416 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5409 - accuracy: 0.7941 +91/92 [============================>.] - ETA: 0s - loss: 0.6610 - accuracy: 0.7414 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5409 - accuracy: 0.7946 +92/92 [==============================] - ETA: 0s - loss: 0.6607 - accuracy: 0.7408 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5409 - accuracy: 0.7946 - val_loss: 0.6885 - val_accuracy: 0.7561 +92/92 [==============================] - 6s 63ms/step - loss: 0.6607 - accuracy: 0.7408 - val_loss: 0.8130 - val_accuracy: 0.6880 .. parsed-literal:: @@ -5998,462 +6152,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.3683 - accuracy: 0.8438 + 1/92 [..............................] - ETA: 6s - loss: 0.7036 - accuracy: 0.7500 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5108 - accuracy: 0.7656 + 2/92 [..............................] - ETA: 5s - loss: 0.5775 - accuracy: 0.7969 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.5085 - accuracy: 0.7708 + 3/92 [..............................] - ETA: 5s - loss: 0.5625 - accuracy: 0.8021 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.4920 - accuracy: 0.7891 + 4/92 [>.............................] - ETA: 5s - loss: 0.5585 - accuracy: 0.7812 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.4479 - accuracy: 0.8125 + 5/92 [>.............................] - ETA: 5s - loss: 0.5784 - accuracy: 0.7688 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.4437 - accuracy: 0.8177 + 6/92 [>.............................] - ETA: 5s - loss: 0.6100 - accuracy: 0.7604 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.4623 - accuracy: 0.8170 + 7/92 [=>............................] - ETA: 4s - loss: 0.6105 - accuracy: 0.7634 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.4931 - accuracy: 0.8008 + 8/92 [=>............................] - ETA: 4s - loss: 0.6258 - accuracy: 0.7617 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.4960 - accuracy: 0.8021 + 9/92 [=>............................] - ETA: 4s - loss: 0.6514 - accuracy: 0.7535 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5029 - accuracy: 0.7937 +10/92 [==>...........................] - ETA: 4s - loss: 0.6498 - accuracy: 0.7563 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.4888 - accuracy: 0.8005 +11/92 [==>...........................] - ETA: 4s - loss: 0.6625 - accuracy: 0.7472 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.4984 - accuracy: 0.7966 +12/92 [==>...........................] - ETA: 4s - loss: 0.6400 - accuracy: 0.7552 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.4824 - accuracy: 0.8000 +13/92 [===>..........................] - ETA: 4s - loss: 0.6212 - accuracy: 0.7644 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.4826 - accuracy: 0.7966 +14/92 [===>..........................] - ETA: 4s - loss: 0.6370 - accuracy: 0.7634 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.4938 - accuracy: 0.7956 +15/92 [===>..........................] - ETA: 4s - loss: 0.6449 - accuracy: 0.7563 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.4920 - accuracy: 0.7948 +16/92 [====>.........................] - ETA: 4s - loss: 0.6506 - accuracy: 0.7520 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.4952 - accuracy: 0.7940 +17/92 [====>.........................] - ETA: 4s - loss: 0.6472 - accuracy: 0.7537 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.4997 - accuracy: 0.7900 +18/92 [====>.........................] - ETA: 4s - loss: 0.6407 - accuracy: 0.7569 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5000 - accuracy: 0.7927 +19/92 [=====>........................] - ETA: 4s - loss: 0.6400 - accuracy: 0.7582 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.4947 - accuracy: 0.7937 +20/92 [=====>........................] - ETA: 4s - loss: 0.6378 - accuracy: 0.7578 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.4949 - accuracy: 0.7945 +21/92 [=====>........................] - ETA: 4s - loss: 0.6425 - accuracy: 0.7560 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.4943 - accuracy: 0.7926 +22/92 [======>.......................] - ETA: 4s - loss: 0.6402 - accuracy: 0.7571 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5002 - accuracy: 0.7895 +23/92 [======>.......................] - ETA: 4s - loss: 0.6362 - accuracy: 0.7582 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.4972 - accuracy: 0.7891 +24/92 [======>.......................] - ETA: 3s - loss: 0.6312 - accuracy: 0.7617 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.4890 - accuracy: 0.7937 +25/92 [=======>......................] - ETA: 3s - loss: 0.6326 - accuracy: 0.7600 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.4905 - accuracy: 0.7921 +26/92 [=======>......................] - ETA: 3s - loss: 0.6350 - accuracy: 0.7584 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.4859 - accuracy: 0.7950 +27/92 [=======>......................] - ETA: 3s - loss: 0.6295 - accuracy: 0.7604 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.4889 - accuracy: 0.7967 +28/92 [========>.....................] - ETA: 3s - loss: 0.6258 - accuracy: 0.7600 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.4939 - accuracy: 0.7962 +29/92 [========>.....................] - ETA: 3s - loss: 0.6203 - accuracy: 0.7608 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.4913 - accuracy: 0.7967 +30/92 [========>.....................] - ETA: 3s - loss: 0.6228 - accuracy: 0.7604 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.4892 - accuracy: 0.7982 +31/92 [=========>....................] - ETA: 3s - loss: 0.6210 - accuracy: 0.7631 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.4870 - accuracy: 0.7977 +32/92 [=========>....................] - ETA: 3s - loss: 0.6188 - accuracy: 0.7637 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.4915 - accuracy: 0.7954 +33/92 [=========>....................] - ETA: 3s - loss: 0.6210 - accuracy: 0.7633 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.4921 - accuracy: 0.7950 +34/92 [==========>...................] - ETA: 3s - loss: 0.6231 - accuracy: 0.7610 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.4902 - accuracy: 0.7955 +35/92 [==========>...................] - ETA: 3s - loss: 0.6273 - accuracy: 0.7580 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.4886 - accuracy: 0.7968 +36/92 [==========>...................] - ETA: 3s - loss: 0.6277 - accuracy: 0.7587 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.4890 - accuracy: 0.7972 +37/92 [===========>..................] - ETA: 3s - loss: 0.6235 - accuracy: 0.7610 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.4947 - accuracy: 0.7968 +38/92 [===========>..................] - ETA: 3s - loss: 0.6186 - accuracy: 0.7615 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.4978 - accuracy: 0.7972 +39/92 [===========>..................] - ETA: 3s - loss: 0.6256 - accuracy: 0.7588 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.4980 - accuracy: 0.7975 +40/92 [============>.................] - ETA: 3s - loss: 0.6243 - accuracy: 0.7609 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.4993 - accuracy: 0.7957 +41/92 [============>.................] - ETA: 2s - loss: 0.6233 - accuracy: 0.7599 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.4973 - accuracy: 0.7968 +42/92 [============>.................] - ETA: 2s - loss: 0.6234 - accuracy: 0.7597 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.4996 - accuracy: 0.7950 +43/92 [=============>................] - ETA: 2s - loss: 0.6257 - accuracy: 0.7587 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.4975 - accuracy: 0.7968 +44/92 [=============>................] - ETA: 2s - loss: 0.6267 - accuracy: 0.7578 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.4959 - accuracy: 0.7978 +45/92 [=============>................] - ETA: 2s - loss: 0.6262 - accuracy: 0.7576 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.4961 - accuracy: 0.7961 +46/92 [==============>...............] - ETA: 2s - loss: 0.6265 - accuracy: 0.7568 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.4935 - accuracy: 0.7958 +47/92 [==============>...............] - ETA: 2s - loss: 0.6259 - accuracy: 0.7573 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.4940 - accuracy: 0.7955 +48/92 [==============>...............] - ETA: 2s - loss: 0.6294 - accuracy: 0.7565 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.4945 - accuracy: 0.7965 +50/92 [===============>..............] - ETA: 2s - loss: 0.6340 - accuracy: 0.7550 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.4996 - accuracy: 0.7950 +51/92 [===============>..............] - ETA: 2s - loss: 0.6325 - accuracy: 0.7568 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.4978 - accuracy: 0.7941 +52/92 [===============>..............] - ETA: 2s - loss: 0.6328 - accuracy: 0.7566 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.4966 - accuracy: 0.7950 +53/92 [================>.............] - ETA: 2s - loss: 0.6327 - accuracy: 0.7565 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.4991 - accuracy: 0.7936 +54/92 [================>.............] - ETA: 2s - loss: 0.6322 - accuracy: 0.7570 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.4965 - accuracy: 0.7951 +55/92 [================>.............] - ETA: 2s - loss: 0.6305 - accuracy: 0.7591 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.4978 - accuracy: 0.7948 +56/92 [=================>............] - ETA: 2s - loss: 0.6305 - accuracy: 0.7584 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5013 - accuracy: 0.7941 +57/92 [=================>............] - ETA: 2s - loss: 0.6342 - accuracy: 0.7572 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5040 - accuracy: 0.7938 +58/92 [=================>............] - ETA: 1s - loss: 0.6363 - accuracy: 0.7565 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5066 - accuracy: 0.7947 +59/92 [==================>...........] - ETA: 1s - loss: 0.6343 - accuracy: 0.7569 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5050 - accuracy: 0.7945 +60/92 [==================>...........] - ETA: 1s - loss: 0.6325 - accuracy: 0.7578 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.5061 - accuracy: 0.7948 +61/92 [==================>...........] - ETA: 1s - loss: 0.6320 - accuracy: 0.7577 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5078 - accuracy: 0.7945 +62/92 [===================>..........] - ETA: 1s - loss: 0.6308 - accuracy: 0.7586 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5126 - accuracy: 0.7928 +63/92 [===================>..........] - ETA: 1s - loss: 0.6304 - accuracy: 0.7590 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5155 - accuracy: 0.7922 +64/92 [===================>..........] - ETA: 1s - loss: 0.6276 - accuracy: 0.7608 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5124 - accuracy: 0.7939 +65/92 [====================>.........] - ETA: 1s - loss: 0.6340 - accuracy: 0.7582 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5136 - accuracy: 0.7928 +66/92 [====================>.........] - ETA: 1s - loss: 0.6340 - accuracy: 0.7590 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5174 - accuracy: 0.7926 +67/92 [====================>.........] - ETA: 1s - loss: 0.6347 - accuracy: 0.7580 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5179 - accuracy: 0.7920 +68/92 [=====================>........] - ETA: 1s - loss: 0.6398 - accuracy: 0.7560 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5169 - accuracy: 0.7932 +69/92 [=====================>........] - ETA: 1s - loss: 0.6405 - accuracy: 0.7541 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5202 - accuracy: 0.7912 +70/92 [=====================>........] - ETA: 1s - loss: 0.6445 - accuracy: 0.7518 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5185 - accuracy: 0.7924 +71/92 [======================>.......] - ETA: 1s - loss: 0.6482 - accuracy: 0.7513 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5211 - accuracy: 0.7918 +72/92 [======================>.......] - ETA: 1s - loss: 0.6499 - accuracy: 0.7500 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5206 - accuracy: 0.7921 +73/92 [======================>.......] - ETA: 1s - loss: 0.6494 - accuracy: 0.7509 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5220 - accuracy: 0.7919 +74/92 [=======================>......] - ETA: 1s - loss: 0.6503 - accuracy: 0.7513 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5210 - accuracy: 0.7926 +75/92 [=======================>......] - ETA: 0s - loss: 0.6487 - accuracy: 0.7525 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5262 - accuracy: 0.7921 +76/92 [=======================>......] - ETA: 0s - loss: 0.6495 - accuracy: 0.7529 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5250 - accuracy: 0.7932 +77/92 [========================>.....] - ETA: 0s - loss: 0.6519 - accuracy: 0.7529 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5230 - accuracy: 0.7946 +78/92 [========================>.....] - ETA: 0s - loss: 0.6511 - accuracy: 0.7536 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5202 - accuracy: 0.7960 +79/92 [========================>.....] - ETA: 0s - loss: 0.6495 - accuracy: 0.7552 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5249 - accuracy: 0.7951 +80/92 [=========================>....] - ETA: 0s - loss: 0.6484 - accuracy: 0.7551 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5240 - accuracy: 0.7961 +81/92 [=========================>....] - ETA: 0s - loss: 0.6463 - accuracy: 0.7562 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5281 - accuracy: 0.7947 +82/92 [=========================>....] - ETA: 0s - loss: 0.6455 - accuracy: 0.7569 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5273 - accuracy: 0.7949 +83/92 [==========================>...] - ETA: 0s - loss: 0.6443 - accuracy: 0.7579 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5290 - accuracy: 0.7955 +84/92 [==========================>...] - ETA: 0s - loss: 0.6464 - accuracy: 0.7556 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5310 - accuracy: 0.7942 +85/92 [==========================>...] - ETA: 0s - loss: 0.6444 - accuracy: 0.7566 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5306 - accuracy: 0.7941 +86/92 [===========================>..] - ETA: 0s - loss: 0.6430 - accuracy: 0.7573 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5299 - accuracy: 0.7950 +87/92 [===========================>..] - ETA: 0s - loss: 0.6428 - accuracy: 0.7568 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5285 - accuracy: 0.7952 +88/92 [===========================>..] - ETA: 0s - loss: 0.6419 - accuracy: 0.7564 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5271 - accuracy: 0.7961 +89/92 [============================>.] - ETA: 0s - loss: 0.6398 - accuracy: 0.7567 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5280 - accuracy: 0.7953 +90/92 [============================>.] - ETA: 0s - loss: 0.6389 - accuracy: 0.7570 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5281 - accuracy: 0.7948 +91/92 [============================>.] - ETA: 0s - loss: 0.6400 - accuracy: 0.7562 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5282 - accuracy: 0.7943 +92/92 [==============================] - ETA: 0s - loss: 0.6398 - accuracy: 0.7558 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5282 - accuracy: 0.7943 - val_loss: 0.7076 - val_accuracy: 0.7289 +92/92 [==============================] - 6s 64ms/step - loss: 0.6398 - accuracy: 0.7558 - val_loss: 0.7777 - val_accuracy: 0.6948 .. parsed-literal:: @@ -6464,462 +6618,462 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.6387 - accuracy: 0.8125 + 1/92 [..............................] - ETA: 7s - loss: 0.4261 - accuracy: 0.8750 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.6002 - accuracy: 0.8438 + 2/92 [..............................] - ETA: 5s - loss: 0.5132 - accuracy: 0.8438 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.5437 - accuracy: 0.8438 + 3/92 [..............................] - ETA: 5s - loss: 0.5510 - accuracy: 0.7708 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.5291 - accuracy: 0.8281 + 4/92 [>.............................] - ETA: 5s - loss: 0.5898 - accuracy: 0.7422 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.5776 - accuracy: 0.8250 + 5/92 [>.............................] - ETA: 5s - loss: 0.5904 - accuracy: 0.7500 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.5498 - accuracy: 0.8333 + 6/92 [>.............................] - ETA: 4s - loss: 0.5960 - accuracy: 0.7552 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.5494 - accuracy: 0.8348 + 7/92 [=>............................] - ETA: 4s - loss: 0.5943 - accuracy: 0.7500 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.5663 - accuracy: 0.8242 + 8/92 [=>............................] - ETA: 4s - loss: 0.5583 - accuracy: 0.7695 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.5545 - accuracy: 0.8264 + 9/92 [=>............................] - ETA: 4s - loss: 0.5586 - accuracy: 0.7674 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5389 - accuracy: 0.8281 +10/92 [==>...........................] - ETA: 4s - loss: 0.5563 - accuracy: 0.7781 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5345 - accuracy: 0.8295 +11/92 [==>...........................] - ETA: 4s - loss: 0.5574 - accuracy: 0.7756 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5414 - accuracy: 0.8229 +12/92 [==>...........................] - ETA: 4s - loss: 0.5506 - accuracy: 0.7786 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5402 - accuracy: 0.8149 +13/92 [===>..........................] - ETA: 4s - loss: 0.5592 - accuracy: 0.7788 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5431 - accuracy: 0.8103 +14/92 [===>..........................] - ETA: 4s - loss: 0.5578 - accuracy: 0.7746 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5376 - accuracy: 0.8125 +15/92 [===>..........................] - ETA: 4s - loss: 0.5770 - accuracy: 0.7667 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5240 - accuracy: 0.8184 +16/92 [====>.........................] - ETA: 4s - loss: 0.5725 - accuracy: 0.7695 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5158 - accuracy: 0.8199 +17/92 [====>.........................] - ETA: 4s - loss: 0.5689 - accuracy: 0.7739 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5021 - accuracy: 0.8229 +18/92 [====>.........................] - ETA: 4s - loss: 0.5653 - accuracy: 0.7778 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5021 - accuracy: 0.8240 +19/92 [=====>........................] - ETA: 4s - loss: 0.5729 - accuracy: 0.7730 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5007 - accuracy: 0.8281 +20/92 [=====>........................] - ETA: 4s - loss: 0.5793 - accuracy: 0.7719 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.4921 - accuracy: 0.8304 +21/92 [=====>........................] - ETA: 4s - loss: 0.5779 - accuracy: 0.7738 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.4914 - accuracy: 0.8310 +22/92 [======>.......................] - ETA: 4s - loss: 0.5852 - accuracy: 0.7685 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.4924 - accuracy: 0.8302 +23/92 [======>.......................] - ETA: 3s - loss: 0.5810 - accuracy: 0.7704 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.4931 - accuracy: 0.8281 +24/92 [======>.......................] - ETA: 3s - loss: 0.5964 - accuracy: 0.7604 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.4863 - accuracy: 0.8313 +25/92 [=======>......................] - ETA: 3s - loss: 0.6061 - accuracy: 0.7600 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.4891 - accuracy: 0.8281 +26/92 [=======>......................] - ETA: 3s - loss: 0.6080 - accuracy: 0.7572 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.4933 - accuracy: 0.8241 +27/92 [=======>......................] - ETA: 3s - loss: 0.6155 - accuracy: 0.7569 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.4928 - accuracy: 0.8237 +28/92 [========>.....................] - ETA: 3s - loss: 0.6166 - accuracy: 0.7567 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.4911 - accuracy: 0.8244 +29/92 [========>.....................] - ETA: 3s - loss: 0.6179 - accuracy: 0.7565 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.4926 - accuracy: 0.8219 +30/92 [========>.....................] - ETA: 3s - loss: 0.6113 - accuracy: 0.7583 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.4898 - accuracy: 0.8226 +31/92 [=========>....................] - ETA: 3s - loss: 0.6072 - accuracy: 0.7621 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.4861 - accuracy: 0.8232 +32/92 [=========>....................] - ETA: 3s - loss: 0.6094 - accuracy: 0.7627 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.4873 - accuracy: 0.8248 +34/92 [==========>...................] - ETA: 3s - loss: 0.6160 - accuracy: 0.7630 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.4906 - accuracy: 0.8226 +35/92 [==========>...................] - ETA: 3s - loss: 0.6133 - accuracy: 0.7653 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.4893 - accuracy: 0.8232 +36/92 [==========>...................] - ETA: 3s - loss: 0.6064 - accuracy: 0.7692 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.4873 - accuracy: 0.8238 +37/92 [===========>..................] - ETA: 3s - loss: 0.6016 - accuracy: 0.7713 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.4842 - accuracy: 0.8243 +38/92 [===========>..................] - ETA: 3s - loss: 0.5976 - accuracy: 0.7732 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.4896 - accuracy: 0.8224 +39/92 [===========>..................] - ETA: 3s - loss: 0.5938 - accuracy: 0.7758 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.4949 - accuracy: 0.8213 +40/92 [============>.................] - ETA: 2s - loss: 0.5896 - accuracy: 0.7775 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.4961 - accuracy: 0.8203 +41/92 [============>.................] - ETA: 2s - loss: 0.5981 - accuracy: 0.7745 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.4963 - accuracy: 0.8186 +42/92 [============>.................] - ETA: 2s - loss: 0.5944 - accuracy: 0.7769 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.4912 - accuracy: 0.8199 +43/92 [=============>................] - ETA: 2s - loss: 0.5974 - accuracy: 0.7749 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.4910 - accuracy: 0.8190 +44/92 [=============>................] - ETA: 2s - loss: 0.5971 - accuracy: 0.7743 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.4977 - accuracy: 0.8168 +45/92 [=============>................] - ETA: 2s - loss: 0.5972 - accuracy: 0.7751 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.4948 - accuracy: 0.8181 +46/92 [==============>...............] - ETA: 2s - loss: 0.5985 - accuracy: 0.7746 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.4945 - accuracy: 0.8186 +47/92 [==============>...............] - ETA: 2s - loss: 0.6010 - accuracy: 0.7721 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.4922 - accuracy: 0.8191 +48/92 [==============>...............] - ETA: 2s - loss: 0.6030 - accuracy: 0.7709 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.4927 - accuracy: 0.8197 +49/92 [==============>...............] - ETA: 2s - loss: 0.6040 - accuracy: 0.7686 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.4932 - accuracy: 0.8182 +50/92 [===============>..............] - ETA: 2s - loss: 0.6054 - accuracy: 0.7701 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.4982 - accuracy: 0.8150 +51/92 [===============>..............] - ETA: 2s - loss: 0.6080 - accuracy: 0.7685 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.4999 - accuracy: 0.8143 +52/92 [===============>..............] - ETA: 2s - loss: 0.6174 - accuracy: 0.7645 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.4994 - accuracy: 0.8143 +53/92 [================>.............] - ETA: 2s - loss: 0.6172 - accuracy: 0.7660 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.4985 - accuracy: 0.8143 +54/92 [================>.............] - ETA: 2s - loss: 0.6193 - accuracy: 0.7651 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.4949 - accuracy: 0.8166 +55/92 [================>.............] - ETA: 2s - loss: 0.6172 - accuracy: 0.7666 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.4949 - accuracy: 0.8159 +56/92 [=================>............] - ETA: 2s - loss: 0.6150 - accuracy: 0.7674 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.4982 - accuracy: 0.8147 +57/92 [=================>............] - ETA: 2s - loss: 0.6115 - accuracy: 0.7687 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.4960 - accuracy: 0.8163 +58/92 [=================>............] - ETA: 1s - loss: 0.6124 - accuracy: 0.7689 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.4979 - accuracy: 0.8157 +59/92 [==================>...........] - ETA: 1s - loss: 0.6117 - accuracy: 0.7697 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.4970 - accuracy: 0.8146 +60/92 [==================>...........] - ETA: 1s - loss: 0.6089 - accuracy: 0.7714 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.4978 - accuracy: 0.8135 +61/92 [==================>...........] - ETA: 1s - loss: 0.6065 - accuracy: 0.7721 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.4996 - accuracy: 0.8140 +62/92 [===================>..........] - ETA: 1s - loss: 0.6043 - accuracy: 0.7733 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5017 - accuracy: 0.8125 +63/92 [===================>..........] - ETA: 1s - loss: 0.6059 - accuracy: 0.7734 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5063 - accuracy: 0.8118 +64/92 [===================>..........] - ETA: 1s - loss: 0.6050 - accuracy: 0.7735 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5084 - accuracy: 0.8103 +65/92 [====================>.........] - ETA: 1s - loss: 0.6022 - accuracy: 0.7751 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5068 - accuracy: 0.8113 +66/92 [====================>.........] - ETA: 1s - loss: 0.6021 - accuracy: 0.7747 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5079 - accuracy: 0.8109 +67/92 [====================>.........] - ETA: 1s - loss: 0.6032 - accuracy: 0.7748 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5090 - accuracy: 0.8100 +68/92 [=====================>........] - ETA: 1s - loss: 0.6043 - accuracy: 0.7749 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5133 - accuracy: 0.8073 +69/92 [=====================>........] - ETA: 1s - loss: 0.6087 - accuracy: 0.7736 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5160 - accuracy: 0.8065 +70/92 [=====================>........] - ETA: 1s - loss: 0.6058 - accuracy: 0.7746 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5148 - accuracy: 0.8065 +71/92 [======================>.......] - ETA: 1s - loss: 0.6083 - accuracy: 0.7730 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5146 - accuracy: 0.8062 +72/92 [======================>.......] - ETA: 1s - loss: 0.6081 - accuracy: 0.7722 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5126 - accuracy: 0.8076 +73/92 [======================>.......] - ETA: 1s - loss: 0.6062 - accuracy: 0.7728 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5155 - accuracy: 0.8051 +74/92 [=======================>......] - ETA: 1s - loss: 0.6061 - accuracy: 0.7716 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5143 - accuracy: 0.8060 +75/92 [=======================>......] - ETA: 0s - loss: 0.6055 - accuracy: 0.7722 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5148 - accuracy: 0.8045 +76/92 [=======================>......] - ETA: 0s - loss: 0.6044 - accuracy: 0.7723 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5138 - accuracy: 0.8046 +77/92 [========================>.....] - ETA: 0s - loss: 0.6056 - accuracy: 0.7720 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5131 - accuracy: 0.8051 +78/92 [========================>.....] - ETA: 0s - loss: 0.6074 - accuracy: 0.7725 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5123 - accuracy: 0.8060 +79/92 [========================>.....] - ETA: 0s - loss: 0.6077 - accuracy: 0.7722 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5121 - accuracy: 0.8060 +80/92 [=========================>....] - ETA: 0s - loss: 0.6080 - accuracy: 0.7727 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5118 - accuracy: 0.8061 +81/92 [=========================>....] - ETA: 0s - loss: 0.6068 - accuracy: 0.7732 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5117 - accuracy: 0.8054 +82/92 [=========================>....] - ETA: 0s - loss: 0.6091 - accuracy: 0.7733 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5137 - accuracy: 0.8063 +83/92 [==========================>...] - ETA: 0s - loss: 0.6109 - accuracy: 0.7738 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5165 - accuracy: 0.8049 +84/92 [==========================>...] - ETA: 0s - loss: 0.6099 - accuracy: 0.7739 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5150 - accuracy: 0.8053 +85/92 [==========================>...] - ETA: 0s - loss: 0.6088 - accuracy: 0.7751 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5142 - accuracy: 0.8054 +86/92 [===========================>..] - ETA: 0s - loss: 0.6102 - accuracy: 0.7733 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5151 - accuracy: 0.8058 +87/92 [===========================>..] - ETA: 0s - loss: 0.6095 - accuracy: 0.7734 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5120 - accuracy: 0.8080 +88/92 [===========================>..] - ETA: 0s - loss: 0.6101 - accuracy: 0.7735 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5143 - accuracy: 0.8077 +89/92 [============================>.] - ETA: 0s - loss: 0.6092 - accuracy: 0.7736 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5141 - accuracy: 0.8075 +90/92 [============================>.] - ETA: 0s - loss: 0.6088 - accuracy: 0.7740 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5126 - accuracy: 0.8075 +91/92 [============================>.] - ETA: 0s - loss: 0.6091 - accuracy: 0.7741 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5103 - accuracy: 0.8089 +92/92 [==============================] - ETA: 0s - loss: 0.6112 - accuracy: 0.7728 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5103 - accuracy: 0.8089 - val_loss: 0.6848 - val_accuracy: 0.7507 +92/92 [==============================] - 6s 64ms/step - loss: 0.6112 - accuracy: 0.7728 - val_loss: 0.7446 - val_accuracy: 0.7180 .. parsed-literal:: @@ -6930,533 +7084,533 @@ notebook. This will take a while. .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.7010 - accuracy: 0.7500 + 1/92 [..............................] - ETA: 7s - loss: 0.7172 - accuracy: 0.7500 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5184 - accuracy: 0.8281 + 2/92 [..............................] - ETA: 5s - loss: 0.6898 - accuracy: 0.7188 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.4646 - accuracy: 0.8542 + 3/92 [..............................] - ETA: 5s - loss: 0.6331 - accuracy: 0.7396 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.4931 - accuracy: 0.8203 + 4/92 [>.............................] - ETA: 5s - loss: 0.6351 - accuracy: 0.7344 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.4735 - accuracy: 0.8250 + 5/92 [>.............................] - ETA: 5s - loss: 0.6131 - accuracy: 0.7500 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.4644 - accuracy: 0.8281 + 6/92 [>.............................] - ETA: 5s - loss: 0.6061 - accuracy: 0.7656 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.4866 - accuracy: 0.8214 + 7/92 [=>............................] - ETA: 4s - loss: 0.6028 - accuracy: 0.7723 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.4726 - accuracy: 0.8320 + 8/92 [=>............................] - ETA: 4s - loss: 0.5966 - accuracy: 0.7773 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.4768 - accuracy: 0.8333 + 9/92 [=>............................] - ETA: 4s - loss: 0.5947 - accuracy: 0.7639 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.4843 - accuracy: 0.8250 +10/92 [==>...........................] - ETA: 4s - loss: 0.6258 - accuracy: 0.7563 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.4768 - accuracy: 0.8295 +11/92 [==>...........................] - ETA: 4s - loss: 0.6195 - accuracy: 0.7557 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.4784 - accuracy: 0.8281 +12/92 [==>...........................] - ETA: 4s - loss: 0.6263 - accuracy: 0.7500 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.4701 - accuracy: 0.8317 +13/92 [===>..........................] - ETA: 4s - loss: 0.6249 - accuracy: 0.7524 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.4757 - accuracy: 0.8326 +14/92 [===>..........................] - ETA: 4s - loss: 0.6133 - accuracy: 0.7567 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5012 - accuracy: 0.8250 +15/92 [===>..........................] - ETA: 4s - loss: 0.5968 - accuracy: 0.7646 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5148 - accuracy: 0.8242 +16/92 [====>.........................] - ETA: 4s - loss: 0.5936 - accuracy: 0.7676 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5074 - accuracy: 0.8272 +17/92 [====>.........................] - ETA: 4s - loss: 0.5926 - accuracy: 0.7665 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5014 - accuracy: 0.8316 +18/92 [====>.........................] - ETA: 4s - loss: 0.5875 - accuracy: 0.7691 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.4970 - accuracy: 0.8355 +19/92 [=====>........................] - ETA: 4s - loss: 0.5894 - accuracy: 0.7697 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5039 - accuracy: 0.8344 +20/92 [=====>........................] - ETA: 4s - loss: 0.5951 - accuracy: 0.7703 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5050 - accuracy: 0.8318 +21/92 [=====>........................] - ETA: 4s - loss: 0.5969 - accuracy: 0.7708 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5021 - accuracy: 0.8310 +22/92 [======>.......................] - ETA: 4s - loss: 0.5999 - accuracy: 0.7699 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.5047 - accuracy: 0.8274 +23/92 [======>.......................] - ETA: 4s - loss: 0.5981 - accuracy: 0.7717 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5070 - accuracy: 0.8242 +24/92 [======>.......................] - ETA: 3s - loss: 0.5957 - accuracy: 0.7721 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5049 - accuracy: 0.8250 +25/92 [=======>......................] - ETA: 3s - loss: 0.5867 - accuracy: 0.7750 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.5015 - accuracy: 0.8257 +26/92 [=======>......................] - ETA: 3s - loss: 0.5860 - accuracy: 0.7752 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.5006 - accuracy: 0.8252 +27/92 [=======>......................] - ETA: 3s - loss: 0.5902 - accuracy: 0.7720 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.5054 - accuracy: 0.8237 +28/92 [========>.....................] - ETA: 3s - loss: 0.5927 - accuracy: 0.7679 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.4996 - accuracy: 0.8265 +29/92 [========>.....................] - ETA: 3s - loss: 0.5968 - accuracy: 0.7672 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5036 - accuracy: 0.8260 +30/92 [========>.....................] - ETA: 3s - loss: 0.5930 - accuracy: 0.7677 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5007 - accuracy: 0.8266 +31/92 [=========>....................] - ETA: 3s - loss: 0.5927 - accuracy: 0.7692 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.4991 - accuracy: 0.8262 +32/92 [=========>....................] - ETA: 3s - loss: 0.5898 - accuracy: 0.7695 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.4956 - accuracy: 0.8267 +33/92 [=========>....................] - ETA: 3s - loss: 0.5950 - accuracy: 0.7661 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.4931 - accuracy: 0.8281 +34/92 [==========>...................] - ETA: 3s - loss: 0.5884 - accuracy: 0.7693 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.4939 - accuracy: 0.8277 +35/92 [==========>...................] - ETA: 3s - loss: 0.5948 - accuracy: 0.7670 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.4956 - accuracy: 0.8255 +36/92 [==========>...................] - ETA: 3s - loss: 0.5938 - accuracy: 0.7682 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.4925 - accuracy: 0.8260 +37/92 [===========>..................] - ETA: 3s - loss: 0.5942 - accuracy: 0.7686 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.4896 - accuracy: 0.8273 +38/92 [===========>..................] - ETA: 3s - loss: 0.5992 - accuracy: 0.7656 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.4900 - accuracy: 0.8253 +39/92 [===========>..................] - ETA: 3s - loss: 0.5962 - accuracy: 0.7676 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.4936 - accuracy: 0.8234 +40/92 [============>.................] - ETA: 3s - loss: 0.5981 - accuracy: 0.7672 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.4889 - accuracy: 0.8247 +41/92 [============>.................] - ETA: 2s - loss: 0.5995 - accuracy: 0.7675 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.4894 - accuracy: 0.8237 +42/92 [============>.................] - ETA: 2s - loss: 0.5977 - accuracy: 0.7693 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.4867 - accuracy: 0.8234 +43/92 [=============>................] - ETA: 2s - loss: 0.5971 - accuracy: 0.7711 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.4905 - accuracy: 0.8239 +44/92 [=============>................] - ETA: 2s - loss: 0.5994 - accuracy: 0.7692 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.4889 - accuracy: 0.8231 +45/92 [=============>................] - ETA: 2s - loss: 0.5988 - accuracy: 0.7694 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.4903 - accuracy: 0.8222 +46/92 [==============>...............] - ETA: 2s - loss: 0.5967 - accuracy: 0.7711 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.4863 - accuracy: 0.8240 +47/92 [==============>...............] - ETA: 2s - loss: 0.5953 - accuracy: 0.7726 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.4882 - accuracy: 0.8244 +49/92 [==============>...............] - ETA: 2s - loss: 0.5901 - accuracy: 0.7756 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.4976 - accuracy: 0.8222 +50/92 [===============>..............] - ETA: 2s - loss: 0.5903 - accuracy: 0.7758 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.4954 - accuracy: 0.8233 +51/92 [===============>..............] - ETA: 2s - loss: 0.5900 - accuracy: 0.7759 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.4954 - accuracy: 0.8219 +52/92 [===============>..............] - ETA: 2s - loss: 0.5938 - accuracy: 0.7748 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.4902 - accuracy: 0.8252 +53/92 [================>.............] - ETA: 2s - loss: 0.5955 - accuracy: 0.7749 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.4923 - accuracy: 0.8221 +54/92 [================>.............] - ETA: 2s - loss: 0.5915 - accuracy: 0.7767 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.4875 - accuracy: 0.8236 +55/92 [================>.............] - ETA: 2s - loss: 0.5903 - accuracy: 0.7768 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.4829 - accuracy: 0.8257 +56/92 [=================>............] - ETA: 2s - loss: 0.5884 - accuracy: 0.7775 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.4817 - accuracy: 0.8254 +57/92 [=================>............] - ETA: 2s - loss: 0.5933 - accuracy: 0.7753 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.4882 - accuracy: 0.8236 +58/92 [=================>............] - ETA: 1s - loss: 0.5904 - accuracy: 0.7765 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.4919 - accuracy: 0.8223 +59/92 [==================>...........] - ETA: 1s - loss: 0.5885 - accuracy: 0.7771 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.4974 - accuracy: 0.8201 +60/92 [==================>...........] - ETA: 1s - loss: 0.5849 - accuracy: 0.7788 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.4968 - accuracy: 0.8205 +61/92 [==================>...........] - ETA: 1s - loss: 0.5820 - accuracy: 0.7798 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5021 - accuracy: 0.8188 +62/92 [===================>..........] - ETA: 1s - loss: 0.5856 - accuracy: 0.7768 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5008 - accuracy: 0.8182 +63/92 [===================>..........] - ETA: 1s - loss: 0.5818 - accuracy: 0.7784 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.4989 - accuracy: 0.8186 +64/92 [===================>..........] - ETA: 1s - loss: 0.5835 - accuracy: 0.7779 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5016 - accuracy: 0.8181 +65/92 [====================>.........] - ETA: 1s - loss: 0.5837 - accuracy: 0.7785 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5053 - accuracy: 0.8175 +66/92 [====================>.........] - ETA: 1s - loss: 0.5860 - accuracy: 0.7776 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5099 - accuracy: 0.8155 +67/92 [====================>.........] - ETA: 1s - loss: 0.5855 - accuracy: 0.7776 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5115 - accuracy: 0.8155 +68/92 [=====================>........] - ETA: 1s - loss: 0.5883 - accuracy: 0.7772 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5109 - accuracy: 0.8155 +69/92 [=====================>........] - ETA: 1s - loss: 0.5883 - accuracy: 0.7768 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5154 - accuracy: 0.8127 +70/92 [=====================>........] - ETA: 1s - loss: 0.5879 - accuracy: 0.7764 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5164 - accuracy: 0.8127 +71/92 [======================>.......] - ETA: 1s - loss: 0.5860 - accuracy: 0.7765 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5157 - accuracy: 0.8140 +72/92 [======================>.......] - ETA: 1s - loss: 0.5857 - accuracy: 0.7770 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5155 - accuracy: 0.8149 +73/92 [======================>.......] - ETA: 1s - loss: 0.5873 - accuracy: 0.7766 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5127 - accuracy: 0.8165 +74/92 [=======================>......] - ETA: 1s - loss: 0.5881 - accuracy: 0.7767 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5144 - accuracy: 0.8165 +75/92 [=======================>......] - ETA: 0s - loss: 0.5885 - accuracy: 0.7759 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5154 - accuracy: 0.8172 +76/92 [=======================>......] - ETA: 0s - loss: 0.5900 - accuracy: 0.7748 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5132 - accuracy: 0.8184 +77/92 [========================>.....] - ETA: 0s - loss: 0.5888 - accuracy: 0.7757 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5121 - accuracy: 0.8191 +78/92 [========================>.....] - ETA: 0s - loss: 0.5946 - accuracy: 0.7729 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5109 - accuracy: 0.8198 +79/92 [========================>.....] - ETA: 0s - loss: 0.5968 - accuracy: 0.7722 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5092 - accuracy: 0.8209 +80/92 [=========================>....] - ETA: 0s - loss: 0.5973 - accuracy: 0.7723 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5093 - accuracy: 0.8212 +81/92 [=========================>....] - ETA: 0s - loss: 0.5966 - accuracy: 0.7721 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5106 - accuracy: 0.8203 +82/92 [=========================>....] - ETA: 0s - loss: 0.5950 - accuracy: 0.7722 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5089 - accuracy: 0.8206 +83/92 [==========================>...] - ETA: 0s - loss: 0.5967 - accuracy: 0.7715 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5078 - accuracy: 0.8209 +84/92 [==========================>...] - ETA: 0s - loss: 0.6001 - accuracy: 0.7694 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5081 - accuracy: 0.8208 +85/92 [==========================>...] - ETA: 0s - loss: 0.5977 - accuracy: 0.7710 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5088 - accuracy: 0.8200 +86/92 [===========================>..] - ETA: 0s - loss: 0.5969 - accuracy: 0.7715 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5079 - accuracy: 0.8192 +87/92 [===========================>..] - ETA: 0s - loss: 0.5970 - accuracy: 0.7716 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5072 - accuracy: 0.8202 +88/92 [===========================>..] - ETA: 0s - loss: 0.5964 - accuracy: 0.7717 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5058 - accuracy: 0.8201 +89/92 [============================>.] - ETA: 0s - loss: 0.5970 - accuracy: 0.7711 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5062 - accuracy: 0.8193 +90/92 [============================>.] - ETA: 0s - loss: 0.5947 - accuracy: 0.7723 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5076 - accuracy: 0.8189 +91/92 [============================>.] - ETA: 0s - loss: 0.5965 - accuracy: 0.7713 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5075 - accuracy: 0.8185 +92/92 [==============================] - ETA: 0s - loss: 0.5970 - accuracy: 0.7718 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5075 - accuracy: 0.8185 - val_loss: 0.6563 - val_accuracy: 0.7425 +92/92 [==============================] - 6s 64ms/step - loss: 0.5970 - accuracy: 0.7718 - val_loss: 0.7530 - val_accuracy: 0.7112 -.. image:: 301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1452.png +.. image:: tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1467.png .. parsed-literal:: - 1/1 [==============================] - ETA: 0s + 1/1 [==============================] - ETA: 0s .. parsed-literal::  - 1/1 [==============================] - 0s 78ms/step +1/1 [==============================] - 0s 75ms/step .. parsed-literal:: - This image most likely belongs to sunflowers with a 99.74 percent confidence. + This image most likely belongs to sunflowers with a 86.22 percent confidence. .. parsed-literal:: - 2024-03-13 01:01:33.965755: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.664989: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] [[{{node random_flip_input}}]] - 2024-03-13 01:01:34.051093: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.761394: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.061726: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.772169: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] [[{{node random_flip_input}}]] - 2024-03-13 01:01:34.073459: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.784031: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.080567: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.791410: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.087476: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.798592: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.098574: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.810122: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.137415: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.851227: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] [[{{node sequential_1_input}}]] .. parsed-literal:: - 2024-03-13 01:01:34.205352: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.923722: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.225505: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:42.945679: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] [[{{node sequential_1_input}}]] - 2024-03-13 01:01:34.263910: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] + 2024-04-18 01:13:42.987699: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] [[{{node inputs}}]] - 2024-03-13 01:01:34.288270: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:43.012752: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + [[{{node inputs}}]] + 2024-04-18 01:13:43.090809: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] .. parsed-literal:: - 2024-03-13 01:01:34.526623: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] - [[{{node inputs}}]] - 2024-03-13 01:01:34.665874: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:43.248083: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] .. parsed-literal:: - 2024-03-13 01:01:34.801730: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] + 2024-04-18 01:13:43.562029: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] [[{{node inputs}}]] - 2024-03-13 01:01:34.835860: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:43.598798: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.863528: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:43.628830: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:01:34.909392: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:13:43.679003: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _update_step_xla while saving (showing 4 of 4). These functions will not be directly callable after loading. @@ -7481,11 +7635,11 @@ notebook. This will take a while. (1, 180, 180, 3) [1,180,180,3] - This image most likely belongs to dandelion with a 99.50 percent confidence. + This image most likely belongs to dandelion with a 97.36 percent confidence. -.. image:: 301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_3_1464.png +.. image:: tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1479.png Imports @@ -7498,8 +7652,6 @@ library. .. code:: ipython3 - import sys - import matplotlib.pyplot as plt import numpy as np import nncf @@ -7508,7 +7660,14 @@ library. from PIL import Image from sklearn.metrics import accuracy_score - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file @@ -7540,12 +7699,12 @@ The validation dataset already defined in the training notebook. img_height = 180 img_width = 180 val_dataset = tf.keras.preprocessing.image_dataset_from_directory( - data_dir, - validation_split=0.2, - subset="validation", - seed=123, - image_size=(img_height, img_width), - batch_size=1 + data_dir, + validation_split=0.2, + subset="validation", + seed=123, + image_size=(img_height, img_width), + batch_size=1, ) for a, b in val_dataset: @@ -7566,10 +7725,10 @@ The validation dataset already defined in the training notebook. .. parsed-literal:: - 2024-03-13 01:01:37.480859: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [734] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:01:37.481108: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [734] + 2024-04-18 01:13:46.645327: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [734] [[{{node Placeholder/_4}}]] + 2024-04-18 01:13:46.645607: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [734] + [[{{node Placeholder/_0}}]] The validation dataset can be reused in quantization process. But it @@ -7606,11 +7765,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/live.py", line 32, in run @@ -7673,7 +7828,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/live.py", line 223, in refresh @@ -7691,7 +7846,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/live.py", line 203, in renderable @@ -7709,7 +7864,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/live.py", line 98, in get_renderable @@ -7727,7 +7882,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/progress.py", line 1537, in get_renderable @@ -7745,7 +7900,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/progress.py", line 1542, in get_renderables @@ -7763,7 +7918,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/progress.py", line 1566, in make_tasks_table @@ -7781,7 +7936,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/progress.py", line 1571, in <genexpr> @@ -7799,7 +7954,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/progress.py", line 528, in __call__ @@ -7817,7 +7972,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/nncf/common/logging/track_progress.py", line 58, in render @@ -7835,7 +7990,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/progress.py", line 787, in render @@ -7853,7 +8008,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/rich/progress.py", line 1039, in time_remaining @@ -7871,7 +8026,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/tensorflow/python/util/traceback_utils.py", line 153, in error_handler @@ -7889,7 +8044,7 @@ control File - "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/si + "/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/si te-packages/tensorflow/python/ops/math_ops.py", line 1569, in _truediv_python3 @@ -7968,9 +8123,9 @@ select device from dropdown list for running inference using OpenVINO import ipywidgets as widgets device = widgets.Dropdown( - options=core.available_devices + ["AUTO"] if not "GPU" in core.available_devices else ["AUTO", "MULTY:CPU,GPU"], - value='AUTO', - description='Device:', + options=(core.available_devices + ["AUTO"] if not "GPU" in core.available_devices else ["AUTO", "MULTY:CPU,GPU"]), + value="AUTO", + description="Device:", disabled=False, ) @@ -8038,8 +8193,8 @@ Calculate accuracy for the original model and the quantized model. .. parsed-literal:: - Accuracy of the original model: 0.743 - Accuracy of the quantized model: 0.749 + Accuracy of the original model: 0.711 + Accuracy of the quantized model: 0.707 Compare file size of the models. @@ -8069,9 +8224,8 @@ Run Inference on Quantized Model Copy the preprocess function from the training notebook and run inference on the quantized model with Inference Engine. See the -`OpenVINO API tutorial <002-openvino-api-with-output.html>`__ -for more information about running inference with Inference Engine -Python API. +`OpenVINO API tutorial `__ for more +information about running inference with Inference Engine Python API. .. code:: ipython3 @@ -8098,20 +8252,18 @@ Python API. class_names = sorted([item.name for item in Path(data_dir).iterdir() if item.is_dir()]) # Run inference on an input image... - inp_img_url = ( - "https://upload.wikimedia.org/wikipedia/commons/4/48/A_Close_Up_Photo_of_a_Dandelion.jpg" - ) + inp_img_url = "https://upload.wikimedia.org/wikipedia/commons/4/48/A_Close_Up_Photo_of_a_Dandelion.jpg" directory = "output" inp_file_name = "A_Close_Up_Photo_of_a_Dandelion.jpg" - file_path = Path(directory)/Path(inp_file_name) + file_path = Path(directory) / Path(inp_file_name) # Download the image if it does not exist yet if not Path(inp_file_name).exists(): download_file(inp_img_url, inp_file_name, directory=directory) # Pre-process the image and get it ready for inference. input_image = pre_process_image(imagePath=file_path) - print(f'input image shape: {input_image.shape}') - print(f'input layer shape: {input_layer.shape}') + print(f"input image shape: {input_image.shape}") + print(f"input layer shape: {input_layer.shape}") res = quantized_compiled_model([input_image])[output_layer] @@ -8120,11 +8272,7 @@ Python API. # Show the results image = Image.open(file_path) plt.imshow(image) - print( - "This image most likely belongs to {} with a {:.2f} percent confidence.".format( - class_names[np.argmax(score)], 100 * np.max(score) - ) - ) + print("This image most likely belongs to {} with a {:.2f} percent confidence.".format(class_names[np.argmax(score)], 100 * np.max(score))) .. parsed-literal:: @@ -8132,15 +8280,11 @@ Python API. 'output/A_Close_Up_Photo_of_a_Dandelion.jpg' already exists. input image shape: (1, 180, 180, 3) input layer shape: [1,180,180,3] - - -.. parsed-literal:: - - This image most likely belongs to dandelion with a 99.53 percent confidence. + This image most likely belongs to dandelion with a 97.54 percent confidence. -.. image:: 301-tensorflow-training-openvino-nncf-with-output_files/301-tensorflow-training-openvino-nncf-with-output_27_2.png +.. image:: tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_27_1.png Compare Inference Speed @@ -8163,7 +8307,7 @@ number of seconds to run inference. See the for more information. This tutorial uses a wrapper function from `Notebook -Utils `__. +Utils `__. It prints the ``benchmark_app`` command with the chosen parameters. In the next cells, inference speed will be measured for the original and @@ -8205,6 +8349,10 @@ measured for CPU+GPU as well. The number of seconds is set to 15. [ INFO ] [ INFO ] Device info: [ INFO ] AUTO + + +.. parsed-literal:: + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] @@ -8212,7 +8360,7 @@ measured for CPU+GPU as well. The number of seconds is set to 15. [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 4.25 ms + [ INFO ] Read model took 4.36 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] sequential_1_input (node: sequential_1_input) : f32 / [...] / [1,180,180,3] @@ -8230,7 +8378,7 @@ measured for CPU+GPU as well. The number of seconds is set to 15. .. parsed-literal:: - [ INFO ] Compile model took 105.22 ms + [ INFO ] Compile model took 119.88 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: TensorFlow_Frontend_IR @@ -8245,10 +8393,6 @@ measured for CPU+GPU as well. The number of seconds is set to 15. [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 [ INFO ] ENABLE_CPU_PINNING: True [ INFO ] ENABLE_HYPER_THREADING: True - - -.. parsed-literal:: - [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE [ INFO ] INFERENCE_NUM_THREADS: 24 @@ -8269,21 +8413,21 @@ measured for CPU+GPU as well. The number of seconds is set to 15. [ INFO ] Fill input 'sequential_1_input' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 3.84 ms + [ INFO ] First inference took 4.01 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 55932 iterations - [ INFO ] Duration: 15004.24 ms + [ INFO ] Count: 55860 iterations + [ INFO ] Duration: 15002.77 ms [ INFO ] Latency: [ INFO ] Median: 3.03 ms - [ INFO ] Average: 3.03 ms - [ INFO ] Min: 1.72 ms - [ INFO ] Max: 11.92 ms - [ INFO ] Throughput: 3727.75 FPS + [ INFO ] Average: 3.04 ms + [ INFO ] Min: 1.44 ms + [ INFO ] Max: 13.17 ms + [ INFO ] Throughput: 3723.31 FPS .. code:: ipython3 @@ -8309,7 +8453,7 @@ measured for CPU+GPU as well. The number of seconds is set to 15. [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 4.62 ms + [ INFO ] Read model took 4.80 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] sequential_1_input (node: sequential_1_input) : f32 / [...] / [1,180,180,3] @@ -8327,7 +8471,7 @@ measured for CPU+GPU as well. The number of seconds is set to 15. .. parsed-literal:: - [ INFO ] Compile model took 113.92 ms + [ INFO ] Compile model took 105.05 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: TensorFlow_Frontend_IR @@ -8362,19 +8506,23 @@ measured for CPU+GPU as well. The number of seconds is set to 15. [ INFO ] Fill input 'sequential_1_input' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 1.72 ms + + +.. parsed-literal:: + + [ INFO ] First inference took 2.15 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 178524 iterations - [ INFO ] Duration: 15001.12 ms + [ INFO ] Count: 178632 iterations + [ INFO ] Duration: 15001.70 ms [ INFO ] Latency: [ INFO ] Median: 0.94 ms [ INFO ] Average: 0.97 ms - [ INFO ] Min: 0.61 ms - [ INFO ] Max: 13.42 ms - [ INFO ] Throughput: 11900.71 FPS + [ INFO ] Min: 0.58 ms + [ INFO ] Max: 7.07 ms + [ INFO ] Throughput: 11907.45 FPS diff --git a/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_27_1.png b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_27_1.png new file mode 100644 index 00000000000..e4613cff71b --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_27_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9fb281263ba8f686cb056799d79d05b223669f5fdb4d06edabcfadab0fa7a98 +size 143412 diff --git a/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1467.png b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1467.png new file mode 100644 index 00000000000..4a0d0fcf7a7 --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1467.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a1d3b7f61be4ede7104467e41c90a5f12dbf4d50c47588e44ae33d3b62b254a +size 53913 diff --git a/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1479.png b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1479.png new file mode 100644 index 00000000000..e4613cff71b --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_1479.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9fb281263ba8f686cb056799d79d05b223669f5fdb4d06edabcfadab0fa7a98 +size 143412 diff --git a/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_28.png b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_28.png new file mode 100644 index 00000000000..89b3ca92feb --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_28.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f7304b1c669a8fcc26df474661dc8ef0f1e04c15de8aca62a2307fe94ea1567 +size 941151 diff --git a/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_33.png b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_33.png new file mode 100644 index 00000000000..0ca5392acb2 --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-nncf-with-output_files/tensorflow-training-openvino-nncf-with-output_3_33.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa7ee379feccd2e22bf9adf46c32ca7d41f49516eb7d99d2e775d133041e5dcd +size 839192 diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output.rst b/docs/notebooks/tensorflow-training-openvino-with-output.rst similarity index 62% rename from docs/notebooks/301-tensorflow-training-openvino-with-output.rst rename to docs/notebooks/tensorflow-training-openvino-with-output.rst index 0719e2fb906..7c8889fdeba 100644 --- a/docs/notebooks/301-tensorflow-training-openvino-with-output.rst +++ b/docs/notebooks/tensorflow-training-openvino-with-output.rst @@ -62,7 +62,7 @@ notebook shows the process where we perform the inference step on the freshly trained model that is converted to OpenVINO IR with model conversion API. For faster inference speed on the model created in this notebook, check out the `Post-Training Quantization with TensorFlow -Classification Model <301-tensorflow-training-openvino-nncf-with-output.html>`__ +Classification Model <./tensorflow-training-openvino-nncf.ipynb>`__ notebook. This training code comprises the official `TensorFlow Image @@ -76,7 +76,100 @@ obtained by executing the code with ‘Runtime->Run All’ or the .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" + import platform + + %pip install -q "openvino>=2023.1.0" "pillow" "tqdm" + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + %pip install -q "tensorflow-macos>=2.5; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version > '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow-macos>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version <= '3.8'" # macOS M1 and M2 + %pip install -q "tensorflow>=2.5; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version > '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform == 'darwin' and platform_machine != 'arm64' and python_version <= '3.8'" # macOS x86 + %pip install -q "tensorflow>=2.5; sys_platform != 'darwin' and python_version > '3.8'" + %pip install -q "tensorflow>=2.5,<=2.12.0; sys_platform != 'darwin' and python_version <= '3.8'" + %pip install -q tf_keras + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -120,33 +213,38 @@ Import TensorFlow and Other Libraries .. code:: ipython3 import os - import sys from pathlib import Path + os.environ["TF_USE_LEGACY_KERAS"] = "1" + import PIL import matplotlib.pyplot as plt import numpy as np import tensorflow as tf from PIL import Image import openvino as ov - from tensorflow import keras - from tensorflow.keras import layers - from tensorflow.keras.models import Sequential - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file .. parsed-literal:: - 2024-03-13 01:02:24.497427: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 01:02:24.532546: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 01:14:56.038506: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 01:14:56.073274: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 01:02:25.044342: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 01:14:56.589731: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT Download and Explore the Dataset @@ -169,8 +267,9 @@ dataset contains 5 sub-directories, one per class: .. code:: ipython3 import pathlib + dataset_url = "https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz" - data_dir = tf.keras.utils.get_file('flower_photos', origin=dataset_url, untar=True) + data_dir = tf.keras.utils.get_file("flower_photos", origin=dataset_url, untar=True) data_dir = pathlib.Path(data_dir) After downloading, you should now have a copy of the dataset available. @@ -178,7 +277,7 @@ There are 3,670 total images: .. code:: ipython3 - image_count = len(list(data_dir.glob('*/*.jpg'))) + image_count = len(list(data_dir.glob("*/*.jpg"))) print(image_count) @@ -191,13 +290,13 @@ Here are some roses: .. code:: ipython3 - roses = list(data_dir.glob('roses/*')) + roses = list(data_dir.glob("roses/*")) PIL.Image.open(str(roses[0])) -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_14_0.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_14_0.png @@ -208,7 +307,7 @@ Here are some roses: -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_15_0.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_15_0.png @@ -216,13 +315,13 @@ And some tulips: .. code:: ipython3 - tulips = list(data_dir.glob('tulips/*')) + tulips = list(data_dir.glob("tulips/*")) PIL.Image.open(str(tulips[0])) -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_17_0.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_17_0.png @@ -233,7 +332,7 @@ And some tulips: -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_18_0.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_18_0.png @@ -269,12 +368,13 @@ Let’s use 80% of the images for training, and 20% for validation. .. code:: ipython3 train_ds = tf.keras.preprocessing.image_dataset_from_directory( - data_dir, - validation_split=0.2, - subset="training", - seed=123, - image_size=(img_height, img_width), - batch_size=batch_size) + data_dir, + validation_split=0.2, + subset="training", + seed=123, + image_size=(img_height, img_width), + batch_size=batch_size, + ) .. parsed-literal:: @@ -289,23 +389,24 @@ Let’s use 80% of the images for training, and 20% for validation. .. parsed-literal:: - 2024-03-13 01:02:28.106945: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW - 2024-03-13 01:02:28.106977: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 - 2024-03-13 01:02:28.106982: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 - 2024-03-13 01:02:28.107105: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 - 2024-03-13 01:02:28.107122: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 - 2024-03-13 01:02:28.107125: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration + 2024-04-18 01:14:59.925007: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:266] failed call to cuInit: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE: forward compatibility was attempted on non supported HW + 2024-04-18 01:14:59.925039: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:168] retrieving CUDA diagnostic information for host: iotg-dev-workstation-07 + 2024-04-18 01:14:59.925044: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:175] hostname: iotg-dev-workstation-07 + 2024-04-18 01:14:59.925173: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:199] libcuda reported version is: 470.223.2 + 2024-04-18 01:14:59.925190: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:203] kernel reported version is: 470.182.3 + 2024-04-18 01:14:59.925193: E tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:312] kernel version 470.182.3 does not match DSO version 470.223.2 -- cannot find working devices in this configuration .. code:: ipython3 val_ds = tf.keras.preprocessing.image_dataset_from_directory( - data_dir, - validation_split=0.2, - subset="validation", - seed=123, - image_size=(img_height, img_width), - batch_size=batch_size) + data_dir, + validation_split=0.2, + subset="validation", + seed=123, + image_size=(img_height, img_width), + batch_size=batch_size, + ) .. parsed-literal:: @@ -352,14 +453,14 @@ Here are the first 9 images from the training dataset. .. parsed-literal:: - 2024-03-13 01:02:28.449873: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:15:00.258455: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] - 2024-03-13 01:02:28.450244: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + 2024-04-18 01:15:00.259027: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] [[{{node Placeholder/_0}}]] -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_29_1.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_29_1.png You will train a model using these datasets by passing them to @@ -382,9 +483,9 @@ over the dataset and retrieve batches of images: .. parsed-literal:: - 2024-03-13 01:02:29.296083: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:15:01.067592: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] - 2024-03-13 01:02:29.296450: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:15:01.067963: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] @@ -436,7 +537,7 @@ range by using a Rescaling layer. .. code:: ipython3 - normalization_layer = layers.Rescaling(1./255) + normalization_layer = tf.keras.layers.Rescaling(1.0 / 255) Note: The Keras Preprocessing utilities and layers introduced in this section are currently experimental and may change. @@ -455,9 +556,9 @@ calling map: .. parsed-literal:: - 2024-03-13 01:02:29.513870: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] - [[{{node Placeholder/_0}}]] - 2024-03-13 01:02:29.514493: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:15:01.259365: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + [[{{node Placeholder/_4}}]] + 2024-04-18 01:15:01.259741: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] @@ -490,18 +591,20 @@ standard approach. num_classes = 5 - model = Sequential([ - layers.experimental.preprocessing.Rescaling(1./255, input_shape=(img_height, img_width, 3)), - layers.Conv2D(16, 3, padding='same', activation='relu'), - layers.MaxPooling2D(), - layers.Conv2D(32, 3, padding='same', activation='relu'), - layers.MaxPooling2D(), - layers.Conv2D(64, 3, padding='same', activation='relu'), - layers.MaxPooling2D(), - layers.Flatten(), - layers.Dense(128, activation='relu'), - layers.Dense(num_classes) - ]) + model = tf.keras.Sequential( + [ + tf.keras.layers.Rescaling(1.0 / 255, input_shape=(img_height, img_width, 3)), + tf.keras.layers.Conv2D(16, 3, padding="same", activation="relu"), + tf.keras.layers.MaxPooling2D(), + tf.keras.layers.Conv2D(32, 3, padding="same", activation="relu"), + tf.keras.layers.MaxPooling2D(), + tf.keras.layers.Conv2D(64, 3, padding="same", activation="relu"), + tf.keras.layers.MaxPooling2D(), + tf.keras.layers.Flatten(), + tf.keras.layers.Dense(128, activation="relu"), + tf.keras.layers.Dense(num_classes), + ] + ) Compile the Model ----------------- @@ -515,9 +618,11 @@ argument. .. code:: ipython3 - model.compile(optimizer='adam', - loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), - metrics=['accuracy']) + model.compile( + optimizer="adam", + loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), + metrics=["accuracy"], + ) Model Summary ------------- @@ -625,15 +730,12 @@ inside your model like other layers, and run on the GPU. .. code:: ipython3 - data_augmentation = keras.Sequential( - [ - layers.RandomFlip("horizontal", - input_shape=(img_height, - img_width, - 3)), - layers.RandomRotation(0.1), - layers.RandomZoom(0.1), - ] + data_augmentation = tf.keras.Sequential( + [ + tf.keras.layers.RandomFlip("horizontal", input_shape=(img_height, img_width, 3)), + tf.keras.layers.RandomRotation(0.1), + tf.keras.layers.RandomZoom(0.1), + ] ) Let’s visualize what a few augmented examples look like by applying data @@ -652,14 +754,14 @@ augmentation to the same image several times: .. parsed-literal:: - 2024-03-13 01:02:30.494557: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] - [[{{node Placeholder/_0}}]] - 2024-03-13 01:02:30.495526: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + 2024-04-18 01:15:02.167841: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] [[{{node Placeholder/_4}}]] + 2024-04-18 01:15:02.168220: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + [[{{node Placeholder/_0}}]] -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_57_1.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_57_1.png You will use data augmentation to train a model in a moment. @@ -684,20 +786,22 @@ it using augmented images. .. code:: ipython3 - model = Sequential([ - data_augmentation, - layers.Rescaling(1./255), - layers.Conv2D(16, 3, padding='same', activation='relu'), - layers.MaxPooling2D(), - layers.Conv2D(32, 3, padding='same', activation='relu'), - layers.MaxPooling2D(), - layers.Conv2D(64, 3, padding='same', activation='relu'), - layers.MaxPooling2D(), - layers.Dropout(0.2), - layers.Flatten(), - layers.Dense(128, activation='relu'), - layers.Dense(num_classes, name="outputs") - ]) + model = tf.keras.Sequential( + [ + data_augmentation, + tf.keras.layers.Rescaling(1.0 / 255), + tf.keras.layers.Conv2D(16, 3, padding="same", activation="relu"), + tf.keras.layers.MaxPooling2D(), + tf.keras.layers.Conv2D(32, 3, padding="same", activation="relu"), + tf.keras.layers.MaxPooling2D(), + tf.keras.layers.Conv2D(64, 3, padding="same", activation="relu"), + tf.keras.layers.MaxPooling2D(), + tf.keras.layers.Dropout(0.2), + tf.keras.layers.Flatten(), + tf.keras.layers.Dense(128, activation="relu"), + tf.keras.layers.Dense(num_classes, name="outputs"), + ] + ) Compile and Train the Model --------------------------- @@ -706,9 +810,11 @@ Compile and Train the Model .. code:: ipython3 - model.compile(optimizer='adam', - loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), - metrics=['accuracy']) + model.compile( + optimizer="adam", + loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), + metrics=["accuracy"], + ) .. code:: ipython3 @@ -898,11 +1004,7 @@ Compile and Train the Model .. code:: ipython3 epochs = 15 - history = model.fit( - train_ds, - validation_data=val_ds, - epochs=epochs - ) + history = model.fit(train_ds, validation_data=val_ds, epochs=epochs) .. parsed-literal:: @@ -912,484 +1014,479 @@ Compile and Train the Model .. parsed-literal:: - 2024-03-13 01:02:31.608332: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:02:31.608737: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] + 2024-04-18 01:15:03.232166: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [2936] [[{{node Placeholder/_0}}]] + 2024-04-18 01:15:03.232504: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [2936] + [[{{node Placeholder/_4}}]] .. parsed-literal:: - 1/92 [..............................] - ETA: 1:24 - loss: 1.6184 - accuracy: 0.1875 + 1/92 [..............................] - ETA: 1:36 - loss: 1.6139 - accuracy: 0.1562 .. parsed-literal::  - 2/92 [..............................] - ETA: 6s - loss: 2.2743 - accuracy: 0.2344 + 2/92 [..............................] - ETA: 6s - loss: 2.6072 - accuracy: 0.2031 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 2.2543 - accuracy: 0.2708 + 3/92 [..............................] - ETA: 5s - loss: 2.2647 - accuracy: 0.2188 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 2.1636 - accuracy: 0.2344 + 4/92 [>.............................] - ETA: 5s - loss: 2.1299 - accuracy: 0.2266 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 2.0592 - accuracy: 0.2313 + 5/92 [>.............................] - ETA: 5s - loss: 2.0328 - accuracy: 0.2375 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 1.9847 - accuracy: 0.2188 + 6/92 [>.............................] - ETA: 5s - loss: 1.9690 - accuracy: 0.2448 .. parsed-literal::  - 7/92 [=>............................] - ETA: 5s - loss: 1.9289 - accuracy: 0.2232 + 7/92 [=>............................] - ETA: 5s - loss: 1.9062 - accuracy: 0.2545 .. parsed-literal::  - 8/92 [=>............................] - ETA: 5s - loss: 1.8900 - accuracy: 0.2109 + 8/92 [=>............................] - ETA: 5s - loss: 1.8712 - accuracy: 0.2461 .. parsed-literal::  - 9/92 [=>............................] - ETA: 5s - loss: 1.8577 - accuracy: 0.2118 + 9/92 [=>............................] - ETA: 5s - loss: 1.8292 - accuracy: 0.2569 .. parsed-literal::  -10/92 [==>...........................] - ETA: 5s - loss: 1.8316 - accuracy: 0.2219 +10/92 [==>...........................] - ETA: 4s - loss: 1.8010 - accuracy: 0.2594 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 1.8075 - accuracy: 0.2386 +11/92 [==>...........................] - ETA: 4s - loss: 1.7882 - accuracy: 0.2472 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 1.7888 - accuracy: 0.2396 +12/92 [==>...........................] - ETA: 4s - loss: 1.7694 - accuracy: 0.2448 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 1.7741 - accuracy: 0.2380 +13/92 [===>..........................] - ETA: 4s - loss: 1.7518 - accuracy: 0.2500 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 1.7589 - accuracy: 0.2388 +14/92 [===>..........................] - ETA: 4s - loss: 1.7420 - accuracy: 0.2433 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 1.7447 - accuracy: 0.2438 +15/92 [===>..........................] - ETA: 4s - loss: 1.7297 - accuracy: 0.2417 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 1.7372 - accuracy: 0.2363 +16/92 [====>.........................] - ETA: 4s - loss: 1.7182 - accuracy: 0.2578 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 1.7278 - accuracy: 0.2353 +17/92 [====>.........................] - ETA: 4s - loss: 1.7064 - accuracy: 0.2629 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 1.7193 - accuracy: 0.2344 +18/92 [====>.........................] - ETA: 4s - loss: 1.6963 - accuracy: 0.2639 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 1.7100 - accuracy: 0.2434 +19/92 [=====>........................] - ETA: 4s - loss: 1.6857 - accuracy: 0.2664 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 1.7013 - accuracy: 0.2500 +20/92 [=====>........................] - ETA: 4s - loss: 1.6820 - accuracy: 0.2625 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 1.6927 - accuracy: 0.2515 +21/92 [=====>........................] - ETA: 4s - loss: 1.6769 - accuracy: 0.2589 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 1.6837 - accuracy: 0.2571 +22/92 [======>.......................] - ETA: 4s - loss: 1.6687 - accuracy: 0.2670 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 1.6761 - accuracy: 0.2609 +23/92 [======>.......................] - ETA: 4s - loss: 1.6604 - accuracy: 0.2745 .. parsed-literal::  -24/92 [======>.......................] - ETA: 4s - loss: 1.6660 - accuracy: 0.2591 +24/92 [======>.......................] - ETA: 4s - loss: 1.6586 - accuracy: 0.2734 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 1.6576 - accuracy: 0.2600 +25/92 [=======>......................] - ETA: 3s - loss: 1.6499 - accuracy: 0.2800 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 1.6490 - accuracy: 0.2632 +26/92 [=======>......................] - ETA: 3s - loss: 1.6417 - accuracy: 0.2837 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 1.6399 - accuracy: 0.2650 +27/92 [=======>......................] - ETA: 3s - loss: 1.6396 - accuracy: 0.2812 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 1.6377 - accuracy: 0.2634 +28/92 [========>.....................] - ETA: 3s - loss: 1.6348 - accuracy: 0.2835 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 1.6316 - accuracy: 0.2694 +29/92 [========>.....................] - ETA: 3s - loss: 1.6303 - accuracy: 0.2834 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 1.6295 - accuracy: 0.2708 +30/92 [========>.....................] - ETA: 3s - loss: 1.6242 - accuracy: 0.2854 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 1.6243 - accuracy: 0.2762 +31/92 [=========>....................] - ETA: 3s - loss: 1.6175 - accuracy: 0.2903 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 1.6173 - accuracy: 0.2803 +32/92 [=========>....................] - ETA: 3s - loss: 1.6115 - accuracy: 0.2920 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 1.6127 - accuracy: 0.2812 +33/92 [=========>....................] - ETA: 3s - loss: 1.6049 - accuracy: 0.2926 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 1.6060 - accuracy: 0.2840 +34/92 [==========>...................] - ETA: 3s - loss: 1.6013 - accuracy: 0.2923 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 1.5981 - accuracy: 0.2929 +35/92 [==========>...................] - ETA: 3s - loss: 1.5949 - accuracy: 0.2946 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 1.5899 - accuracy: 0.2969 +36/92 [==========>...................] - ETA: 3s - loss: 1.5943 - accuracy: 0.2925 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 1.5830 - accuracy: 0.3015 +37/92 [===========>..................] - ETA: 3s - loss: 1.5893 - accuracy: 0.2956 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 1.5829 - accuracy: 0.3043 +38/92 [===========>..................] - ETA: 3s - loss: 1.5848 - accuracy: 0.2952 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 1.5791 - accuracy: 0.3061 +39/92 [===========>..................] - ETA: 3s - loss: 1.5784 - accuracy: 0.3005 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 1.5691 - accuracy: 0.3086 +40/92 [============>.................] - ETA: 3s - loss: 1.5722 - accuracy: 0.3063 .. parsed-literal::  -41/92 [============>.................] - ETA: 3s - loss: 1.5647 - accuracy: 0.3095 +41/92 [============>.................] - ETA: 3s - loss: 1.5698 - accuracy: 0.3095 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 1.5574 - accuracy: 0.3110 +42/92 [============>.................] - ETA: 2s - loss: 1.5657 - accuracy: 0.3110 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 1.5506 - accuracy: 0.3125 +43/92 [=============>................] - ETA: 2s - loss: 1.5569 - accuracy: 0.3190 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 1.5488 - accuracy: 0.3146 +44/92 [=============>................] - ETA: 2s - loss: 1.5491 - accuracy: 0.3239 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 1.5400 - accuracy: 0.3222 +45/92 [=============>................] - ETA: 2s - loss: 1.5441 - accuracy: 0.3264 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 1.5359 - accuracy: 0.3247 +46/92 [==============>...............] - ETA: 2s - loss: 1.5337 - accuracy: 0.3302 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 1.5324 - accuracy: 0.3265 +47/92 [==============>...............] - ETA: 2s - loss: 1.5279 - accuracy: 0.3311 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 1.5247 - accuracy: 0.3307 +48/92 [==============>...............] - ETA: 2s - loss: 1.5244 - accuracy: 0.3327 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 1.5200 - accuracy: 0.3304 +49/92 [==============>...............] - ETA: 2s - loss: 1.5244 - accuracy: 0.3329 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 1.5206 - accuracy: 0.3300 +50/92 [===============>..............] - ETA: 2s - loss: 1.5165 - accuracy: 0.3363 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 1.5190 - accuracy: 0.3303 +52/92 [===============>..............] - ETA: 2s - loss: 1.5052 - accuracy: 0.3412 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 1.5134 - accuracy: 0.3341 +53/92 [================>.............] - ETA: 2s - loss: 1.5032 - accuracy: 0.3412 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 1.5079 - accuracy: 0.3361 +54/92 [================>.............] - ETA: 2s - loss: 1.4967 - accuracy: 0.3436 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 1.5048 - accuracy: 0.3374 +55/92 [================>.............] - ETA: 2s - loss: 1.4917 - accuracy: 0.3453 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 1.4971 - accuracy: 0.3398 +56/92 [=================>............] - ETA: 2s - loss: 1.4867 - accuracy: 0.3492 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 1.4886 - accuracy: 0.3415 +57/92 [=================>............] - ETA: 2s - loss: 1.4796 - accuracy: 0.3513 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 1.4843 - accuracy: 0.3464 +58/92 [=================>............] - ETA: 1s - loss: 1.4692 - accuracy: 0.3588 .. parsed-literal::  -58/92 [=================>............] - ETA: 2s - loss: 1.4789 - accuracy: 0.3490 +59/92 [==================>...........] - ETA: 1s - loss: 1.4644 - accuracy: 0.3596 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 1.4769 - accuracy: 0.3521 +60/92 [==================>...........] - ETA: 1s - loss: 1.4589 - accuracy: 0.3619 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 1.4753 - accuracy: 0.3536 +61/92 [==================>...........] - ETA: 1s - loss: 1.4557 - accuracy: 0.3652 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 1.4759 - accuracy: 0.3529 +62/92 [===================>..........] - ETA: 1s - loss: 1.4508 - accuracy: 0.3679 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 1.4752 - accuracy: 0.3527 +63/92 [===================>..........] - ETA: 1s - loss: 1.4475 - accuracy: 0.3700 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 1.4726 - accuracy: 0.3531 +64/92 [===================>..........] - ETA: 1s - loss: 1.4455 - accuracy: 0.3721 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 1.4728 - accuracy: 0.3520 +65/92 [====================>.........] - ETA: 1s - loss: 1.4425 - accuracy: 0.3726 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 1.4683 - accuracy: 0.3533 +66/92 [====================>.........] - ETA: 1s - loss: 1.4393 - accuracy: 0.3740 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 1.4644 - accuracy: 0.3541 +67/92 [====================>.........] - ETA: 1s - loss: 1.4328 - accuracy: 0.3773 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 1.4629 - accuracy: 0.3553 +68/92 [=====================>........] - ETA: 1s - loss: 1.4288 - accuracy: 0.3796 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 1.4577 - accuracy: 0.3584 +69/92 [=====================>........] - ETA: 1s - loss: 1.4242 - accuracy: 0.3814 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 1.4533 - accuracy: 0.3618 +70/92 [=====================>........] - ETA: 1s - loss: 1.4179 - accuracy: 0.3849 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 1.4489 - accuracy: 0.3651 +71/92 [======================>.......] - ETA: 1s - loss: 1.4150 - accuracy: 0.3883 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 1.4463 - accuracy: 0.3684 +72/92 [======================>.......] - ETA: 1s - loss: 1.4107 - accuracy: 0.3911 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 1.4421 - accuracy: 0.3706 +73/92 [======================>.......] - ETA: 1s - loss: 1.4078 - accuracy: 0.3935 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 1.4395 - accuracy: 0.3716 +74/92 [=======================>......] - ETA: 1s - loss: 1.4038 - accuracy: 0.3966 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 1.4346 - accuracy: 0.3746 +75/92 [=======================>......] - ETA: 0s - loss: 1.3994 - accuracy: 0.3984 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 1.4299 - accuracy: 0.3779 +76/92 [=======================>......] - ETA: 0s - loss: 1.3970 - accuracy: 0.3985 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 1.4250 - accuracy: 0.3804 +77/92 [========================>.....] - ETA: 0s - loss: 1.3944 - accuracy: 0.3994 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 1.4247 - accuracy: 0.3803 +78/92 [========================>.....] - ETA: 0s - loss: 1.3883 - accuracy: 0.4031 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 1.4206 - accuracy: 0.3822 +79/92 [========================>.....] - ETA: 0s - loss: 1.3831 - accuracy: 0.4056 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 1.4185 - accuracy: 0.3829 +80/92 [=========================>....] - ETA: 0s - loss: 1.3799 - accuracy: 0.4060 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 1.4136 - accuracy: 0.3848 +81/92 [=========================>....] - ETA: 0s - loss: 1.3766 - accuracy: 0.4079 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 1.4083 - accuracy: 0.3870 +82/92 [=========================>....] - ETA: 0s - loss: 1.3725 - accuracy: 0.4109 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 1.4077 - accuracy: 0.3869 +83/92 [==========================>...] - ETA: 0s - loss: 1.3693 - accuracy: 0.4131 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 1.4029 - accuracy: 0.3901 +84/92 [==========================>...] - ETA: 0s - loss: 1.3667 - accuracy: 0.4146 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 1.3995 - accuracy: 0.3922 +85/92 [==========================>...] - ETA: 0s - loss: 1.3630 - accuracy: 0.4170 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 1.3979 - accuracy: 0.3945 +86/92 [===========================>..] - ETA: 0s - loss: 1.3620 - accuracy: 0.4173 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 1.3949 - accuracy: 0.3969 +87/92 [===========================>..] - ETA: 0s - loss: 1.3574 - accuracy: 0.4204 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 1.3903 - accuracy: 0.3999 +88/92 [===========================>..] - ETA: 0s - loss: 1.3518 - accuracy: 0.4234 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 1.3886 - accuracy: 0.4010 +89/92 [============================>.] - ETA: 0s - loss: 1.3495 - accuracy: 0.4246 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 1.3860 - accuracy: 0.4004 +90/92 [============================>.] - ETA: 0s - loss: 1.3457 - accuracy: 0.4262 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 1.3812 - accuracy: 0.4011 +91/92 [============================>.] - ETA: 0s - loss: 1.3471 - accuracy: 0.4256 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 1.3783 - accuracy: 0.4029 +92/92 [==============================] - ETA: 0s - loss: 1.3422 - accuracy: 0.4278 .. parsed-literal:: -  -92/92 [==============================] - ETA: 0s - loss: 1.3797 - accuracy: 0.4026 - -.. parsed-literal:: - - 2024-03-13 01:02:37.888562: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [734] - [[{{node Placeholder/_4}}]] - 2024-03-13 01:02:37.888844: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [734] + 2024-04-18 01:15:09.636279: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_0' with dtype string and shape [734] + [[{{node Placeholder/_0}}]] + 2024-04-18 01:15:09.636558: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'Placeholder/_4' with dtype int32 and shape [734] [[{{node Placeholder/_4}}]] .. parsed-literal::  -92/92 [==============================] - 7s 67ms/step - loss: 1.3797 - accuracy: 0.4026 - val_loss: 1.1118 - val_accuracy: 0.5763 +92/92 [==============================] - 7s 66ms/step - loss: 1.3422 - accuracy: 0.4278 - val_loss: 1.1363 - val_accuracy: 0.5354 .. parsed-literal:: @@ -1400,462 +1497,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.9105 - accuracy: 0.5625 + 1/92 [..............................] - ETA: 7s - loss: 1.1986 - accuracy: 0.4375 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.9593 - accuracy: 0.5938 + 2/92 [..............................] - ETA: 5s - loss: 1.2820 - accuracy: 0.4062 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.9856 - accuracy: 0.5729 + 3/92 [..............................] - ETA: 5s - loss: 1.2114 - accuracy: 0.4479 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 1.0403 - accuracy: 0.5859 + 4/92 [>.............................] - ETA: 5s - loss: 1.2021 - accuracy: 0.4844 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 1.0360 - accuracy: 0.5875 + 5/92 [>.............................] - ETA: 5s - loss: 1.1758 - accuracy: 0.5000 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 1.0193 - accuracy: 0.6094 + 7/92 [=>............................] - ETA: 4s - loss: 1.1485 - accuracy: 0.5278 .. parsed-literal::  - 7/92 [=>............................] - ETA: 5s - loss: 0.9867 - accuracy: 0.6295 + 8/92 [=>............................] - ETA: 4s - loss: 1.1516 - accuracy: 0.5323 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 1.0265 - accuracy: 0.6094 + 9/92 [=>............................] - ETA: 4s - loss: 1.1049 - accuracy: 0.5571 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 1.0582 - accuracy: 0.5903 +10/92 [==>...........................] - ETA: 4s - loss: 1.1170 - accuracy: 0.5481 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 1.0566 - accuracy: 0.5875 +11/92 [==>...........................] - ETA: 4s - loss: 1.1096 - accuracy: 0.5581 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 1.0390 - accuracy: 0.5938 +12/92 [==>...........................] - ETA: 4s - loss: 1.0917 - accuracy: 0.5638 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 1.0259 - accuracy: 0.6068 +13/92 [===>..........................] - ETA: 4s - loss: 1.0837 - accuracy: 0.5686 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 1.0263 - accuracy: 0.6010 +14/92 [===>..........................] - ETA: 4s - loss: 1.0854 - accuracy: 0.5659 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 1.0501 - accuracy: 0.5871 +15/92 [===>..........................] - ETA: 4s - loss: 1.0719 - accuracy: 0.5720 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 1.0419 - accuracy: 0.5938 +16/92 [====>.........................] - ETA: 4s - loss: 1.0719 - accuracy: 0.5694 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 1.0477 - accuracy: 0.5938 +17/92 [====>.........................] - ETA: 4s - loss: 1.0607 - accuracy: 0.5802 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 1.0513 - accuracy: 0.5882 +18/92 [====>.........................] - ETA: 4s - loss: 1.0545 - accuracy: 0.5845 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 1.0676 - accuracy: 0.5816 +19/92 [=====>........................] - ETA: 4s - loss: 1.0433 - accuracy: 0.5900 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 1.0657 - accuracy: 0.5839 +20/92 [=====>........................] - ETA: 4s - loss: 1.0469 - accuracy: 0.5870 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 1.0612 - accuracy: 0.5813 +21/92 [=====>........................] - ETA: 4s - loss: 1.0472 - accuracy: 0.5858 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 1.0648 - accuracy: 0.5833 +22/92 [======>.......................] - ETA: 4s - loss: 1.0548 - accuracy: 0.5805 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 1.0619 - accuracy: 0.5852 +23/92 [======>.......................] - ETA: 3s - loss: 1.0484 - accuracy: 0.5852 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 1.0571 - accuracy: 0.5856 +24/92 [======>.......................] - ETA: 3s - loss: 1.0542 - accuracy: 0.5855 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 1.0605 - accuracy: 0.5833 +25/92 [=======>......................] - ETA: 3s - loss: 1.0491 - accuracy: 0.5871 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 1.0545 - accuracy: 0.5813 +26/92 [=======>......................] - ETA: 3s - loss: 1.0484 - accuracy: 0.5886 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 1.0681 - accuracy: 0.5745 +27/92 [=======>......................] - ETA: 3s - loss: 1.0557 - accuracy: 0.5841 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 1.0650 - accuracy: 0.5718 +28/92 [========>.....................] - ETA: 3s - loss: 1.0421 - accuracy: 0.5912 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 1.0666 - accuracy: 0.5714 +29/92 [========>.....................] - ETA: 3s - loss: 1.0484 - accuracy: 0.5859 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 1.0674 - accuracy: 0.5711 +30/92 [========>.....................] - ETA: 3s - loss: 1.0456 - accuracy: 0.5893 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 1.0589 - accuracy: 0.5760 +31/92 [=========>....................] - ETA: 3s - loss: 1.0468 - accuracy: 0.5894 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 1.0596 - accuracy: 0.5726 +32/92 [=========>....................] - ETA: 3s - loss: 1.0443 - accuracy: 0.5945 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 1.0527 - accuracy: 0.5781 +33/92 [=========>....................] - ETA: 3s - loss: 1.0452 - accuracy: 0.5935 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 1.0541 - accuracy: 0.5795 +34/92 [==========>...................] - ETA: 3s - loss: 1.0388 - accuracy: 0.5954 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 1.0645 - accuracy: 0.5754 +35/92 [==========>...................] - ETA: 3s - loss: 1.0333 - accuracy: 0.5971 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 1.0628 - accuracy: 0.5759 +36/92 [==========>...................] - ETA: 3s - loss: 1.0318 - accuracy: 0.5962 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 1.0694 - accuracy: 0.5755 +37/92 [===========>..................] - ETA: 3s - loss: 1.0289 - accuracy: 0.5961 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 1.0661 - accuracy: 0.5769 +38/92 [===========>..................] - ETA: 3s - loss: 1.0255 - accuracy: 0.5977 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 1.0729 - accuracy: 0.5757 +39/92 [===========>..................] - ETA: 3s - loss: 1.0291 - accuracy: 0.5984 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 1.0714 - accuracy: 0.5777 +40/92 [============>.................] - ETA: 2s - loss: 1.0355 - accuracy: 0.5967 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 1.0669 - accuracy: 0.5797 +41/92 [============>.................] - ETA: 2s - loss: 1.0413 - accuracy: 0.5928 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 1.0680 - accuracy: 0.5777 +42/92 [============>.................] - ETA: 2s - loss: 1.0354 - accuracy: 0.5958 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 1.0679 - accuracy: 0.5796 +43/92 [=============>................] - ETA: 2s - loss: 1.0371 - accuracy: 0.5965 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 1.0672 - accuracy: 0.5799 +44/92 [=============>................] - ETA: 2s - loss: 1.0384 - accuracy: 0.5950 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 1.0661 - accuracy: 0.5824 +45/92 [=============>................] - ETA: 2s - loss: 1.0413 - accuracy: 0.5971 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 1.0683 - accuracy: 0.5806 +46/92 [==============>...............] - ETA: 2s - loss: 1.0459 - accuracy: 0.5949 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 1.0705 - accuracy: 0.5781 +47/92 [==============>...............] - ETA: 2s - loss: 1.0455 - accuracy: 0.5949 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 1.0696 - accuracy: 0.5785 +48/92 [==============>...............] - ETA: 2s - loss: 1.0414 - accuracy: 0.5962 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 1.0685 - accuracy: 0.5781 +49/92 [==============>...............] - ETA: 2s - loss: 1.0395 - accuracy: 0.5968 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 1.0680 - accuracy: 0.5784 +50/92 [===============>..............] - ETA: 2s - loss: 1.0412 - accuracy: 0.5948 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 1.0653 - accuracy: 0.5794 +51/92 [===============>..............] - ETA: 2s - loss: 1.0356 - accuracy: 0.5967 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 1.0619 - accuracy: 0.5803 +52/92 [===============>..............] - ETA: 2s - loss: 1.0350 - accuracy: 0.5966 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 1.0605 - accuracy: 0.5793 +53/92 [================>.............] - ETA: 2s - loss: 1.0338 - accuracy: 0.5977 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 1.0614 - accuracy: 0.5784 +54/92 [================>.............] - ETA: 2s - loss: 1.0313 - accuracy: 0.5983 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 1.0619 - accuracy: 0.5799 +55/92 [================>.............] - ETA: 2s - loss: 1.0285 - accuracy: 0.5999 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 1.0602 - accuracy: 0.5818 +56/92 [=================>............] - ETA: 2s - loss: 1.0268 - accuracy: 0.6003 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 1.0626 - accuracy: 0.5809 +57/92 [=================>............] - ETA: 2s - loss: 1.0263 - accuracy: 0.6019 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 1.0606 - accuracy: 0.5811 +58/92 [=================>............] - ETA: 1s - loss: 1.0250 - accuracy: 0.6012 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 1.0610 - accuracy: 0.5803 +59/92 [==================>...........] - ETA: 1s - loss: 1.0237 - accuracy: 0.6027 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 1.0651 - accuracy: 0.5768 +60/92 [==================>...........] - ETA: 1s - loss: 1.0248 - accuracy: 0.6020 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 1.0656 - accuracy: 0.5766 +61/92 [==================>...........] - ETA: 1s - loss: 1.0204 - accuracy: 0.6044 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 1.0637 - accuracy: 0.5763 +62/92 [===================>..........] - ETA: 1s - loss: 1.0172 - accuracy: 0.6073 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 1.0669 - accuracy: 0.5762 +63/92 [===================>..........] - ETA: 1s - loss: 1.0174 - accuracy: 0.6071 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 1.0693 - accuracy: 0.5755 +64/92 [===================>..........] - ETA: 1s - loss: 1.0192 - accuracy: 0.6059 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 1.0669 - accuracy: 0.5777 +65/92 [====================>.........] - ETA: 1s - loss: 1.0171 - accuracy: 0.6067 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 1.0697 - accuracy: 0.5770 +66/92 [====================>.........] - ETA: 1s - loss: 1.0145 - accuracy: 0.6065 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 1.0703 - accuracy: 0.5758 +67/92 [====================>.........] - ETA: 1s - loss: 1.0136 - accuracy: 0.6053 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 1.0701 - accuracy: 0.5756 +68/92 [=====================>........] - ETA: 1s - loss: 1.0121 - accuracy: 0.6070 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 1.0717 - accuracy: 0.5745 +69/92 [=====================>........] - ETA: 1s - loss: 1.0103 - accuracy: 0.6073 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 1.0695 - accuracy: 0.5757 +70/92 [=====================>........] - ETA: 1s - loss: 1.0133 - accuracy: 0.6057 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 1.0663 - accuracy: 0.5777 +71/92 [======================>.......] - ETA: 1s - loss: 1.0128 - accuracy: 0.6047 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 1.0643 - accuracy: 0.5784 +72/92 [======================>.......] - ETA: 1s - loss: 1.0119 - accuracy: 0.6028 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 1.0641 - accuracy: 0.5786 +73/92 [======================>.......] - ETA: 1s - loss: 1.0166 - accuracy: 0.5997 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 1.0667 - accuracy: 0.5775 +74/92 [=======================>......] - ETA: 1s - loss: 1.0152 - accuracy: 0.6013 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 1.0668 - accuracy: 0.5786 +75/92 [=======================>......] - ETA: 0s - loss: 1.0118 - accuracy: 0.6033 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 1.0638 - accuracy: 0.5813 +76/92 [=======================>......] - ETA: 0s - loss: 1.0104 - accuracy: 0.6052 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 1.0649 - accuracy: 0.5794 +77/92 [========================>.....] - ETA: 0s - loss: 1.0095 - accuracy: 0.6046 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 1.0628 - accuracy: 0.5808 +78/92 [========================>.....] - ETA: 0s - loss: 1.0075 - accuracy: 0.6045 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 1.0628 - accuracy: 0.5813 +79/92 [========================>.....] - ETA: 0s - loss: 1.0106 - accuracy: 0.6036 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 1.0607 - accuracy: 0.5835 +80/92 [=========================>....] - ETA: 0s - loss: 1.0089 - accuracy: 0.6034 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 1.0591 - accuracy: 0.5832 +81/92 [=========================>....] - ETA: 0s - loss: 1.0060 - accuracy: 0.6041 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 1.0591 - accuracy: 0.5837 +82/92 [=========================>....] - ETA: 0s - loss: 1.0082 - accuracy: 0.6036 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 1.0640 - accuracy: 0.5812 +83/92 [==========================>...] - ETA: 0s - loss: 1.0097 - accuracy: 0.6031 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 1.0634 - accuracy: 0.5825 +84/92 [==========================>...] - ETA: 0s - loss: 1.0104 - accuracy: 0.6026 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 1.0626 - accuracy: 0.5833 +85/92 [==========================>...] - ETA: 0s - loss: 1.0136 - accuracy: 0.6021 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 1.0595 - accuracy: 0.5853 +86/92 [===========================>..] - ETA: 0s - loss: 1.0142 - accuracy: 0.6006 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 1.0590 - accuracy: 0.5857 +87/92 [===========================>..] - ETA: 0s - loss: 1.0127 - accuracy: 0.6016 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 1.0568 - accuracy: 0.5873 +88/92 [===========================>..] - ETA: 0s - loss: 1.0143 - accuracy: 0.6011 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 1.0556 - accuracy: 0.5880 +89/92 [============================>.] - ETA: 0s - loss: 1.0151 - accuracy: 0.6000 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 1.0545 - accuracy: 0.5874 +90/92 [============================>.] - ETA: 0s - loss: 1.0147 - accuracy: 0.6006 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 1.0543 - accuracy: 0.5868 +91/92 [============================>.] - ETA: 0s - loss: 1.0150 - accuracy: 0.6009 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 1.0518 - accuracy: 0.5882 +92/92 [==============================] - ETA: 0s - loss: 1.0155 - accuracy: 0.6005 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 1.0518 - accuracy: 0.5882 - val_loss: 0.9841 - val_accuracy: 0.5981 +92/92 [==============================] - 6s 64ms/step - loss: 1.0155 - accuracy: 0.6005 - val_loss: 1.0104 - val_accuracy: 0.5926 .. parsed-literal:: @@ -1866,462 +1963,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 1.1521 - accuracy: 0.5312 + 1/92 [..............................] - ETA: 7s - loss: 0.9533 - accuracy: 0.7500 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 1.0563 - accuracy: 0.5781 + 2/92 [..............................] - ETA: 5s - loss: 1.1267 - accuracy: 0.5938 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 1.0220 - accuracy: 0.5938 + 3/92 [..............................] - ETA: 5s - loss: 1.0877 - accuracy: 0.6042 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 1.0244 - accuracy: 0.5859 + 4/92 [>.............................] - ETA: 5s - loss: 1.0102 - accuracy: 0.6250 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 1.0256 - accuracy: 0.5813 + 5/92 [>.............................] - ETA: 5s - loss: 0.9940 - accuracy: 0.6375 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.9926 - accuracy: 0.5990 + 6/92 [>.............................] - ETA: 5s - loss: 0.9650 - accuracy: 0.6510 .. parsed-literal::  - 7/92 [=>............................] - ETA: 5s - loss: 0.9785 - accuracy: 0.6071 + 7/92 [=>............................] - ETA: 4s - loss: 0.9989 - accuracy: 0.6295 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.9672 - accuracy: 0.6094 + 8/92 [=>............................] - ETA: 4s - loss: 0.9844 - accuracy: 0.6367 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.9527 - accuracy: 0.6076 + 9/92 [=>............................] - ETA: 4s - loss: 0.9845 - accuracy: 0.6250 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.9405 - accuracy: 0.6156 +10/92 [==>...........................] - ETA: 4s - loss: 0.9637 - accuracy: 0.6344 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.9489 - accuracy: 0.6193 +11/92 [==>...........................] - ETA: 4s - loss: 0.9750 - accuracy: 0.6250 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.9709 - accuracy: 0.6094 +12/92 [==>...........................] - ETA: 4s - loss: 0.9728 - accuracy: 0.6302 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.9715 - accuracy: 0.6106 +13/92 [===>..........................] - ETA: 4s - loss: 0.9751 - accuracy: 0.6298 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.9619 - accuracy: 0.6138 +14/92 [===>..........................] - ETA: 4s - loss: 0.9820 - accuracy: 0.6295 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.9677 - accuracy: 0.6125 +15/92 [===>..........................] - ETA: 4s - loss: 0.9981 - accuracy: 0.6229 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.9741 - accuracy: 0.6074 +16/92 [====>.........................] - ETA: 4s - loss: 0.9898 - accuracy: 0.6250 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.9724 - accuracy: 0.6085 +17/92 [====>.........................] - ETA: 4s - loss: 0.9699 - accuracy: 0.6324 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.9591 - accuracy: 0.6146 +18/92 [====>.........................] - ETA: 4s - loss: 0.9650 - accuracy: 0.6372 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.9407 - accuracy: 0.6234 +19/92 [=====>........................] - ETA: 4s - loss: 0.9762 - accuracy: 0.6365 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.9417 - accuracy: 0.6281 +20/92 [=====>........................] - ETA: 4s - loss: 0.9739 - accuracy: 0.6359 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.9341 - accuracy: 0.6310 +21/92 [=====>........................] - ETA: 4s - loss: 0.9694 - accuracy: 0.6354 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.9311 - accuracy: 0.6335 +22/92 [======>.......................] - ETA: 4s - loss: 0.9641 - accuracy: 0.6349 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.9406 - accuracy: 0.6318 +23/92 [======>.......................] - ETA: 3s - loss: 0.9599 - accuracy: 0.6399 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.9421 - accuracy: 0.6341 +24/92 [======>.......................] - ETA: 3s - loss: 0.9665 - accuracy: 0.6367 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.9379 - accuracy: 0.6363 +25/92 [=======>......................] - ETA: 3s - loss: 0.9625 - accuracy: 0.6375 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.9524 - accuracy: 0.6274 +26/92 [=======>......................] - ETA: 3s - loss: 0.9541 - accuracy: 0.6382 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.9595 - accuracy: 0.6238 +27/92 [=======>......................] - ETA: 3s - loss: 0.9530 - accuracy: 0.6377 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.9559 - accuracy: 0.6261 +28/92 [========>.....................] - ETA: 3s - loss: 0.9513 - accuracy: 0.6373 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.9540 - accuracy: 0.6250 +29/92 [========>.....................] - ETA: 3s - loss: 0.9535 - accuracy: 0.6358 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.9505 - accuracy: 0.6250 +30/92 [========>.....................] - ETA: 3s - loss: 0.9461 - accuracy: 0.6375 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.9499 - accuracy: 0.6290 +31/92 [=========>....................] - ETA: 3s - loss: 0.9436 - accuracy: 0.6351 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.9488 - accuracy: 0.6309 +32/92 [=========>....................] - ETA: 3s - loss: 0.9455 - accuracy: 0.6357 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.9437 - accuracy: 0.6316 +33/92 [=========>....................] - ETA: 3s - loss: 0.9432 - accuracy: 0.6345 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.9398 - accuracy: 0.6324 +34/92 [==========>...................] - ETA: 3s - loss: 0.9491 - accuracy: 0.6296 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.9302 - accuracy: 0.6366 +35/92 [==========>...................] - ETA: 3s - loss: 0.9464 - accuracy: 0.6304 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.9310 - accuracy: 0.6328 +36/92 [==========>...................] - ETA: 3s - loss: 0.9462 - accuracy: 0.6293 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.9278 - accuracy: 0.6343 +37/92 [===========>..................] - ETA: 3s - loss: 0.9573 - accuracy: 0.6250 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.9292 - accuracy: 0.6324 +38/92 [===========>..................] - ETA: 3s - loss: 0.9568 - accuracy: 0.6266 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.9283 - accuracy: 0.6322 +39/92 [===========>..................] - ETA: 3s - loss: 0.9532 - accuracy: 0.6242 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.9275 - accuracy: 0.6336 +40/92 [============>.................] - ETA: 3s - loss: 0.9522 - accuracy: 0.6258 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.9367 - accuracy: 0.6319 +41/92 [============>.................] - ETA: 2s - loss: 0.9505 - accuracy: 0.6273 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.9357 - accuracy: 0.6317 +42/92 [============>.................] - ETA: 2s - loss: 0.9511 - accuracy: 0.6257 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.9372 - accuracy: 0.6330 +43/92 [=============>................] - ETA: 2s - loss: 0.9539 - accuracy: 0.6235 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.9420 - accuracy: 0.6286 +44/92 [=============>................] - ETA: 2s - loss: 0.9542 - accuracy: 0.6236 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.9441 - accuracy: 0.6264 +45/92 [=============>................] - ETA: 2s - loss: 0.9552 - accuracy: 0.6236 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.9472 - accuracy: 0.6264 +46/92 [==============>...............] - ETA: 2s - loss: 0.9541 - accuracy: 0.6250 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.9472 - accuracy: 0.6283 +47/92 [==============>...............] - ETA: 2s - loss: 0.9549 - accuracy: 0.6250 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.9445 - accuracy: 0.6289 +48/92 [==============>...............] - ETA: 2s - loss: 0.9550 - accuracy: 0.6257 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.9433 - accuracy: 0.6301 +49/92 [==============>...............] - ETA: 2s - loss: 0.9580 - accuracy: 0.6237 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.9481 - accuracy: 0.6300 +50/92 [===============>..............] - ETA: 2s - loss: 0.9554 - accuracy: 0.6256 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.9492 - accuracy: 0.6281 +52/92 [===============>..............] - ETA: 2s - loss: 0.9494 - accuracy: 0.6292 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.9519 - accuracy: 0.6268 +53/92 [================>.............] - ETA: 2s - loss: 0.9497 - accuracy: 0.6297 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.9495 - accuracy: 0.6291 +54/92 [================>.............] - ETA: 2s - loss: 0.9519 - accuracy: 0.6291 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.9574 - accuracy: 0.6238 +55/92 [================>.............] - ETA: 2s - loss: 0.9542 - accuracy: 0.6273 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.9581 - accuracy: 0.6227 +56/92 [=================>............] - ETA: 2s - loss: 0.9547 - accuracy: 0.6272 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.9565 - accuracy: 0.6228 +57/92 [=================>............] - ETA: 2s - loss: 0.9536 - accuracy: 0.6294 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.9548 - accuracy: 0.6239 +58/92 [=================>............] - ETA: 1s - loss: 0.9581 - accuracy: 0.6272 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.9557 - accuracy: 0.6245 +59/92 [==================>...........] - ETA: 1s - loss: 0.9562 - accuracy: 0.6287 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.9570 - accuracy: 0.6229 +60/92 [==================>...........] - ETA: 1s - loss: 0.9607 - accuracy: 0.6292 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.9561 - accuracy: 0.6245 +61/92 [==================>...........] - ETA: 1s - loss: 0.9581 - accuracy: 0.6291 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.9546 - accuracy: 0.6255 +62/92 [===================>..........] - ETA: 1s - loss: 0.9577 - accuracy: 0.6285 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.9585 - accuracy: 0.6225 +63/92 [===================>..........] - ETA: 1s - loss: 0.9559 - accuracy: 0.6290 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.9584 - accuracy: 0.6210 +64/92 [===================>..........] - ETA: 1s - loss: 0.9565 - accuracy: 0.6284 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.9548 - accuracy: 0.6230 +65/92 [====================>.........] - ETA: 1s - loss: 0.9564 - accuracy: 0.6274 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.9520 - accuracy: 0.6231 +66/92 [====================>.........] - ETA: 1s - loss: 0.9526 - accuracy: 0.6288 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.9485 - accuracy: 0.6255 +67/92 [====================>.........] - ETA: 1s - loss: 0.9530 - accuracy: 0.6287 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.9491 - accuracy: 0.6264 +68/92 [=====================>........] - ETA: 1s - loss: 0.9509 - accuracy: 0.6296 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.9464 - accuracy: 0.6273 +69/92 [=====================>........] - ETA: 1s - loss: 0.9494 - accuracy: 0.6305 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.9452 - accuracy: 0.6291 +70/92 [=====================>........] - ETA: 1s - loss: 0.9521 - accuracy: 0.6281 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.9460 - accuracy: 0.6299 +71/92 [======================>.......] - ETA: 1s - loss: 0.9550 - accuracy: 0.6277 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.9446 - accuracy: 0.6307 +72/92 [======================>.......] - ETA: 1s - loss: 0.9552 - accuracy: 0.6276 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.9407 - accuracy: 0.6324 +73/92 [======================>.......] - ETA: 1s - loss: 0.9556 - accuracy: 0.6263 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.9405 - accuracy: 0.6327 +74/92 [=======================>......] - ETA: 1s - loss: 0.9570 - accuracy: 0.6258 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.9419 - accuracy: 0.6322 +75/92 [=======================>......] - ETA: 0s - loss: 0.9544 - accuracy: 0.6263 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.9417 - accuracy: 0.6317 +76/92 [=======================>......] - ETA: 0s - loss: 0.9524 - accuracy: 0.6271 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.9425 - accuracy: 0.6332 +77/92 [========================>.....] - ETA: 0s - loss: 0.9531 - accuracy: 0.6254 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.9392 - accuracy: 0.6339 +78/92 [========================>.....] - ETA: 0s - loss: 0.9519 - accuracy: 0.6270 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.9406 - accuracy: 0.6341 +79/92 [========================>.....] - ETA: 0s - loss: 0.9517 - accuracy: 0.6274 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.9403 - accuracy: 0.6356 +80/92 [=========================>....] - ETA: 0s - loss: 0.9510 - accuracy: 0.6270 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.9384 - accuracy: 0.6354 +81/92 [=========================>....] - ETA: 0s - loss: 0.9511 - accuracy: 0.6281 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.9377 - accuracy: 0.6369 +82/92 [=========================>....] - ETA: 0s - loss: 0.9523 - accuracy: 0.6281 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.9376 - accuracy: 0.6371 +83/92 [==========================>...] - ETA: 0s - loss: 0.9527 - accuracy: 0.6269 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.9396 - accuracy: 0.6377 +84/92 [==========================>...] - ETA: 0s - loss: 0.9539 - accuracy: 0.6265 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.9436 - accuracy: 0.6350 +85/92 [==========================>...] - ETA: 0s - loss: 0.9536 - accuracy: 0.6265 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.9425 - accuracy: 0.6356 +86/92 [===========================>..] - ETA: 0s - loss: 0.9525 - accuracy: 0.6276 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.9419 - accuracy: 0.6358 +87/92 [===========================>..] - ETA: 0s - loss: 0.9540 - accuracy: 0.6275 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.9404 - accuracy: 0.6364 +88/92 [===========================>..] - ETA: 0s - loss: 0.9547 - accuracy: 0.6275 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.9380 - accuracy: 0.6380 +89/92 [============================>.] - ETA: 0s - loss: 0.9533 - accuracy: 0.6285 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.9362 - accuracy: 0.6382 +90/92 [============================>.] - ETA: 0s - loss: 0.9513 - accuracy: 0.6285 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.9391 - accuracy: 0.6371 +91/92 [============================>.] - ETA: 0s - loss: 0.9500 - accuracy: 0.6284 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.9395 - accuracy: 0.6362 +92/92 [==============================] - ETA: 0s - loss: 0.9482 - accuracy: 0.6294 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.9395 - accuracy: 0.6362 - val_loss: 0.9104 - val_accuracy: 0.6226 +92/92 [==============================] - 6s 63ms/step - loss: 0.9482 - accuracy: 0.6294 - val_loss: 0.9087 - val_accuracy: 0.6376 .. parsed-literal:: @@ -2332,462 +2429,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.8301 - accuracy: 0.6250 + 1/92 [..............................] - ETA: 7s - loss: 0.7776 - accuracy: 0.7188 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.8889 - accuracy: 0.6719 + 2/92 [..............................] - ETA: 5s - loss: 0.8659 - accuracy: 0.6562 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.8489 - accuracy: 0.6667 + 3/92 [..............................] - ETA: 5s - loss: 0.8840 - accuracy: 0.6667 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.9063 - accuracy: 0.6562 + 4/92 [>.............................] - ETA: 5s - loss: 0.8530 - accuracy: 0.6875 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.9087 - accuracy: 0.6750 + 5/92 [>.............................] - ETA: 5s - loss: 0.8666 - accuracy: 0.6875 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.9049 - accuracy: 0.6667 + 6/92 [>.............................] - ETA: 5s - loss: 0.8646 - accuracy: 0.6771 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.9044 - accuracy: 0.6652 + 7/92 [=>............................] - ETA: 5s - loss: 0.8364 - accuracy: 0.6875 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.8891 - accuracy: 0.6680 + 8/92 [=>............................] - ETA: 4s - loss: 0.8359 - accuracy: 0.6875 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.8748 - accuracy: 0.6736 + 9/92 [=>............................] - ETA: 4s - loss: 0.8548 - accuracy: 0.6806 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.8838 - accuracy: 0.6750 +10/92 [==>...........................] - ETA: 4s - loss: 0.8281 - accuracy: 0.6906 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.8795 - accuracy: 0.6761 +11/92 [==>...........................] - ETA: 4s - loss: 0.8342 - accuracy: 0.6875 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.8821 - accuracy: 0.6719 +12/92 [==>...........................] - ETA: 4s - loss: 0.8389 - accuracy: 0.6875 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.8807 - accuracy: 0.6779 +13/92 [===>..........................] - ETA: 4s - loss: 0.8304 - accuracy: 0.6923 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.8823 - accuracy: 0.6808 +14/92 [===>..........................] - ETA: 4s - loss: 0.8267 - accuracy: 0.6920 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.8780 - accuracy: 0.6833 +15/92 [===>..........................] - ETA: 4s - loss: 0.8444 - accuracy: 0.6750 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.8646 - accuracy: 0.6875 +16/92 [====>.........................] - ETA: 4s - loss: 0.8419 - accuracy: 0.6797 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.8655 - accuracy: 0.6912 +17/92 [====>.........................] - ETA: 4s - loss: 0.8528 - accuracy: 0.6691 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.8688 - accuracy: 0.6875 +18/92 [====>.........................] - ETA: 4s - loss: 0.8604 - accuracy: 0.6632 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.8594 - accuracy: 0.6891 +19/92 [=====>........................] - ETA: 4s - loss: 0.8589 - accuracy: 0.6661 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.8546 - accuracy: 0.6891 +20/92 [=====>........................] - ETA: 4s - loss: 0.8529 - accuracy: 0.6703 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.8565 - accuracy: 0.6875 +21/92 [=====>........................] - ETA: 4s - loss: 0.8637 - accuracy: 0.6741 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.8586 - accuracy: 0.6832 +22/92 [======>.......................] - ETA: 4s - loss: 0.8614 - accuracy: 0.6761 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.8535 - accuracy: 0.6821 +23/92 [======>.......................] - ETA: 4s - loss: 0.8570 - accuracy: 0.6766 .. parsed-literal::  -24/92 [======>.......................] - ETA: 4s - loss: 0.8458 - accuracy: 0.6862 +24/92 [======>.......................] - ETA: 3s - loss: 0.8603 - accuracy: 0.6719 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.8491 - accuracy: 0.6837 +25/92 [=======>......................] - ETA: 3s - loss: 0.8648 - accuracy: 0.6737 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.8537 - accuracy: 0.6803 +26/92 [=======>......................] - ETA: 3s - loss: 0.8708 - accuracy: 0.6719 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.8588 - accuracy: 0.6771 +27/92 [=======>......................] - ETA: 3s - loss: 0.8721 - accuracy: 0.6667 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.8589 - accuracy: 0.6797 +28/92 [========>.....................] - ETA: 3s - loss: 0.8751 - accuracy: 0.6652 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.8469 - accuracy: 0.6832 +29/92 [========>.....................] - ETA: 3s - loss: 0.8792 - accuracy: 0.6649 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.8618 - accuracy: 0.6771 +30/92 [========>.....................] - ETA: 3s - loss: 0.8823 - accuracy: 0.6625 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.8629 - accuracy: 0.6754 +31/92 [=========>....................] - ETA: 3s - loss: 0.8807 - accuracy: 0.6653 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.8558 - accuracy: 0.6748 +32/92 [=========>....................] - ETA: 3s - loss: 0.8812 - accuracy: 0.6631 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.8503 - accuracy: 0.6771 +33/92 [=========>....................] - ETA: 3s - loss: 0.8865 - accuracy: 0.6610 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.8537 - accuracy: 0.6765 +34/92 [==========>...................] - ETA: 3s - loss: 0.8887 - accuracy: 0.6590 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.8730 - accuracy: 0.6661 +35/92 [==========>...................] - ETA: 3s - loss: 0.8874 - accuracy: 0.6598 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.8816 - accuracy: 0.6667 +36/92 [==========>...................] - ETA: 3s - loss: 0.8898 - accuracy: 0.6597 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.8813 - accuracy: 0.6647 +38/92 [===========>..................] - ETA: 3s - loss: 0.8911 - accuracy: 0.6556 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.8844 - accuracy: 0.6605 +39/92 [===========>..................] - ETA: 3s - loss: 0.8876 - accuracy: 0.6573 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.8790 - accuracy: 0.6619 +40/92 [============>.................] - ETA: 3s - loss: 0.8879 - accuracy: 0.6580 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.8801 - accuracy: 0.6603 +41/92 [============>.................] - ETA: 2s - loss: 0.8844 - accuracy: 0.6595 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.8767 - accuracy: 0.6617 +42/92 [============>.................] - ETA: 2s - loss: 0.8857 - accuracy: 0.6579 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.8735 - accuracy: 0.6630 +43/92 [=============>................] - ETA: 2s - loss: 0.8992 - accuracy: 0.6506 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.8766 - accuracy: 0.6621 +44/92 [=============>................] - ETA: 2s - loss: 0.8927 - accuracy: 0.6543 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.8854 - accuracy: 0.6585 +45/92 [=============>................] - ETA: 2s - loss: 0.8905 - accuracy: 0.6550 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.8815 - accuracy: 0.6612 +46/92 [==============>...............] - ETA: 2s - loss: 0.8858 - accuracy: 0.6578 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.8805 - accuracy: 0.6584 +47/92 [==============>...............] - ETA: 2s - loss: 0.8863 - accuracy: 0.6584 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.8752 - accuracy: 0.6597 +48/92 [==============>...............] - ETA: 2s - loss: 0.8846 - accuracy: 0.6590 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.8762 - accuracy: 0.6609 +49/92 [==============>...............] - ETA: 2s - loss: 0.8819 - accuracy: 0.6609 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.8765 - accuracy: 0.6608 +50/92 [===============>..............] - ETA: 2s - loss: 0.8793 - accuracy: 0.6614 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.8728 - accuracy: 0.6638 +51/92 [===============>..............] - ETA: 2s - loss: 0.8858 - accuracy: 0.6576 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.8726 - accuracy: 0.6636 +52/92 [===============>..............] - ETA: 2s - loss: 0.8833 - accuracy: 0.6600 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.8774 - accuracy: 0.6611 +53/92 [================>.............] - ETA: 2s - loss: 0.8849 - accuracy: 0.6600 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.8785 - accuracy: 0.6605 +54/92 [================>.............] - ETA: 2s - loss: 0.8867 - accuracy: 0.6576 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.8763 - accuracy: 0.6610 +55/92 [================>.............] - ETA: 2s - loss: 0.8851 - accuracy: 0.6587 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.8768 - accuracy: 0.6614 +56/92 [=================>............] - ETA: 2s - loss: 0.8836 - accuracy: 0.6592 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.8795 - accuracy: 0.6591 +57/92 [=================>............] - ETA: 2s - loss: 0.8818 - accuracy: 0.6597 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.8808 - accuracy: 0.6580 +58/92 [=================>............] - ETA: 1s - loss: 0.8795 - accuracy: 0.6596 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.8781 - accuracy: 0.6585 +59/92 [==================>...........] - ETA: 1s - loss: 0.8778 - accuracy: 0.6612 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.8796 - accuracy: 0.6574 +60/92 [==================>...........] - ETA: 1s - loss: 0.8743 - accuracy: 0.6621 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.8845 - accuracy: 0.6574 +61/92 [==================>...........] - ETA: 1s - loss: 0.8741 - accuracy: 0.6626 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.8840 - accuracy: 0.6574 +62/92 [===================>..........] - ETA: 1s - loss: 0.8774 - accuracy: 0.6614 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.8821 - accuracy: 0.6584 +63/92 [===================>..........] - ETA: 1s - loss: 0.8841 - accuracy: 0.6599 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.8823 - accuracy: 0.6569 +64/92 [===================>..........] - ETA: 1s - loss: 0.8877 - accuracy: 0.6583 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.8862 - accuracy: 0.6549 +65/92 [====================>.........] - ETA: 1s - loss: 0.8860 - accuracy: 0.6593 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.8851 - accuracy: 0.6549 +66/92 [====================>.........] - ETA: 1s - loss: 0.8885 - accuracy: 0.6602 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.8861 - accuracy: 0.6540 +67/92 [====================>.........] - ETA: 1s - loss: 0.8856 - accuracy: 0.6615 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.8845 - accuracy: 0.6545 +68/92 [=====================>........] - ETA: 1s - loss: 0.8875 - accuracy: 0.6605 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.8839 - accuracy: 0.6536 +69/92 [=====================>........] - ETA: 1s - loss: 0.8891 - accuracy: 0.6591 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.8839 - accuracy: 0.6532 +70/92 [=====================>........] - ETA: 1s - loss: 0.8886 - accuracy: 0.6595 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.8829 - accuracy: 0.6546 +71/92 [======================>.......] - ETA: 1s - loss: 0.8884 - accuracy: 0.6586 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.8809 - accuracy: 0.6555 +72/92 [======================>.......] - ETA: 1s - loss: 0.8844 - accuracy: 0.6607 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.8842 - accuracy: 0.6538 +73/92 [======================>.......] - ETA: 1s - loss: 0.8866 - accuracy: 0.6598 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.8871 - accuracy: 0.6525 +74/92 [=======================>......] - ETA: 1s - loss: 0.8872 - accuracy: 0.6597 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.8866 - accuracy: 0.6534 +75/92 [=======================>......] - ETA: 0s - loss: 0.8851 - accuracy: 0.6601 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.8853 - accuracy: 0.6543 +76/92 [=======================>......] - ETA: 0s - loss: 0.8898 - accuracy: 0.6584 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.8851 - accuracy: 0.6551 +77/92 [========================>.....] - ETA: 0s - loss: 0.8898 - accuracy: 0.6584 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.8832 - accuracy: 0.6555 +78/92 [========================>.....] - ETA: 0s - loss: 0.8907 - accuracy: 0.6580 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.8857 - accuracy: 0.6548 +79/92 [========================>.....] - ETA: 0s - loss: 0.8876 - accuracy: 0.6587 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.8858 - accuracy: 0.6552 +80/92 [=========================>....] - ETA: 0s - loss: 0.8879 - accuracy: 0.6587 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.8850 - accuracy: 0.6560 +81/92 [=========================>....] - ETA: 0s - loss: 0.8860 - accuracy: 0.6591 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.8846 - accuracy: 0.6560 +82/92 [=========================>....] - ETA: 0s - loss: 0.8842 - accuracy: 0.6598 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.8838 - accuracy: 0.6556 +83/92 [==========================>...] - ETA: 0s - loss: 0.8850 - accuracy: 0.6590 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.8853 - accuracy: 0.6556 +84/92 [==========================>...] - ETA: 0s - loss: 0.8838 - accuracy: 0.6582 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.8843 - accuracy: 0.6556 +85/92 [==========================>...] - ETA: 0s - loss: 0.8817 - accuracy: 0.6597 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.8818 - accuracy: 0.6563 +86/92 [===========================>..] - ETA: 0s - loss: 0.8794 - accuracy: 0.6607 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.8787 - accuracy: 0.6585 +87/92 [===========================>..] - ETA: 0s - loss: 0.8775 - accuracy: 0.6607 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.8786 - accuracy: 0.6578 +88/92 [===========================>..] - ETA: 0s - loss: 0.8772 - accuracy: 0.6599 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.8795 - accuracy: 0.6574 +89/92 [============================>.] - ETA: 0s - loss: 0.8758 - accuracy: 0.6606 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.8813 - accuracy: 0.6563 +90/92 [============================>.] - ETA: 0s - loss: 0.8751 - accuracy: 0.6605 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.8799 - accuracy: 0.6570 +91/92 [============================>.] - ETA: 0s - loss: 0.8748 - accuracy: 0.6605 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.8800 - accuracy: 0.6570 +92/92 [==============================] - ETA: 0s - loss: 0.8733 - accuracy: 0.6611 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.8800 - accuracy: 0.6570 - val_loss: 0.9390 - val_accuracy: 0.6553 +92/92 [==============================] - 6s 64ms/step - loss: 0.8733 - accuracy: 0.6611 - val_loss: 0.8510 - val_accuracy: 0.6567 .. parsed-literal:: @@ -2798,462 +2895,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.8812 - accuracy: 0.5938 + 1/92 [..............................] - ETA: 7s - loss: 0.8657 - accuracy: 0.7188 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.9164 - accuracy: 0.6094 + 2/92 [..............................] - ETA: 5s - loss: 0.7892 - accuracy: 0.7188 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.8794 - accuracy: 0.6250 + 3/92 [..............................] - ETA: 5s - loss: 0.7836 - accuracy: 0.6979 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.9695 - accuracy: 0.5938 + 4/92 [>.............................] - ETA: 5s - loss: 0.7753 - accuracy: 0.6797 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.9142 - accuracy: 0.6187 + 5/92 [>.............................] - ETA: 5s - loss: 0.7662 - accuracy: 0.6938 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.9198 - accuracy: 0.6406 + 6/92 [>.............................] - ETA: 4s - loss: 0.7787 - accuracy: 0.7083 .. parsed-literal::  - 7/92 [=>............................] - ETA: 5s - loss: 0.9138 - accuracy: 0.6562 + 7/92 [=>............................] - ETA: 4s - loss: 0.7777 - accuracy: 0.7098 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.9124 - accuracy: 0.6406 + 8/92 [=>............................] - ETA: 4s - loss: 0.7901 - accuracy: 0.7109 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.8889 - accuracy: 0.6562 + 9/92 [=>............................] - ETA: 4s - loss: 0.7951 - accuracy: 0.7014 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.8911 - accuracy: 0.6625 +10/92 [==>...........................] - ETA: 4s - loss: 0.7763 - accuracy: 0.7094 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.9110 - accuracy: 0.6506 +11/92 [==>...........................] - ETA: 4s - loss: 0.8326 - accuracy: 0.6875 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.9076 - accuracy: 0.6510 +12/92 [==>...........................] - ETA: 4s - loss: 0.8178 - accuracy: 0.6901 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.9137 - accuracy: 0.6490 +13/92 [===>..........................] - ETA: 4s - loss: 0.8167 - accuracy: 0.6851 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.9154 - accuracy: 0.6496 +14/92 [===>..........................] - ETA: 4s - loss: 0.8195 - accuracy: 0.6808 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.9019 - accuracy: 0.6562 +15/92 [===>..........................] - ETA: 4s - loss: 0.8092 - accuracy: 0.6854 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.9025 - accuracy: 0.6562 +16/92 [====>.........................] - ETA: 4s - loss: 0.7981 - accuracy: 0.6914 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.8931 - accuracy: 0.6581 +18/92 [====>.........................] - ETA: 4s - loss: 0.7976 - accuracy: 0.6937 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.8880 - accuracy: 0.6615 +19/92 [=====>........................] - ETA: 4s - loss: 0.7904 - accuracy: 0.6983 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.8759 - accuracy: 0.6645 +20/92 [=====>........................] - ETA: 4s - loss: 0.7961 - accuracy: 0.6978 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.8755 - accuracy: 0.6609 +21/92 [=====>........................] - ETA: 4s - loss: 0.7896 - accuracy: 0.7003 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.8677 - accuracy: 0.6622 +22/92 [======>.......................] - ETA: 3s - loss: 0.7887 - accuracy: 0.6968 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.8679 - accuracy: 0.6619 +23/92 [======>.......................] - ETA: 3s - loss: 0.7973 - accuracy: 0.6909 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.8670 - accuracy: 0.6590 +24/92 [======>.......................] - ETA: 3s - loss: 0.7968 - accuracy: 0.6895 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.8763 - accuracy: 0.6549 +25/92 [=======>......................] - ETA: 3s - loss: 0.7883 - accuracy: 0.6932 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.8764 - accuracy: 0.6550 +26/92 [=======>......................] - ETA: 3s - loss: 0.7887 - accuracy: 0.6942 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.8705 - accuracy: 0.6587 +27/92 [=======>......................] - ETA: 3s - loss: 0.7798 - accuracy: 0.6986 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.8718 - accuracy: 0.6609 +28/92 [========>.....................] - ETA: 3s - loss: 0.7829 - accuracy: 0.6959 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.8648 - accuracy: 0.6641 +29/92 [========>.....................] - ETA: 3s - loss: 0.7854 - accuracy: 0.6935 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.8630 - accuracy: 0.6670 +30/92 [========>.....................] - ETA: 3s - loss: 0.7930 - accuracy: 0.6891 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.8663 - accuracy: 0.6635 +31/92 [=========>....................] - ETA: 3s - loss: 0.8000 - accuracy: 0.6860 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.8637 - accuracy: 0.6623 +32/92 [=========>....................] - ETA: 3s - loss: 0.8004 - accuracy: 0.6860 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.8571 - accuracy: 0.6650 +33/92 [=========>....................] - ETA: 3s - loss: 0.8010 - accuracy: 0.6832 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.8529 - accuracy: 0.6657 +34/92 [==========>...................] - ETA: 3s - loss: 0.7980 - accuracy: 0.6843 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.8525 - accuracy: 0.6645 +35/92 [==========>...................] - ETA: 3s - loss: 0.7957 - accuracy: 0.6862 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.8567 - accuracy: 0.6625 +36/92 [==========>...................] - ETA: 3s - loss: 0.7993 - accuracy: 0.6836 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.8536 - accuracy: 0.6623 +37/92 [===========>..................] - ETA: 3s - loss: 0.8022 - accuracy: 0.6845 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.8573 - accuracy: 0.6605 +38/92 [===========>..................] - ETA: 3s - loss: 0.8000 - accuracy: 0.6863 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.8572 - accuracy: 0.6612 +39/92 [===========>..................] - ETA: 3s - loss: 0.8015 - accuracy: 0.6863 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.8635 - accuracy: 0.6587 +40/92 [============>.................] - ETA: 2s - loss: 0.8010 - accuracy: 0.6871 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.8663 - accuracy: 0.6570 +41/92 [============>.................] - ETA: 2s - loss: 0.7999 - accuracy: 0.6879 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.8664 - accuracy: 0.6578 +42/92 [============>.................] - ETA: 2s - loss: 0.7988 - accuracy: 0.6886 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.8603 - accuracy: 0.6615 +43/92 [=============>................] - ETA: 2s - loss: 0.7963 - accuracy: 0.6908 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.8584 - accuracy: 0.6606 +44/92 [=============>................] - ETA: 2s - loss: 0.7955 - accuracy: 0.6914 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.8597 - accuracy: 0.6619 +45/92 [=============>................] - ETA: 2s - loss: 0.7980 - accuracy: 0.6927 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.8649 - accuracy: 0.6597 +46/92 [==============>...............] - ETA: 2s - loss: 0.7975 - accuracy: 0.6913 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.8618 - accuracy: 0.6624 +47/92 [==============>...............] - ETA: 2s - loss: 0.7976 - accuracy: 0.6905 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.8613 - accuracy: 0.6642 +48/92 [==============>...............] - ETA: 2s - loss: 0.7976 - accuracy: 0.6904 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.8609 - accuracy: 0.6654 +49/92 [==============>...............] - ETA: 2s - loss: 0.7978 - accuracy: 0.6923 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.8622 - accuracy: 0.6633 +50/92 [===============>..............] - ETA: 2s - loss: 0.7987 - accuracy: 0.6941 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.8586 - accuracy: 0.6644 +51/92 [===============>..............] - ETA: 2s - loss: 0.7994 - accuracy: 0.6933 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.8583 - accuracy: 0.6642 +52/92 [===============>..............] - ETA: 2s - loss: 0.7948 - accuracy: 0.6944 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.8594 - accuracy: 0.6647 +53/92 [================>.............] - ETA: 2s - loss: 0.7983 - accuracy: 0.6931 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.8609 - accuracy: 0.6645 +54/92 [================>.............] - ETA: 2s - loss: 0.7968 - accuracy: 0.6942 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.8660 - accuracy: 0.6632 +55/92 [================>.............] - ETA: 2s - loss: 0.7969 - accuracy: 0.6941 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.8657 - accuracy: 0.6614 +56/92 [=================>............] - ETA: 2s - loss: 0.7984 - accuracy: 0.6934 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.8618 - accuracy: 0.6618 +57/92 [=================>............] - ETA: 2s - loss: 0.7978 - accuracy: 0.6938 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.8631 - accuracy: 0.6612 +58/92 [=================>............] - ETA: 1s - loss: 0.7939 - accuracy: 0.6943 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.8668 - accuracy: 0.6579 +59/92 [==================>...........] - ETA: 1s - loss: 0.7931 - accuracy: 0.6947 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.8626 - accuracy: 0.6589 +60/92 [==================>...........] - ETA: 1s - loss: 0.7949 - accuracy: 0.6925 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.8650 - accuracy: 0.6568 +61/92 [==================>...........] - ETA: 1s - loss: 0.7953 - accuracy: 0.6929 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.8623 - accuracy: 0.6593 +62/92 [===================>..........] - ETA: 1s - loss: 0.7937 - accuracy: 0.6928 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.8625 - accuracy: 0.6583 +63/92 [===================>..........] - ETA: 1s - loss: 0.7945 - accuracy: 0.6912 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.8627 - accuracy: 0.6582 +64/92 [===================>..........] - ETA: 1s - loss: 0.7966 - accuracy: 0.6907 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.8592 - accuracy: 0.6602 +65/92 [====================>.........] - ETA: 1s - loss: 0.7917 - accuracy: 0.6931 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.8576 - accuracy: 0.6611 +66/92 [====================>.........] - ETA: 1s - loss: 0.7929 - accuracy: 0.6930 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.8557 - accuracy: 0.6610 +67/92 [====================>.........] - ETA: 1s - loss: 0.7913 - accuracy: 0.6943 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.8520 - accuracy: 0.6637 +68/92 [=====================>........] - ETA: 1s - loss: 0.7908 - accuracy: 0.6946 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.8513 - accuracy: 0.6650 +69/92 [=====================>........] - ETA: 1s - loss: 0.7927 - accuracy: 0.6945 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.8522 - accuracy: 0.6644 +70/92 [=====================>........] - ETA: 1s - loss: 0.7939 - accuracy: 0.6927 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.8504 - accuracy: 0.6661 +71/92 [======================>.......] - ETA: 1s - loss: 0.7905 - accuracy: 0.6943 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.8502 - accuracy: 0.6668 +72/92 [======================>.......] - ETA: 1s - loss: 0.7902 - accuracy: 0.6925 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.8468 - accuracy: 0.6684 +73/92 [======================>.......] - ETA: 1s - loss: 0.7924 - accuracy: 0.6916 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.8451 - accuracy: 0.6691 +74/92 [=======================>......] - ETA: 1s - loss: 0.7905 - accuracy: 0.6928 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.8438 - accuracy: 0.6706 +75/92 [=======================>......] - ETA: 0s - loss: 0.7955 - accuracy: 0.6911 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.8427 - accuracy: 0.6704 +76/92 [=======================>......] - ETA: 0s - loss: 0.7980 - accuracy: 0.6898 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.8413 - accuracy: 0.6718 +77/92 [========================>.....] - ETA: 0s - loss: 0.7978 - accuracy: 0.6889 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.8387 - accuracy: 0.6728 +78/92 [========================>.....] - ETA: 0s - loss: 0.7967 - accuracy: 0.6893 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.8374 - accuracy: 0.6730 +79/92 [========================>.....] - ETA: 0s - loss: 0.7995 - accuracy: 0.6885 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.8359 - accuracy: 0.6728 +80/92 [=========================>....] - ETA: 0s - loss: 0.7982 - accuracy: 0.6893 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.8352 - accuracy: 0.6738 +81/92 [=========================>....] - ETA: 0s - loss: 0.7980 - accuracy: 0.6900 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.8345 - accuracy: 0.6743 +82/92 [=========================>....] - ETA: 0s - loss: 0.7979 - accuracy: 0.6911 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.8320 - accuracy: 0.6748 +83/92 [==========================>...] - ETA: 0s - loss: 0.7979 - accuracy: 0.6918 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.8285 - accuracy: 0.6757 +84/92 [==========================>...] - ETA: 0s - loss: 0.7971 - accuracy: 0.6925 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.8268 - accuracy: 0.6763 +85/92 [==========================>...] - ETA: 0s - loss: 0.7951 - accuracy: 0.6940 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.8247 - accuracy: 0.6764 +86/92 [===========================>..] - ETA: 0s - loss: 0.7924 - accuracy: 0.6961 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.8244 - accuracy: 0.6765 +87/92 [===========================>..] - ETA: 0s - loss: 0.7896 - accuracy: 0.6974 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.8236 - accuracy: 0.6763 +88/92 [===========================>..] - ETA: 0s - loss: 0.7934 - accuracy: 0.6952 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.8236 - accuracy: 0.6764 +89/92 [============================>.] - ETA: 0s - loss: 0.7955 - accuracy: 0.6947 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.8291 - accuracy: 0.6748 +90/92 [============================>.] - ETA: 0s - loss: 0.7927 - accuracy: 0.6960 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.8322 - accuracy: 0.6739 +91/92 [============================>.] - ETA: 0s - loss: 0.7930 - accuracy: 0.6959 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.8332 - accuracy: 0.6737 +92/92 [==============================] - ETA: 0s - loss: 0.7920 - accuracy: 0.6962 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.8332 - accuracy: 0.6737 - val_loss: 0.8496 - val_accuracy: 0.6744 +92/92 [==============================] - 6s 63ms/step - loss: 0.7920 - accuracy: 0.6962 - val_loss: 0.8125 - val_accuracy: 0.6744 .. parsed-literal:: @@ -3264,462 +3361,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.6199 - accuracy: 0.7812 + 1/92 [..............................] - ETA: 7s - loss: 0.6349 - accuracy: 0.7812 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.7833 - accuracy: 0.7344 + 2/92 [..............................] - ETA: 5s - loss: 0.8563 - accuracy: 0.6562 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.8298 - accuracy: 0.7500 + 3/92 [..............................] - ETA: 5s - loss: 0.8303 - accuracy: 0.6771 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.8400 - accuracy: 0.7188 + 4/92 [>.............................] - ETA: 5s - loss: 0.7896 - accuracy: 0.7109 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.8397 - accuracy: 0.7125 + 5/92 [>.............................] - ETA: 5s - loss: 0.7733 - accuracy: 0.7188 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.8399 - accuracy: 0.7083 + 6/92 [>.............................] - ETA: 5s - loss: 0.7531 - accuracy: 0.7344 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.8296 - accuracy: 0.7098 + 7/92 [=>............................] - ETA: 5s - loss: 0.7843 - accuracy: 0.7232 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.8467 - accuracy: 0.7031 + 8/92 [=>............................] - ETA: 4s - loss: 0.7724 - accuracy: 0.7227 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.8815 - accuracy: 0.6806 + 9/92 [=>............................] - ETA: 4s - loss: 0.7519 - accuracy: 0.7292 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.8850 - accuracy: 0.6719 +10/92 [==>...........................] - ETA: 4s - loss: 0.7475 - accuracy: 0.7344 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.8874 - accuracy: 0.6705 +11/92 [==>...........................] - ETA: 4s - loss: 0.7607 - accuracy: 0.7301 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.8762 - accuracy: 0.6771 +12/92 [==>...........................] - ETA: 4s - loss: 0.7461 - accuracy: 0.7370 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.8703 - accuracy: 0.6803 +13/92 [===>..........................] - ETA: 4s - loss: 0.7412 - accuracy: 0.7380 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.8811 - accuracy: 0.6808 +14/92 [===>..........................] - ETA: 4s - loss: 0.7566 - accuracy: 0.7299 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.8734 - accuracy: 0.6875 +15/92 [===>..........................] - ETA: 4s - loss: 0.7400 - accuracy: 0.7354 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.8746 - accuracy: 0.6816 +16/92 [====>.........................] - ETA: 4s - loss: 0.7398 - accuracy: 0.7383 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.8690 - accuracy: 0.6838 +17/92 [====>.........................] - ETA: 4s - loss: 0.7428 - accuracy: 0.7243 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.8626 - accuracy: 0.6892 +18/92 [====>.........................] - ETA: 4s - loss: 0.7577 - accuracy: 0.7170 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.8588 - accuracy: 0.6891 +19/92 [=====>........................] - ETA: 4s - loss: 0.7533 - accuracy: 0.7204 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.8482 - accuracy: 0.6906 +20/92 [=====>........................] - ETA: 4s - loss: 0.7505 - accuracy: 0.7266 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.8316 - accuracy: 0.6979 +21/92 [=====>........................] - ETA: 4s - loss: 0.7473 - accuracy: 0.7247 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.8284 - accuracy: 0.6974 +22/92 [======>.......................] - ETA: 4s - loss: 0.7537 - accuracy: 0.7188 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.8323 - accuracy: 0.6929 +23/92 [======>.......................] - ETA: 4s - loss: 0.7508 - accuracy: 0.7228 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.8270 - accuracy: 0.6953 +24/92 [======>.......................] - ETA: 3s - loss: 0.7521 - accuracy: 0.7227 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.8250 - accuracy: 0.6963 +25/92 [=======>......................] - ETA: 3s - loss: 0.7527 - accuracy: 0.7200 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.8211 - accuracy: 0.6959 +26/92 [=======>......................] - ETA: 3s - loss: 0.7483 - accuracy: 0.7188 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.8161 - accuracy: 0.6991 +27/92 [=======>......................] - ETA: 3s - loss: 0.7496 - accuracy: 0.7176 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.8185 - accuracy: 0.6975 +28/92 [========>.....................] - ETA: 3s - loss: 0.7463 - accuracy: 0.7188 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.8167 - accuracy: 0.6972 +29/92 [========>.....................] - ETA: 3s - loss: 0.7406 - accuracy: 0.7209 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.8212 - accuracy: 0.6958 +30/92 [========>.....................] - ETA: 3s - loss: 0.7375 - accuracy: 0.7240 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.8256 - accuracy: 0.6935 +31/92 [=========>....................] - ETA: 3s - loss: 0.7442 - accuracy: 0.7208 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.8234 - accuracy: 0.6943 +32/92 [=========>....................] - ETA: 3s - loss: 0.7498 - accuracy: 0.7197 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.8263 - accuracy: 0.6922 +33/92 [=========>....................] - ETA: 3s - loss: 0.7430 - accuracy: 0.7235 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.8224 - accuracy: 0.6921 +34/92 [==========>...................] - ETA: 3s - loss: 0.7478 - accuracy: 0.7215 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.8256 - accuracy: 0.6938 +35/92 [==========>...................] - ETA: 3s - loss: 0.7474 - accuracy: 0.7188 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.8271 - accuracy: 0.6918 +36/92 [==========>...................] - ETA: 3s - loss: 0.7460 - accuracy: 0.7179 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.8301 - accuracy: 0.6934 +37/92 [===========>..................] - ETA: 3s - loss: 0.7470 - accuracy: 0.7162 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.8221 - accuracy: 0.6974 +38/92 [===========>..................] - ETA: 3s - loss: 0.7418 - accuracy: 0.7179 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.8311 - accuracy: 0.6939 +39/92 [===========>..................] - ETA: 3s - loss: 0.7378 - accuracy: 0.7196 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.8315 - accuracy: 0.6930 +40/92 [============>.................] - ETA: 3s - loss: 0.7373 - accuracy: 0.7188 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.8302 - accuracy: 0.6921 +41/92 [============>.................] - ETA: 2s - loss: 0.7509 - accuracy: 0.7134 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.8271 - accuracy: 0.6935 +42/92 [============>.................] - ETA: 2s - loss: 0.7482 - accuracy: 0.7165 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.8218 - accuracy: 0.6955 +43/92 [=============>................] - ETA: 2s - loss: 0.7513 - accuracy: 0.7129 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.8249 - accuracy: 0.6939 +44/92 [=============>................] - ETA: 2s - loss: 0.7526 - accuracy: 0.7131 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.8202 - accuracy: 0.6944 +45/92 [=============>................] - ETA: 2s - loss: 0.7525 - accuracy: 0.7125 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.8188 - accuracy: 0.6943 +46/92 [==============>...............] - ETA: 2s - loss: 0.7510 - accuracy: 0.7133 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.8185 - accuracy: 0.6948 +47/92 [==============>...............] - ETA: 2s - loss: 0.7513 - accuracy: 0.7141 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.8134 - accuracy: 0.6960 +48/92 [==============>...............] - ETA: 2s - loss: 0.7500 - accuracy: 0.7135 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.8133 - accuracy: 0.6945 +49/92 [==============>...............] - ETA: 2s - loss: 0.7500 - accuracy: 0.7156 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.8111 - accuracy: 0.6956 +50/92 [===============>..............] - ETA: 2s - loss: 0.7489 - accuracy: 0.7169 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.8098 - accuracy: 0.6961 +51/92 [===============>..............] - ETA: 2s - loss: 0.7478 - accuracy: 0.7181 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.8141 - accuracy: 0.6929 +52/92 [===============>..............] - ETA: 2s - loss: 0.7469 - accuracy: 0.7194 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.8125 - accuracy: 0.6940 +53/92 [================>.............] - ETA: 2s - loss: 0.7450 - accuracy: 0.7199 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.8133 - accuracy: 0.6939 +54/92 [================>.............] - ETA: 2s - loss: 0.7469 - accuracy: 0.7176 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.8159 - accuracy: 0.6926 +55/92 [================>.............] - ETA: 2s - loss: 0.7422 - accuracy: 0.7193 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.8124 - accuracy: 0.6942 +56/92 [=================>............] - ETA: 2s - loss: 0.7411 - accuracy: 0.7199 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.8129 - accuracy: 0.6946 +57/92 [=================>............] - ETA: 2s - loss: 0.7420 - accuracy: 0.7193 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.8087 - accuracy: 0.6967 +58/92 [=================>............] - ETA: 1s - loss: 0.7413 - accuracy: 0.7193 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.8073 - accuracy: 0.6970 +59/92 [==================>...........] - ETA: 1s - loss: 0.7409 - accuracy: 0.7193 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.8078 - accuracy: 0.6953 +60/92 [==================>...........] - ETA: 1s - loss: 0.7432 - accuracy: 0.7182 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.8053 - accuracy: 0.6967 +61/92 [==================>...........] - ETA: 1s - loss: 0.7460 - accuracy: 0.7172 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.8042 - accuracy: 0.6981 +62/92 [===================>..........] - ETA: 1s - loss: 0.7444 - accuracy: 0.7177 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.8060 - accuracy: 0.6980 +63/92 [===================>..........] - ETA: 1s - loss: 0.7509 - accuracy: 0.7148 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.8099 - accuracy: 0.6969 +64/92 [===================>..........] - ETA: 1s - loss: 0.7523 - accuracy: 0.7148 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.8084 - accuracy: 0.6977 +65/92 [====================>.........] - ETA: 1s - loss: 0.7551 - accuracy: 0.7130 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.8075 - accuracy: 0.6980 +67/92 [====================>.........] - ETA: 1s - loss: 0.7576 - accuracy: 0.7125 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.8117 - accuracy: 0.6956 +68/92 [=====================>........] - ETA: 1s - loss: 0.7557 - accuracy: 0.7136 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.8098 - accuracy: 0.6964 +69/92 [=====================>........] - ETA: 1s - loss: 0.7528 - accuracy: 0.7155 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.8070 - accuracy: 0.6971 +70/92 [=====================>........] - ETA: 1s - loss: 0.7536 - accuracy: 0.7142 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.8074 - accuracy: 0.6961 +71/92 [======================>.......] - ETA: 1s - loss: 0.7528 - accuracy: 0.7142 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.8085 - accuracy: 0.6947 +72/92 [======================>.......] - ETA: 1s - loss: 0.7539 - accuracy: 0.7130 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.8054 - accuracy: 0.6954 +73/92 [======================>.......] - ETA: 1s - loss: 0.7555 - accuracy: 0.7126 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.8072 - accuracy: 0.6936 +74/92 [=======================>......] - ETA: 1s - loss: 0.7561 - accuracy: 0.7127 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.8059 - accuracy: 0.6948 +75/92 [=======================>......] - ETA: 0s - loss: 0.7532 - accuracy: 0.7136 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.8074 - accuracy: 0.6931 +76/92 [=======================>......] - ETA: 0s - loss: 0.7523 - accuracy: 0.7153 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.8065 - accuracy: 0.6938 +77/92 [========================>.....] - ETA: 0s - loss: 0.7524 - accuracy: 0.7146 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.8042 - accuracy: 0.6953 +78/92 [========================>.....] - ETA: 0s - loss: 0.7541 - accuracy: 0.7138 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.8038 - accuracy: 0.6960 +79/92 [========================>.....] - ETA: 0s - loss: 0.7554 - accuracy: 0.7143 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.8034 - accuracy: 0.6947 +80/92 [=========================>....] - ETA: 0s - loss: 0.7563 - accuracy: 0.7143 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.8033 - accuracy: 0.6943 +81/92 [=========================>....] - ETA: 0s - loss: 0.7551 - accuracy: 0.7144 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.8084 - accuracy: 0.6919 +82/92 [=========================>....] - ETA: 0s - loss: 0.7536 - accuracy: 0.7152 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.8063 - accuracy: 0.6926 +83/92 [==========================>...] - ETA: 0s - loss: 0.7528 - accuracy: 0.7153 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.8063 - accuracy: 0.6925 +84/92 [==========================>...] - ETA: 0s - loss: 0.7517 - accuracy: 0.7146 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.8048 - accuracy: 0.6936 +85/92 [==========================>...] - ETA: 0s - loss: 0.7486 - accuracy: 0.7150 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.8068 - accuracy: 0.6931 +86/92 [===========================>..] - ETA: 0s - loss: 0.7476 - accuracy: 0.7161 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.8051 - accuracy: 0.6945 +87/92 [===========================>..] - ETA: 0s - loss: 0.7457 - accuracy: 0.7169 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.8063 - accuracy: 0.6934 +88/92 [===========================>..] - ETA: 0s - loss: 0.7444 - accuracy: 0.7169 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.8043 - accuracy: 0.6944 +89/92 [============================>.] - ETA: 0s - loss: 0.7431 - accuracy: 0.7176 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.8045 - accuracy: 0.6939 +90/92 [============================>.] - ETA: 0s - loss: 0.7464 - accuracy: 0.7166 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.8011 - accuracy: 0.6952 +91/92 [============================>.] - ETA: 0s - loss: 0.7473 - accuracy: 0.7149 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.8013 - accuracy: 0.6952 +92/92 [==============================] - ETA: 0s - loss: 0.7498 - accuracy: 0.7142 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.8013 - accuracy: 0.6952 - val_loss: 0.7885 - val_accuracy: 0.6921 +92/92 [==============================] - 6s 64ms/step - loss: 0.7498 - accuracy: 0.7142 - val_loss: 0.7877 - val_accuracy: 0.6785 .. parsed-literal:: @@ -3730,462 +3827,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.7625 - accuracy: 0.5938 + 1/92 [..............................] - ETA: 8s - loss: 0.8708 - accuracy: 0.6562 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.8142 - accuracy: 0.5938 + 2/92 [..............................] - ETA: 5s - loss: 0.6871 - accuracy: 0.7188 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.7949 - accuracy: 0.6771 + 3/92 [..............................] - ETA: 5s - loss: 0.6740 - accuracy: 0.7396 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.7718 - accuracy: 0.6719 + 4/92 [>.............................] - ETA: 5s - loss: 0.6400 - accuracy: 0.7500 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.7636 - accuracy: 0.6687 + 5/92 [>.............................] - ETA: 5s - loss: 0.7039 - accuracy: 0.7563 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.8231 - accuracy: 0.6458 + 6/92 [>.............................] - ETA: 5s - loss: 0.7394 - accuracy: 0.7344 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.8185 - accuracy: 0.6518 + 7/92 [=>............................] - ETA: 4s - loss: 0.7259 - accuracy: 0.7321 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.8045 - accuracy: 0.6680 + 8/92 [=>............................] - ETA: 4s - loss: 0.7397 - accuracy: 0.7227 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.7917 - accuracy: 0.6736 + 9/92 [=>............................] - ETA: 4s - loss: 0.7078 - accuracy: 0.7396 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.7723 - accuracy: 0.6750 +10/92 [==>...........................] - ETA: 4s - loss: 0.6926 - accuracy: 0.7563 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.7690 - accuracy: 0.6818 +11/92 [==>...........................] - ETA: 4s - loss: 0.6873 - accuracy: 0.7585 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.7872 - accuracy: 0.6797 +12/92 [==>...........................] - ETA: 4s - loss: 0.6861 - accuracy: 0.7604 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.7886 - accuracy: 0.6755 +13/92 [===>..........................] - ETA: 4s - loss: 0.6925 - accuracy: 0.7548 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.7963 - accuracy: 0.6741 +14/92 [===>..........................] - ETA: 4s - loss: 0.7057 - accuracy: 0.7455 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.7875 - accuracy: 0.6771 +15/92 [===>..........................] - ETA: 4s - loss: 0.7119 - accuracy: 0.7417 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.7746 - accuracy: 0.6777 +16/92 [====>.........................] - ETA: 4s - loss: 0.6981 - accuracy: 0.7461 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.7709 - accuracy: 0.6783 +17/92 [====>.........................] - ETA: 4s - loss: 0.7039 - accuracy: 0.7500 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.7652 - accuracy: 0.6858 +18/92 [====>.........................] - ETA: 4s - loss: 0.6966 - accuracy: 0.7517 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.7664 - accuracy: 0.6859 +19/92 [=====>........................] - ETA: 4s - loss: 0.7118 - accuracy: 0.7451 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.7756 - accuracy: 0.6828 +20/92 [=====>........................] - ETA: 4s - loss: 0.7030 - accuracy: 0.7484 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.7639 - accuracy: 0.6890 +21/92 [=====>........................] - ETA: 4s - loss: 0.6918 - accuracy: 0.7515 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.7706 - accuracy: 0.6875 +22/92 [======>.......................] - ETA: 4s - loss: 0.6896 - accuracy: 0.7514 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.7612 - accuracy: 0.6902 +23/92 [======>.......................] - ETA: 4s - loss: 0.6861 - accuracy: 0.7541 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.7561 - accuracy: 0.6927 +24/92 [======>.......................] - ETA: 3s - loss: 0.6834 - accuracy: 0.7539 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.7639 - accuracy: 0.6888 +25/92 [=======>......................] - ETA: 3s - loss: 0.6910 - accuracy: 0.7538 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.7809 - accuracy: 0.6791 +26/92 [=======>......................] - ETA: 3s - loss: 0.6926 - accuracy: 0.7536 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.7862 - accuracy: 0.6771 +27/92 [=======>......................] - ETA: 3s - loss: 0.6992 - accuracy: 0.7512 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.7785 - accuracy: 0.6793 +28/92 [========>.....................] - ETA: 3s - loss: 0.7012 - accuracy: 0.7500 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.7737 - accuracy: 0.6817 +29/92 [========>.....................] - ETA: 3s - loss: 0.7092 - accuracy: 0.7457 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.7615 - accuracy: 0.6890 +30/92 [========>.....................] - ETA: 3s - loss: 0.7087 - accuracy: 0.7469 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.7587 - accuracy: 0.6900 +31/92 [=========>....................] - ETA: 3s - loss: 0.7053 - accuracy: 0.7480 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.7596 - accuracy: 0.6880 +32/92 [=========>....................] - ETA: 3s - loss: 0.7085 - accuracy: 0.7471 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.7565 - accuracy: 0.6880 +33/92 [=========>....................] - ETA: 3s - loss: 0.7160 - accuracy: 0.7434 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.7545 - accuracy: 0.6888 +34/92 [==========>...................] - ETA: 3s - loss: 0.7174 - accuracy: 0.7436 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.7500 - accuracy: 0.6914 +36/92 [==========>...................] - ETA: 3s - loss: 0.7268 - accuracy: 0.7386 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.7499 - accuracy: 0.6922 +37/92 [===========>..................] - ETA: 3s - loss: 0.7247 - accuracy: 0.7389 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.7522 - accuracy: 0.6929 +38/92 [===========>..................] - ETA: 3s - loss: 0.7220 - accuracy: 0.7376 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.7490 - accuracy: 0.6944 +39/92 [===========>..................] - ETA: 3s - loss: 0.7229 - accuracy: 0.7363 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.7522 - accuracy: 0.6950 +40/92 [============>.................] - ETA: 3s - loss: 0.7237 - accuracy: 0.7358 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.7488 - accuracy: 0.6933 +41/92 [============>.................] - ETA: 2s - loss: 0.7245 - accuracy: 0.7339 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.7466 - accuracy: 0.6961 +42/92 [============>.................] - ETA: 2s - loss: 0.7202 - accuracy: 0.7373 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.7524 - accuracy: 0.6930 +43/92 [=============>................] - ETA: 2s - loss: 0.7169 - accuracy: 0.7390 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.7599 - accuracy: 0.6893 +44/92 [=============>................] - ETA: 2s - loss: 0.7177 - accuracy: 0.7379 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.7605 - accuracy: 0.6899 +45/92 [=============>................] - ETA: 2s - loss: 0.7152 - accuracy: 0.7381 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.7626 - accuracy: 0.6872 +46/92 [==============>...............] - ETA: 2s - loss: 0.7230 - accuracy: 0.7350 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.7634 - accuracy: 0.6872 +47/92 [==============>...............] - ETA: 2s - loss: 0.7197 - accuracy: 0.7366 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.7714 - accuracy: 0.6846 +48/92 [==============>...............] - ETA: 2s - loss: 0.7241 - accuracy: 0.7330 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.7746 - accuracy: 0.6827 +49/92 [==============>...............] - ETA: 2s - loss: 0.7235 - accuracy: 0.7340 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.7786 - accuracy: 0.6834 +50/92 [===============>..............] - ETA: 2s - loss: 0.7290 - accuracy: 0.7324 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.7776 - accuracy: 0.6841 +51/92 [===============>..............] - ETA: 2s - loss: 0.7345 - accuracy: 0.7309 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.7777 - accuracy: 0.6842 +52/92 [===============>..............] - ETA: 2s - loss: 0.7325 - accuracy: 0.7325 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.7754 - accuracy: 0.6842 +53/92 [================>.............] - ETA: 2s - loss: 0.7313 - accuracy: 0.7328 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.7761 - accuracy: 0.6837 +54/92 [================>.............] - ETA: 2s - loss: 0.7289 - accuracy: 0.7337 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.7774 - accuracy: 0.6832 +55/92 [================>.............] - ETA: 2s - loss: 0.7273 - accuracy: 0.7352 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.7812 - accuracy: 0.6811 +56/92 [=================>............] - ETA: 2s - loss: 0.7247 - accuracy: 0.7349 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.7819 - accuracy: 0.6817 +57/92 [=================>............] - ETA: 2s - loss: 0.7269 - accuracy: 0.7346 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.7844 - accuracy: 0.6807 +58/92 [=================>............] - ETA: 1s - loss: 0.7265 - accuracy: 0.7354 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.7844 - accuracy: 0.6809 +59/92 [==================>...........] - ETA: 1s - loss: 0.7290 - accuracy: 0.7335 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.7820 - accuracy: 0.6825 +60/92 [==================>...........] - ETA: 1s - loss: 0.7302 - accuracy: 0.7338 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.7807 - accuracy: 0.6831 +61/92 [==================>...........] - ETA: 1s - loss: 0.7289 - accuracy: 0.7346 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.7782 - accuracy: 0.6832 +62/92 [===================>..........] - ETA: 1s - loss: 0.7281 - accuracy: 0.7353 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.7790 - accuracy: 0.6843 +63/92 [===================>..........] - ETA: 1s - loss: 0.7261 - accuracy: 0.7356 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.7773 - accuracy: 0.6858 +64/92 [===================>..........] - ETA: 1s - loss: 0.7252 - accuracy: 0.7353 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.7760 - accuracy: 0.6873 +65/92 [====================>.........] - ETA: 1s - loss: 0.7226 - accuracy: 0.7365 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.7741 - accuracy: 0.6882 +66/92 [====================>.........] - ETA: 1s - loss: 0.7235 - accuracy: 0.7367 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.7741 - accuracy: 0.6868 +67/92 [====================>.........] - ETA: 1s - loss: 0.7224 - accuracy: 0.7392 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.7709 - accuracy: 0.6877 +68/92 [=====================>........] - ETA: 1s - loss: 0.7236 - accuracy: 0.7385 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.7695 - accuracy: 0.6895 +69/92 [=====================>........] - ETA: 1s - loss: 0.7230 - accuracy: 0.7382 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.7678 - accuracy: 0.6918 +70/92 [=====================>........] - ETA: 1s - loss: 0.7252 - accuracy: 0.7375 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.7654 - accuracy: 0.6930 +71/92 [======================>.......] - ETA: 1s - loss: 0.7261 - accuracy: 0.7359 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.7645 - accuracy: 0.6925 +72/92 [======================>.......] - ETA: 1s - loss: 0.7252 - accuracy: 0.7356 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.7624 - accuracy: 0.6937 +73/92 [======================>.......] - ETA: 1s - loss: 0.7230 - accuracy: 0.7363 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.7617 - accuracy: 0.6945 +74/92 [=======================>......] - ETA: 1s - loss: 0.7216 - accuracy: 0.7373 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.7631 - accuracy: 0.6940 +75/92 [=======================>......] - ETA: 0s - loss: 0.7255 - accuracy: 0.7354 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.7600 - accuracy: 0.6947 +76/92 [=======================>......] - ETA: 0s - loss: 0.7237 - accuracy: 0.7360 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.7557 - accuracy: 0.6963 +77/92 [========================>.....] - ETA: 0s - loss: 0.7233 - accuracy: 0.7353 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.7526 - accuracy: 0.6982 +78/92 [========================>.....] - ETA: 0s - loss: 0.7231 - accuracy: 0.7359 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.7559 - accuracy: 0.6976 +79/92 [========================>.....] - ETA: 0s - loss: 0.7238 - accuracy: 0.7353 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.7533 - accuracy: 0.6995 +80/92 [=========================>....] - ETA: 0s - loss: 0.7226 - accuracy: 0.7359 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.7518 - accuracy: 0.7009 +81/92 [=========================>....] - ETA: 0s - loss: 0.7209 - accuracy: 0.7361 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.7533 - accuracy: 0.7007 +82/92 [=========================>....] - ETA: 0s - loss: 0.7205 - accuracy: 0.7370 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.7527 - accuracy: 0.7005 +83/92 [==========================>...] - ETA: 0s - loss: 0.7185 - accuracy: 0.7379 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.7522 - accuracy: 0.7007 +84/92 [==========================>...] - ETA: 0s - loss: 0.7190 - accuracy: 0.7377 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.7542 - accuracy: 0.7006 +85/92 [==========================>...] - ETA: 0s - loss: 0.7177 - accuracy: 0.7389 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.7532 - accuracy: 0.7008 +86/92 [===========================>..] - ETA: 0s - loss: 0.7169 - accuracy: 0.7398 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.7522 - accuracy: 0.7014 +87/92 [===========================>..] - ETA: 0s - loss: 0.7168 - accuracy: 0.7406 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.7515 - accuracy: 0.7016 +88/92 [===========================>..] - ETA: 0s - loss: 0.7168 - accuracy: 0.7407 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.7499 - accuracy: 0.7021 +89/92 [============================>.] - ETA: 0s - loss: 0.7175 - accuracy: 0.7405 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.7476 - accuracy: 0.7026 +90/92 [============================>.] - ETA: 0s - loss: 0.7152 - accuracy: 0.7406 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.7485 - accuracy: 0.7025 +91/92 [============================>.] - ETA: 0s - loss: 0.7162 - accuracy: 0.7404 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.7487 - accuracy: 0.7027 +92/92 [==============================] - ETA: 0s - loss: 0.7143 - accuracy: 0.7418 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.7487 - accuracy: 0.7027 - val_loss: 0.7632 - val_accuracy: 0.7180 +92/92 [==============================] - 6s 64ms/step - loss: 0.7143 - accuracy: 0.7418 - val_loss: 0.7818 - val_accuracy: 0.6894 .. parsed-literal:: @@ -4196,462 +4293,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.7172 - accuracy: 0.7188 + 1/92 [..............................] - ETA: 7s - loss: 0.8805 - accuracy: 0.5625 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.6769 - accuracy: 0.7344 + 2/92 [..............................] - ETA: 5s - loss: 0.8586 - accuracy: 0.6094 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.6460 - accuracy: 0.7396 + 3/92 [..............................] - ETA: 5s - loss: 0.9007 - accuracy: 0.6562 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.6215 - accuracy: 0.7344 + 4/92 [>.............................] - ETA: 5s - loss: 0.8638 - accuracy: 0.6562 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.6422 - accuracy: 0.7312 + 5/92 [>.............................] - ETA: 5s - loss: 0.8294 - accuracy: 0.6625 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.6388 - accuracy: 0.7448 + 6/92 [>.............................] - ETA: 4s - loss: 0.7996 - accuracy: 0.6771 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.6498 - accuracy: 0.7411 + 7/92 [=>............................] - ETA: 4s - loss: 0.7719 - accuracy: 0.6875 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.6860 - accuracy: 0.7148 + 8/92 [=>............................] - ETA: 4s - loss: 0.7409 - accuracy: 0.7031 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.7119 - accuracy: 0.7083 + 9/92 [=>............................] - ETA: 4s - loss: 0.7085 - accuracy: 0.7083 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.7098 - accuracy: 0.7188 +10/92 [==>...........................] - ETA: 4s - loss: 0.6926 - accuracy: 0.7125 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.7116 - accuracy: 0.7216 +11/92 [==>...........................] - ETA: 4s - loss: 0.6836 - accuracy: 0.7188 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.7132 - accuracy: 0.7266 +12/92 [==>...........................] - ETA: 4s - loss: 0.6705 - accuracy: 0.7344 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.7007 - accuracy: 0.7260 +13/92 [===>..........................] - ETA: 4s - loss: 0.6796 - accuracy: 0.7284 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.7044 - accuracy: 0.7254 +14/92 [===>..........................] - ETA: 4s - loss: 0.6709 - accuracy: 0.7344 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.7288 - accuracy: 0.7188 +15/92 [===>..........................] - ETA: 4s - loss: 0.6820 - accuracy: 0.7354 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.7369 - accuracy: 0.7188 +16/92 [====>.........................] - ETA: 4s - loss: 0.6948 - accuracy: 0.7324 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.7261 - accuracy: 0.7261 +17/92 [====>.........................] - ETA: 4s - loss: 0.6901 - accuracy: 0.7353 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.7367 - accuracy: 0.7240 +18/92 [====>.........................] - ETA: 4s - loss: 0.6826 - accuracy: 0.7344 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.7338 - accuracy: 0.7231 +19/92 [=====>........................] - ETA: 4s - loss: 0.6819 - accuracy: 0.7336 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.7249 - accuracy: 0.7274 +20/92 [=====>........................] - ETA: 4s - loss: 0.6760 - accuracy: 0.7359 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.7204 - accuracy: 0.7299 +21/92 [=====>........................] - ETA: 4s - loss: 0.6767 - accuracy: 0.7366 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.7158 - accuracy: 0.7335 +22/92 [======>.......................] - ETA: 4s - loss: 0.6782 - accuracy: 0.7358 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.7139 - accuracy: 0.7368 +23/92 [======>.......................] - ETA: 3s - loss: 0.6750 - accuracy: 0.7378 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.7096 - accuracy: 0.7361 +24/92 [======>.......................] - ETA: 3s - loss: 0.6782 - accuracy: 0.7409 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.7115 - accuracy: 0.7354 +25/92 [=======>......................] - ETA: 3s - loss: 0.6894 - accuracy: 0.7362 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.7129 - accuracy: 0.7360 +26/92 [=======>......................] - ETA: 3s - loss: 0.6848 - accuracy: 0.7380 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.7124 - accuracy: 0.7365 +27/92 [=======>......................] - ETA: 3s - loss: 0.6820 - accuracy: 0.7407 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.7017 - accuracy: 0.7380 +28/92 [========>.....................] - ETA: 3s - loss: 0.6777 - accuracy: 0.7433 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.7011 - accuracy: 0.7374 +29/92 [========>.....................] - ETA: 3s - loss: 0.6821 - accuracy: 0.7414 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.7043 - accuracy: 0.7388 +30/92 [========>.....................] - ETA: 3s - loss: 0.6745 - accuracy: 0.7437 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.7160 - accuracy: 0.7352 +31/92 [=========>....................] - ETA: 3s - loss: 0.6698 - accuracy: 0.7470 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.7132 - accuracy: 0.7347 +32/92 [=========>....................] - ETA: 3s - loss: 0.6688 - accuracy: 0.7461 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.7126 - accuracy: 0.7352 +33/92 [=========>....................] - ETA: 3s - loss: 0.6782 - accuracy: 0.7405 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.7083 - accuracy: 0.7374 +34/92 [==========>...................] - ETA: 3s - loss: 0.6791 - accuracy: 0.7399 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.7061 - accuracy: 0.7378 +35/92 [==========>...................] - ETA: 3s - loss: 0.6923 - accuracy: 0.7366 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.7082 - accuracy: 0.7347 +36/92 [==========>...................] - ETA: 3s - loss: 0.6905 - accuracy: 0.7370 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.7058 - accuracy: 0.7334 +37/92 [===========>..................] - ETA: 3s - loss: 0.6867 - accuracy: 0.7382 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.6990 - accuracy: 0.7363 +38/92 [===========>..................] - ETA: 3s - loss: 0.6859 - accuracy: 0.7393 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.7005 - accuracy: 0.7366 +39/92 [===========>..................] - ETA: 3s - loss: 0.6879 - accuracy: 0.7388 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.7000 - accuracy: 0.7362 +40/92 [============>.................] - ETA: 3s - loss: 0.6823 - accuracy: 0.7406 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.7049 - accuracy: 0.7320 +41/92 [============>.................] - ETA: 2s - loss: 0.6857 - accuracy: 0.7393 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.7077 - accuracy: 0.7295 +42/92 [============>.................] - ETA: 2s - loss: 0.6796 - accuracy: 0.7418 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.7090 - accuracy: 0.7293 +43/92 [=============>................] - ETA: 2s - loss: 0.6786 - accuracy: 0.7420 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.7103 - accuracy: 0.7304 +44/92 [=============>................] - ETA: 2s - loss: 0.6763 - accuracy: 0.7429 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.7073 - accuracy: 0.7309 +45/92 [=============>................] - ETA: 2s - loss: 0.6736 - accuracy: 0.7437 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.7056 - accuracy: 0.7326 +46/92 [==============>...............] - ETA: 2s - loss: 0.6795 - accuracy: 0.7418 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.7036 - accuracy: 0.7336 +47/92 [==============>...............] - ETA: 2s - loss: 0.6743 - accuracy: 0.7440 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.7025 - accuracy: 0.7340 +48/92 [==============>...............] - ETA: 2s - loss: 0.6786 - accuracy: 0.7409 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.7066 - accuracy: 0.7324 +49/92 [==============>...............] - ETA: 2s - loss: 0.6918 - accuracy: 0.7360 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.7055 - accuracy: 0.7334 +50/92 [===============>..............] - ETA: 2s - loss: 0.6911 - accuracy: 0.7362 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.7037 - accuracy: 0.7337 +51/92 [===============>..............] - ETA: 2s - loss: 0.6902 - accuracy: 0.7359 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.7035 - accuracy: 0.7340 +52/92 [===============>..............] - ETA: 2s - loss: 0.6892 - accuracy: 0.7356 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.6989 - accuracy: 0.7355 +53/92 [================>.............] - ETA: 2s - loss: 0.6913 - accuracy: 0.7347 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.6984 - accuracy: 0.7357 +54/92 [================>.............] - ETA: 2s - loss: 0.6888 - accuracy: 0.7355 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.6962 - accuracy: 0.7365 +55/92 [================>.............] - ETA: 2s - loss: 0.6879 - accuracy: 0.7352 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.6983 - accuracy: 0.7357 +56/92 [=================>............] - ETA: 2s - loss: 0.6851 - accuracy: 0.7377 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.7028 - accuracy: 0.7316 +57/92 [=================>............] - ETA: 2s - loss: 0.6850 - accuracy: 0.7379 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.7032 - accuracy: 0.7298 +58/92 [=================>............] - ETA: 1s - loss: 0.6881 - accuracy: 0.7381 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.7020 - accuracy: 0.7306 +59/92 [==================>...........] - ETA: 1s - loss: 0.6891 - accuracy: 0.7394 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.6995 - accuracy: 0.7320 +60/92 [==================>...........] - ETA: 1s - loss: 0.6895 - accuracy: 0.7391 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.6997 - accuracy: 0.7308 +61/92 [==================>...........] - ETA: 1s - loss: 0.6929 - accuracy: 0.7387 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.6983 - accuracy: 0.7311 +62/92 [===================>..........] - ETA: 1s - loss: 0.6899 - accuracy: 0.7399 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.6967 - accuracy: 0.7324 +63/92 [===================>..........] - ETA: 1s - loss: 0.6872 - accuracy: 0.7416 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.6963 - accuracy: 0.7331 +64/92 [===================>..........] - ETA: 1s - loss: 0.6868 - accuracy: 0.7422 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.6936 - accuracy: 0.7338 +65/92 [====================>.........] - ETA: 1s - loss: 0.6820 - accuracy: 0.7437 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.6913 - accuracy: 0.7350 +66/92 [====================>.........] - ETA: 1s - loss: 0.6810 - accuracy: 0.7443 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.6887 - accuracy: 0.7357 +67/92 [====================>.........] - ETA: 1s - loss: 0.6796 - accuracy: 0.7444 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.6888 - accuracy: 0.7359 +68/92 [=====================>........] - ETA: 1s - loss: 0.6815 - accuracy: 0.7431 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.6861 - accuracy: 0.7370 +69/92 [=====================>........] - ETA: 1s - loss: 0.6809 - accuracy: 0.7432 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.6876 - accuracy: 0.7372 +70/92 [=====================>........] - ETA: 1s - loss: 0.6813 - accuracy: 0.7433 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.6856 - accuracy: 0.7382 +71/92 [======================>.......] - ETA: 1s - loss: 0.6818 - accuracy: 0.7430 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.6849 - accuracy: 0.7384 +72/92 [======================>.......] - ETA: 1s - loss: 0.6788 - accuracy: 0.7444 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.6884 - accuracy: 0.7377 +73/92 [======================>.......] - ETA: 1s - loss: 0.6774 - accuracy: 0.7440 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.6878 - accuracy: 0.7383 +74/92 [=======================>......] - ETA: 1s - loss: 0.6790 - accuracy: 0.7428 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.6862 - accuracy: 0.7389 +75/92 [=======================>......] - ETA: 0s - loss: 0.6773 - accuracy: 0.7433 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.6864 - accuracy: 0.7386 +77/92 [========================>.....] - ETA: 0s - loss: 0.6752 - accuracy: 0.7443 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.6870 - accuracy: 0.7371 +78/92 [========================>.....] - ETA: 0s - loss: 0.6748 - accuracy: 0.7444 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.6894 - accuracy: 0.7365 +79/92 [========================>.....] - ETA: 0s - loss: 0.6745 - accuracy: 0.7448 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.6936 - accuracy: 0.7359 +80/92 [=========================>....] - ETA: 0s - loss: 0.6752 - accuracy: 0.7441 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.6963 - accuracy: 0.7349 +81/92 [=========================>....] - ETA: 0s - loss: 0.6772 - accuracy: 0.7434 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.6976 - accuracy: 0.7339 +82/92 [=========================>....] - ETA: 0s - loss: 0.6768 - accuracy: 0.7443 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.6980 - accuracy: 0.7334 +83/92 [==========================>...] - ETA: 0s - loss: 0.6776 - accuracy: 0.7443 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.6979 - accuracy: 0.7332 +84/92 [==========================>...] - ETA: 0s - loss: 0.6778 - accuracy: 0.7451 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.6987 - accuracy: 0.7327 +85/92 [==========================>...] - ETA: 0s - loss: 0.6802 - accuracy: 0.7434 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.6967 - accuracy: 0.7340 +86/92 [===========================>..] - ETA: 0s - loss: 0.6784 - accuracy: 0.7438 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.6976 - accuracy: 0.7334 +87/92 [===========================>..] - ETA: 0s - loss: 0.6789 - accuracy: 0.7428 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.6974 - accuracy: 0.7343 +88/92 [===========================>..] - ETA: 0s - loss: 0.6801 - accuracy: 0.7422 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.6991 - accuracy: 0.7338 +89/92 [============================>.] - ETA: 0s - loss: 0.6778 - accuracy: 0.7437 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.7016 - accuracy: 0.7319 +90/92 [============================>.] - ETA: 0s - loss: 0.6770 - accuracy: 0.7437 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.7019 - accuracy: 0.7311 +91/92 [============================>.] - ETA: 0s - loss: 0.6784 - accuracy: 0.7435 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.7012 - accuracy: 0.7316 +92/92 [==============================] - ETA: 0s - loss: 0.6814 - accuracy: 0.7415 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.7012 - accuracy: 0.7316 - val_loss: 0.7702 - val_accuracy: 0.7153 +92/92 [==============================] - 6s 64ms/step - loss: 0.6814 - accuracy: 0.7415 - val_loss: 0.7626 - val_accuracy: 0.7112 .. parsed-literal:: @@ -4662,462 +4759,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.7327 - accuracy: 0.7812 + 1/92 [..............................] - ETA: 7s - loss: 0.7865 - accuracy: 0.6875 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.6516 - accuracy: 0.7812 + 2/92 [..............................] - ETA: 5s - loss: 0.7304 - accuracy: 0.7344 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.7418 - accuracy: 0.7396 + 3/92 [..............................] - ETA: 5s - loss: 0.7195 - accuracy: 0.7188 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.7133 - accuracy: 0.7422 + 4/92 [>.............................] - ETA: 5s - loss: 0.7386 - accuracy: 0.7344 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.6932 - accuracy: 0.7563 + 5/92 [>.............................] - ETA: 5s - loss: 0.7251 - accuracy: 0.7437 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.7019 - accuracy: 0.7292 + 6/92 [>.............................] - ETA: 5s - loss: 0.7120 - accuracy: 0.7448 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.6774 - accuracy: 0.7366 + 7/92 [=>............................] - ETA: 4s - loss: 0.6797 - accuracy: 0.7545 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.6611 - accuracy: 0.7422 + 8/92 [=>............................] - ETA: 4s - loss: 0.7327 - accuracy: 0.7344 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.6545 - accuracy: 0.7569 + 9/92 [=>............................] - ETA: 4s - loss: 0.7338 - accuracy: 0.7396 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.6741 - accuracy: 0.7563 +10/92 [==>...........................] - ETA: 4s - loss: 0.7174 - accuracy: 0.7406 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.7102 - accuracy: 0.7443 +11/92 [==>...........................] - ETA: 4s - loss: 0.7141 - accuracy: 0.7415 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.7125 - accuracy: 0.7396 +12/92 [==>...........................] - ETA: 4s - loss: 0.6980 - accuracy: 0.7474 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.7043 - accuracy: 0.7428 +13/92 [===>..........................] - ETA: 4s - loss: 0.6912 - accuracy: 0.7524 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.7054 - accuracy: 0.7455 +14/92 [===>..........................] - ETA: 4s - loss: 0.6817 - accuracy: 0.7612 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.7136 - accuracy: 0.7417 +15/92 [===>..........................] - ETA: 4s - loss: 0.6815 - accuracy: 0.7542 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.6973 - accuracy: 0.7480 +16/92 [====>.........................] - ETA: 4s - loss: 0.6619 - accuracy: 0.7617 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.7043 - accuracy: 0.7482 +17/92 [====>.........................] - ETA: 4s - loss: 0.6497 - accuracy: 0.7684 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.6905 - accuracy: 0.7535 +18/92 [====>.........................] - ETA: 4s - loss: 0.6517 - accuracy: 0.7691 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.6920 - accuracy: 0.7516 +19/92 [=====>........................] - ETA: 4s - loss: 0.6459 - accuracy: 0.7714 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.6807 - accuracy: 0.7531 +20/92 [=====>........................] - ETA: 4s - loss: 0.6527 - accuracy: 0.7656 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.6729 - accuracy: 0.7545 +21/92 [=====>........................] - ETA: 4s - loss: 0.6489 - accuracy: 0.7679 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.6833 - accuracy: 0.7514 +22/92 [======>.......................] - ETA: 4s - loss: 0.6447 - accuracy: 0.7727 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.6871 - accuracy: 0.7514 +23/92 [======>.......................] - ETA: 4s - loss: 0.6371 - accuracy: 0.7785 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.6880 - accuracy: 0.7539 +24/92 [======>.......................] - ETA: 3s - loss: 0.6404 - accuracy: 0.7760 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.6813 - accuracy: 0.7563 +25/92 [=======>......................] - ETA: 3s - loss: 0.6372 - accuracy: 0.7775 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.6815 - accuracy: 0.7560 +26/92 [=======>......................] - ETA: 3s - loss: 0.6386 - accuracy: 0.7776 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.6813 - accuracy: 0.7558 +27/92 [=======>......................] - ETA: 3s - loss: 0.6373 - accuracy: 0.7766 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.6902 - accuracy: 0.7511 +28/92 [========>.....................] - ETA: 3s - loss: 0.6324 - accuracy: 0.7768 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.6940 - accuracy: 0.7500 +29/92 [========>.....................] - ETA: 3s - loss: 0.6440 - accuracy: 0.7705 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.6877 - accuracy: 0.7510 +30/92 [========>.....................] - ETA: 3s - loss: 0.6414 - accuracy: 0.7729 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.6805 - accuracy: 0.7540 +31/92 [=========>....................] - ETA: 3s - loss: 0.6421 - accuracy: 0.7712 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.6852 - accuracy: 0.7500 +32/92 [=========>....................] - ETA: 3s - loss: 0.6414 - accuracy: 0.7715 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.6852 - accuracy: 0.7491 +33/92 [=========>....................] - ETA: 3s - loss: 0.6405 - accuracy: 0.7727 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.6803 - accuracy: 0.7491 +34/92 [==========>...................] - ETA: 3s - loss: 0.6365 - accuracy: 0.7730 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.6842 - accuracy: 0.7473 +35/92 [==========>...................] - ETA: 3s - loss: 0.6365 - accuracy: 0.7705 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.6855 - accuracy: 0.7465 +36/92 [==========>...................] - ETA: 3s - loss: 0.6303 - accuracy: 0.7726 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.6893 - accuracy: 0.7432 +37/92 [===========>..................] - ETA: 3s - loss: 0.6258 - accuracy: 0.7736 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.6896 - accuracy: 0.7410 +38/92 [===========>..................] - ETA: 3s - loss: 0.6213 - accuracy: 0.7755 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.6872 - accuracy: 0.7412 +39/92 [===========>..................] - ETA: 3s - loss: 0.6228 - accuracy: 0.7748 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.6829 - accuracy: 0.7437 +40/92 [============>.................] - ETA: 3s - loss: 0.6269 - accuracy: 0.7727 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.6822 - accuracy: 0.7454 +41/92 [============>.................] - ETA: 2s - loss: 0.6282 - accuracy: 0.7713 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.6821 - accuracy: 0.7455 +42/92 [============>.................] - ETA: 2s - loss: 0.6279 - accuracy: 0.7708 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.6765 - accuracy: 0.7485 +43/92 [=============>................] - ETA: 2s - loss: 0.6269 - accuracy: 0.7718 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.6732 - accuracy: 0.7514 +44/92 [=============>................] - ETA: 2s - loss: 0.6277 - accuracy: 0.7720 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.6690 - accuracy: 0.7535 +45/92 [=============>................] - ETA: 2s - loss: 0.6305 - accuracy: 0.7701 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.6715 - accuracy: 0.7514 +46/92 [==============>...............] - ETA: 2s - loss: 0.6285 - accuracy: 0.7711 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.6701 - accuracy: 0.7520 +47/92 [==============>...............] - ETA: 2s - loss: 0.6261 - accuracy: 0.7726 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.6688 - accuracy: 0.7552 +48/92 [==============>...............] - ETA: 2s - loss: 0.6309 - accuracy: 0.7689 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.6664 - accuracy: 0.7551 +49/92 [==============>...............] - ETA: 2s - loss: 0.6327 - accuracy: 0.7666 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.6705 - accuracy: 0.7531 +50/92 [===============>..............] - ETA: 2s - loss: 0.6296 - accuracy: 0.7675 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.6677 - accuracy: 0.7537 +51/92 [===============>..............] - ETA: 2s - loss: 0.6305 - accuracy: 0.7665 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.6683 - accuracy: 0.7512 +52/92 [===============>..............] - ETA: 2s - loss: 0.6283 - accuracy: 0.7674 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.6632 - accuracy: 0.7535 +53/92 [================>.............] - ETA: 2s - loss: 0.6304 - accuracy: 0.7653 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.6671 - accuracy: 0.7512 +54/92 [================>.............] - ETA: 2s - loss: 0.6307 - accuracy: 0.7650 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.6669 - accuracy: 0.7517 +55/92 [================>.............] - ETA: 2s - loss: 0.6360 - accuracy: 0.7619 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.6650 - accuracy: 0.7522 +56/92 [=================>............] - ETA: 2s - loss: 0.6391 - accuracy: 0.7606 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.6592 - accuracy: 0.7549 +57/92 [=================>............] - ETA: 2s - loss: 0.6408 - accuracy: 0.7588 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.6616 - accuracy: 0.7522 +58/92 [=================>............] - ETA: 1s - loss: 0.6416 - accuracy: 0.7575 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.6631 - accuracy: 0.7526 +59/92 [==================>...........] - ETA: 1s - loss: 0.6362 - accuracy: 0.7606 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.6615 - accuracy: 0.7547 +60/92 [==================>...........] - ETA: 1s - loss: 0.6368 - accuracy: 0.7609 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.6653 - accuracy: 0.7536 +61/92 [==================>...........] - ETA: 1s - loss: 0.6366 - accuracy: 0.7602 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.6664 - accuracy: 0.7525 +62/92 [===================>..........] - ETA: 1s - loss: 0.6377 - accuracy: 0.7591 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.6658 - accuracy: 0.7520 +63/92 [===================>..........] - ETA: 1s - loss: 0.6355 - accuracy: 0.7599 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.6643 - accuracy: 0.7520 +64/92 [===================>..........] - ETA: 1s - loss: 0.6378 - accuracy: 0.7603 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.6618 - accuracy: 0.7543 +65/92 [====================>.........] - ETA: 1s - loss: 0.6359 - accuracy: 0.7601 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.6601 - accuracy: 0.7547 +66/92 [====================>.........] - ETA: 1s - loss: 0.6364 - accuracy: 0.7590 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.6585 - accuracy: 0.7551 +67/92 [====================>.........] - ETA: 1s - loss: 0.6392 - accuracy: 0.7579 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.6609 - accuracy: 0.7523 +68/92 [=====================>........] - ETA: 1s - loss: 0.6401 - accuracy: 0.7578 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.6676 - accuracy: 0.7486 +69/92 [=====================>........] - ETA: 1s - loss: 0.6426 - accuracy: 0.7586 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.6645 - accuracy: 0.7509 +70/92 [=====================>........] - ETA: 1s - loss: 0.6444 - accuracy: 0.7589 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.6621 - accuracy: 0.7522 +71/92 [======================>.......] - ETA: 1s - loss: 0.6480 - accuracy: 0.7575 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.6610 - accuracy: 0.7526 +72/92 [======================>.......] - ETA: 1s - loss: 0.6483 - accuracy: 0.7578 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.6592 - accuracy: 0.7530 +74/92 [=======================>......] - ETA: 1s - loss: 0.6492 - accuracy: 0.7576 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.6584 - accuracy: 0.7533 +75/92 [=======================>......] - ETA: 0s - loss: 0.6487 - accuracy: 0.7584 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.6593 - accuracy: 0.7541 +76/92 [=======================>......] - ETA: 0s - loss: 0.6501 - accuracy: 0.7583 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.6574 - accuracy: 0.7545 +77/92 [========================>.....] - ETA: 0s - loss: 0.6513 - accuracy: 0.7581 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.6558 - accuracy: 0.7552 +78/92 [========================>.....] - ETA: 0s - loss: 0.6507 - accuracy: 0.7588 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.6547 - accuracy: 0.7552 +79/92 [========================>.....] - ETA: 0s - loss: 0.6499 - accuracy: 0.7603 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.6563 - accuracy: 0.7551 +80/92 [=========================>....] - ETA: 0s - loss: 0.6489 - accuracy: 0.7610 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.6566 - accuracy: 0.7550 +81/92 [=========================>....] - ETA: 0s - loss: 0.6523 - accuracy: 0.7597 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.6598 - accuracy: 0.7550 +82/92 [=========================>....] - ETA: 0s - loss: 0.6528 - accuracy: 0.7584 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.6627 - accuracy: 0.7538 +83/92 [==========================>...] - ETA: 0s - loss: 0.6514 - accuracy: 0.7591 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.6615 - accuracy: 0.7537 +84/92 [==========================>...] - ETA: 0s - loss: 0.6515 - accuracy: 0.7593 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.6648 - accuracy: 0.7515 +85/92 [==========================>...] - ETA: 0s - loss: 0.6506 - accuracy: 0.7600 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.6672 - accuracy: 0.7489 +86/92 [===========================>..] - ETA: 0s - loss: 0.6507 - accuracy: 0.7606 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.6659 - accuracy: 0.7493 +87/92 [===========================>..] - ETA: 0s - loss: 0.6514 - accuracy: 0.7601 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.6646 - accuracy: 0.7500 +88/92 [===========================>..] - ETA: 0s - loss: 0.6505 - accuracy: 0.7600 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.6653 - accuracy: 0.7489 +89/92 [============================>.] - ETA: 0s - loss: 0.6501 - accuracy: 0.7595 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.6656 - accuracy: 0.7479 +90/92 [============================>.] - ETA: 0s - loss: 0.6492 - accuracy: 0.7587 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.6670 - accuracy: 0.7483 +91/92 [============================>.] - ETA: 0s - loss: 0.6476 - accuracy: 0.7603 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.6711 - accuracy: 0.7480 +92/92 [==============================] - ETA: 0s - loss: 0.6473 - accuracy: 0.7599 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.6711 - accuracy: 0.7480 - val_loss: 0.8020 - val_accuracy: 0.6962 +92/92 [==============================] - 6s 64ms/step - loss: 0.6473 - accuracy: 0.7599 - val_loss: 0.7236 - val_accuracy: 0.7207 .. parsed-literal:: @@ -5128,462 +5225,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.9496 - accuracy: 0.6250 + 1/92 [..............................] - ETA: 7s - loss: 0.5740 - accuracy: 0.7500 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.9003 - accuracy: 0.5938 + 2/92 [..............................] - ETA: 5s - loss: 0.5935 - accuracy: 0.7656 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.7666 - accuracy: 0.6771 + 3/92 [..............................] - ETA: 5s - loss: 0.5920 - accuracy: 0.7500 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.7763 - accuracy: 0.6875 + 4/92 [>.............................] - ETA: 5s - loss: 0.6635 - accuracy: 0.7109 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.7471 - accuracy: 0.7000 + 5/92 [>.............................] - ETA: 5s - loss: 0.6747 - accuracy: 0.7125 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.7708 - accuracy: 0.6771 + 6/92 [>.............................] - ETA: 4s - loss: 0.6427 - accuracy: 0.7448 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.7444 - accuracy: 0.7009 + 7/92 [=>............................] - ETA: 4s - loss: 0.6283 - accuracy: 0.7455 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.7261 - accuracy: 0.7109 + 8/92 [=>............................] - ETA: 4s - loss: 0.6546 - accuracy: 0.7422 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.7338 - accuracy: 0.7014 + 9/92 [=>............................] - ETA: 4s - loss: 0.6286 - accuracy: 0.7569 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.7229 - accuracy: 0.7125 +10/92 [==>...........................] - ETA: 4s - loss: 0.6376 - accuracy: 0.7563 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.7093 - accuracy: 0.7244 +11/92 [==>...........................] - ETA: 4s - loss: 0.6405 - accuracy: 0.7585 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.7040 - accuracy: 0.7292 +12/92 [==>...........................] - ETA: 4s - loss: 0.6312 - accuracy: 0.7630 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.6978 - accuracy: 0.7284 +13/92 [===>..........................] - ETA: 4s - loss: 0.6237 - accuracy: 0.7620 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.6941 - accuracy: 0.7277 +14/92 [===>..........................] - ETA: 4s - loss: 0.6406 - accuracy: 0.7500 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.6810 - accuracy: 0.7354 +15/92 [===>..........................] - ETA: 4s - loss: 0.6407 - accuracy: 0.7500 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.6905 - accuracy: 0.7305 +16/92 [====>.........................] - ETA: 4s - loss: 0.6304 - accuracy: 0.7520 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.6876 - accuracy: 0.7261 +17/92 [====>.........................] - ETA: 4s - loss: 0.6200 - accuracy: 0.7555 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.6831 - accuracy: 0.7326 +18/92 [====>.........................] - ETA: 4s - loss: 0.6103 - accuracy: 0.7587 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.6771 - accuracy: 0.7368 +19/92 [=====>........................] - ETA: 4s - loss: 0.6163 - accuracy: 0.7582 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.6791 - accuracy: 0.7375 +20/92 [=====>........................] - ETA: 4s - loss: 0.6189 - accuracy: 0.7578 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.6655 - accuracy: 0.7470 +21/92 [=====>........................] - ETA: 4s - loss: 0.6263 - accuracy: 0.7515 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.6608 - accuracy: 0.7486 +22/92 [======>.......................] - ETA: 4s - loss: 0.6176 - accuracy: 0.7557 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.6494 - accuracy: 0.7514 +23/92 [======>.......................] - ETA: 3s - loss: 0.6378 - accuracy: 0.7459 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.6466 - accuracy: 0.7552 +24/92 [======>.......................] - ETA: 3s - loss: 0.6463 - accuracy: 0.7435 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.6500 - accuracy: 0.7538 +25/92 [=======>......................] - ETA: 3s - loss: 0.6394 - accuracy: 0.7462 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.6396 - accuracy: 0.7572 +26/92 [=======>......................] - ETA: 3s - loss: 0.6360 - accuracy: 0.7512 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.6376 - accuracy: 0.7558 +27/92 [=======>......................] - ETA: 3s - loss: 0.6481 - accuracy: 0.7477 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.6443 - accuracy: 0.7533 +28/92 [========>.....................] - ETA: 3s - loss: 0.6490 - accuracy: 0.7478 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.6406 - accuracy: 0.7563 +29/92 [========>.....................] - ETA: 3s - loss: 0.6455 - accuracy: 0.7500 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.6387 - accuracy: 0.7561 +30/92 [========>.....................] - ETA: 3s - loss: 0.6457 - accuracy: 0.7479 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.6517 - accuracy: 0.7510 +31/92 [=========>....................] - ETA: 3s - loss: 0.6470 - accuracy: 0.7450 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.6472 - accuracy: 0.7529 +32/92 [=========>....................] - ETA: 3s - loss: 0.6387 - accuracy: 0.7490 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.6590 - accuracy: 0.7472 +33/92 [=========>....................] - ETA: 3s - loss: 0.6376 - accuracy: 0.7481 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.6533 - accuracy: 0.7500 +34/92 [==========>...................] - ETA: 3s - loss: 0.6360 - accuracy: 0.7491 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.6531 - accuracy: 0.7500 +35/92 [==========>...................] - ETA: 3s - loss: 0.6348 - accuracy: 0.7500 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.6553 - accuracy: 0.7509 +36/92 [==========>...................] - ETA: 3s - loss: 0.6478 - accuracy: 0.7448 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.6546 - accuracy: 0.7517 +37/92 [===========>..................] - ETA: 3s - loss: 0.6487 - accuracy: 0.7466 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.6583 - accuracy: 0.7500 +38/92 [===========>..................] - ETA: 3s - loss: 0.6503 - accuracy: 0.7459 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.6534 - accuracy: 0.7516 +39/92 [===========>..................] - ETA: 3s - loss: 0.6464 - accuracy: 0.7476 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.6557 - accuracy: 0.7492 +40/92 [============>.................] - ETA: 3s - loss: 0.6422 - accuracy: 0.7500 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.6575 - accuracy: 0.7485 +41/92 [============>.................] - ETA: 2s - loss: 0.6358 - accuracy: 0.7523 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.6557 - accuracy: 0.7493 +42/92 [============>.................] - ETA: 2s - loss: 0.6368 - accuracy: 0.7522 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.6548 - accuracy: 0.7500 +43/92 [=============>................] - ETA: 2s - loss: 0.6329 - accuracy: 0.7536 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.6536 - accuracy: 0.7521 +44/92 [=============>................] - ETA: 2s - loss: 0.6278 - accuracy: 0.7557 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.6548 - accuracy: 0.7514 +45/92 [=============>................] - ETA: 2s - loss: 0.6250 - accuracy: 0.7576 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.6491 - accuracy: 0.7540 +46/92 [==============>...............] - ETA: 2s - loss: 0.6247 - accuracy: 0.7588 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.6510 - accuracy: 0.7533 +47/92 [==============>...............] - ETA: 2s - loss: 0.6275 - accuracy: 0.7586 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.6537 - accuracy: 0.7526 +48/92 [==============>...............] - ETA: 2s - loss: 0.6272 - accuracy: 0.7585 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.6507 - accuracy: 0.7525 +49/92 [==============>...............] - ETA: 2s - loss: 0.6232 - accuracy: 0.7602 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.6462 - accuracy: 0.7549 +50/92 [===============>..............] - ETA: 2s - loss: 0.6188 - accuracy: 0.7631 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.6456 - accuracy: 0.7554 +51/92 [===============>..............] - ETA: 2s - loss: 0.6164 - accuracy: 0.7647 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.6444 - accuracy: 0.7536 +52/92 [===============>..............] - ETA: 2s - loss: 0.6179 - accuracy: 0.7650 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.6474 - accuracy: 0.7535 +53/92 [================>.............] - ETA: 2s - loss: 0.6147 - accuracy: 0.7665 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.6433 - accuracy: 0.7551 +54/92 [================>.............] - ETA: 2s - loss: 0.6173 - accuracy: 0.7650 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.6406 - accuracy: 0.7556 +55/92 [================>.............] - ETA: 2s - loss: 0.6130 - accuracy: 0.7665 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.6381 - accuracy: 0.7577 +56/92 [=================>............] - ETA: 2s - loss: 0.6126 - accuracy: 0.7662 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.6361 - accuracy: 0.7581 +57/92 [=================>............] - ETA: 2s - loss: 0.6152 - accuracy: 0.7659 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.6355 - accuracy: 0.7601 +58/92 [=================>............] - ETA: 1s - loss: 0.6182 - accuracy: 0.7629 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.6337 - accuracy: 0.7605 +59/92 [==================>...........] - ETA: 1s - loss: 0.6191 - accuracy: 0.7622 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.6314 - accuracy: 0.7603 +60/92 [==================>...........] - ETA: 1s - loss: 0.6211 - accuracy: 0.7620 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.6352 - accuracy: 0.7591 +61/92 [==================>...........] - ETA: 1s - loss: 0.6216 - accuracy: 0.7618 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.6361 - accuracy: 0.7575 +62/92 [===================>..........] - ETA: 1s - loss: 0.6219 - accuracy: 0.7606 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.6343 - accuracy: 0.7583 +63/92 [===================>..........] - ETA: 1s - loss: 0.6186 - accuracy: 0.7614 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.6303 - accuracy: 0.7597 +64/92 [===================>..........] - ETA: 1s - loss: 0.6187 - accuracy: 0.7607 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.6301 - accuracy: 0.7595 +65/92 [====================>.........] - ETA: 1s - loss: 0.6179 - accuracy: 0.7611 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.6309 - accuracy: 0.7589 +66/92 [====================>.........] - ETA: 1s - loss: 0.6168 - accuracy: 0.7614 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.6335 - accuracy: 0.7574 +67/92 [====================>.........] - ETA: 1s - loss: 0.6160 - accuracy: 0.7607 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.6331 - accuracy: 0.7573 +68/92 [=====================>........] - ETA: 1s - loss: 0.6189 - accuracy: 0.7592 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.6354 - accuracy: 0.7563 +70/92 [=====================>........] - ETA: 1s - loss: 0.6191 - accuracy: 0.7599 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.6353 - accuracy: 0.7562 +71/92 [======================>.......] - ETA: 1s - loss: 0.6182 - accuracy: 0.7602 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.6337 - accuracy: 0.7574 +72/92 [======================>.......] - ETA: 1s - loss: 0.6174 - accuracy: 0.7600 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.6341 - accuracy: 0.7569 +73/92 [======================>.......] - ETA: 1s - loss: 0.6162 - accuracy: 0.7603 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.6345 - accuracy: 0.7564 +74/92 [=======================>......] - ETA: 1s - loss: 0.6152 - accuracy: 0.7614 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.6398 - accuracy: 0.7529 +75/92 [=======================>......] - ETA: 0s - loss: 0.6149 - accuracy: 0.7617 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.6416 - accuracy: 0.7525 +76/92 [=======================>......] - ETA: 0s - loss: 0.6151 - accuracy: 0.7603 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.6396 - accuracy: 0.7541 +77/92 [========================>.....] - ETA: 0s - loss: 0.6145 - accuracy: 0.7610 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.6385 - accuracy: 0.7548 +78/92 [========================>.....] - ETA: 0s - loss: 0.6163 - accuracy: 0.7592 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.6400 - accuracy: 0.7544 +79/92 [========================>.....] - ETA: 0s - loss: 0.6142 - accuracy: 0.7607 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.6401 - accuracy: 0.7539 +80/92 [=========================>....] - ETA: 0s - loss: 0.6116 - accuracy: 0.7625 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.6398 - accuracy: 0.7539 +81/92 [=========================>....] - ETA: 0s - loss: 0.6098 - accuracy: 0.7643 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.6389 - accuracy: 0.7538 +82/92 [=========================>....] - ETA: 0s - loss: 0.6092 - accuracy: 0.7645 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.6372 - accuracy: 0.7545 +83/92 [==========================>...] - ETA: 0s - loss: 0.6145 - accuracy: 0.7647 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.6382 - accuracy: 0.7552 +84/92 [==========================>...] - ETA: 0s - loss: 0.6170 - accuracy: 0.7638 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.6419 - accuracy: 0.7541 +85/92 [==========================>...] - ETA: 0s - loss: 0.6193 - accuracy: 0.7629 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.6430 - accuracy: 0.7533 +86/92 [===========================>..] - ETA: 0s - loss: 0.6220 - accuracy: 0.7609 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.6418 - accuracy: 0.7536 +87/92 [===========================>..] - ETA: 0s - loss: 0.6231 - accuracy: 0.7608 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.6407 - accuracy: 0.7539 +88/92 [===========================>..] - ETA: 0s - loss: 0.6242 - accuracy: 0.7603 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.6416 - accuracy: 0.7546 +89/92 [============================>.] - ETA: 0s - loss: 0.6252 - accuracy: 0.7599 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.6424 - accuracy: 0.7552 +90/92 [============================>.] - ETA: 0s - loss: 0.6245 - accuracy: 0.7597 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.6426 - accuracy: 0.7555 +91/92 [============================>.] - ETA: 0s - loss: 0.6248 - accuracy: 0.7596 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.6408 - accuracy: 0.7554 +92/92 [==============================] - ETA: 0s - loss: 0.6268 - accuracy: 0.7592 .. parsed-literal::  -92/92 [==============================] - 6s 63ms/step - loss: 0.6408 - accuracy: 0.7554 - val_loss: 0.7525 - val_accuracy: 0.7112 +92/92 [==============================] - 6s 64ms/step - loss: 0.6268 - accuracy: 0.7592 - val_loss: 0.7243 - val_accuracy: 0.7207 .. parsed-literal:: @@ -5594,462 +5691,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.4288 - accuracy: 0.8125 + 1/92 [..............................] - ETA: 7s - loss: 0.5004 - accuracy: 0.8438 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5379 - accuracy: 0.7656 + 2/92 [..............................] - ETA: 5s - loss: 0.5188 - accuracy: 0.8438 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.6520 - accuracy: 0.7083 + 3/92 [..............................] - ETA: 5s - loss: 0.5596 - accuracy: 0.8333 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.6468 - accuracy: 0.7266 + 4/92 [>.............................] - ETA: 5s - loss: 0.6025 - accuracy: 0.7812 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.5931 - accuracy: 0.7625 + 5/92 [>.............................] - ETA: 5s - loss: 0.6079 - accuracy: 0.7812 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.6002 - accuracy: 0.7708 + 6/92 [>.............................] - ETA: 5s - loss: 0.5940 - accuracy: 0.7969 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.5982 - accuracy: 0.7768 + 7/92 [=>............................] - ETA: 4s - loss: 0.6423 - accuracy: 0.7679 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.6006 - accuracy: 0.7852 + 8/92 [=>............................] - ETA: 4s - loss: 0.6230 - accuracy: 0.7773 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.5806 - accuracy: 0.7951 +10/92 [==>...........................] - ETA: 4s - loss: 0.6169 - accuracy: 0.7821 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5907 - accuracy: 0.7844 +11/92 [==>...........................] - ETA: 4s - loss: 0.6303 - accuracy: 0.7674 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5741 - accuracy: 0.7898 +12/92 [==>...........................] - ETA: 4s - loss: 0.6434 - accuracy: 0.7580 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5914 - accuracy: 0.7786 +13/92 [===>..........................] - ETA: 4s - loss: 0.6346 - accuracy: 0.7598 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5997 - accuracy: 0.7764 +14/92 [===>..........................] - ETA: 4s - loss: 0.6356 - accuracy: 0.7568 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5910 - accuracy: 0.7746 +15/92 [===>..........................] - ETA: 4s - loss: 0.6246 - accuracy: 0.7606 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5887 - accuracy: 0.7812 +16/92 [====>.........................] - ETA: 4s - loss: 0.6124 - accuracy: 0.7659 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5754 - accuracy: 0.7891 +17/92 [====>.........................] - ETA: 4s - loss: 0.6050 - accuracy: 0.7705 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5765 - accuracy: 0.7868 +18/92 [====>.........................] - ETA: 4s - loss: 0.6044 - accuracy: 0.7729 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5621 - accuracy: 0.7917 +19/92 [=====>........................] - ETA: 4s - loss: 0.5975 - accuracy: 0.7783 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5564 - accuracy: 0.7944 +20/92 [=====>........................] - ETA: 4s - loss: 0.5979 - accuracy: 0.7785 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5581 - accuracy: 0.7906 +21/92 [=====>........................] - ETA: 4s - loss: 0.5977 - accuracy: 0.7771 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5506 - accuracy: 0.7946 +22/92 [======>.......................] - ETA: 4s - loss: 0.5974 - accuracy: 0.7773 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5530 - accuracy: 0.7940 +23/92 [======>.......................] - ETA: 3s - loss: 0.5837 - accuracy: 0.7843 .. parsed-literal::  -23/92 [======>.......................] - ETA: 3s - loss: 0.5548 - accuracy: 0.7935 +24/92 [======>.......................] - ETA: 3s - loss: 0.5871 - accuracy: 0.7829 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5654 - accuracy: 0.7852 +25/92 [=======>......................] - ETA: 3s - loss: 0.5854 - accuracy: 0.7816 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5796 - accuracy: 0.7800 +26/92 [=======>......................] - ETA: 3s - loss: 0.5881 - accuracy: 0.7755 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.5784 - accuracy: 0.7776 +27/92 [=======>......................] - ETA: 3s - loss: 0.5781 - accuracy: 0.7780 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.5750 - accuracy: 0.7778 +28/92 [========>.....................] - ETA: 3s - loss: 0.5824 - accuracy: 0.7782 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.5857 - accuracy: 0.7723 +29/92 [========>.....................] - ETA: 3s - loss: 0.5826 - accuracy: 0.7783 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.5865 - accuracy: 0.7737 +30/92 [========>.....................] - ETA: 3s - loss: 0.5814 - accuracy: 0.7805 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5927 - accuracy: 0.7688 +31/92 [=========>....................] - ETA: 3s - loss: 0.5852 - accuracy: 0.7805 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5894 - accuracy: 0.7692 +32/92 [=========>....................] - ETA: 3s - loss: 0.5898 - accuracy: 0.7746 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.5873 - accuracy: 0.7695 +33/92 [=========>....................] - ETA: 3s - loss: 0.5892 - accuracy: 0.7739 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.5872 - accuracy: 0.7689 +34/92 [==========>...................] - ETA: 3s - loss: 0.6016 - accuracy: 0.7685 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.5840 - accuracy: 0.7702 +35/92 [==========>...................] - ETA: 3s - loss: 0.6007 - accuracy: 0.7689 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.5864 - accuracy: 0.7688 +36/92 [==========>...................] - ETA: 3s - loss: 0.5975 - accuracy: 0.7701 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.5859 - accuracy: 0.7682 +37/92 [===========>..................] - ETA: 3s - loss: 0.5969 - accuracy: 0.7704 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.5904 - accuracy: 0.7652 +38/92 [===========>..................] - ETA: 3s - loss: 0.6047 - accuracy: 0.7666 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.5938 - accuracy: 0.7640 +39/92 [===========>..................] - ETA: 3s - loss: 0.6092 - accuracy: 0.7637 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.5931 - accuracy: 0.7636 +40/92 [============>.................] - ETA: 3s - loss: 0.6073 - accuracy: 0.7626 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.5935 - accuracy: 0.7630 +41/92 [============>.................] - ETA: 2s - loss: 0.6064 - accuracy: 0.7623 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.5924 - accuracy: 0.7657 +42/92 [============>.................] - ETA: 2s - loss: 0.6104 - accuracy: 0.7597 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.5920 - accuracy: 0.7675 +43/92 [=============>................] - ETA: 2s - loss: 0.6046 - accuracy: 0.7639 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.5865 - accuracy: 0.7707 +44/92 [=============>................] - ETA: 2s - loss: 0.6086 - accuracy: 0.7650 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.5830 - accuracy: 0.7737 +45/92 [=============>................] - ETA: 2s - loss: 0.6073 - accuracy: 0.7647 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.5833 - accuracy: 0.7753 +46/92 [==============>...............] - ETA: 2s - loss: 0.6072 - accuracy: 0.7650 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.5803 - accuracy: 0.7754 +47/92 [==============>...............] - ETA: 2s - loss: 0.6057 - accuracy: 0.7660 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.5783 - accuracy: 0.7762 +48/92 [==============>...............] - ETA: 2s - loss: 0.6086 - accuracy: 0.7637 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.5784 - accuracy: 0.7763 +49/92 [==============>...............] - ETA: 2s - loss: 0.6050 - accuracy: 0.7667 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.5813 - accuracy: 0.7758 +50/92 [===============>..............] - ETA: 2s - loss: 0.6028 - accuracy: 0.7670 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.5816 - accuracy: 0.7746 +51/92 [===============>..............] - ETA: 2s - loss: 0.6040 - accuracy: 0.7666 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.5823 - accuracy: 0.7748 +52/92 [===============>..............] - ETA: 2s - loss: 0.6074 - accuracy: 0.7645 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.5830 - accuracy: 0.7749 +53/92 [================>.............] - ETA: 2s - loss: 0.6079 - accuracy: 0.7648 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.5879 - accuracy: 0.7733 +54/92 [================>.............] - ETA: 2s - loss: 0.6114 - accuracy: 0.7645 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.5928 - accuracy: 0.7728 +55/92 [================>.............] - ETA: 2s - loss: 0.6097 - accuracy: 0.7671 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.5927 - accuracy: 0.7724 +56/92 [=================>............] - ETA: 2s - loss: 0.6124 - accuracy: 0.7657 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5908 - accuracy: 0.7731 +57/92 [=================>............] - ETA: 2s - loss: 0.6151 - accuracy: 0.7638 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5892 - accuracy: 0.7727 +58/92 [=================>............] - ETA: 1s - loss: 0.6176 - accuracy: 0.7624 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5875 - accuracy: 0.7734 +59/92 [==================>...........] - ETA: 1s - loss: 0.6145 - accuracy: 0.7638 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5894 - accuracy: 0.7730 +60/92 [==================>...........] - ETA: 1s - loss: 0.6129 - accuracy: 0.7652 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.5912 - accuracy: 0.7716 +61/92 [==================>...........] - ETA: 1s - loss: 0.6118 - accuracy: 0.7654 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5880 - accuracy: 0.7723 +62/92 [===================>..........] - ETA: 1s - loss: 0.6139 - accuracy: 0.7652 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5862 - accuracy: 0.7719 +63/92 [===================>..........] - ETA: 1s - loss: 0.6108 - accuracy: 0.7659 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5880 - accuracy: 0.7711 +64/92 [===================>..........] - ETA: 1s - loss: 0.6083 - accuracy: 0.7667 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5874 - accuracy: 0.7722 +65/92 [====================>.........] - ETA: 1s - loss: 0.6127 - accuracy: 0.7645 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5865 - accuracy: 0.7723 +66/92 [====================>.........] - ETA: 1s - loss: 0.6179 - accuracy: 0.7624 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5869 - accuracy: 0.7720 +67/92 [====================>.........] - ETA: 1s - loss: 0.6177 - accuracy: 0.7626 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5846 - accuracy: 0.7726 +68/92 [=====================>........] - ETA: 1s - loss: 0.6206 - accuracy: 0.7615 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5852 - accuracy: 0.7723 +69/92 [=====================>........] - ETA: 1s - loss: 0.6248 - accuracy: 0.7609 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5853 - accuracy: 0.7720 +70/92 [=====================>........] - ETA: 1s - loss: 0.6231 - accuracy: 0.7625 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5856 - accuracy: 0.7725 +71/92 [======================>.......] - ETA: 1s - loss: 0.6259 - accuracy: 0.7633 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5948 - accuracy: 0.7687 +72/92 [======================>.......] - ETA: 1s - loss: 0.6235 - accuracy: 0.7652 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5983 - accuracy: 0.7676 +73/92 [======================>.......] - ETA: 1s - loss: 0.6247 - accuracy: 0.7650 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5987 - accuracy: 0.7669 +74/92 [=======================>......] - ETA: 1s - loss: 0.6252 - accuracy: 0.7644 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5982 - accuracy: 0.7671 +75/92 [=======================>......] - ETA: 0s - loss: 0.6255 - accuracy: 0.7642 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5964 - accuracy: 0.7677 +76/92 [=======================>......] - ETA: 0s - loss: 0.6241 - accuracy: 0.7644 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5961 - accuracy: 0.7687 +77/92 [========================>.....] - ETA: 0s - loss: 0.6231 - accuracy: 0.7638 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5969 - accuracy: 0.7681 +78/92 [========================>.....] - ETA: 0s - loss: 0.6207 - accuracy: 0.7657 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.6019 - accuracy: 0.7675 +79/92 [========================>.....] - ETA: 0s - loss: 0.6195 - accuracy: 0.7671 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.6002 - accuracy: 0.7684 +80/92 [=========================>....] - ETA: 0s - loss: 0.6174 - accuracy: 0.7676 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5994 - accuracy: 0.7697 +81/92 [=========================>....] - ETA: 0s - loss: 0.6151 - accuracy: 0.7690 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.6019 - accuracy: 0.7695 +82/92 [=========================>....] - ETA: 0s - loss: 0.6135 - accuracy: 0.7699 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.6030 - accuracy: 0.7685 +83/92 [==========================>...] - ETA: 0s - loss: 0.6159 - accuracy: 0.7681 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.6032 - accuracy: 0.7679 +84/92 [==========================>...] - ETA: 0s - loss: 0.6165 - accuracy: 0.7679 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.6072 - accuracy: 0.7662 +85/92 [==========================>...] - ETA: 0s - loss: 0.6142 - accuracy: 0.7692 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.6082 - accuracy: 0.7657 +86/92 [===========================>..] - ETA: 0s - loss: 0.6129 - accuracy: 0.7708 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.6130 - accuracy: 0.7630 +87/92 [===========================>..] - ETA: 0s - loss: 0.6112 - accuracy: 0.7705 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.6125 - accuracy: 0.7632 +88/92 [===========================>..] - ETA: 0s - loss: 0.6089 - accuracy: 0.7714 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.6117 - accuracy: 0.7641 +89/92 [============================>.] - ETA: 0s - loss: 0.6111 - accuracy: 0.7711 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.6107 - accuracy: 0.7643 +90/92 [============================>.] - ETA: 0s - loss: 0.6111 - accuracy: 0.7712 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.6086 - accuracy: 0.7645 +91/92 [============================>.] - ETA: 0s - loss: 0.6089 - accuracy: 0.7724 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.6071 - accuracy: 0.7657 +92/92 [==============================] - ETA: 0s - loss: 0.6087 - accuracy: 0.7728 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.6071 - accuracy: 0.7657 - val_loss: 0.6969 - val_accuracy: 0.7316 +92/92 [==============================] - 6s 64ms/step - loss: 0.6087 - accuracy: 0.7728 - val_loss: 0.7648 - val_accuracy: 0.7112 .. parsed-literal:: @@ -6060,462 +6157,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 6s - loss: 0.4407 - accuracy: 0.8125 + 1/92 [..............................] - ETA: 7s - loss: 1.0327 - accuracy: 0.5625 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.4792 - accuracy: 0.8281 + 2/92 [..............................] - ETA: 5s - loss: 0.8357 - accuracy: 0.6406 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.4696 - accuracy: 0.8229 + 3/92 [..............................] - ETA: 5s - loss: 0.7161 - accuracy: 0.7188 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.4918 - accuracy: 0.8047 + 4/92 [>.............................] - ETA: 5s - loss: 0.6609 - accuracy: 0.7422 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.5115 - accuracy: 0.8000 + 5/92 [>.............................] - ETA: 5s - loss: 0.6659 - accuracy: 0.7437 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.5140 - accuracy: 0.8021 + 6/92 [>.............................] - ETA: 5s - loss: 0.6649 - accuracy: 0.7396 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.5059 - accuracy: 0.8036 + 7/92 [=>............................] - ETA: 4s - loss: 0.6817 - accuracy: 0.7411 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.5174 - accuracy: 0.8086 + 8/92 [=>............................] - ETA: 4s - loss: 0.6448 - accuracy: 0.7461 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.4993 - accuracy: 0.8160 + 9/92 [=>............................] - ETA: 4s - loss: 0.6305 - accuracy: 0.7569 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5029 - accuracy: 0.8188 +10/92 [==>...........................] - ETA: 4s - loss: 0.6144 - accuracy: 0.7594 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5025 - accuracy: 0.8210 +11/92 [==>...........................] - ETA: 4s - loss: 0.5968 - accuracy: 0.7670 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5059 - accuracy: 0.8125 +12/92 [==>...........................] - ETA: 4s - loss: 0.6061 - accuracy: 0.7604 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5044 - accuracy: 0.8101 +13/92 [===>..........................] - ETA: 4s - loss: 0.6096 - accuracy: 0.7596 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5114 - accuracy: 0.8080 +14/92 [===>..........................] - ETA: 4s - loss: 0.6252 - accuracy: 0.7545 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5230 - accuracy: 0.8021 +15/92 [===>..........................] - ETA: 4s - loss: 0.6285 - accuracy: 0.7604 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5226 - accuracy: 0.7988 +16/92 [====>.........................] - ETA: 4s - loss: 0.6208 - accuracy: 0.7656 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5257 - accuracy: 0.7960 +17/92 [====>.........................] - ETA: 4s - loss: 0.6177 - accuracy: 0.7721 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5255 - accuracy: 0.7951 +18/92 [====>.........................] - ETA: 4s - loss: 0.6112 - accuracy: 0.7778 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5267 - accuracy: 0.7944 +19/92 [=====>........................] - ETA: 4s - loss: 0.6023 - accuracy: 0.7829 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5281 - accuracy: 0.7937 +20/92 [=====>........................] - ETA: 4s - loss: 0.6077 - accuracy: 0.7766 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5360 - accuracy: 0.7917 +22/92 [======>.......................] - ETA: 4s - loss: 0.6062 - accuracy: 0.7730 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5355 - accuracy: 0.7940 +23/92 [======>.......................] - ETA: 3s - loss: 0.6150 - accuracy: 0.7706 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.5374 - accuracy: 0.7908 +24/92 [======>.......................] - ETA: 3s - loss: 0.6158 - accuracy: 0.7711 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5475 - accuracy: 0.7878 +25/92 [=======>......................] - ETA: 3s - loss: 0.6215 - accuracy: 0.7689 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5563 - accuracy: 0.7875 +26/92 [=======>......................] - ETA: 3s - loss: 0.6208 - accuracy: 0.7670 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.5524 - accuracy: 0.7897 +27/92 [=======>......................] - ETA: 3s - loss: 0.6196 - accuracy: 0.7640 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.5504 - accuracy: 0.7905 +28/92 [========>.....................] - ETA: 3s - loss: 0.6157 - accuracy: 0.7635 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.5477 - accuracy: 0.7924 +29/92 [========>.....................] - ETA: 3s - loss: 0.6170 - accuracy: 0.7641 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.5441 - accuracy: 0.7931 +30/92 [========>.....................] - ETA: 3s - loss: 0.6153 - accuracy: 0.7668 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5505 - accuracy: 0.7885 +31/92 [=========>....................] - ETA: 3s - loss: 0.6128 - accuracy: 0.7683 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5585 - accuracy: 0.7853 +32/92 [=========>....................] - ETA: 3s - loss: 0.6120 - accuracy: 0.7667 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.5641 - accuracy: 0.7832 +33/92 [=========>....................] - ETA: 3s - loss: 0.6120 - accuracy: 0.7653 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.5631 - accuracy: 0.7831 +34/92 [==========>...................] - ETA: 3s - loss: 0.6129 - accuracy: 0.7639 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.5656 - accuracy: 0.7831 +35/92 [==========>...................] - ETA: 3s - loss: 0.6148 - accuracy: 0.7635 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.5645 - accuracy: 0.7830 +36/92 [==========>...................] - ETA: 3s - loss: 0.6105 - accuracy: 0.7640 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.5611 - accuracy: 0.7830 +37/92 [===========>..................] - ETA: 3s - loss: 0.6107 - accuracy: 0.7645 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.5690 - accuracy: 0.7796 +38/92 [===========>..................] - ETA: 3s - loss: 0.6126 - accuracy: 0.7632 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.5690 - accuracy: 0.7804 +39/92 [===========>..................] - ETA: 3s - loss: 0.6090 - accuracy: 0.7669 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.5674 - accuracy: 0.7788 +40/92 [============>.................] - ETA: 2s - loss: 0.6056 - accuracy: 0.7673 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.5766 - accuracy: 0.7750 +41/92 [============>.................] - ETA: 2s - loss: 0.6074 - accuracy: 0.7676 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.5767 - accuracy: 0.7721 +42/92 [============>.................] - ETA: 2s - loss: 0.6109 - accuracy: 0.7657 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.5762 - accuracy: 0.7731 +43/92 [=============>................] - ETA: 2s - loss: 0.6134 - accuracy: 0.7668 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.5790 - accuracy: 0.7703 +44/92 [=============>................] - ETA: 2s - loss: 0.6080 - accuracy: 0.7686 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.5790 - accuracy: 0.7713 +45/92 [=============>................] - ETA: 2s - loss: 0.6061 - accuracy: 0.7689 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.5772 - accuracy: 0.7722 +46/92 [==============>...............] - ETA: 2s - loss: 0.6038 - accuracy: 0.7698 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.5747 - accuracy: 0.7745 +47/92 [==============>...............] - ETA: 2s - loss: 0.5996 - accuracy: 0.7714 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.5772 - accuracy: 0.7733 +48/92 [==============>...............] - ETA: 2s - loss: 0.6002 - accuracy: 0.7723 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.5753 - accuracy: 0.7747 +49/92 [==============>...............] - ETA: 2s - loss: 0.6031 - accuracy: 0.7705 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.5834 - accuracy: 0.7710 +50/92 [===============>..............] - ETA: 2s - loss: 0.6054 - accuracy: 0.7695 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.5847 - accuracy: 0.7700 +51/92 [===============>..............] - ETA: 2s - loss: 0.6094 - accuracy: 0.7679 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.5822 - accuracy: 0.7727 +52/92 [===============>..............] - ETA: 2s - loss: 0.6037 - accuracy: 0.7699 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.5826 - accuracy: 0.7728 +53/92 [================>.............] - ETA: 2s - loss: 0.6016 - accuracy: 0.7701 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.5850 - accuracy: 0.7712 +54/92 [================>.............] - ETA: 2s - loss: 0.6032 - accuracy: 0.7686 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.5859 - accuracy: 0.7703 +55/92 [================>.............] - ETA: 2s - loss: 0.6005 - accuracy: 0.7700 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.5846 - accuracy: 0.7710 +56/92 [=================>............] - ETA: 2s - loss: 0.6032 - accuracy: 0.7679 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.5853 - accuracy: 0.7695 +57/92 [=================>............] - ETA: 2s - loss: 0.6006 - accuracy: 0.7687 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5860 - accuracy: 0.7692 +58/92 [=================>............] - ETA: 1s - loss: 0.6028 - accuracy: 0.7695 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5864 - accuracy: 0.7683 +59/92 [==================>...........] - ETA: 1s - loss: 0.5982 - accuracy: 0.7723 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5843 - accuracy: 0.7691 +60/92 [==================>...........] - ETA: 1s - loss: 0.5961 - accuracy: 0.7741 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5904 - accuracy: 0.7672 +61/92 [==================>...........] - ETA: 1s - loss: 0.5957 - accuracy: 0.7752 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.5940 - accuracy: 0.7659 +62/92 [===================>..........] - ETA: 1s - loss: 0.6028 - accuracy: 0.7713 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5946 - accuracy: 0.7661 +63/92 [===================>..........] - ETA: 1s - loss: 0.6007 - accuracy: 0.7714 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5941 - accuracy: 0.7662 +64/92 [===================>..........] - ETA: 1s - loss: 0.6004 - accuracy: 0.7716 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5945 - accuracy: 0.7669 +65/92 [====================>.........] - ETA: 1s - loss: 0.6022 - accuracy: 0.7717 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5928 - accuracy: 0.7671 +66/92 [====================>.........] - ETA: 1s - loss: 0.5994 - accuracy: 0.7723 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5914 - accuracy: 0.7669 +67/92 [====================>.........] - ETA: 1s - loss: 0.5994 - accuracy: 0.7725 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5956 - accuracy: 0.7648 +68/92 [=====================>........] - ETA: 1s - loss: 0.5960 - accuracy: 0.7731 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5948 - accuracy: 0.7655 +69/92 [=====================>........] - ETA: 1s - loss: 0.5939 - accuracy: 0.7741 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5943 - accuracy: 0.7657 +70/92 [=====================>........] - ETA: 1s - loss: 0.5967 - accuracy: 0.7728 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5981 - accuracy: 0.7650 +71/92 [======================>.......] - ETA: 1s - loss: 0.5957 - accuracy: 0.7721 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5964 - accuracy: 0.7652 +72/92 [======================>.......] - ETA: 1s - loss: 0.5950 - accuracy: 0.7722 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5972 - accuracy: 0.7655 +73/92 [======================>.......] - ETA: 1s - loss: 0.5953 - accuracy: 0.7723 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5965 - accuracy: 0.7653 +74/92 [=======================>......] - ETA: 1s - loss: 0.5941 - accuracy: 0.7733 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5957 - accuracy: 0.7663 +75/92 [=======================>......] - ETA: 0s - loss: 0.5940 - accuracy: 0.7742 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5946 - accuracy: 0.7673 +76/92 [=======================>......] - ETA: 0s - loss: 0.5924 - accuracy: 0.7743 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5946 - accuracy: 0.7683 +77/92 [========================>.....] - ETA: 0s - loss: 0.5925 - accuracy: 0.7744 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5945 - accuracy: 0.7681 +78/92 [========================>.....] - ETA: 0s - loss: 0.5912 - accuracy: 0.7749 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5910 - accuracy: 0.7702 +79/92 [========================>.....] - ETA: 0s - loss: 0.5919 - accuracy: 0.7746 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5894 - accuracy: 0.7708 +80/92 [=========================>....] - ETA: 0s - loss: 0.5908 - accuracy: 0.7743 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5895 - accuracy: 0.7721 +81/92 [=========================>....] - ETA: 0s - loss: 0.5877 - accuracy: 0.7759 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5885 - accuracy: 0.7722 +82/92 [=========================>....] - ETA: 0s - loss: 0.5862 - accuracy: 0.7764 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5864 - accuracy: 0.7730 +83/92 [==========================>...] - ETA: 0s - loss: 0.5887 - accuracy: 0.7764 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5844 - accuracy: 0.7743 +84/92 [==========================>...] - ETA: 0s - loss: 0.5872 - accuracy: 0.7772 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5862 - accuracy: 0.7729 +85/92 [==========================>...] - ETA: 0s - loss: 0.5902 - accuracy: 0.7754 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5881 - accuracy: 0.7715 +86/92 [===========================>..] - ETA: 0s - loss: 0.5876 - accuracy: 0.7766 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5890 - accuracy: 0.7705 +87/92 [===========================>..] - ETA: 0s - loss: 0.5871 - accuracy: 0.7777 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5906 - accuracy: 0.7699 +88/92 [===========================>..] - ETA: 0s - loss: 0.5874 - accuracy: 0.7785 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5901 - accuracy: 0.7708 +89/92 [============================>.] - ETA: 0s - loss: 0.5870 - accuracy: 0.7789 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5904 - accuracy: 0.7702 +90/92 [============================>.] - ETA: 0s - loss: 0.5838 - accuracy: 0.7806 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5886 - accuracy: 0.7710 +91/92 [============================>.] - ETA: 0s - loss: 0.5832 - accuracy: 0.7813 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5875 - accuracy: 0.7721 +92/92 [==============================] - ETA: 0s - loss: 0.5850 - accuracy: 0.7800 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5875 - accuracy: 0.7721 - val_loss: 0.7032 - val_accuracy: 0.7384 +92/92 [==============================] - 6s 63ms/step - loss: 0.5850 - accuracy: 0.7800 - val_loss: 0.7342 - val_accuracy: 0.7343 .. parsed-literal:: @@ -6526,462 +6623,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.3616 - accuracy: 0.9062 + 1/92 [..............................] - ETA: 7s - loss: 0.4550 - accuracy: 0.7812 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.4409 - accuracy: 0.8750 + 2/92 [..............................] - ETA: 5s - loss: 0.5313 - accuracy: 0.7812 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.4413 - accuracy: 0.8750 + 3/92 [..............................] - ETA: 5s - loss: 0.5090 - accuracy: 0.8021 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.5168 - accuracy: 0.8438 + 4/92 [>.............................] - ETA: 5s - loss: 0.5141 - accuracy: 0.7812 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.5532 - accuracy: 0.8125 + 5/92 [>.............................] - ETA: 5s - loss: 0.4895 - accuracy: 0.7875 .. parsed-literal::  - 6/92 [>.............................] - ETA: 5s - loss: 0.5588 - accuracy: 0.7969 + 6/92 [>.............................] - ETA: 4s - loss: 0.5004 - accuracy: 0.7812 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.5653 - accuracy: 0.7946 + 7/92 [=>............................] - ETA: 4s - loss: 0.5125 - accuracy: 0.7902 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.5709 - accuracy: 0.7969 + 8/92 [=>............................] - ETA: 4s - loss: 0.5179 - accuracy: 0.7852 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.6174 - accuracy: 0.7743 + 9/92 [=>............................] - ETA: 4s - loss: 0.5274 - accuracy: 0.7882 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5993 - accuracy: 0.7875 +10/92 [==>...........................] - ETA: 4s - loss: 0.5448 - accuracy: 0.7844 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5979 - accuracy: 0.7812 +11/92 [==>...........................] - ETA: 4s - loss: 0.5538 - accuracy: 0.7812 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5813 - accuracy: 0.7891 +12/92 [==>...........................] - ETA: 4s - loss: 0.5582 - accuracy: 0.7786 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5770 - accuracy: 0.7933 +13/92 [===>..........................] - ETA: 4s - loss: 0.5492 - accuracy: 0.7812 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5728 - accuracy: 0.7924 +14/92 [===>..........................] - ETA: 4s - loss: 0.5755 - accuracy: 0.7746 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5796 - accuracy: 0.7833 +15/92 [===>..........................] - ETA: 4s - loss: 0.5715 - accuracy: 0.7792 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5670 - accuracy: 0.7852 +16/92 [====>.........................] - ETA: 4s - loss: 0.5620 - accuracy: 0.7871 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5622 - accuracy: 0.7849 +17/92 [====>.........................] - ETA: 4s - loss: 0.5613 - accuracy: 0.7886 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5590 - accuracy: 0.7847 +18/92 [====>.........................] - ETA: 4s - loss: 0.5706 - accuracy: 0.7847 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5540 - accuracy: 0.7878 +19/92 [=====>........................] - ETA: 4s - loss: 0.5721 - accuracy: 0.7862 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5541 - accuracy: 0.7875 +20/92 [=====>........................] - ETA: 4s - loss: 0.5707 - accuracy: 0.7844 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5493 - accuracy: 0.7902 +21/92 [=====>........................] - ETA: 4s - loss: 0.5784 - accuracy: 0.7827 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5467 - accuracy: 0.7869 +22/92 [======>.......................] - ETA: 4s - loss: 0.5686 - accuracy: 0.7869 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.5461 - accuracy: 0.7894 +23/92 [======>.......................] - ETA: 3s - loss: 0.5670 - accuracy: 0.7853 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5429 - accuracy: 0.7930 +24/92 [======>.......................] - ETA: 3s - loss: 0.5748 - accuracy: 0.7812 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5391 - accuracy: 0.7962 +25/92 [=======>......................] - ETA: 3s - loss: 0.5766 - accuracy: 0.7775 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.5366 - accuracy: 0.7945 +26/92 [=======>......................] - ETA: 3s - loss: 0.5703 - accuracy: 0.7812 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.5330 - accuracy: 0.7975 +27/92 [=======>......................] - ETA: 3s - loss: 0.5644 - accuracy: 0.7824 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.5354 - accuracy: 0.7958 +28/92 [========>.....................] - ETA: 3s - loss: 0.5593 - accuracy: 0.7868 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.5403 - accuracy: 0.7920 +29/92 [========>.....................] - ETA: 3s - loss: 0.5536 - accuracy: 0.7888 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5424 - accuracy: 0.7917 +30/92 [========>.....................] - ETA: 3s - loss: 0.5467 - accuracy: 0.7917 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5444 - accuracy: 0.7923 +31/92 [=========>....................] - ETA: 3s - loss: 0.5404 - accuracy: 0.7933 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.5420 - accuracy: 0.7930 +32/92 [=========>....................] - ETA: 3s - loss: 0.5435 - accuracy: 0.7910 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.5413 - accuracy: 0.7936 +33/92 [=========>....................] - ETA: 3s - loss: 0.5474 - accuracy: 0.7888 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.5392 - accuracy: 0.7941 +34/92 [==========>...................] - ETA: 3s - loss: 0.5518 - accuracy: 0.7868 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.5409 - accuracy: 0.7937 +35/92 [==========>...................] - ETA: 3s - loss: 0.5481 - accuracy: 0.7884 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.5409 - accuracy: 0.7943 +36/92 [==========>...................] - ETA: 3s - loss: 0.5445 - accuracy: 0.7908 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.5421 - accuracy: 0.7956 +37/92 [===========>..................] - ETA: 3s - loss: 0.5481 - accuracy: 0.7889 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.5464 - accuracy: 0.7944 +38/92 [===========>..................] - ETA: 3s - loss: 0.5563 - accuracy: 0.7845 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.5520 - accuracy: 0.7909 +39/92 [===========>..................] - ETA: 3s - loss: 0.5566 - accuracy: 0.7869 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.5568 - accuracy: 0.7867 +40/92 [============>.................] - ETA: 3s - loss: 0.5576 - accuracy: 0.7867 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.5623 - accuracy: 0.7828 +41/92 [============>.................] - ETA: 2s - loss: 0.5621 - accuracy: 0.7835 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.5603 - accuracy: 0.7850 +42/92 [============>.................] - ETA: 2s - loss: 0.5599 - accuracy: 0.7842 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.5618 - accuracy: 0.7842 +43/92 [=============>................] - ETA: 2s - loss: 0.5591 - accuracy: 0.7834 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.5662 - accuracy: 0.7827 +44/92 [=============>................] - ETA: 2s - loss: 0.5536 - accuracy: 0.7862 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.5643 - accuracy: 0.7840 +45/92 [=============>................] - ETA: 2s - loss: 0.5502 - accuracy: 0.7889 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.5687 - accuracy: 0.7826 +46/92 [==============>...............] - ETA: 2s - loss: 0.5504 - accuracy: 0.7880 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.5722 - accuracy: 0.7840 +47/92 [==============>...............] - ETA: 2s - loss: 0.5547 - accuracy: 0.7852 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.5726 - accuracy: 0.7840 +48/92 [==============>...............] - ETA: 2s - loss: 0.5600 - accuracy: 0.7826 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.5729 - accuracy: 0.7839 +49/92 [==============>...............] - ETA: 2s - loss: 0.5573 - accuracy: 0.7832 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.5721 - accuracy: 0.7833 +50/92 [===============>..............] - ETA: 2s - loss: 0.5540 - accuracy: 0.7837 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.5763 - accuracy: 0.7820 +51/92 [===============>..............] - ETA: 2s - loss: 0.5500 - accuracy: 0.7862 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.5782 - accuracy: 0.7814 +52/92 [===============>..............] - ETA: 2s - loss: 0.5476 - accuracy: 0.7867 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.5750 - accuracy: 0.7831 +53/92 [================>.............] - ETA: 2s - loss: 0.5456 - accuracy: 0.7877 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.5739 - accuracy: 0.7837 +54/92 [================>.............] - ETA: 2s - loss: 0.5471 - accuracy: 0.7870 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.5775 - accuracy: 0.7831 +55/92 [================>.............] - ETA: 2s - loss: 0.5454 - accuracy: 0.7881 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5768 - accuracy: 0.7830 +56/92 [=================>............] - ETA: 2s - loss: 0.5413 - accuracy: 0.7891 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5750 - accuracy: 0.7841 +57/92 [=================>............] - ETA: 2s - loss: 0.5381 - accuracy: 0.7917 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5743 - accuracy: 0.7840 +58/92 [=================>............] - ETA: 1s - loss: 0.5395 - accuracy: 0.7915 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5729 - accuracy: 0.7856 +59/92 [==================>...........] - ETA: 1s - loss: 0.5427 - accuracy: 0.7903 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.5686 - accuracy: 0.7876 +60/92 [==================>...........] - ETA: 1s - loss: 0.5418 - accuracy: 0.7911 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5710 - accuracy: 0.7874 +61/92 [==================>...........] - ETA: 1s - loss: 0.5434 - accuracy: 0.7910 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5717 - accuracy: 0.7869 +62/92 [===================>..........] - ETA: 1s - loss: 0.5438 - accuracy: 0.7903 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5701 - accuracy: 0.7877 +63/92 [===================>..........] - ETA: 1s - loss: 0.5446 - accuracy: 0.7897 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5698 - accuracy: 0.7876 +64/92 [===================>..........] - ETA: 1s - loss: 0.5444 - accuracy: 0.7905 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5658 - accuracy: 0.7899 +65/92 [====================>.........] - ETA: 1s - loss: 0.5426 - accuracy: 0.7913 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5665 - accuracy: 0.7898 +66/92 [====================>.........] - ETA: 1s - loss: 0.5415 - accuracy: 0.7912 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5672 - accuracy: 0.7897 +67/92 [====================>.........] - ETA: 1s - loss: 0.5454 - accuracy: 0.7896 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5672 - accuracy: 0.7900 +68/92 [=====================>........] - ETA: 1s - loss: 0.5460 - accuracy: 0.7900 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5653 - accuracy: 0.7903 +69/92 [=====================>........] - ETA: 1s - loss: 0.5460 - accuracy: 0.7894 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5679 - accuracy: 0.7893 +70/92 [=====================>........] - ETA: 1s - loss: 0.5460 - accuracy: 0.7893 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5667 - accuracy: 0.7892 +71/92 [======================>.......] - ETA: 1s - loss: 0.5484 - accuracy: 0.7879 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5643 - accuracy: 0.7908 +72/92 [======================>.......] - ETA: 1s - loss: 0.5515 - accuracy: 0.7869 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5644 - accuracy: 0.7907 +73/92 [======================>.......] - ETA: 1s - loss: 0.5512 - accuracy: 0.7872 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5694 - accuracy: 0.7880 +75/92 [=======================>......] - ETA: 0s - loss: 0.5525 - accuracy: 0.7860 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5691 - accuracy: 0.7875 +76/92 [=======================>......] - ETA: 0s - loss: 0.5531 - accuracy: 0.7863 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5663 - accuracy: 0.7887 +77/92 [========================>.....] - ETA: 0s - loss: 0.5537 - accuracy: 0.7854 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5676 - accuracy: 0.7866 +78/92 [========================>.....] - ETA: 0s - loss: 0.5524 - accuracy: 0.7858 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5672 - accuracy: 0.7869 +79/92 [========================>.....] - ETA: 0s - loss: 0.5567 - accuracy: 0.7837 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5638 - accuracy: 0.7884 +80/92 [=========================>....] - ETA: 0s - loss: 0.5574 - accuracy: 0.7829 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5651 - accuracy: 0.7872 +81/92 [=========================>....] - ETA: 0s - loss: 0.5557 - accuracy: 0.7829 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5663 - accuracy: 0.7871 +82/92 [=========================>....] - ETA: 0s - loss: 0.5553 - accuracy: 0.7833 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5657 - accuracy: 0.7874 +83/92 [==========================>...] - ETA: 0s - loss: 0.5557 - accuracy: 0.7817 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5643 - accuracy: 0.7881 +84/92 [==========================>...] - ETA: 0s - loss: 0.5565 - accuracy: 0.7810 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5631 - accuracy: 0.7883 +85/92 [==========================>...] - ETA: 0s - loss: 0.5543 - accuracy: 0.7824 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5607 - accuracy: 0.7894 +86/92 [===========================>..] - ETA: 0s - loss: 0.5543 - accuracy: 0.7828 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5604 - accuracy: 0.7893 +87/92 [===========================>..] - ETA: 0s - loss: 0.5536 - accuracy: 0.7821 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5636 - accuracy: 0.7892 +88/92 [===========================>..] - ETA: 0s - loss: 0.5523 - accuracy: 0.7831 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5628 - accuracy: 0.7901 +89/92 [============================>.] - ETA: 0s - loss: 0.5519 - accuracy: 0.7831 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5636 - accuracy: 0.7907 +90/92 [============================>.] - ETA: 0s - loss: 0.5509 - accuracy: 0.7838 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5645 - accuracy: 0.7906 +91/92 [============================>.] - ETA: 0s - loss: 0.5502 - accuracy: 0.7841 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5650 - accuracy: 0.7899 +92/92 [==============================] - ETA: 0s - loss: 0.5513 - accuracy: 0.7837 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5650 - accuracy: 0.7899 - val_loss: 0.6865 - val_accuracy: 0.7384 +92/92 [==============================] - 6s 64ms/step - loss: 0.5513 - accuracy: 0.7837 - val_loss: 0.6990 - val_accuracy: 0.7480 .. parsed-literal:: @@ -6992,462 +7089,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 6s - loss: 0.5964 - accuracy: 0.8125 + 1/92 [..............................] - ETA: 7s - loss: 0.6649 - accuracy: 0.7188 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5740 - accuracy: 0.7656 + 2/92 [..............................] - ETA: 5s - loss: 0.5909 - accuracy: 0.7969 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.5757 - accuracy: 0.7604 + 3/92 [..............................] - ETA: 5s - loss: 0.5531 - accuracy: 0.8125 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.5654 - accuracy: 0.7812 + 4/92 [>.............................] - ETA: 5s - loss: 0.5504 - accuracy: 0.8047 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.5495 - accuracy: 0.8000 + 5/92 [>.............................] - ETA: 5s - loss: 0.5108 - accuracy: 0.8125 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.5494 - accuracy: 0.8021 + 6/92 [>.............................] - ETA: 5s - loss: 0.5102 - accuracy: 0.8021 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.5713 - accuracy: 0.7857 + 7/92 [=>............................] - ETA: 5s - loss: 0.5049 - accuracy: 0.8036 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.5753 - accuracy: 0.7930 + 8/92 [=>............................] - ETA: 4s - loss: 0.5017 - accuracy: 0.8086 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.5722 - accuracy: 0.7882 + 9/92 [=>............................] - ETA: 4s - loss: 0.5248 - accuracy: 0.7986 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5584 - accuracy: 0.8000 +10/92 [==>...........................] - ETA: 4s - loss: 0.5043 - accuracy: 0.8094 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5542 - accuracy: 0.8040 +11/92 [==>...........................] - ETA: 4s - loss: 0.5471 - accuracy: 0.7955 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5490 - accuracy: 0.8073 +12/92 [==>...........................] - ETA: 4s - loss: 0.5545 - accuracy: 0.7865 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5517 - accuracy: 0.8101 +13/92 [===>..........................] - ETA: 4s - loss: 0.5579 - accuracy: 0.7788 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5408 - accuracy: 0.8125 +14/92 [===>..........................] - ETA: 4s - loss: 0.5583 - accuracy: 0.7790 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5433 - accuracy: 0.8125 +15/92 [===>..........................] - ETA: 4s - loss: 0.5389 - accuracy: 0.7854 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5399 - accuracy: 0.8125 +16/92 [====>.........................] - ETA: 4s - loss: 0.5264 - accuracy: 0.7930 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5283 - accuracy: 0.8143 +17/92 [====>.........................] - ETA: 4s - loss: 0.5270 - accuracy: 0.7960 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5167 - accuracy: 0.8194 +18/92 [====>.........................] - ETA: 4s - loss: 0.5333 - accuracy: 0.7951 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5163 - accuracy: 0.8174 +19/92 [=====>........................] - ETA: 4s - loss: 0.5256 - accuracy: 0.7961 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5131 - accuracy: 0.8203 +20/92 [=====>........................] - ETA: 4s - loss: 0.5310 - accuracy: 0.7937 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5171 - accuracy: 0.8170 +21/92 [=====>........................] - ETA: 4s - loss: 0.5334 - accuracy: 0.7917 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5165 - accuracy: 0.8168 +22/92 [======>.......................] - ETA: 4s - loss: 0.5285 - accuracy: 0.7940 .. parsed-literal::  -23/92 [======>.......................] - ETA: 4s - loss: 0.5095 - accuracy: 0.8166 +23/92 [======>.......................] - ETA: 4s - loss: 0.5268 - accuracy: 0.7948 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.5024 - accuracy: 0.8164 +24/92 [======>.......................] - ETA: 3s - loss: 0.5174 - accuracy: 0.7982 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5024 - accuracy: 0.8175 +25/92 [=======>......................] - ETA: 3s - loss: 0.5106 - accuracy: 0.8037 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.5048 - accuracy: 0.8173 +26/92 [=======>......................] - ETA: 3s - loss: 0.5186 - accuracy: 0.8005 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.4967 - accuracy: 0.8218 +27/92 [=======>......................] - ETA: 3s - loss: 0.5255 - accuracy: 0.7975 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.4993 - accuracy: 0.8203 +28/92 [========>.....................] - ETA: 3s - loss: 0.5254 - accuracy: 0.7980 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.5085 - accuracy: 0.8179 +29/92 [========>.....................] - ETA: 3s - loss: 0.5252 - accuracy: 0.7974 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5115 - accuracy: 0.8167 +30/92 [========>.....................] - ETA: 3s - loss: 0.5198 - accuracy: 0.7979 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5066 - accuracy: 0.8196 +31/92 [=========>....................] - ETA: 3s - loss: 0.5220 - accuracy: 0.7974 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.5124 - accuracy: 0.8174 +32/92 [=========>....................] - ETA: 3s - loss: 0.5228 - accuracy: 0.7979 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.5149 - accuracy: 0.8134 +33/92 [=========>....................] - ETA: 3s - loss: 0.5241 - accuracy: 0.7973 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.5102 - accuracy: 0.8143 +34/92 [==========>...................] - ETA: 3s - loss: 0.5291 - accuracy: 0.7978 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.5071 - accuracy: 0.8161 +35/92 [==========>...................] - ETA: 3s - loss: 0.5341 - accuracy: 0.7955 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.5083 - accuracy: 0.8168 +36/92 [==========>...................] - ETA: 3s - loss: 0.5377 - accuracy: 0.7934 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.5078 - accuracy: 0.8159 +37/92 [===========>..................] - ETA: 3s - loss: 0.5363 - accuracy: 0.7931 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.5065 - accuracy: 0.8150 +38/92 [===========>..................] - ETA: 3s - loss: 0.5349 - accuracy: 0.7936 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.5074 - accuracy: 0.8133 +39/92 [===========>..................] - ETA: 3s - loss: 0.5333 - accuracy: 0.7957 .. parsed-literal::  -40/92 [============>.................] - ETA: 3s - loss: 0.5130 - accuracy: 0.8102 +40/92 [============>.................] - ETA: 3s - loss: 0.5298 - accuracy: 0.7977 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.5113 - accuracy: 0.8110 +41/92 [============>.................] - ETA: 2s - loss: 0.5392 - accuracy: 0.7950 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.5091 - accuracy: 0.8118 +42/92 [============>.................] - ETA: 2s - loss: 0.5368 - accuracy: 0.7939 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.5025 - accuracy: 0.8154 +43/92 [=============>................] - ETA: 2s - loss: 0.5331 - accuracy: 0.7958 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.4998 - accuracy: 0.8168 +44/92 [=============>................] - ETA: 2s - loss: 0.5363 - accuracy: 0.7955 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.5032 - accuracy: 0.8160 +45/92 [=============>................] - ETA: 2s - loss: 0.5342 - accuracy: 0.7937 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.5006 - accuracy: 0.8173 +46/92 [==============>...............] - ETA: 2s - loss: 0.5367 - accuracy: 0.7928 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.4978 - accuracy: 0.8178 +47/92 [==============>...............] - ETA: 2s - loss: 0.5397 - accuracy: 0.7912 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.5000 - accuracy: 0.8151 +48/92 [==============>...............] - ETA: 2s - loss: 0.5435 - accuracy: 0.7884 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.5077 - accuracy: 0.8119 +49/92 [==============>...............] - ETA: 2s - loss: 0.5432 - accuracy: 0.7889 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.5054 - accuracy: 0.8119 +50/92 [===============>..............] - ETA: 2s - loss: 0.5404 - accuracy: 0.7900 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.5055 - accuracy: 0.8119 +51/92 [===============>..............] - ETA: 2s - loss: 0.5429 - accuracy: 0.7892 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.5013 - accuracy: 0.8131 +52/92 [===============>..............] - ETA: 2s - loss: 0.5479 - accuracy: 0.7873 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.5074 - accuracy: 0.8096 +53/92 [================>.............] - ETA: 2s - loss: 0.5478 - accuracy: 0.7871 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.5076 - accuracy: 0.8108 +54/92 [================>.............] - ETA: 2s - loss: 0.5484 - accuracy: 0.7876 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.5025 - accuracy: 0.8131 +55/92 [================>.............] - ETA: 2s - loss: 0.5471 - accuracy: 0.7881 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.5015 - accuracy: 0.8142 +56/92 [=================>............] - ETA: 2s - loss: 0.5453 - accuracy: 0.7891 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5071 - accuracy: 0.8114 +57/92 [=================>............] - ETA: 2s - loss: 0.5419 - accuracy: 0.7900 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5062 - accuracy: 0.8109 +58/92 [=================>............] - ETA: 1s - loss: 0.5436 - accuracy: 0.7883 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5082 - accuracy: 0.8099 +59/92 [==================>...........] - ETA: 1s - loss: 0.5506 - accuracy: 0.7855 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5128 - accuracy: 0.8083 +60/92 [==================>...........] - ETA: 1s - loss: 0.5525 - accuracy: 0.7859 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.5145 - accuracy: 0.8079 +61/92 [==================>...........] - ETA: 1s - loss: 0.5489 - accuracy: 0.7879 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5156 - accuracy: 0.8075 +62/92 [===================>..........] - ETA: 1s - loss: 0.5478 - accuracy: 0.7888 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5146 - accuracy: 0.8085 +63/92 [===================>..........] - ETA: 1s - loss: 0.5464 - accuracy: 0.7897 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5137 - accuracy: 0.8081 +64/92 [===================>..........] - ETA: 1s - loss: 0.5490 - accuracy: 0.7881 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5141 - accuracy: 0.8072 +65/92 [====================>.........] - ETA: 1s - loss: 0.5478 - accuracy: 0.7880 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5159 - accuracy: 0.8068 +66/92 [====================>.........] - ETA: 1s - loss: 0.5468 - accuracy: 0.7884 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5163 - accuracy: 0.8060 +67/92 [====================>.........] - ETA: 1s - loss: 0.5454 - accuracy: 0.7882 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5170 - accuracy: 0.8033 +68/92 [=====================>........] - ETA: 1s - loss: 0.5442 - accuracy: 0.7886 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5140 - accuracy: 0.8043 +69/92 [=====================>........] - ETA: 1s - loss: 0.5493 - accuracy: 0.7862 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5126 - accuracy: 0.8049 +70/92 [=====================>........] - ETA: 1s - loss: 0.5502 - accuracy: 0.7862 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5156 - accuracy: 0.8024 +71/92 [======================>.......] - ETA: 1s - loss: 0.5501 - accuracy: 0.7865 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5149 - accuracy: 0.8021 +72/92 [======================>.......] - ETA: 1s - loss: 0.5506 - accuracy: 0.7869 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5143 - accuracy: 0.8027 +73/92 [======================>.......] - ETA: 1s - loss: 0.5485 - accuracy: 0.7877 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5171 - accuracy: 0.8007 +74/92 [=======================>......] - ETA: 1s - loss: 0.5482 - accuracy: 0.7880 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5207 - accuracy: 0.7987 +75/92 [=======================>......] - ETA: 0s - loss: 0.5511 - accuracy: 0.7854 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5188 - accuracy: 0.7998 +76/92 [=======================>......] - ETA: 0s - loss: 0.5502 - accuracy: 0.7858 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5171 - accuracy: 0.8007 +77/92 [========================>.....] - ETA: 0s - loss: 0.5512 - accuracy: 0.7853 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5175 - accuracy: 0.8005 +79/92 [========================>.....] - ETA: 0s - loss: 0.5493 - accuracy: 0.7857 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5181 - accuracy: 0.8002 +80/92 [=========================>....] - ETA: 0s - loss: 0.5512 - accuracy: 0.7845 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5183 - accuracy: 0.8000 +81/92 [=========================>....] - ETA: 0s - loss: 0.5499 - accuracy: 0.7848 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5224 - accuracy: 0.7986 +82/92 [=========================>....] - ETA: 0s - loss: 0.5493 - accuracy: 0.7859 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5184 - accuracy: 0.8006 +83/92 [==========================>...] - ETA: 0s - loss: 0.5494 - accuracy: 0.7866 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5171 - accuracy: 0.8015 +84/92 [==========================>...] - ETA: 0s - loss: 0.5511 - accuracy: 0.7869 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5180 - accuracy: 0.8020 +85/92 [==========================>...] - ETA: 0s - loss: 0.5510 - accuracy: 0.7865 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5204 - accuracy: 0.8014 +86/92 [===========================>..] - ETA: 0s - loss: 0.5523 - accuracy: 0.7864 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5185 - accuracy: 0.8022 +87/92 [===========================>..] - ETA: 0s - loss: 0.5506 - accuracy: 0.7871 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5177 - accuracy: 0.8027 +88/92 [===========================>..] - ETA: 0s - loss: 0.5502 - accuracy: 0.7870 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5209 - accuracy: 0.8018 +89/92 [============================>.] - ETA: 0s - loss: 0.5542 - accuracy: 0.7849 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5180 - accuracy: 0.8029 +90/92 [============================>.] - ETA: 0s - loss: 0.5533 - accuracy: 0.7852 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5165 - accuracy: 0.8034 +91/92 [============================>.] - ETA: 0s - loss: 0.5532 - accuracy: 0.7855 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5172 - accuracy: 0.8031 +92/92 [==============================] - ETA: 0s - loss: 0.5526 - accuracy: 0.7861 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5172 - accuracy: 0.8031 - val_loss: 0.7685 - val_accuracy: 0.7207 +92/92 [==============================] - 6s 63ms/step - loss: 0.5526 - accuracy: 0.7861 - val_loss: 0.7637 - val_accuracy: 0.7139 .. parsed-literal:: @@ -7458,462 +7555,462 @@ Compile and Train the Model .. parsed-literal:: - 1/92 [..............................] - ETA: 7s - loss: 0.3400 - accuracy: 0.8438 + 1/92 [..............................] - ETA: 7s - loss: 0.5513 - accuracy: 0.7812 .. parsed-literal::  - 2/92 [..............................] - ETA: 5s - loss: 0.5200 - accuracy: 0.7812 + 2/92 [..............................] - ETA: 5s - loss: 0.5177 - accuracy: 0.8125 .. parsed-literal::  - 3/92 [..............................] - ETA: 5s - loss: 0.4460 - accuracy: 0.8229 + 3/92 [..............................] - ETA: 5s - loss: 0.5096 - accuracy: 0.8125 .. parsed-literal::  - 4/92 [>.............................] - ETA: 5s - loss: 0.4709 - accuracy: 0.8281 + 5/92 [>.............................] - ETA: 4s - loss: 0.4752 - accuracy: 0.8355 .. parsed-literal::  - 5/92 [>.............................] - ETA: 5s - loss: 0.5184 - accuracy: 0.7937 + 6/92 [>.............................] - ETA: 4s - loss: 0.4979 - accuracy: 0.8261 .. parsed-literal::  - 6/92 [>.............................] - ETA: 4s - loss: 0.5586 - accuracy: 0.7760 + 7/92 [=>............................] - ETA: 4s - loss: 0.4825 - accuracy: 0.8194 .. parsed-literal::  - 7/92 [=>............................] - ETA: 4s - loss: 0.5329 - accuracy: 0.7902 + 8/92 [=>............................] - ETA: 4s - loss: 0.4852 - accuracy: 0.8145 .. parsed-literal::  - 8/92 [=>............................] - ETA: 4s - loss: 0.5370 - accuracy: 0.7930 + 9/92 [=>............................] - ETA: 4s - loss: 0.4888 - accuracy: 0.8036 .. parsed-literal::  - 9/92 [=>............................] - ETA: 4s - loss: 0.5265 - accuracy: 0.7951 +10/92 [==>...........................] - ETA: 4s - loss: 0.4903 - accuracy: 0.8045 .. parsed-literal::  -10/92 [==>...........................] - ETA: 4s - loss: 0.5387 - accuracy: 0.7844 +11/92 [==>...........................] - ETA: 4s - loss: 0.4805 - accuracy: 0.8081 .. parsed-literal::  -11/92 [==>...........................] - ETA: 4s - loss: 0.5586 - accuracy: 0.7784 +12/92 [==>...........................] - ETA: 4s - loss: 0.4807 - accuracy: 0.8112 .. parsed-literal::  -12/92 [==>...........................] - ETA: 4s - loss: 0.5551 - accuracy: 0.7839 +13/92 [===>..........................] - ETA: 4s - loss: 0.4831 - accuracy: 0.8113 .. parsed-literal::  -13/92 [===>..........................] - ETA: 4s - loss: 0.5399 - accuracy: 0.7909 +14/92 [===>..........................] - ETA: 4s - loss: 0.4690 - accuracy: 0.8159 .. parsed-literal::  -14/92 [===>..........................] - ETA: 4s - loss: 0.5232 - accuracy: 0.7969 +15/92 [===>..........................] - ETA: 4s - loss: 0.4656 - accuracy: 0.8199 .. parsed-literal::  -15/92 [===>..........................] - ETA: 4s - loss: 0.5354 - accuracy: 0.7917 +16/92 [====>.........................] - ETA: 4s - loss: 0.4811 - accuracy: 0.8155 .. parsed-literal::  -16/92 [====>.........................] - ETA: 4s - loss: 0.5393 - accuracy: 0.7852 +17/92 [====>.........................] - ETA: 4s - loss: 0.4729 - accuracy: 0.8209 .. parsed-literal::  -17/92 [====>.........................] - ETA: 4s - loss: 0.5327 - accuracy: 0.7904 +18/92 [====>.........................] - ETA: 4s - loss: 0.4906 - accuracy: 0.8169 .. parsed-literal::  -18/92 [====>.........................] - ETA: 4s - loss: 0.5186 - accuracy: 0.7986 +19/92 [=====>........................] - ETA: 4s - loss: 0.4903 - accuracy: 0.8183 .. parsed-literal::  -19/92 [=====>........................] - ETA: 4s - loss: 0.5108 - accuracy: 0.8026 +20/92 [=====>........................] - ETA: 4s - loss: 0.4945 - accuracy: 0.8165 .. parsed-literal::  -20/92 [=====>........................] - ETA: 4s - loss: 0.5105 - accuracy: 0.8047 +21/92 [=====>........................] - ETA: 4s - loss: 0.4933 - accuracy: 0.8178 .. parsed-literal::  -21/92 [=====>........................] - ETA: 4s - loss: 0.5022 - accuracy: 0.8110 +22/92 [======>.......................] - ETA: 4s - loss: 0.4921 - accuracy: 0.8175 .. parsed-literal::  -22/92 [======>.......................] - ETA: 4s - loss: 0.5011 - accuracy: 0.8111 +23/92 [======>.......................] - ETA: 3s - loss: 0.4917 - accuracy: 0.8173 .. parsed-literal::  -24/92 [======>.......................] - ETA: 3s - loss: 0.4977 - accuracy: 0.8118 +24/92 [======>.......................] - ETA: 3s - loss: 0.4913 - accuracy: 0.8197 .. parsed-literal::  -25/92 [=======>......................] - ETA: 3s - loss: 0.5022 - accuracy: 0.8093 +25/92 [=======>......................] - ETA: 3s - loss: 0.4971 - accuracy: 0.8182 .. parsed-literal::  -26/92 [=======>......................] - ETA: 3s - loss: 0.4976 - accuracy: 0.8107 +26/92 [=======>......................] - ETA: 3s - loss: 0.4916 - accuracy: 0.8216 .. parsed-literal::  -27/92 [=======>......................] - ETA: 3s - loss: 0.5001 - accuracy: 0.8119 +27/92 [=======>......................] - ETA: 3s - loss: 0.4904 - accuracy: 0.8236 .. parsed-literal::  -28/92 [========>.....................] - ETA: 3s - loss: 0.4987 - accuracy: 0.8119 +28/92 [========>.....................] - ETA: 3s - loss: 0.4831 - accuracy: 0.8266 .. parsed-literal::  -29/92 [========>.....................] - ETA: 3s - loss: 0.4996 - accuracy: 0.8098 +29/92 [========>.....................] - ETA: 3s - loss: 0.4818 - accuracy: 0.8272 .. parsed-literal::  -30/92 [========>.....................] - ETA: 3s - loss: 0.5062 - accuracy: 0.8088 +30/92 [========>.....................] - ETA: 3s - loss: 0.4766 - accuracy: 0.8288 .. parsed-literal::  -31/92 [=========>....................] - ETA: 3s - loss: 0.5003 - accuracy: 0.8110 +31/92 [=========>....................] - ETA: 3s - loss: 0.4793 - accuracy: 0.8262 .. parsed-literal::  -32/92 [=========>....................] - ETA: 3s - loss: 0.4968 - accuracy: 0.8120 +32/92 [=========>....................] - ETA: 3s - loss: 0.4847 - accuracy: 0.8287 .. parsed-literal::  -33/92 [=========>....................] - ETA: 3s - loss: 0.4972 - accuracy: 0.8120 +33/92 [=========>....................] - ETA: 3s - loss: 0.4831 - accuracy: 0.8282 .. parsed-literal::  -34/92 [==========>...................] - ETA: 3s - loss: 0.5130 - accuracy: 0.8065 +34/92 [==========>...................] - ETA: 3s - loss: 0.4851 - accuracy: 0.8269 .. parsed-literal::  -35/92 [==========>...................] - ETA: 3s - loss: 0.5042 - accuracy: 0.8103 +35/92 [==========>...................] - ETA: 3s - loss: 0.4880 - accuracy: 0.8255 .. parsed-literal::  -36/92 [==========>...................] - ETA: 3s - loss: 0.5037 - accuracy: 0.8086 +36/92 [==========>...................] - ETA: 3s - loss: 0.4946 - accuracy: 0.8217 .. parsed-literal::  -37/92 [===========>..................] - ETA: 3s - loss: 0.5029 - accuracy: 0.8087 +37/92 [===========>..................] - ETA: 3s - loss: 0.4900 - accuracy: 0.8231 .. parsed-literal::  -38/92 [===========>..................] - ETA: 3s - loss: 0.5110 - accuracy: 0.8063 +38/92 [===========>..................] - ETA: 3s - loss: 0.4949 - accuracy: 0.8187 .. parsed-literal::  -39/92 [===========>..................] - ETA: 3s - loss: 0.5150 - accuracy: 0.8032 +39/92 [===========>..................] - ETA: 3s - loss: 0.4969 - accuracy: 0.8169 .. parsed-literal::  -40/92 [============>.................] - ETA: 2s - loss: 0.5086 - accuracy: 0.8050 +40/92 [============>.................] - ETA: 3s - loss: 0.4973 - accuracy: 0.8160 .. parsed-literal::  -41/92 [============>.................] - ETA: 2s - loss: 0.5060 - accuracy: 0.8052 +41/92 [============>.................] - ETA: 2s - loss: 0.4963 - accuracy: 0.8152 .. parsed-literal::  -42/92 [============>.................] - ETA: 2s - loss: 0.5078 - accuracy: 0.8046 +42/92 [============>.................] - ETA: 2s - loss: 0.5040 - accuracy: 0.8136 .. parsed-literal::  -43/92 [=============>................] - ETA: 2s - loss: 0.5087 - accuracy: 0.8041 +43/92 [=============>................] - ETA: 2s - loss: 0.5071 - accuracy: 0.8129 .. parsed-literal::  -44/92 [=============>................] - ETA: 2s - loss: 0.5077 - accuracy: 0.8043 +44/92 [=============>................] - ETA: 2s - loss: 0.5116 - accuracy: 0.8114 .. parsed-literal::  -45/92 [=============>................] - ETA: 2s - loss: 0.5100 - accuracy: 0.8038 +45/92 [=============>................] - ETA: 2s - loss: 0.5125 - accuracy: 0.8115 .. parsed-literal::  -46/92 [==============>...............] - ETA: 2s - loss: 0.5142 - accuracy: 0.8012 +46/92 [==============>...............] - ETA: 2s - loss: 0.5142 - accuracy: 0.8108 .. parsed-literal::  -47/92 [==============>...............] - ETA: 2s - loss: 0.5095 - accuracy: 0.8021 +47/92 [==============>...............] - ETA: 2s - loss: 0.5187 - accuracy: 0.8082 .. parsed-literal::  -48/92 [==============>...............] - ETA: 2s - loss: 0.5086 - accuracy: 0.8037 +48/92 [==============>...............] - ETA: 2s - loss: 0.5264 - accuracy: 0.8043 .. parsed-literal::  -49/92 [==============>...............] - ETA: 2s - loss: 0.5117 - accuracy: 0.8019 +49/92 [==============>...............] - ETA: 2s - loss: 0.5268 - accuracy: 0.8045 .. parsed-literal::  -50/92 [===============>..............] - ETA: 2s - loss: 0.5146 - accuracy: 0.8003 +50/92 [===============>..............] - ETA: 2s - loss: 0.5309 - accuracy: 0.8040 .. parsed-literal::  -51/92 [===============>..............] - ETA: 2s - loss: 0.5168 - accuracy: 0.8005 +51/92 [===============>..............] - ETA: 2s - loss: 0.5279 - accuracy: 0.8048 .. parsed-literal::  -52/92 [===============>..............] - ETA: 2s - loss: 0.5155 - accuracy: 0.8001 +52/92 [===============>..............] - ETA: 2s - loss: 0.5281 - accuracy: 0.8050 .. parsed-literal::  -53/92 [================>.............] - ETA: 2s - loss: 0.5158 - accuracy: 0.8004 +53/92 [================>.............] - ETA: 2s - loss: 0.5301 - accuracy: 0.8045 .. parsed-literal::  -54/92 [================>.............] - ETA: 2s - loss: 0.5139 - accuracy: 0.8012 +54/92 [================>.............] - ETA: 2s - loss: 0.5325 - accuracy: 0.8052 .. parsed-literal::  -55/92 [================>.............] - ETA: 2s - loss: 0.5207 - accuracy: 0.7997 +55/92 [================>.............] - ETA: 2s - loss: 0.5327 - accuracy: 0.8048 .. parsed-literal::  -56/92 [=================>............] - ETA: 2s - loss: 0.5199 - accuracy: 0.8016 +56/92 [=================>............] - ETA: 2s - loss: 0.5275 - accuracy: 0.8072 .. parsed-literal::  -57/92 [=================>............] - ETA: 2s - loss: 0.5180 - accuracy: 0.8034 +57/92 [=================>............] - ETA: 2s - loss: 0.5242 - accuracy: 0.8084 .. parsed-literal::  -58/92 [=================>............] - ETA: 1s - loss: 0.5204 - accuracy: 0.8014 +58/92 [=================>............] - ETA: 1s - loss: 0.5237 - accuracy: 0.8074 .. parsed-literal::  -59/92 [==================>...........] - ETA: 1s - loss: 0.5194 - accuracy: 0.8016 +59/92 [==================>...........] - ETA: 1s - loss: 0.5269 - accuracy: 0.8064 .. parsed-literal::  -60/92 [==================>...........] - ETA: 1s - loss: 0.5176 - accuracy: 0.8023 +60/92 [==================>...........] - ETA: 1s - loss: 0.5248 - accuracy: 0.8075 .. parsed-literal::  -61/92 [==================>...........] - ETA: 1s - loss: 0.5157 - accuracy: 0.8030 +61/92 [==================>...........] - ETA: 1s - loss: 0.5285 - accuracy: 0.8050 .. parsed-literal::  -62/92 [===================>..........] - ETA: 1s - loss: 0.5148 - accuracy: 0.8036 +62/92 [===================>..........] - ETA: 1s - loss: 0.5285 - accuracy: 0.8041 .. parsed-literal::  -63/92 [===================>..........] - ETA: 1s - loss: 0.5116 - accuracy: 0.8058 +63/92 [===================>..........] - ETA: 1s - loss: 0.5277 - accuracy: 0.8038 .. parsed-literal::  -64/92 [===================>..........] - ETA: 1s - loss: 0.5100 - accuracy: 0.8069 +64/92 [===================>..........] - ETA: 1s - loss: 0.5287 - accuracy: 0.8034 .. parsed-literal::  -65/92 [====================>.........] - ETA: 1s - loss: 0.5105 - accuracy: 0.8060 +65/92 [====================>.........] - ETA: 1s - loss: 0.5295 - accuracy: 0.8036 .. parsed-literal::  -66/92 [====================>.........] - ETA: 1s - loss: 0.5124 - accuracy: 0.8023 +66/92 [====================>.........] - ETA: 1s - loss: 0.5283 - accuracy: 0.8047 .. parsed-literal::  -67/92 [====================>.........] - ETA: 1s - loss: 0.5127 - accuracy: 0.8034 +67/92 [====================>.........] - ETA: 1s - loss: 0.5282 - accuracy: 0.8052 .. parsed-literal::  -68/92 [=====================>........] - ETA: 1s - loss: 0.5081 - accuracy: 0.8044 +68/92 [=====================>........] - ETA: 1s - loss: 0.5254 - accuracy: 0.8063 .. parsed-literal::  -69/92 [=====================>........] - ETA: 1s - loss: 0.5059 - accuracy: 0.8055 +69/92 [=====================>........] - ETA: 1s - loss: 0.5269 - accuracy: 0.8055 .. parsed-literal::  -70/92 [=====================>........] - ETA: 1s - loss: 0.5087 - accuracy: 0.8024 +70/92 [=====================>........] - ETA: 1s - loss: 0.5242 - accuracy: 0.8065 .. parsed-literal::  -71/92 [======================>.......] - ETA: 1s - loss: 0.5087 - accuracy: 0.8030 +71/92 [======================>.......] - ETA: 1s - loss: 0.5244 - accuracy: 0.8052 .. parsed-literal::  -72/92 [======================>.......] - ETA: 1s - loss: 0.5055 - accuracy: 0.8049 +72/92 [======================>.......] - ETA: 1s - loss: 0.5234 - accuracy: 0.8053 .. parsed-literal::  -73/92 [======================>.......] - ETA: 1s - loss: 0.5050 - accuracy: 0.8050 +73/92 [======================>.......] - ETA: 1s - loss: 0.5232 - accuracy: 0.8050 .. parsed-literal::  -74/92 [=======================>......] - ETA: 1s - loss: 0.5085 - accuracy: 0.8025 +74/92 [=======================>......] - ETA: 1s - loss: 0.5213 - accuracy: 0.8064 .. parsed-literal::  -75/92 [=======================>......] - ETA: 0s - loss: 0.5105 - accuracy: 0.8014 +75/92 [=======================>......] - ETA: 0s - loss: 0.5197 - accuracy: 0.8077 .. parsed-literal::  -76/92 [=======================>......] - ETA: 0s - loss: 0.5090 - accuracy: 0.8020 +76/92 [=======================>......] - ETA: 0s - loss: 0.5190 - accuracy: 0.8078 .. parsed-literal::  -77/92 [========================>.....] - ETA: 0s - loss: 0.5121 - accuracy: 0.8013 +77/92 [========================>.....] - ETA: 0s - loss: 0.5211 - accuracy: 0.8066 .. parsed-literal::  -78/92 [========================>.....] - ETA: 0s - loss: 0.5111 - accuracy: 0.8010 +78/92 [========================>.....] - ETA: 0s - loss: 0.5191 - accuracy: 0.8079 .. parsed-literal::  -79/92 [========================>.....] - ETA: 0s - loss: 0.5103 - accuracy: 0.8016 +79/92 [========================>.....] - ETA: 0s - loss: 0.5176 - accuracy: 0.8079 .. parsed-literal::  -80/92 [=========================>....] - ETA: 0s - loss: 0.5117 - accuracy: 0.7998 +80/92 [=========================>....] - ETA: 0s - loss: 0.5250 - accuracy: 0.8056 .. parsed-literal::  -81/92 [=========================>....] - ETA: 0s - loss: 0.5111 - accuracy: 0.7995 +81/92 [=========================>....] - ETA: 0s - loss: 0.5235 - accuracy: 0.8065 .. parsed-literal::  -82/92 [=========================>....] - ETA: 0s - loss: 0.5085 - accuracy: 0.8012 +82/92 [=========================>....] - ETA: 0s - loss: 0.5239 - accuracy: 0.8054 .. parsed-literal::  -83/92 [==========================>...] - ETA: 0s - loss: 0.5101 - accuracy: 0.8002 +83/92 [==========================>...] - ETA: 0s - loss: 0.5253 - accuracy: 0.8040 .. parsed-literal::  -84/92 [==========================>...] - ETA: 0s - loss: 0.5108 - accuracy: 0.8004 +84/92 [==========================>...] - ETA: 0s - loss: 0.5238 - accuracy: 0.8045 .. parsed-literal::  -85/92 [==========================>...] - ETA: 0s - loss: 0.5135 - accuracy: 0.7994 +85/92 [==========================>...] - ETA: 0s - loss: 0.5205 - accuracy: 0.8057 .. parsed-literal::  -86/92 [===========================>..] - ETA: 0s - loss: 0.5154 - accuracy: 0.7992 +86/92 [===========================>..] - ETA: 0s - loss: 0.5228 - accuracy: 0.8043 .. parsed-literal::  -87/92 [===========================>..] - ETA: 0s - loss: 0.5170 - accuracy: 0.7986 +87/92 [===========================>..] - ETA: 0s - loss: 0.5234 - accuracy: 0.8037 .. parsed-literal::  -88/92 [===========================>..] - ETA: 0s - loss: 0.5180 - accuracy: 0.7988 +88/92 [===========================>..] - ETA: 0s - loss: 0.5244 - accuracy: 0.8031 .. parsed-literal::  -89/92 [============================>.] - ETA: 0s - loss: 0.5165 - accuracy: 0.7996 +89/92 [============================>.] - ETA: 0s - loss: 0.5243 - accuracy: 0.8032 .. parsed-literal::  -90/92 [============================>.] - ETA: 0s - loss: 0.5162 - accuracy: 0.8005 +90/92 [============================>.] - ETA: 0s - loss: 0.5238 - accuracy: 0.8029 .. parsed-literal::  -91/92 [============================>.] - ETA: 0s - loss: 0.5184 - accuracy: 0.7992 +91/92 [============================>.] - ETA: 0s - loss: 0.5240 - accuracy: 0.8027 .. parsed-literal::  -92/92 [==============================] - ETA: 0s - loss: 0.5179 - accuracy: 0.7994 +92/92 [==============================] - ETA: 0s - loss: 0.5243 - accuracy: 0.8028 .. parsed-literal::  -92/92 [==============================] - 6s 64ms/step - loss: 0.5179 - accuracy: 0.7994 - val_loss: 0.7059 - val_accuracy: 0.7357 +92/92 [==============================] - 6s 63ms/step - loss: 0.5243 - accuracy: 0.8028 - val_loss: 0.6708 - val_accuracy: 0.7520 Visualize Training Results @@ -7926,31 +8023,31 @@ than before, and training and validation accuracy are closer aligned. .. code:: ipython3 - acc = history.history['accuracy'] - val_acc = history.history['val_accuracy'] + acc = history.history["accuracy"] + val_acc = history.history["val_accuracy"] - loss = history.history['loss'] - val_loss = history.history['val_loss'] + loss = history.history["loss"] + val_loss = history.history["val_loss"] epochs_range = range(epochs) plt.figure(figsize=(8, 8)) plt.subplot(1, 2, 1) - plt.plot(epochs_range, acc, label='Training Accuracy') - plt.plot(epochs_range, val_acc, label='Validation Accuracy') - plt.legend(loc='lower right') - plt.title('Training and Validation Accuracy') + plt.plot(epochs_range, acc, label="Training Accuracy") + plt.plot(epochs_range, val_acc, label="Validation Accuracy") + plt.legend(loc="lower right") + plt.title("Training and Validation Accuracy") plt.subplot(1, 2, 2) - plt.plot(epochs_range, loss, label='Training Loss') - plt.plot(epochs_range, val_loss, label='Validation Loss') - plt.legend(loc='upper right') - plt.title('Training and Validation Loss') + plt.plot(epochs_range, loss, label="Training Loss") + plt.plot(epochs_range, val_loss, label="Validation Loss") + plt.legend(loc="upper right") + plt.title("Training and Validation Loss") plt.show() -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_66_0.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_66_0.png Predict on New Data @@ -7967,37 +8064,32 @@ in the training or validation sets. .. code:: ipython3 sunflower_url = "https://storage.googleapis.com/download.tensorflow.org/example_images/592px-Red_sunflower.jpg" - sunflower_path = tf.keras.utils.get_file('Red_sunflower', origin=sunflower_url) + sunflower_path = tf.keras.utils.get_file("Red_sunflower", origin=sunflower_url) - img = keras.preprocessing.image.load_img( - sunflower_path, target_size=(img_height, img_width) - ) - img_array = keras.preprocessing.image.img_to_array(img) + img = tf.keras.preprocessing.image.load_img(sunflower_path, target_size=(img_height, img_width)) + img_array = tf.keras.preprocessing.image.img_to_array(img) img_array = tf.expand_dims(img_array, 0) # Create a batch predictions = model.predict(img_array) score = tf.nn.softmax(predictions[0]) - print( - "This image most likely belongs to {} with a {:.2f} percent confidence." - .format(class_names[np.argmax(score)], 100 * np.max(score)) - ) + print("This image most likely belongs to {} with a {:.2f} percent confidence.".format(class_names[np.argmax(score)], 100 * np.max(score))) .. parsed-literal:: - 1/1 [==============================] - ETA: 0s + 1/1 [==============================] - ETA: 0s .. parsed-literal::  -1/1 [==============================] - 0s 99ms/step +1/1 [==============================] - 0s 76ms/step .. parsed-literal:: - This image most likely belongs to sunflowers with a 96.93 percent confidence. + This image most likely belongs to sunflowers with a 95.17 percent confidence. Save the TensorFlow Model @@ -8007,62 +8099,62 @@ Save the TensorFlow Model .. code:: ipython3 - #save the trained model - a new folder flower will be created - #and the file "saved_model.pb" is the pre-trained model + # save the trained model - a new folder flower will be created + # and the file "saved_model.h5" is the pre-trained model model_dir = "model" - saved_model_dir = f"{model_dir}/flower/saved_model" - model.save(saved_model_dir) + saved_model_path = f"{model_dir}/flower/saved_model" + model.save(saved_model_path) .. parsed-literal:: - 2024-03-13 01:04:01.596956: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.043830: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] [[{{node random_flip_input}}]] - 2024-03-13 01:04:01.681918: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.140167: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:01.691876: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.150389: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'random_flip_input' with dtype float and shape [?,180,180,3] [[{{node random_flip_input}}]] - 2024-03-13 01:04:01.702720: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.162042: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:01.709631: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.169331: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:01.716729: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.176583: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:01.728191: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.188085: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:01.769744: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.229110: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] [[{{node sequential_1_input}}]] .. parsed-literal:: - 2024-03-13 01:04:01.859999: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.301829: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:01.880443: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.323839: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'sequential_1_input' with dtype float and shape [?,180,180,3] [[{{node sequential_1_input}}]] - 2024-03-13 01:04:01.919461: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] + 2024-04-18 01:16:33.365804: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] [[{{node inputs}}]] - 2024-03-13 01:04:01.944149: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.390823: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:02.016302: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.480089: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] .. parsed-literal:: - 2024-03-13 01:04:02.156624: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.638699: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] - 2024-03-13 01:04:02.294259: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] + 2024-04-18 01:16:33.790660: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,22,22,64] [[{{node inputs}}]] - 2024-03-13 01:04:02.328020: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] - [[{{node inputs}}]] - 2024-03-13 01:04:02.355628: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.827134: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] .. parsed-literal:: - 2024-03-13 01:04:02.402015: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + 2024-04-18 01:16:33.858808: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] + [[{{node inputs}}]] + 2024-04-18 01:16:33.909722: I tensorflow/core/common_runtime/executor.cc:1197] [/device:CPU:0] (DEBUG INFO) Executor start aborting (this does not indicate an error and you can ignore this message): INVALID_ARGUMENT: You must feed a value for placeholder tensor 'inputs' with dtype float and shape [?,180,180,3] [[{{node inputs}}]] WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _update_step_xla while saving (showing 4 of 4). These functions will not be directly callable after loading. @@ -8080,7 +8172,7 @@ Save the TensorFlow Model Convert the TensorFlow model with OpenVINO Model Conversion API --------------------------------------------------------------- -To convert the model to + To convert the model to OpenVINO IR with ``FP16`` precision, use model conversion Python API. .. code:: ipython3 @@ -8088,7 +8180,7 @@ OpenVINO IR with ``FP16`` precision, use model conversion Python API. # Convert the model to ir model format and save it. ir_model_path = Path("model/flower") ir_model_path.mkdir(parents=True, exist_ok=True) - ir_model = ov.convert_model(saved_model_dir, input=[1,180,180,3]) + ir_model = ov.convert_model(saved_model_path, input=[1, 180, 180, 3]) ov.save_model(ir_model, ir_model_path / "flower_ir.xml") Preprocessing Image Function @@ -8130,8 +8222,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -8148,7 +8240,7 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 - class_names=["daisy", "dandelion", "roses", "sunflowers", "tulips"] + class_names = ["daisy", "dandelion", "roses", "sunflowers", "tulips"] compiled_model = core.compile_model(model=ir_model, device_name=device.value) @@ -8168,7 +8260,7 @@ Run the Inference Step inp_img_url = "https://upload.wikimedia.org/wikipedia/commons/4/48/A_Close_Up_Photo_of_a_Dandelion.jpg" OUTPUT_DIR = "output" inp_file_name = f"A_Close_Up_Photo_of_a_Dandelion.jpg" - file_path = Path(OUTPUT_DIR)/Path(inp_file_name) + file_path = Path(OUTPUT_DIR) / Path(inp_file_name) os.makedirs(OUTPUT_DIR, exist_ok=True) @@ -8187,10 +8279,7 @@ Run the Inference Step # Show the results image = Image.open(file_path) plt.imshow(image) - print( - "This image most likely belongs to {} with a {:.2f} percent confidence." - .format(class_names[np.argmax(score)], 100 * np.max(score)) - ) + print("This image most likely belongs to {} with a {:.2f} percent confidence.".format(class_names[np.argmax(score)], 100 * np.max(score))) .. parsed-literal:: @@ -8198,11 +8287,11 @@ Run the Inference Step 'output/A_Close_Up_Photo_of_a_Dandelion.jpg' already exists. (1, 180, 180, 3) [1,180,180,3] - This image most likely belongs to dandelion with a 95.08 percent confidence. + This image most likely belongs to dandelion with a 99.97 percent confidence. -.. image:: 301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_79_1.png +.. image:: tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_79_1.png The Next Steps @@ -8217,4 +8306,4 @@ model. To see how to quantize this model with OpenVINO’s `Post-training Quantization with NNCF Tool `__, check out the `Post-Training Quantization with TensorFlow Classification -Model <301-tensorflow-training-openvino-nncf-with-output.html>`__ notebook. +Model <./tensorflow-training-openvino-nncf.ipynb>`__ notebook. diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_14_0.jpg b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_14_0.jpg similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_14_0.jpg rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_14_0.jpg diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_14_0.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_14_0.png similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_14_0.png rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_14_0.png diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_15_0.jpg b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_15_0.jpg similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_15_0.jpg rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_15_0.jpg diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_15_0.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_15_0.png similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_15_0.png rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_15_0.png diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_17_0.jpg b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_17_0.jpg similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_17_0.jpg rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_17_0.jpg diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_17_0.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_17_0.png similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_17_0.png rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_17_0.png diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_18_0.jpg b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_18_0.jpg similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_18_0.jpg rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_18_0.jpg diff --git a/docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_18_0.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_18_0.png similarity index 100% rename from docs/notebooks/301-tensorflow-training-openvino-with-output_files/301-tensorflow-training-openvino-with-output_18_0.png rename to docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_18_0.png diff --git a/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_29_1.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_29_1.png new file mode 100644 index 00000000000..89b3ca92feb --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_29_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f7304b1c669a8fcc26df474661dc8ef0f1e04c15de8aca62a2307fe94ea1567 +size 941151 diff --git a/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_57_1.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_57_1.png new file mode 100644 index 00000000000..0d58971d58d --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_57_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8bbfd03d9034dec16effda955b58d0fc87d7d6d04fef53967a1485f2fd92581 +size 649820 diff --git a/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_66_0.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_66_0.png new file mode 100644 index 00000000000..bdfa663dd5c --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_66_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7743c81d25d663d5ef68d607d35a31aa1361108b2507c95461d32d78e6c50e12 +size 55266 diff --git a/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_79_1.png b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_79_1.png new file mode 100644 index 00000000000..e4613cff71b --- /dev/null +++ b/docs/notebooks/tensorflow-training-openvino-with-output_files/tensorflow-training-openvino-with-output_79_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9fb281263ba8f686cb056799d79d05b223669f5fdb4d06edabcfadab0fa7a98 +size 143412 diff --git a/docs/notebooks/223-text-prediction-with-output.rst b/docs/notebooks/text-prediction-with-output.rst similarity index 83% rename from docs/notebooks/223-text-prediction-with-output.rst rename to docs/notebooks/text-prediction-with-output.rst index 6bb672ee964..d617f7a4884 100644 --- a/docs/notebooks/223-text-prediction-with-output.rst +++ b/docs/notebooks/text-prediction-with-output.rst @@ -109,8 +109,8 @@ used for text generation whereas PersonaGPT is used for Conversation. .. code:: ipython3 %pip install -q "openvino>=2023.1.0" - %pip install -q gradio - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu transformers[torch] + %pip install -q "gradio>=4.19" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu transformers "torch>=2.1" .. parsed-literal:: @@ -123,6 +123,11 @@ used for text generation whereas PersonaGPT is used for Conversation. Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + .. parsed-literal:: DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 @@ -147,12 +152,12 @@ used for text generation whereas PersonaGPT is used for Conversation. import ipywidgets as widgets - style = {'description_width': 'initial'} + style = {"description_width": "initial"} model_name = widgets.Select( - options=['PersonaGPT (Converastional)', 'GPT-2', 'GPT-Neo'], - value='PersonaGPT (Converastional)', - description='Select Model:', - disabled=False + options=["PersonaGPT (Converastional)", "GPT-2", "GPT-Neo"], + value="PersonaGPT (Converastional)", + description="Select Model:", + disabled=False, ) widgets.VBox([model_name]) @@ -175,17 +180,22 @@ Download the Selected Model and Tokenizer from HuggingFace .. code:: ipython3 - from transformers import GPTNeoForCausalLM, GPT2TokenizerFast, GPT2Tokenizer, GPT2LMHeadModel + from transformers import ( + GPTNeoForCausalLM, + GPT2TokenizerFast, + GPT2Tokenizer, + GPT2LMHeadModel, + ) if model_name.value == "PersonaGPT (Converastional)": - pt_model = GPT2LMHeadModel.from_pretrained('af1tang/personaGPT') - tokenizer = GPT2Tokenizer.from_pretrained('af1tang/personaGPT') - elif model_name.value == 'GPT-2': - pt_model = GPT2LMHeadModel.from_pretrained('gpt2') - tokenizer = GPT2Tokenizer.from_pretrained('gpt2') - elif model_name.value == 'GPT-Neo': - pt_model = GPTNeoForCausalLM.from_pretrained('EleutherAI/gpt-neo-125M') - tokenizer = GPT2TokenizerFast.from_pretrained('EleutherAI/gpt-neo-125M') + pt_model = GPT2LMHeadModel.from_pretrained("af1tang/personaGPT") + tokenizer = GPT2Tokenizer.from_pretrained("af1tang/personaGPT") + elif model_name.value == "GPT-2": + pt_model = GPT2LMHeadModel.from_pretrained("gpt2") + tokenizer = GPT2Tokenizer.from_pretrained("gpt2") + elif model_name.value == "GPT-Neo": + pt_model = GPTNeoForCausalLM.from_pretrained("EleutherAI/gpt-neo-125M") + tokenizer = GPT2TokenizerFast.from_pretrained("EleutherAI/gpt-neo-125M") Convert Pytorch Model to OpenVINO IR ------------------------------------ @@ -216,14 +226,31 @@ consumption. # define path for saving openvino model model_path = Path("model/text_generator.xml") - example_input = {"input_ids": torch.ones((1, 10), dtype=torch.long), "attention_mask": torch.ones((1, 10), dtype=torch.long)} + example_input = { + "input_ids": torch.ones((1, 10), dtype=torch.long), + "attention_mask": torch.ones((1, 10), dtype=torch.long), + } pt_model.config.torchscript = True # convert model to openvino if model_name.value == "PersonaGPT (Converastional)": - ov_model = ov.convert_model(pt_model, example_input=example_input, input=[('input_ids', [1, -1], ov.Type.i64), ('attention_mask', [1,-1], ov.Type.i64)]) + ov_model = ov.convert_model( + pt_model, + example_input=example_input, + input=[ + ("input_ids", [1, -1], ov.Type.i64), + ("attention_mask", [1, -1], ov.Type.i64), + ], + ) else: - ov_model = ov.convert_model(pt_model, example_input=example_input, input=[('input_ids', [1, ov.Dimension(1,128)], ov.Type.i64), ('attention_mask', [1, ov.Dimension(1,128)], ov.Type.i64)]) + ov_model = ov.convert_model( + pt_model, + example_input=example_input, + input=[ + ("input_ids", [1, ov.Dimension(1, 128)], ov.Type.i64), + ("attention_mask", [1, ov.Dimension(1, 128)], ov.Type.i64), + ], + ) # serialize openvino model ov.save_model(ov_model, str(model_path)) @@ -231,16 +258,27 @@ consumption. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/gpt2/modeling_gpt2.py:801: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/gpt2/modeling_gpt2.py:801: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if batch_size <= 0: +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/jit/_trace.py:1102: TracerWarning: Output nr 1. of the traced function does not match the corresponding output of the Python function. Detailed error: + Tensor-likes are not close! + + Mismatched elements: 22 / 502630 (0.0%) + Greatest absolute difference: 1.3828277587890625e-05 at index (0, 1, 1287) (up to 1e-05 allowed) + Greatest relative difference: 0.006159087930808544 at index (0, 5, 8109) (up to 1e-05 allowed) + _check_trace( + + Load the model ~~~~~~~~~~~~~~ @@ -266,8 +304,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -347,20 +385,20 @@ at later stage. .. parsed-literal:: - 2024-03-12 23:30:05.170186: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 23:30:05.202013: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 01:17:07.121619: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 01:17:07.154872: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 23:30:05.770717: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 01:17:07.673304: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT Define Softmax layer ~~~~~~~~~~~~~~~~~~~~ -A softmax function is used to + A softmax function is used to convert top-k logits into a probability distribution. .. code:: ipython3 @@ -368,7 +406,7 @@ convert top-k logits into a probability distribution. import numpy as np - def softmax(x : np.array) -> np.array: + def softmax(x: np.array) -> np.array: e_x = np.exp(x - np.max(x, axis=-1, keepdims=True)) summation = e_x.sum(axis=-1, keepdims=True) return e_x / summation @@ -384,7 +422,7 @@ the process of generating the next words. .. code:: ipython3 - def process_logits(cur_length: int, scores: np.array, eos_token_id : int, min_length : int = 0) -> np.array: + def process_logits(cur_length: int, scores: np.array, eos_token_id: int, min_length: int = 0) -> np.array: """ Reduce probability for padded indices. @@ -411,7 +449,7 @@ redistribute the probability mass among only those K next words. .. code:: ipython3 - def get_top_k_logits(scores : np.array, top_k : int) -> np.array: + def get_top_k_logits(scores: np.array, top_k: int) -> np.array: """ Perform top-k sampling on the logits scores. @@ -428,8 +466,7 @@ redistribute the probability mass among only those K next words. top_k = min(max(top_k, 1), scores.shape[-1]) top_k_scores = -np.sort(-scores)[:, :top_k] indices_to_remove = scores < np.min(top_k_scores) - filtred_scores = np.ma.array(scores, mask=indices_to_remove, - fill_value=filter_value).filled() + filtred_scores = np.ma.array(scores, mask=indices_to_remove, fill_value=filter_value).filled() return filtred_scores Main Processing Function @@ -441,8 +478,13 @@ Generating the predicted sequence. .. code:: ipython3 - def generate_sequence(input_ids : List[int], attention_mask : List[int], max_sequence_length : int = 128, - eos_token_id : int = eos_token_id, dynamic_shapes : bool = True) -> List[int]: + def generate_sequence( + input_ids: List[int], + attention_mask: List[int], + max_sequence_length: int = 128, + eos_token_id: int = eos_token_id, + dynamic_shapes: bool = True, + ) -> List[int]: """ Generates a sequence of tokens using a pre-trained language model. @@ -468,14 +510,12 @@ Generating the predicted sequence. outputs = compiled_model({"input_ids": model_input_ids, "attention_mask": model_input_attention_mask})[output_key] next_token_logits = outputs[:, cur_input_len - 1, :] # pre-process distribution - next_token_scores = process_logits(cur_input_len, - next_token_logits, eos_token_id) + next_token_scores = process_logits(cur_input_len, next_token_logits, eos_token_id) top_k = 20 next_token_scores = get_top_k_logits(next_token_scores, top_k) # get next token id probs = softmax(next_token_scores) - next_tokens = np.random.choice(probs.shape[-1], 1, - p=probs[0], replace=True) + next_tokens = np.random.choice(probs.shape[-1], 1, p=probs[0], replace=True) # break the loop if max length or end of text token is reached if cur_input_len == max_sequence_length or next_tokens[0] == eos_token_id: break @@ -547,8 +587,12 @@ Wrapper on generate sequence function to support conversation .. code:: ipython3 - def converse(input: str, history: List[int], eos_token: str = eos_token, - eos_token_id: int = eos_token_id) -> Tuple[str, List[int]]: + def converse( + input: str, + history: List[int], + eos_token: str = eos_token, + eos_token_id: int = eos_token_id, + ) -> Tuple[str, List[int]]: """ Converse with the Model. @@ -582,7 +626,7 @@ Wrapper on generate sequence function to support conversation history = np.append(history[0], eos_token_id) # convert the tokens to text, and then split the responses into lines and retrieve the response from the Model - response = ''.join(tokenizer.batch_decode(history)).split(eos_token)[-2] + response = "".join(tokenizer.batch_decode(history)).split(eos_token)[-2] return response, history Conversation Class @@ -621,12 +665,12 @@ The style of inference can be selected in the next cell. .. code:: ipython3 - style = {'description_width': 'initial'} + style = {"description_width": "initial"} interactive_mode = widgets.Select( - options=['Plain', 'Interactive'], - value='Plain', - description='Inference Style:', - disabled=False + options=["Plain", "Interactive"], + value="Plain", + description="Inference Style:", + disabled=False, ) widgets.VBox([interactive_mode]) @@ -645,10 +689,15 @@ The style of inference can be selected in the next cell. import gradio as gr if model_name.value == "PersonaGPT (Converastional)": - if interactive_mode.value == 'Plain': + if interactive_mode.value == "Plain": conversation = Conversation() user_prompt = None - pre_written_prompts = ["Hi,How are you?", "What are you doing?", "I like to dance,do you?", "Can you recommend me some books?"] + pre_written_prompts = [ + "Hi,How are you?", + "What are you doing?", + "I like to dance,do you?", + "Can you recommend me some books?", + ] # Number of responses generated by model n_prompts = 10 for i in range(n_prompts): @@ -661,6 +710,7 @@ The style of inference can be selected in the next cell. print(conversation.messages[-1]) user_prompt = None else: + def add_text(history, text): history = history + [(text, None)] return history, "" @@ -681,12 +731,10 @@ The style of inference can be selected in the next cell. txt = gr.Textbox( show_label=False, placeholder="Enter text and press enter, or upload an image", - container=False + container=False, ) - txt.submit(add_text, [chatbot, txt], [chatbot, txt]).then( - bot, chatbot, chatbot - ) + txt.submit(add_text, [chatbot, txt], [chatbot, txt]).then(bot, chatbot, chatbot) try: demo.launch(debug=False) except Exception: @@ -701,59 +749,59 @@ The style of inference can be selected in the next cell. .. parsed-literal:: Person: Hi,How are you? - PersonaGPT: good how are you? + PersonaGPT: i'm good thanks for asking .. parsed-literal:: Person: What are you doing? - PersonaGPT: good just hanging out with my friends + PersonaGPT: just relaxing before bed .. parsed-literal:: Person: I like to dance,do you? - PersonaGPT: not really but i like to play + PersonaGPT: no. what do you dance to? .. parsed-literal:: Person: Can you recommend me some books? - PersonaGPT: any good suggestions i like romance movies + PersonaGPT: what do you do for fun or for a hobby? .. parsed-literal:: Person: Hi,How are you? - PersonaGPT: good thanks for asking. what do you do for fun? + PersonaGPT: i like to read and play games. .. parsed-literal:: Person: What are you doing? - PersonaGPT: i like to read. what about you? + PersonaGPT: i'm great thanks for asking. .. parsed-literal:: Person: I like to dance,do you? - PersonaGPT: not really but i do play games. + PersonaGPT: no. what do you like to do for fun? .. parsed-literal:: Person: Can you recommend me some books? - PersonaGPT: sure what kind of games do you play + PersonaGPT: what do you like to do for fun? .. parsed-literal:: Person: Hi,How are you? - PersonaGPT: i am good do you like movies? + PersonaGPT: i am good thanks for asking .. parsed-literal:: Person: What are you doing? - PersonaGPT: reading a romance movie. you seen any good ones lately? + PersonaGPT: i'm relaxing before bed. diff --git a/docs/notebooks/243-tflite-selfie-segmentation-with-output.rst b/docs/notebooks/tflite-selfie-segmentation-with-output.rst similarity index 88% rename from docs/notebooks/243-tflite-selfie-segmentation-with-output.rst rename to docs/notebooks/tflite-selfie-segmentation-with-output.rst index 21763f712f5..892281dc639 100644 --- a/docs/notebooks/243-tflite-selfie-segmentation-with-output.rst +++ b/docs/notebooks/tflite-selfie-segmentation-with-output.rst @@ -73,7 +73,7 @@ Install required dependencies import platform - %pip install -q "openvino>=2023.1.0" "opencv-python" + %pip install -q "openvino>=2023.1.0" "opencv-python" "tqdm" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -103,11 +103,22 @@ Install required dependencies .. code:: ipython3 - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ); + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + + + + +.. parsed-literal:: + + 21503 + + Download pretrained model and test image ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -135,7 +146,7 @@ Download pretrained model and test image .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/243-tflite-selfie-segmentation/selfie_multiclass_256x256.tflite') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/tflite-selfie-segmentation/selfie_multiclass_256x256.tflite') @@ -148,18 +159,18 @@ Starting from the 2023.0.0 release, OpenVINO supports TFLite model conversion. However TFLite model format can be directly passed in ``read_model`` (you can find examples of this API usage for TFLite in `TFLite to OpenVINO conversion -tutorial <119-tflite-to-openvino-with-output.html>`__ and +tutorial `__ and tutorial with `basic OpenVINO API -capabilities <002-openvino-api-with-output.html>`__), it is -recommended to convert model to OpenVINO Intermediate Representation -format to apply additional optimizations (e.g. weights compression to -FP16 format). To convert the TFLite model to OpenVINO IR, model -conversion Python API can be used. The ``ov.convert_model`` function -accepts a path to the TFLite model and returns the OpenVINO Model class -instance which represents this model. The obtained model is ready to use -and to be loaded on the device using ``compile_model`` or can be saved -on a disk using the ``ov.save_model`` function reducing loading time for -the next running. For more information about model conversion, see this +capabilities `__), it is recommended +to convert model to OpenVINO Intermediate Representation format to apply +additional optimizations (e.g. weights compression to FP16 format). To +convert the TFLite model to OpenVINO IR, model conversion Python API can +be used. The ``ov.convert_model`` function accepts a path to the TFLite +model and returns the OpenVINO Model class instance which represents +this model. The obtained model is ready to use and to be loaded on the +device using ``compile_model`` or can be saved on a disk using the +``ov.save_model`` function reducing loading time for the next running. +For more information about model conversion, see this `page `__. For TensorFlow Lite, refer to the `models support `__. @@ -236,8 +247,8 @@ Load model device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -280,13 +291,14 @@ Additionally, the input image is represented as an RGB image in UINT8 img = load_image(test_image_url) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) + # Preprocessing helper function - def resize_and_pad(image:np.ndarray, height:int = 256, width:int = 256): + def resize_and_pad(image: np.ndarray, height: int = 256, width: int = 256): """ - Input preprocessing function, takes input image in np.ndarray format, - resizes it to fit specified height and width with preserving aspect ratio + Input preprocessing function, takes input image in np.ndarray format, + resizes it to fit specified height and width with preserving aspect ratio and adds padding on bottom or right side to complete target height x width rectangle. - + Parameters: image (np.ndarray): input image in np.ndarray format height (int, *optional*, 256): target height @@ -300,13 +312,14 @@ Additionally, the input image is represented as an RGB image in UINT8 img = cv2.resize(image, (width, np.floor(h / (w / width)).astype(int))) else: img = cv2.resize(image, (np.floor(w / (h / height)).astype(int), height)) - + r_h, r_w = img.shape[:2] right_padding = width - r_w bottom_padding = height - r_h padded_img = cv2.copyMakeBorder(img, 0, bottom_padding, 0, right_padding, cv2.BORDER_CONSTANT) return padded_img, (bottom_padding, right_padding) + # Apply preprocessig step - resize and pad input image padded_img, pad_info = resize_and_pad(np.array(img)) @@ -352,13 +365,14 @@ makeup). ] SegmentationLabels = SegmentationMap(labels) + # helper for postprocessing output mask - def postprocess_mask(out:np.ndarray, pad_info:Tuple[int, int], orig_img_size:Tuple[int, int]): + def postprocess_mask(out: np.ndarray, pad_info: Tuple[int, int], orig_img_size: Tuple[int, int]): """ - Posptprocessing function for segmentation mask, accepts model output tensor, + Posptprocessing function for segmentation mask, accepts model output tensor, gets labels for each pixel using argmax, unpads segmentation mask and resizes it to original image size. - + Parameters: out (np.ndarray): model output tensor pad_info (Tuple[int, int]): information about padding size from preprocessing step @@ -375,6 +389,7 @@ makeup). label_mask_resized = cv2.resize(label_mask_unpadded, (orig_w, orig_h), interpolation=cv2.INTER_NEAREST) return label_mask_resized + # Get info about original image image_data = np.array(img) orig_img_shape = image_data.shape @@ -411,8 +426,8 @@ Visualize obtained result titles = ["Original image", "Portrait mask", "Removed background", "Blurred background"] images = [image_data, output_mask, output_image, output_blurred_image] figsize = (16, 16) - fig, axs = plt.subplots(2, 2, figsize=figsize, sharex='all', sharey='all') - fig.patch.set_facecolor('white') + fig, axs = plt.subplots(2, 2, figsize=figsize, sharex="all", sharey="all") + fig.patch.set_facecolor("white") list_axes = list(axs.flat) for i, a in enumerate(list_axes): a.set_xticklabels([]) @@ -427,7 +442,7 @@ Visualize obtained result -.. image:: 243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_25_0.png +.. image:: tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_25_0.png Interactive background blurring demo on video @@ -448,7 +463,14 @@ The following code runs model inference on a video: # Main processing function to run background blurring - def run_background_blurring(source:Union[str, int] = 0, flip:bool = False, use_popup:bool = False, skip_first_frames:int = 0, model:ov.Model = ov_model, device:str = "CPU"): + def run_background_blurring( + source: Union[str, int] = 0, + flip: bool = False, + use_popup: bool = False, + skip_first_frames: int = 0, + model: ov.Model = ov_model, + device: str = "CPU", + ): """ Function for running background blurring inference on video Parameters: @@ -465,16 +487,12 @@ The following code runs model inference on a video: compiled_model = core.compile_model(model, device) try: # Create a video player to play with target fps. - player = VideoPlayer( - source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames - ) + player = VideoPlayer(source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames) # Start capturing. player.start() if use_popup: title = "Press ESC to Exit" - cv2.namedWindow( - winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE - ) + cv2.namedWindow(winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE) processing_times = collections.deque() while True: @@ -496,7 +514,7 @@ The following code runs model inference on a video: # Get the results. input_image, pad_info = resize_and_pad(frame, 256, 256) normalized_img = np.expand_dims(input_image.astype(np.float32) / 255, 0) - + start_time = time.time() # model expects RGB image, while video capturing in BGR segmentation_mask = compiled_model(normalized_img[:, :, :, ::-1])[0] @@ -522,7 +540,7 @@ The following code runs model inference on a video: fontScale=f_width / 1000, color=(255, 0, 0), thickness=1, - lineType=cv2.LINE_AA + lineType=cv2.LINE_AA, ) # Use this workaround if there is flickering. if use_popup: @@ -533,9 +551,7 @@ The following code runs model inference on a video: break else: # Encode numpy array to jpg. - _, encoded_img = cv2.imencode( - ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100] - ) + _, encoded_img = cv2.imencode(ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image. i = display.Image(data=encoded_img) # Display the image in this notebook. @@ -605,7 +621,7 @@ Run: -.. image:: 243-tflite-selfie-segmentation-with-output_files/243-tflite-selfie-segmentation-with-output_33_0.png +.. image:: tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_33_0.png .. parsed-literal:: diff --git a/docs/notebooks/tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_25_0.png b/docs/notebooks/tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_25_0.png new file mode 100644 index 00000000000..67deaabec88 --- /dev/null +++ b/docs/notebooks/tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_25_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f35e940c90fcad2c7ac07fb1e3ead6ff7973b2bb57c038deab32701f0a3d451 +size 516065 diff --git a/docs/notebooks/tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_33_0.png b/docs/notebooks/tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_33_0.png new file mode 100644 index 00000000000..c4d06ca79cc --- /dev/null +++ b/docs/notebooks/tflite-selfie-segmentation-with-output_files/tflite-selfie-segmentation-with-output_33_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:811a5af0eb02a09a3feba19702e87b6d66547efdc1a028850f7e82a08b4916df +size 14382 diff --git a/docs/notebooks/119-tflite-to-openvino-with-output.rst b/docs/notebooks/tflite-to-openvino-with-output.rst similarity index 85% rename from docs/notebooks/119-tflite-to-openvino-with-output.rst rename to docs/notebooks/tflite-to-openvino-with-output.rst index 66ed09c9dc9..71302314417 100644 --- a/docs/notebooks/119-tflite-to-openvino-with-output.rst +++ b/docs/notebooks/tflite-to-openvino-with-output.rst @@ -49,23 +49,43 @@ Install requirements %pip install -q opencv-python requests tqdm # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' - ); + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + 21503 + + + Imports ~~~~~~~ @@ -106,7 +126,7 @@ Download TFLite model .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/119-tflite-to-openvino/model/efficientnet_lite0_fp32_2.tflite') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/tflite-to-openvino/model/efficientnet_lite0_fp32_2.tflite') @@ -148,7 +168,7 @@ Load model using OpenVINO TensorFlow Lite Frontend TensorFlow Lite models are supported via ``FrontEnd`` API. You may skip conversion to IR and read models directly by OpenVINO runtime API. For more examples supported formats reading via Frontend API, please look -this `tutorial <002-openvino-api-with-output.html>`__. +this `tutorial <../openvino-api>`__. .. code:: ipython3 @@ -169,7 +189,7 @@ on `TensorFlow Hub `__. image = load_image("https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bricks.png") # load_image reads the image in BGR format, [:,:,::-1] reshape transfroms it to RGB - image = Image.fromarray(image[:,:,::-1]) + image = Image.fromarray(image[:, :, ::-1]) resized_image = image.resize((224, 224)) input_tensor = np.expand_dims((np.array(resized_image).astype(np.float32) - 127) / 128, 0) @@ -186,8 +206,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -227,7 +247,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 119-tflite-to-openvino-with-output_files/119-tflite-to-openvino-with-output_16_1.png +.. image:: tflite-to-openvino-with-output_files/tflite-to-openvino-with-output_16_1.png .. parsed-literal:: @@ -238,7 +258,7 @@ select device from dropdown list for running inference using OpenVINO Estimate Model Performance -------------------------- -`Benchmark + `Benchmark Tool `__ is used to measure the inference performance of the model on CPU and GPU. @@ -282,7 +302,7 @@ GPU. .. parsed-literal:: - [ INFO ] Read model took 9.52 ms + [ INFO ] Read model took 9.44 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] images (node: images) : f32 / [...] / [1,224,224,3] @@ -300,7 +320,7 @@ GPU. .. parsed-literal:: - [ INFO ] Compile model took 181.00 ms + [ INFO ] Compile model took 190.96 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: TensorFlow_Lite_Frontend_IR @@ -308,6 +328,10 @@ GPU. [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 [ INFO ] MULTI_DEVICE_PRIORITIES: CPU + + +.. parsed-literal:: + [ INFO ] CPU: [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False @@ -335,23 +359,19 @@ GPU. [ INFO ] Fill input 'images' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 6 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - - -.. parsed-literal:: - - [ INFO ] First inference took 7.56 ms + [ INFO ] First inference took 7.52 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 17412 iterations - [ INFO ] Duration: 15009.54 ms + [ INFO ] Count: 17502 iterations + [ INFO ] Duration: 15008.50 ms [ INFO ] Latency: - [ INFO ] Median: 5.04 ms - [ INFO ] Average: 5.04 ms - [ INFO ] Min: 3.66 ms - [ INFO ] Max: 13.39 ms - [ INFO ] Throughput: 1160.06 FPS + [ INFO ] Median: 5.01 ms + [ INFO ] Average: 5.01 ms + [ INFO ] Min: 3.20 ms + [ INFO ] Max: 15.09 ms + [ INFO ] Throughput: 1166.14 FPS diff --git a/docs/notebooks/119-tflite-to-openvino-with-output_files/119-tflite-to-openvino-with-output_16_1.jpg b/docs/notebooks/tflite-to-openvino-with-output_files/tflite-to-openvino-with-output_16_1.jpg similarity index 100% rename from docs/notebooks/119-tflite-to-openvino-with-output_files/119-tflite-to-openvino-with-output_16_1.jpg rename to docs/notebooks/tflite-to-openvino-with-output_files/tflite-to-openvino-with-output_16_1.jpg diff --git a/docs/notebooks/119-tflite-to-openvino-with-output_files/119-tflite-to-openvino-with-output_16_1.png b/docs/notebooks/tflite-to-openvino-with-output_files/tflite-to-openvino-with-output_16_1.png similarity index 100% rename from docs/notebooks/119-tflite-to-openvino-with-output_files/119-tflite-to-openvino-with-output_16_1.png rename to docs/notebooks/tflite-to-openvino-with-output_files/tflite-to-openvino-with-output_16_1.png diff --git a/docs/notebooks/109-throughput-tricks-with-output.rst b/docs/notebooks/throughput-tricks-with-output.rst similarity index 79% rename from docs/notebooks/109-throughput-tricks-with-output.rst rename to docs/notebooks/throughput-tricks-with-output.rst index ff7fded1fd8..9ab92ebecb7 100644 --- a/docs/notebooks/109-throughput-tricks-with-output.rst +++ b/docs/notebooks/throughput-tricks-with-output.rst @@ -24,8 +24,7 @@ The quantization and pre-post-processing API are not included here as they change the precision (quantization) or processing graph (prepostprocessor). You can find examples of how to apply them to optimize performance on OpenVINO IR files in -`111-detection-quantization <111-detection-quantization-with-output.html>`__ and -`118-optimize-preprocessing <118-optimize-preprocessing-with-output.html>`__. +`optimize-preprocessing <../optimize-preprocessing>`__. |image0| @@ -41,7 +40,7 @@ optimize performance on OpenVINO IR files in result in different performance. A similar notebook focused on the latency mode is available -`here <109-latency-tricks-with-output.html>`__. +`here `__. Table of contents: ^^^^^^^^^^^^^^^^^^ @@ -80,7 +79,19 @@ Prerequisites .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" "ultralytics<=8.0.178" seaborn onnx --extra-index-url https://download.pytorch.org/whl/cpu + import platform + + %pip install -q "openvino>=2023.1.0" "ultralytics<=8.0.178" seaborn onnx opencv-python --extra-index-url https://download.pytorch.org/whl/cpu + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. .. parsed-literal:: @@ -95,11 +106,13 @@ Prerequisites from typing import Any, List, Tuple # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) import notebook_utils as utils Data @@ -139,14 +152,14 @@ object detection model. -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_5_0.jpg +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_5_0.jpg .. parsed-literal:: - + @@ -185,7 +198,7 @@ PyTorch Hub and small enough to see the difference in performance. .. parsed-literal:: - YOLOv5 🚀 2023-4-21 Python-3.8.10 torch-2.1.0+cpu CPU + YOLOv5 🚀 2023-4-21 Python-3.8.10 torch-2.2.2+cpu CPU @@ -196,7 +209,7 @@ PyTorch Hub and small enough to see the difference in performance. .. parsed-literal:: - YOLOv5n summary: 213 layers, 1867405 parameters, 0 gradients + YOLOv5n summary: 213 layers, 1867405 parameters, 0 gradients, 4.5 GFLOPs .. parsed-literal:: @@ -249,10 +262,16 @@ second (FPS). .. code:: ipython3 - from openvino.runtime import AsyncInferQueue + from openvino import AsyncInferQueue - def benchmark_model(model: Any, frames: np.ndarray, async_queue: AsyncInferQueue = None, benchmark_name: str = "OpenVINO model", device_name: str = "CPU") -> float: + def benchmark_model( + model: Any, + frames: np.ndarray, + async_queue: AsyncInferQueue = None, + benchmark_name: str = "OpenVINO model", + device_name: str = "CPU", + ) -> float: """ Helper function for benchmarking the model. It measures the time and prints results. """ @@ -291,14 +310,86 @@ the image. # https://gist.github.com/AruniRC/7b3dadd004da04c80198557db5da4bda classes = [ - "person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light", "fire hydrant", - "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", - "giraffe", "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", - "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", "fork", - "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", - "cake", "chair", "couch", "potted plant", "bed", "dining table", "toilet", "tv", "laptop", "mouse", "remote", "keyboard", - "cell phone", "microwave", "oven", "oaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", "teddy bear", - "hair drier", "toothbrush" + "person", + "bicycle", + "car", + "motorcycle", + "airplane", + "bus", + "train", + "truck", + "boat", + "traffic light", + "fire hydrant", + "stop sign", + "parking meter", + "bench", + "bird", + "cat", + "dog", + "horse", + "sheep", + "cow", + "elephant", + "bear", + "zebra", + "giraffe", + "backpack", + "umbrella", + "handbag", + "tie", + "suitcase", + "frisbee", + "skis", + "snowboard", + "sports ball", + "kite", + "baseball bat", + "baseball glove", + "skateboard", + "surfboard", + "tennis racket", + "bottle", + "wine glass", + "cup", + "fork", + "knife", + "spoon", + "bowl", + "banana", + "apple", + "sandwich", + "orange", + "broccoli", + "carrot", + "hot dog", + "pizza", + "donut", + "cake", + "chair", + "couch", + "potted plant", + "bed", + "dining table", + "toilet", + "tv", + "laptop", + "mouse", + "remote", + "keyboard", + "cell phone", + "microwave", + "oven", + "oaster", + "sink", + "refrigerator", + "book", + "clock", + "vase", + "scissors", + "teddy bear", + "hair drier", + "toothbrush", ] # Colors for the classes above (Rainbow Color Map). @@ -323,18 +414,14 @@ the image. score = obj[4] label = np.argmax(obj[5:]) # Create a box with pixels coordinates from the box with normalized coordinates [0,1]. - boxes.append( - tuple(map(int, (xmin - ww // 2, ymin - hh // 2, ww, hh))) - ) + boxes.append(tuple(map(int, (xmin - ww // 2, ymin - hh // 2, ww, hh)))) labels.append(int(label)) scores.append(float(score)) # Apply non-maximum suppression to get rid of many overlapping entities. # See https://paperswithcode.com/method/non-maximum-suppression # This algorithm returns indices of objects to keep. - indices = cv2.dnn.NMSBoxes( - bboxes=boxes, scores=scores, score_threshold=0.25, nms_threshold=0.5 - ) + indices = cv2.dnn.NMSBoxes(bboxes=boxes, scores=scores, score_threshold=0.25, nms_threshold=0.5) # If there are no boxes. if len(indices) == 0: @@ -404,21 +491,25 @@ optimizations applied. We will treat it as our baseline. with torch.no_grad(): result = pytorch_model(torch.as_tensor(video_frames[0])).detach().numpy()[0] show_result(result) - pytorch_fps = benchmark_model(pytorch_model, frames=torch.as_tensor(video_frames).float(), benchmark_name="PyTorch model") + pytorch_fps = benchmark_model( + pytorch_model, + frames=torch.as_tensor(video_frames).float(), + benchmark_name="PyTorch model", + ) -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_15_0.jpg +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_15_0.jpg .. parsed-literal:: - PyTorch model on CPU. First inference time: 0.0262 seconds + PyTorch model on CPU. First inference time: 0.0293 seconds .. parsed-literal:: - PyTorch model on CPU: 0.0205 seconds per image (48.72 FPS) + PyTorch model on CPU: 0.0190 seconds per image (52.54 FPS) OpenVINO IR model @@ -459,17 +550,17 @@ step in this notebook. -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_18_0.jpg +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_18_0.jpg .. parsed-literal:: - OpenVINO model on CPU. First inference time: 0.0147 seconds + OpenVINO model on CPU. First inference time: 0.0114 seconds .. parsed-literal:: - OpenVINO model on CPU: 0.0070 seconds per image (142.58 FPS) + OpenVINO model on CPU: 0.0071 seconds per image (141.35 FPS) OpenVINO IR model + bigger batch @@ -515,23 +606,27 @@ hardware and model. result = ov_cpu_batch_model(batched_video_frames[0])[ov_cpu_batch_model.output(0)][0] show_result(result) - ov_cpu_batch_fps = benchmark_model(model=ov_cpu_batch_model, frames=batched_video_frames, benchmark_name="OpenVINO model + bigger batch") + ov_cpu_batch_fps = benchmark_model( + model=ov_cpu_batch_model, + frames=batched_video_frames, + benchmark_name="OpenVINO model + bigger batch", + ) del ov_cpu_batch_model # release resources -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_21_0.jpg +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_21_0.jpg .. parsed-literal:: - OpenVINO model + bigger batch on CPU. First inference time: 0.0514 seconds + OpenVINO model + bigger batch on CPU. First inference time: 0.0369 seconds .. parsed-literal:: - OpenVINO model + bigger batch on CPU: 0.0068 seconds per image (146.52 FPS) + OpenVINO model + bigger batch on CPU: 0.0069 seconds per image (144.00 FPS) Asynchronous processing @@ -570,7 +665,13 @@ the pipeline. # don't show output for the remaining frames infer_queue.set_callback(lambda x, y: {}) - fps = benchmark_model(model=infer_queue.start_async, frames=video_frames, async_queue=infer_queue, benchmark_name=benchmark_name, device_name=device_name) + fps = benchmark_model( + model=infer_queue.start_async, + frames=video_frames, + async_queue=infer_queue, + benchmark_name=benchmark_name, + device_name=device_name, + ) del infer_queue # release resources return fps @@ -593,23 +694,27 @@ feature, which sets the batch size to the optimal level. ov_cpu_through_model = core.compile_model(ov_model, device_name="CPU", config={"PERFORMANCE_HINT": "THROUGHPUT"}) - ov_cpu_through_fps = benchmark_async_mode(ov_cpu_through_model, benchmark_name="OpenVINO model", device_name="CPU (THROUGHPUT)") + ov_cpu_through_fps = benchmark_async_mode( + ov_cpu_through_model, + benchmark_name="OpenVINO model", + device_name="CPU (THROUGHPUT)", + ) del ov_cpu_through_model # release resources -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_25_0.jpg +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_25_0.jpg .. parsed-literal:: - OpenVINO model on CPU (THROUGHPUT). First inference time: 0.0244 seconds + OpenVINO model on CPU (THROUGHPUT). First inference time: 0.0259 seconds .. parsed-literal:: - OpenVINO model on CPU (THROUGHPUT): 0.0040 seconds per image (249.04 FPS) + OpenVINO model on CPU (THROUGHPUT): 0.0040 seconds per image (249.64 FPS) OpenVINO IR model in throughput mode on GPU @@ -658,17 +763,17 @@ performance hint. -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_29_0.jpg +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_29_0.jpg .. parsed-literal:: - OpenVINO model on AUTO (THROUGHPUT). First inference time: 0.0233 seconds + OpenVINO model on AUTO (THROUGHPUT). First inference time: 0.0254 seconds .. parsed-literal:: - OpenVINO model on AUTO (THROUGHPUT): 0.0040 seconds per image (250.58 FPS) + OpenVINO model on AUTO (THROUGHPUT): 0.0040 seconds per image (249.49 FPS) OpenVINO IR model in cumulative throughput mode on AUTO @@ -686,21 +791,25 @@ activate all devices. ov_auto_cumulative_model = core.compile_model(ov_model, device_name="AUTO", config={"PERFORMANCE_HINT": "CUMULATIVE_THROUGHPUT"}) - ov_auto_cumulative_fps = benchmark_async_mode(ov_auto_cumulative_model, benchmark_name="OpenVINO model", device_name="AUTO (CUMULATIVE THROUGHPUT)") + ov_auto_cumulative_fps = benchmark_async_mode( + ov_auto_cumulative_model, + benchmark_name="OpenVINO model", + device_name="AUTO (CUMULATIVE THROUGHPUT)", + ) -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_31_0.jpg +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_31_0.jpg .. parsed-literal:: - OpenVINO model on AUTO (CUMULATIVE THROUGHPUT). First inference time: 0.0204 seconds + OpenVINO model on AUTO (CUMULATIVE THROUGHPUT). First inference time: 0.0224 seconds .. parsed-literal:: - OpenVINO model on AUTO (CUMULATIVE THROUGHPUT): 0.0040 seconds per image (251.22 FPS) + OpenVINO model on AUTO (CUMULATIVE THROUGHPUT): 0.0040 seconds per image (250.82 FPS) Other tricks @@ -713,9 +822,8 @@ options, quantization and pre-post-processing or dedicated to latency mode. To get even more from your model, please visit `advanced throughput options `__, -`109-latency-tricks <109-latency-tricks-with-output.html-with-output.html>`__, -`111-detection-quantization <111-detection-quantization-with-output.html>`__, and -`118-optimize-preprocessing <118-optimize-preprocessing-with-output.html>`__. +`latency-tricks `__, and +`optimize-preprocessing <../optimize-preprocessing>`__. Performance comparison ---------------------- @@ -734,10 +842,25 @@ steps, just skip them. from matplotlib import pyplot as plt - labels = ["PyTorch model", "OpenVINO IR model", "OpenVINO IR model + bigger batch", "OpenVINO IR model in throughput mode", "OpenVINO IR model in throughput mode on GPU", - "OpenVINO IR model in throughput mode on AUTO", "OpenVINO IR model in cumulative throughput mode on AUTO"] + labels = [ + "PyTorch model", + "OpenVINO IR model", + "OpenVINO IR model + bigger batch", + "OpenVINO IR model in throughput mode", + "OpenVINO IR model in throughput mode on GPU", + "OpenVINO IR model in throughput mode on AUTO", + "OpenVINO IR model in cumulative throughput mode on AUTO", + ] - fps = [pytorch_fps, ov_cpu_fps, ov_cpu_batch_fps, ov_cpu_through_fps, ov_gpu_fps, ov_auto_fps, ov_auto_cumulative_fps] + fps = [ + pytorch_fps, + ov_cpu_fps, + ov_cpu_batch_fps, + ov_cpu_through_fps, + ov_gpu_fps, + ov_auto_fps, + ov_auto_cumulative_fps, + ] bar_colors = colors[::10] / 255.0 @@ -747,12 +870,12 @@ steps, just skip them. ax.set_ylabel("Throughput [FPS]") ax.set_title("Performance difference") - plt.xticks(rotation='vertical') + plt.xticks(rotation="vertical") plt.show() -.. image:: 109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_34_0.png +.. image:: throughput-tricks-with-output_files/throughput-tricks-with-output_34_0.png Conclusions diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_15_0.jpg b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_15_0.jpg similarity index 100% rename from docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_15_0.jpg rename to docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_15_0.jpg diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_18_0.jpg b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_18_0.jpg similarity index 100% rename from docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_18_0.jpg rename to docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_18_0.jpg diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_21_0.jpg b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_21_0.jpg similarity index 100% rename from docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_21_0.jpg rename to docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_21_0.jpg diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_25_0.jpg b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_25_0.jpg similarity index 100% rename from docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_25_0.jpg rename to docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_25_0.jpg diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_29_0.jpg b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_29_0.jpg similarity index 100% rename from docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_29_0.jpg rename to docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_29_0.jpg diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_31_0.jpg b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_31_0.jpg similarity index 100% rename from docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_31_0.jpg rename to docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_31_0.jpg diff --git a/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_34_0.png b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_34_0.png new file mode 100644 index 00000000000..aa018f1d9c6 --- /dev/null +++ b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_34_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fff4df7ad0fd1d1c35bb0f769f45e3bdeb62bd09ebc948a7d0e2890a61b69d5 +size 62466 diff --git a/docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_5_0.jpg b/docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_5_0.jpg similarity index 100% rename from docs/notebooks/109-throughput-tricks-with-output_files/109-throughput-tricks-with-output_5_0.jpg rename to docs/notebooks/throughput-tricks-with-output_files/throughput-tricks-with-output_5_0.jpg diff --git a/docs/notebooks/251-tiny-sd-image-generation-with-output.rst b/docs/notebooks/tiny-sd-image-generation-with-output.rst similarity index 84% rename from docs/notebooks/251-tiny-sd-image-generation-with-output.rst rename to docs/notebooks/tiny-sd-image-generation-with-output.rst index 601e918c67c..74dc89af7a3 100644 --- a/docs/notebooks/251-tiny-sd-image-generation-with-output.rst +++ b/docs/notebooks/tiny-sd-image-generation-with-output.rst @@ -69,7 +69,7 @@ Install required dependencies .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu torch torchvision "openvino>=2023.3.0" "diffusers>=0.18.0" "transformers>=4.30.2" "gradio" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "torch>=2.1" torchvision "openvino>=2023.3.0" "diffusers>=0.18.0" "transformers>=4.30.2" "gradio>=4.19" Create PyTorch Models pipeline ------------------------------ @@ -181,11 +181,11 @@ hidden states. TEXT_ENCODER_OV_PATH = Path("text_encoder.xml") - def convert_encoder(text_encoder: torch.nn.Module, ir_path:Path): + def convert_encoder(text_encoder: torch.nn.Module, ir_path: Path): """ - Convert Text Encoder mode. - Function accepts text encoder model, and prepares example inputs for conversion, - Parameters: + Convert Text Encoder mode. + Function accepts text encoder model, and prepares example inputs for conversion, + Parameters: text_encoder (torch.nn.Module): text_encoder model from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -198,11 +198,17 @@ hidden states. # disable gradients calculation for reducing memory consumption with torch.no_grad(): # Export model to IR format - ov_model = ov.convert_model(text_encoder, example_input=input_ids, input=[(1,77),]) + ov_model = ov.convert_model( + text_encoder, + example_input=input_ids, + input=[ + (1, 77), + ], + ) ov.save_model(ov_model, ir_path) del ov_model - print(f'Text Encoder successfully converted to IR and saved to {ir_path}') - + print(f"Text Encoder successfully converted to IR and saved to {ir_path}") + if not TEXT_ENCODER_OV_PATH.exists(): convert_encoder(text_encoder, TEXT_ENCODER_OV_PATH) @@ -245,19 +251,16 @@ Model predicts the ``sample`` state for the next step. import numpy as np from openvino import PartialShape, Type - UNET_OV_PATH = Path('unet.xml') + UNET_OV_PATH = Path("unet.xml") - dtype_mapping = { - torch.float32: Type.f32, - torch.float64: Type.f64 - } + dtype_mapping = {torch.float32: Type.f32, torch.float64: Type.f64} - def convert_unet(unet:torch.nn.Module, ir_path:Path): + def convert_unet(unet: torch.nn.Module, ir_path: Path): """ - Convert U-net model to IR format. - Function accepts unet model, prepares example inputs for conversion, - Parameters: + Convert U-net model to IR format. + Function accepts unet model, prepares example inputs for conversion, + Parameters: unet (StableDiffusionPipeline): unet from Stable Diffusion pipeline ir_path (Path): File for storing model Returns: @@ -280,7 +283,7 @@ Model predicts the ``sample`` state for the next step. ov_model = ov.convert_model(unet, example_input=dummy_inputs, input=input_info) ov.save_model(ov_model, ir_path) del ov_model - print(f'Unet successfully converted to IR and saved to {ir_path}') + print(f"Unet successfully converted to IR and saved to {ir_path}") if not UNET_OV_PATH.exists(): @@ -331,17 +334,19 @@ of the pipeline, it will be better to convert them to separate models. VAE_ENCODER_OV_PATH = Path("vae_encodr.xml") + def convert_vae_encoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for encoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: - vae (torch.nn.Module): VAE model from StableDiffusio pipeline + Convert VAE model for encoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: + vae (torch.nn.Module): VAE model from StableDiffusio pipeline ir_path (Path): File for storing model Returns: None """ + class VAEEncoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -349,14 +354,15 @@ of the pipeline, it will be better to convert them to separate models. def forward(self, image): return self.vae.encode(x=image)["latent_dist"].sample() + vae_encoder = VAEEncoderWrapper(vae) vae_encoder.eval() image = torch.zeros((1, 3, 512, 512)) with torch.no_grad(): - ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1,3,512,512),)]) + ov_model = ov.convert_model(vae_encoder, example_input=image, input=[((1, 3, 512, 512),)]) ov.save_model(ov_model, ir_path) del ov_model - print(f'VAE encoder successfully converted to IR and saved to {ir_path}') + print(f"VAE encoder successfully converted to IR and saved to {ir_path}") if not VAE_ENCODER_OV_PATH.exists(): @@ -364,19 +370,21 @@ of the pipeline, it will be better to convert them to separate models. else: print(f"VAE encoder will be loaded from {VAE_ENCODER_OV_PATH}") - VAE_DECODER_OV_PATH = Path('vae_decoder.xml') + VAE_DECODER_OV_PATH = Path("vae_decoder.xml") + def convert_vae_decoder(vae: torch.nn.Module, ir_path: Path): """ - Convert VAE model for decoding to IR format. - Function accepts vae model, creates wrapper class for export only necessary for inference part, - prepares example inputs for conversion, - Parameters: + Convert VAE model for decoding to IR format. + Function accepts vae model, creates wrapper class for export only necessary for inference part, + prepares example inputs for conversion, + Parameters: vae (torch.nn.Module): VAE model frm StableDiffusion pipeline ir_path (Path): File for storing model Returns: None """ + class VAEDecoderWrapper(torch.nn.Module): def __init__(self, vae): super().__init__() @@ -384,16 +392,16 @@ of the pipeline, it will be better to convert them to separate models. def forward(self, latents): return self.vae.decode(latents) - + vae_decoder = VAEDecoderWrapper(vae) latents = torch.zeros((1, 4, 64, 64)) vae_decoder.eval() with torch.no_grad(): - ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1,4,64,64),)]) + ov_model = ov.convert_model(vae_decoder, example_input=latents, input=[((1, 4, 64, 64),)]) ov.save_model(ov_model, ir_path) del ov_model - print(f'VAE decoder successfully converted to IR and saved to {ir_path}') + print(f"VAE decoder successfully converted to IR and saved to {ir_path}") if not VAE_DECODER_OV_PATH.exists(): @@ -483,11 +491,11 @@ of the variational auto encoder. from diffusers.schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMScheduler - def scale_fit_to_window(dst_width:int, dst_height:int, image_width:int, image_height:int): + def scale_fit_to_window(dst_width: int, dst_height: int, image_width: int, image_height: int): """ - Preprocessing helper function for calculating image size for resize with peserving original aspect ratio + Preprocessing helper function for calculating image size for resize with peserving original aspect ratio and fitting image to specific window size - + Parameters: dst_width (int): destination window width dst_height (int): destination window height @@ -507,7 +515,7 @@ of the variational auto encoder. then converts it to np.ndarray and adds padding with zeros on right or bottom side of image (depends from aspect ratio), after that converts data to float32 data type and change range of values from [0, 255] to [-1, 1], finally, converts data layout from planar NHWC to NCHW. The function returns preprocessed input tensor and padding size, which can be used in postprocessing. - + Parameters: image (PIL.Image.Image): input image Returns: @@ -515,10 +523,8 @@ of the variational auto encoder. meta (Dict): dictionary with preprocessing metadata info """ src_width, src_height = image.size - dst_width, dst_height = scale_fit_to_window( - 512, 512, src_width, src_height) - image = np.array(image.resize((dst_width, dst_height), - resample=PIL.Image.Resampling.LANCZOS))[None, :] + dst_width, dst_height = scale_fit_to_window(512, 512, src_width, src_height) + image = np.array(image.resize((dst_width, dst_height), resample=PIL.Image.Resampling.LANCZOS))[None, :] pad_width = 512 - dst_width pad_height = 512 - dst_height pad = ((0, 0), (0, pad_height), (0, pad_width), (0, 0)) @@ -611,7 +617,7 @@ of the variational auto encoder. gif (bool, *optional*, False): Flag for storing all steps results or not. Returns: - Dictionary with keys: + Dictionary with keys: sample - the last generated image PIL.Image.Image or np.array iterations - *optional* (if gif=True) images for all diffusion steps, List of PIL.Image.Image or np.array. """ @@ -621,8 +627,12 @@ of the variational auto encoder. img_buffer = [] do_classifier_free_guidance = guidance_scale > 1.0 # get prompt text embeddings - text_embeddings = self._encode_prompt(prompt, do_classifier_free_guidance=do_classifier_free_guidance, negative_prompt=negative_prompt) - + text_embeddings = self._encode_prompt( + prompt, + do_classifier_free_guidance=do_classifier_free_guidance, + negative_prompt=negative_prompt, + ) + # set timesteps accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) extra_set_kwargs = {} @@ -658,7 +668,12 @@ of the variational auto encoder. noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) # compute the previous noisy sample x_t -> x_t-1 - latents = self.scheduler.step(torch.from_numpy(noise_pred), t, torch.from_numpy(latents), **extra_step_kwargs)["prev_sample"].numpy() + latents = self.scheduler.step( + torch.from_numpy(noise_pred), + t, + torch.from_numpy(latents), + **extra_step_kwargs, + )["prev_sample"].numpy() if gif: image = self.vae_decoder(latents * (1 / 0.18215))[self._vae_d_output] image = self.postprocess_image(image, meta, output_type) @@ -668,9 +683,15 @@ of the variational auto encoder. image = self.vae_decoder(latents * (1 / 0.18215))[self._vae_d_output] image = self.postprocess_image(image, meta, output_type) - return {"sample": image, 'iterations': img_buffer} - - def _encode_prompt(self, prompt:Union[str, List[str]], num_images_per_prompt:int = 1, do_classifier_free_guidance:bool = True, negative_prompt:Union[str, List[str]] = None): + return {"sample": image, "iterations": img_buffer} + + def _encode_prompt( + self, + prompt: Union[str, List[str]], + num_images_per_prompt: int = 1, + do_classifier_free_guidance: bool = True, + negative_prompt: Union[str, List[str]] = None, + ): """ Encodes the prompt into text encoder hidden states. @@ -694,16 +715,13 @@ of the variational auto encoder. ) text_input_ids = text_inputs.input_ids - text_embeddings = self.text_encoder( - text_input_ids)[self._text_encoder_output] + text_embeddings = self.text_encoder(text_input_ids)[self._text_encoder_output] # duplicate text embeddings for each generation per prompt if num_images_per_prompt != 1: bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = np.tile( - text_embeddings, (1, num_images_per_prompt, 1)) - text_embeddings = np.reshape( - text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) + text_embeddings = np.tile(text_embeddings, (1, num_images_per_prompt, 1)) + text_embeddings = np.reshape(text_embeddings, (bs_embed * num_images_per_prompt, seq_len, -1)) # get unconditional embeddings for classifier free guidance if do_classifier_free_guidance: @@ -737,11 +755,10 @@ of the variational auto encoder. return text_embeddings - - def prepare_latents(self, image:PIL.Image.Image = None, latent_timestep:torch.Tensor = None): + def prepare_latents(self, image: PIL.Image.Image = None, latent_timestep: torch.Tensor = None): """ Function for getting initial latents for starting generation - + Parameters: image (PIL.Image.Image, *optional*, None): Input image for generation, if not provided randon noise will be used as starting point @@ -763,11 +780,11 @@ of the variational auto encoder. latents = self.scheduler.add_noise(torch.from_numpy(latents), torch.from_numpy(noise), latent_timestep).numpy() return latents, meta - def postprocess_image(self, image:np.ndarray, meta:Dict, output_type:str = "pil"): + def postprocess_image(self, image: np.ndarray, meta: Dict, output_type: str = "pil"): """ - Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), + Postprocessing for decoded image. Takes generated image decoded by VAE decoder, unpad it to initila image size (if required), normalize and convert to [0, 255] pixels range. Optionally, convertes it from np.ndarray to PIL.Image format - + Parameters: image (np.ndarray): Generated image @@ -793,25 +810,23 @@ of the variational auto encoder. image = self.numpy_to_pil(image) if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [img.resize((orig_width, orig_height), - PIL.Image.Resampling.LANCZOS) for img in image] + image = [img.resize((orig_width, orig_height), PIL.Image.Resampling.LANCZOS) for img in image] else: if "src_height" in meta: orig_height, orig_width = meta["src_height"], meta["src_width"] - image = [cv2.resize(img, (orig_width, orig_width)) - for img in image] + image = [cv2.resize(img, (orig_width, orig_width)) for img in image] return image - def get_timesteps(self, num_inference_steps:int, strength:float): + def get_timesteps(self, num_inference_steps: int, strength: float): """ Helper function for getting scheduler timesteps for generation In case of image-to-image generation, it updates number of steps according to strength - + Parameters: num_inference_steps (int): number of inference steps for generation strength (float): - value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. + value between 0.0 and 1.0, that controls the amount of noise that is added to the input image. Values that approach 1.0 enable lots of variations but will also produce images that are not semantically consistent with the input. """ # get the original timestep using init_timestep @@ -820,7 +835,7 @@ of the variational auto encoder. t_start = max(num_inference_steps - init_timestep, 0) timesteps = self.scheduler.timesteps[t_start:] - return timesteps, num_inference_steps - t_start + return timesteps, num_inference_steps - t_start Configure Inference Pipeline ---------------------------- @@ -841,8 +856,8 @@ Select device from dropdown list for running inference using OpenVINO. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -874,36 +889,36 @@ operations to be executed in full precision. .. code:: ipython3 import pickle - import urllib.request + import requests import os # Fetch `model_upcast_utils` which helps to restore accuracy when inferred on GPU - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/model_upcast_utils.py', - filename='model_upcast_utils.py' - ) + r = requests.get("https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/model_upcast_utils.py") + with open("model_upcast_utils.py", "w") as f: + f.write(r.text) # Fetch an example input for UNet model needed for upcasting calibration process - urllib.request.urlretrieve( - url='https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/pkl/unet_calibration_example_input.pkl', - filename='unet_calibration_example_input.pkl' + r = requests.get("https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/pkl/unet_calibration_example_input.pkl") + with open("unet_calibration_example_input.pkl", "wb") as f: + f.write(r.content) + + from model_upcast_utils import ( + is_model_partially_upcasted, + partially_upcast_nodes_to_fp32, ) - from model_upcast_utils import is_model_partially_upcasted, partially_upcast_nodes_to_fp32 unet_model = core.read_model(UNET_OV_PATH) - if 'GPU' in core.available_devices and not is_model_partially_upcasted(unet_model): + if "GPU" in core.available_devices and not is_model_partially_upcasted(unet_model): with open("unet_calibration_example_input.pkl", "rb") as f: example_input = pickle.load(f) - unet_model = partially_upcast_nodes_to_fp32(unet_model, example_input, upcast_ratio=0.7, - operation_types=["Convolution"]) + unet_model = partially_upcast_nodes_to_fp32(unet_model, example_input, upcast_ratio=0.7, operation_types=["Convolution"]) ov.save_model(unet_model, UNET_OV_PATH.with_suffix("._tmp.xml")) del unet_model os.remove(UNET_OV_PATH) os.remove(str(UNET_OV_PATH).replace(".xml", ".bin")) UNET_OV_PATH.with_suffix("._tmp.xml").rename(UNET_OV_PATH) - UNET_OV_PATH.with_suffix("._tmp.bin").rename(UNET_OV_PATH.with_suffix('.bin')) - + UNET_OV_PATH.with_suffix("._tmp.bin").rename(UNET_OV_PATH.with_suffix(".bin")) .. code:: ipython3 @@ -924,12 +939,8 @@ Let us define them and put all components together from transformers import CLIPTokenizer from diffusers.schedulers import LMSDiscreteScheduler - lms = LMSDiscreteScheduler( - beta_start=0.00085, - beta_end=0.012, - beta_schedule="scaled_linear" - ) - tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14') + lms = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear") + tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") ov_pipe = OVStableDiffusionPipeline( tokenizer=tokenizer, @@ -937,7 +948,7 @@ Let us define them and put all components together unet=unet_model, vae_encoder=vae_encoder, vae_decoder=vae_decoder, - scheduler=lms + scheduler=lms, ) Text-to-Image generation @@ -949,16 +960,16 @@ Now, let’s see model in action .. code:: ipython3 - text_prompt = 'RAW studio photo of An intricate forest minitown landscape trapped in a bottle, atmospheric oliva lighting, on the table, intricate details, dark shot, soothing tones, muted colors ' + text_prompt = "RAW studio photo of An intricate forest minitown landscape trapped in a bottle, atmospheric oliva lighting, on the table, intricate details, dark shot, soothing tones, muted colors " seed = 431 num_steps = 20 .. code:: ipython3 - print('Pipeline settings') - print(f'Input text: {text_prompt}') - print(f'Seed: {seed}') - print(f'Number of steps: {num_steps}') + print("Pipeline settings") + print(f"Input text: {text_prompt}") + print(f"Seed: {seed}") + print(f"Number of steps: {num_steps}") .. parsed-literal:: @@ -986,14 +997,14 @@ contains list of intermediate results for each step. .. code:: ipython3 - final_image = result['sample'][0] - final_image.save('result.png') + final_image = result["sample"][0] + final_image.save("result.png") Now is show time! .. code:: ipython3 - text = '\n\t'.join(text_prompt.split('.')) + text = "\n\t".join(text_prompt.split(".")) print("Input text:") print("\t" + text) display(final_image) @@ -1006,7 +1017,7 @@ Now is show time! -.. image:: 251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_35_1.png +.. image:: tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_35_1.png Nice. As you can see, the picture has quite a high definition 🔥. @@ -1044,8 +1055,10 @@ found in this .. code:: ipython3 - text_prompt_i2i = 'professional photo portrait of woman, highly detailed, hyper realistic, cinematic effects, soft lighting' - negative_prompt_i2i = "blurry, poor quality, low res, worst quality, cropped, ugly, poorly drawn face, without eyes, mutation, unreal, animate, poorly drawn eyes" + text_prompt_i2i = "professional photo portrait of woman, highly detailed, hyper realistic, cinematic effects, soft lighting" + negative_prompt_i2i = ( + "blurry, poor quality, low res, worst quality, cropped, ugly, poorly drawn face, without eyes, mutation, unreal, animate, poorly drawn eyes" + ) num_steps_i2i = 40 seed_i2i = 82698152 strength = 0.68 @@ -1057,15 +1070,22 @@ found in this default_image_url = "https://user-images.githubusercontent.com/29454499/260418860-69cc443a-9ee6-493c-a393-3a97af080be7.jpg" # read uploaded image image = load_image(default_image_url) - print('Pipeline settings') - print(f'Input positive prompt: \n\t{text_prompt_i2i}') - print(f'Input negative prompt: \n\t{negative_prompt_i2i}') - print(f'Seed: {seed_i2i}') - print(f'Number of steps: {num_steps_i2i}') - print(f'Strength: {strength}') + print("Pipeline settings") + print(f"Input positive prompt: \n\t{text_prompt_i2i}") + print(f"Input negative prompt: \n\t{negative_prompt_i2i}") + print(f"Seed: {seed_i2i}") + print(f"Number of steps: {num_steps_i2i}") + print(f"Strength: {strength}") print("Input image:") display(image) - processed_image = ov_pipe(text_prompt_i2i, image, negative_prompt=negative_prompt_i2i, num_inference_steps=num_steps_i2i, seed=seed_i2i, strength=strength) + processed_image = ov_pipe( + text_prompt_i2i, + image, + negative_prompt=negative_prompt_i2i, + num_inference_steps=num_steps_i2i, + seed=seed_i2i, + strength=strength, + ) .. parsed-literal:: @@ -1082,7 +1102,7 @@ found in this -.. image:: 251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_39_1.png +.. image:: tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_39_1.png @@ -1093,12 +1113,12 @@ found in this .. code:: ipython3 - final_image_i2i = processed_image['sample'][0] - final_image_i2i.save('result_i2i.png') + final_image_i2i = processed_image["sample"][0] + final_image_i2i.save("result_i2i.png") .. code:: ipython3 - text_i2i = '\n\t'.join(text_prompt_i2i.split('.')) + text_i2i = "\n\t".join(text_prompt_i2i.split(".")) print("Input text:") print("\t" + text_i2i) display(final_image_i2i) @@ -1111,7 +1131,7 @@ found in this -.. image:: 251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_41_1.png +.. image:: tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_41_1.png Interactive Demo @@ -1127,13 +1147,21 @@ Interactive Demo img = load_image(sample_img_url).save("tower.jpg") + def generate_from_text(text, negative_text, seed, num_steps, _=gr.Progress(track_tqdm=True)): result = ov_pipe(text, negative_prompt=negative_text, num_inference_steps=num_steps, seed=seed) return result["sample"][0] def generate_from_image(img, text, negative_text, seed, num_steps, strength, _=gr.Progress(track_tqdm=True)): - result = ov_pipe(text, img, negative_prompt=negative_text, num_inference_steps=num_steps, seed=seed, strength=strength) + result = ov_pipe( + text, + img, + negative_prompt=negative_text, + num_inference_steps=num_steps, + seed=seed, + strength=strength, + ) return result["sample"][0] @@ -1146,13 +1174,25 @@ Interactive Demo seed_input = gr.Slider(0, 10000000, value=751, label="Seed") steps_input = gr.Slider(1, 50, value=20, step=1, label="Steps") out = gr.Image(label="Result", type="pil") - sample_text = "futuristic synthwave city, retro sunset, crystals, spires, volumetric lighting, studio Ghibli style, rendered in unreal engine with clean details" + sample_text = ( + "futuristic synthwave city, retro sunset, crystals, spires, volumetric lighting, studio Ghibli style, rendered in unreal engine with clean details" + ) sample_text2 = "RAW studio photo of tiny cute happy cat in a yellow raincoat in the woods, rain, a character portrait, soft lighting, high resolution, photo realistic, extremely detailed" negative_sample_text = "" negative_sample_text2 = "bad anatomy, blurry, noisy, jpeg artifacts, low quality, geometry, mutation, disgusting. ugly" btn = gr.Button() - btn.click(generate_from_text, [text_input, negative_text_input, seed_input, steps_input], out) - gr.Examples([[sample_text, negative_sample_text, 42, 20], [sample_text2, negative_sample_text2, 1561, 25]], [text_input, negative_text_input, seed_input, steps_input]) + btn.click( + generate_from_text, + [text_input, negative_text_input, seed_input, steps_input], + out, + ) + gr.Examples( + [ + [sample_text, negative_sample_text, 42, 20], + [sample_text2, negative_sample_text2, 1561, 25], + ], + [text_input, negative_text_input, seed_input, steps_input], + ) with gr.Tab("Image-to-Image generation"): with gr.Row(): with gr.Column(): @@ -1167,12 +1207,26 @@ Interactive Demo sample_i2i_text = "amazing watercolor painting" i2i_btn.click( generate_from_image, - [i2i_input, i2i_text_input, i2i_negative_text_input, i2i_seed_input, i2i_steps_input, strength_input], + [ + i2i_input, + i2i_text_input, + i2i_negative_text_input, + i2i_seed_input, + i2i_steps_input, + strength_input, + ], i2i_out, ) gr.Examples( [["tower.jpg", sample_i2i_text, "", 6400023, 40, 0.3]], - [i2i_input, i2i_text_input, i2i_negative_text_input, i2i_seed_input, i2i_steps_input, strength_input], + [ + i2i_input, + i2i_text_input, + i2i_negative_text_input, + i2i_seed_input, + i2i_steps_input, + strength_input, + ], ) try: diff --git a/docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_35_1.jpg b/docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_35_1.jpg similarity index 100% rename from docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_35_1.jpg rename to docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_35_1.jpg diff --git a/docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_35_1.png b/docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_35_1.png similarity index 100% rename from docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_35_1.png rename to docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_35_1.png diff --git a/docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_39_1.jpg b/docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_39_1.jpg similarity index 100% rename from docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_39_1.jpg rename to docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_39_1.jpg diff --git a/docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_39_1.png b/docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_39_1.png similarity index 100% rename from docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_39_1.png rename to docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_39_1.png diff --git a/docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_41_1.jpg b/docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_41_1.jpg similarity index 100% rename from docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_41_1.jpg rename to docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_41_1.jpg diff --git a/docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_41_1.png b/docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_41_1.png similarity index 100% rename from docs/notebooks/251-tiny-sd-image-generation-with-output_files/251-tiny-sd-image-generation-with-output_41_1.png rename to docs/notebooks/tiny-sd-image-generation-with-output_files/tiny-sd-image-generation-with-output_41_1.png diff --git a/docs/notebooks/triposr-3d-reconstruction-with-output.rst b/docs/notebooks/triposr-3d-reconstruction-with-output.rst new file mode 100644 index 00000000000..4b3cfdaa5e5 --- /dev/null +++ b/docs/notebooks/triposr-3d-reconstruction-with-output.rst @@ -0,0 +1,962 @@ +TripoSR feedforward 3D reconstruction from a single image and OpenVINO +====================================================================== + +`TripoSR `__ is a +state-of-the-art open-source model for fast feedforward 3D +reconstruction from a single image, developed in collaboration between +`Tripo AI `__ and `Stability +AI `__. + +You can find `the source code on +GitHub `__ and `demo on +HuggingFace `__. +Also, you can read the paper `TripoSR: Fast 3D Object Reconstruction +from a Single Image `__. + + + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Get the original model <#get-the-original-model>`__ +- `Convert the model to OpenVINO + IR <#convert-the-model-to-openvino-ir>`__ +- `Compiling models and prepare + pipeline <#compiling-models-and-prepare-pipeline>`__ +- `Interactive inference <#interactive-inference>`__ + +Prerequisites +------------- + + + +.. code:: ipython3 + + %pip install -q wheel setuptools pip --upgrade + %pip install -q "gradio>=4.19" torch rembg trimesh einops omegaconf "transformers>=4.35.0" "openvino>=2024.0.0" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "git+https://github.com/tatsy/torchmcubes.git" + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + WARNING: typer 0.12.3 does not provide the extra 'all' + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. code:: ipython3 + + import sys + from pathlib import Path + + if not Path("TripoSR").exists(): + !git clone https://huggingface.co/spaces/stabilityai/TripoSR + + sys.path.append("TripoSR") + + +.. parsed-literal:: + + Cloning into 'TripoSR'... + + +.. parsed-literal:: + + remote: Enumerating objects: 117, done. + remote: Counting objects: 0% (1/117) +remote: Counting objects: 1% (2/117) +remote: Counting objects: 2% (3/117) +remote: Counting objects: 3% (4/117) +remote: Counting objects: 4% (5/117) +remote: Counting objects: 5% (6/117) +remote: Counting objects: 6% (8/117) +remote: Counting objects: 7% (9/117) +remote: Counting objects: 8% (10/117) +remote: Counting objects: 9% (11/117) +remote: Counting objects: 10% (12/117) +remote: Counting objects: 11% (13/117) +remote: Counting objects: 12% (15/117) +remote: Counting objects: 13% (16/117) +remote: Counting objects: 14% (17/117) +remote: Counting objects: 15% (18/117) +remote: Counting objects: 16% (19/117) +remote: Counting objects: 17% (20/117) +remote: Counting objects: 18% (22/117) +remote: Counting objects: 19% (23/117) +remote: Counting objects: 20% (24/117) +remote: Counting objects: 21% (25/117) +remote: Counting objects: 22% (26/117) +remote: Counting objects: 23% (27/117) +remote: Counting objects: 24% (29/117) +remote: Counting objects: 25% (30/117) +remote: Counting objects: 26% (31/117) +remote: Counting objects: 27% (32/117) +remote: Counting objects: 28% (33/117) +remote: Counting objects: 29% (34/117) +remote: Counting objects: 30% (36/117) +remote: Counting objects: 31% (37/117) +remote: Counting objects: 32% (38/117) +remote: Counting objects: 33% (39/117) +remote: Counting objects: 34% (40/117) +remote: Counting objects: 35% (41/117) +remote: Counting objects: 36% (43/117) +remote: Counting objects: 37% (44/117) +remote: Counting objects: 38% (45/117) +remote: Counting objects: 39% (46/117) +remote: Counting objects: 40% (47/117) +remote: Counting objects: 41% (48/117) +remote: Counting objects: 42% (50/117) +remote: Counting objects: 43% (51/117) +remote: Counting objects: 44% (52/117) +remote: Counting objects: 45% (53/117) +remote: Counting objects: 46% (54/117) +remote: Counting objects: 47% (55/117) +remote: Counting objects: 48% (57/117) +remote: Counting objects: 49% (58/117) +remote: Counting objects: 50% (59/117) +remote: Counting objects: 51% (60/117) +remote: Counting objects: 52% (61/117) +remote: Counting objects: 53% (63/117) +remote: Counting objects: 54% (64/117) +remote: Counting objects: 55% (65/117) +remote: Counting objects: 56% (66/117) +remote: Counting objects: 57% (67/117) +remote: Counting objects: 58% (68/117) +remote: Counting objects: 59% (70/117) +remote: Counting objects: 60% (71/117) +remote: Counting objects: 61% (72/117) +remote: Counting objects: 62% (73/117) +remote: Counting objects: 63% (74/117) +remote: Counting objects: 64% (75/117) +remote: Counting objects: 65% (77/117) +remote: Counting objects: 66% (78/117) +remote: Counting objects: 67% (79/117) +remote: Counting objects: 68% (80/117) +remote: Counting objects: 69% (81/117) +remote: Counting objects: 70% (82/117) +remote: Counting objects: 71% (84/117) +remote: Counting objects: 72% (85/117) +remote: Counting objects: 73% (86/117) +remote: Counting objects: 74% (87/117) +remote: Counting objects: 75% (88/117) +remote: Counting objects: 76% (89/117) +remote: Counting objects: 77% (91/117) +remote: Counting objects: 78% (92/117) +remote: Counting objects: 79% (93/117) +remote: Counting objects: 80% (94/117) +remote: Counting objects: 81% (95/117) +remote: Counting objects: 82% (96/117) +remote: Counting objects: 83% (98/117) +remote: Counting objects: 84% (99/117) +remote: Counting objects: 85% (100/117) +remote: Counting objects: 86% (101/117) +remote: Counting objects: 87% (102/117) +remote: Counting objects: 88% (103/117) +remote: Counting objects: 89% (105/117) +remote: Counting objects: 90% (106/117) +remote: Counting objects: 91% (107/117) +remote: Counting objects: 92% (108/117) +remote: Counting objects: 93% (109/117) +remote: Counting objects: 94% (110/117) +remote: Counting objects: 95% (112/117) +remote: Counting objects: 96% (113/117) +remote: Counting objects: 97% (114/117) +remote: Counting objects: 98% (115/117) +remote: Counting objects: 99% (116/117) +remote: Counting objects: 100% (117/117) +remote: Counting objects: 100% (117/117), done. + remote: Compressing objects: 1% (1/77) +remote: Compressing objects: 2% (2/77) +remote: Compressing objects: 3% (3/77) +remote: Compressing objects: 5% (4/77) +remote: Compressing objects: 6% (5/77) +remote: Compressing objects: 7% (6/77) +remote: Compressing objects: 9% (7/77) +remote: Compressing objects: 10% (8/77) +remote: Compressing objects: 11% (9/77) +remote: Compressing objects: 12% (10/77) +remote: Compressing objects: 14% (11/77) +remote: Compressing objects: 15% (12/77) +remote: Compressing objects: 16% (13/77) +remote: Compressing objects: 18% (14/77) +remote: Compressing objects: 19% (15/77) +remote: Compressing objects: 20% (16/77) +remote: Compressing objects: 22% (17/77) +remote: Compressing objects: 23% (18/77) +remote: Compressing objects: 24% (19/77) +remote: Compressing objects: 25% (20/77) +remote: Compressing objects: 27% (21/77) +remote: Compressing objects: 28% (22/77) +remote: Compressing objects: 29% (23/77) +remote: Compressing objects: 31% (24/77) +remote: Compressing objects: 32% (25/77) +remote: Compressing objects: 33% (26/77) +remote: Compressing objects: 35% (27/77) +remote: Compressing objects: 36% (28/77) +remote: Compressing objects: 37% (29/77) +remote: Compressing objects: 38% (30/77) +remote: Compressing objects: 40% (31/77) +remote: Compressing objects: 41% (32/77) +remote: Compressing objects: 42% (33/77) +remote: Compressing objects: 44% (34/77) +remote: Compressing objects: 45% (35/77) +remote: Compressing objects: 46% (36/77) +remote: Compressing objects: 48% (37/77) +remote: Compressing objects: 49% (38/77) +remote: Compressing objects: 50% (39/77) +remote: Compressing objects: 51% (40/77) +remote: Compressing objects: 53% (41/77) +remote: Compressing objects: 54% (42/77) +remote: Compressing objects: 55% (43/77) +remote: Compressing objects: 57% (44/77) +remote: Compressing objects: 58% (45/77) +remote: Compressing objects: 59% (46/77) +remote: Compressing objects: 61% (47/77) +remote: Compressing objects: 62% (48/77) +remote: Compressing objects: 63% (49/77) +remote: Compressing objects: 64% (50/77) +remote: Compressing objects: 66% (51/77) +remote: Compressing objects: 67% (52/77) +remote: Compressing objects: 68% (53/77) +remote: Compressing objects: 70% (54/77) +remote: Compressing objects: 71% (55/77) +remote: Compressing objects: 72% (56/77) +remote: Compressing objects: 74% (57/77) +remote: Compressing objects: 75% (58/77) +remote: Compressing objects: 76% (59/77) +remote: Compressing objects: 77% (60/77) +remote: Compressing objects: 79% (61/77) +remote: Compressing objects: 80% (62/77) +remote: Compressing objects: 81% (63/77) +remote: Compressing objects: 83% (64/77) +remote: Compressing objects: 84% (65/77) +remote: Compressing objects: 85% (66/77) +remote: Compressing objects: 87% (67/77) +remote: Compressing objects: 88% (68/77) +remote: Compressing objects: 89% (69/77) +remote: Compressing objects: 90% (70/77) +remote: Compressing objects: 92% (71/77) +remote: Compressing objects: 93% (72/77) +remote: Compressing objects: 94% (73/77) +remote: Compressing objects: 96% (74/77) +remote: Compressing objects: 97% (75/77) +remote: Compressing objects: 98% (76/77) +remote: Compressing objects: 100% (77/77) +remote: Compressing objects: 100% (77/77), done. + + +.. parsed-literal:: + + Receiving objects: 0% (1/117) +Receiving objects: 1% (2/117) +Receiving objects: 2% (3/117) +Receiving objects: 3% (4/117) +Receiving objects: 4% (5/117) +Receiving objects: 5% (6/117) +Receiving objects: 6% (8/117) +Receiving objects: 7% (9/117) +Receiving objects: 8% (10/117) +Receiving objects: 9% (11/117) +Receiving objects: 10% (12/117) +Receiving objects: 11% (13/117) +Receiving objects: 12% (15/117) +Receiving objects: 13% (16/117) +Receiving objects: 14% (17/117) +Receiving objects: 15% (18/117) +Receiving objects: 16% (19/117) +Receiving objects: 17% (20/117) +Receiving objects: 18% (22/117) +Receiving objects: 19% (23/117) +Receiving objects: 20% (24/117) +Receiving objects: 21% (25/117) +Receiving objects: 22% (26/117) +Receiving objects: 23% (27/117) +Receiving objects: 24% (29/117) +Receiving objects: 25% (30/117) +Receiving objects: 26% (31/117) +Receiving objects: 27% (32/117) +Receiving objects: 28% (33/117) +Receiving objects: 29% (34/117) +Receiving objects: 30% (36/117) +Receiving objects: 31% (37/117) +Receiving objects: 32% (38/117) +Receiving objects: 33% (39/117) +Receiving objects: 34% (40/117) +Receiving objects: 35% (41/117) +Receiving objects: 36% (43/117) +Receiving objects: 37% (44/117) +Receiving objects: 38% (45/117) +Receiving objects: 39% (46/117) +Receiving objects: 40% (47/117) +Receiving objects: 41% (48/117) +Receiving objects: 42% (50/117) +Receiving objects: 43% (51/117) +Receiving objects: 44% (52/117) +Receiving objects: 45% (53/117) +Receiving objects: 46% (54/117) + +.. parsed-literal:: + + Receiving objects: 47% (55/117) +Receiving objects: 48% (57/117) +Receiving objects: 49% (58/117) + +.. parsed-literal:: + + Receiving objects: 50% (59/117) + +.. parsed-literal:: + + Receiving objects: 51% (60/117) +Receiving objects: 52% (61/117) + +.. parsed-literal:: + + Receiving objects: 53% (63/117) +Receiving objects: 54% (64/117) +Receiving objects: 55% (65/117) +Receiving objects: 56% (66/117) +remote: Total 117 (delta 38), reused 117 (delta 38), pack-reused 0 + Receiving objects: 57% (67/117) +Receiving objects: 58% (68/117) +Receiving objects: 59% (70/117) +Receiving objects: 60% (71/117) +Receiving objects: 61% (72/117) +Receiving objects: 62% (73/117) +Receiving objects: 63% (74/117) +Receiving objects: 64% (75/117) +Receiving objects: 65% (77/117) +Receiving objects: 66% (78/117) +Receiving objects: 67% (79/117) +Receiving objects: 68% (80/117) +Receiving objects: 69% (81/117) +Receiving objects: 70% (82/117) +Receiving objects: 71% (84/117) +Receiving objects: 72% (85/117) +Receiving objects: 73% (86/117) +Receiving objects: 74% (87/117) +Receiving objects: 75% (88/117) +Receiving objects: 76% (89/117) +Receiving objects: 77% (91/117) +Receiving objects: 78% (92/117) +Receiving objects: 79% (93/117) +Receiving objects: 80% (94/117) +Receiving objects: 81% (95/117) +Receiving objects: 82% (96/117) +Receiving objects: 83% (98/117) +Receiving objects: 84% (99/117) +Receiving objects: 85% (100/117) +Receiving objects: 86% (101/117) +Receiving objects: 87% (102/117) +Receiving objects: 88% (103/117) +Receiving objects: 89% (105/117) +Receiving objects: 90% (106/117) +Receiving objects: 91% (107/117) +Receiving objects: 92% (108/117) +Receiving objects: 93% (109/117) +Receiving objects: 94% (110/117) +Receiving objects: 95% (112/117) +Receiving objects: 96% (113/117) +Receiving objects: 97% (114/117) +Receiving objects: 98% (115/117) +Receiving objects: 99% (116/117) +Receiving objects: 100% (117/117) +Receiving objects: 100% (117/117), 568.99 KiB | 2.54 MiB/s, done. + Resolving deltas: 0% (0/38) +Resolving deltas: 5% (2/38) +Resolving deltas: 15% (6/38) +Resolving deltas: 18% (7/38) +Resolving deltas: 23% (9/38) +Resolving deltas: 26% (10/38) +Resolving deltas: 31% (12/38) +Resolving deltas: 42% (16/38) +Resolving deltas: 44% (17/38) +Resolving deltas: 47% (18/38) +Resolving deltas: 50% (19/38) +Resolving deltas: 57% (22/38) +Resolving deltas: 68% (26/38) +Resolving deltas: 73% (28/38) +Resolving deltas: 92% (35/38) +Resolving deltas: 100% (38/38) +Resolving deltas: 100% (38/38), done. + + +Get the original model +---------------------- + +.. code:: ipython3 + + import os + + from tsr.system import TSR + + + model = TSR.from_pretrained( + "stabilityai/TripoSR", + config_name="config.yaml", + weight_name="model.ckpt", + ) + model.renderer.set_chunk_size(131072) + model.to("cpu") + + + + +.. parsed-literal:: + + TSR( + (image_tokenizer): DINOSingleImageTokenizer( + (model): ViTModel( + (embeddings): ViTEmbeddings( + (patch_embeddings): ViTPatchEmbeddings( + (projection): Conv2d(3, 768, kernel_size=(16, 16), stride=(16, 16)) + ) + (dropout): Dropout(p=0.0, inplace=False) + ) + (encoder): ViTEncoder( + (layer): ModuleList( + (0-11): 12 x ViTLayer( + (attention): ViTAttention( + (attention): ViTSelfAttention( + (query): Linear(in_features=768, out_features=768, bias=True) + (key): Linear(in_features=768, out_features=768, bias=True) + (value): Linear(in_features=768, out_features=768, bias=True) + (dropout): Dropout(p=0.0, inplace=False) + ) + (output): ViTSelfOutput( + (dense): Linear(in_features=768, out_features=768, bias=True) + (dropout): Dropout(p=0.0, inplace=False) + ) + ) + (intermediate): ViTIntermediate( + (dense): Linear(in_features=768, out_features=3072, bias=True) + (intermediate_act_fn): GELUActivation() + ) + (output): ViTOutput( + (dense): Linear(in_features=3072, out_features=768, bias=True) + (dropout): Dropout(p=0.0, inplace=False) + ) + (layernorm_before): LayerNorm((768,), eps=1e-12, elementwise_affine=True) + (layernorm_after): LayerNorm((768,), eps=1e-12, elementwise_affine=True) + ) + ) + ) + (layernorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True) + (pooler): ViTPooler( + (dense): Linear(in_features=768, out_features=768, bias=True) + (activation): Tanh() + ) + ) + ) + (tokenizer): Triplane1DTokenizer() + (backbone): Transformer1D( + (norm): GroupNorm(32, 1024, eps=1e-06, affine=True) + (proj_in): Linear(in_features=1024, out_features=1024, bias=True) + (transformer_blocks): ModuleList( + (0-15): 16 x BasicTransformerBlock( + (norm1): LayerNorm((1024,), eps=1e-05, elementwise_affine=True) + (attn1): Attention( + (to_q): Linear(in_features=1024, out_features=1024, bias=False) + (to_k): Linear(in_features=1024, out_features=1024, bias=False) + (to_v): Linear(in_features=1024, out_features=1024, bias=False) + (to_out): ModuleList( + (0): Linear(in_features=1024, out_features=1024, bias=True) + (1): Dropout(p=0.0, inplace=False) + ) + ) + (norm2): LayerNorm((1024,), eps=1e-05, elementwise_affine=True) + (attn2): Attention( + (to_q): Linear(in_features=1024, out_features=1024, bias=False) + (to_k): Linear(in_features=768, out_features=1024, bias=False) + (to_v): Linear(in_features=768, out_features=1024, bias=False) + (to_out): ModuleList( + (0): Linear(in_features=1024, out_features=1024, bias=True) + (1): Dropout(p=0.0, inplace=False) + ) + ) + (norm3): LayerNorm((1024,), eps=1e-05, elementwise_affine=True) + (ff): FeedForward( + (net): ModuleList( + (0): GEGLU( + (proj): Linear(in_features=1024, out_features=8192, bias=True) + ) + (1): Dropout(p=0.0, inplace=False) + (2): Linear(in_features=4096, out_features=1024, bias=True) + ) + ) + ) + ) + (proj_out): Linear(in_features=1024, out_features=1024, bias=True) + ) + (post_processor): TriplaneUpsampleNetwork( + (upsample): ConvTranspose2d(1024, 40, kernel_size=(2, 2), stride=(2, 2)) + ) + (decoder): NeRFMLP( + (layers): Sequential( + (0): Linear(in_features=120, out_features=64, bias=True) + (1): SiLU(inplace=True) + (2): Linear(in_features=64, out_features=64, bias=True) + (3): SiLU(inplace=True) + (4): Linear(in_features=64, out_features=64, bias=True) + (5): SiLU(inplace=True) + (6): Linear(in_features=64, out_features=64, bias=True) + (7): SiLU(inplace=True) + (8): Linear(in_features=64, out_features=64, bias=True) + (9): SiLU(inplace=True) + (10): Linear(in_features=64, out_features=64, bias=True) + (11): SiLU(inplace=True) + (12): Linear(in_features=64, out_features=64, bias=True) + (13): SiLU(inplace=True) + (14): Linear(in_features=64, out_features=64, bias=True) + (15): SiLU(inplace=True) + (16): Linear(in_features=64, out_features=64, bias=True) + (17): SiLU(inplace=True) + (18): Linear(in_features=64, out_features=4, bias=True) + ) + ) + (renderer): TriplaneNeRFRenderer() + ) + + + +Convert the model to OpenVINO IR +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +Define the conversion function for PyTorch modules. We use +``ov.convert_model`` function to obtain OpenVINO Intermediate +Representation object and ``ov.save_model`` function to save it as XML +file. + +.. code:: ipython3 + + import torch + + import openvino as ov + + + def convert(model: torch.nn.Module, xml_path: str, example_input): + xml_path = Path(xml_path) + if not xml_path.exists(): + xml_path.parent.mkdir(parents=True, exist_ok=True) + with torch.no_grad(): + converted_model = ov.convert_model(model, example_input=example_input) + ov.save_model(converted_model, xml_path, compress_to_fp16=False) + + # cleanup memory + torch._C._jit_clear_class_registry() + torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() + torch.jit._state._clear_class_state() + +The original model is a pipeline of several models. There are +``image_tokenizer``, ``tokenizer``, ``backbone`` and ``post_processor``. +``image_tokenizer`` contains ``ViTModel`` that consists of +``ViTPatchEmbeddings``, ``ViTEncoder`` and ``ViTPooler``. ``tokenizer`` +is ``Triplane1DTokenizer``, ``backbone`` is ``Transformer1D``, +``post_processor`` is ``TriplaneUpsampleNetwork``. Convert all internal +models one by one. + +.. code:: ipython3 + + VIT_PATCH_EMBEDDINGS_OV_PATH = Path("models/vit_patch_embeddings_ir.xml") + + + class PatchEmbedingWrapper(torch.nn.Module): + def __init__(self, patch_embeddings): + super().__init__() + self.patch_embeddings = patch_embeddings + + def forward(self, pixel_values, interpolate_pos_encoding=True): + outputs = self.patch_embeddings(pixel_values=pixel_values, interpolate_pos_encoding=True) + return outputs + + + example_input = { + "pixel_values": torch.rand([1, 3, 512, 512], dtype=torch.float32), + } + + convert( + PatchEmbedingWrapper(model.image_tokenizer.model.embeddings.patch_embeddings), + VIT_PATCH_EMBEDDINGS_OV_PATH, + example_input, + ) + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/models/vit/modeling_vit.py:170: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + if num_channels != self.num_channels: + + +.. code:: ipython3 + + VIT_ENCODER_OV_PATH = Path("models/vit_encoder_ir.xml") + + + class EncoderWrapper(torch.nn.Module): + def __init__(self, encoder): + super().__init__() + self.encoder = encoder + + def forward( + self, + hidden_states=None, + head_mask=None, + output_attentions=False, + output_hidden_states=False, + return_dict=False, + ): + outputs = self.encoder( + hidden_states=hidden_states, + ) + + return outputs.last_hidden_state + + + example_input = { + "hidden_states": torch.rand([1, 1025, 768], dtype=torch.float32), + } + + convert( + EncoderWrapper(model.image_tokenizer.model.encoder), + VIT_ENCODER_OV_PATH, + example_input, + ) + +.. code:: ipython3 + + VIT_POOLER_OV_PATH = Path("models/vit_pooler_ir.xml") + convert( + model.image_tokenizer.model.pooler, + VIT_POOLER_OV_PATH, + torch.rand([1, 1025, 768], dtype=torch.float32), + ) + +.. code:: ipython3 + + TOKENIZER_OV_PATH = Path("models/tokenizer_ir.xml") + convert(model.tokenizer, TOKENIZER_OV_PATH, torch.tensor(1)) + +.. code:: ipython3 + + example_input = { + "hidden_states": torch.rand([1, 1024, 3072], dtype=torch.float32), + "encoder_hidden_states": torch.rand([1, 1025, 768], dtype=torch.float32), + } + + BACKBONE_OV_PATH = Path("models/backbone_ir.xml") + convert(model.backbone, BACKBONE_OV_PATH, example_input) + +.. code:: ipython3 + + POST_PROCESSOR_OV_PATH = Path("models/post_processor_ir.xml") + convert( + model.post_processor, + POST_PROCESSOR_OV_PATH, + torch.rand([1, 3, 1024, 32, 32], dtype=torch.float32), + ) + +Compiling models and prepare pipeline +------------------------------------- + + + +Select device from dropdown list for running inference using OpenVINO. + +.. code:: ipython3 + + import ipywidgets as widgets + + + core = ov.Core() + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +.. code:: ipython3 + + compiled_vit_patch_embeddings = core.compile_model(VIT_PATCH_EMBEDDINGS_OV_PATH, device.value) + compiled_vit_model_encoder = core.compile_model(VIT_ENCODER_OV_PATH, device.value) + compiled_vit_model_pooler = core.compile_model(VIT_POOLER_OV_PATH, device.value) + + compiled_tokenizer = core.compile_model(TOKENIZER_OV_PATH, device.value) + compiled_backbone = core.compile_model(BACKBONE_OV_PATH, device.value) + compiled_post_processor = core.compile_model(POST_PROCESSOR_OV_PATH, device.value) + +Let’s create callable wrapper classes for compiled models to allow +interaction with original ``TSR`` class. Note that all of wrapper +classes return ``torch.Tensor``\ s instead of ``np.array``\ s. + +.. code:: ipython3 + + from collections import namedtuple + + + class VitPatchEmdeddingsWrapper(torch.nn.Module): + def __init__(self, vit_patch_embeddings, model): + super().__init__() + self.vit_patch_embeddings = vit_patch_embeddings + self.projection = model.projection + + def forward(self, pixel_values, interpolate_pos_encoding=False): + inputs = { + "pixel_values": pixel_values, + } + outs = self.vit_patch_embeddings(inputs)[0] + + return torch.from_numpy(outs) + + + class VitModelEncoderWrapper(torch.nn.Module): + def __init__(self, vit_model_encoder): + super().__init__() + self.vit_model_encoder = vit_model_encoder + + def forward( + self, + hidden_states, + head_mask, + output_attentions=False, + output_hidden_states=False, + return_dict=False, + ): + inputs = { + "hidden_states": hidden_states.detach().numpy(), + } + + outs = self.vit_model_encoder(inputs) + outputs = namedtuple("BaseModelOutput", ("last_hidden_state", "hidden_states", "attentions")) + + return outputs(torch.from_numpy(outs[0]), None, None) + + + class VitModelPoolerWrapper(torch.nn.Module): + def __init__(self, vit_model_pooler): + super().__init__() + self.vit_model_pooler = vit_model_pooler + + def forward(self, hidden_states): + outs = self.vit_model_pooler(hidden_states.detach().numpy())[0] + + return torch.from_numpy(outs) + + + class TokenizerWrapper(torch.nn.Module): + def __init__(self, tokenizer, model): + super().__init__() + self.tokenizer = tokenizer + self.detokenize = model.detokenize + + def forward(self, batch_size): + outs = self.tokenizer(batch_size)[0] + + return torch.from_numpy(outs) + + + class BackboneWrapper(torch.nn.Module): + def __init__(self, backbone): + super().__init__() + self.backbone = backbone + + def forward(self, hidden_states, encoder_hidden_states): + inputs = { + "hidden_states": hidden_states, + "encoder_hidden_states": encoder_hidden_states.detach().numpy(), + } + + outs = self.backbone(inputs)[0] + + return torch.from_numpy(outs) + + + class PostProcessorWrapper(torch.nn.Module): + def __init__(self, post_processor): + super().__init__() + self.post_processor = post_processor + + def forward(self, triplanes): + outs = self.post_processor(triplanes)[0] + + return torch.from_numpy(outs) + +Replace all models in the original model by wrappers instances: + +.. code:: ipython3 + + model.image_tokenizer.model.embeddings.patch_embeddings = VitPatchEmdeddingsWrapper( + compiled_vit_patch_embeddings, + model.image_tokenizer.model.embeddings.patch_embeddings, + ) + model.image_tokenizer.model.encoder = VitModelEncoderWrapper(compiled_vit_model_encoder) + model.image_tokenizer.model.pooler = VitModelPoolerWrapper(compiled_vit_model_pooler) + + model.tokenizer = TokenizerWrapper(compiled_tokenizer, model.tokenizer) + model.backbone = BackboneWrapper(compiled_backbone) + model.post_processor = PostProcessorWrapper(compiled_post_processor) + +Interactive inference +--------------------- + + + +.. code:: ipython3 + + import tempfile + + import gradio as gr + import numpy as np + import rembg + from PIL import Image + + from tsr.utils import remove_background, resize_foreground, to_gradio_3d_orientation + + + rembg_session = rembg.new_session() + + + def check_input_image(input_image): + if input_image is None: + raise gr.Error("No image uploaded!") + + + def preprocess(input_image, do_remove_background, foreground_ratio): + def fill_background(image): + image = np.array(image).astype(np.float32) / 255.0 + image = image[:, :, :3] * image[:, :, 3:4] + (1 - image[:, :, 3:4]) * 0.5 + image = Image.fromarray((image * 255.0).astype(np.uint8)) + return image + + if do_remove_background: + image = input_image.convert("RGB") + image = remove_background(image, rembg_session) + image = resize_foreground(image, foreground_ratio) + image = fill_background(image) + else: + image = input_image + if image.mode == "RGBA": + image = fill_background(image) + return image + + + def generate(image): + scene_codes = model(image, "cpu") # the device is provided for the image processor + mesh = model.extract_mesh(scene_codes)[0] + mesh = to_gradio_3d_orientation(mesh) + mesh_path = tempfile.NamedTemporaryFile(suffix=".obj", delete=False) + mesh.export(mesh_path.name) + return mesh_path.name + + + with gr.Blocks() as demo: + with gr.Row(variant="panel"): + with gr.Column(): + with gr.Row(): + input_image = gr.Image( + label="Input Image", + image_mode="RGBA", + sources="upload", + type="pil", + elem_id="content_image", + ) + processed_image = gr.Image(label="Processed Image", interactive=False) + with gr.Row(): + with gr.Group(): + do_remove_background = gr.Checkbox(label="Remove Background", value=True) + foreground_ratio = gr.Slider( + label="Foreground Ratio", + minimum=0.5, + maximum=1.0, + value=0.85, + step=0.05, + ) + with gr.Row(): + submit = gr.Button("Generate", elem_id="generate", variant="primary") + with gr.Column(): + with gr.Tab("Model"): + output_model = gr.Model3D( + label="Output Model", + interactive=False, + ) + with gr.Row(variant="panel"): + gr.Examples( + examples=[os.path.join("TripoSR/examples", img_name) for img_name in sorted(os.listdir("TripoSR/examples"))], + inputs=[input_image], + outputs=[processed_image, output_model], + label="Examples", + examples_per_page=20, + ) + submit.click(fn=check_input_image, inputs=[input_image]).success( + fn=preprocess, + inputs=[input_image, do_remove_background, foreground_ratio], + outputs=[processed_image], + ).success( + fn=generate, + inputs=[processed_image], + outputs=[output_model], + ) + + try: + demo.launch(debug=False, height=680) + except Exception: + demo.queue().launch(share=True, debug=False, height=680) + # if you are launching remotely, specify server_name and server_port + # demo.launch(server_name='your server name', server_port='server port in int') + # Read more in the docs: https://gradio.app/docs/ + + +.. parsed-literal:: + + Running on local URL: http://127.0.0.1:7860 + + To create a public link, set `share=True` in `launch()`. + + + + + + + diff --git a/docs/notebooks/245-typo-detector-with-output.rst b/docs/notebooks/typo-detector-with-output.rst similarity index 93% rename from docs/notebooks/245-typo-detector-with-output.rst rename to docs/notebooks/typo-detector-with-output.rst index 841a5378126..b96f108081b 100644 --- a/docs/notebooks/245-typo-detector-with-output.rst +++ b/docs/notebooks/typo-detector-with-output.rst @@ -62,14 +62,19 @@ Table of contents: .. code:: ipython3 - %pip install -q "diffusers>=0.17.1" "openvino>=2023.1.0" "nncf>=2.5.0" "gradio" "onnx>=1.11.0" "transformers>=4.33.0" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "diffusers>=0.17.1" "openvino>=2023.1.0" "nncf>=2.5.0" "gradio>=4.19" "onnx>=1.11.0" "transformers>=4.33.0" "torch>=2.1" --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "git+https://github.com/huggingface/optimum-intel.git" .. parsed-literal:: - DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + WARNING: typer 0.12.3 does not provide the extra 'all' + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + .. parsed-literal:: @@ -79,7 +84,7 @@ Table of contents: .. parsed-literal:: DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - + .. parsed-literal:: @@ -93,7 +98,12 @@ Imports .. code:: ipython3 - from transformers import AutoConfig, AutoTokenizer, AutoModelForTokenClassification, pipeline + from transformers import ( + AutoConfig, + AutoTokenizer, + AutoModelForTokenClassification, + pipeline, + ) from pathlib import Path import numpy as np import re @@ -103,14 +113,14 @@ Imports .. parsed-literal:: - 2024-03-12 23:57:16.557513: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-12 23:57:16.591185: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 01:21:29.019297: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + 2024-04-18 01:21:29.053387: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-12 23:57:17.177770: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 01:21:29.651521: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT Methods @@ -178,16 +188,16 @@ select device from dropdown list for running inference using OpenVINO import ipywidgets as widgets import openvino as ov - + core = ov.Core() - + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) - + device @@ -235,7 +245,7 @@ Import required model class .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead. torch.utils._pytree._register_pytree_node( @@ -253,9 +263,9 @@ your model. # The pretrained model we are using model_id = "m3hrdadfi/typo-detector-distilbert-en" - + model_dir = Path("optimum_model") - + # Save the model to the path if not existing if model_dir.exists(): model = OVModelForTokenClassification.from_pretrained(model_dir, device=device.value) @@ -271,13 +281,7 @@ your model. .. parsed-literal:: - Using the export variant default. Available variants are: - - default: The default ONNX variant. - - -.. parsed-literal:: - - Using framework PyTorch: 2.2.1+cpu + Using framework PyTorch: 2.2.2+cpu .. parsed-literal:: @@ -292,13 +296,9 @@ your model. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4193: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/transformers/modeling_utils.py:4225: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead warnings.warn( - - -.. parsed-literal:: - - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/torch/dynamic_graph/wrappers.py:82: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/torch/dynamic_graph/wrappers.py:82: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect. op1 = operator(\*args, \*\*kwargs) @@ -333,13 +333,12 @@ pipelines in this .. code:: ipython3 - nlp = pipeline('token-classification', model=model, tokenizer=tokenizer, aggregation_strategy="average") - - -.. parsed-literal:: - - device must be of type but got instead - + nlp = pipeline( + "token-classification", + model=model, + tokenizer=tokenizer, + aggregation_strategy="average", + ) Function to find typos in a sentence and write them to the terminal @@ -349,17 +348,17 @@ Function to find typos in a sentence and write them to the terminal """ Detect typos from the given sentence. Writes both the original input and typo-tagged version to the terminal. - + Arguments: sentence -- Sentence to be evaluated (string) """ - - typos = [sentence[r["start"]: r["end"]] for r in nlp(sentence)] - + + typos = [sentence[r["start"] : r["end"]] for r in nlp(sentence)] + detected = sentence for typo in typos: - detected = detected.replace(typo, f'{typo}') - + detected = detected.replace(typo, f"{typo}") + print("[Input]: ", sentence) print("[Detected]: ", detected) print("-" * 130) @@ -378,14 +377,14 @@ Let’s run a demo using the Hugging Face Optimum API. "My faorite restuarant servs the best spahgetti in the town, but they are always so buzy that you have to make a resrvation in advnace.", "I was goig to watch a mvoie on Netflx last night, but the straming was so slow that I decided to cancled my subscrpition.", "My freind and I went campign in the forest last weekend and saw a beutiful sunst that was so amzing it took our breth away.", - "I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber." + "I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber.", ] - + start = time.time() - + for sentence in sentences: show_typos(sentence) - + print(f"Time elapsed: {time.time() - start}") @@ -421,7 +420,7 @@ Let’s run a demo using the Hugging Face Optimum API. [Input]: I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber. [Detected]: I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber. ---------------------------------------------------------------------------------------------------------------------------------- - Time elapsed: 0.16592812538146973 + Time elapsed: 0.16799616813659668 2. Converting the model to OpenVINO IR @@ -441,10 +440,10 @@ pytorch model. model_id = "m3hrdadfi/typo-detector-distilbert-en" model_dir = Path("pytorch_model") - + tokenizer = AutoTokenizer.from_pretrained(model_id) config = AutoConfig.from_pretrained(model_id) - + # Save the model to the path if not existing if model_dir.exists(): model = AutoModelForTokenClassification.from_pretrained(model_dir) @@ -460,7 +459,7 @@ Converting to OpenVINO IR .. code:: ipython3 ov_model_path = Path(model_dir) / "typo_detect.xml" - + dummy_model_input = tokenizer("This is a sample", return_tensors="pt") ov_model = ov.convert_model(model, example_input=dict(dummy_model_input)) ov.save_model(ov_model, ov_model_path) @@ -493,18 +492,18 @@ Helper Functions """ Maps the list of tokens to words in the original text. Built on the feature that tokens starting with '##' is attached to the previous token as tokens derived from the same word. - + Arguments: tokens -- List of tokens - + Returns: map_to_words -- Dictionary mapping tokens to words in original text """ - + word_count = -1 map_to_words = {} for token in tokens: - if token.startswith('##'): + if token.startswith("##"): map_to_words[token] = word_count continue word_count += 1 @@ -516,14 +515,14 @@ Helper Functions def infer(input_text: str) -> Dict[np.ndarray, np.ndarray]: """ Creating a generic inference function to read the input and infer the result - + Arguments: input_text -- The text to be infered (String) - + Returns: result -- Resulting list from inference """ - + tokens = tokenizer( input_text, return_tensors="np", @@ -534,18 +533,22 @@ Helper Functions .. code:: ipython3 - def get_typo_indexes(result: Dict[np.ndarray, np.ndarray], map_to_words: Dict[str, int], tokens: List[str]) -> List[int]: + def get_typo_indexes( + result: Dict[np.ndarray, np.ndarray], + map_to_words: Dict[str, int], + tokens: List[str], + ) -> List[int]: """ Given results from the inference and tokens-map-to-words, identifies the indexes of the words with typos. - + Arguments: result -- Result from inference (tensor) map_to_words -- Dictionary mapping tokens to words (Dictionary) - + Results: wrong_words -- List of indexes of words with typos """ - + wrong_words = [] c = 0 result_list = result[0][1:-1] @@ -562,15 +565,15 @@ Helper Functions def sentence_split(sentence: str) -> List[str]: """ Split the sentence into words and characters - + Arguments: sentence - Sentence to be split (string) - + Returns: splitted -- List of words and characters """ - - splitted = re.split("([',. ])",sentence) + + splitted = re.split("([',. ])", sentence) splitted = [x for x in splitted if x != " " and x != ""] return splitted @@ -580,24 +583,24 @@ Helper Functions """ Detect typos from the given sentence. Writes both the original input and typo-tagged version to the terminal. - + Arguments: sentence -- Sentence to be evaluated (string) """ - + tokens = tokenizer.tokenize(sentence) map_to_words = token_to_words(tokens) result = infer(sentence) - typo_indexes = get_typo_indexes(result,map_to_words, tokens) - + typo_indexes = get_typo_indexes(result, map_to_words, tokens) + sentence_words = sentence_split(sentence) - + typos = [sentence_words[i] for i in typo_indexes] - + detected = sentence for typo in typos: - detected = detected.replace(typo, f'{typo}') - + detected = detected.replace(typo, f"{typo}") + print(" [Input]: ", sentence) print("[Detected]: ", detected) print("-" * 130) @@ -616,14 +619,14 @@ Let’s run a demo using the converted OpenVINO IR model. "My faorite restuarant servs the best spahgetti in the town, but they are always so buzy that you have to make a resrvation in advnace.", "I was goig to watch a mvoie on Netflx last night, but the straming was so slow that I decided to cancled my subscrpition.", "My freind and I went campign in the forest last weekend and saw a beutiful sunst that was so amzing it took our breth away.", - "I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber." + "I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber.", ] - + start = time.time() - + for sentence in sentences: show_typos(sentence) - + print(f"Time elapsed: {time.time() - start}") @@ -659,5 +662,5 @@ Let’s run a demo using the converted OpenVINO IR model. [Input]: I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber. [Detected]: I have been stuying for my math exam all week, but I'm stil not very confidet that I will pass it, because there are so many formuals to remeber. ---------------------------------------------------------------------------------------------------------------------------------- - Time elapsed: 0.09940457344055176 + Time elapsed: 0.09974002838134766 diff --git a/docs/notebooks/218-vehicle-detection-and-recognition-with-output.rst b/docs/notebooks/vehicle-detection-and-recognition-with-output.rst similarity index 86% rename from docs/notebooks/218-vehicle-detection-and-recognition-with-output.rst rename to docs/notebooks/vehicle-detection-and-recognition-with-output.rst index 4f7cd86ee90..c0b16cca826 100644 --- a/docs/notebooks/218-vehicle-detection-and-recognition-with-output.rst +++ b/docs/notebooks/vehicle-detection-and-recognition-with-output.rst @@ -51,7 +51,7 @@ Import the required modules. import platform - %pip install -q "openvino>=2023.1.0" + %pip install -q "openvino>=2023.1.0" opencv-python tqdm if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -82,7 +82,6 @@ Import the required modules. .. code:: ipython3 import os - import sys from pathlib import Path from typing import Tuple @@ -91,7 +90,15 @@ Import the required modules. import matplotlib.pyplot as plt import openvino as ov - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + import notebook_utils as utils Download Models @@ -127,23 +134,27 @@ model is already downloaded, this step is skipped. base_model_url = "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1" # Check if the model exists. - detection_model_url = ( - f"{base_model_url}/{detection_model_name}/{precision}/{detection_model_name}.xml" - ) - recognition_model_url = ( - f"{base_model_url}/{recognition_model_name}/{precision}/{recognition_model_name}.xml" - ) - detection_model_path = (base_model_dir / detection_model_name).with_suffix('.xml') - recognition_model_path = (base_model_dir / recognition_model_name).with_suffix('.xml') + detection_model_url = f"{base_model_url}/{detection_model_name}/{precision}/{detection_model_name}.xml" + recognition_model_url = f"{base_model_url}/{recognition_model_name}/{precision}/{recognition_model_name}.xml" + detection_model_path = (base_model_dir / detection_model_name).with_suffix(".xml") + recognition_model_path = (base_model_dir / recognition_model_name).with_suffix(".xml") # Download the detection model. if not detection_model_path.exists(): - utils.download_file(detection_model_url, detection_model_name + '.xml', base_model_dir) - utils.download_file(detection_model_url.replace('.xml', '.bin'), detection_model_name + '.bin', base_model_dir) + utils.download_file(detection_model_url, detection_model_name + ".xml", base_model_dir) + utils.download_file( + detection_model_url.replace(".xml", ".bin"), + detection_model_name + ".bin", + base_model_dir, + ) # Download the recognition model. if not os.path.exists(recognition_model_path): - utils.download_file(recognition_model_url, recognition_model_name + '.xml', base_model_dir) - utils.download_file(recognition_model_url.replace('.xml', '.bin'), recognition_model_name + '.bin', base_model_dir) + utils.download_file(recognition_model_url, recognition_model_name + ".xml", base_model_dir) + utils.download_file( + recognition_model_url.replace(".xml", ".bin"), + recognition_model_name + ".bin", + base_model_dir, + ) @@ -189,8 +200,8 @@ specified device. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -289,7 +300,12 @@ channel with ``expand_dims`` function. filename = "cars.jpg" directory = "data" image_file = utils.download_file( - url, filename=filename, directory=directory, show_progress=False, silent=True,timeout=30 + url, + filename=filename, + directory=directory, + show_progress=False, + silent=True, + timeout=30, ) assert Path(image_file).exists() @@ -304,7 +320,7 @@ channel with ``expand_dims`` function. -.. image:: 218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_14_0.png +.. image:: vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_14_0.png Use the Detection Model to Detect Vehicles @@ -354,7 +370,7 @@ the image and filter out low-confidence results. def crop_images(bgr_image, resized_image, boxes, threshold=0.6) -> np.ndarray: """ Use bounding boxes from detection model to find the absolute car position - + :param: bgr_image: raw image :param: resized_image: resized image :param: boxes: detection model returns rectangle position @@ -362,7 +378,10 @@ the image and filter out low-confidence results. :returns: car_position: car's absolute position """ # Fetch image shapes to calculate ratio - (real_y, real_x), (resized_y, resized_x) = bgr_image.shape[:2], resized_image.shape[:2] + (real_y, real_x), (resized_y, resized_x) = ( + bgr_image.shape[:2], + resized_image.shape[:2], + ) ratio_x, ratio_y = real_x / resized_x, real_y / resized_y # Find the boxes ratio @@ -375,16 +394,15 @@ the image and filter out low-confidence results. conf = box[0] if conf > threshold: # Convert float to int and multiply corner position of each box by x and y ratio - # In case that bounding box is found at the top of the image, - # upper box bar should be positioned a little bit lower to make it visible on image + # In case that bounding box is found at the top of the image, + # upper box bar should be positioned a little bit lower to make it visible on image (x_min, y_min, x_max, y_max) = [ - int(max(corner_position * ratio_y * resized_y, 10)) if idx % 2 - else int(corner_position * ratio_x * resized_x) + (int(max(corner_position * ratio_y * resized_y, 10)) if idx % 2 else int(corner_position * ratio_x * resized_x)) for idx, corner_position in enumerate(box[1:]) ] - + car_position.append([x_min, y_min, x_max, y_max]) - + return car_position .. code:: ipython3 @@ -406,7 +424,7 @@ the input image and run inference. # Select a vehicle to recognize. pos = car_position[0] # Crop the image with [y_min:y_max, x_min:x_max]. - test_car = image_de[pos[1]:pos[3], pos[0]:pos[2]] + test_car = image_de[pos[1] : pos[3], pos[0] : pos[2]] # Resize the image to input_size. resized_image_re = cv2.resize(test_car, (width_re, height_re)) input_image_re = np.expand_dims(resized_image_re.transpose(2, 0, 1), 0) @@ -414,7 +432,7 @@ the input image and run inference. -.. image:: 218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_21_0.png +.. image:: vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_21_0.png Recognition processing @@ -432,20 +450,20 @@ determine the maximum probability as the result. def vehicle_recognition(compiled_model_re, input_size, raw_image): """ Vehicle attributes recognition, input a single vehicle, return attributes - :param: compiled_model_re: recognition net + :param: compiled_model_re: recognition net :param: input_size: recognition input size :param: raw_image: single vehicle image :returns: attr_color: predicted color attr_type: predicted type """ # An attribute of a vehicle. - colors = ['White', 'Gray', 'Yellow', 'Red', 'Green', 'Blue', 'Black'] - types = ['Car', 'Bus', 'Truck', 'Van'] - + colors = ["White", "Gray", "Yellow", "Red", "Green", "Blue", "Black"] + types = ["Car", "Bus", "Truck", "Van"] + # Resize the image to input size. resized_image_re = cv2.resize(raw_image, input_size) input_image_re = np.expand_dims(resized_image_re.transpose(2, 0, 1), 0) - + # Run inference. # Predict result. predict_colors = compiled_model_re([input_image_re])[compiled_model_re.output(1)] @@ -454,8 +472,10 @@ determine the maximum probability as the result. predict_types = compiled_model_re([input_image_re])[compiled_model_re.output(0)] predict_types = np.squeeze(predict_types, (2, 3)) - attr_color, attr_type = (colors[np.argmax(predict_colors)], - types[np.argmax(predict_types)]) + attr_color, attr_type = ( + colors[np.argmax(predict_colors)], + types[np.argmax(predict_types)], + ) return attr_color, attr_type .. code:: ipython3 @@ -481,7 +501,7 @@ image with a vehicle and recognize the attributes of a vehicle. def convert_result_to_image(compiled_model_re, bgr_image, resized_image, boxes, threshold=0.6): """ Use Detection model boxes to draw rectangles and plot the result - + :param: compiled_model_re: recognition net :param: input_key_re: recognition input key :param: bgr_image: raw image @@ -492,17 +512,16 @@ image with a vehicle and recognize the attributes of a vehicle. """ # Define colors for boxes and descriptions. colors = {"red": (255, 0, 0), "green": (0, 255, 0)} - + # Convert the base image from BGR to RGB format. rgb_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2RGB) - + # Find positions of cars. car_position = crop_images(image_de, resized_image, boxes) - + for x_min, y_min, x_max, y_max in car_position: # Run vehicle recognition inference. - attr_color, attr_type = vehicle_recognition(compiled_model_re, (72, 72), - image_de[y_min:y_max, x_min:x_max]) + attr_color, attr_type = vehicle_recognition(compiled_model_re, (72, 72), image_de[y_min:y_max, x_min:x_max]) # Close the window with a vehicle. plt.close() @@ -511,17 +530,17 @@ image with a vehicle and recognize the attributes of a vehicle. # Parameters in the `rectangle` function are: image, start_point, end_point, color, thickness. rgb_image = cv2.rectangle(rgb_image, (x_min, y_min), (x_max, y_max), colors["red"], 2) - # Print the attributes of a vehicle. + # Print the attributes of a vehicle. # Parameters in the `putText` function are: img, text, org, fontFace, fontScale, color, thickness, lineType. rgb_image = cv2.putText( - rgb_image, + rgb_image, f"{attr_color} {attr_type}", (x_min, y_min - 10), cv2.FONT_HERSHEY_SIMPLEX, 2, colors["green"], 10, - cv2.LINE_AA + cv2.LINE_AA, ) return rgb_image @@ -532,5 +551,5 @@ image with a vehicle and recognize the attributes of a vehicle. -.. image:: 218-vehicle-detection-and-recognition-with-output_files/218-vehicle-detection-and-recognition-with-output_27_0.png +.. image:: vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_27_0.png diff --git a/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_14_0.png b/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_14_0.png new file mode 100644 index 00000000000..38d0d6df487 --- /dev/null +++ b/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_14_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1945f98709c8b37ef7986a8e5fabb7612858f8805d2d93f2036584f2213a3e64 +size 172680 diff --git a/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_21_0.png b/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_21_0.png new file mode 100644 index 00000000000..3991f58aa9f --- /dev/null +++ b/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_21_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4039b630d77457354f8d1bd2529e09ef2883d214572fa0c184684411d066fca +size 19599 diff --git a/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_27_0.png b/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_27_0.png new file mode 100644 index 00000000000..8c74cbfe358 --- /dev/null +++ b/docs/notebooks/vehicle-detection-and-recognition-with-output_files/vehicle-detection-and-recognition-with-output_27_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1343140ccf561cfa4c3839872f164ad481a6053854ca28beb8bff3083013ea4 +size 175941 diff --git a/docs/notebooks/257-videollava-multimodal-chatbot-with-output.rst b/docs/notebooks/videollava-multimodal-chatbot-with-output.rst similarity index 99% rename from docs/notebooks/257-videollava-multimodal-chatbot-with-output.rst rename to docs/notebooks/videollava-multimodal-chatbot-with-output.rst index e7a5819c2cf..a1f4cb07d7f 100644 --- a/docs/notebooks/257-videollava-multimodal-chatbot-with-output.rst +++ b/docs/notebooks/videollava-multimodal-chatbot-with-output.rst @@ -84,7 +84,7 @@ Install required dependencies .. code:: ipython3 %pip install -q torch "torchvision<0.17.0" "transformers>=4.31.0,<4.35.0" "pytorchvideo" "einops" "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu - %pip install -q opencv_python decord sentencepiece protobuf "openvino>=2023.2.0" "nncf>=2.7.0" gradio + %pip install -q opencv_python decord sentencepiece protobuf "openvino>=2023.2.0" "nncf>=2.7.0" "gradio>=4.19" .. code:: ipython3 @@ -118,6 +118,7 @@ Install required dependencies DEFAULT_VID_END_TOKEN, DEFAULT_IMAGE_TOKEN, ) + transformers.logging.set_verbosity_error() model_id = "LanguageBind/Video-LLaVA-7B" @@ -297,10 +298,11 @@ on disk using ``ov.save_model``. torch.jit._recursive.concrete_type_store = torch.jit._recursive.ConcreteTypeStore() torch.jit._state._clear_class_state() + def convert_videollava( pt_model: torch.nn.Module, model_path: Path, - videollava_wc_parameters: Optional[dict] = None + videollava_wc_parameters: Optional[dict] = None, ): """ Video-LLaVA model conversion function @@ -325,7 +327,7 @@ on disk using ``ov.save_model``. return example_input_first_stage = { "inputs_embeds": torch.zeros((1, 307, 4096)), - "attention_mask": torch.ones((1, 307), dtype=torch.long) + "attention_mask": torch.ones((1, 307), dtype=torch.long), } outs = wrapped(**example_input_first_stage) input_names = ["input_ids", "attention_mask"] @@ -335,9 +337,7 @@ on disk using ``ov.save_model``. output_names.extend([f"present.{idx}.key", f"present.{idx}.value"]) if not first_stage_model_path.exists(): - ov_model = ov.convert_model( - wrapped, example_input=example_input_first_stage - ) + ov_model = ov.convert_model(wrapped, example_input=example_input_first_stage) set_node_names(ov_model, output_names=output_names) if videollava_wc_parameters is not None: print("Applying weight compression to first stage Video-LLaVA model") @@ -346,7 +346,6 @@ on disk using ``ov.save_model``. cleanup_torchscript_cache() del ov_model gc.collect() - if not second_stage_model_path.exists(): example_input_second_stage = { @@ -485,7 +484,7 @@ compression instead of INT8 weight compression. compressed_model_dir.mkdir(exist_ok=True, parents=True) model = LlavaLlamaForCausalLM.from_pretrained(model_id) model.resize_token_embeddings(len(tokenizer)) - + if hasattr(config, "max_sequence_length"): context_len = config.max_sequence_length else: @@ -496,13 +495,13 @@ compression instead of INT8 weight compression. video_tower = model.get_video_tower() if not video_tower.is_loaded: video_tower.load_model() - + model.eval() with torch.no_grad(): convert_videollava( model, compressed_model_dir, - videollava_wc_parameters=videollava_wc_parameters + videollava_wc_parameters=videollava_wc_parameters, ) del model gc.collect(); @@ -662,21 +661,11 @@ documentation CausalLMOutputWithPast: - return self.forward( - input_ids, images, attention_mask, prefix_mask, past_key_values - ) + return self.forward(input_ids, images, attention_mask, prefix_mask, past_key_values) def forward( self, @@ -719,11 +706,7 @@ documentation Tuple[Tuple[torch.Tensor]]: + def _reorder_cache(self, past_key_values: Tuple[Tuple[torch.Tensor]], beam_idx: torch.Tensor) -> Tuple[Tuple[torch.Tensor]]: """ This function is used to re-order the `past_key_values` cache if [`~PreTrainedModel.beam_search`] or [`~PreTrainedModel.beam_sample`] is called. @@ -800,10 +779,7 @@ documentation `__ and the research paper: +`U^2-Net: Going Deeper with Nested U-Structure for Salient Object +Detection `__. + +The PyTorch U\ :math:`^2`-Net model is converted to OpenVINO IR format. +The model source is available +`here `__. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Preparation <#preparation>`__ + + - `Install requirements <#install-requirements>`__ + - `Import the PyTorch Library and + U\ :math:`^2`-Net <#import-the-pytorch-library-and-u2-net>`__ + - `Settings <#settings>`__ + - `Load the U\ :math:`^2`-Net Model <#load-the-u2-net-model>`__ + +- `Convert PyTorch U\ :math:`^2`-Net model to OpenVINO + IR <#convert-pytorch-u2-net-model-to-openvino-ir>`__ +- `Load and Pre-Process Input + Image <#load-and-pre-process-input-image>`__ +- `Select inference device <#select-inference-device>`__ +- `Do Inference on OpenVINO IR + Model <#do-inference-on-openvino-ir-model>`__ +- `Visualize Results <#visualize-results>`__ + + - `Add a Background Image <#add-a-background-image>`__ + +- `References <#references>`__ + +Preparation +----------- + + + +Install requirements +~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + import platform + + %pip install -q "openvino>=2023.1.0" + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "torch>=2.1" opencv-python + %pip install -q "gdown<4.6.4" + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Import the PyTorch Library and U\ :math:`^2`-Net +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + import os + import time + from collections import namedtuple + from pathlib import Path + + import cv2 + import matplotlib.pyplot as plt + import numpy as np + import openvino as ov + import torch + from IPython.display import HTML, FileLink, display + +.. code:: ipython3 + + # Import local modules + + if not Path("./notebook_utils.py").exists(): + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + + from notebook_utils import load_image + from model.u2net import U2NET, U2NETP + +Settings +~~~~~~~~ + + + +This tutorial supports using the original U\ :math:`^2`-Net salient +object detection model, as well as the smaller U2NETP version. Two sets +of weights are supported for the original model: salient object +detection and human segmentation. + +.. code:: ipython3 + + model_config = namedtuple("ModelConfig", ["name", "url", "model", "model_args"]) + + u2net_lite = model_config( + name="u2net_lite", + url="https://drive.google.com/uc?id=1W8E4FHIlTVstfRkYmNOjbr0VDXTZm0jD", + model=U2NETP, + model_args=(), + ) + u2net = model_config( + name="u2net", + url="https://drive.google.com/uc?id=1ao1ovG1Qtx4b7EoskHXmi2E9rp5CHLcZ", + model=U2NET, + model_args=(3, 1), + ) + u2net_human_seg = model_config( + name="u2net_human_seg", + url="https://drive.google.com/uc?id=1m_Kgs91b21gayc2XLW0ou8yugAIadWVP", + model=U2NET, + model_args=(3, 1), + ) + + # Set u2net_model to one of the three configurations listed above. + u2net_model = u2net_lite + +.. code:: ipython3 + + # The filenames of the downloaded and converted models. + MODEL_DIR = "model" + model_path = Path(MODEL_DIR) / u2net_model.name / Path(u2net_model.name).with_suffix(".pth") + +Load the U\ :math:`^2`-Net Model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +The U\ :math:`^2`-Net human segmentation model weights are stored on +Google Drive. They will be downloaded if they are not present yet. The +next cell loads the model and the pre-trained weights. + +.. code:: ipython3 + + if not model_path.exists(): + import gdown + + os.makedirs(name=model_path.parent, exist_ok=True) + print("Start downloading model weights file... ") + with open(model_path, "wb") as model_file: + gdown.download(url=u2net_model.url, output=model_file) + print(f"Model weights have been downloaded to {model_path}") + + +.. parsed-literal:: + + Start downloading model weights file... + + +.. parsed-literal:: + + Downloading... + From: https://drive.google.com/uc?id=1W8E4FHIlTVstfRkYmNOjbr0VDXTZm0jD + To: <_io.BufferedWriter name='model/u2net_lite/u2net_lite.pth'> + + +.. parsed-literal:: + + + 0%| | 0.00/4.68M [00:00 + + + +Convert PyTorch U\ :math:`^2`-Net model to OpenVINO IR +------------------------------------------------------ + + + +We use model conversion Python API to convert the Pytorch model to +OpenVINO IR format. Executing the following command may take a while. + +.. code:: ipython3 + + model_ir = ov.convert_model(net, example_input=torch.zeros((1, 3, 512, 512)), input=([1, 3, 512, 512])) + + +.. parsed-literal:: + + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/torch/nn/functional.py:3782: UserWarning: nn.functional.upsample is deprecated. Use nn.functional.interpolate instead. + warnings.warn("nn.functional.upsample is deprecated. Use nn.functional.interpolate instead.") + + +Load and Pre-Process Input Image +-------------------------------- + + + +While OpenCV reads images in ``BGR`` format, the OpenVINO IR model +expects images in ``RGB``. Therefore, convert the images to ``RGB``, +resize them to ``512 x 512``, and transpose the dimensions to the format +the OpenVINO IR model expects. + +We add the mean values to the image tensor and scale the input with the +standard deviation. It is called the input data normalization before +propagating it through the network. The mean and standard deviation +values can be found in the +`dataloader `__ +file in the `U^2-Net +repository `__ and multiplied by +255 to support images with pixel values from 0-255. + +.. code:: ipython3 + + IMAGE_URI = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_hollywood.jpg" + + input_mean = np.array([123.675, 116.28, 103.53]).reshape(1, 3, 1, 1) + input_scale = np.array([58.395, 57.12, 57.375]).reshape(1, 3, 1, 1) + + image = cv2.cvtColor( + src=load_image(IMAGE_URI), + code=cv2.COLOR_BGR2RGB, + ) + + resized_image = cv2.resize(src=image, dsize=(512, 512)) + # Convert the image shape to a shape and a data type expected by the network + # for OpenVINO IR model: (1, 3, 512, 512). + input_image = np.expand_dims(np.transpose(resized_image, (2, 0, 1)), 0) + + input_image = (input_image - input_mean) / input_scale + +Select inference device +----------------------- + + + +select device from dropdown list for running inference using OpenVINO + +.. code:: ipython3 + + import ipywidgets as widgets + + core = ov.Core() + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Do Inference on OpenVINO IR Model +--------------------------------- + + + +Load the OpenVINO IR model to OpenVINO Runtime and do inference. + +.. code:: ipython3 + + core = ov.Core() + # Load the network to OpenVINO Runtime. + compiled_model_ir = core.compile_model(model=model_ir, device_name=device.value) + # Get the names of input and output layers. + input_layer_ir = compiled_model_ir.input(0) + output_layer_ir = compiled_model_ir.output(0) + + # Do inference on the input image. + start_time = time.perf_counter() + result = compiled_model_ir([input_image])[output_layer_ir] + end_time = time.perf_counter() + print(f"Inference finished. Inference time: {end_time-start_time:.3f} seconds, " f"FPS: {1/(end_time-start_time):.2f}.") + + +.. parsed-literal:: + + Inference finished. Inference time: 0.108 seconds, FPS: 9.25. + + +Visualize Results +----------------- + + + +Show the original image, the segmentation result, and the original image +with the background removed. + +.. code:: ipython3 + + # Resize the network result to the image shape and round the values + # to 0 (background) and 1 (foreground). + # The network result has (1,1,512,512) shape. The `np.squeeze` function converts this to (512, 512). + resized_result = np.rint(cv2.resize(src=np.squeeze(result), dsize=(image.shape[1], image.shape[0]))).astype(np.uint8) + + # Create a copy of the image and set all background values to 255 (white). + bg_removed_result = image.copy() + bg_removed_result[resized_result == 0] = 255 + + fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(20, 7)) + ax[0].imshow(image) + ax[1].imshow(resized_result, cmap="gray") + ax[2].imshow(bg_removed_result) + for a in ax: + a.axis("off") + + + +.. image:: vision-background-removal-with-output_files/vision-background-removal-with-output_22_0.png + + +Add a Background Image +~~~~~~~~~~~~~~~~~~~~~~ + + + +In the segmentation result, all foreground pixels have a value of 1, all +background pixels a value of 0. Replace the background image as follows: + +- Load a new ``background_image``. +- Resize the image to the same size as the original image. +- In ``background_image``, set all the pixels, where the resized + segmentation result has a value of 1 - the foreground pixels in the + original image - to 0. +- Add ``bg_removed_result`` from the previous step - the part of the + original image that only contains foreground pixels - to + ``background_image``. + +.. code:: ipython3 + + BACKGROUND_FILE = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/wall.jpg" + OUTPUT_DIR = "output" + + os.makedirs(name=OUTPUT_DIR, exist_ok=True) + + background_image = cv2.cvtColor(src=load_image(BACKGROUND_FILE), code=cv2.COLOR_BGR2RGB) + background_image = cv2.resize(src=background_image, dsize=(image.shape[1], image.shape[0])) + + # Set all the foreground pixels from the result to 0 + # in the background image and add the image with the background removed. + background_image[resized_result == 1] = 0 + new_image = background_image + bg_removed_result + + # Save the generated image. + new_image_path = Path(f"{OUTPUT_DIR}/{Path(IMAGE_URI).stem}-{Path(BACKGROUND_FILE).stem}.jpg") + cv2.imwrite(filename=str(new_image_path), img=cv2.cvtColor(new_image, cv2.COLOR_RGB2BGR)) + + # Display the original image and the image with the new background side by side + fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(18, 7)) + ax[0].imshow(image) + ax[1].imshow(new_image) + for a in ax: + a.axis("off") + plt.show() + + # Create a link to download the image. + image_link = FileLink(new_image_path) + image_link.html_link_str = "%s" + display( + HTML( + f"The generated image {new_image_path.name} is saved in " + f"the directory {new_image_path.parent}. You can also " + "download the image by clicking on this link: " + f"{image_link._repr_html_()}" + ) + ) + + + +.. image:: vision-background-removal-with-output_files/vision-background-removal-with-output_24_0.png + + + +.. raw:: html + + The generated image coco_hollywood-wall.jpg is saved in the directory output. You can also download the image by clicking on this link: output/coco_hollywood-wall.jpg
+ + +References +---------- + + + +- `PIP install + openvino-dev `__ +- `Model Conversion + API `__ +- `U^2-Net `__ +- U^2-Net research paper: `U^2-Net: Going Deeper with Nested + U-Structure for Salient Object + Detection `__ diff --git a/docs/notebooks/vision-background-removal-with-output_files/vision-background-removal-with-output_22_0.png b/docs/notebooks/vision-background-removal-with-output_files/vision-background-removal-with-output_22_0.png new file mode 100644 index 00000000000..d496b3facbe --- /dev/null +++ b/docs/notebooks/vision-background-removal-with-output_files/vision-background-removal-with-output_22_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46e22d5856ce8ff8c4e52afec585fb6e5ed0dd74afbd22abadc6b58c86049c09 +size 279572 diff --git a/docs/notebooks/vision-background-removal-with-output_files/vision-background-removal-with-output_24_0.png b/docs/notebooks/vision-background-removal-with-output_files/vision-background-removal-with-output_24_0.png new file mode 100644 index 00000000000..2db4ce21356 --- /dev/null +++ b/docs/notebooks/vision-background-removal-with-output_files/vision-background-removal-with-output_24_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41f9cec41fd11e54c54a13a1b63492682bab169b94041d98a4deba84f3d8ddf3 +size 927043 diff --git a/docs/notebooks/vision-image-colorization-with-output.rst b/docs/notebooks/vision-image-colorization-with-output.rst new file mode 100644 index 00000000000..0f2863927be --- /dev/null +++ b/docs/notebooks/vision-image-colorization-with-output.rst @@ -0,0 +1,4589 @@ +Image Colorization with OpenVINO +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This notebook demonstrates how to colorize images with OpenVINO using +the Colorization model +`colorization-v2 `__ +or +`colorization-siggraph `__ +from `Open Model +Zoo `__ +based on the paper `Colorful Image +Colorization `__ models from Open +Model Zoo. + +.. figure:: https://user-images.githubusercontent.com/18904157/180923280-9caefaf1-742b-4d2f-8943-5d4a6126e2fc.png + :alt: Let there be color + + Let there be color + +Given a grayscale image as input, the model generates colorized version +of the image as the output. + +About Colorization-v2 +^^^^^^^^^^^^^^^^^^^^^ + +- The colorization-v2 model is one of the colorization group of models + designed to perform image colorization. +- Model trained on the ImageNet dataset. +- Model consumes L-channel of LAB-image as input and produces predict + A- and B-channels of LAB-image as output. + +About Colorization-siggraph +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- The colorization-siggraph model is one of the colorization group of + models designed to real-time user-guided image colorization. +- Model trained on the ImageNet dataset with synthetically generated + user interaction. +- Model consumes L-channel of LAB-image as input and produces predict + A- and B-channels of LAB-image as output. + +See the `colorization `__ +repository for more details. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Imports <#imports>`__ +- `Configurations <#configurations>`__ + + - `Select inference device <#select-inference-device>`__ + +- `Download the model <#download-the-model>`__ +- `Convert the model to OpenVINO + IR <#convert-the-model-to-openvino-ir>`__ +- `Loading the Model <#loading-the-model>`__ +- `Utility Functions <#utility-functions>`__ +- `Load the Image <#load-the-image>`__ +- `Display Colorized Image <#display-colorized-image>`__ + +.. code:: ipython3 + + import platform + + %pip install "openvino-dev>=2024.0.0" opencv-python tqdm + + if platform.system() != "Windows": + %pip install -q "matplotlib>=3.4" + else: + %pip install -q "matplotlib>=3.4,<3.7" + + +.. parsed-literal:: + + Collecting openvino-dev>=2024.0.0 + Using cached openvino_dev-2024.0.0-14509-py3-none-any.whl.metadata (16 kB) + Requirement already satisfied: opencv-python in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (4.9.0.80) + Requirement already satisfied: tqdm in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (4.66.2) + + +.. parsed-literal:: + + Requirement already satisfied: defusedxml>=0.7.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (0.7.1) + Requirement already satisfied: networkx<=3.1.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (3.1) + Requirement already satisfied: numpy>=1.16.6 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (1.23.5) + Requirement already satisfied: openvino-telemetry>=2023.2.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2024.1.0) + Requirement already satisfied: packaging in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (24.0) + Requirement already satisfied: pyyaml>=5.4.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (6.0.1) + Requirement already satisfied: requests>=2.25.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2.31.0) + Requirement already satisfied: openvino==2024.0.0 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from openvino-dev>=2024.0.0) (2024.0.0) + Requirement already satisfied: charset-normalizer<4,>=2 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.3.2) + Requirement already satisfied: idna<4,>=2.5 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (3.7) + Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2.2.1) + Requirement already satisfied: certifi>=2017.4.17 in /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages (from requests>=2.25.1->openvino-dev>=2024.0.0) (2024.2.2) + + +.. parsed-literal:: + + Using cached openvino_dev-2024.0.0-14509-py3-none-any.whl (4.7 MB) + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + Installing collected packages: openvino-dev + + +.. parsed-literal:: + + Successfully installed openvino-dev-2024.0.0 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +Imports +------- + + + +.. code:: ipython3 + + import os + from pathlib import Path + + import cv2 + import matplotlib.pyplot as plt + import numpy as np + import openvino as ov + + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + + import notebook_utils as utils + +Configurations +-------------- + + + +- ``PRECISION`` - {FP16, FP32}, default: FP16. +- ``MODEL_DIR`` - directory where the model is to be stored, default: + public. +- ``MODEL_NAME`` - name of the model used for inference, default: + colorization-v2. +- ``DATA_DIR`` - directory where test images are stored, default: data. + +.. code:: ipython3 + + PRECISION = "FP16" + MODEL_DIR = "models" + MODEL_NAME = "colorization-v2" + # MODEL_NAME="colorization-siggraph" + MODEL_PATH = f"{MODEL_DIR}/public/{MODEL_NAME}/{PRECISION}/{MODEL_NAME}.xml" + DATA_DIR = "data" + +Select inference device +~~~~~~~~~~~~~~~~~~~~~~~ + + + +select device from dropdown list for running inference using OpenVINO + +.. code:: ipython3 + + import ipywidgets as widgets + + core = ov.Core() + + device = widgets.Dropdown( + options=core.available_devices + ["AUTO"], + value="AUTO", + description="Device:", + disabled=False, + ) + + device + + + + +.. parsed-literal:: + + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + + + +Download the model +------------------ + + + +``omz_downloader`` downloads model files from online sources and, if +necessary, patches them to make them more usable with Model Converter. + +In this case, ``omz_downloader`` downloads the checkpoint and pytorch +model of +`colorization-v2 `__ +or +`colorization-siggraph `__ +from `Open Model +Zoo `__ +and saves it under ``MODEL_DIR``, as specified in the configuration +above. + +.. code:: ipython3 + + download_command = f"omz_downloader " f"--name {MODEL_NAME} " f"--output_dir {MODEL_DIR} " f"--cache_dir {MODEL_DIR}" + ! $download_command + + +.. parsed-literal:: + + ################|| Downloading colorization-v2 ||################ + + ========== Downloading models/public/colorization-v2/ckpt/colorization-v2-eccv16.pth + + +.. parsed-literal:: + + ... 0%, 32 KB, 969 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 64 KB, 972 KB/s, 0 seconds passed +... 0%, 96 KB, 1391 KB/s, 0 seconds passed +... 0%, 128 KB, 1294 KB/s, 0 seconds passed +... 0%, 160 KB, 1589 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 192 KB, 1871 KB/s, 0 seconds passed +... 0%, 224 KB, 2144 KB/s, 0 seconds passed +... 0%, 256 KB, 2405 KB/s, 0 seconds passed +... 0%, 288 KB, 2185 KB/s, 0 seconds passed +... 0%, 320 KB, 2418 KB/s, 0 seconds passed +... 0%, 352 KB, 2651 KB/s, 0 seconds passed +... 0%, 384 KB, 2879 KB/s, 0 seconds passed +... 0%, 416 KB, 3098 KB/s, 0 seconds passed +... 0%, 448 KB, 3316 KB/s, 0 seconds passed +... 0%, 480 KB, 3460 KB/s, 0 seconds passed +... 0%, 512 KB, 3657 KB/s, 0 seconds passed +... 0%, 544 KB, 3874 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 0%, 576 KB, 3482 KB/s, 0 seconds passed +... 0%, 608 KB, 3665 KB/s, 0 seconds passed +... 0%, 640 KB, 3847 KB/s, 0 seconds passed +... 0%, 672 KB, 4030 KB/s, 0 seconds passed +... 0%, 704 KB, 4208 KB/s, 0 seconds passed +... 0%, 736 KB, 4389 KB/s, 0 seconds passed +... 0%, 768 KB, 4566 KB/s, 0 seconds passed +... 0%, 800 KB, 4745 KB/s, 0 seconds passed +... 0%, 832 KB, 4920 KB/s, 0 seconds passed +... 0%, 864 KB, 5099 KB/s, 0 seconds passed +... 0%, 896 KB, 5275 KB/s, 0 seconds passed +... 0%, 928 KB, 5451 KB/s, 0 seconds passed +... 0%, 960 KB, 5619 KB/s, 0 seconds passed +... 0%, 992 KB, 5789 KB/s, 0 seconds passed +... 0%, 1024 KB, 5960 KB/s, 0 seconds passed +... 0%, 1056 KB, 6130 KB/s, 0 seconds passed +... 0%, 1088 KB, 6302 KB/s, 0 seconds passed +... 0%, 1120 KB, 6461 KB/s, 0 seconds passed +... 0%, 1152 KB, 5741 KB/s, 0 seconds passed +... 0%, 1184 KB, 5885 KB/s, 0 seconds passed +... 0%, 1216 KB, 6023 KB/s, 0 seconds passed +... 0%, 1248 KB, 6169 KB/s, 0 seconds passed +... 1%, 1280 KB, 6314 KB/s, 0 seconds passed +... 1%, 1312 KB, 6460 KB/s, 0 seconds passed +... 1%, 1344 KB, 6602 KB/s, 0 seconds passed +... 1%, 1376 KB, 6745 KB/s, 0 seconds passed +... 1%, 1408 KB, 6881 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 1%, 1440 KB, 7024 KB/s, 0 seconds passed +... 1%, 1472 KB, 7166 KB/s, 0 seconds passed +... 1%, 1504 KB, 7307 KB/s, 0 seconds passed +... 1%, 1536 KB, 7448 KB/s, 0 seconds passed +... 1%, 1568 KB, 7588 KB/s, 0 seconds passed +... 1%, 1600 KB, 7729 KB/s, 0 seconds passed +... 1%, 1632 KB, 7869 KB/s, 0 seconds passed +... 1%, 1664 KB, 8009 KB/s, 0 seconds passed +... 1%, 1696 KB, 8147 KB/s, 0 seconds passed +... 1%, 1728 KB, 8285 KB/s, 0 seconds passed +... 1%, 1760 KB, 8423 KB/s, 0 seconds passed +... 1%, 1792 KB, 8561 KB/s, 0 seconds passed +... 1%, 1824 KB, 8698 KB/s, 0 seconds passed +... 1%, 1856 KB, 8833 KB/s, 0 seconds passed +... 1%, 1888 KB, 8970 KB/s, 0 seconds passed +... 1%, 1920 KB, 9105 KB/s, 0 seconds passed +... 1%, 1952 KB, 9240 KB/s, 0 seconds passed +... 1%, 1984 KB, 9374 KB/s, 0 seconds passed +... 1%, 2016 KB, 9507 KB/s, 0 seconds passed +... 1%, 2048 KB, 9643 KB/s, 0 seconds passed +... 1%, 2080 KB, 9780 KB/s, 0 seconds passed +... 1%, 2112 KB, 9917 KB/s, 0 seconds passed +... 1%, 2144 KB, 10053 KB/s, 0 seconds passed +... 1%, 2176 KB, 10189 KB/s, 0 seconds passed +... 1%, 2208 KB, 10325 KB/s, 0 seconds passed +... 1%, 2240 KB, 10461 KB/s, 0 seconds passed +... 1%, 2272 KB, 10596 KB/s, 0 seconds passed +... 1%, 2304 KB, 9916 KB/s, 0 seconds passed +... 1%, 2336 KB, 10033 KB/s, 0 seconds passed +... 1%, 2368 KB, 10152 KB/s, 0 seconds passed +... 1%, 2400 KB, 10272 KB/s, 0 seconds passed +... 1%, 2432 KB, 10393 KB/s, 0 seconds passed +... 1%, 2464 KB, 10516 KB/s, 0 seconds passed +... 1%, 2496 KB, 10448 KB/s, 0 seconds passed +... 2%, 2528 KB, 10559 KB/s, 0 seconds passed +... 2%, 2560 KB, 10672 KB/s, 0 seconds passed +... 2%, 2592 KB, 10787 KB/s, 0 seconds passed +... 2%, 2624 KB, 10902 KB/s, 0 seconds passed +... 2%, 2656 KB, 11018 KB/s, 0 seconds passed +... 2%, 2688 KB, 11132 KB/s, 0 seconds passed +... 2%, 2720 KB, 11247 KB/s, 0 seconds passed +... 2%, 2752 KB, 11362 KB/s, 0 seconds passed +... 2%, 2784 KB, 11476 KB/s, 0 seconds passed +... 2%, 2816 KB, 11590 KB/s, 0 seconds passed +... 2%, 2848 KB, 11703 KB/s, 0 seconds passed +... 2%, 2880 KB, 11815 KB/s, 0 seconds passed +... 2%, 2912 KB, 11928 KB/s, 0 seconds passed +... 2%, 2944 KB, 12040 KB/s, 0 seconds passed +... 2%, 2976 KB, 12151 KB/s, 0 seconds passed +... 2%, 3008 KB, 12263 KB/s, 0 seconds passed +... 2%, 3040 KB, 12375 KB/s, 0 seconds passed +... 2%, 3072 KB, 12484 KB/s, 0 seconds passed +... 2%, 3104 KB, 12594 KB/s, 0 seconds passed +... 2%, 3136 KB, 12705 KB/s, 0 seconds passed +... 2%, 3168 KB, 12814 KB/s, 0 seconds passed +... 2%, 3200 KB, 12923 KB/s, 0 seconds passed +... 2%, 3232 KB, 13031 KB/s, 0 seconds passed +... 2%, 3264 KB, 13140 KB/s, 0 seconds passed +... 2%, 3296 KB, 13249 KB/s, 0 seconds passed +... 2%, 3328 KB, 13362 KB/s, 0 seconds passed +... 2%, 3360 KB, 13475 KB/s, 0 seconds passed +... 2%, 3392 KB, 13587 KB/s, 0 seconds passed +... 2%, 3424 KB, 13700 KB/s, 0 seconds passed +... 2%, 3456 KB, 13812 KB/s, 0 seconds passed +... 2%, 3488 KB, 13924 KB/s, 0 seconds passed +... 2%, 3520 KB, 14035 KB/s, 0 seconds passed +... 2%, 3552 KB, 14147 KB/s, 0 seconds passed +... 2%, 3584 KB, 14258 KB/s, 0 seconds passed +... 2%, 3616 KB, 14369 KB/s, 0 seconds passed +... 2%, 3648 KB, 14480 KB/s, 0 seconds passed +... 2%, 3680 KB, 14589 KB/s, 0 seconds passed +... 2%, 3712 KB, 14699 KB/s, 0 seconds passed +... 2%, 3744 KB, 14809 KB/s, 0 seconds passed +... 2%, 3776 KB, 14918 KB/s, 0 seconds passed +... 3%, 3808 KB, 15027 KB/s, 0 seconds passed +... 3%, 3840 KB, 15136 KB/s, 0 seconds passed +... 3%, 3872 KB, 15245 KB/s, 0 seconds passed +... 3%, 3904 KB, 15354 KB/s, 0 seconds passed +... 3%, 3936 KB, 15462 KB/s, 0 seconds passed +... 3%, 3968 KB, 15571 KB/s, 0 seconds passed +... 3%, 4000 KB, 15679 KB/s, 0 seconds passed +... 3%, 4032 KB, 15787 KB/s, 0 seconds passed +... 3%, 4064 KB, 15895 KB/s, 0 seconds passed +... 3%, 4096 KB, 16002 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 3%, 4128 KB, 16108 KB/s, 0 seconds passed +... 3%, 4160 KB, 16214 KB/s, 0 seconds passed +... 3%, 4192 KB, 16320 KB/s, 0 seconds passed +... 3%, 4224 KB, 16427 KB/s, 0 seconds passed +... 3%, 4256 KB, 16534 KB/s, 0 seconds passed +... 3%, 4288 KB, 16643 KB/s, 0 seconds passed +... 3%, 4320 KB, 16752 KB/s, 0 seconds passed +... 3%, 4352 KB, 16861 KB/s, 0 seconds passed +... 3%, 4384 KB, 16970 KB/s, 0 seconds passed +... 3%, 4416 KB, 17079 KB/s, 0 seconds passed +... 3%, 4448 KB, 17189 KB/s, 0 seconds passed +... 3%, 4480 KB, 17302 KB/s, 0 seconds passed +... 3%, 4512 KB, 17415 KB/s, 0 seconds passed +... 3%, 4544 KB, 17529 KB/s, 0 seconds passed +... 3%, 4576 KB, 17642 KB/s, 0 seconds passed +... 3%, 4608 KB, 17755 KB/s, 0 seconds passed +... 3%, 4640 KB, 17473 KB/s, 0 seconds passed +... 3%, 4672 KB, 17575 KB/s, 0 seconds passed +... 3%, 4704 KB, 17678 KB/s, 0 seconds passed +... 3%, 4736 KB, 17781 KB/s, 0 seconds passed +... 3%, 4768 KB, 17883 KB/s, 0 seconds passed +... 3%, 4800 KB, 17985 KB/s, 0 seconds passed +... 3%, 4832 KB, 18084 KB/s, 0 seconds passed +... 3%, 4864 KB, 18186 KB/s, 0 seconds passed +... 3%, 4896 KB, 18287 KB/s, 0 seconds passed +... 3%, 4928 KB, 18015 KB/s, 0 seconds passed +... 3%, 4960 KB, 18110 KB/s, 0 seconds passed +... 3%, 4992 KB, 18209 KB/s, 0 seconds passed +... 3%, 5024 KB, 18309 KB/s, 0 seconds passed +... 4%, 5056 KB, 18409 KB/s, 0 seconds passed +... 4%, 5088 KB, 18508 KB/s, 0 seconds passed +... 4%, 5120 KB, 18607 KB/s, 0 seconds passed +... 4%, 5152 KB, 18701 KB/s, 0 seconds passed +... 4%, 5184 KB, 18798 KB/s, 0 seconds passed +... 4%, 5216 KB, 18895 KB/s, 0 seconds passed +... 4%, 5248 KB, 18993 KB/s, 0 seconds passed +... 4%, 5280 KB, 19089 KB/s, 0 seconds passed +... 4%, 5312 KB, 19186 KB/s, 0 seconds passed +... 4%, 5344 KB, 19283 KB/s, 0 seconds passed +... 4%, 5376 KB, 19379 KB/s, 0 seconds passed +... 4%, 5408 KB, 19472 KB/s, 0 seconds passed +... 4%, 5440 KB, 19569 KB/s, 0 seconds passed +... 4%, 5472 KB, 19665 KB/s, 0 seconds passed +... 4%, 5504 KB, 19761 KB/s, 0 seconds passed +... 4%, 5536 KB, 19854 KB/s, 0 seconds passed +... 4%, 5568 KB, 19948 KB/s, 0 seconds passed +... 4%, 5600 KB, 20037 KB/s, 0 seconds passed +... 4%, 5632 KB, 20125 KB/s, 0 seconds passed +... 4%, 5664 KB, 20213 KB/s, 0 seconds passed +... 4%, 5696 KB, 20302 KB/s, 0 seconds passed +... 4%, 5728 KB, 20391 KB/s, 0 seconds passed +... 4%, 5760 KB, 20479 KB/s, 0 seconds passed +... 4%, 5792 KB, 20567 KB/s, 0 seconds passed +... 4%, 5824 KB, 20656 KB/s, 0 seconds passed +... 4%, 5856 KB, 20744 KB/s, 0 seconds passed +... 4%, 5888 KB, 20832 KB/s, 0 seconds passed +... 4%, 5920 KB, 20919 KB/s, 0 seconds passed +... 4%, 5952 KB, 21006 KB/s, 0 seconds passed +... 4%, 5984 KB, 21093 KB/s, 0 seconds passed +... 4%, 6016 KB, 21178 KB/s, 0 seconds passed +... 4%, 6048 KB, 21264 KB/s, 0 seconds passed +... 4%, 6080 KB, 21350 KB/s, 0 seconds passed +... 4%, 6112 KB, 21435 KB/s, 0 seconds passed +... 4%, 6144 KB, 21522 KB/s, 0 seconds passed +... 4%, 6176 KB, 21607 KB/s, 0 seconds passed +... 4%, 6208 KB, 21693 KB/s, 0 seconds passed +... 4%, 6240 KB, 21776 KB/s, 0 seconds passed +... 4%, 6272 KB, 21860 KB/s, 0 seconds passed +... 5%, 6304 KB, 21946 KB/s, 0 seconds passed +... 5%, 6336 KB, 22029 KB/s, 0 seconds passed +... 5%, 6368 KB, 22111 KB/s, 0 seconds passed +... 5%, 6400 KB, 22194 KB/s, 0 seconds passed +... 5%, 6432 KB, 22279 KB/s, 0 seconds passed +... 5%, 6464 KB, 22362 KB/s, 0 seconds passed +... 5%, 6496 KB, 22451 KB/s, 0 seconds passed +... 5%, 6528 KB, 22543 KB/s, 0 seconds passed +... 5%, 6560 KB, 22637 KB/s, 0 seconds passed +... 5%, 6592 KB, 22729 KB/s, 0 seconds passed +... 5%, 6624 KB, 22822 KB/s, 0 seconds passed +... 5%, 6656 KB, 22915 KB/s, 0 seconds passed +... 5%, 6688 KB, 23008 KB/s, 0 seconds passed +... 5%, 6720 KB, 23101 KB/s, 0 seconds passed +... 5%, 6752 KB, 23196 KB/s, 0 seconds passed +... 5%, 6784 KB, 23291 KB/s, 0 seconds passed +... 5%, 6816 KB, 23387 KB/s, 0 seconds passed +... 5%, 6848 KB, 23482 KB/s, 0 seconds passed +... 5%, 6880 KB, 23576 KB/s, 0 seconds passed +... 5%, 6912 KB, 23667 KB/s, 0 seconds passed +... 5%, 6944 KB, 23759 KB/s, 0 seconds passed +... 5%, 6976 KB, 23850 KB/s, 0 seconds passed +... 5%, 7008 KB, 23938 KB/s, 0 seconds passed +... 5%, 7040 KB, 24025 KB/s, 0 seconds passed +... 5%, 7072 KB, 23978 KB/s, 0 seconds passed +... 5%, 7104 KB, 24051 KB/s, 0 seconds passed +... 5%, 7136 KB, 24133 KB/s, 0 seconds passed +... 5%, 7168 KB, 24224 KB/s, 0 seconds passed +... 5%, 7200 KB, 24312 KB/s, 0 seconds passed +... 5%, 7232 KB, 24399 KB/s, 0 seconds passed +... 5%, 7264 KB, 24485 KB/s, 0 seconds passed +... 5%, 7296 KB, 24567 KB/s, 0 seconds passed +... 5%, 7328 KB, 24652 KB/s, 0 seconds passed +... 5%, 7360 KB, 24738 KB/s, 0 seconds passed +... 5%, 7392 KB, 24823 KB/s, 0 seconds passed +... 5%, 7424 KB, 24905 KB/s, 0 seconds passed +... 5%, 7456 KB, 24874 KB/s, 0 seconds passed +... 5%, 7488 KB, 24952 KB/s, 0 seconds passed +... 5%, 7520 KB, 25031 KB/s, 0 seconds passed +... 5%, 7552 KB, 25110 KB/s, 0 seconds passed +... 6%, 7584 KB, 25190 KB/s, 0 seconds passed +... 6%, 7616 KB, 25270 KB/s, 0 seconds passed +... 6%, 7648 KB, 25349 KB/s, 0 seconds passed +... 6%, 7680 KB, 25428 KB/s, 0 seconds passed +... 6%, 7712 KB, 25507 KB/s, 0 seconds passed +... 6%, 7744 KB, 25587 KB/s, 0 seconds passed +... 6%, 7776 KB, 25664 KB/s, 0 seconds passed +... 6%, 7808 KB, 25742 KB/s, 0 seconds passed +... 6%, 7840 KB, 25820 KB/s, 0 seconds passed +... 6%, 7872 KB, 25899 KB/s, 0 seconds passed +... 6%, 7904 KB, 25974 KB/s, 0 seconds passed +... 6%, 7936 KB, 26051 KB/s, 0 seconds passed +... 6%, 7968 KB, 26129 KB/s, 0 seconds passed +... 6%, 8000 KB, 26206 KB/s, 0 seconds passed +... 6%, 8032 KB, 26282 KB/s, 0 seconds passed +... 6%, 8064 KB, 26363 KB/s, 0 seconds passed +... 6%, 8096 KB, 26445 KB/s, 0 seconds passed +... 6%, 8128 KB, 26528 KB/s, 0 seconds passed +... 6%, 8160 KB, 26599 KB/s, 0 seconds passed +... 6%, 8192 KB, 26675 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 6%, 8224 KB, 26751 KB/s, 0 seconds passed +... 6%, 8256 KB, 26825 KB/s, 0 seconds passed +... 6%, 8288 KB, 26899 KB/s, 0 seconds passed +... 6%, 8320 KB, 26974 KB/s, 0 seconds passed +... 6%, 8352 KB, 27051 KB/s, 0 seconds passed +... 6%, 8384 KB, 27072 KB/s, 0 seconds passed +... 6%, 8416 KB, 27151 KB/s, 0 seconds passed +... 6%, 8448 KB, 27227 KB/s, 0 seconds passed +... 6%, 8480 KB, 27307 KB/s, 0 seconds passed +... 6%, 8512 KB, 27386 KB/s, 0 seconds passed +... 6%, 8544 KB, 27466 KB/s, 0 seconds passed +... 6%, 8576 KB, 27519 KB/s, 0 seconds passed +... 6%, 8608 KB, 27593 KB/s, 0 seconds passed +... 6%, 8640 KB, 27672 KB/s, 0 seconds passed +... 6%, 8672 KB, 27751 KB/s, 0 seconds passed +... 6%, 8704 KB, 27830 KB/s, 0 seconds passed +... 6%, 8736 KB, 27909 KB/s, 0 seconds passed +... 6%, 8768 KB, 27982 KB/s, 0 seconds passed +... 6%, 8800 KB, 28061 KB/s, 0 seconds passed +... 7%, 8832 KB, 28139 KB/s, 0 seconds passed +... 7%, 8864 KB, 28212 KB/s, 0 seconds passed +... 7%, 8896 KB, 28290 KB/s, 0 seconds passed +... 7%, 8928 KB, 28368 KB/s, 0 seconds passed +... 7%, 8960 KB, 28446 KB/s, 0 seconds passed +... 7%, 8992 KB, 28524 KB/s, 0 seconds passed +... 7%, 9024 KB, 28596 KB/s, 0 seconds passed +... 7%, 9056 KB, 28674 KB/s, 0 seconds passed +... 7%, 9088 KB, 28751 KB/s, 0 seconds passed +... 7%, 9120 KB, 28828 KB/s, 0 seconds passed +... 7%, 9152 KB, 28900 KB/s, 0 seconds passed +... 7%, 9184 KB, 28980 KB/s, 0 seconds passed +... 7%, 9216 KB, 29054 KB/s, 0 seconds passed +... 7%, 9248 KB, 29130 KB/s, 0 seconds passed +... 7%, 9280 KB, 29202 KB/s, 0 seconds passed +... 7%, 9312 KB, 29278 KB/s, 0 seconds passed +... 7%, 9344 KB, 29354 KB/s, 0 seconds passed +... 7%, 9376 KB, 29426 KB/s, 0 seconds passed +... 7%, 9408 KB, 29501 KB/s, 0 seconds passed +... 7%, 9440 KB, 29576 KB/s, 0 seconds passed +... 7%, 9472 KB, 29651 KB/s, 0 seconds passed +... 7%, 9504 KB, 29724 KB/s, 0 seconds passed +... 7%, 9536 KB, 29799 KB/s, 0 seconds passed +... 7%, 9568 KB, 29874 KB/s, 0 seconds passed +... 7%, 9600 KB, 29945 KB/s, 0 seconds passed +... 7%, 9632 KB, 30020 KB/s, 0 seconds passed +... 7%, 9664 KB, 30095 KB/s, 0 seconds passed +... 7%, 9696 KB, 30169 KB/s, 0 seconds passed +... 7%, 9728 KB, 30239 KB/s, 0 seconds passed +... 7%, 9760 KB, 30314 KB/s, 0 seconds passed +... 7%, 9792 KB, 30389 KB/s, 0 seconds passed +... 7%, 9824 KB, 30463 KB/s, 0 seconds passed +... 7%, 9856 KB, 30532 KB/s, 0 seconds passed +... 7%, 9888 KB, 30606 KB/s, 0 seconds passed +... 7%, 9920 KB, 30681 KB/s, 0 seconds passed +... 7%, 9952 KB, 30750 KB/s, 0 seconds passed +... 7%, 9984 KB, 30823 KB/s, 0 seconds passed +... 7%, 10016 KB, 30892 KB/s, 0 seconds passed +... 7%, 10048 KB, 30951 KB/s, 0 seconds passed +... 8%, 10080 KB, 31028 KB/s, 0 seconds passed +... 8%, 10112 KB, 31110 KB/s, 0 seconds passed +... 8%, 10144 KB, 31184 KB/s, 0 seconds passed +... 8%, 10176 KB, 31253 KB/s, 0 seconds passed +... 8%, 10208 KB, 31330 KB/s, 0 seconds passed +... 8%, 10240 KB, 31398 KB/s, 0 seconds passed +... 8%, 10272 KB, 31471 KB/s, 0 seconds passed +... 8%, 10304 KB, 31538 KB/s, 0 seconds passed +... 8%, 10336 KB, 31611 KB/s, 0 seconds passed +... 8%, 10368 KB, 31683 KB/s, 0 seconds passed +... 8%, 10400 KB, 31750 KB/s, 0 seconds passed +... 8%, 10432 KB, 31822 KB/s, 0 seconds passed +... 8%, 10464 KB, 31894 KB/s, 0 seconds passed +... 8%, 10496 KB, 31961 KB/s, 0 seconds passed +... 8%, 10528 KB, 32038 KB/s, 0 seconds passed +... 8%, 10560 KB, 32104 KB/s, 0 seconds passed +... 8%, 10592 KB, 32176 KB/s, 0 seconds passed +... 8%, 10624 KB, 32242 KB/s, 0 seconds passed +... 8%, 10656 KB, 32314 KB/s, 0 seconds passed +... 8%, 10688 KB, 32385 KB/s, 0 seconds passed +... 8%, 10720 KB, 32451 KB/s, 0 seconds passed +... 8%, 10752 KB, 32522 KB/s, 0 seconds passed +... 8%, 10784 KB, 32593 KB/s, 0 seconds passed +... 8%, 10816 KB, 32659 KB/s, 0 seconds passed +... 8%, 10848 KB, 32729 KB/s, 0 seconds passed +... 8%, 10880 KB, 31678 KB/s, 0 seconds passed +... 8%, 10912 KB, 31724 KB/s, 0 seconds passed +... 8%, 10944 KB, 31753 KB/s, 0 seconds passed +... 8%, 10976 KB, 31807 KB/s, 0 seconds passed +... 8%, 11008 KB, 31866 KB/s, 0 seconds passed +... 8%, 11040 KB, 31891 KB/s, 0 seconds passed +... 8%, 11072 KB, 31947 KB/s, 0 seconds passed +... 8%, 11104 KB, 31989 KB/s, 0 seconds passed +... 8%, 11136 KB, 31997 KB/s, 0 seconds passed +... 8%, 11168 KB, 32051 KB/s, 0 seconds passed +... 8%, 11200 KB, 32108 KB/s, 0 seconds passed +... 8%, 11232 KB, 32164 KB/s, 0 seconds passed +... 8%, 11264 KB, 32222 KB/s, 0 seconds passed +... 8%, 11296 KB, 32280 KB/s, 0 seconds passed +... 8%, 11328 KB, 32337 KB/s, 0 seconds passed +... 9%, 11360 KB, 32394 KB/s, 0 seconds passed +... 9%, 11392 KB, 32448 KB/s, 0 seconds passed +... 9%, 11424 KB, 32505 KB/s, 0 seconds passed +... 9%, 11456 KB, 32563 KB/s, 0 seconds passed +... 9%, 11488 KB, 32624 KB/s, 0 seconds passed +... 9%, 11520 KB, 32681 KB/s, 0 seconds passed +... 9%, 11552 KB, 32737 KB/s, 0 seconds passed +... 9%, 11584 KB, 32793 KB/s, 0 seconds passed +... 9%, 11616 KB, 32848 KB/s, 0 seconds passed +... 9%, 11648 KB, 32905 KB/s, 0 seconds passed +... 9%, 11680 KB, 32961 KB/s, 0 seconds passed +... 9%, 11712 KB, 33017 KB/s, 0 seconds passed +... 9%, 11744 KB, 33072 KB/s, 0 seconds passed +... 9%, 11776 KB, 33127 KB/s, 0 seconds passed +... 9%, 11808 KB, 33182 KB/s, 0 seconds passed +... 9%, 11840 KB, 33232 KB/s, 0 seconds passed +... 9%, 11872 KB, 33286 KB/s, 0 seconds passed +... 9%, 11904 KB, 33340 KB/s, 0 seconds passed +... 9%, 11936 KB, 33394 KB/s, 0 seconds passed +... 9%, 11968 KB, 33447 KB/s, 0 seconds passed +... 9%, 12000 KB, 33502 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 9%, 12032 KB, 33557 KB/s, 0 seconds passed +... 9%, 12064 KB, 33611 KB/s, 0 seconds passed +... 9%, 12096 KB, 33664 KB/s, 0 seconds passed +... 9%, 12128 KB, 33719 KB/s, 0 seconds passed +... 9%, 12160 KB, 33770 KB/s, 0 seconds passed +... 9%, 12192 KB, 33832 KB/s, 0 seconds passed +... 9%, 12224 KB, 33897 KB/s, 0 seconds passed +... 9%, 12256 KB, 33963 KB/s, 0 seconds passed +... 9%, 12288 KB, 34028 KB/s, 0 seconds passed +... 9%, 12320 KB, 34093 KB/s, 0 seconds passed +... 9%, 12352 KB, 34158 KB/s, 0 seconds passed +... 9%, 12384 KB, 34224 KB/s, 0 seconds passed +... 9%, 12416 KB, 34290 KB/s, 0 seconds passed +... 9%, 12448 KB, 34354 KB/s, 0 seconds passed +... 9%, 12480 KB, 34419 KB/s, 0 seconds passed +... 9%, 12512 KB, 34485 KB/s, 0 seconds passed +... 9%, 12544 KB, 34550 KB/s, 0 seconds passed +... 9%, 12576 KB, 34615 KB/s, 0 seconds passed +... 10%, 12608 KB, 34680 KB/s, 0 seconds passed +... 10%, 12640 KB, 34745 KB/s, 0 seconds passed +... 10%, 12672 KB, 34808 KB/s, 0 seconds passed +... 10%, 12704 KB, 34871 KB/s, 0 seconds passed +... 10%, 12736 KB, 34936 KB/s, 0 seconds passed +... 10%, 12768 KB, 35001 KB/s, 0 seconds passed +... 10%, 12800 KB, 35065 KB/s, 0 seconds passed +... 10%, 12832 KB, 35129 KB/s, 0 seconds passed +... 10%, 12864 KB, 35194 KB/s, 0 seconds passed +... 10%, 12896 KB, 35257 KB/s, 0 seconds passed +... 10%, 12928 KB, 35319 KB/s, 0 seconds passed +... 10%, 12960 KB, 35383 KB/s, 0 seconds passed +... 10%, 12992 KB, 35447 KB/s, 0 seconds passed +... 10%, 13024 KB, 35512 KB/s, 0 seconds passed +... 10%, 13056 KB, 35575 KB/s, 0 seconds passed +... 10%, 13088 KB, 35638 KB/s, 0 seconds passed +... 10%, 13120 KB, 35702 KB/s, 0 seconds passed +... 10%, 13152 KB, 35765 KB/s, 0 seconds passed +... 10%, 13184 KB, 35828 KB/s, 0 seconds passed +... 10%, 13216 KB, 35891 KB/s, 0 seconds passed +... 10%, 13248 KB, 35954 KB/s, 0 seconds passed +... 10%, 13280 KB, 36017 KB/s, 0 seconds passed +... 10%, 13312 KB, 36080 KB/s, 0 seconds passed +... 10%, 13344 KB, 36143 KB/s, 0 seconds passed +... 10%, 13376 KB, 36206 KB/s, 0 seconds passed +... 10%, 13408 KB, 36269 KB/s, 0 seconds passed +... 10%, 13440 KB, 36331 KB/s, 0 seconds passed +... 10%, 13472 KB, 36393 KB/s, 0 seconds passed +... 10%, 13504 KB, 36463 KB/s, 0 seconds passed +... 10%, 13536 KB, 36532 KB/s, 0 seconds passed +... 10%, 13568 KB, 36602 KB/s, 0 seconds passed +... 10%, 13600 KB, 36671 KB/s, 0 seconds passed +... 10%, 13632 KB, 36740 KB/s, 0 seconds passed +... 10%, 13664 KB, 36810 KB/s, 0 seconds passed +... 10%, 13696 KB, 36880 KB/s, 0 seconds passed +... 10%, 13728 KB, 36949 KB/s, 0 seconds passed +... 10%, 13760 KB, 37019 KB/s, 0 seconds passed +... 10%, 13792 KB, 37089 KB/s, 0 seconds passed +... 10%, 13824 KB, 37157 KB/s, 0 seconds passed +... 11%, 13856 KB, 37226 KB/s, 0 seconds passed +... 11%, 13888 KB, 37287 KB/s, 0 seconds passed +... 11%, 13920 KB, 37346 KB/s, 0 seconds passed +... 11%, 13952 KB, 37400 KB/s, 0 seconds passed +... 11%, 13984 KB, 37458 KB/s, 0 seconds passed +... 11%, 14016 KB, 37517 KB/s, 0 seconds passed +... 11%, 14048 KB, 37571 KB/s, 0 seconds passed +... 11%, 14080 KB, 37631 KB/s, 0 seconds passed +... 11%, 14112 KB, 37690 KB/s, 0 seconds passed +... 11%, 14144 KB, 37749 KB/s, 0 seconds passed +... 11%, 14176 KB, 37802 KB/s, 0 seconds passed +... 11%, 14208 KB, 37861 KB/s, 0 seconds passed +... 11%, 14240 KB, 37920 KB/s, 0 seconds passed +... 11%, 14272 KB, 37978 KB/s, 0 seconds passed +... 11%, 14304 KB, 38031 KB/s, 0 seconds passed +... 11%, 14336 KB, 38090 KB/s, 0 seconds passed +... 11%, 14368 KB, 38143 KB/s, 0 seconds passed +... 11%, 14400 KB, 38201 KB/s, 0 seconds passed +... 11%, 14432 KB, 38259 KB/s, 0 seconds passed +... 11%, 14464 KB, 38312 KB/s, 0 seconds passed +... 11%, 14496 KB, 38370 KB/s, 0 seconds passed +... 11%, 14528 KB, 38428 KB/s, 0 seconds passed +... 11%, 14560 KB, 38486 KB/s, 0 seconds passed +... 11%, 14592 KB, 38539 KB/s, 0 seconds passed +... 11%, 14624 KB, 38596 KB/s, 0 seconds passed +... 11%, 14656 KB, 38654 KB/s, 0 seconds passed +... 11%, 14688 KB, 38706 KB/s, 0 seconds passed +... 11%, 14720 KB, 38763 KB/s, 0 seconds passed +... 11%, 14752 KB, 38820 KB/s, 0 seconds passed +... 11%, 14784 KB, 38883 KB/s, 0 seconds passed +... 11%, 14816 KB, 38930 KB/s, 0 seconds passed +... 11%, 14848 KB, 38987 KB/s, 0 seconds passed +... 11%, 14880 KB, 39044 KB/s, 0 seconds passed +... 11%, 14912 KB, 39096 KB/s, 0 seconds passed +... 11%, 14944 KB, 39153 KB/s, 0 seconds passed +... 11%, 14976 KB, 39209 KB/s, 0 seconds passed +... 11%, 15008 KB, 39261 KB/s, 0 seconds passed +... 11%, 15040 KB, 39318 KB/s, 0 seconds passed +... 11%, 15072 KB, 39374 KB/s, 0 seconds passed +... 11%, 15104 KB, 39425 KB/s, 0 seconds passed +... 12%, 15136 KB, 39482 KB/s, 0 seconds passed +... 12%, 15168 KB, 39538 KB/s, 0 seconds passed +... 12%, 15200 KB, 39589 KB/s, 0 seconds passed +... 12%, 15232 KB, 39645 KB/s, 0 seconds passed +... 12%, 15264 KB, 39702 KB/s, 0 seconds passed +... 12%, 15296 KB, 39758 KB/s, 0 seconds passed +... 12%, 15328 KB, 39808 KB/s, 0 seconds passed +... 12%, 15360 KB, 39864 KB/s, 0 seconds passed +... 12%, 15392 KB, 39920 KB/s, 0 seconds passed +... 12%, 15424 KB, 39970 KB/s, 0 seconds passed +... 12%, 15456 KB, 40026 KB/s, 0 seconds passed +... 12%, 15488 KB, 40082 KB/s, 0 seconds passed +... 12%, 15520 KB, 40137 KB/s, 0 seconds passed +... 12%, 15552 KB, 40187 KB/s, 0 seconds passed +... 12%, 15584 KB, 40243 KB/s, 0 seconds passed +... 12%, 15616 KB, 40292 KB/s, 0 seconds passed +... 12%, 15648 KB, 40348 KB/s, 0 seconds passed +... 12%, 15680 KB, 40403 KB/s, 0 seconds passed +... 12%, 15712 KB, 40458 KB/s, 0 seconds passed +... 12%, 15744 KB, 40508 KB/s, 0 seconds passed +... 12%, 15776 KB, 40563 KB/s, 0 seconds passed +... 12%, 15808 KB, 40612 KB/s, 0 seconds passed +... 12%, 15840 KB, 40667 KB/s, 0 seconds passed +... 12%, 15872 KB, 40722 KB/s, 0 seconds passed +... 12%, 15904 KB, 40776 KB/s, 0 seconds passed +... 12%, 15936 KB, 40825 KB/s, 0 seconds passed +... 12%, 15968 KB, 40880 KB/s, 0 seconds passed +... 12%, 16000 KB, 40934 KB/s, 0 seconds passed +... 12%, 16032 KB, 40983 KB/s, 0 seconds passed +... 12%, 16064 KB, 41037 KB/s, 0 seconds passed +... 12%, 16096 KB, 41092 KB/s, 0 seconds passed +... 12%, 16128 KB, 41140 KB/s, 0 seconds passed +... 12%, 16160 KB, 41195 KB/s, 0 seconds passed +... 12%, 16192 KB, 41248 KB/s, 0 seconds passed +... 12%, 16224 KB, 41297 KB/s, 0 seconds passed +... 12%, 16256 KB, 41351 KB/s, 0 seconds passed +... 12%, 16288 KB, 41404 KB/s, 0 seconds passed +... 12%, 16320 KB, 41453 KB/s, 0 seconds passed +... 12%, 16352 KB, 41518 KB/s, 0 seconds passed +... 13%, 16384 KB, 41566 KB/s, 0 seconds passed +... 13%, 16416 KB, 41619 KB/s, 0 seconds passed +... 13%, 16448 KB, 41673 KB/s, 0 seconds passed +... 13%, 16480 KB, 41726 KB/s, 0 seconds passed +... 13%, 16512 KB, 41762 KB/s, 0 seconds passed +... 13%, 16544 KB, 41800 KB/s, 0 seconds passed +... 13%, 16576 KB, 41859 KB/s, 0 seconds passed +... 13%, 16608 KB, 41920 KB/s, 0 seconds passed +... 13%, 16640 KB, 41967 KB/s, 0 seconds passed +... 13%, 16672 KB, 42015 KB/s, 0 seconds passed +... 13%, 16704 KB, 42052 KB/s, 0 seconds passed +... 13%, 16736 KB, 42099 KB/s, 0 seconds passed +... 13%, 16768 KB, 42166 KB/s, 0 seconds passed +... 13%, 16800 KB, 42223 KB/s, 0 seconds passed +... 13%, 16832 KB, 42276 KB/s, 0 seconds passed +... 13%, 16864 KB, 42323 KB/s, 0 seconds passed +... 13%, 16896 KB, 42381 KB/s, 0 seconds passed +... 13%, 16928 KB, 42427 KB/s, 0 seconds passed +... 13%, 16960 KB, 42474 KB/s, 0 seconds passed +... 13%, 16992 KB, 42511 KB/s, 0 seconds passed +... 13%, 17024 KB, 42569 KB/s, 0 seconds passed +... 13%, 17056 KB, 42629 KB/s, 0 seconds passed +... 13%, 17088 KB, 42681 KB/s, 0 seconds passed +... 13%, 17120 KB, 42728 KB/s, 0 seconds passed +... 13%, 17152 KB, 42780 KB/s, 0 seconds passed +... 13%, 17184 KB, 42831 KB/s, 0 seconds passed +... 13%, 17216 KB, 42883 KB/s, 0 seconds passed +... 13%, 17248 KB, 42929 KB/s, 0 seconds passed +... 13%, 17280 KB, 42981 KB/s, 0 seconds passed +... 13%, 17312 KB, 43027 KB/s, 0 seconds passed +... 13%, 17344 KB, 43073 KB/s, 0 seconds passed +... 13%, 17376 KB, 43107 KB/s, 0 seconds passed +... 13%, 17408 KB, 43143 KB/s, 0 seconds passed +... 13%, 17440 KB, 43190 KB/s, 0 seconds passed +... 13%, 17472 KB, 43255 KB/s, 0 seconds passed +... 13%, 17504 KB, 43320 KB/s, 0 seconds passed +... 13%, 17536 KB, 43377 KB/s, 0 seconds passed +... 13%, 17568 KB, 43422 KB/s, 0 seconds passed +... 13%, 17600 KB, 43473 KB/s, 0 seconds passed +... 13%, 17632 KB, 43524 KB/s, 0 seconds passed +... 14%, 17664 KB, 43574 KB/s, 0 seconds passed +... 14%, 17696 KB, 43620 KB/s, 0 seconds passed +... 14%, 17728 KB, 43670 KB/s, 0 seconds passed +... 14%, 17760 KB, 43721 KB/s, 0 seconds passed +... 14%, 17792 KB, 43766 KB/s, 0 seconds passed +... 14%, 17824 KB, 43816 KB/s, 0 seconds passed +... 14%, 17856 KB, 43867 KB/s, 0 seconds passed +... 14%, 17888 KB, 43912 KB/s, 0 seconds passed +... 14%, 17920 KB, 43962 KB/s, 0 seconds passed +... 14%, 17952 KB, 44007 KB/s, 0 seconds passed +... 14%, 17984 KB, 44057 KB/s, 0 seconds passed +... 14%, 18016 KB, 44097 KB/s, 0 seconds passed +... 14%, 18048 KB, 44132 KB/s, 0 seconds passed +... 14%, 18080 KB, 44167 KB/s, 0 seconds passed +... 14%, 18112 KB, 44201 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 14%, 18144 KB, 44263 KB/s, 0 seconds passed +... 14%, 18176 KB, 44314 KB/s, 0 seconds passed +... 14%, 18208 KB, 44354 KB/s, 0 seconds passed +... 14%, 18240 KB, 44394 KB/s, 0 seconds passed +... 14%, 18272 KB, 44433 KB/s, 0 seconds passed +... 14%, 18304 KB, 44473 KB/s, 0 seconds passed +... 14%, 18336 KB, 44508 KB/s, 0 seconds passed +... 14%, 18368 KB, 44545 KB/s, 0 seconds passed +... 14%, 18400 KB, 44583 KB/s, 0 seconds passed +... 14%, 18432 KB, 44623 KB/s, 0 seconds passed +... 14%, 18464 KB, 44662 KB/s, 0 seconds passed +... 14%, 18496 KB, 44701 KB/s, 0 seconds passed +... 14%, 18528 KB, 44736 KB/s, 0 seconds passed +... 14%, 18560 KB, 44774 KB/s, 0 seconds passed +... 14%, 18592 KB, 44812 KB/s, 0 seconds passed +... 14%, 18624 KB, 44849 KB/s, 0 seconds passed +... 14%, 18656 KB, 44886 KB/s, 0 seconds passed +... 14%, 18688 KB, 44923 KB/s, 0 seconds passed +... 14%, 18720 KB, 44961 KB/s, 0 seconds passed +... 14%, 18752 KB, 44998 KB/s, 0 seconds passed +... 14%, 18784 KB, 45037 KB/s, 0 seconds passed +... 14%, 18816 KB, 45074 KB/s, 0 seconds passed +... 14%, 18848 KB, 45111 KB/s, 0 seconds passed +... 14%, 18880 KB, 45149 KB/s, 0 seconds passed +... 15%, 18912 KB, 45188 KB/s, 0 seconds passed +... 15%, 18944 KB, 45226 KB/s, 0 seconds passed +... 15%, 18976 KB, 45263 KB/s, 0 seconds passed +... 15%, 19008 KB, 45300 KB/s, 0 seconds passed +... 15%, 19040 KB, 45337 KB/s, 0 seconds passed +... 15%, 19072 KB, 45379 KB/s, 0 seconds passed +... 15%, 19104 KB, 45431 KB/s, 0 seconds passed +... 15%, 19136 KB, 45482 KB/s, 0 seconds passed +... 15%, 19168 KB, 45532 KB/s, 0 seconds passed +... 15%, 19200 KB, 45584 KB/s, 0 seconds passed +... 15%, 19232 KB, 45634 KB/s, 0 seconds passed +... 15%, 19264 KB, 45685 KB/s, 0 seconds passed +... 15%, 19296 KB, 45737 KB/s, 0 seconds passed +... 15%, 19328 KB, 45786 KB/s, 0 seconds passed +... 15%, 19360 KB, 45837 KB/s, 0 seconds passed +... 15%, 19392 KB, 45888 KB/s, 0 seconds passed +... 15%, 19424 KB, 45937 KB/s, 0 seconds passed +... 15%, 19456 KB, 45988 KB/s, 0 seconds passed +... 15%, 19488 KB, 46038 KB/s, 0 seconds passed +... 15%, 19520 KB, 46088 KB/s, 0 seconds passed +... 15%, 19552 KB, 46138 KB/s, 0 seconds passed +... 15%, 19584 KB, 46187 KB/s, 0 seconds passed +... 15%, 19616 KB, 46236 KB/s, 0 seconds passed +... 15%, 19648 KB, 46285 KB/s, 0 seconds passed +... 15%, 19680 KB, 46335 KB/s, 0 seconds passed +... 15%, 19712 KB, 46384 KB/s, 0 seconds passed +... 15%, 19744 KB, 46434 KB/s, 0 seconds passed +... 15%, 19776 KB, 46484 KB/s, 0 seconds passed +... 15%, 19808 KB, 46534 KB/s, 0 seconds passed +... 15%, 19840 KB, 46582 KB/s, 0 seconds passed +... 15%, 19872 KB, 46631 KB/s, 0 seconds passed +... 15%, 19904 KB, 46680 KB/s, 0 seconds passed +... 15%, 19936 KB, 46729 KB/s, 0 seconds passed +... 15%, 19968 KB, 46778 KB/s, 0 seconds passed +... 15%, 20000 KB, 46827 KB/s, 0 seconds passed +... 15%, 20032 KB, 46876 KB/s, 0 seconds passed +... 15%, 20064 KB, 46925 KB/s, 0 seconds passed +... 15%, 20096 KB, 46973 KB/s, 0 seconds passed +... 15%, 20128 KB, 47021 KB/s, 0 seconds passed +... 16%, 20160 KB, 47069 KB/s, 0 seconds passed +... 16%, 20192 KB, 47119 KB/s, 0 seconds passed +... 16%, 20224 KB, 47167 KB/s, 0 seconds passed +... 16%, 20256 KB, 47217 KB/s, 0 seconds passed +... 16%, 20288 KB, 47265 KB/s, 0 seconds passed +... 16%, 20320 KB, 47314 KB/s, 0 seconds passed +... 16%, 20352 KB, 47362 KB/s, 0 seconds passed +... 16%, 20384 KB, 47411 KB/s, 0 seconds passed +... 16%, 20416 KB, 47463 KB/s, 0 seconds passed +... 16%, 20448 KB, 47516 KB/s, 0 seconds passed +... 16%, 20480 KB, 47577 KB/s, 0 seconds passed +... 16%, 20512 KB, 47522 KB/s, 0 seconds passed +... 16%, 20544 KB, 47548 KB/s, 0 seconds passed +... 16%, 20576 KB, 47577 KB/s, 0 seconds passed +... 16%, 20608 KB, 47615 KB/s, 0 seconds passed +... 16%, 20640 KB, 47672 KB/s, 0 seconds passed +... 16%, 20672 KB, 47728 KB/s, 0 seconds passed +... 16%, 20704 KB, 47770 KB/s, 0 seconds passed +... 16%, 20736 KB, 47800 KB/s, 0 seconds passed +... 16%, 20768 KB, 47831 KB/s, 0 seconds passed +... 16%, 20800 KB, 47861 KB/s, 0 seconds passed +... 16%, 20832 KB, 47898 KB/s, 0 seconds passed +... 16%, 20864 KB, 47954 KB/s, 0 seconds passed +... 16%, 20896 KB, 48011 KB/s, 0 seconds passed +... 16%, 20928 KB, 48067 KB/s, 0 seconds passed +... 16%, 20960 KB, 48124 KB/s, 0 seconds passed +... 16%, 20992 KB, 48168 KB/s, 0 seconds passed +... 16%, 21024 KB, 48206 KB/s, 0 seconds passed +... 16%, 21056 KB, 48251 KB/s, 0 seconds passed +... 16%, 21088 KB, 48295 KB/s, 0 seconds passed +... 16%, 21120 KB, 48334 KB/s, 0 seconds passed +... 16%, 21152 KB, 48378 KB/s, 0 seconds passed +... 16%, 21184 KB, 48422 KB/s, 0 seconds passed +... 16%, 21216 KB, 48460 KB/s, 0 seconds passed +... 16%, 21248 KB, 48505 KB/s, 0 seconds passed +... 16%, 21280 KB, 48543 KB/s, 0 seconds passed +... 16%, 21312 KB, 48587 KB/s, 0 seconds passed +... 16%, 21344 KB, 48630 KB/s, 0 seconds passed +... 16%, 21376 KB, 48674 KB/s, 0 seconds passed +... 16%, 21408 KB, 48712 KB/s, 0 seconds passed +... 17%, 21440 KB, 48756 KB/s, 0 seconds passed +... 17%, 21472 KB, 48799 KB/s, 0 seconds passed +... 17%, 21504 KB, 48843 KB/s, 0 seconds passed +... 17%, 21536 KB, 48881 KB/s, 0 seconds passed +... 17%, 21568 KB, 48925 KB/s, 0 seconds passed +... 17%, 21600 KB, 48962 KB/s, 0 seconds passed +... 17%, 21632 KB, 49006 KB/s, 0 seconds passed +... 17%, 21664 KB, 49043 KB/s, 0 seconds passed +... 17%, 21696 KB, 49086 KB/s, 0 seconds passed +... 17%, 21728 KB, 49113 KB/s, 0 seconds passed +... 17%, 21760 KB, 49161 KB/s, 0 seconds passed +... 17%, 21792 KB, 49214 KB/s, 0 seconds passed +... 17%, 21824 KB, 49252 KB/s, 0 seconds passed +... 17%, 21856 KB, 49295 KB/s, 0 seconds passed +... 17%, 21888 KB, 49338 KB/s, 0 seconds passed +... 17%, 21920 KB, 49375 KB/s, 0 seconds passed +... 17%, 21952 KB, 49418 KB/s, 0 seconds passed +... 17%, 21984 KB, 49461 KB/s, 0 seconds passed +... 17%, 22016 KB, 49504 KB/s, 0 seconds passed +... 17%, 22048 KB, 49541 KB/s, 0 seconds passed +... 17%, 22080 KB, 49584 KB/s, 0 seconds passed +... 17%, 22112 KB, 49620 KB/s, 0 seconds passed +... 17%, 22144 KB, 49663 KB/s, 0 seconds passed +... 17%, 22176 KB, 49706 KB/s, 0 seconds passed +... 17%, 22208 KB, 49742 KB/s, 0 seconds passed +... 17%, 22240 KB, 49785 KB/s, 0 seconds passed +... 17%, 22272 KB, 49827 KB/s, 0 seconds passed +... 17%, 22304 KB, 49870 KB/s, 0 seconds passed +... 17%, 22336 KB, 49904 KB/s, 0 seconds passed +... 17%, 22368 KB, 49947 KB/s, 0 seconds passed +... 17%, 22400 KB, 49989 KB/s, 0 seconds passed +... 17%, 22432 KB, 50031 KB/s, 0 seconds passed +... 17%, 22464 KB, 50061 KB/s, 0 seconds passed +... 17%, 22496 KB, 50086 KB/s, 0 seconds passed +... 17%, 22528 KB, 50136 KB/s, 0 seconds passed +... 17%, 22560 KB, 50191 KB/s, 0 seconds passed +... 17%, 22592 KB, 50219 KB/s, 0 seconds passed +... 17%, 22624 KB, 50254 KB/s, 0 seconds passed +... 17%, 22656 KB, 50308 KB/s, 0 seconds passed +... 18%, 22688 KB, 50349 KB/s, 0 seconds passed +... 18%, 22720 KB, 50386 KB/s, 0 seconds passed +... 18%, 22752 KB, 50428 KB/s, 0 seconds passed +... 18%, 22784 KB, 50469 KB/s, 0 seconds passed +... 18%, 22816 KB, 50505 KB/s, 0 seconds passed +... 18%, 22848 KB, 50547 KB/s, 0 seconds passed +... 18%, 22880 KB, 50588 KB/s, 0 seconds passed +... 18%, 22912 KB, 50624 KB/s, 0 seconds passed +... 18%, 22944 KB, 50666 KB/s, 0 seconds passed +... 18%, 22976 KB, 50701 KB/s, 0 seconds passed +... 18%, 23008 KB, 50743 KB/s, 0 seconds passed +... 18%, 23040 KB, 50784 KB/s, 0 seconds passed +... 18%, 23072 KB, 50825 KB/s, 0 seconds passed +... 18%, 23104 KB, 50861 KB/s, 0 seconds passed +... 18%, 23136 KB, 50896 KB/s, 0 seconds passed +... 18%, 23168 KB, 50920 KB/s, 0 seconds passed +... 18%, 23200 KB, 50946 KB/s, 0 seconds passed +... 18%, 23232 KB, 50981 KB/s, 0 seconds passed +... 18%, 23264 KB, 51038 KB/s, 0 seconds passed +... 18%, 23296 KB, 51094 KB/s, 0 seconds passed +... 18%, 23328 KB, 51133 KB/s, 0 seconds passed +... 18%, 23360 KB, 51174 KB/s, 0 seconds passed +... 18%, 23392 KB, 51214 KB/s, 0 seconds passed +... 18%, 23424 KB, 51255 KB/s, 0 seconds passed +... 18%, 23456 KB, 51290 KB/s, 0 seconds passed +... 18%, 23488 KB, 51331 KB/s, 0 seconds passed +... 18%, 23520 KB, 51365 KB/s, 0 seconds passed +... 18%, 23552 KB, 51406 KB/s, 0 seconds passed +... 18%, 23584 KB, 51446 KB/s, 0 seconds passed +... 18%, 23616 KB, 51487 KB/s, 0 seconds passed +... 18%, 23648 KB, 51521 KB/s, 0 seconds passed +... 18%, 23680 KB, 51562 KB/s, 0 seconds passed +... 18%, 23712 KB, 51596 KB/s, 0 seconds passed +... 18%, 23744 KB, 51637 KB/s, 0 seconds passed +... 18%, 23776 KB, 51677 KB/s, 0 seconds passed +... 18%, 23808 KB, 51717 KB/s, 0 seconds passed +... 18%, 23840 KB, 51751 KB/s, 0 seconds passed +... 18%, 23872 KB, 51792 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 18%, 23904 KB, 51832 KB/s, 0 seconds passed +... 19%, 23936 KB, 51866 KB/s, 0 seconds passed +... 19%, 23968 KB, 51906 KB/s, 0 seconds passed +... 19%, 24000 KB, 51940 KB/s, 0 seconds passed +... 19%, 24032 KB, 51976 KB/s, 0 seconds passed +... 19%, 24064 KB, 52018 KB/s, 0 seconds passed +... 19%, 24096 KB, 52051 KB/s, 0 seconds passed +... 19%, 24128 KB, 52087 KB/s, 0 seconds passed +... 19%, 24160 KB, 52126 KB/s, 0 seconds passed +... 19%, 24192 KB, 52163 KB/s, 0 seconds passed +... 19%, 24224 KB, 52207 KB/s, 0 seconds passed +... 19%, 24256 KB, 52247 KB/s, 0 seconds passed +... 19%, 24288 KB, 52281 KB/s, 0 seconds passed +... 19%, 24320 KB, 52321 KB/s, 0 seconds passed +... 19%, 24352 KB, 52360 KB/s, 0 seconds passed +... 19%, 24384 KB, 52394 KB/s, 0 seconds passed +... 19%, 24416 KB, 52433 KB/s, 0 seconds passed +... 19%, 24448 KB, 52467 KB/s, 0 seconds passed +... 19%, 24480 KB, 52506 KB/s, 0 seconds passed +... 19%, 24512 KB, 52540 KB/s, 0 seconds passed +... 19%, 24544 KB, 52579 KB/s, 0 seconds passed +... 19%, 24576 KB, 52618 KB/s, 0 seconds passed +... 19%, 24608 KB, 52656 KB/s, 0 seconds passed +... 19%, 24640 KB, 52689 KB/s, 0 seconds passed +... 19%, 24672 KB, 52728 KB/s, 0 seconds passed +... 19%, 24704 KB, 52761 KB/s, 0 seconds passed +... 19%, 24736 KB, 52800 KB/s, 0 seconds passed +... 19%, 24768 KB, 52839 KB/s, 0 seconds passed +... 19%, 24800 KB, 52872 KB/s, 0 seconds passed +... 19%, 24832 KB, 52910 KB/s, 0 seconds passed +... 19%, 24864 KB, 52949 KB/s, 0 seconds passed +... 19%, 24896 KB, 52988 KB/s, 0 seconds passed +... 19%, 24928 KB, 53019 KB/s, 0 seconds passed +... 19%, 24960 KB, 53058 KB/s, 0 seconds passed +... 19%, 24992 KB, 53096 KB/s, 0 seconds passed +... 19%, 25024 KB, 53129 KB/s, 0 seconds passed +... 19%, 25056 KB, 53167 KB/s, 0 seconds passed +... 19%, 25088 KB, 53199 KB/s, 0 seconds passed +... 19%, 25120 KB, 53238 KB/s, 0 seconds passed +... 19%, 25152 KB, 53276 KB/s, 0 seconds passed +... 19%, 25184 KB, 53314 KB/s, 0 seconds passed +... 20%, 25216 KB, 53346 KB/s, 0 seconds passed +... 20%, 25248 KB, 53385 KB/s, 0 seconds passed +... 20%, 25280 KB, 53417 KB/s, 0 seconds passed +... 20%, 25312 KB, 53455 KB/s, 0 seconds passed +... 20%, 25344 KB, 53493 KB/s, 0 seconds passed +... 20%, 25376 KB, 53531 KB/s, 0 seconds passed +... 20%, 25408 KB, 53563 KB/s, 0 seconds passed +... 20%, 25440 KB, 53601 KB/s, 0 seconds passed +... 20%, 25472 KB, 53639 KB/s, 0 seconds passed +... 20%, 25504 KB, 53670 KB/s, 0 seconds passed +... 20%, 25536 KB, 53708 KB/s, 0 seconds passed +... 20%, 25568 KB, 53741 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 20%, 25600 KB, 49582 KB/s, 0 seconds passed +... 20%, 25632 KB, 49523 KB/s, 0 seconds passed +... 20%, 25664 KB, 49544 KB/s, 0 seconds passed +... 20%, 25696 KB, 49569 KB/s, 0 seconds passed +... 20%, 25728 KB, 49597 KB/s, 0 seconds passed +... 20%, 25760 KB, 49621 KB/s, 0 seconds passed +... 20%, 25792 KB, 49647 KB/s, 0 seconds passed +... 20%, 25824 KB, 49674 KB/s, 0 seconds passed +... 20%, 25856 KB, 49699 KB/s, 0 seconds passed +... 20%, 25888 KB, 49722 KB/s, 0 seconds passed +... 20%, 25920 KB, 49748 KB/s, 0 seconds passed +... 20%, 25952 KB, 49775 KB/s, 0 seconds passed +... 20%, 25984 KB, 49800 KB/s, 0 seconds passed +... 20%, 26016 KB, 49828 KB/s, 0 seconds passed +... 20%, 26048 KB, 49854 KB/s, 0 seconds passed +... 20%, 26080 KB, 49881 KB/s, 0 seconds passed +... 20%, 26112 KB, 49907 KB/s, 0 seconds passed +... 20%, 26144 KB, 49930 KB/s, 0 seconds passed +... 20%, 26176 KB, 49956 KB/s, 0 seconds passed +... 20%, 26208 KB, 49979 KB/s, 0 seconds passed +... 20%, 26240 KB, 50003 KB/s, 0 seconds passed +... 20%, 26272 KB, 50030 KB/s, 0 seconds passed +... 20%, 26304 KB, 50055 KB/s, 0 seconds passed +... 20%, 26336 KB, 50080 KB/s, 0 seconds passed +... 20%, 26368 KB, 50104 KB/s, 0 seconds passed +... 20%, 26400 KB, 50129 KB/s, 0 seconds passed +... 20%, 26432 KB, 50156 KB/s, 0 seconds passed +... 21%, 26464 KB, 50181 KB/s, 0 seconds passed +... 21%, 26496 KB, 50206 KB/s, 0 seconds passed +... 21%, 26528 KB, 50227 KB/s, 0 seconds passed +... 21%, 26560 KB, 50252 KB/s, 0 seconds passed +... 21%, 26592 KB, 50276 KB/s, 0 seconds passed +... 21%, 26624 KB, 50299 KB/s, 0 seconds passed +... 21%, 26656 KB, 50323 KB/s, 0 seconds passed +... 21%, 26688 KB, 50346 KB/s, 0 seconds passed +... 21%, 26720 KB, 50370 KB/s, 0 seconds passed +... 21%, 26752 KB, 50392 KB/s, 0 seconds passed +... 21%, 26784 KB, 50415 KB/s, 0 seconds passed +... 21%, 26816 KB, 50452 KB/s, 0 seconds passed +... 21%, 26848 KB, 50489 KB/s, 0 seconds passed +... 21%, 26880 KB, 50522 KB/s, 0 seconds passed +... 21%, 26912 KB, 50559 KB/s, 0 seconds passed +... 21%, 26944 KB, 50597 KB/s, 0 seconds passed +... 21%, 26976 KB, 50634 KB/s, 0 seconds passed +... 21%, 27008 KB, 50671 KB/s, 0 seconds passed +... 21%, 27040 KB, 50707 KB/s, 0 seconds passed +... 21%, 27072 KB, 50744 KB/s, 0 seconds passed +... 21%, 27104 KB, 50780 KB/s, 0 seconds passed +... 21%, 27136 KB, 50818 KB/s, 0 seconds passed +... 21%, 27168 KB, 50855 KB/s, 0 seconds passed +... 21%, 27200 KB, 50890 KB/s, 0 seconds passed +... 21%, 27232 KB, 50926 KB/s, 0 seconds passed +... 21%, 27264 KB, 50963 KB/s, 0 seconds passed +... 21%, 27296 KB, 50999 KB/s, 0 seconds passed +... 21%, 27328 KB, 51035 KB/s, 0 seconds passed +... 21%, 27360 KB, 51073 KB/s, 0 seconds passed +... 21%, 27392 KB, 51110 KB/s, 0 seconds passed +... 21%, 27424 KB, 51143 KB/s, 0 seconds passed +... 21%, 27456 KB, 51179 KB/s, 0 seconds passed +... 21%, 27488 KB, 51216 KB/s, 0 seconds passed +... 21%, 27520 KB, 51249 KB/s, 0 seconds passed +... 21%, 27552 KB, 51286 KB/s, 0 seconds passed +... 21%, 27584 KB, 51323 KB/s, 0 seconds passed +... 21%, 27616 KB, 51359 KB/s, 0 seconds passed +... 21%, 27648 KB, 51396 KB/s, 0 seconds passed +... 21%, 27680 KB, 51433 KB/s, 0 seconds passed +... 22%, 27712 KB, 51469 KB/s, 0 seconds passed +... 22%, 27744 KB, 51506 KB/s, 0 seconds passed +... 22%, 27776 KB, 51541 KB/s, 0 seconds passed +... 22%, 27808 KB, 51577 KB/s, 0 seconds passed +... 22%, 27840 KB, 51613 KB/s, 0 seconds passed +... 22%, 27872 KB, 51649 KB/s, 0 seconds passed +... 22%, 27904 KB, 51684 KB/s, 0 seconds passed +... 22%, 27936 KB, 51719 KB/s, 0 seconds passed +... 22%, 27968 KB, 51752 KB/s, 0 seconds passed +... 22%, 28000 KB, 51788 KB/s, 0 seconds passed +... 22%, 28032 KB, 51825 KB/s, 0 seconds passed +... 22%, 28064 KB, 51860 KB/s, 0 seconds passed +... 22%, 28096 KB, 51895 KB/s, 0 seconds passed +... 22%, 28128 KB, 51935 KB/s, 0 seconds passed +... 22%, 28160 KB, 51977 KB/s, 0 seconds passed +... 22%, 28192 KB, 52021 KB/s, 0 seconds passed +... 22%, 28224 KB, 52064 KB/s, 0 seconds passed +... 22%, 28256 KB, 52107 KB/s, 0 seconds passed +... 22%, 28288 KB, 52151 KB/s, 0 seconds passed +... 22%, 28320 KB, 52193 KB/s, 0 seconds passed +... 22%, 28352 KB, 52235 KB/s, 0 seconds passed +... 22%, 28384 KB, 52280 KB/s, 0 seconds passed +... 22%, 28416 KB, 52321 KB/s, 0 seconds passed +... 22%, 28448 KB, 52364 KB/s, 0 seconds passed +... 22%, 28480 KB, 52408 KB/s, 0 seconds passed +... 22%, 28512 KB, 52451 KB/s, 0 seconds passed +... 22%, 28544 KB, 52494 KB/s, 0 seconds passed +... 22%, 28576 KB, 52537 KB/s, 0 seconds passed +... 22%, 28608 KB, 52578 KB/s, 0 seconds passed +... 22%, 28640 KB, 52621 KB/s, 0 seconds passed +... 22%, 28672 KB, 52663 KB/s, 0 seconds passed +... 22%, 28704 KB, 52706 KB/s, 0 seconds passed +... 22%, 28736 KB, 52750 KB/s, 0 seconds passed +... 22%, 28768 KB, 52793 KB/s, 0 seconds passed +... 22%, 28800 KB, 52822 KB/s, 0 seconds passed +... 22%, 28832 KB, 52856 KB/s, 0 seconds passed +... 22%, 28864 KB, 52889 KB/s, 0 seconds passed +... 22%, 28896 KB, 52922 KB/s, 0 seconds passed +... 22%, 28928 KB, 52950 KB/s, 0 seconds passed +... 22%, 28960 KB, 52983 KB/s, 0 seconds passed +... 23%, 28992 KB, 53011 KB/s, 0 seconds passed +... 23%, 29024 KB, 53044 KB/s, 0 seconds passed +... 23%, 29056 KB, 53077 KB/s, 0 seconds passed +... 23%, 29088 KB, 53110 KB/s, 0 seconds passed +... 23%, 29120 KB, 53138 KB/s, 0 seconds passed +... 23%, 29152 KB, 53170 KB/s, 0 seconds passed +... 23%, 29184 KB, 53204 KB/s, 0 seconds passed +... 23%, 29216 KB, 53231 KB/s, 0 seconds passed +... 23%, 29248 KB, 53264 KB/s, 0 seconds passed +... 23%, 29280 KB, 53297 KB/s, 0 seconds passed +... 23%, 29312 KB, 53324 KB/s, 0 seconds passed +... 23%, 29344 KB, 53357 KB/s, 0 seconds passed +... 23%, 29376 KB, 53390 KB/s, 0 seconds passed +... 23%, 29408 KB, 53422 KB/s, 0 seconds passed +... 23%, 29440 KB, 53450 KB/s, 0 seconds passed +... 23%, 29472 KB, 52522 KB/s, 0 seconds passed +... 23%, 29504 KB, 52474 KB/s, 0 seconds passed +... 23%, 29536 KB, 52500 KB/s, 0 seconds passed +... 23%, 29568 KB, 52528 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 23%, 29600 KB, 52500 KB/s, 0 seconds passed +... 23%, 29632 KB, 52532 KB/s, 0 seconds passed +... 23%, 29664 KB, 52560 KB/s, 0 seconds passed +... 23%, 29696 KB, 52592 KB/s, 0 seconds passed +... 23%, 29728 KB, 52624 KB/s, 0 seconds passed +... 23%, 29760 KB, 52656 KB/s, 0 seconds passed +... 23%, 29792 KB, 52684 KB/s, 0 seconds passed +... 23%, 29824 KB, 52716 KB/s, 0 seconds passed +... 23%, 29856 KB, 52748 KB/s, 0 seconds passed +... 23%, 29888 KB, 52775 KB/s, 0 seconds passed +... 23%, 29920 KB, 52807 KB/s, 0 seconds passed +... 23%, 29952 KB, 52839 KB/s, 0 seconds passed +... 23%, 29984 KB, 52871 KB/s, 0 seconds passed +... 23%, 30016 KB, 52898 KB/s, 0 seconds passed +... 23%, 30048 KB, 52930 KB/s, 0 seconds passed +... 23%, 30080 KB, 52961 KB/s, 0 seconds passed +... 23%, 30112 KB, 52988 KB/s, 0 seconds passed +... 23%, 30144 KB, 53020 KB/s, 0 seconds passed +... 23%, 30176 KB, 53052 KB/s, 0 seconds passed +... 23%, 30208 KB, 53079 KB/s, 0 seconds passed +... 24%, 30240 KB, 53111 KB/s, 0 seconds passed +... 24%, 30272 KB, 53142 KB/s, 0 seconds passed +... 24%, 30304 KB, 53169 KB/s, 0 seconds passed +... 24%, 30336 KB, 53201 KB/s, 0 seconds passed +... 24%, 30368 KB, 53233 KB/s, 0 seconds passed +... 24%, 30400 KB, 53259 KB/s, 0 seconds passed +... 24%, 30432 KB, 53291 KB/s, 0 seconds passed +... 24%, 30464 KB, 53322 KB/s, 0 seconds passed +... 24%, 30496 KB, 53353 KB/s, 0 seconds passed +... 24%, 30528 KB, 53379 KB/s, 0 seconds passed +... 24%, 30560 KB, 53411 KB/s, 0 seconds passed +... 24%, 30592 KB, 53442 KB/s, 0 seconds passed +... 24%, 30624 KB, 53473 KB/s, 0 seconds passed +... 24%, 30656 KB, 53499 KB/s, 0 seconds passed +... 24%, 30688 KB, 53531 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 24%, 30720 KB, 49857 KB/s, 0 seconds passed +... 24%, 30752 KB, 49868 KB/s, 0 seconds passed +... 24%, 30784 KB, 49887 KB/s, 0 seconds passed +... 24%, 30816 KB, 49913 KB/s, 0 seconds passed +... 24%, 30848 KB, 49380 KB/s, 0 seconds passed +... 24%, 30880 KB, 49299 KB/s, 0 seconds passed +... 24%, 30912 KB, 49306 KB/s, 0 seconds passed +... 24%, 30944 KB, 49326 KB/s, 0 seconds passed +... 24%, 30976 KB, 49345 KB/s, 0 seconds passed +... 24%, 31008 KB, 49362 KB/s, 0 seconds passed +... 24%, 31040 KB, 49382 KB/s, 0 seconds passed +... 24%, 31072 KB, 49403 KB/s, 0 seconds passed +... 24%, 31104 KB, 49424 KB/s, 0 seconds passed +... 24%, 31136 KB, 49446 KB/s, 0 seconds passed +... 24%, 31168 KB, 49466 KB/s, 0 seconds passed +... 24%, 31200 KB, 49488 KB/s, 0 seconds passed +... 24%, 31232 KB, 49511 KB/s, 0 seconds passed +... 24%, 31264 KB, 49533 KB/s, 0 seconds passed +... 24%, 31296 KB, 49553 KB/s, 0 seconds passed +... 24%, 31328 KB, 49574 KB/s, 0 seconds passed +... 24%, 31360 KB, 49593 KB/s, 0 seconds passed +... 24%, 31392 KB, 49613 KB/s, 0 seconds passed +... 24%, 31424 KB, 49639 KB/s, 0 seconds passed +... 24%, 31456 KB, 49660 KB/s, 0 seconds passed +... 24%, 31488 KB, 49679 KB/s, 0 seconds passed +... 25%, 31520 KB, 49699 KB/s, 0 seconds passed +... 25%, 31552 KB, 49718 KB/s, 0 seconds passed +... 25%, 31584 KB, 49740 KB/s, 0 seconds passed +... 25%, 31616 KB, 49761 KB/s, 0 seconds passed +... 25%, 31648 KB, 49782 KB/s, 0 seconds passed +... 25%, 31680 KB, 49800 KB/s, 0 seconds passed +... 25%, 31712 KB, 49821 KB/s, 0 seconds passed +... 25%, 31744 KB, 49842 KB/s, 0 seconds passed +... 25%, 31776 KB, 49864 KB/s, 0 seconds passed +... 25%, 31808 KB, 49884 KB/s, 0 seconds passed +... 25%, 31840 KB, 49903 KB/s, 0 seconds passed +... 25%, 31872 KB, 49924 KB/s, 0 seconds passed +... 25%, 31904 KB, 49945 KB/s, 0 seconds passed +... 25%, 31936 KB, 49965 KB/s, 0 seconds passed +... 25%, 31968 KB, 49986 KB/s, 0 seconds passed +... 25%, 32000 KB, 50004 KB/s, 0 seconds passed +... 25%, 32032 KB, 50023 KB/s, 0 seconds passed +... 25%, 32064 KB, 50044 KB/s, 0 seconds passed +... 25%, 32096 KB, 50065 KB/s, 0 seconds passed +... 25%, 32128 KB, 50087 KB/s, 0 seconds passed +... 25%, 32160 KB, 50108 KB/s, 0 seconds passed +... 25%, 32192 KB, 50129 KB/s, 0 seconds passed +... 25%, 32224 KB, 50152 KB/s, 0 seconds passed +... 25%, 32256 KB, 50181 KB/s, 0 seconds passed +... 25%, 32288 KB, 50215 KB/s, 0 seconds passed +... 25%, 32320 KB, 50250 KB/s, 0 seconds passed +... 25%, 32352 KB, 50285 KB/s, 0 seconds passed +... 25%, 32384 KB, 50320 KB/s, 0 seconds passed +... 25%, 32416 KB, 50356 KB/s, 0 seconds passed +... 25%, 32448 KB, 50390 KB/s, 0 seconds passed +... 25%, 32480 KB, 49121 KB/s, 0 seconds passed +... 25%, 32512 KB, 49132 KB/s, 0 seconds passed +... 25%, 32544 KB, 49150 KB/s, 0 seconds passed +... 25%, 32576 KB, 49169 KB/s, 0 seconds passed +... 25%, 32608 KB, 49187 KB/s, 0 seconds passed +... 25%, 32640 KB, 49206 KB/s, 0 seconds passed +... 25%, 32672 KB, 49226 KB/s, 0 seconds passed +... 25%, 32704 KB, 49245 KB/s, 0 seconds passed +... 25%, 32736 KB, 49265 KB/s, 0 seconds passed +... 26%, 32768 KB, 49284 KB/s, 0 seconds passed +... 26%, 32800 KB, 49302 KB/s, 0 seconds passed +... 26%, 32832 KB, 49322 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 26%, 32864 KB, 49343 KB/s, 0 seconds passed +... 26%, 32896 KB, 49362 KB/s, 0 seconds passed +... 26%, 32928 KB, 49382 KB/s, 0 seconds passed +... 26%, 32960 KB, 49401 KB/s, 0 seconds passed +... 26%, 32992 KB, 49420 KB/s, 0 seconds passed +... 26%, 33024 KB, 49439 KB/s, 0 seconds passed +... 26%, 33056 KB, 49459 KB/s, 0 seconds passed +... 26%, 33088 KB, 49477 KB/s, 0 seconds passed +... 26%, 33120 KB, 49497 KB/s, 0 seconds passed +... 26%, 33152 KB, 49517 KB/s, 0 seconds passed +... 26%, 33184 KB, 49537 KB/s, 0 seconds passed +... 26%, 33216 KB, 49557 KB/s, 0 seconds passed +... 26%, 33248 KB, 49577 KB/s, 0 seconds passed +... 26%, 33280 KB, 49597 KB/s, 0 seconds passed +... 26%, 33312 KB, 49617 KB/s, 0 seconds passed +... 26%, 33344 KB, 49636 KB/s, 0 seconds passed +... 26%, 33376 KB, 49655 KB/s, 0 seconds passed +... 26%, 33408 KB, 49674 KB/s, 0 seconds passed +... 26%, 33440 KB, 49698 KB/s, 0 seconds passed +... 26%, 33472 KB, 49728 KB/s, 0 seconds passed +... 26%, 33504 KB, 49758 KB/s, 0 seconds passed +... 26%, 33536 KB, 49787 KB/s, 0 seconds passed +... 26%, 33568 KB, 49817 KB/s, 0 seconds passed +... 26%, 33600 KB, 49846 KB/s, 0 seconds passed +... 26%, 33632 KB, 49876 KB/s, 0 seconds passed +... 26%, 33664 KB, 49905 KB/s, 0 seconds passed +... 26%, 33696 KB, 49933 KB/s, 0 seconds passed +... 26%, 33728 KB, 49963 KB/s, 0 seconds passed +... 26%, 33760 KB, 49992 KB/s, 0 seconds passed +... 26%, 33792 KB, 50022 KB/s, 0 seconds passed +... 26%, 33824 KB, 50052 KB/s, 0 seconds passed +... 26%, 33856 KB, 50079 KB/s, 0 seconds passed +... 26%, 33888 KB, 50108 KB/s, 0 seconds passed +... 26%, 33920 KB, 50137 KB/s, 0 seconds passed +... 26%, 33952 KB, 50167 KB/s, 0 seconds passed +... 26%, 33984 KB, 50196 KB/s, 0 seconds passed +... 27%, 34016 KB, 50226 KB/s, 0 seconds passed +... 27%, 34048 KB, 50255 KB/s, 0 seconds passed +... 27%, 34080 KB, 50284 KB/s, 0 seconds passed +... 27%, 34112 KB, 50313 KB/s, 0 seconds passed +... 27%, 34144 KB, 50343 KB/s, 0 seconds passed +... 27%, 34176 KB, 50372 KB/s, 0 seconds passed +... 27%, 34208 KB, 50400 KB/s, 0 seconds passed +... 27%, 34240 KB, 50430 KB/s, 0 seconds passed +... 27%, 34272 KB, 50459 KB/s, 0 seconds passed +... 27%, 34304 KB, 50487 KB/s, 0 seconds passed +... 27%, 34336 KB, 50516 KB/s, 0 seconds passed +... 27%, 34368 KB, 50543 KB/s, 0 seconds passed +... 27%, 34400 KB, 50572 KB/s, 0 seconds passed +... 27%, 34432 KB, 50601 KB/s, 0 seconds passed +... 27%, 34464 KB, 50630 KB/s, 0 seconds passed +... 27%, 34496 KB, 50659 KB/s, 0 seconds passed +... 27%, 34528 KB, 50689 KB/s, 0 seconds passed +... 27%, 34560 KB, 50719 KB/s, 0 seconds passed +... 27%, 34592 KB, 50746 KB/s, 0 seconds passed +... 27%, 34624 KB, 50775 KB/s, 0 seconds passed +... 27%, 34656 KB, 50804 KB/s, 0 seconds passed +... 27%, 34688 KB, 50833 KB/s, 0 seconds passed +... 27%, 34720 KB, 50863 KB/s, 0 seconds passed +... 27%, 34752 KB, 50891 KB/s, 0 seconds passed +... 27%, 34784 KB, 50921 KB/s, 0 seconds passed +... 27%, 34816 KB, 50952 KB/s, 0 seconds passed +... 27%, 34848 KB, 50987 KB/s, 0 seconds passed +... 27%, 34880 KB, 51021 KB/s, 0 seconds passed +... 27%, 34912 KB, 51055 KB/s, 0 seconds passed +... 27%, 34944 KB, 51088 KB/s, 0 seconds passed +... 27%, 34976 KB, 51122 KB/s, 0 seconds passed +... 27%, 35008 KB, 51156 KB/s, 0 seconds passed +... 27%, 35040 KB, 51190 KB/s, 0 seconds passed +... 27%, 35072 KB, 51225 KB/s, 0 seconds passed +... 27%, 35104 KB, 51259 KB/s, 0 seconds passed +... 27%, 35136 KB, 51293 KB/s, 0 seconds passed +... 27%, 35168 KB, 51326 KB/s, 0 seconds passed +... 27%, 35200 KB, 51359 KB/s, 0 seconds passed +... 27%, 35232 KB, 51394 KB/s, 0 seconds passed +... 27%, 35264 KB, 51429 KB/s, 0 seconds passed +... 28%, 35296 KB, 51463 KB/s, 0 seconds passed +... 28%, 35328 KB, 51497 KB/s, 0 seconds passed +... 28%, 35360 KB, 51532 KB/s, 0 seconds passed +... 28%, 35392 KB, 51559 KB/s, 0 seconds passed +... 28%, 35424 KB, 51582 KB/s, 0 seconds passed +... 28%, 35456 KB, 51609 KB/s, 0 seconds passed +... 28%, 35488 KB, 51635 KB/s, 0 seconds passed +... 28%, 35520 KB, 51662 KB/s, 0 seconds passed +... 28%, 35552 KB, 51685 KB/s, 0 seconds passed +... 28%, 35584 KB, 51712 KB/s, 0 seconds passed +... 28%, 35616 KB, 51739 KB/s, 0 seconds passed +... 28%, 35648 KB, 51761 KB/s, 0 seconds passed +... 28%, 35680 KB, 51788 KB/s, 0 seconds passed +... 28%, 35712 KB, 51815 KB/s, 0 seconds passed +... 28%, 35744 KB, 51826 KB/s, 0 seconds passed +... 28%, 35776 KB, 51841 KB/s, 0 seconds passed +... 28%, 35808 KB, 51861 KB/s, 0 seconds passed +... 28%, 35840 KB, 51319 KB/s, 0 seconds passed +... 28%, 35872 KB, 51334 KB/s, 0 seconds passed +... 28%, 35904 KB, 51349 KB/s, 0 seconds passed +... 28%, 35936 KB, 51366 KB/s, 0 seconds passed +... 28%, 35968 KB, 51385 KB/s, 0 seconds passed +... 28%, 36000 KB, 51405 KB/s, 0 seconds passed +... 28%, 36032 KB, 51426 KB/s, 0 seconds passed +... 28%, 36064 KB, 51447 KB/s, 0 seconds passed +... 28%, 36096 KB, 51467 KB/s, 0 seconds passed +... 28%, 36128 KB, 51487 KB/s, 0 seconds passed +... 28%, 36160 KB, 51506 KB/s, 0 seconds passed +... 28%, 36192 KB, 51526 KB/s, 0 seconds passed +... 28%, 36224 KB, 51548 KB/s, 0 seconds passed +... 28%, 36256 KB, 51569 KB/s, 0 seconds passed +... 28%, 36288 KB, 51590 KB/s, 0 seconds passed +... 28%, 36320 KB, 51611 KB/s, 0 seconds passed +... 28%, 36352 KB, 51627 KB/s, 0 seconds passed +... 28%, 36384 KB, 51642 KB/s, 0 seconds passed +... 28%, 36416 KB, 51661 KB/s, 0 seconds passed +... 28%, 36448 KB, 51679 KB/s, 0 seconds passed +... 28%, 36480 KB, 51698 KB/s, 0 seconds passed +... 28%, 36512 KB, 51716 KB/s, 0 seconds passed +... 29%, 36544 KB, 51734 KB/s, 0 seconds passed +... 29%, 36576 KB, 51751 KB/s, 0 seconds passed +... 29%, 36608 KB, 51767 KB/s, 0 seconds passed +... 29%, 36640 KB, 51785 KB/s, 0 seconds passed +... 29%, 36672 KB, 51802 KB/s, 0 seconds passed +... 29%, 36704 KB, 51817 KB/s, 0 seconds passed +... 29%, 36736 KB, 51833 KB/s, 0 seconds passed +... 29%, 36768 KB, 51851 KB/s, 0 seconds passed +... 29%, 36800 KB, 51867 KB/s, 0 seconds passed +... 29%, 36832 KB, 51884 KB/s, 0 seconds passed +... 29%, 36864 KB, 51902 KB/s, 0 seconds passed +... 29%, 36896 KB, 51921 KB/s, 0 seconds passed +... 29%, 36928 KB, 51938 KB/s, 0 seconds passed +... 29%, 36960 KB, 51957 KB/s, 0 seconds passed +... 29%, 36992 KB, 51975 KB/s, 0 seconds passed +... 29%, 37024 KB, 51987 KB/s, 0 seconds passed +... 29%, 37056 KB, 51993 KB/s, 0 seconds passed +... 29%, 37088 KB, 52006 KB/s, 0 seconds passed +... 29%, 37120 KB, 52022 KB/s, 0 seconds passed +... 29%, 37152 KB, 52041 KB/s, 0 seconds passed +... 29%, 37184 KB, 52067 KB/s, 0 seconds passed +... 29%, 37216 KB, 52094 KB/s, 0 seconds passed +... 29%, 37248 KB, 52120 KB/s, 0 seconds passed +... 29%, 37280 KB, 52147 KB/s, 0 seconds passed +... 29%, 37312 KB, 52175 KB/s, 0 seconds passed +... 29%, 37344 KB, 52201 KB/s, 0 seconds passed +... 29%, 37376 KB, 52228 KB/s, 0 seconds passed +... 29%, 37408 KB, 52256 KB/s, 0 seconds passed +... 29%, 37440 KB, 52279 KB/s, 0 seconds passed +... 29%, 37472 KB, 52306 KB/s, 0 seconds passed +... 29%, 37504 KB, 52334 KB/s, 0 seconds passed +... 29%, 37536 KB, 52361 KB/s, 0 seconds passed +... 29%, 37568 KB, 52388 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 29%, 37600 KB, 52416 KB/s, 0 seconds passed +... 29%, 37632 KB, 52441 KB/s, 0 seconds passed +... 29%, 37664 KB, 52469 KB/s, 0 seconds passed +... 29%, 37696 KB, 52495 KB/s, 0 seconds passed +... 29%, 37728 KB, 52521 KB/s, 0 seconds passed +... 29%, 37760 KB, 52546 KB/s, 0 seconds passed +... 30%, 37792 KB, 52574 KB/s, 0 seconds passed +... 30%, 37824 KB, 52601 KB/s, 0 seconds passed +... 30%, 37856 KB, 52628 KB/s, 0 seconds passed +... 30%, 37888 KB, 52653 KB/s, 0 seconds passed +... 30%, 37920 KB, 52680 KB/s, 0 seconds passed +... 30%, 37952 KB, 52703 KB/s, 0 seconds passed +... 30%, 37984 KB, 52730 KB/s, 0 seconds passed +... 30%, 38016 KB, 52755 KB/s, 0 seconds passed +... 30%, 38048 KB, 52782 KB/s, 0 seconds passed +... 30%, 38080 KB, 52807 KB/s, 0 seconds passed +... 30%, 38112 KB, 52833 KB/s, 0 seconds passed +... 30%, 38144 KB, 52859 KB/s, 0 seconds passed +... 30%, 38176 KB, 52886 KB/s, 0 seconds passed +... 30%, 38208 KB, 52911 KB/s, 0 seconds passed +... 30%, 38240 KB, 52937 KB/s, 0 seconds passed +... 30%, 38272 KB, 52963 KB/s, 0 seconds passed +... 30%, 38304 KB, 52990 KB/s, 0 seconds passed +... 30%, 38336 KB, 53017 KB/s, 0 seconds passed +... 30%, 38368 KB, 53044 KB/s, 0 seconds passed +... 30%, 38400 KB, 53070 KB/s, 0 seconds passed +... 30%, 38432 KB, 53099 KB/s, 0 seconds passed +... 30%, 38464 KB, 53129 KB/s, 0 seconds passed +... 30%, 38496 KB, 53160 KB/s, 0 seconds passed +... 30%, 38528 KB, 53192 KB/s, 0 seconds passed +... 30%, 38560 KB, 53224 KB/s, 0 seconds passed +... 30%, 38592 KB, 53256 KB/s, 0 seconds passed +... 30%, 38624 KB, 53287 KB/s, 0 seconds passed +... 30%, 38656 KB, 53318 KB/s, 0 seconds passed +... 30%, 38688 KB, 53350 KB/s, 0 seconds passed +... 30%, 38720 KB, 53380 KB/s, 0 seconds passed +... 30%, 38752 KB, 53412 KB/s, 0 seconds passed +... 30%, 38784 KB, 53443 KB/s, 0 seconds passed +... 30%, 38816 KB, 53475 KB/s, 0 seconds passed +... 30%, 38848 KB, 53507 KB/s, 0 seconds passed +... 30%, 38880 KB, 53538 KB/s, 0 seconds passed +... 30%, 38912 KB, 53570 KB/s, 0 seconds passed +... 30%, 38944 KB, 53602 KB/s, 0 seconds passed +... 30%, 38976 KB, 53632 KB/s, 0 seconds passed +... 30%, 39008 KB, 53663 KB/s, 0 seconds passed +... 30%, 39040 KB, 53695 KB/s, 0 seconds passed +... 31%, 39072 KB, 53727 KB/s, 0 seconds passed +... 31%, 39104 KB, 53759 KB/s, 0 seconds passed +... 31%, 39136 KB, 53790 KB/s, 0 seconds passed +... 31%, 39168 KB, 53822 KB/s, 0 seconds passed +... 31%, 39200 KB, 53854 KB/s, 0 seconds passed +... 31%, 39232 KB, 53885 KB/s, 0 seconds passed +... 31%, 39264 KB, 53916 KB/s, 0 seconds passed +... 31%, 39296 KB, 53942 KB/s, 0 seconds passed +... 31%, 39328 KB, 53966 KB/s, 0 seconds passed +... 31%, 39360 KB, 53991 KB/s, 0 seconds passed +... 31%, 39392 KB, 54011 KB/s, 0 seconds passed +... 31%, 39424 KB, 54040 KB/s, 0 seconds passed +... 31%, 39456 KB, 54064 KB/s, 0 seconds passed +... 31%, 39488 KB, 54088 KB/s, 0 seconds passed +... 31%, 39520 KB, 54109 KB/s, 0 seconds passed +... 31%, 39552 KB, 54133 KB/s, 0 seconds passed +... 31%, 39584 KB, 54154 KB/s, 0 seconds passed +... 31%, 39616 KB, 54178 KB/s, 0 seconds passed +... 31%, 39648 KB, 53798 KB/s, 0 seconds passed +... 31%, 39680 KB, 53812 KB/s, 0 seconds passed +... 31%, 39712 KB, 53833 KB/s, 0 seconds passed +... 31%, 39744 KB, 53854 KB/s, 0 seconds passed +... 31%, 39776 KB, 53811 KB/s, 0 seconds passed +... 31%, 39808 KB, 53819 KB/s, 0 seconds passed +... 31%, 39840 KB, 53834 KB/s, 0 seconds passed +... 31%, 39872 KB, 53853 KB/s, 0 seconds passed +... 31%, 39904 KB, 53870 KB/s, 0 seconds passed +... 31%, 39936 KB, 53891 KB/s, 0 seconds passed +... 31%, 39968 KB, 53910 KB/s, 0 seconds passed +... 31%, 40000 KB, 53931 KB/s, 0 seconds passed +... 31%, 40032 KB, 53951 KB/s, 0 seconds passed +... 31%, 40064 KB, 53971 KB/s, 0 seconds passed +... 31%, 40096 KB, 53995 KB/s, 0 seconds passed +... 31%, 40128 KB, 54011 KB/s, 0 seconds passed +... 31%, 40160 KB, 54025 KB/s, 0 seconds passed +... 31%, 40192 KB, 54043 KB/s, 0 seconds passed +... 31%, 40224 KB, 54058 KB/s, 0 seconds passed +... 31%, 40256 KB, 54073 KB/s, 0 seconds passed +... 31%, 40288 KB, 54085 KB/s, 0 seconds passed +... 32%, 40320 KB, 54101 KB/s, 0 seconds passed +... 32%, 40352 KB, 54117 KB/s, 0 seconds passed +... 32%, 40384 KB, 54133 KB/s, 0 seconds passed +... 32%, 40416 KB, 54149 KB/s, 0 seconds passed +... 32%, 40448 KB, 54164 KB/s, 0 seconds passed +... 32%, 40480 KB, 54181 KB/s, 0 seconds passed +... 32%, 40512 KB, 54196 KB/s, 0 seconds passed +... 32%, 40544 KB, 54211 KB/s, 0 seconds passed +... 32%, 40576 KB, 54224 KB/s, 0 seconds passed +... 32%, 40608 KB, 54240 KB/s, 0 seconds passed +... 32%, 40640 KB, 54255 KB/s, 0 seconds passed +... 32%, 40672 KB, 54271 KB/s, 0 seconds passed +... 32%, 40704 KB, 54286 KB/s, 0 seconds passed +... 32%, 40736 KB, 54302 KB/s, 0 seconds passed +... 32%, 40768 KB, 54323 KB/s, 0 seconds passed +... 32%, 40800 KB, 54346 KB/s, 0 seconds passed +... 32%, 40832 KB, 54368 KB/s, 0 seconds passed +... 32%, 40864 KB, 54390 KB/s, 0 seconds passed +... 32%, 40896 KB, 54412 KB/s, 0 seconds passed +... 32%, 40928 KB, 54434 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 32%, 40960 KB, 52719 KB/s, 0 seconds passed +... 32%, 40992 KB, 52726 KB/s, 0 seconds passed +... 32%, 41024 KB, 52740 KB/s, 0 seconds passed +... 32%, 41056 KB, 52755 KB/s, 0 seconds passed +... 32%, 41088 KB, 52768 KB/s, 0 seconds passed +... 32%, 41120 KB, 52782 KB/s, 0 seconds passed +... 32%, 41152 KB, 52797 KB/s, 0 seconds passed +... 32%, 41184 KB, 52810 KB/s, 0 seconds passed +... 32%, 41216 KB, 52822 KB/s, 0 seconds passed +... 32%, 41248 KB, 52838 KB/s, 0 seconds passed +... 32%, 41280 KB, 52853 KB/s, 0 seconds passed +... 32%, 41312 KB, 52868 KB/s, 0 seconds passed +... 32%, 41344 KB, 52881 KB/s, 0 seconds passed +... 32%, 41376 KB, 52897 KB/s, 0 seconds passed +... 32%, 41408 KB, 52913 KB/s, 0 seconds passed +... 32%, 41440 KB, 52927 KB/s, 0 seconds passed +... 32%, 41472 KB, 52941 KB/s, 0 seconds passed +... 32%, 41504 KB, 52957 KB/s, 0 seconds passed +... 32%, 41536 KB, 52969 KB/s, 0 seconds passed +... 33%, 41568 KB, 52985 KB/s, 0 seconds passed +... 33%, 41600 KB, 52999 KB/s, 0 seconds passed +... 33%, 41632 KB, 53016 KB/s, 0 seconds passed +... 33%, 41664 KB, 53029 KB/s, 0 seconds passed +... 33%, 41696 KB, 53044 KB/s, 0 seconds passed +... 33%, 41728 KB, 53059 KB/s, 0 seconds passed +... 33%, 41760 KB, 53076 KB/s, 0 seconds passed +... 33%, 41792 KB, 53092 KB/s, 0 seconds passed +... 33%, 41824 KB, 53108 KB/s, 0 seconds passed +... 33%, 41856 KB, 53123 KB/s, 0 seconds passed +... 33%, 41888 KB, 53137 KB/s, 0 seconds passed +... 33%, 41920 KB, 53150 KB/s, 0 seconds passed +... 33%, 41952 KB, 53166 KB/s, 0 seconds passed +... 33%, 41984 KB, 53182 KB/s, 0 seconds passed +... 33%, 42016 KB, 53198 KB/s, 0 seconds passed +... 33%, 42048 KB, 53210 KB/s, 0 seconds passed +... 33%, 42080 KB, 53223 KB/s, 0 seconds passed +... 33%, 42112 KB, 53238 KB/s, 0 seconds passed +... 33%, 42144 KB, 53253 KB/s, 0 seconds passed +... 33%, 42176 KB, 53267 KB/s, 0 seconds passed +... 33%, 42208 KB, 53281 KB/s, 0 seconds passed +... 33%, 42240 KB, 53296 KB/s, 0 seconds passed +... 33%, 42272 KB, 53311 KB/s, 0 seconds passed +... 33%, 42304 KB, 53326 KB/s, 0 seconds passed +... 33%, 42336 KB, 53341 KB/s, 0 seconds passed +... 33%, 42368 KB, 53356 KB/s, 0 seconds passed +... 33%, 42400 KB, 53372 KB/s, 0 seconds passed +... 33%, 42432 KB, 53396 KB/s, 0 seconds passed +... 33%, 42464 KB, 53420 KB/s, 0 seconds passed +... 33%, 42496 KB, 53445 KB/s, 0 seconds passed +... 33%, 42528 KB, 53469 KB/s, 0 seconds passed +... 33%, 42560 KB, 53493 KB/s, 0 seconds passed +... 33%, 42592 KB, 53518 KB/s, 0 seconds passed +... 33%, 42624 KB, 53539 KB/s, 0 seconds passed +... 33%, 42656 KB, 53563 KB/s, 0 seconds passed +... 33%, 42688 KB, 53587 KB/s, 0 seconds passed +... 33%, 42720 KB, 53611 KB/s, 0 seconds passed +... 33%, 42752 KB, 53635 KB/s, 0 seconds passed +... 33%, 42784 KB, 53658 KB/s, 0 seconds passed +... 33%, 42816 KB, 53682 KB/s, 0 seconds passed +... 34%, 42848 KB, 53705 KB/s, 0 seconds passed +... 34%, 42880 KB, 53729 KB/s, 0 seconds passed +... 34%, 42912 KB, 53753 KB/s, 0 seconds passed +... 34%, 42944 KB, 53777 KB/s, 0 seconds passed +... 34%, 42976 KB, 53801 KB/s, 0 seconds passed +... 34%, 43008 KB, 53824 KB/s, 0 seconds passed +... 34%, 43040 KB, 53848 KB/s, 0 seconds passed +... 34%, 43072 KB, 53872 KB/s, 0 seconds passed +... 34%, 43104 KB, 53896 KB/s, 0 seconds passed +... 34%, 43136 KB, 53919 KB/s, 0 seconds passed +... 34%, 43168 KB, 53942 KB/s, 0 seconds passed +... 34%, 43200 KB, 53965 KB/s, 0 seconds passed +... 34%, 43232 KB, 53989 KB/s, 0 seconds passed +... 34%, 43264 KB, 54013 KB/s, 0 seconds passed +... 34%, 43296 KB, 54036 KB/s, 0 seconds passed +... 34%, 43328 KB, 54060 KB/s, 0 seconds passed +... 34%, 43360 KB, 54083 KB/s, 0 seconds passed +... 34%, 43392 KB, 54106 KB/s, 0 seconds passed +... 34%, 43424 KB, 54130 KB/s, 0 seconds passed +... 34%, 43456 KB, 54154 KB/s, 0 seconds passed +... 34%, 43488 KB, 54178 KB/s, 0 seconds passed +... 34%, 43520 KB, 54201 KB/s, 0 seconds passed +... 34%, 43552 KB, 54224 KB/s, 0 seconds passed +... 34%, 43584 KB, 54247 KB/s, 0 seconds passed +... 34%, 43616 KB, 54271 KB/s, 0 seconds passed +... 34%, 43648 KB, 54296 KB/s, 0 seconds passed +... 34%, 43680 KB, 54315 KB/s, 0 seconds passed +... 34%, 43712 KB, 54338 KB/s, 0 seconds passed +... 34%, 43744 KB, 54362 KB/s, 0 seconds passed +... 34%, 43776 KB, 54386 KB/s, 0 seconds passed +... 34%, 43808 KB, 54409 KB/s, 0 seconds passed +... 34%, 43840 KB, 54434 KB/s, 0 seconds passed +... 34%, 43872 KB, 54462 KB/s, 0 seconds passed +... 34%, 43904 KB, 54491 KB/s, 0 seconds passed +... 34%, 43936 KB, 54519 KB/s, 0 seconds passed +... 34%, 43968 KB, 54547 KB/s, 0 seconds passed +... 34%, 44000 KB, 54575 KB/s, 0 seconds passed +... 34%, 44032 KB, 54604 KB/s, 0 seconds passed +... 34%, 44064 KB, 54633 KB/s, 0 seconds passed +... 35%, 44096 KB, 54661 KB/s, 0 seconds passed +... 35%, 44128 KB, 54690 KB/s, 0 seconds passed +... 35%, 44160 KB, 54717 KB/s, 0 seconds passed +... 35%, 44192 KB, 54745 KB/s, 0 seconds passed +... 35%, 44224 KB, 54773 KB/s, 0 seconds passed +... 35%, 44256 KB, 54801 KB/s, 0 seconds passed +... 35%, 44288 KB, 54830 KB/s, 0 seconds passed +... 35%, 44320 KB, 54859 KB/s, 0 seconds passed +... 35%, 44352 KB, 54887 KB/s, 0 seconds passed +... 35%, 44384 KB, 54915 KB/s, 0 seconds passed +... 35%, 44416 KB, 54944 KB/s, 0 seconds passed +... 35%, 44448 KB, 54972 KB/s, 0 seconds passed +... 35%, 44480 KB, 55000 KB/s, 0 seconds passed +... 35%, 44512 KB, 55029 KB/s, 0 seconds passed +... 35%, 44544 KB, 55058 KB/s, 0 seconds passed +... 35%, 44576 KB, 55086 KB/s, 0 seconds passed +... 35%, 44608 KB, 55115 KB/s, 0 seconds passed +... 35%, 44640 KB, 55144 KB/s, 0 seconds passed +... 35%, 44672 KB, 55172 KB/s, 0 seconds passed +... 35%, 44704 KB, 55201 KB/s, 0 seconds passed +... 35%, 44736 KB, 55227 KB/s, 0 seconds passed +... 35%, 44768 KB, 55248 KB/s, 0 seconds passed +... 35%, 44800 KB, 55270 KB/s, 0 seconds passed +... 35%, 44832 KB, 54983 KB/s, 0 seconds passed +... 35%, 44864 KB, 54995 KB/s, 0 seconds passed +... 35%, 44896 KB, 55005 KB/s, 0 seconds passed +... 35%, 44928 KB, 55018 KB/s, 0 seconds passed +... 35%, 44960 KB, 55032 KB/s, 0 seconds passed +... 35%, 44992 KB, 55047 KB/s, 0 seconds passed +... 35%, 45024 KB, 55061 KB/s, 0 seconds passed +... 35%, 45056 KB, 55078 KB/s, 0 seconds passed +... 35%, 45088 KB, 55097 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 35%, 45120 KB, 54913 KB/s, 0 seconds passed +... 35%, 45152 KB, 54876 KB/s, 0 seconds passed +... 35%, 45184 KB, 54889 KB/s, 0 seconds passed +... 35%, 45216 KB, 54904 KB/s, 0 seconds passed +... 35%, 45248 KB, 54917 KB/s, 0 seconds passed +... 35%, 45280 KB, 54929 KB/s, 0 seconds passed +... 35%, 45312 KB, 54943 KB/s, 0 seconds passed +... 36%, 45344 KB, 54958 KB/s, 0 seconds passed +... 36%, 45376 KB, 54972 KB/s, 0 seconds passed +... 36%, 45408 KB, 54986 KB/s, 0 seconds passed +... 36%, 45440 KB, 54999 KB/s, 0 seconds passed +... 36%, 45472 KB, 55014 KB/s, 0 seconds passed +... 36%, 45504 KB, 55028 KB/s, 0 seconds passed +... 36%, 45536 KB, 55043 KB/s, 0 seconds passed +... 36%, 45568 KB, 55056 KB/s, 0 seconds passed +... 36%, 45600 KB, 55070 KB/s, 0 seconds passed +... 36%, 45632 KB, 55082 KB/s, 0 seconds passed +... 36%, 45664 KB, 55097 KB/s, 0 seconds passed +... 36%, 45696 KB, 55110 KB/s, 0 seconds passed +... 36%, 45728 KB, 55124 KB/s, 0 seconds passed +... 36%, 45760 KB, 55139 KB/s, 0 seconds passed +... 36%, 45792 KB, 55153 KB/s, 0 seconds passed +... 36%, 45824 KB, 55167 KB/s, 0 seconds passed +... 36%, 45856 KB, 55182 KB/s, 0 seconds passed +... 36%, 45888 KB, 55200 KB/s, 0 seconds passed +... 36%, 45920 KB, 55219 KB/s, 0 seconds passed +... 36%, 45952 KB, 55238 KB/s, 0 seconds passed +... 36%, 45984 KB, 55257 KB/s, 0 seconds passed +... 36%, 46016 KB, 55277 KB/s, 0 seconds passed +... 36%, 46048 KB, 55296 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 36%, 46080 KB, 49752 KB/s, 0 seconds passed +... 36%, 46112 KB, 49759 KB/s, 0 seconds passed +... 36%, 46144 KB, 49771 KB/s, 0 seconds passed +... 36%, 46176 KB, 49785 KB/s, 0 seconds passed +... 36%, 46208 KB, 49797 KB/s, 0 seconds passed +... 36%, 46240 KB, 49810 KB/s, 0 seconds passed +... 36%, 46272 KB, 49824 KB/s, 0 seconds passed +... 36%, 46304 KB, 49838 KB/s, 0 seconds passed +... 36%, 46336 KB, 49852 KB/s, 0 seconds passed +... 36%, 46368 KB, 49867 KB/s, 0 seconds passed +... 36%, 46400 KB, 49881 KB/s, 0 seconds passed +... 36%, 46432 KB, 49895 KB/s, 0 seconds passed +... 36%, 46464 KB, 49909 KB/s, 0 seconds passed +... 36%, 46496 KB, 49923 KB/s, 0 seconds passed +... 36%, 46528 KB, 49937 KB/s, 0 seconds passed +... 36%, 46560 KB, 49948 KB/s, 0 seconds passed +... 36%, 46592 KB, 49962 KB/s, 0 seconds passed +... 37%, 46624 KB, 49977 KB/s, 0 seconds passed +... 37%, 46656 KB, 49990 KB/s, 0 seconds passed +... 37%, 46688 KB, 50002 KB/s, 0 seconds passed +... 37%, 46720 KB, 50017 KB/s, 0 seconds passed +... 37%, 46752 KB, 50031 KB/s, 0 seconds passed +... 37%, 46784 KB, 50046 KB/s, 0 seconds passed +... 37%, 46816 KB, 50060 KB/s, 0 seconds passed +... 37%, 46848 KB, 50078 KB/s, 0 seconds passed +... 37%, 46880 KB, 50096 KB/s, 0 seconds passed +... 37%, 46912 KB, 50113 KB/s, 0 seconds passed +... 37%, 46944 KB, 50131 KB/s, 0 seconds passed +... 37%, 46976 KB, 50149 KB/s, 0 seconds passed +... 37%, 47008 KB, 50167 KB/s, 0 seconds passed +... 37%, 47040 KB, 50184 KB/s, 0 seconds passed +... 37%, 47072 KB, 50202 KB/s, 0 seconds passed +... 37%, 47104 KB, 50220 KB/s, 0 seconds passed +... 37%, 47136 KB, 50238 KB/s, 0 seconds passed +... 37%, 47168 KB, 50256 KB/s, 0 seconds passed +... 37%, 47200 KB, 50274 KB/s, 0 seconds passed +... 37%, 47232 KB, 50290 KB/s, 0 seconds passed +... 37%, 47264 KB, 50308 KB/s, 0 seconds passed +... 37%, 47296 KB, 50326 KB/s, 0 seconds passed +... 37%, 47328 KB, 50343 KB/s, 0 seconds passed +... 37%, 47360 KB, 50361 KB/s, 0 seconds passed +... 37%, 47392 KB, 50380 KB/s, 0 seconds passed +... 37%, 47424 KB, 50397 KB/s, 0 seconds passed +... 37%, 47456 KB, 50415 KB/s, 0 seconds passed +... 37%, 47488 KB, 50433 KB/s, 0 seconds passed +... 37%, 47520 KB, 50450 KB/s, 0 seconds passed +... 37%, 47552 KB, 50467 KB/s, 0 seconds passed +... 37%, 47584 KB, 50485 KB/s, 0 seconds passed +... 37%, 47616 KB, 50503 KB/s, 0 seconds passed +... 37%, 47648 KB, 50520 KB/s, 0 seconds passed +... 37%, 47680 KB, 50538 KB/s, 0 seconds passed +... 37%, 47712 KB, 50555 KB/s, 0 seconds passed +... 37%, 47744 KB, 50572 KB/s, 0 seconds passed +... 37%, 47776 KB, 50589 KB/s, 0 seconds passed +... 37%, 47808 KB, 50608 KB/s, 0 seconds passed +... 37%, 47840 KB, 50625 KB/s, 0 seconds passed +... 38%, 47872 KB, 50643 KB/s, 0 seconds passed +... 38%, 47904 KB, 50666 KB/s, 0 seconds passed +... 38%, 47936 KB, 50689 KB/s, 0 seconds passed +... 38%, 47968 KB, 50712 KB/s, 0 seconds passed +... 38%, 48000 KB, 50735 KB/s, 0 seconds passed +... 38%, 48032 KB, 50758 KB/s, 0 seconds passed +... 38%, 48064 KB, 50781 KB/s, 0 seconds passed +... 38%, 48096 KB, 50804 KB/s, 0 seconds passed +... 38%, 48128 KB, 50826 KB/s, 0 seconds passed +... 38%, 48160 KB, 50849 KB/s, 0 seconds passed +... 38%, 48192 KB, 50872 KB/s, 0 seconds passed +... 38%, 48224 KB, 50894 KB/s, 0 seconds passed +... 38%, 48256 KB, 50917 KB/s, 0 seconds passed +... 38%, 48288 KB, 50940 KB/s, 0 seconds passed +... 38%, 48320 KB, 50962 KB/s, 0 seconds passed +... 38%, 48352 KB, 50985 KB/s, 0 seconds passed +... 38%, 48384 KB, 51008 KB/s, 0 seconds passed +... 38%, 48416 KB, 51030 KB/s, 0 seconds passed +... 38%, 48448 KB, 51052 KB/s, 0 seconds passed +... 38%, 48480 KB, 51075 KB/s, 0 seconds passed +... 38%, 48512 KB, 51098 KB/s, 0 seconds passed +... 38%, 48544 KB, 51119 KB/s, 0 seconds passed +... 38%, 48576 KB, 51142 KB/s, 0 seconds passed +... 38%, 48608 KB, 51164 KB/s, 0 seconds passed +... 38%, 48640 KB, 51187 KB/s, 0 seconds passed +... 38%, 48672 KB, 51211 KB/s, 0 seconds passed +... 38%, 48704 KB, 51234 KB/s, 0 seconds passed +... 38%, 48736 KB, 51256 KB/s, 0 seconds passed +... 38%, 48768 KB, 51279 KB/s, 0 seconds passed +... 38%, 48800 KB, 51301 KB/s, 0 seconds passed +... 38%, 48832 KB, 51324 KB/s, 0 seconds passed +... 38%, 48864 KB, 51346 KB/s, 0 seconds passed +... 38%, 48896 KB, 51370 KB/s, 0 seconds passed +... 38%, 48928 KB, 51392 KB/s, 0 seconds passed +... 38%, 48960 KB, 51414 KB/s, 0 seconds passed +... 38%, 48992 KB, 51437 KB/s, 0 seconds passed +... 38%, 49024 KB, 51459 KB/s, 0 seconds passed +... 38%, 49056 KB, 51481 KB/s, 0 seconds passed +... 38%, 49088 KB, 51504 KB/s, 0 seconds passed +... 38%, 49120 KB, 51527 KB/s, 0 seconds passed +... 39%, 49152 KB, 51549 KB/s, 0 seconds passed +... 39%, 49184 KB, 51572 KB/s, 0 seconds passed +... 39%, 49216 KB, 51595 KB/s, 0 seconds passed +... 39%, 49248 KB, 51617 KB/s, 0 seconds passed +... 39%, 49280 KB, 51639 KB/s, 0 seconds passed +... 39%, 49312 KB, 51658 KB/s, 0 seconds passed +... 39%, 49344 KB, 51675 KB/s, 0 seconds passed +... 39%, 49376 KB, 51694 KB/s, 0 seconds passed +... 39%, 49408 KB, 51713 KB/s, 0 seconds passed +... 39%, 49440 KB, 51730 KB/s, 0 seconds passed +... 39%, 49472 KB, 51752 KB/s, 0 seconds passed +... 39%, 49504 KB, 51771 KB/s, 0 seconds passed +... 39%, 49536 KB, 51788 KB/s, 0 seconds passed +... 39%, 49568 KB, 51807 KB/s, 0 seconds passed +... 39%, 49600 KB, 51823 KB/s, 0 seconds passed +... 39%, 49632 KB, 51843 KB/s, 0 seconds passed +... 39%, 49664 KB, 51862 KB/s, 0 seconds passed +... 39%, 49696 KB, 51881 KB/s, 0 seconds passed +... 39%, 49728 KB, 51897 KB/s, 0 seconds passed +... 39%, 49760 KB, 51914 KB/s, 0 seconds passed +... 39%, 49792 KB, 51933 KB/s, 0 seconds passed +... 39%, 49824 KB, 51952 KB/s, 0 seconds passed +... 39%, 49856 KB, 51971 KB/s, 0 seconds passed +... 39%, 49888 KB, 51990 KB/s, 0 seconds passed +... 39%, 49920 KB, 52009 KB/s, 0 seconds passed +... 39%, 49952 KB, 51919 KB/s, 0 seconds passed +... 39%, 49984 KB, 51921 KB/s, 0 seconds passed +... 39%, 50016 KB, 51940 KB/s, 0 seconds passed +... 39%, 50048 KB, 51957 KB/s, 0 seconds passed +... 39%, 50080 KB, 51976 KB/s, 0 seconds passed +... 39%, 50112 KB, 51992 KB/s, 0 seconds passed +... 39%, 50144 KB, 52011 KB/s, 0 seconds passed +... 39%, 50176 KB, 52030 KB/s, 0 seconds passed +... 39%, 50208 KB, 51982 KB/s, 0 seconds passed +... 39%, 50240 KB, 51992 KB/s, 0 seconds passed +... 39%, 50272 KB, 52005 KB/s, 0 seconds passed +... 39%, 50304 KB, 52019 KB/s, 0 seconds passed +... 39%, 50336 KB, 52033 KB/s, 0 seconds passed +... 39%, 50368 KB, 52046 KB/s, 0 seconds passed +... 40%, 50400 KB, 52059 KB/s, 0 seconds passed +... 40%, 50432 KB, 52073 KB/s, 0 seconds passed +... 40%, 50464 KB, 52086 KB/s, 0 seconds passed +... 40%, 50496 KB, 52100 KB/s, 0 seconds passed +... 40%, 50528 KB, 52113 KB/s, 0 seconds passed +... 40%, 50560 KB, 52126 KB/s, 0 seconds passed +... 40%, 50592 KB, 52139 KB/s, 0 seconds passed +... 40%, 50624 KB, 52154 KB/s, 0 seconds passed +... 40%, 50656 KB, 52167 KB/s, 0 seconds passed +... 40%, 50688 KB, 52180 KB/s, 0 seconds passed +... 40%, 50720 KB, 52194 KB/s, 0 seconds passed +... 40%, 50752 KB, 52206 KB/s, 0 seconds passed +... 40%, 50784 KB, 52219 KB/s, 0 seconds passed +... 40%, 50816 KB, 52233 KB/s, 0 seconds passed +... 40%, 50848 KB, 52246 KB/s, 0 seconds passed +... 40%, 50880 KB, 52259 KB/s, 0 seconds passed +... 40%, 50912 KB, 52273 KB/s, 0 seconds passed + +.. parsed-literal:: + + ... 40%, 50944 KB, 52286 KB/s, 0 seconds passed +... 40%, 50976 KB, 52303 KB/s, 0 seconds passed +... 40%, 51008 KB, 52320 KB/s, 0 seconds passed +... 40%, 51040 KB, 52338 KB/s, 0 seconds passed +... 40%, 51072 KB, 52356 KB/s, 0 seconds passed +... 40%, 51104 KB, 52374 KB/s, 0 seconds passed +... 40%, 51136 KB, 52391 KB/s, 0 seconds passed +... 40%, 51168 KB, 52409 KB/s, 0 seconds passed +... 40%, 51200 KB, 51274 KB/s, 0 seconds passed +... 40%, 51232 KB, 51281 KB/s, 0 seconds passed +... 40%, 51264 KB, 51293 KB/s, 0 seconds passed +... 40%, 51296 KB, 51307 KB/s, 0 seconds passed +... 40%, 51328 KB, 51300 KB/s, 1 seconds passed +... 40%, 51360 KB, 51312 KB/s, 1 seconds passed +... 40%, 51392 KB, 51323 KB/s, 1 seconds passed +... 40%, 51424 KB, 51337 KB/s, 1 seconds passed +... 40%, 51456 KB, 51352 KB/s, 1 seconds passed +... 40%, 51488 KB, 51336 KB/s, 1 seconds passed +... 40%, 51520 KB, 51228 KB/s, 1 seconds passed +... 40%, 51552 KB, 51237 KB/s, 1 seconds passed +... 40%, 51584 KB, 51248 KB/s, 1 seconds passed +... 40%, 51616 KB, 51260 KB/s, 1 seconds passed +... 41%, 51648 KB, 51273 KB/s, 1 seconds passed +... 41%, 51680 KB, 51285 KB/s, 1 seconds passed +... 41%, 51712 KB, 51297 KB/s, 1 seconds passed +... 41%, 51744 KB, 51309 KB/s, 1 seconds passed +... 41%, 51776 KB, 51321 KB/s, 1 seconds passed +... 41%, 51808 KB, 51333 KB/s, 1 seconds passed +... 41%, 51840 KB, 51346 KB/s, 1 seconds passed +... 41%, 51872 KB, 51358 KB/s, 1 seconds passed +... 41%, 51904 KB, 51372 KB/s, 1 seconds passed +... 41%, 51936 KB, 51385 KB/s, 1 seconds passed +... 41%, 51968 KB, 51396 KB/s, 1 seconds passed +... 41%, 52000 KB, 51408 KB/s, 1 seconds passed +... 41%, 52032 KB, 51421 KB/s, 1 seconds passed +... 41%, 52064 KB, 51433 KB/s, 1 seconds passed +... 41%, 52096 KB, 51446 KB/s, 1 seconds passed +... 41%, 52128 KB, 51458 KB/s, 1 seconds passed +... 41%, 52160 KB, 51470 KB/s, 1 seconds passed +... 41%, 52192 KB, 51483 KB/s, 1 seconds passed +... 41%, 52224 KB, 51495 KB/s, 1 seconds passed +... 41%, 52256 KB, 51508 KB/s, 1 seconds passed +... 41%, 52288 KB, 51520 KB/s, 1 seconds passed +... 41%, 52320 KB, 51533 KB/s, 1 seconds passed +... 41%, 52352 KB, 51546 KB/s, 1 seconds passed +... 41%, 52384 KB, 51556 KB/s, 1 seconds passed +... 41%, 52416 KB, 51569 KB/s, 1 seconds passed +... 41%, 52448 KB, 51588 KB/s, 1 seconds passed +... 41%, 52480 KB, 51607 KB/s, 1 seconds passed +... 41%, 52512 KB, 51626 KB/s, 1 seconds passed +... 41%, 52544 KB, 51645 KB/s, 1 seconds passed +... 41%, 52576 KB, 51664 KB/s, 1 seconds passed +... 41%, 52608 KB, 51682 KB/s, 1 seconds passed +... 41%, 52640 KB, 51701 KB/s, 1 seconds passed +... 41%, 52672 KB, 51720 KB/s, 1 seconds passed +... 41%, 52704 KB, 51738 KB/s, 1 seconds passed +... 41%, 52736 KB, 51757 KB/s, 1 seconds passed +... 41%, 52768 KB, 51775 KB/s, 1 seconds passed +... 41%, 52800 KB, 51794 KB/s, 1 seconds passed +... 41%, 52832 KB, 51813 KB/s, 1 seconds passed +... 41%, 52864 KB, 51833 KB/s, 1 seconds passed +... 41%, 52896 KB, 51850 KB/s, 1 seconds passed +... 42%, 52928 KB, 51870 KB/s, 1 seconds passed +... 42%, 52960 KB, 51888 KB/s, 1 seconds passed +... 42%, 52992 KB, 51907 KB/s, 1 seconds passed +... 42%, 53024 KB, 51926 KB/s, 1 seconds passed +... 42%, 53056 KB, 51945 KB/s, 1 seconds passed +... 42%, 53088 KB, 51964 KB/s, 1 seconds passed +... 42%, 53120 KB, 51983 KB/s, 1 seconds passed +... 42%, 53152 KB, 52003 KB/s, 1 seconds passed +... 42%, 53184 KB, 52021 KB/s, 1 seconds passed +... 42%, 53216 KB, 52041 KB/s, 1 seconds passed +... 42%, 53248 KB, 52060 KB/s, 1 seconds passed +... 42%, 53280 KB, 52079 KB/s, 1 seconds passed +... 42%, 53312 KB, 52098 KB/s, 1 seconds passed +... 42%, 53344 KB, 52117 KB/s, 1 seconds passed +... 42%, 53376 KB, 52136 KB/s, 1 seconds passed +... 42%, 53408 KB, 52154 KB/s, 1 seconds passed +... 42%, 53440 KB, 52173 KB/s, 1 seconds passed +... 42%, 53472 KB, 52192 KB/s, 1 seconds passed +... 42%, 53504 KB, 52210 KB/s, 1 seconds passed +... 42%, 53536 KB, 52230 KB/s, 1 seconds passed +... 42%, 53568 KB, 52249 KB/s, 1 seconds passed +... 42%, 53600 KB, 52268 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 42%, 53632 KB, 52287 KB/s, 1 seconds passed +... 42%, 53664 KB, 52306 KB/s, 1 seconds passed +... 42%, 53696 KB, 52325 KB/s, 1 seconds passed +... 42%, 53728 KB, 52348 KB/s, 1 seconds passed +... 42%, 53760 KB, 52370 KB/s, 1 seconds passed +... 42%, 53792 KB, 52392 KB/s, 1 seconds passed +... 42%, 53824 KB, 52415 KB/s, 1 seconds passed +... 42%, 53856 KB, 52438 KB/s, 1 seconds passed +... 42%, 53888 KB, 52461 KB/s, 1 seconds passed +... 42%, 53920 KB, 52483 KB/s, 1 seconds passed +... 42%, 53952 KB, 52506 KB/s, 1 seconds passed +... 42%, 53984 KB, 52528 KB/s, 1 seconds passed +... 42%, 54016 KB, 52551 KB/s, 1 seconds passed +... 42%, 54048 KB, 52572 KB/s, 1 seconds passed +... 42%, 54080 KB, 52595 KB/s, 1 seconds passed +... 42%, 54112 KB, 52617 KB/s, 1 seconds passed +... 42%, 54144 KB, 52640 KB/s, 1 seconds passed +... 43%, 54176 KB, 52658 KB/s, 1 seconds passed +... 43%, 54208 KB, 52676 KB/s, 1 seconds passed +... 43%, 54240 KB, 52693 KB/s, 1 seconds passed +... 43%, 54272 KB, 52711 KB/s, 1 seconds passed +... 43%, 54304 KB, 52725 KB/s, 1 seconds passed +... 43%, 54336 KB, 52748 KB/s, 1 seconds passed +... 43%, 54368 KB, 52764 KB/s, 1 seconds passed +... 43%, 54400 KB, 52774 KB/s, 1 seconds passed +... 43%, 54432 KB, 52784 KB/s, 1 seconds passed +... 43%, 54464 KB, 52795 KB/s, 1 seconds passed +... 43%, 54496 KB, 52817 KB/s, 1 seconds passed +... 43%, 54528 KB, 52840 KB/s, 1 seconds passed +... 43%, 54560 KB, 52859 KB/s, 1 seconds passed +... 43%, 54592 KB, 52881 KB/s, 1 seconds passed +... 43%, 54624 KB, 52899 KB/s, 1 seconds passed +... 43%, 54656 KB, 52917 KB/s, 1 seconds passed +... 43%, 54688 KB, 52934 KB/s, 1 seconds passed +... 43%, 54720 KB, 52952 KB/s, 1 seconds passed +... 43%, 54752 KB, 52966 KB/s, 1 seconds passed +... 43%, 54784 KB, 52984 KB/s, 1 seconds passed +... 43%, 54816 KB, 53001 KB/s, 1 seconds passed +... 43%, 54848 KB, 53016 KB/s, 1 seconds passed +... 43%, 54880 KB, 53034 KB/s, 1 seconds passed +... 43%, 54912 KB, 53048 KB/s, 1 seconds passed +... 43%, 54944 KB, 53066 KB/s, 1 seconds passed +... 43%, 54976 KB, 53083 KB/s, 1 seconds passed +... 43%, 55008 KB, 53098 KB/s, 1 seconds passed +... 43%, 55040 KB, 53115 KB/s, 1 seconds passed +... 43%, 55072 KB, 53130 KB/s, 1 seconds passed +... 43%, 55104 KB, 53147 KB/s, 1 seconds passed +... 43%, 55136 KB, 52987 KB/s, 1 seconds passed +... 43%, 55168 KB, 52996 KB/s, 1 seconds passed +... 43%, 55200 KB, 53007 KB/s, 1 seconds passed +... 43%, 55232 KB, 53017 KB/s, 1 seconds passed +... 43%, 55264 KB, 53041 KB/s, 1 seconds passed +... 43%, 55296 KB, 53065 KB/s, 1 seconds passed +... 43%, 55328 KB, 53082 KB/s, 1 seconds passed +... 43%, 55360 KB, 53100 KB/s, 1 seconds passed +... 43%, 55392 KB, 53117 KB/s, 1 seconds passed +... 44%, 55424 KB, 53134 KB/s, 1 seconds passed +... 44%, 55456 KB, 53152 KB/s, 1 seconds passed +... 44%, 55488 KB, 51653 KB/s, 1 seconds passed +... 44%, 55520 KB, 51658 KB/s, 1 seconds passed +... 44%, 55552 KB, 51669 KB/s, 1 seconds passed +... 44%, 55584 KB, 51682 KB/s, 1 seconds passed +... 44%, 55616 KB, 51666 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 44%, 55648 KB, 51677 KB/s, 1 seconds passed +... 44%, 55680 KB, 51689 KB/s, 1 seconds passed +... 44%, 55712 KB, 51701 KB/s, 1 seconds passed +... 44%, 55744 KB, 51712 KB/s, 1 seconds passed +... 44%, 55776 KB, 51724 KB/s, 1 seconds passed +... 44%, 55808 KB, 51736 KB/s, 1 seconds passed +... 44%, 55840 KB, 51748 KB/s, 1 seconds passed +... 44%, 55872 KB, 51760 KB/s, 1 seconds passed +... 44%, 55904 KB, 51772 KB/s, 1 seconds passed +... 44%, 55936 KB, 51779 KB/s, 1 seconds passed +... 44%, 55968 KB, 51790 KB/s, 1 seconds passed +... 44%, 56000 KB, 51802 KB/s, 1 seconds passed +... 44%, 56032 KB, 51813 KB/s, 1 seconds passed +... 44%, 56064 KB, 51824 KB/s, 1 seconds passed +... 44%, 56096 KB, 51836 KB/s, 1 seconds passed +... 44%, 56128 KB, 51847 KB/s, 1 seconds passed +... 44%, 56160 KB, 51861 KB/s, 1 seconds passed +... 44%, 56192 KB, 51877 KB/s, 1 seconds passed +... 44%, 56224 KB, 51892 KB/s, 1 seconds passed +... 44%, 56256 KB, 51909 KB/s, 1 seconds passed +... 44%, 56288 KB, 51923 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 44%, 56320 KB, 49866 KB/s, 1 seconds passed +... 44%, 56352 KB, 49873 KB/s, 1 seconds passed +... 44%, 56384 KB, 49880 KB/s, 1 seconds passed +... 44%, 56416 KB, 49891 KB/s, 1 seconds passed +... 44%, 56448 KB, 49904 KB/s, 1 seconds passed +... 44%, 56480 KB, 49917 KB/s, 1 seconds passed +... 44%, 56512 KB, 49929 KB/s, 1 seconds passed +... 44%, 56544 KB, 49939 KB/s, 1 seconds passed +... 44%, 56576 KB, 49951 KB/s, 1 seconds passed +... 44%, 56608 KB, 49962 KB/s, 1 seconds passed +... 44%, 56640 KB, 49972 KB/s, 1 seconds passed +... 44%, 56672 KB, 49984 KB/s, 1 seconds passed +... 45%, 56704 KB, 49995 KB/s, 1 seconds passed +... 45%, 56736 KB, 50006 KB/s, 1 seconds passed +... 45%, 56768 KB, 50018 KB/s, 1 seconds passed +... 45%, 56800 KB, 50029 KB/s, 1 seconds passed +... 45%, 56832 KB, 50040 KB/s, 1 seconds passed +... 45%, 56864 KB, 50050 KB/s, 1 seconds passed +... 45%, 56896 KB, 50061 KB/s, 1 seconds passed +... 45%, 56928 KB, 50073 KB/s, 1 seconds passed +... 45%, 56960 KB, 50084 KB/s, 1 seconds passed +... 45%, 56992 KB, 50095 KB/s, 1 seconds passed +... 45%, 57024 KB, 50108 KB/s, 1 seconds passed +... 45%, 57056 KB, 50121 KB/s, 1 seconds passed +... 45%, 57088 KB, 50134 KB/s, 1 seconds passed +... 45%, 57120 KB, 50146 KB/s, 1 seconds passed +... 45%, 57152 KB, 50159 KB/s, 1 seconds passed +... 45%, 57184 KB, 50171 KB/s, 1 seconds passed +... 45%, 57216 KB, 50183 KB/s, 1 seconds passed +... 45%, 57248 KB, 50194 KB/s, 1 seconds passed +... 45%, 57280 KB, 50207 KB/s, 1 seconds passed +... 45%, 57312 KB, 50220 KB/s, 1 seconds passed +... 45%, 57344 KB, 50232 KB/s, 1 seconds passed +... 45%, 57376 KB, 50244 KB/s, 1 seconds passed +... 45%, 57408 KB, 50257 KB/s, 1 seconds passed +... 45%, 57440 KB, 50270 KB/s, 1 seconds passed +... 45%, 57472 KB, 50283 KB/s, 1 seconds passed +... 45%, 57504 KB, 50296 KB/s, 1 seconds passed +... 45%, 57536 KB, 50309 KB/s, 1 seconds passed +... 45%, 57568 KB, 50321 KB/s, 1 seconds passed +... 45%, 57600 KB, 50333 KB/s, 1 seconds passed +... 45%, 57632 KB, 50347 KB/s, 1 seconds passed +... 45%, 57664 KB, 50360 KB/s, 1 seconds passed +... 45%, 57696 KB, 50373 KB/s, 1 seconds passed +... 45%, 57728 KB, 50385 KB/s, 1 seconds passed +... 45%, 57760 KB, 50398 KB/s, 1 seconds passed +... 45%, 57792 KB, 50411 KB/s, 1 seconds passed +... 45%, 57824 KB, 50424 KB/s, 1 seconds passed +... 45%, 57856 KB, 50436 KB/s, 1 seconds passed +... 45%, 57888 KB, 50449 KB/s, 1 seconds passed +... 45%, 57920 KB, 50465 KB/s, 1 seconds passed +... 46%, 57952 KB, 50482 KB/s, 1 seconds passed +... 46%, 57984 KB, 50499 KB/s, 1 seconds passed +... 46%, 58016 KB, 50517 KB/s, 1 seconds passed +... 46%, 58048 KB, 50535 KB/s, 1 seconds passed +... 46%, 58080 KB, 50553 KB/s, 1 seconds passed +... 46%, 58112 KB, 50570 KB/s, 1 seconds passed +... 46%, 58144 KB, 50588 KB/s, 1 seconds passed +... 46%, 58176 KB, 50606 KB/s, 1 seconds passed +... 46%, 58208 KB, 50624 KB/s, 1 seconds passed +... 46%, 58240 KB, 50642 KB/s, 1 seconds passed +... 46%, 58272 KB, 50660 KB/s, 1 seconds passed +... 46%, 58304 KB, 50677 KB/s, 1 seconds passed +... 46%, 58336 KB, 50695 KB/s, 1 seconds passed +... 46%, 58368 KB, 50712 KB/s, 1 seconds passed +... 46%, 58400 KB, 50729 KB/s, 1 seconds passed +... 46%, 58432 KB, 50747 KB/s, 1 seconds passed +... 46%, 58464 KB, 50765 KB/s, 1 seconds passed +... 46%, 58496 KB, 50782 KB/s, 1 seconds passed +... 46%, 58528 KB, 50799 KB/s, 1 seconds passed +... 46%, 58560 KB, 50817 KB/s, 1 seconds passed +... 46%, 58592 KB, 50834 KB/s, 1 seconds passed +... 46%, 58624 KB, 50852 KB/s, 1 seconds passed +... 46%, 58656 KB, 50869 KB/s, 1 seconds passed +... 46%, 58688 KB, 50887 KB/s, 1 seconds passed +... 46%, 58720 KB, 50905 KB/s, 1 seconds passed +... 46%, 58752 KB, 50923 KB/s, 1 seconds passed +... 46%, 58784 KB, 50940 KB/s, 1 seconds passed +... 46%, 58816 KB, 50958 KB/s, 1 seconds passed +... 46%, 58848 KB, 50974 KB/s, 1 seconds passed +... 46%, 58880 KB, 50992 KB/s, 1 seconds passed +... 46%, 58912 KB, 51010 KB/s, 1 seconds passed +... 46%, 58944 KB, 51027 KB/s, 1 seconds passed +... 46%, 58976 KB, 51045 KB/s, 1 seconds passed +... 46%, 59008 KB, 51063 KB/s, 1 seconds passed +... 46%, 59040 KB, 51080 KB/s, 1 seconds passed +... 46%, 59072 KB, 51097 KB/s, 1 seconds passed +... 46%, 59104 KB, 51114 KB/s, 1 seconds passed +... 46%, 59136 KB, 51132 KB/s, 1 seconds passed +... 46%, 59168 KB, 51149 KB/s, 1 seconds passed +... 47%, 59200 KB, 51167 KB/s, 1 seconds passed +... 47%, 59232 KB, 51185 KB/s, 1 seconds passed +... 47%, 59264 KB, 51202 KB/s, 1 seconds passed +... 47%, 59296 KB, 51218 KB/s, 1 seconds passed +... 47%, 59328 KB, 51239 KB/s, 1 seconds passed +... 47%, 59360 KB, 51260 KB/s, 1 seconds passed +... 47%, 59392 KB, 51281 KB/s, 1 seconds passed +... 47%, 59424 KB, 51302 KB/s, 1 seconds passed +... 47%, 59456 KB, 51323 KB/s, 1 seconds passed +... 47%, 59488 KB, 51344 KB/s, 1 seconds passed +... 47%, 59520 KB, 51365 KB/s, 1 seconds passed +... 47%, 59552 KB, 51385 KB/s, 1 seconds passed +... 47%, 59584 KB, 51406 KB/s, 1 seconds passed +... 47%, 59616 KB, 51427 KB/s, 1 seconds passed +... 47%, 59648 KB, 51447 KB/s, 1 seconds passed +... 47%, 59680 KB, 51468 KB/s, 1 seconds passed +... 47%, 59712 KB, 51489 KB/s, 1 seconds passed +... 47%, 59744 KB, 51509 KB/s, 1 seconds passed +... 47%, 59776 KB, 51529 KB/s, 1 seconds passed +... 47%, 59808 KB, 51546 KB/s, 1 seconds passed +... 47%, 59840 KB, 51562 KB/s, 1 seconds passed +... 47%, 59872 KB, 51577 KB/s, 1 seconds passed +... 47%, 59904 KB, 51591 KB/s, 1 seconds passed +... 47%, 59936 KB, 51602 KB/s, 1 seconds passed +... 47%, 59968 KB, 51622 KB/s, 1 seconds passed +... 47%, 60000 KB, 51636 KB/s, 1 seconds passed +... 47%, 60032 KB, 51652 KB/s, 1 seconds passed +... 47%, 60064 KB, 51663 KB/s, 1 seconds passed +... 47%, 60096 KB, 51679 KB/s, 1 seconds passed +... 47%, 60128 KB, 51697 KB/s, 1 seconds passed +... 47%, 60160 KB, 51710 KB/s, 1 seconds passed +... 47%, 60192 KB, 51729 KB/s, 1 seconds passed +... 47%, 60224 KB, 51744 KB/s, 1 seconds passed +... 47%, 60256 KB, 51621 KB/s, 1 seconds passed +... 47%, 60288 KB, 51637 KB/s, 1 seconds passed +... 47%, 60320 KB, 51651 KB/s, 1 seconds passed +... 47%, 60352 KB, 51661 KB/s, 1 seconds passed +... 47%, 60384 KB, 51671 KB/s, 1 seconds passed +... 47%, 60416 KB, 51682 KB/s, 1 seconds passed +... 47%, 60448 KB, 51694 KB/s, 1 seconds passed +... 48%, 60480 KB, 51694 KB/s, 1 seconds passed +... 48%, 60512 KB, 51706 KB/s, 1 seconds passed +... 48%, 60544 KB, 51716 KB/s, 1 seconds passed +... 48%, 60576 KB, 51727 KB/s, 1 seconds passed +... 48%, 60608 KB, 51738 KB/s, 1 seconds passed +... 48%, 60640 KB, 51749 KB/s, 1 seconds passed +... 48%, 60672 KB, 51758 KB/s, 1 seconds passed +... 48%, 60704 KB, 51769 KB/s, 1 seconds passed +... 48%, 60736 KB, 51780 KB/s, 1 seconds passed +... 48%, 60768 KB, 51791 KB/s, 1 seconds passed +... 48%, 60800 KB, 51803 KB/s, 1 seconds passed +... 48%, 60832 KB, 51814 KB/s, 1 seconds passed +... 48%, 60864 KB, 51825 KB/s, 1 seconds passed +... 48%, 60896 KB, 51836 KB/s, 1 seconds passed +... 48%, 60928 KB, 51847 KB/s, 1 seconds passed +... 48%, 60960 KB, 51857 KB/s, 1 seconds passed +... 48%, 60992 KB, 51867 KB/s, 1 seconds passed +... 48%, 61024 KB, 51877 KB/s, 1 seconds passed +... 48%, 61056 KB, 51888 KB/s, 1 seconds passed +... 48%, 61088 KB, 51898 KB/s, 1 seconds passed +... 48%, 61120 KB, 51909 KB/s, 1 seconds passed +... 48%, 61152 KB, 51921 KB/s, 1 seconds passed +... 48%, 61184 KB, 51938 KB/s, 1 seconds passed +... 48%, 61216 KB, 51954 KB/s, 1 seconds passed +... 48%, 61248 KB, 51972 KB/s, 1 seconds passed +... 48%, 61280 KB, 51990 KB/s, 1 seconds passed +... 48%, 61312 KB, 52008 KB/s, 1 seconds passed +... 48%, 61344 KB, 52027 KB/s, 1 seconds passed +... 48%, 61376 KB, 52046 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 48%, 61408 KB, 52065 KB/s, 1 seconds passed +... 48%, 61440 KB, 51476 KB/s, 1 seconds passed +... 48%, 61472 KB, 51469 KB/s, 1 seconds passed +... 48%, 61504 KB, 51477 KB/s, 1 seconds passed +... 48%, 61536 KB, 51486 KB/s, 1 seconds passed +... 48%, 61568 KB, 51495 KB/s, 1 seconds passed +... 48%, 61600 KB, 51508 KB/s, 1 seconds passed +... 48%, 61632 KB, 51495 KB/s, 1 seconds passed +... 48%, 61664 KB, 51506 KB/s, 1 seconds passed +... 48%, 61696 KB, 51517 KB/s, 1 seconds passed +... 49%, 61728 KB, 51528 KB/s, 1 seconds passed +... 49%, 61760 KB, 51538 KB/s, 1 seconds passed +... 49%, 61792 KB, 51548 KB/s, 1 seconds passed +... 49%, 61824 KB, 51558 KB/s, 1 seconds passed +... 49%, 61856 KB, 51569 KB/s, 1 seconds passed +... 49%, 61888 KB, 51579 KB/s, 1 seconds passed +... 49%, 61920 KB, 51587 KB/s, 1 seconds passed +... 49%, 61952 KB, 51597 KB/s, 1 seconds passed +... 49%, 61984 KB, 51608 KB/s, 1 seconds passed +... 49%, 62016 KB, 51618 KB/s, 1 seconds passed +... 49%, 62048 KB, 51630 KB/s, 1 seconds passed +... 49%, 62080 KB, 51639 KB/s, 1 seconds passed +... 49%, 62112 KB, 51650 KB/s, 1 seconds passed +... 49%, 62144 KB, 51660 KB/s, 1 seconds passed +... 49%, 62176 KB, 51670 KB/s, 1 seconds passed +... 49%, 62208 KB, 51682 KB/s, 1 seconds passed +... 49%, 62240 KB, 51690 KB/s, 1 seconds passed +... 49%, 62272 KB, 51700 KB/s, 1 seconds passed +... 49%, 62304 KB, 51711 KB/s, 1 seconds passed +... 49%, 62336 KB, 51721 KB/s, 1 seconds passed +... 49%, 62368 KB, 51732 KB/s, 1 seconds passed +... 49%, 62400 KB, 51743 KB/s, 1 seconds passed +... 49%, 62432 KB, 51754 KB/s, 1 seconds passed +... 49%, 62464 KB, 51764 KB/s, 1 seconds passed +... 49%, 62496 KB, 51775 KB/s, 1 seconds passed +... 49%, 62528 KB, 51785 KB/s, 1 seconds passed +... 49%, 62560 KB, 51795 KB/s, 1 seconds passed +... 49%, 62592 KB, 51804 KB/s, 1 seconds passed +... 49%, 62624 KB, 51815 KB/s, 1 seconds passed +... 49%, 62656 KB, 51829 KB/s, 1 seconds passed +... 49%, 62688 KB, 51845 KB/s, 1 seconds passed +... 49%, 62720 KB, 51861 KB/s, 1 seconds passed +... 49%, 62752 KB, 51877 KB/s, 1 seconds passed +... 49%, 62784 KB, 51893 KB/s, 1 seconds passed +... 49%, 62816 KB, 51909 KB/s, 1 seconds passed +... 49%, 62848 KB, 51925 KB/s, 1 seconds passed +... 49%, 62880 KB, 51940 KB/s, 1 seconds passed +... 49%, 62912 KB, 51956 KB/s, 1 seconds passed +... 49%, 62944 KB, 51973 KB/s, 1 seconds passed +... 49%, 62976 KB, 51989 KB/s, 1 seconds passed +... 50%, 63008 KB, 52005 KB/s, 1 seconds passed +... 50%, 63040 KB, 52022 KB/s, 1 seconds passed +... 50%, 63072 KB, 52036 KB/s, 1 seconds passed +... 50%, 63104 KB, 52052 KB/s, 1 seconds passed +... 50%, 63136 KB, 52068 KB/s, 1 seconds passed +... 50%, 63168 KB, 52084 KB/s, 1 seconds passed +... 50%, 63200 KB, 52100 KB/s, 1 seconds passed +... 50%, 63232 KB, 52116 KB/s, 1 seconds passed +... 50%, 63264 KB, 52132 KB/s, 1 seconds passed +... 50%, 63296 KB, 52148 KB/s, 1 seconds passed +... 50%, 63328 KB, 52164 KB/s, 1 seconds passed +... 50%, 63360 KB, 52180 KB/s, 1 seconds passed +... 50%, 63392 KB, 52196 KB/s, 1 seconds passed +... 50%, 63424 KB, 52212 KB/s, 1 seconds passed +... 50%, 63456 KB, 52228 KB/s, 1 seconds passed +... 50%, 63488 KB, 52244 KB/s, 1 seconds passed +... 50%, 63520 KB, 52261 KB/s, 1 seconds passed +... 50%, 63552 KB, 52277 KB/s, 1 seconds passed +... 50%, 63584 KB, 52293 KB/s, 1 seconds passed +... 50%, 63616 KB, 52308 KB/s, 1 seconds passed +... 50%, 63648 KB, 52325 KB/s, 1 seconds passed +... 50%, 63680 KB, 52341 KB/s, 1 seconds passed +... 50%, 63712 KB, 52357 KB/s, 1 seconds passed +... 50%, 63744 KB, 52372 KB/s, 1 seconds passed +... 50%, 63776 KB, 52389 KB/s, 1 seconds passed +... 50%, 63808 KB, 52405 KB/s, 1 seconds passed +... 50%, 63840 KB, 52421 KB/s, 1 seconds passed +... 50%, 63872 KB, 52437 KB/s, 1 seconds passed +... 50%, 63904 KB, 52453 KB/s, 1 seconds passed +... 50%, 63936 KB, 52469 KB/s, 1 seconds passed +... 50%, 63968 KB, 52486 KB/s, 1 seconds passed +... 50%, 64000 KB, 52504 KB/s, 1 seconds passed +... 50%, 64032 KB, 52523 KB/s, 1 seconds passed +... 50%, 64064 KB, 52543 KB/s, 1 seconds passed +... 50%, 64096 KB, 52562 KB/s, 1 seconds passed +... 50%, 64128 KB, 52581 KB/s, 1 seconds passed +... 50%, 64160 KB, 52600 KB/s, 1 seconds passed +... 50%, 64192 KB, 52620 KB/s, 1 seconds passed +... 50%, 64224 KB, 52637 KB/s, 1 seconds passed +... 51%, 64256 KB, 52656 KB/s, 1 seconds passed +... 51%, 64288 KB, 52675 KB/s, 1 seconds passed +... 51%, 64320 KB, 52694 KB/s, 1 seconds passed +... 51%, 64352 KB, 52713 KB/s, 1 seconds passed +... 51%, 64384 KB, 52732 KB/s, 1 seconds passed +... 51%, 64416 KB, 52751 KB/s, 1 seconds passed +... 51%, 64448 KB, 52769 KB/s, 1 seconds passed +... 51%, 64480 KB, 52781 KB/s, 1 seconds passed +... 51%, 64512 KB, 52799 KB/s, 1 seconds passed +... 51%, 64544 KB, 52813 KB/s, 1 seconds passed +... 51%, 64576 KB, 52826 KB/s, 1 seconds passed +... 51%, 64608 KB, 52841 KB/s, 1 seconds passed +... 51%, 64640 KB, 52855 KB/s, 1 seconds passed +... 51%, 64672 KB, 52868 KB/s, 1 seconds passed +... 51%, 64704 KB, 52883 KB/s, 1 seconds passed +... 51%, 64736 KB, 52895 KB/s, 1 seconds passed +... 51%, 64768 KB, 52910 KB/s, 1 seconds passed +... 51%, 64800 KB, 52925 KB/s, 1 seconds passed +... 51%, 64832 KB, 52940 KB/s, 1 seconds passed +... 51%, 64864 KB, 52952 KB/s, 1 seconds passed +... 51%, 64896 KB, 52967 KB/s, 1 seconds passed +... 51%, 64928 KB, 52979 KB/s, 1 seconds passed +... 51%, 64960 KB, 52994 KB/s, 1 seconds passed +... 51%, 64992 KB, 53009 KB/s, 1 seconds passed +... 51%, 65024 KB, 53026 KB/s, 1 seconds passed +... 51%, 65056 KB, 53038 KB/s, 1 seconds passed +... 51%, 65088 KB, 53053 KB/s, 1 seconds passed +... 51%, 65120 KB, 53068 KB/s, 1 seconds passed +... 51%, 65152 KB, 53080 KB/s, 1 seconds passed +... 51%, 65184 KB, 53095 KB/s, 1 seconds passed +... 51%, 65216 KB, 53103 KB/s, 1 seconds passed +... 51%, 65248 KB, 53119 KB/s, 1 seconds passed +... 51%, 65280 KB, 53134 KB/s, 1 seconds passed +... 51%, 65312 KB, 53150 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 51%, 65344 KB, 53065 KB/s, 1 seconds passed +... 51%, 65376 KB, 53075 KB/s, 1 seconds passed +... 51%, 65408 KB, 53083 KB/s, 1 seconds passed +... 51%, 65440 KB, 53095 KB/s, 1 seconds passed +... 51%, 65472 KB, 53110 KB/s, 1 seconds passed +... 52%, 65504 KB, 53124 KB/s, 1 seconds passed +... 52%, 65536 KB, 53137 KB/s, 1 seconds passed +... 52%, 65568 KB, 53124 KB/s, 1 seconds passed +... 52%, 65600 KB, 53136 KB/s, 1 seconds passed +... 52%, 65632 KB, 53151 KB/s, 1 seconds passed +... 52%, 65664 KB, 53166 KB/s, 1 seconds passed +... 52%, 65696 KB, 53178 KB/s, 1 seconds passed +... 52%, 65728 KB, 53193 KB/s, 1 seconds passed +... 52%, 65760 KB, 53208 KB/s, 1 seconds passed +... 52%, 65792 KB, 53220 KB/s, 1 seconds passed +... 52%, 65824 KB, 53235 KB/s, 1 seconds passed +... 52%, 65856 KB, 53249 KB/s, 1 seconds passed +... 52%, 65888 KB, 53262 KB/s, 1 seconds passed +... 52%, 65920 KB, 53279 KB/s, 1 seconds passed +... 52%, 65952 KB, 53291 KB/s, 1 seconds passed +... 52%, 65984 KB, 53305 KB/s, 1 seconds passed +... 52%, 66016 KB, 53318 KB/s, 1 seconds passed +... 52%, 66048 KB, 53332 KB/s, 1 seconds passed +... 52%, 66080 KB, 53347 KB/s, 1 seconds passed +... 52%, 66112 KB, 53360 KB/s, 1 seconds passed +... 52%, 66144 KB, 53373 KB/s, 1 seconds passed +... 52%, 66176 KB, 53383 KB/s, 1 seconds passed +... 52%, 66208 KB, 53397 KB/s, 1 seconds passed +... 52%, 66240 KB, 53410 KB/s, 1 seconds passed +... 52%, 66272 KB, 53424 KB/s, 1 seconds passed +... 52%, 66304 KB, 53441 KB/s, 1 seconds passed +... 52%, 66336 KB, 53455 KB/s, 1 seconds passed +... 52%, 66368 KB, 53468 KB/s, 1 seconds passed +... 52%, 66400 KB, 53482 KB/s, 1 seconds passed +... 52%, 66432 KB, 53498 KB/s, 1 seconds passed +... 52%, 66464 KB, 53510 KB/s, 1 seconds passed +... 52%, 66496 KB, 53525 KB/s, 1 seconds passed +... 52%, 66528 KB, 53539 KB/s, 1 seconds passed +... 52%, 66560 KB, 52352 KB/s, 1 seconds passed +... 52%, 66592 KB, 52360 KB/s, 1 seconds passed +... 52%, 66624 KB, 52368 KB/s, 1 seconds passed +... 52%, 66656 KB, 52375 KB/s, 1 seconds passed +... 52%, 66688 KB, 52384 KB/s, 1 seconds passed +... 52%, 66720 KB, 52394 KB/s, 1 seconds passed +... 52%, 66752 KB, 52404 KB/s, 1 seconds passed +... 53%, 66784 KB, 52415 KB/s, 1 seconds passed +... 53%, 66816 KB, 52428 KB/s, 1 seconds passed +... 53%, 66848 KB, 52441 KB/s, 1 seconds passed +... 53%, 66880 KB, 52424 KB/s, 1 seconds passed +... 53%, 66912 KB, 52431 KB/s, 1 seconds passed +... 53%, 66944 KB, 52441 KB/s, 1 seconds passed +... 53%, 66976 KB, 52451 KB/s, 1 seconds passed +... 53%, 67008 KB, 52461 KB/s, 1 seconds passed +... 53%, 67040 KB, 52470 KB/s, 1 seconds passed +... 53%, 67072 KB, 52480 KB/s, 1 seconds passed +... 53%, 67104 KB, 52490 KB/s, 1 seconds passed +... 53%, 67136 KB, 52498 KB/s, 1 seconds passed +... 53%, 67168 KB, 52508 KB/s, 1 seconds passed +... 53%, 67200 KB, 52518 KB/s, 1 seconds passed +... 53%, 67232 KB, 52528 KB/s, 1 seconds passed +... 53%, 67264 KB, 52537 KB/s, 1 seconds passed +... 53%, 67296 KB, 52547 KB/s, 1 seconds passed +... 53%, 67328 KB, 52556 KB/s, 1 seconds passed +... 53%, 67360 KB, 52565 KB/s, 1 seconds passed +... 53%, 67392 KB, 52574 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 53%, 67424 KB, 52584 KB/s, 1 seconds passed +... 53%, 67456 KB, 52594 KB/s, 1 seconds passed +... 53%, 67488 KB, 52603 KB/s, 1 seconds passed +... 53%, 67520 KB, 52612 KB/s, 1 seconds passed +... 53%, 67552 KB, 52623 KB/s, 1 seconds passed +... 53%, 67584 KB, 52631 KB/s, 1 seconds passed +... 53%, 67616 KB, 52641 KB/s, 1 seconds passed +... 53%, 67648 KB, 52651 KB/s, 1 seconds passed +... 53%, 67680 KB, 52661 KB/s, 1 seconds passed +... 53%, 67712 KB, 52671 KB/s, 1 seconds passed +... 53%, 67744 KB, 52680 KB/s, 1 seconds passed +... 53%, 67776 KB, 52690 KB/s, 1 seconds passed +... 53%, 67808 KB, 52700 KB/s, 1 seconds passed +... 53%, 67840 KB, 52709 KB/s, 1 seconds passed +... 53%, 67872 KB, 52719 KB/s, 1 seconds passed +... 53%, 67904 KB, 52728 KB/s, 1 seconds passed +... 53%, 67936 KB, 52737 KB/s, 1 seconds passed +... 53%, 67968 KB, 52746 KB/s, 1 seconds passed +... 53%, 68000 KB, 52756 KB/s, 1 seconds passed +... 54%, 68032 KB, 52766 KB/s, 1 seconds passed +... 54%, 68064 KB, 52781 KB/s, 1 seconds passed +... 54%, 68096 KB, 52795 KB/s, 1 seconds passed +... 54%, 68128 KB, 52810 KB/s, 1 seconds passed +... 54%, 68160 KB, 52825 KB/s, 1 seconds passed +... 54%, 68192 KB, 52839 KB/s, 1 seconds passed +... 54%, 68224 KB, 52854 KB/s, 1 seconds passed +... 54%, 68256 KB, 52868 KB/s, 1 seconds passed +... 54%, 68288 KB, 52883 KB/s, 1 seconds passed +... 54%, 68320 KB, 52898 KB/s, 1 seconds passed +... 54%, 68352 KB, 52913 KB/s, 1 seconds passed +... 54%, 68384 KB, 52927 KB/s, 1 seconds passed +... 54%, 68416 KB, 52941 KB/s, 1 seconds passed +... 54%, 68448 KB, 52956 KB/s, 1 seconds passed +... 54%, 68480 KB, 52971 KB/s, 1 seconds passed +... 54%, 68512 KB, 52985 KB/s, 1 seconds passed +... 54%, 68544 KB, 52999 KB/s, 1 seconds passed +... 54%, 68576 KB, 53014 KB/s, 1 seconds passed +... 54%, 68608 KB, 53029 KB/s, 1 seconds passed +... 54%, 68640 KB, 53044 KB/s, 1 seconds passed +... 54%, 68672 KB, 53058 KB/s, 1 seconds passed +... 54%, 68704 KB, 53072 KB/s, 1 seconds passed +... 54%, 68736 KB, 53087 KB/s, 1 seconds passed +... 54%, 68768 KB, 53102 KB/s, 1 seconds passed +... 54%, 68800 KB, 53117 KB/s, 1 seconds passed +... 54%, 68832 KB, 53131 KB/s, 1 seconds passed +... 54%, 68864 KB, 53146 KB/s, 1 seconds passed +... 54%, 68896 KB, 53160 KB/s, 1 seconds passed +... 54%, 68928 KB, 53174 KB/s, 1 seconds passed +... 54%, 68960 KB, 53189 KB/s, 1 seconds passed +... 54%, 68992 KB, 53204 KB/s, 1 seconds passed +... 54%, 69024 KB, 53219 KB/s, 1 seconds passed +... 54%, 69056 KB, 53233 KB/s, 1 seconds passed +... 54%, 69088 KB, 53248 KB/s, 1 seconds passed +... 54%, 69120 KB, 53263 KB/s, 1 seconds passed +... 54%, 69152 KB, 53277 KB/s, 1 seconds passed +... 54%, 69184 KB, 53292 KB/s, 1 seconds passed +... 54%, 69216 KB, 53307 KB/s, 1 seconds passed +... 54%, 69248 KB, 53321 KB/s, 1 seconds passed +... 55%, 69280 KB, 53335 KB/s, 1 seconds passed +... 55%, 69312 KB, 53350 KB/s, 1 seconds passed +... 55%, 69344 KB, 53367 KB/s, 1 seconds passed +... 55%, 69376 KB, 53384 KB/s, 1 seconds passed +... 55%, 69408 KB, 53402 KB/s, 1 seconds passed +... 55%, 69440 KB, 53420 KB/s, 1 seconds passed +... 55%, 69472 KB, 53437 KB/s, 1 seconds passed +... 55%, 69504 KB, 53454 KB/s, 1 seconds passed +... 55%, 69536 KB, 53472 KB/s, 1 seconds passed +... 55%, 69568 KB, 53490 KB/s, 1 seconds passed +... 55%, 69600 KB, 53508 KB/s, 1 seconds passed +... 55%, 69632 KB, 53526 KB/s, 1 seconds passed +... 55%, 69664 KB, 53543 KB/s, 1 seconds passed +... 55%, 69696 KB, 53561 KB/s, 1 seconds passed +... 55%, 69728 KB, 53578 KB/s, 1 seconds passed +... 55%, 69760 KB, 53596 KB/s, 1 seconds passed +... 55%, 69792 KB, 53614 KB/s, 1 seconds passed +... 55%, 69824 KB, 53632 KB/s, 1 seconds passed +... 55%, 69856 KB, 53650 KB/s, 1 seconds passed +... 55%, 69888 KB, 53668 KB/s, 1 seconds passed +... 55%, 69920 KB, 53685 KB/s, 1 seconds passed +... 55%, 69952 KB, 53703 KB/s, 1 seconds passed +... 55%, 69984 KB, 53720 KB/s, 1 seconds passed +... 55%, 70016 KB, 53732 KB/s, 1 seconds passed +... 55%, 70048 KB, 53740 KB/s, 1 seconds passed +... 55%, 70080 KB, 53756 KB/s, 1 seconds passed +... 55%, 70112 KB, 53772 KB/s, 1 seconds passed +... 55%, 70144 KB, 53784 KB/s, 1 seconds passed +... 55%, 70176 KB, 53797 KB/s, 1 seconds passed +... 55%, 70208 KB, 53809 KB/s, 1 seconds passed +... 55%, 70240 KB, 53823 KB/s, 1 seconds passed +... 55%, 70272 KB, 53836 KB/s, 1 seconds passed +... 55%, 70304 KB, 53848 KB/s, 1 seconds passed +... 55%, 70336 KB, 53861 KB/s, 1 seconds passed +... 55%, 70368 KB, 53875 KB/s, 1 seconds passed +... 55%, 70400 KB, 53889 KB/s, 1 seconds passed +... 55%, 70432 KB, 53900 KB/s, 1 seconds passed +... 55%, 70464 KB, 53912 KB/s, 1 seconds passed +... 55%, 70496 KB, 53925 KB/s, 1 seconds passed +... 55%, 70528 KB, 53939 KB/s, 1 seconds passed +... 56%, 70560 KB, 53950 KB/s, 1 seconds passed +... 56%, 70592 KB, 53963 KB/s, 1 seconds passed +... 56%, 70624 KB, 53977 KB/s, 1 seconds passed +... 56%, 70656 KB, 53993 KB/s, 1 seconds passed +... 56%, 70688 KB, 54006 KB/s, 1 seconds passed +... 56%, 70720 KB, 54020 KB/s, 1 seconds passed +... 56%, 70752 KB, 54033 KB/s, 1 seconds passed +... 56%, 70784 KB, 53916 KB/s, 1 seconds passed +... 56%, 70816 KB, 53930 KB/s, 1 seconds passed +... 56%, 70848 KB, 53943 KB/s, 1 seconds passed +... 56%, 70880 KB, 53957 KB/s, 1 seconds passed +... 56%, 70912 KB, 53878 KB/s, 1 seconds passed +... 56%, 70944 KB, 53885 KB/s, 1 seconds passed +... 56%, 70976 KB, 53899 KB/s, 1 seconds passed +... 56%, 71008 KB, 53918 KB/s, 1 seconds passed +... 56%, 71040 KB, 53932 KB/s, 1 seconds passed +... 56%, 71072 KB, 53943 KB/s, 1 seconds passed +... 56%, 71104 KB, 53957 KB/s, 1 seconds passed +... 56%, 71136 KB, 53970 KB/s, 1 seconds passed +... 56%, 71168 KB, 53984 KB/s, 1 seconds passed +... 56%, 71200 KB, 53995 KB/s, 1 seconds passed +... 56%, 71232 KB, 54009 KB/s, 1 seconds passed +... 56%, 71264 KB, 54020 KB/s, 1 seconds passed +... 56%, 71296 KB, 54034 KB/s, 1 seconds passed +... 56%, 71328 KB, 54047 KB/s, 1 seconds passed +... 56%, 71360 KB, 54058 KB/s, 1 seconds passed +... 56%, 71392 KB, 54074 KB/s, 1 seconds passed +... 56%, 71424 KB, 54085 KB/s, 1 seconds passed +... 56%, 71456 KB, 54096 KB/s, 1 seconds passed +... 56%, 71488 KB, 54110 KB/s, 1 seconds passed +... 56%, 71520 KB, 54123 KB/s, 1 seconds passed +... 56%, 71552 KB, 54137 KB/s, 1 seconds passed +... 56%, 71584 KB, 54148 KB/s, 1 seconds passed +... 56%, 71616 KB, 54161 KB/s, 1 seconds passed +... 56%, 71648 KB, 54177 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 56%, 71680 KB, 51120 KB/s, 1 seconds passed +... 56%, 71712 KB, 51123 KB/s, 1 seconds passed +... 56%, 71744 KB, 51132 KB/s, 1 seconds passed +... 56%, 71776 KB, 51140 KB/s, 1 seconds passed +... 57%, 71808 KB, 51149 KB/s, 1 seconds passed +... 57%, 71840 KB, 51157 KB/s, 1 seconds passed +... 57%, 71872 KB, 51166 KB/s, 1 seconds passed +... 57%, 71904 KB, 51175 KB/s, 1 seconds passed +... 57%, 71936 KB, 51184 KB/s, 1 seconds passed +... 57%, 71968 KB, 51193 KB/s, 1 seconds passed +... 57%, 72000 KB, 51202 KB/s, 1 seconds passed +... 57%, 72032 KB, 51211 KB/s, 1 seconds passed +... 57%, 72064 KB, 51220 KB/s, 1 seconds passed +... 57%, 72096 KB, 51228 KB/s, 1 seconds passed +... 57%, 72128 KB, 51237 KB/s, 1 seconds passed +... 57%, 72160 KB, 51244 KB/s, 1 seconds passed +... 57%, 72192 KB, 51253 KB/s, 1 seconds passed +... 57%, 72224 KB, 51262 KB/s, 1 seconds passed +... 57%, 72256 KB, 51271 KB/s, 1 seconds passed +... 57%, 72288 KB, 51278 KB/s, 1 seconds passed +... 57%, 72320 KB, 51287 KB/s, 1 seconds passed +... 57%, 72352 KB, 51296 KB/s, 1 seconds passed +... 57%, 72384 KB, 51306 KB/s, 1 seconds passed +... 57%, 72416 KB, 51315 KB/s, 1 seconds passed +... 57%, 72448 KB, 51325 KB/s, 1 seconds passed +... 57%, 72480 KB, 51335 KB/s, 1 seconds passed +... 57%, 72512 KB, 51343 KB/s, 1 seconds passed +... 57%, 72544 KB, 51354 KB/s, 1 seconds passed +... 57%, 72576 KB, 51362 KB/s, 1 seconds passed +... 57%, 72608 KB, 51373 KB/s, 1 seconds passed +... 57%, 72640 KB, 51384 KB/s, 1 seconds passed +... 57%, 72672 KB, 51394 KB/s, 1 seconds passed +... 57%, 72704 KB, 51405 KB/s, 1 seconds passed +... 57%, 72736 KB, 51417 KB/s, 1 seconds passed +... 57%, 72768 KB, 51427 KB/s, 1 seconds passed +... 57%, 72800 KB, 51436 KB/s, 1 seconds passed +... 57%, 72832 KB, 51448 KB/s, 1 seconds passed +... 57%, 72864 KB, 51457 KB/s, 1 seconds passed +... 57%, 72896 KB, 51467 KB/s, 1 seconds passed +... 57%, 72928 KB, 51478 KB/s, 1 seconds passed +... 57%, 72960 KB, 51489 KB/s, 1 seconds passed +... 57%, 72992 KB, 51499 KB/s, 1 seconds passed +... 57%, 73024 KB, 51510 KB/s, 1 seconds passed +... 58%, 73056 KB, 51521 KB/s, 1 seconds passed +... 58%, 73088 KB, 51531 KB/s, 1 seconds passed +... 58%, 73120 KB, 51542 KB/s, 1 seconds passed +... 58%, 73152 KB, 51553 KB/s, 1 seconds passed +... 58%, 73184 KB, 51564 KB/s, 1 seconds passed +... 58%, 73216 KB, 51574 KB/s, 1 seconds passed +... 58%, 73248 KB, 51586 KB/s, 1 seconds passed +... 58%, 73280 KB, 51600 KB/s, 1 seconds passed +... 58%, 73312 KB, 51614 KB/s, 1 seconds passed +... 58%, 73344 KB, 51629 KB/s, 1 seconds passed +... 58%, 73376 KB, 51644 KB/s, 1 seconds passed +... 58%, 73408 KB, 51658 KB/s, 1 seconds passed +... 58%, 73440 KB, 51672 KB/s, 1 seconds passed +... 58%, 73472 KB, 51687 KB/s, 1 seconds passed +... 58%, 73504 KB, 51701 KB/s, 1 seconds passed +... 58%, 73536 KB, 51716 KB/s, 1 seconds passed +... 58%, 73568 KB, 51732 KB/s, 1 seconds passed +... 58%, 73600 KB, 51746 KB/s, 1 seconds passed +... 58%, 73632 KB, 51760 KB/s, 1 seconds passed +... 58%, 73664 KB, 51775 KB/s, 1 seconds passed +... 58%, 73696 KB, 51789 KB/s, 1 seconds passed +... 58%, 73728 KB, 51803 KB/s, 1 seconds passed +... 58%, 73760 KB, 51818 KB/s, 1 seconds passed +... 58%, 73792 KB, 51834 KB/s, 1 seconds passed +... 58%, 73824 KB, 51848 KB/s, 1 seconds passed +... 58%, 73856 KB, 51861 KB/s, 1 seconds passed +... 58%, 73888 KB, 51875 KB/s, 1 seconds passed +... 58%, 73920 KB, 51890 KB/s, 1 seconds passed +... 58%, 73952 KB, 51905 KB/s, 1 seconds passed +... 58%, 73984 KB, 51919 KB/s, 1 seconds passed +... 58%, 74016 KB, 51934 KB/s, 1 seconds passed +... 58%, 74048 KB, 51948 KB/s, 1 seconds passed +... 58%, 74080 KB, 51963 KB/s, 1 seconds passed +... 58%, 74112 KB, 51977 KB/s, 1 seconds passed +... 58%, 74144 KB, 51992 KB/s, 1 seconds passed +... 58%, 74176 KB, 52006 KB/s, 1 seconds passed +... 58%, 74208 KB, 52021 KB/s, 1 seconds passed +... 58%, 74240 KB, 52036 KB/s, 1 seconds passed +... 58%, 74272 KB, 52050 KB/s, 1 seconds passed +... 58%, 74304 KB, 52064 KB/s, 1 seconds passed +... 59%, 74336 KB, 52079 KB/s, 1 seconds passed +... 59%, 74368 KB, 52094 KB/s, 1 seconds passed +... 59%, 74400 KB, 52110 KB/s, 1 seconds passed +... 59%, 74432 KB, 52125 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 59%, 74464 KB, 51695 KB/s, 1 seconds passed +... 59%, 74496 KB, 51701 KB/s, 1 seconds passed +... 59%, 74528 KB, 51709 KB/s, 1 seconds passed +... 59%, 74560 KB, 51719 KB/s, 1 seconds passed +... 59%, 74592 KB, 51728 KB/s, 1 seconds passed +... 59%, 74624 KB, 51739 KB/s, 1 seconds passed +... 59%, 74656 KB, 51749 KB/s, 1 seconds passed +... 59%, 74688 KB, 51759 KB/s, 1 seconds passed +... 59%, 74720 KB, 51769 KB/s, 1 seconds passed +... 59%, 74752 KB, 51780 KB/s, 1 seconds passed +... 59%, 74784 KB, 51782 KB/s, 1 seconds passed +... 59%, 74816 KB, 51792 KB/s, 1 seconds passed +... 59%, 74848 KB, 51691 KB/s, 1 seconds passed +... 59%, 74880 KB, 51695 KB/s, 1 seconds passed +... 59%, 74912 KB, 51699 KB/s, 1 seconds passed +... 59%, 74944 KB, 51707 KB/s, 1 seconds passed +... 59%, 74976 KB, 51714 KB/s, 1 seconds passed +... 59%, 75008 KB, 51722 KB/s, 1 seconds passed +... 59%, 75040 KB, 51731 KB/s, 1 seconds passed +... 59%, 75072 KB, 51740 KB/s, 1 seconds passed +... 59%, 75104 KB, 51749 KB/s, 1 seconds passed +... 59%, 75136 KB, 51757 KB/s, 1 seconds passed +... 59%, 75168 KB, 51765 KB/s, 1 seconds passed +... 59%, 75200 KB, 51775 KB/s, 1 seconds passed +... 59%, 75232 KB, 51786 KB/s, 1 seconds passed +... 59%, 75264 KB, 51797 KB/s, 1 seconds passed +... 59%, 75296 KB, 51763 KB/s, 1 seconds passed +... 59%, 75328 KB, 51768 KB/s, 1 seconds passed +... 59%, 75360 KB, 51773 KB/s, 1 seconds passed +... 59%, 75392 KB, 51780 KB/s, 1 seconds passed +... 59%, 75424 KB, 51788 KB/s, 1 seconds passed +... 59%, 75456 KB, 51796 KB/s, 1 seconds passed +... 59%, 75488 KB, 51804 KB/s, 1 seconds passed +... 59%, 75520 KB, 51813 KB/s, 1 seconds passed +... 59%, 75552 KB, 51821 KB/s, 1 seconds passed +... 60%, 75584 KB, 51830 KB/s, 1 seconds passed +... 60%, 75616 KB, 51839 KB/s, 1 seconds passed +... 60%, 75648 KB, 51847 KB/s, 1 seconds passed +... 60%, 75680 KB, 51855 KB/s, 1 seconds passed +... 60%, 75712 KB, 51863 KB/s, 1 seconds passed +... 60%, 75744 KB, 51871 KB/s, 1 seconds passed +... 60%, 75776 KB, 51879 KB/s, 1 seconds passed +... 60%, 75808 KB, 51888 KB/s, 1 seconds passed +... 60%, 75840 KB, 51900 KB/s, 1 seconds passed +... 60%, 75872 KB, 51911 KB/s, 1 seconds passed +... 60%, 75904 KB, 51923 KB/s, 1 seconds passed +... 60%, 75936 KB, 51935 KB/s, 1 seconds passed +... 60%, 75968 KB, 51947 KB/s, 1 seconds passed +... 60%, 76000 KB, 51958 KB/s, 1 seconds passed +... 60%, 76032 KB, 51970 KB/s, 1 seconds passed +... 60%, 76064 KB, 51982 KB/s, 1 seconds passed +... 60%, 76096 KB, 51994 KB/s, 1 seconds passed +... 60%, 76128 KB, 52006 KB/s, 1 seconds passed +... 60%, 76160 KB, 52016 KB/s, 1 seconds passed +... 60%, 76192 KB, 52028 KB/s, 1 seconds passed +... 60%, 76224 KB, 52040 KB/s, 1 seconds passed +... 60%, 76256 KB, 52052 KB/s, 1 seconds passed +... 60%, 76288 KB, 52063 KB/s, 1 seconds passed +... 60%, 76320 KB, 52075 KB/s, 1 seconds passed +... 60%, 76352 KB, 52087 KB/s, 1 seconds passed +... 60%, 76384 KB, 52099 KB/s, 1 seconds passed +... 60%, 76416 KB, 52110 KB/s, 1 seconds passed +... 60%, 76448 KB, 52122 KB/s, 1 seconds passed +... 60%, 76480 KB, 52134 KB/s, 1 seconds passed +... 60%, 76512 KB, 52146 KB/s, 1 seconds passed +... 60%, 76544 KB, 52158 KB/s, 1 seconds passed +... 60%, 76576 KB, 52172 KB/s, 1 seconds passed +... 60%, 76608 KB, 52185 KB/s, 1 seconds passed +... 60%, 76640 KB, 52199 KB/s, 1 seconds passed +... 60%, 76672 KB, 52213 KB/s, 1 seconds passed +... 60%, 76704 KB, 52227 KB/s, 1 seconds passed +... 60%, 76736 KB, 52240 KB/s, 1 seconds passed +... 60%, 76768 KB, 52254 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 60%, 76800 KB, 51552 KB/s, 1 seconds passed +... 61%, 76832 KB, 51557 KB/s, 1 seconds passed +... 61%, 76864 KB, 51565 KB/s, 1 seconds passed +... 61%, 76896 KB, 51574 KB/s, 1 seconds passed +... 61%, 76928 KB, 51581 KB/s, 1 seconds passed +... 61%, 76960 KB, 51590 KB/s, 1 seconds passed +... 61%, 76992 KB, 51598 KB/s, 1 seconds passed +... 61%, 77024 KB, 51606 KB/s, 1 seconds passed +... 61%, 77056 KB, 51615 KB/s, 1 seconds passed +... 61%, 77088 KB, 51623 KB/s, 1 seconds passed +... 61%, 77120 KB, 51631 KB/s, 1 seconds passed +... 61%, 77152 KB, 51640 KB/s, 1 seconds passed +... 61%, 77184 KB, 51647 KB/s, 1 seconds passed +... 61%, 77216 KB, 51656 KB/s, 1 seconds passed +... 61%, 77248 KB, 51664 KB/s, 1 seconds passed +... 61%, 77280 KB, 51673 KB/s, 1 seconds passed +... 61%, 77312 KB, 51681 KB/s, 1 seconds passed +... 61%, 77344 KB, 51689 KB/s, 1 seconds passed +... 61%, 77376 KB, 51697 KB/s, 1 seconds passed +... 61%, 77408 KB, 51705 KB/s, 1 seconds passed +... 61%, 77440 KB, 51713 KB/s, 1 seconds passed +... 61%, 77472 KB, 51720 KB/s, 1 seconds passed +... 61%, 77504 KB, 51728 KB/s, 1 seconds passed +... 61%, 77536 KB, 51736 KB/s, 1 seconds passed +... 61%, 77568 KB, 51744 KB/s, 1 seconds passed +... 61%, 77600 KB, 51753 KB/s, 1 seconds passed +... 61%, 77632 KB, 51761 KB/s, 1 seconds passed +... 61%, 77664 KB, 51768 KB/s, 1 seconds passed +... 61%, 77696 KB, 51776 KB/s, 1 seconds passed +... 61%, 77728 KB, 51784 KB/s, 1 seconds passed +... 61%, 77760 KB, 51794 KB/s, 1 seconds passed +... 61%, 77792 KB, 51807 KB/s, 1 seconds passed +... 61%, 77824 KB, 51820 KB/s, 1 seconds passed +... 61%, 77856 KB, 51833 KB/s, 1 seconds passed +... 61%, 77888 KB, 51846 KB/s, 1 seconds passed +... 61%, 77920 KB, 51858 KB/s, 1 seconds passed +... 61%, 77952 KB, 51871 KB/s, 1 seconds passed +... 61%, 77984 KB, 51884 KB/s, 1 seconds passed +... 61%, 78016 KB, 51896 KB/s, 1 seconds passed +... 61%, 78048 KB, 51909 KB/s, 1 seconds passed +... 61%, 78080 KB, 51921 KB/s, 1 seconds passed +... 62%, 78112 KB, 51933 KB/s, 1 seconds passed +... 62%, 78144 KB, 51946 KB/s, 1 seconds passed +... 62%, 78176 KB, 51959 KB/s, 1 seconds passed +... 62%, 78208 KB, 51972 KB/s, 1 seconds passed +... 62%, 78240 KB, 51984 KB/s, 1 seconds passed +... 62%, 78272 KB, 51997 KB/s, 1 seconds passed +... 62%, 78304 KB, 52010 KB/s, 1 seconds passed +... 62%, 78336 KB, 52022 KB/s, 1 seconds passed +... 62%, 78368 KB, 52035 KB/s, 1 seconds passed +... 62%, 78400 KB, 52047 KB/s, 1 seconds passed +... 62%, 78432 KB, 52060 KB/s, 1 seconds passed +... 62%, 78464 KB, 52072 KB/s, 1 seconds passed +... 62%, 78496 KB, 52085 KB/s, 1 seconds passed +... 62%, 78528 KB, 52097 KB/s, 1 seconds passed +... 62%, 78560 KB, 52110 KB/s, 1 seconds passed +... 62%, 78592 KB, 52122 KB/s, 1 seconds passed +... 62%, 78624 KB, 52135 KB/s, 1 seconds passed +... 62%, 78656 KB, 52148 KB/s, 1 seconds passed +... 62%, 78688 KB, 52161 KB/s, 1 seconds passed +... 62%, 78720 KB, 52173 KB/s, 1 seconds passed +... 62%, 78752 KB, 52186 KB/s, 1 seconds passed +... 62%, 78784 KB, 52198 KB/s, 1 seconds passed +... 62%, 78816 KB, 52211 KB/s, 1 seconds passed +... 62%, 78848 KB, 52224 KB/s, 1 seconds passed +... 62%, 78880 KB, 52237 KB/s, 1 seconds passed +... 62%, 78912 KB, 52250 KB/s, 1 seconds passed +... 62%, 78944 KB, 52263 KB/s, 1 seconds passed +... 62%, 78976 KB, 52276 KB/s, 1 seconds passed +... 62%, 79008 KB, 52288 KB/s, 1 seconds passed +... 62%, 79040 KB, 52302 KB/s, 1 seconds passed +... 62%, 79072 KB, 52318 KB/s, 1 seconds passed +... 62%, 79104 KB, 52333 KB/s, 1 seconds passed +... 62%, 79136 KB, 52349 KB/s, 1 seconds passed +... 62%, 79168 KB, 52364 KB/s, 1 seconds passed +... 62%, 79200 KB, 52379 KB/s, 1 seconds passed +... 62%, 79232 KB, 52394 KB/s, 1 seconds passed +... 62%, 79264 KB, 52410 KB/s, 1 seconds passed +... 62%, 79296 KB, 52425 KB/s, 1 seconds passed +... 62%, 79328 KB, 52441 KB/s, 1 seconds passed +... 63%, 79360 KB, 52456 KB/s, 1 seconds passed +... 63%, 79392 KB, 52472 KB/s, 1 seconds passed +... 63%, 79424 KB, 52487 KB/s, 1 seconds passed +... 63%, 79456 KB, 52503 KB/s, 1 seconds passed +... 63%, 79488 KB, 52517 KB/s, 1 seconds passed +... 63%, 79520 KB, 52529 KB/s, 1 seconds passed +... 63%, 79552 KB, 52538 KB/s, 1 seconds passed +... 63%, 79584 KB, 52548 KB/s, 1 seconds passed +... 63%, 79616 KB, 52563 KB/s, 1 seconds passed +... 63%, 79648 KB, 52575 KB/s, 1 seconds passed +... 63%, 79680 KB, 52586 KB/s, 1 seconds passed +... 63%, 79712 KB, 52596 KB/s, 1 seconds passed +... 63%, 79744 KB, 52609 KB/s, 1 seconds passed +... 63%, 79776 KB, 52619 KB/s, 1 seconds passed +... 63%, 79808 KB, 52630 KB/s, 1 seconds passed +... 63%, 79840 KB, 52641 KB/s, 1 seconds passed +... 63%, 79872 KB, 52654 KB/s, 1 seconds passed +... 63%, 79904 KB, 52663 KB/s, 1 seconds passed +... 63%, 79936 KB, 52674 KB/s, 1 seconds passed +... 63%, 79968 KB, 52686 KB/s, 1 seconds passed +... 63%, 80000 KB, 52697 KB/s, 1 seconds passed +... 63%, 80032 KB, 52708 KB/s, 1 seconds passed +... 63%, 80064 KB, 52723 KB/s, 1 seconds passed +... 63%, 80096 KB, 52733 KB/s, 1 seconds passed +... 63%, 80128 KB, 52743 KB/s, 1 seconds passed +... 63%, 80160 KB, 52755 KB/s, 1 seconds passed +... 63%, 80192 KB, 52767 KB/s, 1 seconds passed +... 63%, 80224 KB, 52779 KB/s, 1 seconds passed +... 63%, 80256 KB, 52791 KB/s, 1 seconds passed +... 63%, 80288 KB, 52799 KB/s, 1 seconds passed +... 63%, 80320 KB, 52813 KB/s, 1 seconds passed +... 63%, 80352 KB, 52823 KB/s, 1 seconds passed +... 63%, 80384 KB, 52837 KB/s, 1 seconds passed +... 63%, 80416 KB, 52843 KB/s, 1 seconds passed +... 63%, 80448 KB, 52858 KB/s, 1 seconds passed +... 63%, 80480 KB, 52871 KB/s, 1 seconds passed +... 63%, 80512 KB, 52880 KB/s, 1 seconds passed +... 63%, 80544 KB, 52887 KB/s, 1 seconds passed +... 63%, 80576 KB, 52894 KB/s, 1 seconds passed +... 63%, 80608 KB, 52903 KB/s, 1 seconds passed +... 64%, 80640 KB, 52580 KB/s, 1 seconds passed +... 64%, 80672 KB, 52585 KB/s, 1 seconds passed +... 64%, 80704 KB, 52591 KB/s, 1 seconds passed +... 64%, 80736 KB, 52598 KB/s, 1 seconds passed +... 64%, 80768 KB, 52606 KB/s, 1 seconds passed +... 64%, 80800 KB, 52615 KB/s, 1 seconds passed +... 64%, 80832 KB, 52623 KB/s, 1 seconds passed +... 64%, 80864 KB, 52630 KB/s, 1 seconds passed +... 64%, 80896 KB, 52638 KB/s, 1 seconds passed +... 64%, 80928 KB, 52646 KB/s, 1 seconds passed +... 64%, 80960 KB, 52654 KB/s, 1 seconds passed +... 64%, 80992 KB, 52663 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 64%, 81024 KB, 52671 KB/s, 1 seconds passed +... 64%, 81056 KB, 52679 KB/s, 1 seconds passed +... 64%, 81088 KB, 52687 KB/s, 1 seconds passed +... 64%, 81120 KB, 52696 KB/s, 1 seconds passed +... 64%, 81152 KB, 52704 KB/s, 1 seconds passed +... 64%, 81184 KB, 52711 KB/s, 1 seconds passed +... 64%, 81216 KB, 52718 KB/s, 1 seconds passed +... 64%, 81248 KB, 52726 KB/s, 1 seconds passed +... 64%, 81280 KB, 52735 KB/s, 1 seconds passed +... 64%, 81312 KB, 52743 KB/s, 1 seconds passed +... 64%, 81344 KB, 52751 KB/s, 1 seconds passed +... 64%, 81376 KB, 52759 KB/s, 1 seconds passed +... 64%, 81408 KB, 52769 KB/s, 1 seconds passed +... 64%, 81440 KB, 52779 KB/s, 1 seconds passed +... 64%, 81472 KB, 52789 KB/s, 1 seconds passed +... 64%, 81504 KB, 52799 KB/s, 1 seconds passed +... 64%, 81536 KB, 52808 KB/s, 1 seconds passed +... 64%, 81568 KB, 52817 KB/s, 1 seconds passed +... 64%, 81600 KB, 52827 KB/s, 1 seconds passed +... 64%, 81632 KB, 52836 KB/s, 1 seconds passed +... 64%, 81664 KB, 52846 KB/s, 1 seconds passed +... 64%, 81696 KB, 52857 KB/s, 1 seconds passed +... 64%, 81728 KB, 52869 KB/s, 1 seconds passed +... 64%, 81760 KB, 52881 KB/s, 1 seconds passed +... 64%, 81792 KB, 52894 KB/s, 1 seconds passed +... 64%, 81824 KB, 52906 KB/s, 1 seconds passed +... 64%, 81856 KB, 52918 KB/s, 1 seconds passed +... 65%, 81888 KB, 52931 KB/s, 1 seconds passed +... 65%, 81920 KB, 52197 KB/s, 1 seconds passed +... 65%, 81952 KB, 52200 KB/s, 1 seconds passed +... 65%, 81984 KB, 52207 KB/s, 1 seconds passed +... 65%, 82016 KB, 52214 KB/s, 1 seconds passed +... 65%, 82048 KB, 52221 KB/s, 1 seconds passed +... 65%, 82080 KB, 52228 KB/s, 1 seconds passed +... 65%, 82112 KB, 52236 KB/s, 1 seconds passed +... 65%, 82144 KB, 52242 KB/s, 1 seconds passed +... 65%, 82176 KB, 52249 KB/s, 1 seconds passed +... 65%, 82208 KB, 52257 KB/s, 1 seconds passed +... 65%, 82240 KB, 52266 KB/s, 1 seconds passed +... 65%, 82272 KB, 52273 KB/s, 1 seconds passed +... 65%, 82304 KB, 52281 KB/s, 1 seconds passed +... 65%, 82336 KB, 52289 KB/s, 1 seconds passed +... 65%, 82368 KB, 52296 KB/s, 1 seconds passed +... 65%, 82400 KB, 52304 KB/s, 1 seconds passed +... 65%, 82432 KB, 52311 KB/s, 1 seconds passed +... 65%, 82464 KB, 52318 KB/s, 1 seconds passed +... 65%, 82496 KB, 52325 KB/s, 1 seconds passed +... 65%, 82528 KB, 52332 KB/s, 1 seconds passed +... 65%, 82560 KB, 52340 KB/s, 1 seconds passed +... 65%, 82592 KB, 52348 KB/s, 1 seconds passed +... 65%, 82624 KB, 52355 KB/s, 1 seconds passed +... 65%, 82656 KB, 52363 KB/s, 1 seconds passed +... 65%, 82688 KB, 52369 KB/s, 1 seconds passed +... 65%, 82720 KB, 52377 KB/s, 1 seconds passed +... 65%, 82752 KB, 52385 KB/s, 1 seconds passed +... 65%, 82784 KB, 52392 KB/s, 1 seconds passed +... 65%, 82816 KB, 52400 KB/s, 1 seconds passed +... 65%, 82848 KB, 52407 KB/s, 1 seconds passed +... 65%, 82880 KB, 52415 KB/s, 1 seconds passed +... 65%, 82912 KB, 52423 KB/s, 1 seconds passed +... 65%, 82944 KB, 52431 KB/s, 1 seconds passed +... 65%, 82976 KB, 52441 KB/s, 1 seconds passed +... 65%, 83008 KB, 52453 KB/s, 1 seconds passed +... 65%, 83040 KB, 52465 KB/s, 1 seconds passed +... 65%, 83072 KB, 52477 KB/s, 1 seconds passed +... 65%, 83104 KB, 52489 KB/s, 1 seconds passed +... 66%, 83136 KB, 52501 KB/s, 1 seconds passed +... 66%, 83168 KB, 52514 KB/s, 1 seconds passed +... 66%, 83200 KB, 52525 KB/s, 1 seconds passed +... 66%, 83232 KB, 52537 KB/s, 1 seconds passed +... 66%, 83264 KB, 52550 KB/s, 1 seconds passed +... 66%, 83296 KB, 52562 KB/s, 1 seconds passed +... 66%, 83328 KB, 52574 KB/s, 1 seconds passed +... 66%, 83360 KB, 52587 KB/s, 1 seconds passed +... 66%, 83392 KB, 52599 KB/s, 1 seconds passed +... 66%, 83424 KB, 52611 KB/s, 1 seconds passed +... 66%, 83456 KB, 52624 KB/s, 1 seconds passed +... 66%, 83488 KB, 52636 KB/s, 1 seconds passed +... 66%, 83520 KB, 52649 KB/s, 1 seconds passed +... 66%, 83552 KB, 52661 KB/s, 1 seconds passed +... 66%, 83584 KB, 52673 KB/s, 1 seconds passed +... 66%, 83616 KB, 52685 KB/s, 1 seconds passed +... 66%, 83648 KB, 52698 KB/s, 1 seconds passed +... 66%, 83680 KB, 52709 KB/s, 1 seconds passed +... 66%, 83712 KB, 52721 KB/s, 1 seconds passed +... 66%, 83744 KB, 52733 KB/s, 1 seconds passed +... 66%, 83776 KB, 52745 KB/s, 1 seconds passed +... 66%, 83808 KB, 52757 KB/s, 1 seconds passed +... 66%, 83840 KB, 52770 KB/s, 1 seconds passed +... 66%, 83872 KB, 52781 KB/s, 1 seconds passed +... 66%, 83904 KB, 52794 KB/s, 1 seconds passed +... 66%, 83936 KB, 52806 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 66%, 83968 KB, 52818 KB/s, 1 seconds passed +... 66%, 84000 KB, 52831 KB/s, 1 seconds passed +... 66%, 84032 KB, 52842 KB/s, 1 seconds passed +... 66%, 84064 KB, 52855 KB/s, 1 seconds passed +... 66%, 84096 KB, 52867 KB/s, 1 seconds passed +... 66%, 84128 KB, 52879 KB/s, 1 seconds passed +... 66%, 84160 KB, 52892 KB/s, 1 seconds passed +... 66%, 84192 KB, 52904 KB/s, 1 seconds passed +... 66%, 84224 KB, 52916 KB/s, 1 seconds passed +... 66%, 84256 KB, 52928 KB/s, 1 seconds passed +... 66%, 84288 KB, 52939 KB/s, 1 seconds passed +... 66%, 84320 KB, 52953 KB/s, 1 seconds passed +... 66%, 84352 KB, 52967 KB/s, 1 seconds passed +... 66%, 84384 KB, 52982 KB/s, 1 seconds passed +... 67%, 84416 KB, 52997 KB/s, 1 seconds passed +... 67%, 84448 KB, 53011 KB/s, 1 seconds passed +... 67%, 84480 KB, 53026 KB/s, 1 seconds passed +... 67%, 84512 KB, 53039 KB/s, 1 seconds passed +... 67%, 84544 KB, 53054 KB/s, 1 seconds passed +... 67%, 84576 KB, 53069 KB/s, 1 seconds passed +... 67%, 84608 KB, 53083 KB/s, 1 seconds passed +... 67%, 84640 KB, 53098 KB/s, 1 seconds passed +... 67%, 84672 KB, 53110 KB/s, 1 seconds passed +... 67%, 84704 KB, 53121 KB/s, 1 seconds passed +... 67%, 84736 KB, 53129 KB/s, 1 seconds passed +... 67%, 84768 KB, 53140 KB/s, 1 seconds passed +... 67%, 84800 KB, 53151 KB/s, 1 seconds passed +... 67%, 84832 KB, 53163 KB/s, 1 seconds passed +... 67%, 84864 KB, 53174 KB/s, 1 seconds passed +... 67%, 84896 KB, 53185 KB/s, 1 seconds passed +... 67%, 84928 KB, 53197 KB/s, 1 seconds passed +... 67%, 84960 KB, 53208 KB/s, 1 seconds passed +... 67%, 84992 KB, 53219 KB/s, 1 seconds passed +... 67%, 85024 KB, 53227 KB/s, 1 seconds passed +... 67%, 85056 KB, 53238 KB/s, 1 seconds passed +... 67%, 85088 KB, 53251 KB/s, 1 seconds passed +... 67%, 85120 KB, 53262 KB/s, 1 seconds passed +... 67%, 85152 KB, 53274 KB/s, 1 seconds passed +... 67%, 85184 KB, 53285 KB/s, 1 seconds passed +... 67%, 85216 KB, 53294 KB/s, 1 seconds passed +... 67%, 85248 KB, 53305 KB/s, 1 seconds passed +... 67%, 85280 KB, 53315 KB/s, 1 seconds passed +... 67%, 85312 KB, 53324 KB/s, 1 seconds passed +... 67%, 85344 KB, 53334 KB/s, 1 seconds passed +... 67%, 85376 KB, 53345 KB/s, 1 seconds passed +... 67%, 85408 KB, 53355 KB/s, 1 seconds passed +... 67%, 85440 KB, 52771 KB/s, 1 seconds passed +... 67%, 85472 KB, 52778 KB/s, 1 seconds passed +... 67%, 85504 KB, 52785 KB/s, 1 seconds passed +... 67%, 85536 KB, 52792 KB/s, 1 seconds passed +... 67%, 85568 KB, 52800 KB/s, 1 seconds passed +... 67%, 85600 KB, 52808 KB/s, 1 seconds passed +... 67%, 85632 KB, 52816 KB/s, 1 seconds passed +... 68%, 85664 KB, 52823 KB/s, 1 seconds passed +... 68%, 85696 KB, 52831 KB/s, 1 seconds passed +... 68%, 85728 KB, 52838 KB/s, 1 seconds passed +... 68%, 85760 KB, 52845 KB/s, 1 seconds passed +... 68%, 85792 KB, 52852 KB/s, 1 seconds passed +... 68%, 85824 KB, 52860 KB/s, 1 seconds passed +... 68%, 85856 KB, 52867 KB/s, 1 seconds passed +... 68%, 85888 KB, 52874 KB/s, 1 seconds passed +... 68%, 85920 KB, 52881 KB/s, 1 seconds passed +... 68%, 85952 KB, 52889 KB/s, 1 seconds passed +... 68%, 85984 KB, 52896 KB/s, 1 seconds passed +... 68%, 86016 KB, 52904 KB/s, 1 seconds passed +... 68%, 86048 KB, 52911 KB/s, 1 seconds passed +... 68%, 86080 KB, 52918 KB/s, 1 seconds passed +... 68%, 86112 KB, 52925 KB/s, 1 seconds passed +... 68%, 86144 KB, 52933 KB/s, 1 seconds passed +... 68%, 86176 KB, 52941 KB/s, 1 seconds passed +... 68%, 86208 KB, 52947 KB/s, 1 seconds passed +... 68%, 86240 KB, 52955 KB/s, 1 seconds passed +... 68%, 86272 KB, 52962 KB/s, 1 seconds passed +... 68%, 86304 KB, 52970 KB/s, 1 seconds passed +... 68%, 86336 KB, 52977 KB/s, 1 seconds passed +... 68%, 86368 KB, 52984 KB/s, 1 seconds passed +... 68%, 86400 KB, 52992 KB/s, 1 seconds passed +... 68%, 86432 KB, 53000 KB/s, 1 seconds passed +... 68%, 86464 KB, 53007 KB/s, 1 seconds passed +... 68%, 86496 KB, 53015 KB/s, 1 seconds passed +... 68%, 86528 KB, 53022 KB/s, 1 seconds passed +... 68%, 86560 KB, 53029 KB/s, 1 seconds passed +... 68%, 86592 KB, 53038 KB/s, 1 seconds passed +... 68%, 86624 KB, 53050 KB/s, 1 seconds passed +... 68%, 86656 KB, 53062 KB/s, 1 seconds passed +... 68%, 86688 KB, 53076 KB/s, 1 seconds passed +... 68%, 86720 KB, 53089 KB/s, 1 seconds passed +... 68%, 86752 KB, 53102 KB/s, 1 seconds passed +... 68%, 86784 KB, 53116 KB/s, 1 seconds passed +... 68%, 86816 KB, 53129 KB/s, 1 seconds passed +... 68%, 86848 KB, 53141 KB/s, 1 seconds passed +... 68%, 86880 KB, 53155 KB/s, 1 seconds passed +... 69%, 86912 KB, 53168 KB/s, 1 seconds passed +... 69%, 86944 KB, 53182 KB/s, 1 seconds passed +... 69%, 86976 KB, 53195 KB/s, 1 seconds passed +... 69%, 87008 KB, 53208 KB/s, 1 seconds passed +... 69%, 87040 KB, 53090 KB/s, 1 seconds passed +... 69%, 87072 KB, 53088 KB/s, 1 seconds passed +... 69%, 87104 KB, 53100 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 69%, 87136 KB, 53089 KB/s, 1 seconds passed +... 69%, 87168 KB, 53094 KB/s, 1 seconds passed +... 69%, 87200 KB, 53105 KB/s, 1 seconds passed +... 69%, 87232 KB, 53117 KB/s, 1 seconds passed +... 69%, 87264 KB, 53128 KB/s, 1 seconds passed +... 69%, 87296 KB, 53125 KB/s, 1 seconds passed +... 69%, 87328 KB, 53135 KB/s, 1 seconds passed +... 69%, 87360 KB, 53145 KB/s, 1 seconds passed +... 69%, 87392 KB, 53156 KB/s, 1 seconds passed +... 69%, 87424 KB, 53166 KB/s, 1 seconds passed +... 69%, 87456 KB, 53176 KB/s, 1 seconds passed +... 69%, 87488 KB, 53187 KB/s, 1 seconds passed +... 69%, 87520 KB, 53197 KB/s, 1 seconds passed +... 69%, 87552 KB, 53208 KB/s, 1 seconds passed +... 69%, 87584 KB, 53219 KB/s, 1 seconds passed +... 69%, 87616 KB, 53229 KB/s, 1 seconds passed +... 69%, 87648 KB, 53240 KB/s, 1 seconds passed +... 69%, 87680 KB, 53250 KB/s, 1 seconds passed +... 69%, 87712 KB, 53260 KB/s, 1 seconds passed +... 69%, 87744 KB, 53271 KB/s, 1 seconds passed +... 69%, 87776 KB, 53281 KB/s, 1 seconds passed +... 69%, 87808 KB, 53291 KB/s, 1 seconds passed +... 69%, 87840 KB, 53301 KB/s, 1 seconds passed +... 69%, 87872 KB, 53312 KB/s, 1 seconds passed +... 69%, 87904 KB, 53322 KB/s, 1 seconds passed +... 69%, 87936 KB, 53333 KB/s, 1 seconds passed +... 69%, 87968 KB, 53344 KB/s, 1 seconds passed +... 69%, 88000 KB, 53354 KB/s, 1 seconds passed +... 69%, 88032 KB, 53365 KB/s, 1 seconds passed +... 69%, 88064 KB, 53376 KB/s, 1 seconds passed +... 69%, 88096 KB, 53385 KB/s, 1 seconds passed +... 69%, 88128 KB, 53396 KB/s, 1 seconds passed +... 69%, 88160 KB, 53405 KB/s, 1 seconds passed +... 70%, 88192 KB, 53416 KB/s, 1 seconds passed +... 70%, 88224 KB, 53427 KB/s, 1 seconds passed +... 70%, 88256 KB, 53437 KB/s, 1 seconds passed +... 70%, 88288 KB, 53448 KB/s, 1 seconds passed +... 70%, 88320 KB, 53458 KB/s, 1 seconds passed +... 70%, 88352 KB, 53468 KB/s, 1 seconds passed +... 70%, 88384 KB, 53479 KB/s, 1 seconds passed +... 70%, 88416 KB, 53490 KB/s, 1 seconds passed +... 70%, 88448 KB, 53499 KB/s, 1 seconds passed +... 70%, 88480 KB, 53510 KB/s, 1 seconds passed +... 70%, 88512 KB, 53521 KB/s, 1 seconds passed +... 70%, 88544 KB, 53530 KB/s, 1 seconds passed +... 70%, 88576 KB, 53541 KB/s, 1 seconds passed +... 70%, 88608 KB, 53551 KB/s, 1 seconds passed +... 70%, 88640 KB, 53562 KB/s, 1 seconds passed +... 70%, 88672 KB, 53571 KB/s, 1 seconds passed +... 70%, 88704 KB, 53585 KB/s, 1 seconds passed +... 70%, 88736 KB, 53596 KB/s, 1 seconds passed +... 70%, 88768 KB, 53605 KB/s, 1 seconds passed +... 70%, 88800 KB, 53616 KB/s, 1 seconds passed +... 70%, 88832 KB, 53627 KB/s, 1 seconds passed +... 70%, 88864 KB, 53638 KB/s, 1 seconds passed +... 70%, 88896 KB, 53647 KB/s, 1 seconds passed +... 70%, 88928 KB, 53658 KB/s, 1 seconds passed +... 70%, 88960 KB, 53663 KB/s, 1 seconds passed +... 70%, 88992 KB, 53674 KB/s, 1 seconds passed +... 70%, 89024 KB, 53683 KB/s, 1 seconds passed +... 70%, 89056 KB, 53694 KB/s, 1 seconds passed +... 70%, 89088 KB, 53704 KB/s, 1 seconds passed +... 70%, 89120 KB, 53715 KB/s, 1 seconds passed +... 70%, 89152 KB, 53724 KB/s, 1 seconds passed +... 70%, 89184 KB, 53735 KB/s, 1 seconds passed +... 70%, 89216 KB, 53746 KB/s, 1 seconds passed +... 70%, 89248 KB, 53755 KB/s, 1 seconds passed +... 70%, 89280 KB, 53766 KB/s, 1 seconds passed +... 70%, 89312 KB, 53778 KB/s, 1 seconds passed +... 70%, 89344 KB, 53789 KB/s, 1 seconds passed +... 70%, 89376 KB, 53799 KB/s, 1 seconds passed +... 70%, 89408 KB, 53810 KB/s, 1 seconds passed +... 71%, 89440 KB, 53819 KB/s, 1 seconds passed +... 71%, 89472 KB, 53830 KB/s, 1 seconds passed +... 71%, 89504 KB, 53841 KB/s, 1 seconds passed +... 71%, 89536 KB, 53850 KB/s, 1 seconds passed +... 71%, 89568 KB, 53862 KB/s, 1 seconds passed +... 71%, 89600 KB, 53871 KB/s, 1 seconds passed +... 71%, 89632 KB, 53882 KB/s, 1 seconds passed +... 71%, 89664 KB, 53889 KB/s, 1 seconds passed +... 71%, 89696 KB, 53900 KB/s, 1 seconds passed +... 71%, 89728 KB, 53911 KB/s, 1 seconds passed +... 71%, 89760 KB, 53921 KB/s, 1 seconds passed +... 71%, 89792 KB, 53930 KB/s, 1 seconds passed +... 71%, 89824 KB, 53940 KB/s, 1 seconds passed +... 71%, 89856 KB, 53952 KB/s, 1 seconds passed +... 71%, 89888 KB, 53962 KB/s, 1 seconds passed +... 71%, 89920 KB, 53973 KB/s, 1 seconds passed +... 71%, 89952 KB, 53982 KB/s, 1 seconds passed +... 71%, 89984 KB, 53993 KB/s, 1 seconds passed +... 71%, 90016 KB, 54004 KB/s, 1 seconds passed +... 71%, 90048 KB, 54014 KB/s, 1 seconds passed +... 71%, 90080 KB, 54025 KB/s, 1 seconds passed +... 71%, 90112 KB, 54035 KB/s, 1 seconds passed +... 71%, 90144 KB, 54044 KB/s, 1 seconds passed +... 71%, 90176 KB, 54055 KB/s, 1 seconds passed +... 71%, 90208 KB, 54066 KB/s, 1 seconds passed +... 71%, 90240 KB, 54075 KB/s, 1 seconds passed +... 71%, 90272 KB, 54085 KB/s, 1 seconds passed +... 71%, 90304 KB, 54093 KB/s, 1 seconds passed +... 71%, 90336 KB, 54102 KB/s, 1 seconds passed +... 71%, 90368 KB, 54112 KB/s, 1 seconds passed +... 71%, 90400 KB, 54126 KB/s, 1 seconds passed +... 71%, 90432 KB, 54137 KB/s, 1 seconds passed +... 71%, 90464 KB, 54146 KB/s, 1 seconds passed +... 71%, 90496 KB, 54157 KB/s, 1 seconds passed +... 71%, 90528 KB, 54167 KB/s, 1 seconds passed +... 71%, 90560 KB, 54176 KB/s, 1 seconds passed +... 71%, 90592 KB, 54187 KB/s, 1 seconds passed +... 71%, 90624 KB, 54198 KB/s, 1 seconds passed +... 71%, 90656 KB, 54203 KB/s, 1 seconds passed +... 72%, 90688 KB, 54213 KB/s, 1 seconds passed +... 72%, 90720 KB, 54219 KB/s, 1 seconds passed +... 72%, 90752 KB, 54233 KB/s, 1 seconds passed +... 72%, 90784 KB, 54245 KB/s, 1 seconds passed +... 72%, 90816 KB, 54254 KB/s, 1 seconds passed +... 72%, 90848 KB, 54264 KB/s, 1 seconds passed +... 72%, 90880 KB, 54275 KB/s, 1 seconds passed +... 72%, 90912 KB, 54284 KB/s, 1 seconds passed +... 72%, 90944 KB, 54296 KB/s, 1 seconds passed +... 72%, 90976 KB, 54307 KB/s, 1 seconds passed +... 72%, 91008 KB, 54316 KB/s, 1 seconds passed +... 72%, 91040 KB, 54326 KB/s, 1 seconds passed +... 72%, 91072 KB, 54337 KB/s, 1 seconds passed +... 72%, 91104 KB, 54348 KB/s, 1 seconds passed +... 72%, 91136 KB, 54357 KB/s, 1 seconds passed +... 72%, 91168 KB, 54367 KB/s, 1 seconds passed +... 72%, 91200 KB, 54378 KB/s, 1 seconds passed +... 72%, 91232 KB, 54388 KB/s, 1 seconds passed +... 72%, 91264 KB, 54397 KB/s, 1 seconds passed +... 72%, 91296 KB, 54408 KB/s, 1 seconds passed +... 72%, 91328 KB, 54417 KB/s, 1 seconds passed +... 72%, 91360 KB, 54427 KB/s, 1 seconds passed +... 72%, 91392 KB, 54438 KB/s, 1 seconds passed +... 72%, 91424 KB, 54447 KB/s, 1 seconds passed +... 72%, 91456 KB, 54457 KB/s, 1 seconds passed +... 72%, 91488 KB, 54468 KB/s, 1 seconds passed +... 72%, 91520 KB, 54452 KB/s, 1 seconds passed +... 72%, 91552 KB, 54462 KB/s, 1 seconds passed +... 72%, 91584 KB, 54473 KB/s, 1 seconds passed +... 72%, 91616 KB, 54484 KB/s, 1 seconds passed +... 72%, 91648 KB, 54492 KB/s, 1 seconds passed +... 72%, 91680 KB, 54503 KB/s, 1 seconds passed +... 72%, 91712 KB, 54513 KB/s, 1 seconds passed +... 72%, 91744 KB, 54524 KB/s, 1 seconds passed +... 72%, 91776 KB, 54533 KB/s, 1 seconds passed +... 72%, 91808 KB, 54543 KB/s, 1 seconds passed +... 72%, 91840 KB, 54551 KB/s, 1 seconds passed +... 72%, 91872 KB, 54556 KB/s, 1 seconds passed +... 72%, 91904 KB, 54565 KB/s, 1 seconds passed +... 72%, 91936 KB, 54580 KB/s, 1 seconds passed +... 73%, 91968 KB, 54592 KB/s, 1 seconds passed +... 73%, 92000 KB, 54599 KB/s, 1 seconds passed +... 73%, 92032 KB, 54610 KB/s, 1 seconds passed +... 73%, 92064 KB, 54620 KB/s, 1 seconds passed +... 73%, 92096 KB, 54630 KB/s, 1 seconds passed +... 73%, 92128 KB, 54643 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 73%, 92160 KB, 53349 KB/s, 1 seconds passed +... 73%, 92192 KB, 53354 KB/s, 1 seconds passed +... 73%, 92224 KB, 53347 KB/s, 1 seconds passed +... 73%, 92256 KB, 53354 KB/s, 1 seconds passed +... 73%, 92288 KB, 53358 KB/s, 1 seconds passed +... 73%, 92320 KB, 53365 KB/s, 1 seconds passed +... 73%, 92352 KB, 53372 KB/s, 1 seconds passed +... 73%, 92384 KB, 53379 KB/s, 1 seconds passed +... 73%, 92416 KB, 53386 KB/s, 1 seconds passed +... 73%, 92448 KB, 53394 KB/s, 1 seconds passed +... 73%, 92480 KB, 53402 KB/s, 1 seconds passed +... 73%, 92512 KB, 53407 KB/s, 1 seconds passed +... 73%, 92544 KB, 53414 KB/s, 1 seconds passed +... 73%, 92576 KB, 53420 KB/s, 1 seconds passed +... 73%, 92608 KB, 53427 KB/s, 1 seconds passed +... 73%, 92640 KB, 53433 KB/s, 1 seconds passed +... 73%, 92672 KB, 53440 KB/s, 1 seconds passed +... 73%, 92704 KB, 53447 KB/s, 1 seconds passed +... 73%, 92736 KB, 53454 KB/s, 1 seconds passed +... 73%, 92768 KB, 53461 KB/s, 1 seconds passed +... 73%, 92800 KB, 53468 KB/s, 1 seconds passed +... 73%, 92832 KB, 53474 KB/s, 1 seconds passed +... 73%, 92864 KB, 53480 KB/s, 1 seconds passed +... 73%, 92896 KB, 53487 KB/s, 1 seconds passed +... 73%, 92928 KB, 53493 KB/s, 1 seconds passed +... 73%, 92960 KB, 53500 KB/s, 1 seconds passed +... 73%, 92992 KB, 53508 KB/s, 1 seconds passed +... 73%, 93024 KB, 53514 KB/s, 1 seconds passed +... 73%, 93056 KB, 53521 KB/s, 1 seconds passed +... 73%, 93088 KB, 53527 KB/s, 1 seconds passed +... 73%, 93120 KB, 53533 KB/s, 1 seconds passed +... 73%, 93152 KB, 53540 KB/s, 1 seconds passed +... 73%, 93184 KB, 53547 KB/s, 1 seconds passed +... 74%, 93216 KB, 53553 KB/s, 1 seconds passed +... 74%, 93248 KB, 53560 KB/s, 1 seconds passed +... 74%, 93280 KB, 53566 KB/s, 1 seconds passed +... 74%, 93312 KB, 53573 KB/s, 1 seconds passed +... 74%, 93344 KB, 53580 KB/s, 1 seconds passed +... 74%, 93376 KB, 53587 KB/s, 1 seconds passed +... 74%, 93408 KB, 53593 KB/s, 1 seconds passed +... 74%, 93440 KB, 53601 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 74%, 93472 KB, 53608 KB/s, 1 seconds passed +... 74%, 93504 KB, 53618 KB/s, 1 seconds passed +... 74%, 93536 KB, 53628 KB/s, 1 seconds passed +... 74%, 93568 KB, 53639 KB/s, 1 seconds passed +... 74%, 93600 KB, 53650 KB/s, 1 seconds passed +... 74%, 93632 KB, 53660 KB/s, 1 seconds passed +... 74%, 93664 KB, 53671 KB/s, 1 seconds passed +... 74%, 93696 KB, 53682 KB/s, 1 seconds passed +... 74%, 93728 KB, 53693 KB/s, 1 seconds passed +... 74%, 93760 KB, 53703 KB/s, 1 seconds passed +... 74%, 93792 KB, 53714 KB/s, 1 seconds passed +... 74%, 93824 KB, 53725 KB/s, 1 seconds passed +... 74%, 93856 KB, 53735 KB/s, 1 seconds passed +... 74%, 93888 KB, 53746 KB/s, 1 seconds passed +... 74%, 93920 KB, 53757 KB/s, 1 seconds passed +... 74%, 93952 KB, 53768 KB/s, 1 seconds passed +... 74%, 93984 KB, 53779 KB/s, 1 seconds passed +... 74%, 94016 KB, 53789 KB/s, 1 seconds passed +... 74%, 94048 KB, 53799 KB/s, 1 seconds passed +... 74%, 94080 KB, 53810 KB/s, 1 seconds passed +... 74%, 94112 KB, 53820 KB/s, 1 seconds passed +... 74%, 94144 KB, 53831 KB/s, 1 seconds passed +... 74%, 94176 KB, 53842 KB/s, 1 seconds passed +... 74%, 94208 KB, 53852 KB/s, 1 seconds passed +... 74%, 94240 KB, 53863 KB/s, 1 seconds passed +... 74%, 94272 KB, 53874 KB/s, 1 seconds passed +... 74%, 94304 KB, 53884 KB/s, 1 seconds passed +... 74%, 94336 KB, 53895 KB/s, 1 seconds passed +... 74%, 94368 KB, 53906 KB/s, 1 seconds passed +... 74%, 94400 KB, 53916 KB/s, 1 seconds passed +... 74%, 94432 KB, 53927 KB/s, 1 seconds passed +... 74%, 94464 KB, 53938 KB/s, 1 seconds passed +... 75%, 94496 KB, 53948 KB/s, 1 seconds passed +... 75%, 94528 KB, 53959 KB/s, 1 seconds passed +... 75%, 94560 KB, 53969 KB/s, 1 seconds passed +... 75%, 94592 KB, 53979 KB/s, 1 seconds passed +... 75%, 94624 KB, 53989 KB/s, 1 seconds passed +... 75%, 94656 KB, 54000 KB/s, 1 seconds passed +... 75%, 94688 KB, 54011 KB/s, 1 seconds passed +... 75%, 94720 KB, 54022 KB/s, 1 seconds passed +... 75%, 94752 KB, 54032 KB/s, 1 seconds passed +... 75%, 94784 KB, 54044 KB/s, 1 seconds passed +... 75%, 94816 KB, 54057 KB/s, 1 seconds passed +... 75%, 94848 KB, 54070 KB/s, 1 seconds passed +... 75%, 94880 KB, 54083 KB/s, 1 seconds passed +... 75%, 94912 KB, 54096 KB/s, 1 seconds passed +... 75%, 94944 KB, 54109 KB/s, 1 seconds passed +... 75%, 94976 KB, 54122 KB/s, 1 seconds passed +... 75%, 95008 KB, 54135 KB/s, 1 seconds passed +... 75%, 95040 KB, 54148 KB/s, 1 seconds passed +... 75%, 95072 KB, 54161 KB/s, 1 seconds passed +... 75%, 95104 KB, 54174 KB/s, 1 seconds passed +... 75%, 95136 KB, 54187 KB/s, 1 seconds passed +... 75%, 95168 KB, 54200 KB/s, 1 seconds passed +... 75%, 95200 KB, 54213 KB/s, 1 seconds passed +... 75%, 95232 KB, 54226 KB/s, 1 seconds passed +... 75%, 95264 KB, 54239 KB/s, 1 seconds passed +... 75%, 95296 KB, 54252 KB/s, 1 seconds passed +... 75%, 95328 KB, 54265 KB/s, 1 seconds passed +... 75%, 95360 KB, 54278 KB/s, 1 seconds passed +... 75%, 95392 KB, 54291 KB/s, 1 seconds passed +... 75%, 95424 KB, 54302 KB/s, 1 seconds passed +... 75%, 95456 KB, 54311 KB/s, 1 seconds passed +... 75%, 95488 KB, 54321 KB/s, 1 seconds passed +... 75%, 95520 KB, 54331 KB/s, 1 seconds passed +... 75%, 95552 KB, 54340 KB/s, 1 seconds passed +... 75%, 95584 KB, 54345 KB/s, 1 seconds passed +... 75%, 95616 KB, 54350 KB/s, 1 seconds passed +... 75%, 95648 KB, 54360 KB/s, 1 seconds passed +... 75%, 95680 KB, 54373 KB/s, 1 seconds passed +... 75%, 95712 KB, 54386 KB/s, 1 seconds passed +... 76%, 95744 KB, 54398 KB/s, 1 seconds passed +... 76%, 95776 KB, 54408 KB/s, 1 seconds passed +... 76%, 95808 KB, 54413 KB/s, 1 seconds passed +... 76%, 95840 KB, 54418 KB/s, 1 seconds passed +... 76%, 95872 KB, 54431 KB/s, 1 seconds passed +... 76%, 95904 KB, 54444 KB/s, 1 seconds passed +... 76%, 95936 KB, 54456 KB/s, 1 seconds passed +... 76%, 95968 KB, 54466 KB/s, 1 seconds passed +... 76%, 96000 KB, 54476 KB/s, 1 seconds passed +... 76%, 96032 KB, 54484 KB/s, 1 seconds passed +... 76%, 96064 KB, 54403 KB/s, 1 seconds passed +... 76%, 96096 KB, 54408 KB/s, 1 seconds passed +... 76%, 96128 KB, 54413 KB/s, 1 seconds passed +... 76%, 96160 KB, 54419 KB/s, 1 seconds passed +... 76%, 96192 KB, 54425 KB/s, 1 seconds passed +... 76%, 96224 KB, 54432 KB/s, 1 seconds passed +... 76%, 96256 KB, 54440 KB/s, 1 seconds passed +... 76%, 96288 KB, 54449 KB/s, 1 seconds passed +... 76%, 96320 KB, 54458 KB/s, 1 seconds passed +... 76%, 96352 KB, 54467 KB/s, 1 seconds passed +... 76%, 96384 KB, 54476 KB/s, 1 seconds passed +... 76%, 96416 KB, 54486 KB/s, 1 seconds passed +... 76%, 96448 KB, 54495 KB/s, 1 seconds passed +... 76%, 96480 KB, 54504 KB/s, 1 seconds passed +... 76%, 96512 KB, 54513 KB/s, 1 seconds passed +... 76%, 96544 KB, 54522 KB/s, 1 seconds passed +... 76%, 96576 KB, 54530 KB/s, 1 seconds passed +... 76%, 96608 KB, 54540 KB/s, 1 seconds passed +... 76%, 96640 KB, 54548 KB/s, 1 seconds passed +... 76%, 96672 KB, 54557 KB/s, 1 seconds passed +... 76%, 96704 KB, 54566 KB/s, 1 seconds passed +... 76%, 96736 KB, 54574 KB/s, 1 seconds passed +... 76%, 96768 KB, 54584 KB/s, 1 seconds passed +... 76%, 96800 KB, 54592 KB/s, 1 seconds passed +... 76%, 96832 KB, 54601 KB/s, 1 seconds passed +... 76%, 96864 KB, 54610 KB/s, 1 seconds passed +... 76%, 96896 KB, 54619 KB/s, 1 seconds passed +... 76%, 96928 KB, 54628 KB/s, 1 seconds passed +... 76%, 96960 KB, 54637 KB/s, 1 seconds passed +... 77%, 96992 KB, 54647 KB/s, 1 seconds passed +... 77%, 97024 KB, 54658 KB/s, 1 seconds passed +... 77%, 97056 KB, 54669 KB/s, 1 seconds passed +... 77%, 97088 KB, 54680 KB/s, 1 seconds passed +... 77%, 97120 KB, 54690 KB/s, 1 seconds passed +... 77%, 97152 KB, 54701 KB/s, 1 seconds passed +... 77%, 97184 KB, 54711 KB/s, 1 seconds passed +... 77%, 97216 KB, 54722 KB/s, 1 seconds passed +... 77%, 97248 KB, 54734 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 77%, 97280 KB, 53683 KB/s, 1 seconds passed +... 77%, 97312 KB, 53684 KB/s, 1 seconds passed +... 77%, 97344 KB, 53689 KB/s, 1 seconds passed +... 77%, 97376 KB, 53695 KB/s, 1 seconds passed +... 77%, 97408 KB, 53701 KB/s, 1 seconds passed +... 77%, 97440 KB, 53707 KB/s, 1 seconds passed +... 77%, 97472 KB, 53714 KB/s, 1 seconds passed +... 77%, 97504 KB, 53723 KB/s, 1 seconds passed +... 77%, 97536 KB, 53731 KB/s, 1 seconds passed +... 77%, 97568 KB, 53737 KB/s, 1 seconds passed +... 77%, 97600 KB, 53743 KB/s, 1 seconds passed +... 77%, 97632 KB, 53749 KB/s, 1 seconds passed +... 77%, 97664 KB, 53754 KB/s, 1 seconds passed +... 77%, 97696 KB, 53761 KB/s, 1 seconds passed +... 77%, 97728 KB, 53767 KB/s, 1 seconds passed +... 77%, 97760 KB, 53774 KB/s, 1 seconds passed +... 77%, 97792 KB, 53779 KB/s, 1 seconds passed +... 77%, 97824 KB, 53786 KB/s, 1 seconds passed +... 77%, 97856 KB, 53792 KB/s, 1 seconds passed +... 77%, 97888 KB, 53798 KB/s, 1 seconds passed +... 77%, 97920 KB, 53804 KB/s, 1 seconds passed +... 77%, 97952 KB, 53810 KB/s, 1 seconds passed +... 77%, 97984 KB, 53816 KB/s, 1 seconds passed +... 77%, 98016 KB, 53823 KB/s, 1 seconds passed +... 77%, 98048 KB, 53829 KB/s, 1 seconds passed +... 77%, 98080 KB, 53836 KB/s, 1 seconds passed +... 77%, 98112 KB, 53842 KB/s, 1 seconds passed +... 77%, 98144 KB, 53849 KB/s, 1 seconds passed +... 77%, 98176 KB, 53855 KB/s, 1 seconds passed +... 77%, 98208 KB, 53861 KB/s, 1 seconds passed +... 77%, 98240 KB, 53868 KB/s, 1 seconds passed +... 78%, 98272 KB, 53873 KB/s, 1 seconds passed +... 78%, 98304 KB, 53878 KB/s, 1 seconds passed +... 78%, 98336 KB, 53888 KB/s, 1 seconds passed +... 78%, 98368 KB, 53897 KB/s, 1 seconds passed +... 78%, 98400 KB, 53907 KB/s, 1 seconds passed +... 78%, 98432 KB, 53917 KB/s, 1 seconds passed +... 78%, 98464 KB, 53927 KB/s, 1 seconds passed +... 78%, 98496 KB, 53937 KB/s, 1 seconds passed +... 78%, 98528 KB, 53947 KB/s, 1 seconds passed +... 78%, 98560 KB, 53957 KB/s, 1 seconds passed +... 78%, 98592 KB, 53967 KB/s, 1 seconds passed +... 78%, 98624 KB, 53978 KB/s, 1 seconds passed +... 78%, 98656 KB, 53988 KB/s, 1 seconds passed +... 78%, 98688 KB, 53999 KB/s, 1 seconds passed +... 78%, 98720 KB, 54009 KB/s, 1 seconds passed +... 78%, 98752 KB, 54019 KB/s, 1 seconds passed +... 78%, 98784 KB, 54029 KB/s, 1 seconds passed +... 78%, 98816 KB, 54040 KB/s, 1 seconds passed +... 78%, 98848 KB, 54050 KB/s, 1 seconds passed +... 78%, 98880 KB, 54060 KB/s, 1 seconds passed +... 78%, 98912 KB, 54070 KB/s, 1 seconds passed +... 78%, 98944 KB, 54080 KB/s, 1 seconds passed +... 78%, 98976 KB, 54090 KB/s, 1 seconds passed +... 78%, 99008 KB, 54101 KB/s, 1 seconds passed +... 78%, 99040 KB, 54111 KB/s, 1 seconds passed +... 78%, 99072 KB, 54122 KB/s, 1 seconds passed +... 78%, 99104 KB, 54131 KB/s, 1 seconds passed +... 78%, 99136 KB, 54141 KB/s, 1 seconds passed +... 78%, 99168 KB, 54151 KB/s, 1 seconds passed +... 78%, 99200 KB, 54162 KB/s, 1 seconds passed +... 78%, 99232 KB, 54172 KB/s, 1 seconds passed +... 78%, 99264 KB, 54182 KB/s, 1 seconds passed +... 78%, 99296 KB, 54192 KB/s, 1 seconds passed +... 78%, 99328 KB, 54202 KB/s, 1 seconds passed +... 78%, 99360 KB, 54213 KB/s, 1 seconds passed +... 78%, 99392 KB, 54223 KB/s, 1 seconds passed +... 78%, 99424 KB, 54233 KB/s, 1 seconds passed +... 78%, 99456 KB, 54243 KB/s, 1 seconds passed +... 78%, 99488 KB, 54254 KB/s, 1 seconds passed +... 79%, 99520 KB, 54264 KB/s, 1 seconds passed +... 79%, 99552 KB, 54275 KB/s, 1 seconds passed +... 79%, 99584 KB, 54285 KB/s, 1 seconds passed +... 79%, 99616 KB, 54295 KB/s, 1 seconds passed +... 79%, 99648 KB, 54308 KB/s, 1 seconds passed +... 79%, 99680 KB, 54320 KB/s, 1 seconds passed +... 79%, 99712 KB, 54333 KB/s, 1 seconds passed +... 79%, 99744 KB, 54345 KB/s, 1 seconds passed +... 79%, 99776 KB, 54358 KB/s, 1 seconds passed +... 79%, 99808 KB, 54370 KB/s, 1 seconds passed +... 79%, 99840 KB, 54383 KB/s, 1 seconds passed +... 79%, 99872 KB, 54395 KB/s, 1 seconds passed +... 79%, 99904 KB, 54407 KB/s, 1 seconds passed +... 79%, 99936 KB, 54419 KB/s, 1 seconds passed +... 79%, 99968 KB, 54432 KB/s, 1 seconds passed +... 79%, 100000 KB, 54444 KB/s, 1 seconds passed +... 79%, 100032 KB, 54456 KB/s, 1 seconds passed +... 79%, 100064 KB, 54466 KB/s, 1 seconds passed +... 79%, 100096 KB, 54474 KB/s, 1 seconds passed +... 79%, 100128 KB, 54483 KB/s, 1 seconds passed +... 79%, 100160 KB, 54493 KB/s, 1 seconds passed +... 79%, 100192 KB, 54501 KB/s, 1 seconds passed +... 79%, 100224 KB, 54511 KB/s, 1 seconds passed +... 79%, 100256 KB, 54520 KB/s, 1 seconds passed +... 79%, 100288 KB, 54528 KB/s, 1 seconds passed +... 79%, 100320 KB, 54538 KB/s, 1 seconds passed +... 79%, 100352 KB, 54547 KB/s, 1 seconds passed +... 79%, 100384 KB, 54555 KB/s, 1 seconds passed +... 79%, 100416 KB, 54566 KB/s, 1 seconds passed +... 79%, 100448 KB, 54575 KB/s, 1 seconds passed +... 79%, 100480 KB, 54582 KB/s, 1 seconds passed +... 79%, 100512 KB, 54594 KB/s, 1 seconds passed +... 79%, 100544 KB, 54602 KB/s, 1 seconds passed +... 79%, 100576 KB, 54610 KB/s, 1 seconds passed +... 79%, 100608 KB, 54618 KB/s, 1 seconds passed +... 79%, 100640 KB, 54625 KB/s, 1 seconds passed +... 79%, 100672 KB, 54630 KB/s, 1 seconds passed +... 79%, 100704 KB, 54635 KB/s, 1 seconds passed +... 79%, 100736 KB, 54647 KB/s, 1 seconds passed +... 80%, 100768 KB, 54659 KB/s, 1 seconds passed +... 80%, 100800 KB, 54672 KB/s, 1 seconds passed +... 80%, 100832 KB, 54683 KB/s, 1 seconds passed +... 80%, 100864 KB, 54690 KB/s, 1 seconds passed +... 80%, 100896 KB, 54701 KB/s, 1 seconds passed +... 80%, 100928 KB, 54709 KB/s, 1 seconds passed +... 80%, 100960 KB, 54719 KB/s, 1 seconds passed +... 80%, 100992 KB, 54728 KB/s, 1 seconds passed +... 80%, 101024 KB, 54738 KB/s, 1 seconds passed +... 80%, 101056 KB, 54746 KB/s, 1 seconds passed +... 80%, 101088 KB, 54757 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 80%, 101120 KB, 54767 KB/s, 1 seconds passed +... 80%, 101152 KB, 54623 KB/s, 1 seconds passed +... 80%, 101184 KB, 54633 KB/s, 1 seconds passed +... 80%, 101216 KB, 54641 KB/s, 1 seconds passed +... 80%, 101248 KB, 54651 KB/s, 1 seconds passed +... 80%, 101280 KB, 54659 KB/s, 1 seconds passed +... 80%, 101312 KB, 54669 KB/s, 1 seconds passed +... 80%, 101344 KB, 54678 KB/s, 1 seconds passed +... 80%, 101376 KB, 54688 KB/s, 1 seconds passed +... 80%, 101408 KB, 54696 KB/s, 1 seconds passed +... 80%, 101440 KB, 54705 KB/s, 1 seconds passed +... 80%, 101472 KB, 54715 KB/s, 1 seconds passed +... 80%, 101504 KB, 54724 KB/s, 1 seconds passed +... 80%, 101536 KB, 54732 KB/s, 1 seconds passed +... 80%, 101568 KB, 53812 KB/s, 1 seconds passed +... 80%, 101600 KB, 53814 KB/s, 1 seconds passed +... 80%, 101632 KB, 53819 KB/s, 1 seconds passed +... 80%, 101664 KB, 53826 KB/s, 1 seconds passed +... 80%, 101696 KB, 53831 KB/s, 1 seconds passed +... 80%, 101728 KB, 53837 KB/s, 1 seconds passed +... 80%, 101760 KB, 53843 KB/s, 1 seconds passed +... 80%, 101792 KB, 53851 KB/s, 1 seconds passed +... 80%, 101824 KB, 53857 KB/s, 1 seconds passed +... 80%, 101856 KB, 53863 KB/s, 1 seconds passed +... 80%, 101888 KB, 53868 KB/s, 1 seconds passed +... 80%, 101920 KB, 53874 KB/s, 1 seconds passed +... 80%, 101952 KB, 53879 KB/s, 1 seconds passed +... 80%, 101984 KB, 53886 KB/s, 1 seconds passed +... 80%, 102016 KB, 53892 KB/s, 1 seconds passed +... 81%, 102048 KB, 53898 KB/s, 1 seconds passed +... 81%, 102080 KB, 53904 KB/s, 1 seconds passed +... 81%, 102112 KB, 53910 KB/s, 1 seconds passed +... 81%, 102144 KB, 53916 KB/s, 1 seconds passed +... 81%, 102176 KB, 53921 KB/s, 1 seconds passed +... 81%, 102208 KB, 53926 KB/s, 1 seconds passed +... 81%, 102240 KB, 53931 KB/s, 1 seconds passed +... 81%, 102272 KB, 53938 KB/s, 1 seconds passed +... 81%, 102304 KB, 53946 KB/s, 1 seconds passed +... 81%, 102336 KB, 53955 KB/s, 1 seconds passed +... 81%, 102368 KB, 53964 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 81%, 102400 KB, 52799 KB/s, 1 seconds passed +... 81%, 102432 KB, 52800 KB/s, 1 seconds passed +... 81%, 102464 KB, 52805 KB/s, 1 seconds passed +... 81%, 102496 KB, 52812 KB/s, 1 seconds passed +... 81%, 102528 KB, 52819 KB/s, 1 seconds passed +... 81%, 102560 KB, 52826 KB/s, 1 seconds passed +... 81%, 102592 KB, 52832 KB/s, 1 seconds passed +... 81%, 102624 KB, 52838 KB/s, 1 seconds passed +... 81%, 102656 KB, 52844 KB/s, 1 seconds passed +... 81%, 102688 KB, 52850 KB/s, 1 seconds passed +... 81%, 102720 KB, 52855 KB/s, 1 seconds passed +... 81%, 102752 KB, 52861 KB/s, 1 seconds passed +... 81%, 102784 KB, 52865 KB/s, 1 seconds passed +... 81%, 102816 KB, 52871 KB/s, 1 seconds passed +... 81%, 102848 KB, 52877 KB/s, 1 seconds passed +... 81%, 102880 KB, 52883 KB/s, 1 seconds passed +... 81%, 102912 KB, 52888 KB/s, 1 seconds passed +... 81%, 102944 KB, 52894 KB/s, 1 seconds passed +... 81%, 102976 KB, 52900 KB/s, 1 seconds passed +... 81%, 103008 KB, 52906 KB/s, 1 seconds passed +... 81%, 103040 KB, 52911 KB/s, 1 seconds passed +... 81%, 103072 KB, 52917 KB/s, 1 seconds passed +... 81%, 103104 KB, 52923 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 81%, 103136 KB, 52928 KB/s, 1 seconds passed +... 81%, 103168 KB, 52934 KB/s, 1 seconds passed +... 81%, 103200 KB, 52940 KB/s, 1 seconds passed +... 81%, 103232 KB, 52945 KB/s, 1 seconds passed +... 81%, 103264 KB, 52951 KB/s, 1 seconds passed +... 82%, 103296 KB, 52957 KB/s, 1 seconds passed +... 82%, 103328 KB, 52963 KB/s, 1 seconds passed +... 82%, 103360 KB, 52969 KB/s, 1 seconds passed +... 82%, 103392 KB, 52975 KB/s, 1 seconds passed +... 82%, 103424 KB, 52980 KB/s, 1 seconds passed +... 82%, 103456 KB, 52986 KB/s, 1 seconds passed +... 82%, 103488 KB, 52991 KB/s, 1 seconds passed +... 82%, 103520 KB, 52997 KB/s, 1 seconds passed +... 82%, 103552 KB, 53003 KB/s, 1 seconds passed +... 82%, 103584 KB, 53009 KB/s, 1 seconds passed +... 82%, 103616 KB, 53016 KB/s, 1 seconds passed +... 82%, 103648 KB, 53022 KB/s, 1 seconds passed +... 82%, 103680 KB, 53028 KB/s, 1 seconds passed +... 82%, 103712 KB, 53034 KB/s, 1 seconds passed +... 82%, 103744 KB, 53040 KB/s, 1 seconds passed +... 82%, 103776 KB, 53048 KB/s, 1 seconds passed +... 82%, 103808 KB, 53058 KB/s, 1 seconds passed +... 82%, 103840 KB, 53067 KB/s, 1 seconds passed +... 82%, 103872 KB, 53077 KB/s, 1 seconds passed +... 82%, 103904 KB, 53087 KB/s, 1 seconds passed +... 82%, 103936 KB, 53097 KB/s, 1 seconds passed +... 82%, 103968 KB, 53106 KB/s, 1 seconds passed +... 82%, 104000 KB, 53116 KB/s, 1 seconds passed +... 82%, 104032 KB, 53126 KB/s, 1 seconds passed +... 82%, 104064 KB, 53135 KB/s, 1 seconds passed +... 82%, 104096 KB, 53144 KB/s, 1 seconds passed +... 82%, 104128 KB, 53154 KB/s, 1 seconds passed +... 82%, 104160 KB, 53163 KB/s, 1 seconds passed +... 82%, 104192 KB, 53173 KB/s, 1 seconds passed +... 82%, 104224 KB, 53182 KB/s, 1 seconds passed +... 82%, 104256 KB, 53192 KB/s, 1 seconds passed +... 82%, 104288 KB, 53201 KB/s, 1 seconds passed +... 82%, 104320 KB, 53211 KB/s, 1 seconds passed +... 82%, 104352 KB, 53220 KB/s, 1 seconds passed +... 82%, 104384 KB, 53230 KB/s, 1 seconds passed +... 82%, 104416 KB, 53239 KB/s, 1 seconds passed +... 82%, 104448 KB, 53249 KB/s, 1 seconds passed +... 82%, 104480 KB, 53259 KB/s, 1 seconds passed +... 82%, 104512 KB, 53268 KB/s, 1 seconds passed +... 83%, 104544 KB, 53278 KB/s, 1 seconds passed +... 83%, 104576 KB, 53288 KB/s, 1 seconds passed +... 83%, 104608 KB, 53297 KB/s, 1 seconds passed +... 83%, 104640 KB, 53307 KB/s, 1 seconds passed +... 83%, 104672 KB, 53317 KB/s, 1 seconds passed +... 83%, 104704 KB, 53327 KB/s, 1 seconds passed +... 83%, 104736 KB, 53337 KB/s, 1 seconds passed +... 83%, 104768 KB, 53346 KB/s, 1 seconds passed +... 83%, 104800 KB, 53356 KB/s, 1 seconds passed +... 83%, 104832 KB, 53365 KB/s, 1 seconds passed +... 83%, 104864 KB, 53375 KB/s, 1 seconds passed +... 83%, 104896 KB, 53384 KB/s, 1 seconds passed +... 83%, 104928 KB, 53394 KB/s, 1 seconds passed +... 83%, 104960 KB, 53404 KB/s, 1 seconds passed +... 83%, 104992 KB, 53413 KB/s, 1 seconds passed +... 83%, 105024 KB, 53423 KB/s, 1 seconds passed +... 83%, 105056 KB, 53434 KB/s, 1 seconds passed +... 83%, 105088 KB, 53445 KB/s, 1 seconds passed +... 83%, 105120 KB, 53457 KB/s, 1 seconds passed +... 83%, 105152 KB, 53469 KB/s, 1 seconds passed +... 83%, 105184 KB, 53480 KB/s, 1 seconds passed +... 83%, 105216 KB, 53492 KB/s, 1 seconds passed +... 83%, 105248 KB, 53504 KB/s, 1 seconds passed +... 83%, 105280 KB, 53515 KB/s, 1 seconds passed +... 83%, 105312 KB, 53527 KB/s, 1 seconds passed +... 83%, 105344 KB, 53538 KB/s, 1 seconds passed +... 83%, 105376 KB, 53550 KB/s, 1 seconds passed +... 83%, 105408 KB, 53561 KB/s, 1 seconds passed +... 83%, 105440 KB, 53572 KB/s, 1 seconds passed +... 83%, 105472 KB, 53583 KB/s, 1 seconds passed +... 83%, 105504 KB, 53595 KB/s, 1 seconds passed +... 83%, 105536 KB, 53605 KB/s, 1 seconds passed +... 83%, 105568 KB, 53617 KB/s, 1 seconds passed +... 83%, 105600 KB, 53629 KB/s, 1 seconds passed +... 83%, 105632 KB, 53640 KB/s, 1 seconds passed +... 83%, 105664 KB, 53652 KB/s, 1 seconds passed +... 83%, 105696 KB, 53663 KB/s, 1 seconds passed +... 83%, 105728 KB, 53675 KB/s, 1 seconds passed +... 83%, 105760 KB, 53687 KB/s, 1 seconds passed +... 83%, 105792 KB, 53699 KB/s, 1 seconds passed +... 84%, 105824 KB, 53711 KB/s, 1 seconds passed +... 84%, 105856 KB, 53722 KB/s, 1 seconds passed +... 84%, 105888 KB, 53734 KB/s, 1 seconds passed +... 84%, 105920 KB, 53745 KB/s, 1 seconds passed +... 84%, 105952 KB, 53754 KB/s, 1 seconds passed +... 84%, 105984 KB, 53763 KB/s, 1 seconds passed +... 84%, 106016 KB, 53773 KB/s, 1 seconds passed +... 84%, 106048 KB, 53782 KB/s, 1 seconds passed +... 84%, 106080 KB, 53788 KB/s, 1 seconds passed +... 84%, 106112 KB, 53797 KB/s, 1 seconds passed +... 84%, 106144 KB, 53804 KB/s, 1 seconds passed +... 84%, 106176 KB, 53813 KB/s, 1 seconds passed +... 84%, 106208 KB, 53822 KB/s, 1 seconds passed +... 84%, 106240 KB, 53833 KB/s, 1 seconds passed +... 84%, 106272 KB, 53721 KB/s, 1 seconds passed +... 84%, 106304 KB, 53706 KB/s, 1 seconds passed +... 84%, 106336 KB, 53713 KB/s, 1 seconds passed +... 84%, 106368 KB, 53720 KB/s, 1 seconds passed +... 84%, 106400 KB, 53728 KB/s, 1 seconds passed +... 84%, 106432 KB, 53735 KB/s, 1 seconds passed +... 84%, 106464 KB, 53743 KB/s, 1 seconds passed +... 84%, 106496 KB, 53750 KB/s, 1 seconds passed +... 84%, 106528 KB, 53758 KB/s, 1 seconds passed +... 84%, 106560 KB, 53765 KB/s, 1 seconds passed +... 84%, 106592 KB, 53773 KB/s, 1 seconds passed +... 84%, 106624 KB, 53781 KB/s, 1 seconds passed +... 84%, 106656 KB, 53788 KB/s, 1 seconds passed +... 84%, 106688 KB, 53795 KB/s, 1 seconds passed +... 84%, 106720 KB, 53803 KB/s, 1 seconds passed +... 84%, 106752 KB, 53810 KB/s, 1 seconds passed +... 84%, 106784 KB, 53817 KB/s, 1 seconds passed +... 84%, 106816 KB, 53825 KB/s, 1 seconds passed +... 84%, 106848 KB, 53833 KB/s, 1 seconds passed +... 84%, 106880 KB, 53840 KB/s, 1 seconds passed +... 84%, 106912 KB, 53847 KB/s, 1 seconds passed +... 84%, 106944 KB, 53855 KB/s, 1 seconds passed +... 84%, 106976 KB, 53862 KB/s, 1 seconds passed +... 84%, 107008 KB, 53870 KB/s, 1 seconds passed +... 84%, 107040 KB, 53877 KB/s, 1 seconds passed +... 85%, 107072 KB, 53885 KB/s, 1 seconds passed +... 85%, 107104 KB, 53892 KB/s, 1 seconds passed +... 85%, 107136 KB, 53899 KB/s, 1 seconds passed +... 85%, 107168 KB, 53906 KB/s, 1 seconds passed +... 85%, 107200 KB, 53913 KB/s, 1 seconds passed +... 85%, 107232 KB, 53920 KB/s, 1 seconds passed +... 85%, 107264 KB, 53927 KB/s, 1 seconds passed +... 85%, 107296 KB, 53935 KB/s, 1 seconds passed +... 85%, 107328 KB, 53942 KB/s, 1 seconds passed +... 85%, 107360 KB, 53950 KB/s, 1 seconds passed +... 85%, 107392 KB, 53959 KB/s, 1 seconds passed +... 85%, 107424 KB, 53968 KB/s, 1 seconds passed +... 85%, 107456 KB, 53977 KB/s, 1 seconds passed +... 85%, 107488 KB, 53987 KB/s, 1 seconds passed + +.. parsed-literal:: + + ... 85%, 107520 KB, 52640 KB/s, 2 seconds passed +... 85%, 107552 KB, 52643 KB/s, 2 seconds passed +... 85%, 107584 KB, 52648 KB/s, 2 seconds passed +... 85%, 107616 KB, 52653 KB/s, 2 seconds passed +... 85%, 107648 KB, 52656 KB/s, 2 seconds passed +... 85%, 107680 KB, 52661 KB/s, 2 seconds passed +... 85%, 107712 KB, 52666 KB/s, 2 seconds passed +... 85%, 107744 KB, 52671 KB/s, 2 seconds passed +... 85%, 107776 KB, 52676 KB/s, 2 seconds passed +... 85%, 107808 KB, 52682 KB/s, 2 seconds passed +... 85%, 107840 KB, 52688 KB/s, 2 seconds passed +... 85%, 107872 KB, 52693 KB/s, 2 seconds passed +... 85%, 107904 KB, 52698 KB/s, 2 seconds passed +... 85%, 107936 KB, 52704 KB/s, 2 seconds passed +... 85%, 107968 KB, 52709 KB/s, 2 seconds passed +... 85%, 108000 KB, 52715 KB/s, 2 seconds passed +... 85%, 108032 KB, 52720 KB/s, 2 seconds passed +... 85%, 108064 KB, 52726 KB/s, 2 seconds passed +... 85%, 108096 KB, 52732 KB/s, 2 seconds passed +... 85%, 108128 KB, 52738 KB/s, 2 seconds passed +... 85%, 108160 KB, 52743 KB/s, 2 seconds passed +... 85%, 108192 KB, 52749 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 85%, 108224 KB, 52754 KB/s, 2 seconds passed +... 85%, 108256 KB, 52761 KB/s, 2 seconds passed +... 85%, 108288 KB, 52765 KB/s, 2 seconds passed +... 86%, 108320 KB, 52771 KB/s, 2 seconds passed +... 86%, 108352 KB, 52777 KB/s, 2 seconds passed +... 86%, 108384 KB, 52783 KB/s, 2 seconds passed +... 86%, 108416 KB, 52788 KB/s, 2 seconds passed +... 86%, 108448 KB, 52795 KB/s, 2 seconds passed +... 86%, 108480 KB, 52802 KB/s, 2 seconds passed +... 86%, 108512 KB, 52810 KB/s, 2 seconds passed +... 86%, 108544 KB, 52818 KB/s, 2 seconds passed +... 86%, 108576 KB, 52825 KB/s, 2 seconds passed +... 86%, 108608 KB, 52831 KB/s, 2 seconds passed +... 86%, 108640 KB, 52836 KB/s, 2 seconds passed +... 86%, 108672 KB, 52845 KB/s, 2 seconds passed +... 86%, 108704 KB, 52854 KB/s, 2 seconds passed +... 86%, 108736 KB, 52863 KB/s, 2 seconds passed +... 86%, 108768 KB, 52873 KB/s, 2 seconds passed +... 86%, 108800 KB, 52883 KB/s, 2 seconds passed +... 86%, 108832 KB, 52894 KB/s, 2 seconds passed +... 86%, 108864 KB, 52905 KB/s, 2 seconds passed +... 86%, 108896 KB, 52915 KB/s, 2 seconds passed +... 86%, 108928 KB, 52926 KB/s, 2 seconds passed +... 86%, 108960 KB, 52936 KB/s, 2 seconds passed +... 86%, 108992 KB, 52947 KB/s, 2 seconds passed +... 86%, 109024 KB, 52958 KB/s, 2 seconds passed +... 86%, 109056 KB, 52876 KB/s, 2 seconds passed +... 86%, 109088 KB, 52880 KB/s, 2 seconds passed +... 86%, 109120 KB, 52889 KB/s, 2 seconds passed +... 86%, 109152 KB, 52898 KB/s, 2 seconds passed +... 86%, 109184 KB, 52907 KB/s, 2 seconds passed +... 86%, 109216 KB, 52916 KB/s, 2 seconds passed +... 86%, 109248 KB, 52925 KB/s, 2 seconds passed +... 86%, 109280 KB, 52934 KB/s, 2 seconds passed +... 86%, 109312 KB, 52943 KB/s, 2 seconds passed +... 86%, 109344 KB, 52951 KB/s, 2 seconds passed +... 86%, 109376 KB, 52960 KB/s, 2 seconds passed +... 86%, 109408 KB, 52969 KB/s, 2 seconds passed +... 86%, 109440 KB, 52976 KB/s, 2 seconds passed +... 86%, 109472 KB, 52985 KB/s, 2 seconds passed +... 86%, 109504 KB, 52993 KB/s, 2 seconds passed +... 86%, 109536 KB, 53002 KB/s, 2 seconds passed +... 86%, 109568 KB, 53010 KB/s, 2 seconds passed +... 87%, 109600 KB, 53018 KB/s, 2 seconds passed +... 87%, 109632 KB, 53027 KB/s, 2 seconds passed +... 87%, 109664 KB, 53036 KB/s, 2 seconds passed +... 87%, 109696 KB, 53043 KB/s, 2 seconds passed +... 87%, 109728 KB, 53052 KB/s, 2 seconds passed +... 87%, 109760 KB, 53060 KB/s, 2 seconds passed +... 87%, 109792 KB, 53069 KB/s, 2 seconds passed +... 87%, 109824 KB, 53078 KB/s, 2 seconds passed +... 87%, 109856 KB, 53085 KB/s, 2 seconds passed +... 87%, 109888 KB, 53093 KB/s, 2 seconds passed +... 87%, 109920 KB, 53102 KB/s, 2 seconds passed +... 87%, 109952 KB, 53111 KB/s, 2 seconds passed +... 87%, 109984 KB, 53118 KB/s, 2 seconds passed +... 87%, 110016 KB, 53127 KB/s, 2 seconds passed +... 87%, 110048 KB, 53135 KB/s, 2 seconds passed +... 87%, 110080 KB, 53143 KB/s, 2 seconds passed +... 87%, 110112 KB, 53151 KB/s, 2 seconds passed +... 87%, 110144 KB, 53160 KB/s, 2 seconds passed +... 87%, 110176 KB, 53168 KB/s, 2 seconds passed +... 87%, 110208 KB, 53176 KB/s, 2 seconds passed +... 87%, 110240 KB, 53185 KB/s, 2 seconds passed +... 87%, 110272 KB, 53193 KB/s, 2 seconds passed +... 87%, 110304 KB, 53202 KB/s, 2 seconds passed +... 87%, 110336 KB, 53209 KB/s, 2 seconds passed +... 87%, 110368 KB, 53218 KB/s, 2 seconds passed +... 87%, 110400 KB, 53226 KB/s, 2 seconds passed +... 87%, 110432 KB, 53235 KB/s, 2 seconds passed +... 87%, 110464 KB, 53242 KB/s, 2 seconds passed +... 87%, 110496 KB, 53251 KB/s, 2 seconds passed +... 87%, 110528 KB, 53259 KB/s, 2 seconds passed +... 87%, 110560 KB, 53268 KB/s, 2 seconds passed +... 87%, 110592 KB, 53275 KB/s, 2 seconds passed +... 87%, 110624 KB, 53284 KB/s, 2 seconds passed +... 87%, 110656 KB, 53292 KB/s, 2 seconds passed +... 87%, 110688 KB, 53301 KB/s, 2 seconds passed +... 87%, 110720 KB, 53308 KB/s, 2 seconds passed +... 87%, 110752 KB, 53317 KB/s, 2 seconds passed +... 87%, 110784 KB, 53326 KB/s, 2 seconds passed +... 87%, 110816 KB, 53333 KB/s, 2 seconds passed +... 88%, 110848 KB, 53342 KB/s, 2 seconds passed +... 88%, 110880 KB, 53350 KB/s, 2 seconds passed +... 88%, 110912 KB, 53359 KB/s, 2 seconds passed +... 88%, 110944 KB, 53367 KB/s, 2 seconds passed +... 88%, 110976 KB, 53375 KB/s, 2 seconds passed +... 88%, 111008 KB, 53382 KB/s, 2 seconds passed +... 88%, 111040 KB, 53391 KB/s, 2 seconds passed +... 88%, 111072 KB, 53398 KB/s, 2 seconds passed +... 88%, 111104 KB, 53408 KB/s, 2 seconds passed +... 88%, 111136 KB, 53416 KB/s, 2 seconds passed +... 88%, 111168 KB, 53423 KB/s, 2 seconds passed +... 88%, 111200 KB, 53432 KB/s, 2 seconds passed +... 88%, 111232 KB, 53441 KB/s, 2 seconds passed +... 88%, 111264 KB, 53448 KB/s, 2 seconds passed +... 88%, 111296 KB, 53457 KB/s, 2 seconds passed +... 88%, 111328 KB, 53464 KB/s, 2 seconds passed +... 88%, 111360 KB, 53473 KB/s, 2 seconds passed +... 88%, 111392 KB, 53482 KB/s, 2 seconds passed +... 88%, 111424 KB, 53489 KB/s, 2 seconds passed +... 88%, 111456 KB, 53498 KB/s, 2 seconds passed +... 88%, 111488 KB, 53506 KB/s, 2 seconds passed +... 88%, 111520 KB, 53514 KB/s, 2 seconds passed +... 88%, 111552 KB, 53522 KB/s, 2 seconds passed +... 88%, 111584 KB, 53530 KB/s, 2 seconds passed +... 88%, 111616 KB, 53538 KB/s, 2 seconds passed +... 88%, 111648 KB, 53547 KB/s, 2 seconds passed +... 88%, 111680 KB, 53554 KB/s, 2 seconds passed +... 88%, 111712 KB, 53563 KB/s, 2 seconds passed +... 88%, 111744 KB, 53570 KB/s, 2 seconds passed +... 88%, 111776 KB, 53579 KB/s, 2 seconds passed +... 88%, 111808 KB, 53409 KB/s, 2 seconds passed +... 88%, 111840 KB, 53415 KB/s, 2 seconds passed +... 88%, 111872 KB, 53425 KB/s, 2 seconds passed +... 88%, 111904 KB, 53433 KB/s, 2 seconds passed +... 88%, 111936 KB, 53440 KB/s, 2 seconds passed +... 88%, 111968 KB, 53449 KB/s, 2 seconds passed +... 88%, 112000 KB, 53458 KB/s, 2 seconds passed +... 88%, 112032 KB, 53465 KB/s, 2 seconds passed +... 88%, 112064 KB, 53474 KB/s, 2 seconds passed +... 88%, 112096 KB, 53481 KB/s, 2 seconds passed +... 89%, 112128 KB, 53490 KB/s, 2 seconds passed +... 89%, 112160 KB, 53498 KB/s, 2 seconds passed +... 89%, 112192 KB, 53504 KB/s, 2 seconds passed +... 89%, 112224 KB, 53512 KB/s, 2 seconds passed +... 89%, 112256 KB, 53520 KB/s, 2 seconds passed +... 89%, 112288 KB, 53528 KB/s, 2 seconds passed +... 89%, 112320 KB, 53537 KB/s, 2 seconds passed +... 89%, 112352 KB, 53545 KB/s, 2 seconds passed +... 89%, 112384 KB, 53553 KB/s, 2 seconds passed +... 89%, 112416 KB, 53561 KB/s, 2 seconds passed +... 89%, 112448 KB, 53569 KB/s, 2 seconds passed +... 89%, 112480 KB, 53577 KB/s, 2 seconds passed +... 89%, 112512 KB, 53585 KB/s, 2 seconds passed +... 89%, 112544 KB, 53592 KB/s, 2 seconds passed +... 89%, 112576 KB, 53600 KB/s, 2 seconds passed +... 89%, 112608 KB, 53610 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 89%, 112640 KB, 51383 KB/s, 2 seconds passed +... 89%, 112672 KB, 51385 KB/s, 2 seconds passed +... 89%, 112704 KB, 51389 KB/s, 2 seconds passed +... 89%, 112736 KB, 51394 KB/s, 2 seconds passed +... 89%, 112768 KB, 51399 KB/s, 2 seconds passed +... 89%, 112800 KB, 51404 KB/s, 2 seconds passed +... 89%, 112832 KB, 51409 KB/s, 2 seconds passed +... 89%, 112864 KB, 51415 KB/s, 2 seconds passed +... 89%, 112896 KB, 51420 KB/s, 2 seconds passed +... 89%, 112928 KB, 51425 KB/s, 2 seconds passed +... 89%, 112960 KB, 51430 KB/s, 2 seconds passed +... 89%, 112992 KB, 51436 KB/s, 2 seconds passed +... 89%, 113024 KB, 51443 KB/s, 2 seconds passed +... 89%, 113056 KB, 51450 KB/s, 2 seconds passed +... 89%, 113088 KB, 51457 KB/s, 2 seconds passed +... 89%, 113120 KB, 51465 KB/s, 2 seconds passed +... 89%, 113152 KB, 51473 KB/s, 2 seconds passed +... 89%, 113184 KB, 51481 KB/s, 2 seconds passed +... 89%, 113216 KB, 51480 KB/s, 2 seconds passed +... 89%, 113248 KB, 51485 KB/s, 2 seconds passed +... 89%, 113280 KB, 51490 KB/s, 2 seconds passed +... 89%, 113312 KB, 51496 KB/s, 2 seconds passed +... 89%, 113344 KB, 51502 KB/s, 2 seconds passed +... 90%, 113376 KB, 51507 KB/s, 2 seconds passed +... 90%, 113408 KB, 51514 KB/s, 2 seconds passed +... 90%, 113440 KB, 51500 KB/s, 2 seconds passed +... 90%, 113472 KB, 51502 KB/s, 2 seconds passed +... 90%, 113504 KB, 51508 KB/s, 2 seconds passed +... 90%, 113536 KB, 51513 KB/s, 2 seconds passed +... 90%, 113568 KB, 51518 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 90%, 113600 KB, 51523 KB/s, 2 seconds passed +... 90%, 113632 KB, 51529 KB/s, 2 seconds passed +... 90%, 113664 KB, 51535 KB/s, 2 seconds passed +... 90%, 113696 KB, 51540 KB/s, 2 seconds passed +... 90%, 113728 KB, 51546 KB/s, 2 seconds passed +... 90%, 113760 KB, 51551 KB/s, 2 seconds passed +... 90%, 113792 KB, 51557 KB/s, 2 seconds passed +... 90%, 113824 KB, 51564 KB/s, 2 seconds passed +... 90%, 113856 KB, 51571 KB/s, 2 seconds passed +... 90%, 113888 KB, 51578 KB/s, 2 seconds passed +... 90%, 113920 KB, 51586 KB/s, 2 seconds passed +... 90%, 113952 KB, 51594 KB/s, 2 seconds passed +... 90%, 113984 KB, 51601 KB/s, 2 seconds passed +... 90%, 114016 KB, 51609 KB/s, 2 seconds passed +... 90%, 114048 KB, 51617 KB/s, 2 seconds passed +... 90%, 114080 KB, 51625 KB/s, 2 seconds passed +... 90%, 114112 KB, 51632 KB/s, 2 seconds passed +... 90%, 114144 KB, 51640 KB/s, 2 seconds passed +... 90%, 114176 KB, 51648 KB/s, 2 seconds passed +... 90%, 114208 KB, 51655 KB/s, 2 seconds passed +... 90%, 114240 KB, 51663 KB/s, 2 seconds passed +... 90%, 114272 KB, 51671 KB/s, 2 seconds passed +... 90%, 114304 KB, 51679 KB/s, 2 seconds passed +... 90%, 114336 KB, 51686 KB/s, 2 seconds passed +... 90%, 114368 KB, 51694 KB/s, 2 seconds passed +... 90%, 114400 KB, 51702 KB/s, 2 seconds passed +... 90%, 114432 KB, 51710 KB/s, 2 seconds passed +... 90%, 114464 KB, 51717 KB/s, 2 seconds passed +... 90%, 114496 KB, 51725 KB/s, 2 seconds passed +... 90%, 114528 KB, 51733 KB/s, 2 seconds passed +... 90%, 114560 KB, 51740 KB/s, 2 seconds passed +... 90%, 114592 KB, 51748 KB/s, 2 seconds passed +... 91%, 114624 KB, 51756 KB/s, 2 seconds passed +... 91%, 114656 KB, 51764 KB/s, 2 seconds passed +... 91%, 114688 KB, 51772 KB/s, 2 seconds passed +... 91%, 114720 KB, 51780 KB/s, 2 seconds passed +... 91%, 114752 KB, 51787 KB/s, 2 seconds passed +... 91%, 114784 KB, 51795 KB/s, 2 seconds passed +... 91%, 114816 KB, 51803 KB/s, 2 seconds passed +... 91%, 114848 KB, 51810 KB/s, 2 seconds passed +... 91%, 114880 KB, 51818 KB/s, 2 seconds passed +... 91%, 114912 KB, 51826 KB/s, 2 seconds passed +... 91%, 114944 KB, 51834 KB/s, 2 seconds passed +... 91%, 114976 KB, 51843 KB/s, 2 seconds passed +... 91%, 115008 KB, 51853 KB/s, 2 seconds passed +... 91%, 115040 KB, 51863 KB/s, 2 seconds passed +... 91%, 115072 KB, 51873 KB/s, 2 seconds passed +... 91%, 115104 KB, 51883 KB/s, 2 seconds passed +... 91%, 115136 KB, 51893 KB/s, 2 seconds passed +... 91%, 115168 KB, 51903 KB/s, 2 seconds passed +... 91%, 115200 KB, 51913 KB/s, 2 seconds passed +... 91%, 115232 KB, 51923 KB/s, 2 seconds passed +... 91%, 115264 KB, 51933 KB/s, 2 seconds passed +... 91%, 115296 KB, 51943 KB/s, 2 seconds passed +... 91%, 115328 KB, 51953 KB/s, 2 seconds passed +... 91%, 115360 KB, 51963 KB/s, 2 seconds passed +... 91%, 115392 KB, 51973 KB/s, 2 seconds passed +... 91%, 115424 KB, 51983 KB/s, 2 seconds passed +... 91%, 115456 KB, 51993 KB/s, 2 seconds passed +... 91%, 115488 KB, 52003 KB/s, 2 seconds passed +... 91%, 115520 KB, 52013 KB/s, 2 seconds passed +... 91%, 115552 KB, 52022 KB/s, 2 seconds passed +... 91%, 115584 KB, 52032 KB/s, 2 seconds passed +... 91%, 115616 KB, 52040 KB/s, 2 seconds passed +... 91%, 115648 KB, 52048 KB/s, 2 seconds passed +... 91%, 115680 KB, 52057 KB/s, 2 seconds passed +... 91%, 115712 KB, 52065 KB/s, 2 seconds passed +... 91%, 115744 KB, 52073 KB/s, 2 seconds passed +... 91%, 115776 KB, 52081 KB/s, 2 seconds passed +... 91%, 115808 KB, 52088 KB/s, 2 seconds passed +... 91%, 115840 KB, 52096 KB/s, 2 seconds passed +... 91%, 115872 KB, 52103 KB/s, 2 seconds passed +... 92%, 115904 KB, 52111 KB/s, 2 seconds passed +... 92%, 115936 KB, 52118 KB/s, 2 seconds passed +... 92%, 115968 KB, 52128 KB/s, 2 seconds passed +... 92%, 116000 KB, 52136 KB/s, 2 seconds passed +... 92%, 116032 KB, 52142 KB/s, 2 seconds passed +... 92%, 116064 KB, 52152 KB/s, 2 seconds passed +... 92%, 116096 KB, 52161 KB/s, 2 seconds passed +... 92%, 116128 KB, 52169 KB/s, 2 seconds passed +... 92%, 116160 KB, 52177 KB/s, 2 seconds passed +... 92%, 116192 KB, 52184 KB/s, 2 seconds passed +... 92%, 116224 KB, 52191 KB/s, 2 seconds passed +... 92%, 116256 KB, 52198 KB/s, 2 seconds passed +... 92%, 116288 KB, 52205 KB/s, 2 seconds passed +... 92%, 116320 KB, 52213 KB/s, 2 seconds passed +... 92%, 116352 KB, 52222 KB/s, 2 seconds passed +... 92%, 116384 KB, 52231 KB/s, 2 seconds passed +... 92%, 116416 KB, 52238 KB/s, 2 seconds passed +... 92%, 116448 KB, 52246 KB/s, 2 seconds passed +... 92%, 116480 KB, 52254 KB/s, 2 seconds passed +... 92%, 116512 KB, 52261 KB/s, 2 seconds passed +... 92%, 116544 KB, 52269 KB/s, 2 seconds passed +... 92%, 116576 KB, 52147 KB/s, 2 seconds passed +... 92%, 116608 KB, 52155 KB/s, 2 seconds passed +... 92%, 116640 KB, 52165 KB/s, 2 seconds passed +... 92%, 116672 KB, 52173 KB/s, 2 seconds passed +... 92%, 116704 KB, 52181 KB/s, 2 seconds passed +... 92%, 116736 KB, 52188 KB/s, 2 seconds passed +... 92%, 116768 KB, 52196 KB/s, 2 seconds passed +... 92%, 116800 KB, 52204 KB/s, 2 seconds passed +... 92%, 116832 KB, 52211 KB/s, 2 seconds passed +... 92%, 116864 KB, 52219 KB/s, 2 seconds passed +... 92%, 116896 KB, 52228 KB/s, 2 seconds passed +... 92%, 116928 KB, 52235 KB/s, 2 seconds passed +... 92%, 116960 KB, 52244 KB/s, 2 seconds passed +... 92%, 116992 KB, 52251 KB/s, 2 seconds passed +... 92%, 117024 KB, 52259 KB/s, 2 seconds passed +... 92%, 117056 KB, 52267 KB/s, 2 seconds passed +... 92%, 117088 KB, 52275 KB/s, 2 seconds passed +... 92%, 117120 KB, 52282 KB/s, 2 seconds passed +... 93%, 117152 KB, 52290 KB/s, 2 seconds passed +... 93%, 117184 KB, 52298 KB/s, 2 seconds passed +... 93%, 117216 KB, 52305 KB/s, 2 seconds passed +... 93%, 117248 KB, 52313 KB/s, 2 seconds passed +... 93%, 117280 KB, 52321 KB/s, 2 seconds passed +... 93%, 117312 KB, 52328 KB/s, 2 seconds passed +... 93%, 117344 KB, 52336 KB/s, 2 seconds passed +... 93%, 117376 KB, 52343 KB/s, 2 seconds passed +... 93%, 117408 KB, 52351 KB/s, 2 seconds passed +... 93%, 117440 KB, 52360 KB/s, 2 seconds passed +... 93%, 117472 KB, 52368 KB/s, 2 seconds passed +... 93%, 117504 KB, 52374 KB/s, 2 seconds passed +... 93%, 117536 KB, 52383 KB/s, 2 seconds passed +... 93%, 117568 KB, 52391 KB/s, 2 seconds passed +... 93%, 117600 KB, 52399 KB/s, 2 seconds passed +... 93%, 117632 KB, 52406 KB/s, 2 seconds passed +... 93%, 117664 KB, 52414 KB/s, 2 seconds passed +... 93%, 117696 KB, 52422 KB/s, 2 seconds passed +... 93%, 117728 KB, 52430 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 93%, 117760 KB, 51456 KB/s, 2 seconds passed +... 93%, 117792 KB, 51459 KB/s, 2 seconds passed +... 93%, 117824 KB, 51464 KB/s, 2 seconds passed +... 93%, 117856 KB, 51469 KB/s, 2 seconds passed +... 93%, 117888 KB, 51476 KB/s, 2 seconds passed +... 93%, 117920 KB, 51477 KB/s, 2 seconds passed +... 93%, 117952 KB, 51482 KB/s, 2 seconds passed +... 93%, 117984 KB, 51487 KB/s, 2 seconds passed +... 93%, 118016 KB, 51493 KB/s, 2 seconds passed +... 93%, 118048 KB, 51497 KB/s, 2 seconds passed +... 93%, 118080 KB, 51502 KB/s, 2 seconds passed +... 93%, 118112 KB, 51508 KB/s, 2 seconds passed +... 93%, 118144 KB, 51512 KB/s, 2 seconds passed +... 93%, 118176 KB, 51518 KB/s, 2 seconds passed +... 93%, 118208 KB, 51523 KB/s, 2 seconds passed +... 93%, 118240 KB, 51528 KB/s, 2 seconds passed +... 93%, 118272 KB, 51533 KB/s, 2 seconds passed +... 93%, 118304 KB, 51539 KB/s, 2 seconds passed +... 93%, 118336 KB, 51543 KB/s, 2 seconds passed +... 93%, 118368 KB, 51549 KB/s, 2 seconds passed +... 94%, 118400 KB, 51554 KB/s, 2 seconds passed +... 94%, 118432 KB, 51560 KB/s, 2 seconds passed +... 94%, 118464 KB, 51565 KB/s, 2 seconds passed +... 94%, 118496 KB, 51570 KB/s, 2 seconds passed +... 94%, 118528 KB, 51576 KB/s, 2 seconds passed +... 94%, 118560 KB, 51582 KB/s, 2 seconds passed +... 94%, 118592 KB, 51590 KB/s, 2 seconds passed +... 94%, 118624 KB, 51597 KB/s, 2 seconds passed +... 94%, 118656 KB, 51604 KB/s, 2 seconds passed +... 94%, 118688 KB, 51612 KB/s, 2 seconds passed +... 94%, 118720 KB, 51619 KB/s, 2 seconds passed +... 94%, 118752 KB, 51626 KB/s, 2 seconds passed +... 94%, 118784 KB, 51633 KB/s, 2 seconds passed +... 94%, 118816 KB, 51640 KB/s, 2 seconds passed +... 94%, 118848 KB, 51648 KB/s, 2 seconds passed +... 94%, 118880 KB, 51655 KB/s, 2 seconds passed +... 94%, 118912 KB, 51662 KB/s, 2 seconds passed +... 94%, 118944 KB, 51670 KB/s, 2 seconds passed +... 94%, 118976 KB, 51677 KB/s, 2 seconds passed +... 94%, 119008 KB, 51684 KB/s, 2 seconds passed +... 94%, 119040 KB, 51692 KB/s, 2 seconds passed +... 94%, 119072 KB, 51699 KB/s, 2 seconds passed +... 94%, 119104 KB, 51707 KB/s, 2 seconds passed +... 94%, 119136 KB, 51714 KB/s, 2 seconds passed +... 94%, 119168 KB, 51721 KB/s, 2 seconds passed +... 94%, 119200 KB, 51729 KB/s, 2 seconds passed +... 94%, 119232 KB, 51736 KB/s, 2 seconds passed +... 94%, 119264 KB, 51744 KB/s, 2 seconds passed +... 94%, 119296 KB, 51751 KB/s, 2 seconds passed +... 94%, 119328 KB, 51758 KB/s, 2 seconds passed +... 94%, 119360 KB, 51766 KB/s, 2 seconds passed +... 94%, 119392 KB, 51773 KB/s, 2 seconds passed +... 94%, 119424 KB, 51781 KB/s, 2 seconds passed +... 94%, 119456 KB, 51788 KB/s, 2 seconds passed +... 94%, 119488 KB, 51795 KB/s, 2 seconds passed +... 94%, 119520 KB, 51803 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 94%, 119552 KB, 51810 KB/s, 2 seconds passed +... 94%, 119584 KB, 51818 KB/s, 2 seconds passed +... 94%, 119616 KB, 51824 KB/s, 2 seconds passed +... 94%, 119648 KB, 51832 KB/s, 2 seconds passed +... 95%, 119680 KB, 51840 KB/s, 2 seconds passed +... 95%, 119712 KB, 51849 KB/s, 2 seconds passed +... 95%, 119744 KB, 51859 KB/s, 2 seconds passed +... 95%, 119776 KB, 51869 KB/s, 2 seconds passed +... 95%, 119808 KB, 51878 KB/s, 2 seconds passed +... 95%, 119840 KB, 51888 KB/s, 2 seconds passed +... 95%, 119872 KB, 51897 KB/s, 2 seconds passed +... 95%, 119904 KB, 51907 KB/s, 2 seconds passed +... 95%, 119936 KB, 51916 KB/s, 2 seconds passed +... 95%, 119968 KB, 51926 KB/s, 2 seconds passed +... 95%, 120000 KB, 51935 KB/s, 2 seconds passed +... 95%, 120032 KB, 51945 KB/s, 2 seconds passed +... 95%, 120064 KB, 51955 KB/s, 2 seconds passed +... 95%, 120096 KB, 51964 KB/s, 2 seconds passed +... 95%, 120128 KB, 51974 KB/s, 2 seconds passed +... 95%, 120160 KB, 51983 KB/s, 2 seconds passed +... 95%, 120192 KB, 51993 KB/s, 2 seconds passed +... 95%, 120224 KB, 52003 KB/s, 2 seconds passed +... 95%, 120256 KB, 52012 KB/s, 2 seconds passed +... 95%, 120288 KB, 52021 KB/s, 2 seconds passed +... 95%, 120320 KB, 52031 KB/s, 2 seconds passed +... 95%, 120352 KB, 52041 KB/s, 2 seconds passed +... 95%, 120384 KB, 52051 KB/s, 2 seconds passed +... 95%, 120416 KB, 52060 KB/s, 2 seconds passed +... 95%, 120448 KB, 52069 KB/s, 2 seconds passed +... 95%, 120480 KB, 52079 KB/s, 2 seconds passed +... 95%, 120512 KB, 52088 KB/s, 2 seconds passed +... 95%, 120544 KB, 52098 KB/s, 2 seconds passed +... 95%, 120576 KB, 52108 KB/s, 2 seconds passed +... 95%, 120608 KB, 52117 KB/s, 2 seconds passed +... 95%, 120640 KB, 52125 KB/s, 2 seconds passed +... 95%, 120672 KB, 52132 KB/s, 2 seconds passed +... 95%, 120704 KB, 52141 KB/s, 2 seconds passed +... 95%, 120736 KB, 52149 KB/s, 2 seconds passed +... 95%, 120768 KB, 52157 KB/s, 2 seconds passed +... 95%, 120800 KB, 52164 KB/s, 2 seconds passed +... 95%, 120832 KB, 52172 KB/s, 2 seconds passed +... 95%, 120864 KB, 52180 KB/s, 2 seconds passed +... 95%, 120896 KB, 52186 KB/s, 2 seconds passed +... 96%, 120928 KB, 52194 KB/s, 2 seconds passed +... 96%, 120960 KB, 52203 KB/s, 2 seconds passed +... 96%, 120992 KB, 52210 KB/s, 2 seconds passed +... 96%, 121024 KB, 52217 KB/s, 2 seconds passed +... 96%, 121056 KB, 52224 KB/s, 2 seconds passed +... 96%, 121088 KB, 52232 KB/s, 2 seconds passed +... 96%, 121120 KB, 52240 KB/s, 2 seconds passed +... 96%, 121152 KB, 52246 KB/s, 2 seconds passed +... 96%, 121184 KB, 52254 KB/s, 2 seconds passed +... 96%, 121216 KB, 52261 KB/s, 2 seconds passed +... 96%, 121248 KB, 52269 KB/s, 2 seconds passed +... 96%, 121280 KB, 52277 KB/s, 2 seconds passed +... 96%, 121312 KB, 52284 KB/s, 2 seconds passed +... 96%, 121344 KB, 52293 KB/s, 2 seconds passed +... 96%, 121376 KB, 52301 KB/s, 2 seconds passed +... 96%, 121408 KB, 52305 KB/s, 2 seconds passed +... 96%, 121440 KB, 52309 KB/s, 2 seconds passed +... 96%, 121472 KB, 52318 KB/s, 2 seconds passed +... 96%, 121504 KB, 52329 KB/s, 2 seconds passed +... 96%, 121536 KB, 52336 KB/s, 2 seconds passed +... 96%, 121568 KB, 52343 KB/s, 2 seconds passed +... 96%, 121600 KB, 52352 KB/s, 2 seconds passed +... 96%, 121632 KB, 52275 KB/s, 2 seconds passed +... 96%, 121664 KB, 52282 KB/s, 2 seconds passed +... 96%, 121696 KB, 52290 KB/s, 2 seconds passed +... 96%, 121728 KB, 52298 KB/s, 2 seconds passed +... 96%, 121760 KB, 52304 KB/s, 2 seconds passed +... 96%, 121792 KB, 52308 KB/s, 2 seconds passed +... 96%, 121824 KB, 52312 KB/s, 2 seconds passed +... 96%, 121856 KB, 52317 KB/s, 2 seconds passed +... 96%, 121888 KB, 52323 KB/s, 2 seconds passed +... 96%, 121920 KB, 52328 KB/s, 2 seconds passed +... 96%, 121952 KB, 52334 KB/s, 2 seconds passed +... 96%, 121984 KB, 52339 KB/s, 2 seconds passed +... 96%, 122016 KB, 52344 KB/s, 2 seconds passed +... 96%, 122048 KB, 52350 KB/s, 2 seconds passed +... 96%, 122080 KB, 52355 KB/s, 2 seconds passed +... 96%, 122112 KB, 52361 KB/s, 2 seconds passed +... 96%, 122144 KB, 52366 KB/s, 2 seconds passed +... 97%, 122176 KB, 52372 KB/s, 2 seconds passed +... 97%, 122208 KB, 52377 KB/s, 2 seconds passed +... 97%, 122240 KB, 52382 KB/s, 2 seconds passed +... 97%, 122272 KB, 52387 KB/s, 2 seconds passed +... 97%, 122304 KB, 52392 KB/s, 2 seconds passed +... 97%, 122336 KB, 52398 KB/s, 2 seconds passed +... 97%, 122368 KB, 52403 KB/s, 2 seconds passed +... 97%, 122400 KB, 52409 KB/s, 2 seconds passed +... 97%, 122432 KB, 52414 KB/s, 2 seconds passed +... 97%, 122464 KB, 52419 KB/s, 2 seconds passed +... 97%, 122496 KB, 52425 KB/s, 2 seconds passed +... 97%, 122528 KB, 52430 KB/s, 2 seconds passed +... 97%, 122560 KB, 52436 KB/s, 2 seconds passed +... 97%, 122592 KB, 52441 KB/s, 2 seconds passed +... 97%, 122624 KB, 52448 KB/s, 2 seconds passed +... 97%, 122656 KB, 52455 KB/s, 2 seconds passed +... 97%, 122688 KB, 52462 KB/s, 2 seconds passed +... 97%, 122720 KB, 52470 KB/s, 2 seconds passed +... 97%, 122752 KB, 52477 KB/s, 2 seconds passed +... 97%, 122784 KB, 52486 KB/s, 2 seconds passed +... 97%, 122816 KB, 52495 KB/s, 2 seconds passed +... 97%, 122848 KB, 52505 KB/s, 2 seconds passed + +.. parsed-literal:: + + ... 97%, 122880 KB, 50623 KB/s, 2 seconds passed +... 97%, 122912 KB, 50625 KB/s, 2 seconds passed +... 97%, 122944 KB, 50629 KB/s, 2 seconds passed +... 97%, 122976 KB, 50634 KB/s, 2 seconds passed +... 97%, 123008 KB, 50639 KB/s, 2 seconds passed +... 97%, 123040 KB, 50644 KB/s, 2 seconds passed +... 97%, 123072 KB, 50648 KB/s, 2 seconds passed +... 97%, 123104 KB, 50653 KB/s, 2 seconds passed +... 97%, 123136 KB, 50658 KB/s, 2 seconds passed +... 97%, 123168 KB, 50663 KB/s, 2 seconds passed +... 97%, 123200 KB, 50669 KB/s, 2 seconds passed +... 97%, 123232 KB, 50674 KB/s, 2 seconds passed +... 97%, 123264 KB, 50678 KB/s, 2 seconds passed +... 97%, 123296 KB, 50684 KB/s, 2 seconds passed +... 97%, 123328 KB, 50689 KB/s, 2 seconds passed +... 97%, 123360 KB, 50694 KB/s, 2 seconds passed +... 97%, 123392 KB, 50699 KB/s, 2 seconds passed +... 97%, 123424 KB, 50703 KB/s, 2 seconds passed +... 98%, 123456 KB, 50710 KB/s, 2 seconds passed +... 98%, 123488 KB, 50717 KB/s, 2 seconds passed +... 98%, 123520 KB, 50724 KB/s, 2 seconds passed +... 98%, 123552 KB, 50731 KB/s, 2 seconds passed +... 98%, 123584 KB, 50738 KB/s, 2 seconds passed +... 98%, 123616 KB, 50745 KB/s, 2 seconds passed +... 98%, 123648 KB, 50752 KB/s, 2 seconds passed +... 98%, 123680 KB, 50759 KB/s, 2 seconds passed +... 98%, 123712 KB, 50731 KB/s, 2 seconds passed +... 98%, 123744 KB, 50734 KB/s, 2 seconds passed +... 98%, 123776 KB, 50738 KB/s, 2 seconds passed +... 98%, 123808 KB, 50743 KB/s, 2 seconds passed +... 98%, 123840 KB, 50749 KB/s, 2 seconds passed +... 98%, 123872 KB, 50755 KB/s, 2 seconds passed +... 98%, 123904 KB, 50762 KB/s, 2 seconds passed +... 98%, 123936 KB, 50769 KB/s, 2 seconds passed +... 98%, 123968 KB, 50774 KB/s, 2 seconds passed +... 98%, 124000 KB, 50781 KB/s, 2 seconds passed +... 98%, 124032 KB, 50787 KB/s, 2 seconds passed +... 98%, 124064 KB, 50794 KB/s, 2 seconds passed +... 98%, 124096 KB, 50800 KB/s, 2 seconds passed +... 98%, 124128 KB, 50807 KB/s, 2 seconds passed +... 98%, 124160 KB, 50814 KB/s, 2 seconds passed +... 98%, 124192 KB, 50821 KB/s, 2 seconds passed +... 98%, 124224 KB, 50827 KB/s, 2 seconds passed +... 98%, 124256 KB, 50834 KB/s, 2 seconds passed +... 98%, 124288 KB, 50840 KB/s, 2 seconds passed +... 98%, 124320 KB, 50847 KB/s, 2 seconds passed +... 98%, 124352 KB, 50854 KB/s, 2 seconds passed +... 98%, 124384 KB, 50861 KB/s, 2 seconds passed +... 98%, 124416 KB, 50867 KB/s, 2 seconds passed +... 98%, 124448 KB, 50874 KB/s, 2 seconds passed +... 98%, 124480 KB, 50881 KB/s, 2 seconds passed +... 98%, 124512 KB, 50888 KB/s, 2 seconds passed +... 98%, 124544 KB, 50895 KB/s, 2 seconds passed +... 98%, 124576 KB, 50902 KB/s, 2 seconds passed +... 98%, 124608 KB, 50908 KB/s, 2 seconds passed +... 98%, 124640 KB, 50915 KB/s, 2 seconds passed +... 98%, 124672 KB, 50922 KB/s, 2 seconds passed +... 99%, 124704 KB, 50928 KB/s, 2 seconds passed +... 99%, 124736 KB, 50935 KB/s, 2 seconds passed +... 99%, 124768 KB, 50942 KB/s, 2 seconds passed +... 99%, 124800 KB, 50949 KB/s, 2 seconds passed +... 99%, 124832 KB, 50956 KB/s, 2 seconds passed +... 99%, 124864 KB, 50964 KB/s, 2 seconds passed +... 99%, 124896 KB, 50973 KB/s, 2 seconds passed +... 99%, 124928 KB, 50982 KB/s, 2 seconds passed +... 99%, 124960 KB, 50991 KB/s, 2 seconds passed +... 99%, 124992 KB, 50999 KB/s, 2 seconds passed +... 99%, 125024 KB, 51008 KB/s, 2 seconds passed +... 99%, 125056 KB, 51017 KB/s, 2 seconds passed +... 99%, 125088 KB, 51025 KB/s, 2 seconds passed +... 99%, 125120 KB, 51034 KB/s, 2 seconds passed +... 99%, 125152 KB, 51043 KB/s, 2 seconds passed +... 99%, 125184 KB, 51051 KB/s, 2 seconds passed +... 99%, 125216 KB, 51060 KB/s, 2 seconds passed +... 99%, 125248 KB, 51068 KB/s, 2 seconds passed +... 99%, 125280 KB, 51077 KB/s, 2 seconds passed +... 99%, 125312 KB, 51086 KB/s, 2 seconds passed +... 99%, 125344 KB, 51094 KB/s, 2 seconds passed +... 99%, 125376 KB, 51103 KB/s, 2 seconds passed +... 99%, 125408 KB, 51112 KB/s, 2 seconds passed +... 99%, 125440 KB, 51121 KB/s, 2 seconds passed +... 99%, 125472 KB, 51130 KB/s, 2 seconds passed +... 99%, 125504 KB, 51138 KB/s, 2 seconds passed +... 99%, 125536 KB, 51147 KB/s, 2 seconds passed +... 99%, 125568 KB, 51154 KB/s, 2 seconds passed +... 99%, 125600 KB, 51160 KB/s, 2 seconds passed +... 99%, 125632 KB, 51169 KB/s, 2 seconds passed +... 99%, 125664 KB, 51175 KB/s, 2 seconds passed +... 99%, 125696 KB, 51180 KB/s, 2 seconds passed +... 99%, 125728 KB, 51188 KB/s, 2 seconds passed +... 99%, 125760 KB, 51197 KB/s, 2 seconds passed +... 99%, 125792 KB, 51204 KB/s, 2 seconds passed +... 99%, 125824 KB, 51212 KB/s, 2 seconds passed +... 99%, 125856 KB, 51219 KB/s, 2 seconds passed +... 99%, 125888 KB, 51224 KB/s, 2 seconds passed +... 99%, 125920 KB, 51232 KB/s, 2 seconds passed +... 99%, 125952 KB, 51241 KB/s, 2 seconds passed +... 100%, 125953 KB, 51237 KB/s, 2 seconds passed + + + +.. parsed-literal:: + + + ========== Downloading models/public/colorization-v2/model/__init__.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 288 KB/s, 0 seconds passed + + + ========== Downloading models/public/colorization-v2/model/base_color.py + + +.. parsed-literal:: + + ... 100%, 0 KB, 1806 KB/s, 0 seconds passed + + + ========== Downloading models/public/colorization-v2/model/eccv16.py + + +.. parsed-literal:: + + ... 100%, 4 KB, 17288 KB/s, 0 seconds passed + + + ========== Replacing text in models/public/colorization-v2/model/__init__.py + ========== Replacing text in models/public/colorization-v2/model/__init__.py + ========== Replacing text in models/public/colorization-v2/model/eccv16.py + + + +Convert the model to OpenVINO IR +-------------------------------- + + + +``omz_converter`` converts the models that are not in the OpenVINO™ IR +format into that format using model conversion API. + +The downloaded pytorch model is not in OpenVINO IR format which is +required for inference with OpenVINO runtime. ``omz_converter`` is used +to convert the downloaded pytorch model into ONNX and OpenVINO IR format +respectively + +.. code:: ipython3 + + if not os.path.exists(MODEL_PATH): + convert_command = f"omz_converter " f"--name {MODEL_NAME} " f"--download_dir {MODEL_DIR} " f"--precisions {PRECISION}" + ! $convert_command + + +.. parsed-literal:: + + ========== Converting colorization-v2 to ONNX + Conversion to ONNX command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/omz_tools/internal_scripts/pytorch_to_onnx.py --model-path=models/public/colorization-v2 --model-name=ECCVGenerator --weights=models/public/colorization-v2/ckpt/colorization-v2-eccv16.pth --import-module=model --input-shape=1,1,256,256 --output-file=models/public/colorization-v2/colorization-v2-eccv16.onnx --input-names=data_l --output-names=color_ab + + + +.. parsed-literal:: + + ONNX check passed successfully. + + +.. parsed-literal:: + + + ========== Converting colorization-v2 to IR (FP16) + Conversion command: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/python -- /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/bin/mo --framework=onnx --output_dir=models/public/colorization-v2/FP16 --model_name=colorization-v2 --input=data_l --output=color_ab --input_model=models/public/colorization-v2/colorization-v2-eccv16.onnx '--layout=data_l(NCHW)' '--input_shape=[1, 1, 256, 256]' --compress_to_fp16=True + + + +.. parsed-literal:: + + [ INFO ] Generated IR will be compressed to FP16. If you get lower accuracy, please consider disabling compression explicitly by adding argument --compress_to_fp16=False. + Find more information about compression to FP16 at https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_FP16_Compression.html + [ INFO ] MO command line tool is considered as the legacy conversion API as of OpenVINO 2023.2 release. Please use OpenVINO Model Converter (OVC). OVC represents a lightweight alternative of MO and provides simplified model conversion API. + Find more information about transition from MO to OVC at https://docs.openvino.ai/2023.2/openvino_docs_OV_Converter_UG_prepare_model_convert_model_MO_OVC_transition.html + + +.. parsed-literal:: + + [ SUCCESS ] Generated IR version 11 model. + [ SUCCESS ] XML file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/vision-image-colorization/models/public/colorization-v2/FP16/colorization-v2.xml + [ SUCCESS ] BIN file: /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/vision-image-colorization/models/public/colorization-v2/FP16/colorization-v2.bin + + + + + +Loading the Model +----------------- + + + +Load the model in OpenVINO Runtime with ``ie.read_model`` and compile it +for the specified device with ``ie.compile_model``. + +.. code:: ipython3 + + core = ov.Core() + model = core.read_model(model=MODEL_PATH) + compiled_model = core.compile_model(model=model, device_name=device.value) + input_layer = compiled_model.input(0) + output_layer = compiled_model.output(0) + N, C, H, W = list(input_layer.shape) + +Utility Functions +----------------- + + + +.. code:: ipython3 + + def read_image(impath: str) -> np.ndarray: + """ + Returns an image as ndarra, given path to an image reads the + (BGR) image using opencv's imread() API. + + Parameter: + impath (string): Path of the image to be read and returned. + + Returns: + image (ndarray): Numpy array representing the read image. + """ + + raw_image = cv2.imread(impath) + if raw_image.shape[2] > 1: + image = cv2.cvtColor(cv2.cvtColor(raw_image, cv2.COLOR_BGR2GRAY), cv2.COLOR_GRAY2RGB) + else: + image = cv2.cvtColor(image, cv2.COLOR_GRAY2RGB) + + return image + + + def plot_image(image: np.ndarray, title: str = "") -> None: + """ + Given a image as ndarray and title as string, display it using + matplotlib. + + Parameters: + image (ndarray): Numpy array representing the image to be + displayed. + title (string): String representing the title of the plot. + + Returns: + None + + """ + + plt.imshow(image) + plt.title(title) + plt.axis("off") + plt.show() + + + def plot_output(gray_img: np.ndarray, color_img: np.ndarray) -> None: + """ + Plots the original (bw or grayscale) image and colorized image + on different column axes for comparing side by side. + + Parameters: + gray_image (ndarray): Numpy array representing the original image. + color_image (ndarray): Numpy array representing the model output. + + Returns: + None + """ + + fig = plt.figure(figsize=(12, 12)) + + ax1 = fig.add_subplot(1, 2, 1) + plt.title("Input", fontsize=20) + ax1.axis("off") + + ax2 = fig.add_subplot(1, 2, 2) + plt.title("Colorized", fontsize=20) + ax2.axis("off") + + ax1.imshow(gray_img) + ax2.imshow(color_img) + + plt.show() + +Load the Image +-------------- + + + +.. code:: ipython3 + + img_url_0 = "https://user-images.githubusercontent.com/18904157/180923287-20339d01-b1bf-493f-9a0d-55eff997aff1.jpg" + img_url_1 = "https://user-images.githubusercontent.com/18904157/180923289-0bb71e09-25e1-46a6-aaf1-e8f666b62d26.jpg" + + image_file_0 = utils.download_file( + img_url_0, + filename="test_0.jpg", + directory="data", + show_progress=False, + silent=True, + timeout=30, + ) + assert Path(image_file_0).exists() + + image_file_1 = utils.download_file( + img_url_1, + filename="test_1.jpg", + directory="data", + show_progress=False, + silent=True, + timeout=30, + ) + assert Path(image_file_1).exists() + + test_img_0 = read_image("data/test_0.jpg") + test_img_1 = read_image("data/test_1.jpg") + +.. code:: ipython3 + + def colorize(gray_img: np.ndarray) -> np.ndarray: + """ + Given an image as ndarray for inference convert the image into LAB image, + the model consumes as input L-Channel of LAB image and provides output + A & B - Channels of LAB image. i.e returns a colorized image + + Parameters: + gray_img (ndarray): Numpy array representing the original + image. + + Returns: + colorize_image (ndarray): Numpy arrray depicting the + colorized version of the original + image. + """ + + # Preprocess + h_in, w_in, _ = gray_img.shape + img_rgb = gray_img.astype(np.float32) / 255 + img_lab = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2Lab) + img_l_rs = cv2.resize(img_lab.copy(), (W, H))[:, :, 0] + + # Inference + inputs = np.expand_dims(img_l_rs, axis=[0, 1]) + res = compiled_model([inputs])[output_layer] + update_res = np.squeeze(res) + + # Post-process + out = update_res.transpose((1, 2, 0)) + out = cv2.resize(out, (w_in, h_in)) + img_lab_out = np.concatenate((img_lab[:, :, 0][:, :, np.newaxis], out), axis=2) + img_bgr_out = np.clip(cv2.cvtColor(img_lab_out, cv2.COLOR_Lab2RGB), 0, 1) + colorized_image = (cv2.resize(img_bgr_out, (w_in, h_in)) * 255).astype(np.uint8) + return colorized_image + +.. code:: ipython3 + + color_img_0 = colorize(test_img_0) + color_img_1 = colorize(test_img_1) + +Display Colorized Image +----------------------- + + + +.. code:: ipython3 + + plot_output(test_img_0, color_img_0) + + + +.. image:: vision-image-colorization-with-output_files/vision-image-colorization-with-output_21_0.png + + +.. code:: ipython3 + + plot_output(test_img_1, color_img_1) + + + +.. image:: vision-image-colorization-with-output_files/vision-image-colorization-with-output_22_0.png + diff --git a/docs/notebooks/vision-image-colorization-with-output_files/vision-image-colorization-with-output_21_0.png b/docs/notebooks/vision-image-colorization-with-output_files/vision-image-colorization-with-output_21_0.png new file mode 100644 index 00000000000..4b8608e6f20 --- /dev/null +++ b/docs/notebooks/vision-image-colorization-with-output_files/vision-image-colorization-with-output_21_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c278cf1e55ecf1ea7593ae094cbafee4fccef56951ba7b4de2b20d3bb6cb364 +size 415784 diff --git a/docs/notebooks/vision-image-colorization-with-output_files/vision-image-colorization-with-output_22_0.png b/docs/notebooks/vision-image-colorization-with-output_files/vision-image-colorization-with-output_22_0.png new file mode 100644 index 00000000000..019f11ffd29 --- /dev/null +++ b/docs/notebooks/vision-image-colorization-with-output_files/vision-image-colorization-with-output_22_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff4ab92d3df015fc56a10173b2192cb2026d64c12c03c734d775aa5189a85ebe +size 284968 diff --git a/docs/notebooks/201-vision-monodepth-with-output.rst b/docs/notebooks/vision-monodepth-with-output.rst similarity index 99% rename from docs/notebooks/201-vision-monodepth-with-output.rst rename to docs/notebooks/vision-monodepth-with-output.rst index 0568f2d1b47..8fdc7523c3e 100644 --- a/docs/notebooks/201-vision-monodepth-with-output.rst +++ b/docs/notebooks/vision-monodepth-with-output.rst @@ -78,23 +78,40 @@ Install requirements %pip install -q "matplotlib>=3.4,<3.7" # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -104,7 +121,7 @@ Install requirements .. parsed-literal:: - ('notebook_utils.py', ) + 21503 @@ -146,11 +163,11 @@ format. .. code:: ipython3 - model_folder = Path('model') + model_folder = Path("model") - ir_model_url = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/depth-estimation-midas/FP32/' - ir_model_name_xml = 'MiDaS_small.xml' - ir_model_name_bin = 'MiDaS_small.bin' + ir_model_url = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/depth-estimation-midas/FP32/" + ir_model_name_xml = "MiDaS_small.xml" + ir_model_name_bin = "MiDaS_small.bin" download_file(ir_model_url + ir_model_name_xml, filename=ir_model_name_xml, directory=model_folder) download_file(ir_model_url + ir_model_name_bin, filename=ir_model_name_bin, directory=model_folder) @@ -219,8 +236,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -246,8 +263,12 @@ output keys and the expected input shape for the model. .. code:: ipython3 + # Create cache folder + cache_folder = Path("cache") + cache_folder.mkdir(exist_ok=True) + core = ov.Core() - core.set_property({'CACHE_DIR': '../cache'}) + core.set_property({"CACHE_DIR": cache_folder}) model = core.read_model(model_xml_path) compiled_model = core.compile_model(model=model, device_name=device.value) @@ -305,7 +326,7 @@ original image shape. .. parsed-literal:: - /tmp/ipykernel_3058046/2076527990.py:15: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed two minor releases later. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap(obj)`` instead. + /tmp/ipykernel_64442/2076527990.py:15: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed two minor releases later. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap(obj)`` instead. cmap = matplotlib.cm.get_cmap(colormap) @@ -322,7 +343,7 @@ Display monodepth image -.. image:: 201-vision-monodepth-with-output_files/201-vision-monodepth-with-output_18_0.png +.. image:: vision-monodepth-with-output_files/vision-monodepth-with-output_18_0.png Monodepth on Video @@ -388,10 +409,7 @@ compute values for these properties for the monodepth video. target_frame_width = int(input_video_frame_width * SCALE_OUTPUT) cap.release() - print( - f"The input video has a frame width of {input_video_frame_width}, " - f"frame height of {input_video_frame_height} and runs at {input_fps:.2f} fps" - ) + print(f"The input video has a frame width of {input_video_frame_width}, " f"frame height of {input_video_frame_height} and runs at {input_fps:.2f} fps") print( "The monodepth video will be scaled with a factor " f"{SCALE_OUTPUT}, have width {target_frame_width}, " @@ -507,7 +525,7 @@ Do Inference on a Video and Create Monodepth Video .. parsed-literal:: - Processed 60 frames in 26.30 seconds. Total FPS (including video processing): 2.28.Inference FPS: 43.50 + Processed 60 frames in 26.27 seconds. Total FPS (including video processing): 2.28.Inference FPS: 43.30 Monodepth Video saved to 'output/Coco%20Walking%20in%20Berkeley_monodepth.mp4'. @@ -524,10 +542,7 @@ Display Monodepth Video raise ValueError("OpenCV was unable to write the video file. Showing one video frame.") else: print(f"Showing monodepth video saved at\n{result_video_path.resolve()}") - print( - "If you cannot see the video in your browser, please click on the " - "following link to download the video " - ) + print("If you cannot see the video in your browser, please click on the " "following link to download the video ") video_link = FileLink(result_video_path) video_link.html_link_str = "%s" display(HTML(video_link._repr_html_())) @@ -537,7 +552,7 @@ Display Monodepth Video .. parsed-literal:: Showing monodepth video saved at - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/201-vision-monodepth/output/Coco%20Walking%20in%20Berkeley_monodepth.mp4 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/vision-monodepth/output/Coco%20Walking%20in%20Berkeley_monodepth.mp4 If you cannot see the video in your browser, please click on the following link to download the video diff --git a/docs/notebooks/vision-monodepth-with-output_files/vision-monodepth-with-output_18_0.png b/docs/notebooks/vision-monodepth-with-output_files/vision-monodepth-with-output_18_0.png new file mode 100644 index 00000000000..080c3d27e9f --- /dev/null +++ b/docs/notebooks/vision-monodepth-with-output_files/vision-monodepth-with-output_18_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb0ee9e50cfc68c5963f1f087c833d310e943e9c346390ce445b1328bb8ebb1c +size 959858 diff --git a/docs/notebooks/206-vision-paddlegan-anime-with-output.rst b/docs/notebooks/vision-paddlegan-anime-with-output.rst similarity index 83% rename from docs/notebooks/206-vision-paddlegan-anime-with-output.rst rename to docs/notebooks/vision-paddlegan-anime-with-output.rst index 97380a91e59..925898fdcf3 100644 --- a/docs/notebooks/206-vision-paddlegan-anime-with-output.rst +++ b/docs/notebooks/vision-paddlegan-anime-with-output.rst @@ -72,15 +72,25 @@ Install requirements else: %pip install -q "matplotlib>=3.4,<3.7" - %pip install -q opencv-python scikit-learn scikit-image + %pip install -q opencv-python scikit-learn "scikit-image>=0.19.2" %pip install -q "imageio==2.9.0" "imageio-ffmpeg" "numba>=0.53.1" easydict munch natsort +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -93,20 +103,35 @@ Install requirements .. parsed-literal:: - Note: you may need to restart the kernel to use updated packages. - + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - paddleclas 2.5.1 requires faiss-cpu==1.7.1.post2, but you have faiss-cpu 1.8.0 which is incompatible. - paddleclas 2.5.1 requires gast==0.3.3, but you have gast 0.4.0 which is incompatible. - ppgan 2.1.0 requires librosa==0.8.1, but you have librosa 0.10.1 which is incompatible. + paddleclas 2.5.2 requires gast==0.3.3, but you have gast 0.4.0 which is incompatible. + paddleclas 2.5.2 requires opencv-python==4.6.0.66, but you have opencv-python 4.9.0.80 which is incompatible. + ppgan 2.1.0 requires librosa==0.8.1, but you have librosa 0.9.2 which is incompatible. ppgan 2.1.0 requires opencv-python<=4.6.0.66, but you have opencv-python 4.9.0.80 which is incompatible. scikit-image 0.21.0 requires imageio>=2.27, but you have imageio 2.9.0 which is incompatible. @@ -127,7 +152,7 @@ Imports import time import os from pathlib import Path - import urllib.request + import requests import cv2 import matplotlib.pyplot as plt @@ -216,13 +241,13 @@ source of the function. .. parsed-literal:: - [03/12 23:23:24] ppgan INFO: Found /opt/home/k8sworker/.cache/ppgan/animeganv2_hayao.pdparams + [04/18 01:23:57] ppgan INFO: Found /opt/home/k8sworker/.cache/ppgan/animeganv2_hayao.pdparams .. code:: ipython3 # In a Jupyter Notebook, ?? shows the source and docstring - predictor.run?? + ??predictor.run The ``AnimeGANPredictor.run()`` method works as follow: @@ -252,11 +277,13 @@ cell. image_path = Path("./data/coco_bricks.png") # fetch the image from the web image_path.parent.mkdir(parents=True, exist_ok=True) - urllib.request.urlretrieve( + r = requests.get( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bricks.png", - image_path ) + with image_path.open("wb") as f: + f.write(r.content) + image = cv2.cvtColor(cv2.imread(str(image_path), flags=cv2.IMREAD_COLOR), cv2.COLOR_BGR2RGB) ## Inference takes a long time on large images. Resize to a max width of 600. @@ -267,7 +294,7 @@ cell. input_tensor = paddle.to_tensor(transformed_image[None, ::]) if PADDLEGAN_INFERENCE: - # Step 3. Do inference. + # Step 3. Do inference. predictor.generator.eval() with paddle.no_grad(): result = predictor.generator(input_tensor) @@ -310,7 +337,7 @@ Show Inference Results on PaddleGAN model -.. image:: 206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_15_0.png +.. image:: vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_15_0.png Model Conversion to ONNX and OpenVINO IR @@ -357,23 +384,23 @@ succeeds, the output of the next cell will include .. parsed-literal:: - 2024-03-12 23:23:32 [INFO] Static PaddlePaddle model saved in model/paddle_model_static_onnx_temp_dir. + 2024-04-18 01:24:06 [INFO] Static PaddlePaddle model saved in model/paddle_model_static_onnx_temp_dir. .. parsed-literal:: [Paddle2ONNX] Start to parse PaddlePaddle model... [Paddle2ONNX] Model file path: model/paddle_model_static_onnx_temp_dir/model.pdmodel - [Paddle2ONNX] Paramters file path: model/paddle_model_static_onnx_temp_dir/model.pdiparams + [Paddle2ONNX] Parameters file path: model/paddle_model_static_onnx_temp_dir/model.pdiparams [Paddle2ONNX] Start to parsing Paddle model... [Paddle2ONNX] Use opset_version = 11 for ONNX export. [Paddle2ONNX] PaddlePaddle model is exported as ONNX format now. - 2024-03-12 23:23:32 [INFO] ONNX model saved in model/paddlegan_anime.onnx. + 2024-04-18 01:24:06 [INFO] ONNX model saved in model/paddlegan_anime.onnx. .. parsed-literal:: - I0312 23:23:32.235426 3060480 program_interpreter.cc:212] New Executor is Running. + I0418 01:24:06.033911 64719 program_interpreter.cc:212] New Executor is Running. Convert to OpenVINO IR @@ -387,7 +414,7 @@ images manually. See the transforms that the ``.run()`` method used: .. code:: ipython3 - predictor.__init__?? + ??predictor.__init__ .. code:: ipython3 @@ -462,11 +489,11 @@ Create Postprocessing Functions .. code:: ipython3 - predictor.adjust_brightness?? + ??predictor.adjust_brightness .. code:: ipython3 - predictor.calc_avg_brightness?? + ??predictor.calc_avg_brightness The average brightness is computed by a `standard formula `__. To adjust the @@ -509,7 +536,7 @@ Do Inference on OpenVINO IR Model Load the OpenVINO IR model and do inference, following the same steps as for the PaddleGAN model. For more information about inference on OpenVINO IR models, see the `OpenVINO Runtime API -notebook <002-openvino-api-with-output.html>`__. +notebook `__. The OpenVINO IR model is generated with an input shape that is computed based on the input image. If you do inference on images with different @@ -529,8 +556,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -566,8 +593,8 @@ select device from dropdown list for running inference using OpenVINO resized_image = cv2.resize(image, (target_width, target_height)) input_image = resized_image.transpose(2, 0, 1)[None, :, :, :] # Normalize the image - input_mean = np.array([127.5,127.5,127.5]).reshape(1, 3, 1, 1) - input_scale = np.array([127.5,127.5,127.5]).reshape(1, 3, 1, 1) + input_mean = np.array([127.5, 127.5, 127.5]).reshape(1, 3, 1, 1) + input_scale = np.array([127.5, 127.5, 127.5]).reshape(1, 3, 1, 1) input_image = (input_image - input_mean) / input_scale # Step 3. Do inference. @@ -607,7 +634,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 206-vision-paddlegan-anime-with-output_files/206-vision-paddlegan-anime-with-output_37_0.png +.. image:: vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_37_0.png Performance Comparison @@ -619,7 +646,7 @@ Measure the time it takes to do inference on an image. This gives an indication of performance. It is not a perfect measure. Since the PaddleGAN model requires quite a bit of memory for inference, only measure inference on one image. For more accurate benchmarking, use -`Benchmark Tool <104-model-tools-with-output.html>`__. +`Benchmark Tool `__. .. code:: ipython3 @@ -629,14 +656,11 @@ measure inference on one image. For more accurate benchmarking, use compiled_model([input_image]) end = time.perf_counter() time_ir = end - start - print( - f"OpenVINO IR model in OpenVINO Runtime/CPU: {time_ir/NUM_IMAGES:.3f} " - f"seconds per image, FPS: {NUM_IMAGES/time_ir:.2f}" - ) + print(f"OpenVINO IR model in OpenVINO Runtime/CPU: {time_ir/NUM_IMAGES:.3f} " f"seconds per image, FPS: {NUM_IMAGES/time_ir:.2f}") ## `PADDLEGAN_INFERENCE` is defined in the "Inference on PaddleGAN model" section above. ## Uncomment the next line to enable a performance comparison with the PaddleGAN model - ## if you disabled it earlier. + ## if you disabled it earlier. # PADDLEGAN_INFERENCE = True @@ -647,20 +671,17 @@ measure inference on one image. For more accurate benchmarking, use predictor.generator(input_tensor) end = time.perf_counter() time_paddle = end - start - print( - f"PaddleGAN model on CPU: {time_paddle/NUM_IMAGES:.3f} seconds per image, " - f"FPS: {NUM_IMAGES/time_paddle:.2f}" - ) + print(f"PaddleGAN model on CPU: {time_paddle/NUM_IMAGES:.3f} seconds per image, " f"FPS: {NUM_IMAGES/time_paddle:.2f}") .. parsed-literal:: - OpenVINO IR model in OpenVINO Runtime/CPU: 0.425 seconds per image, FPS: 2.36 + OpenVINO IR model in OpenVINO Runtime/CPU: 0.416 seconds per image, FPS: 2.40 .. parsed-literal:: - PaddleGAN model on CPU: 6.184 seconds per image, FPS: 0.16 + PaddleGAN model on CPU: 6.032 seconds per image, FPS: 0.17 References diff --git a/docs/notebooks/vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_15_0.png b/docs/notebooks/vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_15_0.png new file mode 100644 index 00000000000..a5526c0ad84 --- /dev/null +++ b/docs/notebooks/vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_15_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9479be703d311d46b756a08fc1967fb6f62b89b90440661755f5ceee2d26f149 +size 1810982 diff --git a/docs/notebooks/vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_37_0.png b/docs/notebooks/vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_37_0.png new file mode 100644 index 00000000000..f1ee632679e --- /dev/null +++ b/docs/notebooks/vision-paddlegan-anime-with-output_files/vision-paddlegan-anime-with-output_37_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:299c1d8f9aa88fd23a247712ae188d86ef085dc2a19e3947b5bfcd97f3dabb6d +size 1931637 diff --git a/docs/notebooks/207-vision-paddlegan-superresolution-with-output.rst b/docs/notebooks/vision-paddlegan-superresolution-with-output.rst similarity index 80% rename from docs/notebooks/207-vision-paddlegan-superresolution-with-output.rst rename to docs/notebooks/vision-paddlegan-superresolution-with-output.rst index d0bedc6a43e..e6205e5a6a3 100644 --- a/docs/notebooks/207-vision-paddlegan-superresolution-with-output.rst +++ b/docs/notebooks/vision-paddlegan-superresolution-with-output.rst @@ -57,9 +57,9 @@ Imports %pip install -q "paddlepaddle>=2.5.1" "paddle2onnx>=0.6" - %pip install -q "imageio==2.9.0" "imageio-ffmpeg" "numba>=0.53.1" "easydict" "munch" "natsort" + %pip install -q "imageio==2.9.0" "imageio" "numba>=0.53.1" "easydict" "munch" "natsort" Pillow tqdm %pip install -q "git+https://github.com/PaddlePaddle/PaddleGAN.git" --no-deps - %pip install -q scikit-image + %pip install -q "scikit-image>=0.19.2" if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -67,11 +67,31 @@ Imports %pip install -q "matplotlib>=3.4,<3.7" +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -84,14 +104,14 @@ Imports .. parsed-literal:: - Note: you may need to restart the kernel to use updated packages. - + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + .. parsed-literal:: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. ppgan 2.1.0 requires imageio==2.9.0, but you have imageio 2.34.0 which is incompatible. - ppgan 2.1.0 requires librosa==0.8.1, but you have librosa 0.10.1 which is incompatible. + ppgan 2.1.0 requires librosa==0.8.1, but you have librosa 0.9.2 which is incompatible. ppgan 2.1.0 requires opencv-python<=4.6.0.66, but you have opencv-python 4.9.0.80 which is incompatible. @@ -100,6 +120,11 @@ Imports Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -123,11 +148,13 @@ Imports from ppgan.apps import RealSRPredictor # Fetch `notebook_utils` module - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import NotebookAlert, download_file Settings @@ -173,24 +200,24 @@ source code. .. parsed-literal:: - [03/12 23:24:03] ppgan INFO: Found /opt/home/k8sworker/.cache/ppgan/DF2K_JPEG.pdparams + [04/18 01:24:39] ppgan INFO: Found /opt/home/k8sworker/.cache/ppgan/DF2K_JPEG.pdparams .. code:: ipython3 - sr.run?? + ??sr.run .. code:: ipython3 - sr.run_image?? + ??sr.run_image .. code:: ipython3 - sr.norm?? + ??sr.norm .. code:: ipython3 - sr.denorm?? + ??sr.denorm The run checks whether the input is an image or a video. For an image, it loads the image as an ``RGB`` image, normalizes it, and converts it @@ -225,7 +252,7 @@ may take some time. # Load the image from openvino storage IMAGE_PATH = download_file( "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_tulips.jpg", - directory="data" + directory="data", ) @@ -265,9 +292,7 @@ may take some time. result = sr.model(input_tensor) end_time = time.perf_counter() duration = end_time - start_time - result_image = ( - (result.numpy().squeeze() * 255).clip(0, 255).astype("uint8").transpose((1, 2, 0)) - ) + result_image = (result.numpy().squeeze() * 255).clip(0, 255).astype("uint8").transpose((1, 2, 0)) print(f"Superresolution image shape: {result_image.shape}") print(f"Inference duration: {duration:.2f} seconds") plt.imshow(result_image); @@ -301,27 +326,27 @@ Convert PaddlePaddle Model to ONNX .. parsed-literal:: - 2024-03-12 23:24:10 [INFO] Static PaddlePaddle model saved in model/paddle_model_static_onnx_temp_dir. + 2024-04-18 01:24:46 [INFO] Static PaddlePaddle model saved in model/paddle_model_static_onnx_temp_dir. .. parsed-literal:: - I0312 23:24:10.040381 3060798 program_interpreter.cc:212] New Executor is Running. + I0418 01:24:46.227986 65088 program_interpreter.cc:212] New Executor is Running. .. parsed-literal:: [Paddle2ONNX] Start to parse PaddlePaddle model... [Paddle2ONNX] Model file path: model/paddle_model_static_onnx_temp_dir/model.pdmodel - [Paddle2ONNX] Paramters file path: model/paddle_model_static_onnx_temp_dir/model.pdiparams + [Paddle2ONNX] Parameters file path: model/paddle_model_static_onnx_temp_dir/model.pdiparams [Paddle2ONNX] Start to parsing Paddle model... - [Paddle2ONNX] Use opset_version = 13 for ONNX export. - [Paddle2ONNX] PaddlePaddle model is exported as ONNX format now. .. parsed-literal:: - 2024-03-12 23:24:13 [INFO] ONNX model saved in model/paddlegan_sr.onnx. + [Paddle2ONNX] Use opset_version = 13 for ONNX export. + [Paddle2ONNX] PaddlePaddle model is exported as ONNX format now. + 2024-04-18 01:24:49 [INFO] ONNX model saved in model/paddlegan_sr.onnx. Convert ONNX Model to OpenVINO IR with `Model Conversion Python API `__ @@ -333,10 +358,7 @@ Convert ONNX Model to OpenVINO IR with `Model Conversion Python API + -.. image:: 207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_26_1.png +.. image:: vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_26_1.png .. code:: ipython3 @@ -435,7 +457,7 @@ select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - Inference duration: 3.23 seconds + Inference duration: 3.22 seconds .. code:: ipython3 @@ -458,12 +480,12 @@ select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - + -.. image:: 207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_30_1.png +.. image:: vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_30_1.png Show an Animated GIF @@ -497,7 +519,7 @@ between both versions. -.. image:: 207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_32_0.png +.. image:: vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_32_0.png :width: 960px @@ -532,12 +554,8 @@ open it directly from the images directory, and play it locally. (video_target_width, video_target_height), ) - resized_result_image = cv2.resize(image_super, (video_target_width, video_target_height))[ - :, :, (2, 1, 0) - ] - resized_bicubic_image = cv2.resize(image_bicubic, (video_target_width, video_target_height))[ - :, :, (2, 1, 0) - ] + resized_result_image = cv2.resize(image_super, (video_target_width, video_target_height))[:, :, (2, 1, 0)] + resized_bicubic_image = cv2.resize(image_bicubic, (video_target_width, video_target_height))[:, :, (2, 1, 0)] progress_bar = ProgressBar(total=video_target_width) progress_bar.display() @@ -572,12 +590,12 @@ you use the Google Colab .. code:: ipython3 - if 'google.colab' in str(get_ipython()): + if "google.colab" in str(get_ipython()): # Save a file from google.colab import files # Save the file to the local file system - with open(result_video_path, 'r') as f: + with open(result_video_path, "r") as f: files.download(result_video_path) else: video_link = FileLink(result_video_path) diff --git a/docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_26_1.png b/docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_26_1.png new file mode 100644 index 00000000000..d6f651c7f34 --- /dev/null +++ b/docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_26_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff6ea7dc343f1463b8f50bf8874ba9acdcbd3db1c83641229531938078390331 +size 436999 diff --git a/docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_30_1.png b/docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_30_1.png new file mode 100644 index 00000000000..b9c4fed382b --- /dev/null +++ b/docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_30_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deb8bf91f95586f9f0906d4693b8072f2046be8b68dfa6de5a1ebd3f3dd802c8 +size 476190 diff --git a/docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_32_0.png b/docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_32_0.png similarity index 100% rename from docs/notebooks/207-vision-paddlegan-superresolution-with-output_files/207-vision-paddlegan-superresolution-with-output_32_0.png rename to docs/notebooks/vision-paddlegan-superresolution-with-output_files/vision-paddlegan-superresolution-with-output_32_0.png diff --git a/docs/notebooks/202-vision-superresolution-image-with-output.rst b/docs/notebooks/vision-superresolution-image-with-output.rst similarity index 83% rename from docs/notebooks/202-vision-superresolution-image-with-output.rst rename to docs/notebooks/vision-superresolution-image-with-output.rst index 81210e18934..09e21372d11 100644 --- a/docs/notebooks/202-vision-superresolution-image-with-output.rst +++ b/docs/notebooks/vision-superresolution-image-with-output.rst @@ -69,7 +69,7 @@ Install requirements %pip install -q "openvino>=2023.1.0" %pip install -q opencv-python - %pip install -q pillow + %pip install -q pillow tqdm if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -79,19 +79,39 @@ Install requirements .. parsed-literal:: - Note: you may need to restart the kernel to use updated packages. - + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -122,9 +142,13 @@ Imports # Define a download file helper function def download_file(url: str, path: Path) -> None: """Download file.""" - import urllib.request + import requests + path.parent.mkdir(parents=True, exist_ok=True) - urllib.request.urlretrieve(url, path) + + r = requests.get(url) + with path.open("wb") as f: + f.write(r.content) Settings ~~~~~~~~ @@ -145,8 +169,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -164,25 +188,25 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 # 1032: 4x superresolution, 1033: 3x superresolution - model_name = 'single-image-super-resolution-1032' + model_name = "single-image-super-resolution-1032" base_model_dir = Path("./model").expanduser() - model_xml_name = f'{model_name}.xml' - model_bin_name = f'{model_name}.bin' + model_xml_name = f"{model_name}.xml" + model_bin_name = f"{model_name}.bin" model_xml_path = base_model_dir / model_xml_name model_bin_path = base_model_dir / model_bin_name if not model_xml_path.exists(): - base_url = f'https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{model_name}/FP16/' + base_url = f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{model_name}/FP16/" model_xml_url = base_url + model_xml_name model_bin_url = base_url + model_bin_name download_file(model_xml_url, model_xml_path) download_file(model_bin_url, model_bin_path) else: - print(f'{model_name} already downloaded to {base_model_dir}') + print(f"{model_name} already downloaded to {base_model_dir}") Functions ~~~~~~~~~ @@ -283,11 +307,7 @@ information about the network inputs and outputs. print(f"The network expects inputs with a width of {input_width}, " f"height of {input_height}") print(f"The network returns images with a width of {target_width}, " f"height of {target_height}") - print( - f"The image sides are upsampled by a factor of {upsample_factor}. " - f"The new image is {upsample_factor**2} times as large as the " - "original image" - ) + print(f"The image sides are upsampled by a factor of {upsample_factor}. " f"The new image is {upsample_factor**2} times as large as the " "original image") .. parsed-literal:: @@ -313,7 +333,10 @@ Load and Show the Input Image os.makedirs(str(OUTPUT_PATH), exist_ok=True) - download_file('https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/tower.jpg', IMAGE_PATH) + download_file( + "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/tower.jpg", + IMAGE_PATH, + ) full_image = cv2.imread(str(IMAGE_PATH)) # Uncomment these lines to load a raw image as BGR. @@ -331,7 +354,7 @@ Load and Show the Input Image -.. image:: 202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_15_1.png +.. image:: vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_15_1.png Superresolution on a Crop of the Image @@ -387,7 +410,7 @@ as the crop size. -.. image:: 202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_17_1.png +.. image:: vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_17_1.png Reshape/Resize Crop for Model Input @@ -403,9 +426,7 @@ interpolation. This bicubic image is the second input to the network. .. code:: ipython3 # Resize the image to the target shape with bicubic interpolation. - bicubic_image = cv2.resize( - src=image_crop, dsize=(target_width, target_height), interpolation=cv2.INTER_CUBIC - ) + bicubic_image = cv2.resize(src=image_crop, dsize=(target_width, target_height), interpolation=cv2.INTER_CUBIC) # If required, resize the image to the input image shape. if CROP_FACTOR > 1: @@ -459,7 +480,7 @@ Show the bicubic image and the enhanced superresolution image. -.. image:: 202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_23_1.png +.. image:: vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_23_1.png Save Superresolution and Bicubic Image Crop @@ -475,18 +496,22 @@ Save Superresolution and Bicubic Image Crop # Store the image and the results. crop_image_path = Path(f"{OUTPUT_PATH.stem}/{image_id}_{adjusted_upsample_factor}x_crop.png") - superres_image_path = Path( - f"{OUTPUT_PATH.stem}/{image_id}_{adjusted_upsample_factor}x_crop_superres.png" - ) - bicubic_image_path = Path( - f"{OUTPUT_PATH.stem}/{image_id}_{adjusted_upsample_factor}x_crop_bicubic.png" - ) - cv2.imwrite(filename=str(crop_image_path), img=image_crop, params=[cv2.IMWRITE_PNG_COMPRESSION, 0]) + superres_image_path = Path(f"{OUTPUT_PATH.stem}/{image_id}_{adjusted_upsample_factor}x_crop_superres.png") + bicubic_image_path = Path(f"{OUTPUT_PATH.stem}/{image_id}_{adjusted_upsample_factor}x_crop_bicubic.png") cv2.imwrite( - filename=str(superres_image_path), img=image_super, params=[cv2.IMWRITE_PNG_COMPRESSION, 0] + filename=str(crop_image_path), + img=image_crop, + params=[cv2.IMWRITE_PNG_COMPRESSION, 0], ) cv2.imwrite( - filename=str(bicubic_image_path), img=image_bicubic, params=[cv2.IMWRITE_PNG_COMPRESSION, 0] + filename=str(superres_image_path), + img=image_super, + params=[cv2.IMWRITE_PNG_COMPRESSION, 0], + ) + cv2.imwrite( + filename=str(bicubic_image_path), + img=image_bicubic, + params=[cv2.IMWRITE_PNG_COMPRESSION, 0], ) print(f"Images written to directory: {OUTPUT_PATH}") @@ -531,7 +556,7 @@ Write Animated GIF with Bicubic/Superresolution Comparison -.. image:: 202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_27_1.png +.. image:: vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_27_1.png :width: 960px @@ -553,9 +578,7 @@ the ``Files`` tool. FOURCC = cv2.VideoWriter_fourcc(*"MJPG") - result_video_path = Path( - f"{OUTPUT_PATH.stem}/{image_id}_crop_comparison_{adjusted_upsample_factor}x.avi" - ) + result_video_path = Path(f"{OUTPUT_PATH.stem}/{image_id}_crop_comparison_{adjusted_upsample_factor}x.avi") video_target_height, video_target_width = ( result_image.shape[0] // 2, result_image.shape[1] // 2, @@ -569,9 +592,7 @@ the ``Files`` tool. ) resized_result_image = cv2.resize(src=result_image, dsize=(video_target_width, video_target_height)) - resized_bicubic_image = cv2.resize( - src=bicubic_image, dsize=(video_target_width, video_target_height) - ) + resized_bicubic_image = cv2.resize(src=bicubic_image, dsize=(video_target_width, video_target_height)) progress_bar = ProgressBar(total=video_target_width) progress_bar.display() @@ -648,16 +669,8 @@ Compute patches crop_height = y_coords[-1] + input_height * CROP_FACTOR # Compute the width and height of the target superresolution image. - new_width = ( - x_coords[-1] * (upsample_factor // CROP_FACTOR) - + target_width - - CROPLINES * 2 * (upsample_factor // CROP_FACTOR) - ) - new_height = ( - y_coords[-1] * (upsample_factor // CROP_FACTOR) - + target_height - - CROPLINES * 2 * (upsample_factor // CROP_FACTOR) - ) + new_width = x_coords[-1] * (upsample_factor // CROP_FACTOR) + target_width - CROPLINES * 2 * (upsample_factor // CROP_FACTOR) + new_height = y_coords[-1] * (upsample_factor // CROP_FACTOR) + target_height - CROPLINES * 2 * (upsample_factor // CROP_FACTOR) print(f"The output image will have a width of {new_width} " f"and a height of {new_height}") @@ -766,11 +779,7 @@ as total time to process each patch. clear_output(wait=True) progress_bar.display() display( - Pretty( - f"Processed patch {patch_nr}/{num_patches}. " - f"Inference time: {inference_duration:.2f} seconds " - f"({1/inference_duration:.2f} FPS)" - ) + Pretty(f"Processed patch {patch_nr}/{num_patches}. " f"Inference time: {inference_duration:.2f} seconds " f"({1/inference_duration:.2f} FPS)") ) end_time = time.perf_counter() @@ -786,8 +795,8 @@ as total time to process each patch. .. parsed-literal:: - Processed 42 patches in 4.63 seconds. Total patches per second (including processing): 9.08. - Inference patches per second: 17.95 + Processed 42 patches in 4.57 seconds. Total patches per second (including processing): 9.19. + Inference patches per second: 18.33 Save superresolution image and the bicubic image @@ -797,9 +806,7 @@ Save superresolution image and the bicubic image .. code:: ipython3 - full_superresolution_image_path = Path( - f"{OUTPUT_PATH.stem}/full_superres_{adjusted_upsample_factor}x.jpg" - ) + full_superresolution_image_path = Path(f"{OUTPUT_PATH.stem}/full_superres_{adjusted_upsample_factor}x.jpg") full_bicubic_image_path = Path(f"{OUTPUT_PATH.stem}/full_bicubic_{adjusted_upsample_factor}x.jpg") cv2.imwrite(str(full_superresolution_image_path), full_superresolution_image) diff --git a/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_15_1.png b/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_15_1.png new file mode 100644 index 00000000000..a9ec6addf5e --- /dev/null +++ b/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_15_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3428dab756fda8428501e56a0539ad4d6580e7e10bf19c300375fcb31c09952 +size 272963 diff --git a/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_17_1.png b/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_17_1.png new file mode 100644 index 00000000000..ff530904334 --- /dev/null +++ b/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_17_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a83f2639bb12fb675aff3be61cc0b86660fb0e758447a054723401b57c0a22c8 +size 356735 diff --git a/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_23_1.png b/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_23_1.png new file mode 100644 index 00000000000..144fbf965a3 --- /dev/null +++ b/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_23_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd0a800cc2db5fbf13bc38b2194c2624218b83642138f7a24d76ec68b2f8ce21 +size 2896276 diff --git a/docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_27_1.png b/docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_27_1.png similarity index 100% rename from docs/notebooks/202-vision-superresolution-image-with-output_files/202-vision-superresolution-image-with-output_27_1.png rename to docs/notebooks/vision-superresolution-image-with-output_files/vision-superresolution-image-with-output_27_1.png diff --git a/docs/notebooks/202-vision-superresolution-video-with-output.rst b/docs/notebooks/vision-superresolution-video-with-output.rst similarity index 99% rename from docs/notebooks/202-vision-superresolution-video-with-output.rst rename to docs/notebooks/vision-superresolution-video-with-output.rst index 27beed4cd7c..b3e2dcdec73 100644 --- a/docs/notebooks/202-vision-superresolution-video-with-output.rst +++ b/docs/notebooks/vision-superresolution-video-with-output.rst @@ -53,20 +53,35 @@ Install requirements .. code:: ipython3 %pip install -q "openvino>=2023.1.0" - %pip install -q opencv-python + %pip install -q opencv-python tqdm %pip install -q "pytube>=12.1.0" .. parsed-literal:: - Note: you may need to restart the kernel to use updated packages. - + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + +.. parsed-literal:: + + Note: you may need to restart the kernel to use updated packages. + + +.. parsed-literal:: + + DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + + .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -101,9 +116,13 @@ Imports # Define a download file helper function def download_file(url: str, path: Path) -> None: """Download file.""" - import urllib.request + import requests + path.parent.mkdir(parents=True, exist_ok=True) - urllib.request.urlretrieve(url, path) + + r = requests.get(url) + with path.open("wb") as f: + f.write(r.content) Settings ~~~~~~~~ @@ -124,8 +143,8 @@ select device from dropdown list for running inference using OpenVINO core = ov.Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -143,25 +162,25 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 # 1032: 4x superresolution, 1033: 3x superresolution - model_name = 'single-image-super-resolution-1032' + model_name = "single-image-super-resolution-1032" - base_model_dir = Path('./model').expanduser() + base_model_dir = Path("./model").expanduser() - model_xml_name = f'{model_name}.xml' - model_bin_name = f'{model_name}.bin' + model_xml_name = f"{model_name}.xml" + model_bin_name = f"{model_name}.bin" model_xml_path = base_model_dir / model_xml_name model_bin_path = base_model_dir / model_bin_name if not model_xml_path.exists(): - base_url = f'https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{model_name}/FP16/' + base_url = f"https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/{model_name}/FP16/" model_xml_url = base_url + model_xml_name model_bin_url = base_url + model_bin_name download_file(model_xml_url, model_xml_path) download_file(model_bin_url, model_bin_path) else: - print(f'{model_name} already downloaded to {base_model_dir}') + print(f"{model_name} already downloaded to {base_model_dir}") .. parsed-literal:: @@ -227,11 +246,7 @@ resolution version of the image in 1920x1080. print(f"The network expects inputs with a width of {input_width}, " f"height of {input_height}") print(f"The network returns images with a width of {target_width}, " f"height of {target_height}") - print( - f"The image sides are upsampled by a factor of {upsample_factor}. " - f"The new image is {upsample_factor**2} times as large as the " - "original image" - ) + print(f"The image sides are upsampled by a factor of {upsample_factor}. " f"The new image is {upsample_factor**2} times as large as the " "original image") .. parsed-literal:: @@ -323,10 +338,7 @@ Download and Prepare Video original_frame_height, original_frame_width = image.shape[:2] cap.release() - print( - f"The input video has a frame width of {original_frame_width}, " - f"frame height of {original_frame_height} and runs at {fps:.2f} fps" - ) + print(f"The input video has a frame width of {original_frame_width}, " f"frame height of {original_frame_height} and runs at {fps:.2f} fps") .. parsed-literal:: @@ -412,7 +424,9 @@ video. # Resize and reshape the image to the target shape with bicubic # interpolation. bicubic_image = cv2.resize( - src=image, dsize=(target_width, target_height), interpolation=cv2.INTER_CUBIC + src=image, + dsize=(target_width, target_height), + interpolation=cv2.INTER_CUBIC, ) input_image_bicubic = np.expand_dims(bicubic_image.transpose(2, 0, 1), axis=0) @@ -446,13 +460,7 @@ video. if frame_nr % 10 == 0 or frame_nr == total_frames: clear_output(wait=True) progress_bar.display() - display( - Pretty( - f"Processed frame {frame_nr}. Inference time: " - f"{inference_duration:.2f} seconds " - f"({1/inference_duration:.2f} FPS)" - ) - ) + display(Pretty(f"Processed frame {frame_nr}. Inference time: " f"{inference_duration:.2f} seconds " f"({1/inference_duration:.2f} FPS)")) except KeyboardInterrupt: @@ -480,13 +488,13 @@ video. .. parsed-literal:: - Processed frame 100. Inference time: 0.05 seconds (20.76 FPS) + Processed frame 100. Inference time: 0.06 seconds (17.97 FPS) .. parsed-literal:: Video's saved to output directory. - Processed 100 frames in 242.92 seconds. Total FPS (including video processing): 0.41. Inference FPS: 18.04. + Processed 100 frames in 242.21 seconds. Total FPS (including video processing): 0.41. Inference FPS: 17.95. Show Side-by-Side Video of Bicubic and Superresolution Version diff --git a/docs/notebooks/227-whisper-convert-with-output.rst b/docs/notebooks/whisper-convert-with-output.rst similarity index 91% rename from docs/notebooks/227-whisper-convert-with-output.rst rename to docs/notebooks/whisper-convert-with-output.rst index d3c6f442ad0..f06129b8269 100644 --- a/docs/notebooks/227-whisper-convert-with-output.rst +++ b/docs/notebooks/whisper-convert-with-output.rst @@ -57,7 +57,7 @@ Install dependencies. %pip install -q "openvino>=2023.1.0" %pip install -q "python-ffmpeg<=1.0.16" moviepy transformers --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q "git+https://github.com/garywu007/pytube.git" - %pip install -q gradio + %pip install -q "gradio>=4.19" %pip install -q "openai-whisper==20231117" --extra-index-url https://download.pytorch.org/whl/cpu Instantiate model @@ -90,14 +90,14 @@ Whisper family. from whisper import _MODELS import ipywidgets as widgets - + model_id = widgets.Dropdown( options=list(_MODELS), - value='large-v2', - description='Model:', + value="large-v2", + description="Model:", disabled=False, ) - + model_id @@ -112,7 +112,7 @@ Whisper family. .. code:: ipython3 import whisper - + model = whisper.load_model(model_id.value, "cpu") model.eval() pass @@ -138,7 +138,7 @@ Convert Whisper Encoder to OpenVINO IR .. code:: ipython3 from pathlib import Path - + WHISPER_ENCODER_OV = Path(f"whisper_{model_id.value}_encoder.xml") WHISPER_DECODER_OV = Path(f"whisper_{model_id.value}_decoder.xml") @@ -146,8 +146,8 @@ Convert Whisper Encoder to OpenVINO IR import torch import openvino as ov - - mel = torch.zeros((1, 80 if 'v3' not in model_id.value else 128, 3000)) + + mel = torch.zeros((1, 80 if "v3" not in model_id.value else 128, 3000)) audio_features = model.encoder(mel) if not WHISPER_ENCODER_OV.exists(): encoder_model = ov.convert_model(model.encoder, example_input=mel) @@ -167,14 +167,14 @@ modify this process for correct tracing. import torch from typing import Optional, Tuple from functools import partial - - + + def attention_forward( - attention_module, - x: torch.Tensor, - xa: Optional[torch.Tensor] = None, - mask: Optional[torch.Tensor] = None, - kv_cache: Optional[Tuple[torch.Tensor, torch.Tensor]] = None, + attention_module, + x: torch.Tensor, + xa: Optional[torch.Tensor] = None, + mask: Optional[torch.Tensor] = None, + kv_cache: Optional[Tuple[torch.Tensor, torch.Tensor]] = None, ): """ Override for forward method of decoder attention module with storing cache values explicitly. @@ -190,7 +190,7 @@ modify this process for correct tracing. updated kv_cache """ q = attention_module.query(x) - + if xa is None: # hooks, if installed (i.e. kv_cache is not None), will prepend the cached kv tensors; # otherwise, perform key/value projections for self- or cross-attention as usual. @@ -205,11 +205,11 @@ modify this process for correct tracing. k = attention_module.key(xa) v = attention_module.value(xa) kv_cache_new = (None, None) - + wv, qk = attention_module.qkv_attention(q, k, v, mask) return attention_module.out(wv), kv_cache_new - - + + def block_forward( residual_block, x: torch.Tensor, @@ -228,59 +228,58 @@ modify this process for correct tracing. Returns: x: residual block output kv_cache: updated kv_cache - + """ - x0, kv_cache = residual_block.attn(residual_block.attn_ln( - x), mask=mask, kv_cache=kv_cache) + x0, kv_cache = residual_block.attn(residual_block.attn_ln(x), mask=mask, kv_cache=kv_cache) x = x + x0 if residual_block.cross_attn: - x1, _ = residual_block.cross_attn( - residual_block.cross_attn_ln(x), xa) + x1, _ = residual_block.cross_attn(residual_block.cross_attn_ln(x), xa) x = x + x1 x = x + residual_block.mlp(residual_block.mlp_ln(x)) return x, kv_cache - - - + + # update forward functions for idx, block in enumerate(model.decoder.blocks): block.forward = partial(block_forward, block) block.attn.forward = partial(attention_forward, block.attn) if block.cross_attn: block.cross_attn.forward = partial(attention_forward, block.cross_attn) - - - def decoder_forward(decoder, x: torch.Tensor, xa: torch.Tensor, kv_cache: Optional[Tuple[Tuple[torch.Tensor, torch.Tensor]]] = None): + + + def decoder_forward( + decoder, + x: torch.Tensor, + xa: torch.Tensor, + kv_cache: Optional[Tuple[Tuple[torch.Tensor, torch.Tensor]]] = None, + ): """ Override for decoder forward method. Parameters: x: torch.LongTensor, shape = (batch_size, <= n_ctx) the text tokens xa: torch.Tensor, shape = (batch_size, n_mels, n_audio_ctx) the encoded audio features to be attended on - kv_cache: Dict[str, torch.Tensor], attention modules hidden states cache from previous steps + kv_cache: Dict[str, torch.Tensor], attention modules hidden states cache from previous steps """ if kv_cache is not None: offset = kv_cache[0][0].shape[1] else: offset = 0 kv_cache = [None for _ in range(len(decoder.blocks))] - x = decoder.token_embedding( - x) + decoder.positional_embedding[offset: offset + x.shape[-1]] + x = decoder.token_embedding(x) + decoder.positional_embedding[offset : offset + x.shape[-1]] x = x.to(xa.dtype) kv_cache_upd = [] - + for block, kv_block_cache in zip(decoder.blocks, kv_cache): x, kv_block_cache_upd = block(x, xa, mask=decoder.mask, kv_cache=kv_block_cache) kv_cache_upd.append(tuple(kv_block_cache_upd)) - + x = decoder.ln(x) - logits = ( - x @ torch.transpose(decoder.token_embedding.weight.to(x.dtype), 1, 0)).float() - + logits = (x @ torch.transpose(decoder.token_embedding.weight.to(x.dtype), 1, 0)).float() + return logits, tuple(kv_cache_upd) - - - + + # override decoder forward model.decoder.forward = partial(decoder_forward, model.decoder) @@ -288,9 +287,9 @@ modify this process for correct tracing. tokens = torch.ones((5, 3), dtype=torch.int64) logits, kv_cache = model.decoder(tokens, audio_features, kv_cache=None) - + tokens = torch.ones((5, 1), dtype=torch.int64) - + if not WHISPER_DECODER_OV.exists(): decoder_model = ov.convert_model(model.decoder, example_input=(tokens, audio_features, kv_cache)) ov.save_model(decoder_model, WHISPER_DECODER_OV) @@ -320,7 +319,8 @@ To run the PyTorch Whisper model, we just need to call the original model pipeline for audio transcribing after replacing the original models with OpenVINO IR versions. -### Select inference device +Select inference device +~~~~~~~~~~~~~~~~~~~~~~~ select device from dropdown list for running inference using OpenVINO @@ -331,14 +331,14 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 import ipywidgets as widgets - + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) - + device @@ -352,10 +352,14 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 - from utils import patch_whisper_for_ov_inference, OpenVINOAudioEncoder, OpenVINOTextDecoder - + from utils import ( + patch_whisper_for_ov_inference, + OpenVINOAudioEncoder, + OpenVINOTextDecoder, + ) + patch_whisper_for_ov_inference(model) - + model.encoder = OpenVINOAudioEncoder(core, WHISPER_ENCODER_OV, device=device.value) model.decoder = OpenVINOTextDecoder(core, WHISPER_DECODER_OV, device=device.value) @@ -371,14 +375,15 @@ take some time. .. code:: ipython3 import ipywidgets as widgets + VIDEO_LINK = "https://youtu.be/kgL5LBM-hFI" link = widgets.Text( value=VIDEO_LINK, placeholder="Type link for video", description="Video:", - disabled=False + disabled=False, ) - + link @@ -393,9 +398,9 @@ take some time. .. code:: ipython3 from pytube import YouTube - + print(f"Downloading video {link.value} started") - + output_file = Path("downloaded_video.mp4") yt = YouTube(link.value) yt.streams.get_highest_resolution().download(filename=output_file) @@ -411,7 +416,7 @@ take some time. .. code:: ipython3 from utils import get_audio - + audio, duration = get_audio(output_file) Select the task for the model: @@ -427,7 +432,7 @@ Select the task for the model: options=["transcribe", "translate"], value="translate", description="Select task:", - disabled=False + disabled=False, ) task @@ -453,7 +458,7 @@ into video files using ``ffmpeg``. .. code:: ipython3 from utils import prepare_srt - + srt_lines = prepare_srt(transcription, filter_duration=duration) # save transcription with output_file.with_suffix(".srt").open("w") as f: @@ -484,36 +489,36 @@ Now let us see the results. 1 00:00:00,000 --> 00:00:05,000 What's that? - + 2 00:00:05,000 --> 00:00:07,000 Wow. - + 3 00:00:07,000 --> 00:00:10,000 Hello, humans. - + 4 00:00:10,000 --> 00:00:15,000 Focus on me. - + 5 00:00:15,000 --> 00:00:16,000 Focus on the guard. - + 6 00:00:16,000 --> 00:00:20,000 Don't tell anyone what you've seen in here. - + 7 00:00:20,000 --> 00:00:24,000 Have you seen what's in there? - + 8 00:00:24,000 --> 00:00:30,000 Intel. This is where it all changes. - - + + Interactive demo @@ -524,8 +529,8 @@ Interactive demo .. code:: ipython3 import gradio as gr - - + + def transcribe(url, task): output_file = Path("downloaded_video.mp4") yt = YouTube(url) @@ -536,14 +541,17 @@ Interactive demo with output_file.with_suffix(".srt").open("w") as f: f.writelines(srt_lines) return [str(output_file), str(output_file.with_suffix(".srt"))] - - + + demo = gr.Interface( transcribe, - [gr.Textbox(label="YouTube URL"), gr.Radio(["Transcribe", "Translate"], value="Transcribe")], + [ + gr.Textbox(label="YouTube URL"), + gr.Radio(["Transcribe", "Translate"], value="Transcribe"), + ], "video", examples=[["https://youtu.be/kgL5LBM-hFI", "Transcribe"]], - allow_flagging="never" + allow_flagging="never", ) try: demo.launch(debug=False) @@ -557,7 +565,7 @@ Interactive demo .. parsed-literal:: Running on local URL: http://127.0.0.1:7862 - + To create a public link, set `share=True` in `launch()`. diff --git a/docs/notebooks/227-whisper-nncf-quantize-with-output.rst b/docs/notebooks/whisper-nncf-quantize-with-output.rst similarity index 93% rename from docs/notebooks/227-whisper-nncf-quantize-with-output.rst rename to docs/notebooks/whisper-nncf-quantize-with-output.rst index e98ef4ba779..78cd96c29c3 100644 --- a/docs/notebooks/227-whisper-nncf-quantize-with-output.rst +++ b/docs/notebooks/whisper-nncf-quantize-with-output.rst @@ -7,17 +7,17 @@ applying 8-bit post-training quantization from Compression Framework) and infer quantized model via OpenVINO™ Toolkit. The optimization process contains the following steps: -1. Quantize the converted OpenVINO model from `227-whisper-convert - notebook <227-whisper-convert-with-output.html>`__ with NNCF. +1. Quantize the converted OpenVINO model from `whisper-convert + notebook `__ with NNCF. 2. Check model result for the demo video. 3. Compare model size, performance and accuracy of FP32 and quantized INT8 models. .. - **NOTE**: you should run - `227-whisper-convert <227-whisper-convert-with-output.html>`__ notebook first to - generate OpenVINO IR model that is used for quantization. + **NOTE**: you should run `whisper-convert `__ + notebook first to generate OpenVINO IR model that is used for + quantization. Table of contents: ^^^^^^^^^^^^^^^^^^ @@ -56,10 +56,12 @@ Select model for quantization from pathlib import Path import ipywidgets as widgets + def get_model_id(model_path): return model_path.name.replace("whisper_", "").replace("encoder.xml", "").replace("_", "") - model_list = [get_model_id(model_path) for model_path in Path('.').glob("whisper_*encoder.xml")] + + model_list = [get_model_id(model_path) for model_path in Path(".").glob("whisper_*encoder.xml")] model_list = [model_name for model_name in model_list if model_name] if not model_list: @@ -68,7 +70,7 @@ Select model for quantization model_id = widgets.Dropdown( options=model_list, value=model_list[0], - description='Model:', + description="Model:", disabled=False, ) @@ -90,12 +92,13 @@ Select device from dropdown list for running inference using OpenVINO. import ipywidgets as widgets from openvino import Core + core = Core() device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -123,7 +126,7 @@ Select the task for the model: options=["transcribe", "translate"], value="translate", description="Select task:", - disabled=False + disabled=False, ) task @@ -136,8 +139,9 @@ Select the task for the model: -## Create and initialize quantization `⇑ <#0>`__ `back to top -⬆️ <#table-of-contents>`__ +Create and initialize quantization +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + `NNCF `__ enables post-training quantization by adding the quantization layers into the @@ -155,8 +159,8 @@ The optimization process contains the following steps: function. Set paths to the model converted in -`227-whisper-convert <227-whisper-convert-with-output.html>`__ notebook and the -paths where quantized models will be saved. +`whisper-convert `__ notebook and the paths where +quantized models will be saved. .. code:: ipython3 @@ -173,7 +177,11 @@ Load FP32 model IR. .. code:: ipython3 import whisper - from utils import patch_whisper_for_ov_inference, OpenVINOAudioEncoder, OpenVINOTextDecoder + from utils import ( + patch_whisper_for_ov_inference, + OpenVINOAudioEncoder, + OpenVINOTextDecoder, + ) model_fp32 = whisper.load_model(model_id.value, "cpu").eval() patch_whisper_for_ov_inference(model_fp32) @@ -204,6 +212,7 @@ calibration samples. encoder_calibration_data = [] decoder_calibration_data = [] + @contextmanager def calibration_data_collection(): global COLLECT_CALIBRATION_DATA @@ -219,14 +228,16 @@ calibration samples. encoder_calibration_data.append(mel) return torch.from_numpy(self.compiled_model(mel)[self.output_blob]) + def decoder_forward(self, x: torch.Tensor, xa: torch.Tensor, kv_cache: Optional[dict] = None): - feed_dict = {'x': ov.Tensor(x.numpy()), 'xa': ov.Tensor(xa.numpy())} - feed_dict = (self.preprocess_kv_cache_inputs(feed_dict, kv_cache)) + feed_dict = {"x": ov.Tensor(x.numpy()), "xa": ov.Tensor(xa.numpy())} + feed_dict = self.preprocess_kv_cache_inputs(feed_dict, kv_cache) if COLLECT_CALIBRATION_DATA: decoder_calibration_data.append(feed_dict) res = self.compiled_model(feed_dict) return self.postprocess_outputs(res) + model_fp32.encoder.forward = partial(encoder_forward, model_fp32.encoder) model_fp32.decoder.forward = partial(decoder_forward, model_fp32.decoder) @@ -244,7 +255,11 @@ dataset from Hugging Face as calibration data. calibration_dataset = load_dataset("librispeech_asr", "clean", split="validation", streaming=True).take(CALIBRATION_DATASET_SIZE) with calibration_data_collection(): - for data_item in tqdm(calibration_dataset, desc="Collecting calibration data", total=CALIBRATION_DATASET_SIZE): + for data_item in tqdm( + calibration_dataset, + desc="Collecting calibration data", + total=CALIBRATION_DATASET_SIZE, + ): model_fp32.transcribe(data_item["audio"]["array"].astype("float32"), task=task.value) @@ -274,8 +289,8 @@ and save the quantized IRs after that. subset_size=len(encoder_calibration_data), model_type=nncf.ModelType.TRANSFORMER, advanced_parameters=nncf.AdvancedQuantizationParameters( - smooth_quant_alpha=0.5 # Smooth Quant algorithm reduces activation quantization error; optimal alpha value was obtained through grid search - ) + smooth_quant_alpha=0.5 # Smooth Quant algorithm reduces activation quantization error; optimal alpha value was obtained through grid search + ), ) serialize(quantized_encoder, WHISPER_ENCODER_OV_INT8) print(f"Saved quantized encoder at ./{WHISPER_ENCODER_OV_INT8}") @@ -287,8 +302,8 @@ and save the quantized IRs after that. subset_size=len(decoder_calibration_data), model_type=nncf.ModelType.TRANSFORMER, advanced_parameters=nncf.AdvancedQuantizationParameters( - smooth_quant_alpha=0.95 # Smooth Quant algorithm reduces activation quantization error; optimal alpha value was obtained through grid search - ) + smooth_quant_alpha=0.95 # Smooth Quant algorithm reduces activation quantization error; optimal alpha value was obtained through grid search + ), ) serialize(quantized_decoder, WHISPER_DECODER_OV_INT8) print(f"Saved quantized decoder at ./{WHISPER_DECODER_OV_INT8}") @@ -361,7 +376,7 @@ Load ``INT8`` models saved above into a new instance of Whisper model. model_int8.decoder = OpenVINOTextDecoder(core, WHISPER_DECODER_OV_INT8, device=device.value) Select a video for transcription as in -`227-whisper-convert <227-whisper-convert-with-output.html>`__ notebook. +`whisper-convert `__ notebook. .. code:: ipython3 @@ -370,7 +385,7 @@ Select a video for transcription as in value=VIDEO_LINK, placeholder="Type link for video", description="Video:", - disabled=False + disabled=False, ) link @@ -502,6 +517,7 @@ Compare model file size. print(f" * INT8 IR model size: {model_size_int8:.2f} KB") print(f" * Model compression rate: {model_size_fp32 / model_size_int8:.3f}") + calculate_compression_rate(WHISPER_ENCODER_OV, WHISPER_ENCODER_OV_INT8) calculate_compression_rate(WHISPER_DECODER_OV, WHISPER_DECODER_OV_INT8) @@ -532,6 +548,7 @@ quantized models. import time import numpy as np + def calculate_call_inference_time(model, dataset): inference_time = [] for data_item in tqdm(dataset[:100], desc="Measuring performance"): @@ -609,6 +626,7 @@ accuracy as ``(1 - WER)``. TEST_DATASET_SIZE = 100 test_dataset = load_dataset("librispeech_asr", "clean", split="test", streaming=True).take(TEST_DATASET_SIZE) + def calculate_transcription_time_and_accuracy(model, dataset): processor = WhisperProcessor.from_pretrained("openai/whisper-large") @@ -633,6 +651,7 @@ accuracy as ``(1 - WER)``. mean_inference_time = np.mean(inference_time) return mean_inference_time, word_accuracy + transcription_time_fp32, accuracy_fp32 = calculate_transcription_time_and_accuracy(model_fp32, test_dataset) transcription_time_int8, accuracy_int8 = calculate_transcription_time_and_accuracy(model_int8, test_dataset) print(f"Whisper transcription performance speedup: {transcription_time_fp32 / transcription_time_int8:.3f}") diff --git a/docs/notebooks/265-wuerstchen-image-generation-with-output.rst b/docs/notebooks/wuerstchen-image-generation-with-output.rst similarity index 95% rename from docs/notebooks/265-wuerstchen-image-generation-with-output.rst rename to docs/notebooks/wuerstchen-image-generation-with-output.rst index aaecd5e3e18..f73a8de098f 100644 --- a/docs/notebooks/265-wuerstchen-image-generation-with-output.rst +++ b/docs/notebooks/wuerstchen-image-generation-with-output.rst @@ -1,7 +1,7 @@ Image generation with Würstchen and OpenVINO ============================================ -.. image:: 265-wuerstchen-image-generation-with-output_files/499b779a-61d1-4e68-a1c3-437122622ba7.png +.. image:: wuerstchen-image-generation-with-output_files/499b779a-61d1-4e68-a1c3-437122622ba7.png `Würstchen `__ is a diffusion model, @@ -65,7 +65,7 @@ Prerequisites else: %pip install -q "matplotlib>=3.4,<3.7" - %pip install -q "diffusers>=0.21.0" transformers accelerate gradio "openvino>=2023.2.0" "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "diffusers>=0.21.0" "torch>=2.1" transformers accelerate "gradio>=4.19" "openvino>=2023.2.0" "peft==0.6.2" --extra-index-url https://download.pytorch.org/whl/cpu %pip install -q datasets "nncf>=2.7.0" @@ -150,7 +150,7 @@ Infer the original model -.. image:: 265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_11_0.png +.. image:: wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_11_0.png Convert the model to OpenVINO IR @@ -247,7 +247,11 @@ timestep and encoder hidden states. convert( pipeline.prior_prior, PRIOR_PRIOR_PATH, - example_input=[torch.zeros(2, 16, 24, 24), torch.zeros(2), torch.zeros(2, 77, 1280)], + example_input=[ + torch.zeros(2, 16, 24, 24), + torch.zeros(2), + torch.zeros(2, 77, 1280), + ], input=[((2, 16, 24, 24),), ((2),), ((2, 77, 1280),)], ) del pipeline.prior_prior @@ -383,8 +387,8 @@ Select device from dropdown list for running inference using OpenVINO. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -438,9 +442,7 @@ that all of wrapper classes return ``torch.Tensor``\ s instead of self.text_encoder = text_encoder def __call__(self, input_ids, attention_mask): - output = self.text_encoder({"input_ids": input_ids, "attention_mask": attention_mask})[ - "last_hidden_state" - ] + output = self.text_encoder({"input_ids": input_ids, "attention_mask": attention_mask})["last_hidden_state"] output = torch.tensor(output) return BaseModelOutputWithPooling(output) @@ -525,7 +527,7 @@ Inference -.. image:: 265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_45_0.png +.. image:: wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_45_0.png Quantization @@ -562,7 +564,7 @@ improve model inference speed. to_quantize = widgets.Checkbox( value=True, - description='Quantization', + description="Quantization", disabled=False, ) @@ -573,8 +575,13 @@ Let’s load ``skip magic`` extension to skip quantization if .. code:: ipython3 - import sys - sys.path.append("../utils") + # Fetch `skip_kernel_extension` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) int8_pipeline = None @@ -807,7 +814,7 @@ pipelines. -.. image:: 265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_61_0.png +.. image:: wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_61_0.png Compare model file sizes @@ -923,7 +930,7 @@ launch the interactive demo. use_quantized_model = widgets.Checkbox( value=quantized_model_present, - description='Use quantized model', + description="Use quantized model", disabled=not quantized_model_present, ) @@ -933,6 +940,7 @@ launch the interactive demo. pipe = int8_pipeline if use_quantized_model.value else pipeline + def generate(caption, negative_prompt, prior_guidance_scale, seed): generator = torch.Generator().manual_seed(seed) image = pipe( @@ -955,7 +963,7 @@ launch the interactive demo. gr.Textbox(label="Caption"), gr.Textbox(label="Negative prompt"), gr.Slider(2, 20, step=1, label="Prior guidance scale"), - gr.Slider(0, np.iinfo(np.int32).max, label="Seed") + gr.Slider(0, np.iinfo(np.int32).max, label="Seed"), ], "image", examples=[["Anthropomorphic cat dressed as a firefighter", "", 4, 0]], diff --git a/docs/notebooks/265-wuerstchen-image-generation-with-output_files/499b779a-61d1-4e68-a1c3-437122622ba7.png b/docs/notebooks/wuerstchen-image-generation-with-output_files/499b779a-61d1-4e68-a1c3-437122622ba7.png similarity index 100% rename from docs/notebooks/265-wuerstchen-image-generation-with-output_files/499b779a-61d1-4e68-a1c3-437122622ba7.png rename to docs/notebooks/wuerstchen-image-generation-with-output_files/499b779a-61d1-4e68-a1c3-437122622ba7.png diff --git a/docs/notebooks/265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_11_0.png b/docs/notebooks/wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_11_0.png similarity index 100% rename from docs/notebooks/265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_11_0.png rename to docs/notebooks/wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_11_0.png diff --git a/docs/notebooks/265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_45_0.png b/docs/notebooks/wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_45_0.png similarity index 100% rename from docs/notebooks/265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_45_0.png rename to docs/notebooks/wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_45_0.png diff --git a/docs/notebooks/265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_61_0.png b/docs/notebooks/wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_61_0.png similarity index 100% rename from docs/notebooks/265-wuerstchen-image-generation-with-output_files/265-wuerstchen-image-generation-with-output_61_0.png rename to docs/notebooks/wuerstchen-image-generation-with-output_files/wuerstchen-image-generation-with-output_61_0.png diff --git a/docs/notebooks/226-yolov7-optimization-with-output.rst b/docs/notebooks/yolov7-optimization-with-output.rst similarity index 69% rename from docs/notebooks/226-yolov7-optimization-with-output.rst rename to docs/notebooks/yolov7-optimization-with-output.rst index a58ad437aa0..9b80d155a3c 100644 --- a/docs/notebooks/226-yolov7-optimization-with-output.rst +++ b/docs/notebooks/yolov7-optimization-with-output.rst @@ -97,7 +97,7 @@ Prerequisites import platform - %pip install -q "openvino>=2023.1.0" "nncf>=2.5.0" "opencv-python" "seaborn" "onnx" "pandas" "scikit-learn" "torch" "torchvision" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2023.1.0" "nncf>=2.5.0" "opencv-python" "seaborn" "onnx" "Pillow" "pandas" "scikit-learn" "torch" "torchvision" "PyYAML>=5.3.1" "tqdm" --extra-index-url https://download.pytorch.org/whl/cpu if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" @@ -110,14 +110,6 @@ Prerequisites DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 -.. parsed-literal:: - - ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. - pytorch-lightning 1.6.5 requires protobuf<=3.20.1, but you have protobuf 4.25.3 which is incompatible. - tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 4.25.3 which is incompatible. - tf2onnx 1.16.1 requires protobuf~=3.20, but you have protobuf 4.25.3 which is incompatible. - - .. parsed-literal:: Note: you may need to restart the kernel to use updated packages. @@ -135,15 +127,22 @@ Prerequisites .. code:: ipython3 - import sys - from pathlib import Path - sys.path.append("../utils") + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file .. code:: ipython3 # Clone YOLOv7 repo - if not Path('yolov7').exists(): + from pathlib import Path + + if not Path("yolov7").exists(): !git clone https://github.com/WongKinYiu/yolov7 %cd yolov7 @@ -161,10 +160,7 @@ Receiving objects: 1% (12/1197) Receiving objects: 2% (24/1197) Receiving objects: 3% (36/1197) Receiving objects: 4% (48/1197) - -.. parsed-literal:: - - Receiving objects: 5% (60/1197) +Receiving objects: 5% (60/1197) Receiving objects: 6% (72/1197) Receiving objects: 7% (84/1197) Receiving objects: 8% (96/1197) @@ -177,199 +173,206 @@ Receiving objects: 14% (168/1197) Receiving objects: 15% (180/1197) Receiving objects: 16% (192/1197) Receiving objects: 17% (204/1197) -Receiving objects: 18% (216/1197) + +.. parsed-literal:: + + Receiving objects: 18% (216/1197) Receiving objects: 19% (228/1197) Receiving objects: 20% (240/1197) Receiving objects: 21% (252/1197) Receiving objects: 22% (264/1197) -Receiving objects: 23% (276/1197) -Receiving objects: 24% (288/1197) -Receiving objects: 25% (300/1197) .. parsed-literal:: - Receiving objects: 26% (312/1197) + Receiving objects: 23% (276/1197) .. parsed-literal:: - Receiving objects: 27% (324/1197) + Receiving objects: 24% (288/1197) .. parsed-literal:: - Receiving objects: 28% (336/1197) + Receiving objects: 25% (300/1197) .. parsed-literal:: - Receiving objects: 28% (344/1197), 28.49 MiB | 28.49 MiB/s + Receiving objects: 25% (310/1197), 23.78 MiB | 22.88 MiB/s .. parsed-literal:: - Receiving objects: 29% (348/1197), 28.49 MiB | 28.49 MiB/s + Receiving objects: 26% (312/1197), 23.78 MiB | 22.88 MiB/s .. parsed-literal:: - Receiving objects: 30% (360/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 31% (372/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 32% (384/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 33% (396/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 34% (407/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 35% (419/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 36% (431/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 37% (443/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 38% (455/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 39% (467/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 40% (479/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 41% (491/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 42% (503/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 43% (515/1197), 28.49 MiB | 28.49 MiB/s + Receiving objects: 27% (324/1197), 34.91 MiB | 22.68 MiB/s +Receiving objects: 28% (336/1197), 34.91 MiB | 22.68 MiB/s +Receiving objects: 29% (348/1197), 34.91 MiB | 22.68 MiB/s +Receiving objects: 30% (360/1197), 34.91 MiB | 22.68 MiB/s +Receiving objects: 31% (372/1197), 34.91 MiB | 22.68 MiB/s +Receiving objects: 32% (384/1197), 34.91 MiB | 22.68 MiB/s .. parsed-literal:: - Receiving objects: 44% (527/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 45% (539/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 46% (551/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 47% (563/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 48% (575/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 49% (587/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 50% (599/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 51% (611/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 52% (623/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 53% (635/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 54% (647/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 55% (659/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 56% (671/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 57% (683/1197), 28.49 MiB | 28.49 MiB/s -Receiving objects: 58% (695/1197), 28.49 MiB | 28.49 MiB/s + Receiving objects: 32% (388/1197), 47.25 MiB | 23.17 MiB/s .. parsed-literal:: - Receiving objects: 59% (707/1197), 28.49 MiB | 28.49 MiB/s + Receiving objects: 33% (396/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 34% (407/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 35% (419/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 36% (431/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 37% (443/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 38% (455/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 39% (467/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 40% (479/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 41% (491/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 42% (503/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 43% (515/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 44% (527/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 45% (539/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 46% (551/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 47% (563/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 48% (575/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 49% (587/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 50% (599/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 51% (611/1197), 47.25 MiB | 23.17 MiB/s .. parsed-literal:: - Receiving objects: 60% (719/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 61% (731/1197), 44.43 MiB | 29.61 MiB/s + Receiving objects: 52% (623/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 53% (635/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 54% (647/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 55% (659/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 56% (671/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 57% (683/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 58% (695/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 59% (707/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 60% (719/1197), 47.25 MiB | 23.17 MiB/s +Receiving objects: 61% (731/1197), 47.25 MiB | 23.17 MiB/s .. parsed-literal:: - Receiving objects: 62% (743/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 63% (755/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 64% (767/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 65% (779/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 66% (791/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 67% (802/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 68% (814/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 69% (826/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 70% (838/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 71% (850/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 72% (862/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 73% (874/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 74% (886/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 75% (898/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 76% (910/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 77% (922/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 78% (934/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 79% (946/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 80% (958/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 81% (970/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 82% (982/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 83% (994/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 84% (1006/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 85% (1018/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 86% (1030/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 87% (1042/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 88% (1054/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 89% (1066/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 90% (1078/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 91% (1090/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 92% (1102/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 93% (1114/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 94% (1126/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 95% (1138/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 96% (1150/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 97% (1162/1197), 44.43 MiB | 29.61 MiB/s -Receiving objects: 97% (1172/1197), 60.66 MiB | 30.33 MiB/s + Receiving objects: 62% (743/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 63% (755/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 64% (767/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 65% (779/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 66% (791/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 67% (802/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 68% (814/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 69% (826/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 70% (838/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 71% (850/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 72% (862/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 73% (874/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 74% (886/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 75% (898/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 76% (910/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 77% (922/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 78% (934/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 79% (946/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 80% (958/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 81% (970/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 82% (982/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 83% (994/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 84% (1006/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 85% (1018/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 86% (1030/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 87% (1042/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 88% (1054/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 89% (1066/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 90% (1078/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 91% (1090/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 92% (1102/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 93% (1114/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 94% (1126/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 95% (1138/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 96% (1150/1197), 59.09 MiB | 23.27 MiB/s +Receiving objects: 97% (1162/1197), 59.09 MiB | 23.27 MiB/s + +.. parsed-literal:: + + Receiving objects: 97% (1172/1197), 71.33 MiB | 23.39 MiB/s .. parsed-literal:: remote: Total 1197 (delta 0), reused 0 (delta 0), pack-reused 1197 - Receiving objects: 98% (1174/1197), 60.66 MiB | 30.33 MiB/s -Receiving objects: 99% (1186/1197), 60.66 MiB | 30.33 MiB/s -Receiving objects: 100% (1197/1197), 60.66 MiB | 30.33 MiB/s -Receiving objects: 100% (1197/1197), 74.23 MiB | 30.26 MiB/s, done. - Resolving deltas: 0% (0/519) -Resolving deltas: 1% (8/519) -Resolving deltas: 3% (16/519) -Resolving deltas: 4% (21/519) -Resolving deltas: 5% (29/519) -Resolving deltas: 6% (32/519) -Resolving deltas: 7% (37/519) -Resolving deltas: 8% (45/519) -Resolving deltas: 9% (50/519) -Resolving deltas: 10% (56/519) -Resolving deltas: 11% (62/519) -Resolving deltas: 12% (64/519) -Resolving deltas: 13% (69/519) -Resolving deltas: 14% (75/519) -Resolving deltas: 15% (78/519) -Resolving deltas: 17% (89/519) -Resolving deltas: 18% (94/519) -Resolving deltas: 22% (115/519) -Resolving deltas: 24% (125/519) -Resolving deltas: 27% (141/519) -Resolving deltas: 33% (172/519) -Resolving deltas: 35% (182/519) -Resolving deltas: 36% (189/519) - -.. parsed-literal:: - - Resolving deltas: 39% (203/519) -Resolving deltas: 40% (212/519) -Resolving deltas: 48% (253/519) -Resolving deltas: 49% (255/519) -Resolving deltas: 50% (260/519) -Resolving deltas: 51% (268/519) -Resolving deltas: 52% (271/519) -Resolving deltas: 53% (279/519) -Resolving deltas: 57% (301/519) -Resolving deltas: 66% (346/519) -Resolving deltas: 67% (350/519) -Resolving deltas: 68% (354/519) -Resolving deltas: 69% (361/519) -Resolving deltas: 70% (364/519) -Resolving deltas: 71% (369/519) -Resolving deltas: 72% (374/519) -Resolving deltas: 73% (381/519) -Resolving deltas: 74% (385/519) -Resolving deltas: 75% (394/519) -Resolving deltas: 76% (396/519) -Resolving deltas: 77% (400/519) -Resolving deltas: 78% (406/519) -Resolving deltas: 79% (411/519) -Resolving deltas: 81% (422/519) -Resolving deltas: 82% (427/519) -Resolving deltas: 83% (431/519) -Resolving deltas: 84% (438/519) -Resolving deltas: 85% (446/519) -Resolving deltas: 86% (447/519) -Resolving deltas: 87% (454/519) -Resolving deltas: 88% (461/519) -Resolving deltas: 89% (464/519) -Resolving deltas: 90% (468/519) -Resolving deltas: 91% (476/519) -Resolving deltas: 93% (487/519) -Resolving deltas: 94% (488/519) -Resolving deltas: 95% (497/519) -Resolving deltas: 96% (499/519) -Resolving deltas: 98% (511/519) -Resolving deltas: 99% (517/519) -Resolving deltas: 100% (519/519) -Resolving deltas: 100% (519/519), done. + Receiving objects: 98% (1174/1197), 71.33 MiB | 23.39 MiB/s +Receiving objects: 99% (1186/1197), 71.33 MiB | 23.39 MiB/s +Receiving objects: 100% (1197/1197), 71.33 MiB | 23.39 MiB/s +Receiving objects: 100% (1197/1197), 74.23 MiB | 23.41 MiB/s, done. + Resolving deltas: 0% (0/520) +Resolving deltas: 2% (12/520) +Resolving deltas: 4% (23/520) +Resolving deltas: 5% (26/520) +Resolving deltas: 6% (34/520) +Resolving deltas: 7% (37/520) +Resolving deltas: 8% (42/520) +Resolving deltas: 9% (48/520) +Resolving deltas: 10% (56/520) +Resolving deltas: 11% (59/520) +Resolving deltas: 12% (64/520) +Resolving deltas: 13% (68/520) +Resolving deltas: 14% (76/520) +Resolving deltas: 15% (78/520) +Resolving deltas: 16% (85/520) +Resolving deltas: 17% (90/520) +Resolving deltas: 18% (94/520) +Resolving deltas: 19% (99/520) +Resolving deltas: 20% (109/520) +Resolving deltas: 21% (111/520) +Resolving deltas: 22% (115/520) +Resolving deltas: 23% (121/520) +Resolving deltas: 24% (125/520) +Resolving deltas: 25% (132/520) +Resolving deltas: 26% (138/520) +Resolving deltas: 29% (154/520) +Resolving deltas: 31% (165/520) +Resolving deltas: 32% (169/520) +Resolving deltas: 36% (191/520) +Resolving deltas: 37% (194/520) +Resolving deltas: 38% (201/520) +Resolving deltas: 44% (233/520) +Resolving deltas: 45% (234/520) +Resolving deltas: 46% (244/520) +Resolving deltas: 47% (245/520) +Resolving deltas: 48% (251/520) +Resolving deltas: 50% (264/520) +Resolving deltas: 51% (268/520) +Resolving deltas: 52% (273/520) +Resolving deltas: 60% (317/520) +Resolving deltas: 61% (318/520) +Resolving deltas: 62% (323/520) +Resolving deltas: 63% (332/520) +Resolving deltas: 64% (333/520) +Resolving deltas: 65% (338/520) +Resolving deltas: 70% (365/520) +Resolving deltas: 71% (370/520) +Resolving deltas: 72% (376/520) +Resolving deltas: 73% (382/520) +Resolving deltas: 77% (403/520) +Resolving deltas: 81% (425/520) +Resolving deltas: 82% (427/520) +Resolving deltas: 83% (432/520) +Resolving deltas: 84% (437/520) +Resolving deltas: 86% (448/520) +Resolving deltas: 88% (458/520) +Resolving deltas: 89% (466/520) +Resolving deltas: 90% (468/520) +Resolving deltas: 91% (475/520) +Resolving deltas: 92% (480/520) +Resolving deltas: 93% (485/520) +Resolving deltas: 94% (492/520) +Resolving deltas: 95% (495/520) +Resolving deltas: 97% (507/520) +Resolving deltas: 98% (514/520) +Resolving deltas: 99% (519/520) +Resolving deltas: 100% (520/520) +Resolving deltas: 100% (520/520), done. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/226-yolov7-optimization/yolov7 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/yolov7-optimization/yolov7 .. code:: ipython3 @@ -394,7 +397,7 @@ Resolving deltas: 100% (519/519), done. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/226-yolov7-optimization/yolov7/model/yolov7-tiny.pt') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/yolov7-optimization/yolov7/model/yolov7-tiny.pt') @@ -414,7 +417,7 @@ result, .. parsed-literal:: Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.25, device='', exist_ok=False, img_size=640, iou_thres=0.45, name='exp', no_trace=False, nosave=False, project='runs/detect', save_conf=False, save_txt=False, source='inference/images/horses.jpg', update=False, view_img=False, weights=['model/yolov7-tiny.pt']) - YOLOR 🚀 v0.1-128-ga207844 torch 1.13.1+cpu CPU + YOLOR 🚀 v0.1-128-ga207844 torch 2.2.2+cpu CPU @@ -425,7 +428,7 @@ result, .. parsed-literal:: - Model Summary: 200 layers, 6219709 parameters, 229245 gradients + Model Summary: 200 layers, 6219709 parameters, 229245 gradients, 13.7 GFLOPS Convert model to Traced-model... @@ -438,21 +441,22 @@ result, .. parsed-literal:: - 5 horses, Done. (72.0ms) Inference, (0.8ms) NMS + 5 horses, Done. (75.0ms) Inference, (0.9ms) NMS The image with the result is saved in: runs/detect/exp/horses.jpg - Done. (0.085s) + Done. (0.089s) .. code:: ipython3 from PIL import Image + # visualize prediction result - Image.open('runs/detect/exp/horses.jpg') + Image.open("runs/detect/exp/horses.jpg") -.. image:: 226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_10_0.png +.. image:: yolov7-optimization-with-output_files/yolov7-optimization-with-output_10_0.png @@ -536,7 +540,7 @@ an end2end ONNX model, you can check this Import onnx_graphsurgeon failure: No module named 'onnx_graphsurgeon' Namespace(batch_size=1, conf_thres=0.25, device='cpu', dynamic=False, dynamic_batch=False, end2end=False, fp16=False, grid=True, img_size=[640, 640], include_nms=False, int8=False, iou_thres=0.45, max_wh=None, simplify=False, topk_all=100, weights='model/yolov7-tiny.pt') - YOLOR 🚀 v0.1-128-ga207844 torch 1.13.1+cpu CPU + YOLOR 🚀 v0.1-128-ga207844 torch 2.2.2+cpu CPU @@ -547,13 +551,13 @@ an end2end ONNX model, you can check this .. parsed-literal:: - Model Summary: 200 layers, 6219709 parameters, 6219709 gradients + Model Summary: 200 layers, 6219709 parameters, 6219709 gradients, 13.7 GFLOPS .. parsed-literal:: - Starting TorchScript export with torch 1.13.1+cpu... + Starting TorchScript export with torch 2.2.2+cpu... .. parsed-literal:: @@ -561,30 +565,29 @@ an end2end ONNX model, you can check this TorchScript export success, saved as model/yolov7-tiny.torchscript.pt CoreML export failure: No module named 'coremltools' - Starting TorchScript-Lite export with torch 1.13.1+cpu... + Starting TorchScript-Lite export with torch 2.2.2+cpu... .. parsed-literal:: TorchScript-Lite export success, saved as model/yolov7-tiny.torchscript.ptl - Starting ONNX export with onnx 1.15.0... + Starting ONNX export with onnx 1.16.0... .. parsed-literal:: ONNX export success, saved as model/yolov7-tiny.onnx - Export complete (2.42s). Visualize with https://github.com/lutzroeder/netron. + Export complete (2.62s). Visualize with https://github.com/lutzroeder/netron. -Convert ONNX Model to OpenVINO Intermediate Representation (IR) ---------------------------------------------------------------- - -While ONNX models are directly -supported by OpenVINO runtime, it can be useful to convert them to IR -format to take the advantage of OpenVINO model conversion API features. -The ``ov.convert_model`` python function of `model conversion +If you have not installed all required dependencies## Convert ONNX Model +to OpenVINO Intermediate Representation (IR) + While ONNX models are directly supported by +OpenVINO runtime, it can be useful to convert them to IR format to take +the advantage of OpenVINO model conversion API features. The +``ov.convert_model`` python function of `model conversion API `__ can be used for converting the model. The function returns instance of OpenVINO Model class, which is ready to use in Python interface. @@ -595,9 +598,9 @@ However, it can also be save on device in OpenVINO IR format using import openvino as ov - model = ov.convert_model('model/yolov7-tiny.onnx') + model = ov.convert_model("model/yolov7-tiny.onnx") # serialize model for saving IR - ov.save_model(model, 'model/yolov7-tiny.xml') + ov.save_model(model, "model/yolov7-tiny.xml") Verify model inference ---------------------- @@ -676,15 +679,88 @@ To keep specific shape, preprocessing automatically enables padding. # label names for visualization - DEFAULT_NAMES = ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', - 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', - 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', - 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', - 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', - 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', - 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', - 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', - 'hair drier', 'toothbrush'] + DEFAULT_NAMES = [ + "person", + "bicycle", + "car", + "motorcycle", + "airplane", + "bus", + "train", + "truck", + "boat", + "traffic light", + "fire hydrant", + "stop sign", + "parking meter", + "bench", + "bird", + "cat", + "dog", + "horse", + "sheep", + "cow", + "elephant", + "bear", + "zebra", + "giraffe", + "backpack", + "umbrella", + "handbag", + "tie", + "suitcase", + "frisbee", + "skis", + "snowboard", + "sports ball", + "kite", + "baseball bat", + "baseball glove", + "skateboard", + "surfboard", + "tennis racket", + "bottle", + "wine glass", + "cup", + "fork", + "knife", + "spoon", + "bowl", + "banana", + "apple", + "sandwich", + "orange", + "broccoli", + "carrot", + "hot dog", + "pizza", + "donut", + "cake", + "chair", + "couch", + "potted plant", + "bed", + "dining table", + "toilet", + "tv", + "laptop", + "mouse", + "remote", + "keyboard", + "cell phone", + "microwave", + "oven", + "toaster", + "sink", + "refrigerator", + "book", + "clock", + "vase", + "scissors", + "teddy bear", + "hair drier", + "toothbrush", + ] # obtain class names from model checkpoint state_dict = torch.load("model/yolov7-tiny.pt", map_location="cpu") @@ -696,8 +772,7 @@ To keep specific shape, preprocessing automatically enables padding. del state_dict # colors for visualization - COLORS = {name: [np.random.randint(0, 255) for _ in range(3)] - for i, name in enumerate(NAMES)} + COLORS = {name: [np.random.randint(0, 255) for _ in range(3)] for i, name in enumerate(NAMES)} Postprocessing ~~~~~~~~~~~~~~ @@ -728,7 +803,14 @@ algorithm and rescale boxes coordinates to original image size. from utils.general import scale_coords, non_max_suppression - def detect(model: ov.Model, image_path: Path, conf_thres: float = 0.25, iou_thres: float = 0.45, classes: List[int] = None, agnostic_nms: bool = False): + def detect( + model: ov.Model, + image_path: Path, + conf_thres: float = 0.25, + iou_thres: float = 0.45, + classes: List[int] = None, + agnostic_nms: bool = False, + ): """ OpenVINO YOLOv7 model inference function. Reads image, preprocess it, runs model inference and postprocess results using NMS. Parameters: @@ -752,7 +834,13 @@ algorithm and rescale boxes coordinates to original image size. return pred, orig_img, input_tensor.shape - def draw_boxes(predictions: np.ndarray, input_shape: Tuple[int], image: np.ndarray, names: List[str], colors: Dict[str, int]): + def draw_boxes( + predictions: np.ndarray, + input_shape: Tuple[int], + image: np.ndarray, + names: List[str], + colors: Dict[str, int], + ): """ Utility function for drawing predicted bounding boxes on image Parameters: @@ -770,7 +858,7 @@ algorithm and rescale boxes coordinates to original image size. # Write results for *xyxy, conf, cls in reversed(predictions): - label = f'{names[int(cls)]} {conf:.2f}' + label = f"{names[int(cls)]} {conf:.2f}" plot_one_box(xyxy, image, label=label, color=colors[names[int(cls)]], line_thickness=1) return image @@ -778,7 +866,7 @@ algorithm and rescale boxes coordinates to original image size. core = ov.Core() # read converted model - model = core.read_model('model/yolov7-tiny.xml') + model = core.read_model("model/yolov7-tiny.xml") Select inference device ~~~~~~~~~~~~~~~~~~~~~~~ @@ -793,8 +881,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -816,7 +904,7 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 - boxes, image, input_shape = detect(compiled_model, 'inference/images/horses.jpg') + boxes, image, input_shape = detect(compiled_model, "inference/images/horses.jpg") image_with_boxes = draw_boxes(boxes[0], input_shape, image, NAMES, COLORS) # visualize results Image.fromarray(image_with_boxes) @@ -824,7 +912,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 226-yolov7-optimization-with-output_files/226-yolov7-optimization-with-output_27_0.png +.. image:: yolov7-optimization-with-output_files/yolov7-optimization-with-output_27_0.png @@ -848,22 +936,19 @@ the original model evaluation scripts. from zipfile import ZipFile - sys.path.append("../../utils") - from notebook_utils import download_file - DATA_URL = "http://images.cocodataset.org/zips/val2017.zip" LABELS_URL = "https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017labels-segments.zip" - OUT_DIR = Path('.') + OUT_DIR = Path(".") download_file(DATA_URL, directory=OUT_DIR, show_progress=True) download_file(LABELS_URL, directory=OUT_DIR, show_progress=True) if not (OUT_DIR / "coco/labels").exists(): - with ZipFile('coco2017labels-segments.zip' , "r") as zip_ref: + with ZipFile("coco2017labels-segments.zip", "r") as zip_ref: zip_ref.extractall(OUT_DIR) - with ZipFile('val2017.zip' , "r") as zip_ref: - zip_ref.extractall(OUT_DIR / 'coco/images') + with ZipFile("val2017.zip", "r") as zip_ref: + zip_ref.extractall(OUT_DIR / "coco/images") @@ -891,109 +976,117 @@ Create dataloader from utils.general import check_dataset, box_iou, xywh2xyxy, colorstr # read dataset config - DATA_CONFIG = 'data/coco.yaml' + DATA_CONFIG = "data/coco.yaml" with open(DATA_CONFIG) as f: data = yaml.load(f, Loader=yaml.SafeLoader) # Dataloader - TASK = 'val' # path to train/val/test images - Option = namedtuple('Options', ['single_cls']) # imitation of commandline provided options for single class evaluation + TASK = "val" # path to train/val/test images + Option = namedtuple("Options", ["single_cls"]) # imitation of commandline provided options for single class evaluation opt = Option(False) - dataloader = create_dataloader( - data[TASK], 640, 1, 32, opt, pad=0.5, - prefix=colorstr(f'{TASK}: ') - )[0] + dataloader = create_dataloader(data[TASK], 640, 1, 32, opt, pad=0.5, prefix=colorstr(f"{TASK}: "))[0] .. parsed-literal:: - Scanning images: 0%| | 0/5000 [00:00 [ INFO ] KV_CACHE_PRECISION: [ INFO ] LOG_LEVEL: Level.NO - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: main_graph [ INFO ] NUM_STREAMS: 6 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 [ INFO ] PERFORMANCE_HINT: THROUGHPUT @@ -1471,31 +1593,27 @@ models. [Step 9/11] Creating infer requests and preparing input tensors [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! [ INFO ] Fill input 'images' with random values - - -.. parsed-literal:: - [Step 10/11] Measuring performance (Start inference asynchronously, 6 inference requests, limits: 120000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). .. parsed-literal:: - [ INFO ] First inference took 46.06 ms + [ INFO ] First inference took 45.37 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 11574 iterations - [ INFO ] Duration: 120058.43 ms + [ INFO ] Count: 11616 iterations + [ INFO ] Duration: 120088.98 ms [ INFO ] Latency: - [ INFO ] Median: 62.00 ms - [ INFO ] Average: 62.10 ms - [ INFO ] Min: 34.07 ms - [ INFO ] Max: 83.34 ms - [ INFO ] Throughput: 96.40 FPS + [ INFO ] Median: 61.78 ms + [ INFO ] Average: 61.89 ms + [ INFO ] Min: 52.70 ms + [ INFO ] Max: 86.06 ms + [ INFO ] Throughput: 96.73 FPS .. code:: ipython3 @@ -1526,7 +1644,7 @@ models. .. parsed-literal:: - [ INFO ] Read model took 22.43 ms + [ INFO ] Read model took 22.55 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] images (node: images) : f32 / [...] / [1,3,640,640] @@ -1544,18 +1662,18 @@ models. .. parsed-literal:: - [ INFO ] Compile model took 490.48 ms + [ INFO ] Compile model took 490.36 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: main_graph [ INFO ] EXECUTION_DEVICES: ['CPU'] + [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 + [ INFO ] MULTI_DEVICE_PRIORITIES: CPU .. parsed-literal:: - [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT - [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 - [ INFO ] MULTI_DEVICE_PRIORITIES: CPU [ INFO ] CPU: [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False @@ -1569,7 +1687,7 @@ models. [ INFO ] INFERENCE_PRECISION_HINT: [ INFO ] KV_CACHE_PRECISION: [ INFO ] LOG_LEVEL: Level.NO - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: main_graph [ INFO ] NUM_STREAMS: 6 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 [ INFO ] PERFORMANCE_HINT: THROUGHPUT @@ -1587,19 +1705,19 @@ models. .. parsed-literal:: - [ INFO ] First inference took 24.27 ms + [ INFO ] First inference took 25.87 ms .. parsed-literal:: [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 33084 iterations - [ INFO ] Duration: 120018.88 ms + [ INFO ] Count: 33138 iterations + [ INFO ] Duration: 120022.80 ms [ INFO ] Latency: - [ INFO ] Median: 21.57 ms - [ INFO ] Average: 21.65 ms - [ INFO ] Min: 17.90 ms - [ INFO ] Max: 43.37 ms - [ INFO ] Throughput: 275.66 FPS + [ INFO ] Median: 21.54 ms + [ INFO ] Average: 21.62 ms + [ INFO ] Min: 16.58 ms + [ INFO ] Max: 44.18 ms + [ INFO ] Throughput: 276.10 FPS diff --git a/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_10_0.jpg b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_10_0.jpg new file mode 100644 index 00000000000..20b27976437 --- /dev/null +++ b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_10_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87ad41796d80a7476abe2468539278d48d57b2d00f6678e2d89f9f9f4c68d12c +size 64027 diff --git a/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_10_0.png b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_10_0.png new file mode 100644 index 00000000000..c91fba3e724 --- /dev/null +++ b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_10_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9e7413af200393765221f9347b9b65c44e0ffa5ae151448253ab8ef76fdd825 +size 567624 diff --git a/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_27_0.jpg b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_27_0.jpg new file mode 100644 index 00000000000..81522c0a30e --- /dev/null +++ b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_27_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19225f2fa8e9ec59a736b54a7d8ba8ab0b78585f7ba84b979e78ab170fe91dd9 +size 63300 diff --git a/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_27_0.png b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_27_0.png new file mode 100644 index 00000000000..1540d858953 --- /dev/null +++ b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_27_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62d04350cea388a70ba62e4a95ba864d857458c203c6e922c7fc0414ad616db7 +size 574231 diff --git a/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_44_0.jpg b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_44_0.jpg new file mode 100644 index 00000000000..8ba3353f3a1 --- /dev/null +++ b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_44_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c3c6eeb175f0d9538d5eca0c75083e3934c78c2d381cd7ad627d47883cccbf1 +size 63469 diff --git a/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_44_0.png b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_44_0.png new file mode 100644 index 00000000000..2a7d874ea7b --- /dev/null +++ b/docs/notebooks/yolov7-optimization-with-output_files/yolov7-optimization-with-output_44_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e2c8063e39f02a889050cf8c9df439e643d39ce8955a0ccfd7c3444f6f0d1c1 +size 574122 diff --git a/docs/notebooks/230-yolov8-instance-segmentation-with-output.rst b/docs/notebooks/yolov8-instance-segmentation-with-output.rst similarity index 52% rename from docs/notebooks/230-yolov8-instance-segmentation-with-output.rst rename to docs/notebooks/yolov8-instance-segmentation-with-output.rst index 05e8a0e4e81..9e9a7bc61ef 100644 --- a/docs/notebooks/230-yolov8-instance-segmentation-with-output.rst +++ b/docs/notebooks/yolov8-instance-segmentation-with-output.rst @@ -31,8 +31,6 @@ Table of contents: - `Convert model to OpenVINO IR <#convert-model-to-openvino-ir>`__ - `Verify model inference <#verify-model-inference>`__ - - `Preprocessing <#preprocessing>`__ - - `Postprocessing <#postprocessing>`__ - `Select inference device <#select-inference-device>`__ - `Test on single image <#test-on-single-image>`__ @@ -95,8 +93,8 @@ Install necessary packages. .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" "nncf>=2.5.0" - %pip install -q "torch>=2.1" "torchvision>=0.16" "ultralytics==8.0.43" onnx --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2024.0.0" "nncf>=2.9.0" + %pip install -q "torch>=2.1" "torchvision>=0.16" "ultralytics==8.1.42" onnx opencv-python tqdm --extra-index-url https://download.pytorch.org/whl/cpu Import required utility functions. The lower cell will download the ``notebook_utils`` Python module from GitHub. @@ -105,95 +103,38 @@ Import required utility functions. The lower cell will download the from pathlib import Path - # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file, VideoPlayer -Define utility functions for drawing results - -.. code:: ipython3 - - from typing import Tuple, Dict - import cv2 - import numpy as np - from PIL import Image - from ultralytics.yolo.utils.plotting import colors - - - def plot_one_box(box:np.ndarray, img:np.ndarray, color:Tuple[int, int, int] = None, mask:np.ndarray = None, label:str = None, line_thickness:int = 5): - """ - Helper function for drawing single bounding box on image - Parameters: - x (np.ndarray): bounding box coordinates in format [x1, y1, x2, y2] - img (no.ndarray): input image - color (Tuple[int, int, int], *optional*, None): color in BGR format for drawing box, if not specified will be selected randomly - mask (np.ndarray, *optional*, None): instance segmentation mask polygon in format [N, 2], where N - number of points in contour, if not provided, only box will be drawn - label (str, *optonal*, None): box label string, if not provided will not be provided as drowing result - line_thickness (int, *optional*, 5): thickness for box drawing lines - """ - # Plots one bounding box on image img - tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1 # line/font thickness - color = color or [random.randint(0, 255) for _ in range(3)] - c1, c2 = (int(box[0]), int(box[1])), (int(box[2]), int(box[3])) - cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA) - if label: - tf = max(tl - 1, 1) # font thickness - t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0] - c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3 - cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA) # filled - cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA) - if mask is not None: - image_with_mask = img.copy() - mask - cv2.fillPoly(image_with_mask, pts=[mask.astype(int)], color=color) - img = cv2.addWeighted(img, 0.5, image_with_mask, 0.5, 1) - return img - - - def draw_results(results:Dict, source_image:np.ndarray, label_map:Dict): - """ - Helper function for drawing bounding boxes on image - Parameters: - image_res (np.ndarray): detection predictions in format [x1, y1, x2, y2, score, label_id] - source_image (np.ndarray): input image for drawing - label_map; (Dict[int, str]): label_id to class name mapping - Returns: - - """ - boxes = results["det"] - masks = results.get("segment") - for idx, (*xyxy, conf, lbl) in enumerate(boxes): - label = f'{label_map[int(lbl)]} {conf:.2f}' - mask = masks[idx] if masks is not None else None - source_image = plot_one_box(xyxy, source_image, mask=mask, label=label, color=colors(int(lbl)), line_thickness=1) - return source_image - .. code:: ipython3 # Download a test sample - IMAGE_PATH = Path('./data/coco_bike.jpg') + IMAGE_PATH = Path("./data/coco_bike.jpg") download_file( - url='https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bike.jpg', + url="https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bike.jpg", filename=IMAGE_PATH.name, - directory=IMAGE_PATH.parent - ) + directory=IMAGE_PATH.parent, + ) + .. parsed-literal:: - 'data/coco_bike.jpg' already exists. + data/coco_bike.jpg: 0%| | 0.00/182k [00:00 1: - masks = result[model.output(1)] - input_hw = input_tensor.shape[2:] - detections = postprocess(pred_boxes=boxes, input_hw=input_hw, orig_img=image, pred_masks=masks) - return detections + def infer(*args): + result = seg_compiled_model(args) + return torch.from_numpy(result[0]), torch.from_numpy(result[1]) - input_image = np.array(Image.open(IMAGE_PATH)) - detections = detect(input_image, seg_compiled_model)[0] - image_with_masks = draw_results(detections, input_image, label_map) - Image.fromarray(image_with_masks) + seg_model.predictor.inference = infer + seg_model.predictor.model.pt = False + +.. code:: ipython3 + + res = seg_model(IMAGE_PATH) + Image.fromarray(res[0].plot()[:, :, ::-1]) + + +.. parsed-literal:: + + + image 1/1 /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/data/coco_bike.jpg: 640x640 1 bicycle, 2 cars, 1 dog, 27.6ms + Speed: 3.5ms preprocess, 27.6ms inference, 4.5ms postprocess per image at shape (1, 3, 640, 640) -.. image:: 230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_22_0.png +.. image:: yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_18_1.png @@ -610,11 +351,14 @@ evaluation function. from zipfile import ZipFile + from ultralytics.data.utils import DATASETS_DIR + + DATA_URL = "http://images.cocodataset.org/zips/val2017.zip" LABELS_URL = "https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017labels-segments.zip" - CFG_URL = "https://raw.githubusercontent.com/ultralytics/ultralytics/8ebe94d1e928687feaa1fee6d5668987df5e43be/ultralytics/datasets/coco.yaml" # last compatible format with ultralytics 8.0.43 + CFG_URL = "https://raw.githubusercontent.com/ultralytics/ultralytics/v8.1.0/ultralytics/cfg/datasets/coco.yaml" - OUT_DIR = Path('./datasets') + OUT_DIR = DATASETS_DIR DATA_PATH = OUT_DIR / "val2017.zip" LABELS_PATH = OUT_DIR / "coco2017labels-segments.zip" @@ -625,23 +369,10 @@ evaluation function. download_file(CFG_URL, CFG_PATH.name, CFG_PATH.parent) if not (OUT_DIR / "coco/labels").exists(): - with ZipFile(LABELS_PATH , "r") as zip_ref: + with ZipFile(LABELS_PATH, "r") as zip_ref: zip_ref.extractall(OUT_DIR) - with ZipFile(DATA_PATH , "r") as zip_ref: - zip_ref.extractall(OUT_DIR / 'coco/images') - - -.. parsed-literal:: - - '/home/ea/work/openvino_notebooks/notebooks/230-yolov8-optimization/datasets/val2017.zip' already exists. - '/home/ea/work/openvino_notebooks/notebooks/230-yolov8-optimization/datasets/coco2017labels-segments.zip' already exists. - - - -.. parsed-literal:: - - /home/ea/work/openvino_notebooks/notebooks/230-yolov8-optimization/datasets/coco.yaml: 0%| | 0.00/1… - + with ZipFile(DATA_PATH, "r") as zip_ref: + zip_ref.extractall(OUT_DIR / "coco/images") Define validation function ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -650,11 +381,18 @@ Define validation function .. code:: ipython3 + import numpy as np from tqdm.notebook import tqdm - from ultralytics.yolo.utils.metrics import ConfusionMatrix + from ultralytics.utils.metrics import ConfusionMatrix - def test(model:ov.Model, core:ov.Core, data_loader:torch.utils.data.DataLoader, validator, num_samples:int = None): + def test( + model: ov.Model, + core: ov.Core, + data_loader: torch.utils.data.DataLoader, + validator, + num_samples: int = None, + ): """ OpenVINO YOLOv8 model accuracy validation function. Runs model validation on dataset and returns metrics Parameters: @@ -667,7 +405,7 @@ Define validation function """ validator.seen = 0 validator.jdict = [] - validator.stats = [] + validator.stats = dict(tp_m=[], tp=[], conf=[], pred_cls=[], target_cls=[]) validator.batch_i = 1 validator.confusion_matrix = ConfusionMatrix(nc=validator.nc) model.reshape({0: [1, 3, -1, -1]}) @@ -681,14 +419,17 @@ Define validation function if num_outputs == 1: preds = torch.from_numpy(results[compiled_model.output(0)]) else: - preds = [torch.from_numpy(results[compiled_model.output(0)]), torch.from_numpy(results[compiled_model.output(1)])] + preds = [ + torch.from_numpy(results[compiled_model.output(0)]), + torch.from_numpy(results[compiled_model.output(1)]), + ] preds = validator.postprocess(preds) validator.update_metrics(preds, batch) stats = validator.get_stats() return stats - def print_stats(stats:np.ndarray, total_images:int, total_objects:int): + def print_stats(stats: np.ndarray, total_images: int, total_objects: int): """ Helper function for printing accuracy statistic Parameters: @@ -699,19 +440,47 @@ Define validation function None """ print("Boxes:") - mp, mr, map50, mean_ap = stats['metrics/precision(B)'], stats['metrics/recall(B)'], stats['metrics/mAP50(B)'], stats['metrics/mAP50-95(B)'] + mp, mr, map50, mean_ap = ( + stats["metrics/precision(B)"], + stats["metrics/recall(B)"], + stats["metrics/mAP50(B)"], + stats["metrics/mAP50-95(B)"], + ) # Print results - s = ('%20s' + '%12s' * 6) % ('Class', 'Images', 'Labels', 'Precision', 'Recall', 'mAP@.5', 'mAP@.5:.95') + print(" Best mean average:") + s = ("%20s" + "%12s" * 6) % ( + "Class", + "Images", + "Labels", + "Precision", + "Recall", + "mAP@.5", + "mAP@.5:.95", + ) print(s) - pf = '%20s' + '%12i' * 2 + '%12.3g' * 4 # print format - print(pf % ('all', total_images, total_objects, mp, mr, map50, mean_ap)) - if 'metrics/precision(M)' in stats: - s_mp, s_mr, s_map50, s_mean_ap = stats['metrics/precision(M)'], stats['metrics/recall(M)'], stats['metrics/mAP50(M)'], stats['metrics/mAP50-95(M)'] + pf = "%20s" + "%12i" * 2 + "%12.3g" * 4 # print format + print(pf % ("all", total_images, total_objects, mp, mr, map50, mean_ap)) + if "metrics/precision(M)" in stats: + s_mp, s_mr, s_map50, s_mean_ap = ( + stats["metrics/precision(M)"], + stats["metrics/recall(M)"], + stats["metrics/mAP50(M)"], + stats["metrics/mAP50-95(M)"], + ) # Print results - s = ('%20s' + '%12s' * 6) % ('Class', 'Images', 'Labels', 'Precision', 'Recall', 'mAP@.5', 'mAP@.5:.95') + print(" Macro average mean:") + s = ("%20s" + "%12s" * 6) % ( + "Class", + "Images", + "Labels", + "Precision", + "Recall", + "mAP@.5", + "mAP@.5:.95", + ) print(s) - pf = '%20s' + '%12i' * 2 + '%12.3g' * 4 # print format - print(pf % ('all', total_images, total_objects, s_mp, s_mr, s_map50, s_mean_ap)) + pf = "%20s" + "%12i" * 2 + "%12.3g" * 4 # print format + print(pf % ("all", total_images, total_objects, s_mp, s_mr, s_map50, s_mean_ap)) Configure Validator helper and create DataLoader ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -730,21 +499,24 @@ validator class instance. .. code:: ipython3 - from ultralytics.yolo.utils import DEFAULT_CFG - from ultralytics.yolo.cfg import get_cfg - from ultralytics.yolo.data.utils import check_det_dataset + from ultralytics.utils import DEFAULT_CFG + from ultralytics.cfg import get_cfg + from ultralytics.data.converter import coco80_to_coco91_class + from ultralytics.data.utils import check_det_dataset + from ultralytics.utils import ops args = get_cfg(cfg=DEFAULT_CFG) args.data = str(CFG_PATH) .. code:: ipython3 - seg_validator = seg_model.ValidatorClass(args=args) + seg_validator = seg_model.task_map[seg_model.task]["validator"](args=args) seg_validator.data = check_det_dataset(args.data) - seg_data_loader = seg_validator.get_dataloader("datasets/coco/", 1) + seg_validator.stride = 32 + seg_data_loader = seg_validator.get_dataloader(OUT_DIR / "coco/", 1) seg_validator.is_coco = True - seg_validator.class_map = ops.coco80_to_coco91_class() + seg_validator.class_map = coco80_to_coco91_class() seg_validator.names = seg_model.model.names seg_validator.metrics.names = seg_validator.names seg_validator.nc = seg_model.model.model[-1].nc @@ -755,7 +527,7 @@ validator class instance. .. parsed-literal:: - val: Scanning datasets/coco/labels/val2017.cache... 4952 images, 48 backgrounds, 0 corrupt: 100%|██████████| 5000/5000 [00:00 + + + + +.. raw:: html + +
+    
+ + + +.. parsed-literal:: + + /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/venv/lib/python3.10/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + return Tensor(self.data * unwrap_tensor_data(other)) + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ .. code:: ipython3 - from openvino.runtime import serialize + %%skip not $to_quantize.value - int8_model_seg_path = models_dir / f'{SEG_MODEL_NAME}_openvino_int8_model/{SEG_MODEL_NAME}.xml' print(f"Quantized segmentation model will be saved to {int8_model_seg_path}") - serialize(quantized_seg_model, str(int8_model_seg_path)) + ov.save_model(quantized_seg_model, str(int8_model_seg_path)) .. parsed-literal:: @@ -949,33 +893,50 @@ on the image. .. code:: ipython3 + %%skip not $to_quantize.value + device +.. code:: ipython3 + %%skip not $to_quantize.value + + ov_config = {} + if device.value != "CPU": + quantized_seg_model.reshape({0: [1, 3, 640, 640]}) + if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): + ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} + + quantized_seg_compiled_model = core.compile_model(quantized_seg_model, device.value, ov_config) + +.. code:: ipython3 + + %%skip not $to_quantize.value + + + def infer(*args): + result = quantized_seg_compiled_model(args) + return torch.from_numpy(result[0]), torch.from_numpy(result[1]) + + seg_model.predictor.inference = infer + +.. code:: ipython3 + + %%skip not $to_quantize.value + + res = seg_model(IMAGE_PATH) + display(Image.fromarray(res[0].plot()[:, :, ::-1])) .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') - - - -.. code:: ipython3 - - if device.value != "CPU": - quantized_seg_model.reshape({0: [1, 3, 640, 640]}) - quantized_seg_compiled_model = core.compile_model(quantized_seg_model, device.value, ov_config) - input_image = np.array(Image.open(IMAGE_PATH)) - detections = detect(input_image, quantized_seg_compiled_model)[0] - image_with_masks = draw_results(detections, input_image, label_map) - Image.fromarray(image_with_masks) + image 1/1 /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/data/coco_bike.jpg: 640x640 1 bicycle, 2 cars, 2 dogs, 26.8ms + Speed: 2.8ms preprocess, 26.8ms inference, 3.4ms postprocess per image at shape (1, 3, 640, 640) - -.. image:: 230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_44_0.png - +.. image:: yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_46_1.png Compare the Original and Quantized Models @@ -986,7 +947,7 @@ Compare the Original and Quantized Models Compare performance of the Original and Quantized Models ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Finally, use the OpenVINO + Finally, use the OpenVINO `Benchmark Tool `__ to measure the inference performance of the ``FP32`` and ``INT8`` @@ -1003,20 +964,14 @@ models. .. code:: ipython3 + %%skip not $to_quantize.value + device - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') - - - .. code:: ipython3 - !benchmark_app -m $seg_model_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 + if int8_model_seg_path.exists(): + !benchmark_app -m $seg_model_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 .. parsed-literal:: @@ -1025,39 +980,39 @@ models. [ INFO ] Parsing input parameters [Step 2/11] Loading OpenVINO Runtime [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 20.21 ms + [ INFO ] Read model took 15.84 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [?,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [?,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [?,116,?] - [ INFO ] output1 (node: output1) : f32 / [...] / [?,32,8..,8..] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [?,116,16..] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [?,32,8..,8..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 13.52 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 9.23 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,116,8400] - [ INFO ] output1 (node: output1) : f32 / [...] / [1,32,160,160] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [1,116,8400] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [1,32,160,160] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 457.49 ms + [ INFO ] Compile model took 304.42 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 @@ -1066,42 +1021,46 @@ models. [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 [ INFO ] ENABLE_CPU_PINNING: True [ INFO ] ENABLE_HYPER_THREADING: True [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE [ INFO ] INFERENCE_NUM_THREADS: 36 [ INFO ] INFERENCE_PRECISION_HINT: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 [ INFO ] NUM_STREAMS: 12 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 - [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] PERFORMANCE_HINT: THROUGHPUT [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 - [ INFO ] PERF_COUNT: False + [ INFO ] PERF_COUNT: NO [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 42.16 ms + [ INFO ] First inference took 50.67 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 1860 iterations - [ INFO ] Duration: 15069.12 ms + [ INFO ] Count: 2124 iterations + [ INFO ] Duration: 15076.69 ms [ INFO ] Latency: - [ INFO ] Median: 92.86 ms - [ INFO ] Average: 96.95 ms - [ INFO ] Min: 53.68 ms - [ INFO ] Max: 181.23 ms - [ INFO ] Throughput: 123.43 FPS + [ INFO ] Median: 84.69 ms + [ INFO ] Average: 84.95 ms + [ INFO ] Min: 43.23 ms + [ INFO ] Max: 184.81 ms + [ INFO ] Throughput: 140.88 FPS .. code:: ipython3 - !benchmark_app -m $int8_model_seg_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 + if int8_model_seg_path.exists(): + !benchmark_app -m $int8_model_seg_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 .. parsed-literal:: @@ -1110,39 +1069,39 @@ models. [ INFO ] Parsing input parameters [Step 2/11] Loading OpenVINO Runtime [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 31.10 ms + [ INFO ] Read model took 24.33 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [1,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [1,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,116,21..] - [ INFO ] output1 (node: output1) : f32 / [...] / [1,32,8..,8..] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [1,116,21..] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [1,32,8..,8..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 17.80 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 13.01 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,116,8400] - [ INFO ] output1 (node: output1) : f32 / [...] / [1,32,160,160] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [1,116,8400] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [1,32,160,160] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 679.71 ms + [ INFO ] Compile model took 574.36 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 @@ -1151,37 +1110,40 @@ models. [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 [ INFO ] ENABLE_CPU_PINNING: True [ INFO ] ENABLE_HYPER_THREADING: True [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE [ INFO ] INFERENCE_NUM_THREADS: 36 [ INFO ] INFERENCE_PRECISION_HINT: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 [ INFO ] NUM_STREAMS: 12 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 - [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] PERFORMANCE_HINT: THROUGHPUT [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 - [ INFO ] PERF_COUNT: False + [ INFO ] PERF_COUNT: NO [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 24.87 ms + [ INFO ] First inference took 41.26 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 4416 iterations - [ INFO ] Duration: 15063.93 ms + [ INFO ] Count: 3048 iterations + [ INFO ] Duration: 15096.50 ms [ INFO ] Latency: - [ INFO ] Median: 38.93 ms - [ INFO ] Average: 40.76 ms - [ INFO ] Min: 24.40 ms - [ INFO ] Max: 83.87 ms - [ INFO ] Throughput: 293.15 FPS + [ INFO ] Median: 58.82 ms + [ INFO ] Average: 59.20 ms + [ INFO ] Min: 33.17 ms + [ INFO ] Max: 120.39 ms + [ INFO ] Throughput: 201.90 FPS Validate quantized model accuracy @@ -1196,6 +1158,8 @@ accuracy on a dataset. .. code:: ipython3 + %%skip not $to_quantize.value + int8_seg_stats = test(quantized_seg_model, core, seg_data_loader, seg_validator, num_samples=NUM_TEST_SAMPLES) @@ -1207,6 +1171,8 @@ accuracy on a dataset. .. code:: ipython3 + %%skip not $to_quantize.value + print("FP32 model accuracy") print_stats(fp_seg_stats, seg_validator.seen, seg_validator.nt_per_class.sum()) @@ -1218,16 +1184,20 @@ accuracy on a dataset. FP32 model accuracy Boxes: + Best mean average: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 300 2145 0.609 0.524 0.579 0.416 + all 300 2153 0.609 0.521 0.58 0.416 + Macro average mean: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 300 2145 0.602 0.501 0.557 0.354 + all 300 2153 0.605 0.501 0.558 0.353 INT8 model accuracy Boxes: + Best mean average: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 300 2145 0.604 0.505 0.57 0.407 + all 300 2153 0.522 0.538 0.555 0.376 + Macro average mean: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 300 2145 0.653 0.465 0.554 0.349 + all 300 2153 0.631 0.463 0.529 0.344 Great! Looks like accuracy was changed, but not significantly and it @@ -1247,7 +1217,7 @@ inference, the application can perform other tasks in parallel (for example, populating inputs or scheduling other requests) rather than wait for the current inference to complete first. To understand how to perform async inference using openvino, refer to `Async API -tutorial <115-async-api-with-output.html>`__ +tutorial `__ Preprocessing API enables making preprocessing a part of the model reducing application code and dependency on additional image processing @@ -1257,10 +1227,10 @@ on a selected device (CPU/GPU etc.) rather than always being executed on CPU as part of an application. This will also improve selected device utilization. For more information, refer to the overview of `Preprocessing API -tutorial <118-optimize-preprocessing-with-output.html>`__. -To see, how it could be used with YOLOV8 object detection model , -please, see `Convert and Optimize YOLOv8 real-time object detection with -OpenVINO tutorial <230-yolov8-object-detection-with-output.html>`__ +tutorial `__. To +see, how it could be used with YOLOV8 object detection model , please, +see `Convert and Optimize YOLOv8 real-time object detection with +OpenVINO tutorial <./yolov8-object-detection.ipynb>`__ Live demo --------- @@ -1273,29 +1243,41 @@ The following code runs model inference on a video: import collections import time + import cv2 from IPython import display - def run_instance_segmentation(source=0, flip=False, use_popup=False, skip_first_frames=0, model=seg_model, device=device.value): + def run_instance_segmentation( + source=0, + flip=False, + use_popup=False, + skip_first_frames=0, + model=seg_model, + device=device.value, + ): player = None + + ov_config = {} if device != "CPU": model.reshape({0: [1, 3, 640, 640]}) - ov_config = {} if "GPU" in device or ("AUTO" in device and "GPU" in core.available_devices): ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} compiled_model = core.compile_model(model, device, ov_config) + + def infer(*args): + result = compiled_model(args) + return torch.from_numpy(result[0]), torch.from_numpy(result[1]) + + seg_model.predictor.inference = infer + try: # Create a video player to play with target fps. - player = VideoPlayer( - source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames - ) + player = VideoPlayer(source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames) # Start capturing. player.start() if use_popup: title = "Press ESC to Exit" - cv2.namedWindow( - winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE - ) + cv2.namedWindow(winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE) processing_times = collections.deque() while True: @@ -1316,15 +1298,12 @@ The following code runs model inference on a video: ) # Get the results. input_image = np.array(frame) - + start_time = time.time() - # model expects RGB image, while video capturing in BGR - detections = detect(input_image[:, :, ::-1], compiled_model)[0] + detections = seg_model(input_image) stop_time = time.time() - - image_with_boxes = draw_results(detections, input_image, label_map) - frame = image_with_boxes - + frame = detections[0].plot() + processing_times.append(stop_time - start_time) # Use processing times from last 200 frames. if len(processing_times) > 200: @@ -1353,9 +1332,7 @@ The following code runs model inference on a video: break else: # Encode numpy array to jpg. - _, encoded_img = cv2.imencode( - ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100] - ) + _, encoded_img = cv2.imencode(ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image. i = display.Image(data=encoded_img) # Display the image in this notebook. @@ -1400,7 +1377,7 @@ set \ ``use_popup=True``. if WEBCAM_INFERENCE: VIDEO_SOURCE = 0 # Webcam else: - VIDEO_SOURCE = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4' + VIDEO_SOURCE = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4" .. code:: ipython3 @@ -1411,17 +1388,23 @@ set \ ``use_popup=True``. .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') .. code:: ipython3 - run_instance_segmentation(source=VIDEO_SOURCE, flip=True, use_popup=False, model=seg_ov_model, device=device.value) + run_instance_segmentation( + source=VIDEO_SOURCE, + flip=True, + use_popup=False, + model=seg_ov_model, + device=device.value, + ) -.. image:: 230-yolov8-instance-segmentation-with-output_files/230-yolov8-instance-segmentation-with-output_60_0.png +.. image:: yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_62_0.png .. parsed-literal:: diff --git a/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_18_1.png b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_18_1.png new file mode 100644 index 00000000000..bd478dd5c5c --- /dev/null +++ b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_18_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afdf904a57375654a2530bb56687c453fef87fbfa50aebcc7072810c33704c94 +size 789874 diff --git a/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_46_1.png b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_46_1.png new file mode 100644 index 00000000000..5e2d7f1d36c --- /dev/null +++ b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_46_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eb2408306c57279e2f19bd089e995ddb52cc782731756bcc7a665a7e1c4ea2d +size 775225 diff --git a/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_62_0.png b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_62_0.png new file mode 100644 index 00000000000..4351f698a09 --- /dev/null +++ b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_62_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bd8704f3f9ba9f5f678513872962d9531628f14ea828b3eea21d484c6ef5ec5 +size 473431 diff --git a/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_9_3.png b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_9_3.png new file mode 100644 index 00000000000..caa062d3eaa --- /dev/null +++ b/docs/notebooks/yolov8-instance-segmentation-with-output_files/yolov8-instance-segmentation-with-output_9_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8a0d5dff3c62904d70334d3cb2294de27b90a1f6ace402b4fd6aa35c7fad5e7 +size 789347 diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output.rst b/docs/notebooks/yolov8-keypoint-detection-with-output.rst similarity index 54% rename from docs/notebooks/230-yolov8-keypoint-detection-with-output.rst rename to docs/notebooks/yolov8-keypoint-detection-with-output.rst index f30cacf8219..34da767702d 100644 --- a/docs/notebooks/230-yolov8-keypoint-detection-with-output.rst +++ b/docs/notebooks/yolov8-keypoint-detection-with-output.rst @@ -30,8 +30,6 @@ Table of contents: - `Convert model to OpenVINO IR <#convert-model-to-openvino-ir>`__ - `Verify model inference <#verify-model-inference>`__ - - `Preprocessing <#preprocessing>`__ - - `Postprocessing <#postprocessing>`__ - `Select inference device <#select-inference-device>`__ - `Test on single image <#test-on-single-image>`__ @@ -94,7 +92,8 @@ Install necessary packages. .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" "nncf>=2.5.0" "protobuf==3.20.*" "torch>=2.1" "torchvision>=0.16" "ultralytics==8.0.159" "onnx" --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2024.0.0" "nncf>=2.9.0" + %pip install -q "protobuf==3.20.*" "torch>=2.1" "torchvision>=0.16" "ultralytics==8.1.42" "onnx" tqdm opencv-python --extra-index-url https://download.pytorch.org/whl/cpu Import required utility functions. The lower cell will download the ``notebook_utils`` Python module from GitHub. @@ -103,122 +102,38 @@ Import required utility functions. The lower cell will download the from pathlib import Path - # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) from notebook_utils import download_file, VideoPlayer -Define utility functions for drawing results - -.. code:: ipython3 - - from typing import Tuple, Dict - import cv2 - import numpy as np - from PIL import Image - from ultralytics.utils.plotting import colors - - - def plot_one_box(box:np.ndarray, img:np.ndarray, color:Tuple[int, int, int] = None, keypoints:np.ndarray = None, label:str = None, line_thickness:int = 5): - """ - Helper function for drawing single bounding box on image - Parameters: - box (np.ndarray): bounding box coordinates in format [x1, y1, x2, y2] - img (no.ndarray): input image - color (Tuple[int, int, int], *optional*, None): color in BGR format for drawing box, if not specified will be selected randomly - keypoints (np.ndarray, *optional*, None): keypoints in format [x1, y1, s], x1, y1 - keypoint coordinates, s - the confidence scores, - if not provided, only box will be drawn - label (str, *optonal*, None): box label string, if not provided will not be provided as drowing result - line_thickness (int, *optional*, 5): thickness for box drawing lines - """ - # Plots one bounding box on image img - tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1 # line/font thickness - color = color or [random.randint(0, 255) for _ in range(3)] - c1, c2 = (int(box[0]), int(box[1])), (int(box[2]), int(box[3])) - cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA) - if label: - tf = max(tl - 1, 1) # font thickness - t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0] - c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3 - cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA) # filled - cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA) - if keypoints is not None: - kpt_color = colors.pose_palette[[16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9]] - skeleton = [[16, 14], [14, 12], [17, 15], [15, 13], [12, 13], [6, 12], [7, 13], [6, 7], [6, 8], - [7, 9], [8, 10], [9, 11], [2, 3], [1, 2], [1, 3], [2, 4], [3, 5], [4, 6], [5, 7]] - limb_color = colors.pose_palette[[9, 9, 9, 9, 7, 7, 7, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16]] - shape = img.shape[:2] - for i, k in enumerate(keypoints): - color_k = [int(x) for x in kpt_color[i]] - x_coord, y_coord = k[0], k[1] - if x_coord % shape[1] != 0 and y_coord % shape[0] != 0: - if len(k) == 3: - if k[2] < 0.5: - continue - cv2.circle(img, (int(x_coord), int(y_coord)), 5, color_k, -1, lineType=cv2.LINE_AA) - - ndim = keypoints.shape[-1] - for i, sk in enumerate(skeleton): - pos1 = (int(keypoints[(sk[0] - 1), 0]), int(keypoints[(sk[0] - 1), 1])) - pos2 = (int(keypoints[(sk[1] - 1), 0]), int(keypoints[(sk[1] - 1), 1])) - if ndim == 3: - conf1 = keypoints[(sk[0] - 1), 2] - conf2 = keypoints[(sk[1] - 1), 2] - if conf1 < 0.5 or conf2 < 0.5: - continue - if pos1[0] % shape[1] == 0 or pos1[1] % shape[0] == 0 or pos1[0] < 0 or pos1[1] < 0: - continue - if pos2[0] % shape[1] == 0 or pos2[1] % shape[0] == 0 or pos2[0] < 0 or pos2[1] < 0: - continue - cv2.line(img, pos1, pos2, [int(x) for x in limb_color[i]], thickness=2, lineType=cv2.LINE_AA) - - return img - - - def draw_results(results:Dict, source_image:np.ndarray, label_map:Dict): - """ - Helper function for drawing bounding boxes on image - Parameters: - image_res (np.ndarray): detection predictions in format [x1, y1, x2, y2, score, label_id] - source_image (np.ndarray): input image for drawing - label_map; (Dict[int, str]): label_id to class name mapping - """ - boxes = results["box"] - keypoints = results.get("kpt") - h, w = source_image.shape[:2] - for idx, (*xyxy, conf, lbl) in enumerate(boxes): - if conf < 0.4: - continue - label = f'{label_map[0]} {conf:.2f}' - kp = keypoints[idx] if keypoints is not None else None - source_image = plot_one_box(xyxy, source_image, keypoints=kp, label=label, color=colors(int(lbl)), line_thickness=1) - return source_image - .. code:: ipython3 # Download a test sample - IMAGE_PATH = Path('./data/intel_rnb.jpg') + IMAGE_PATH = Path("./data/intel_rnb.jpg") download_file( - url='https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/intel_rnb.jpg', + url="https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/intel_rnb.jpg", filename=IMAGE_PATH.name, - directory=IMAGE_PATH.parent - ) + directory=IMAGE_PATH.parent, + ) + .. parsed-literal:: - 'data/intel_rnb.jpg' already exists. + data/intel_rnb.jpg: 0%| | 0.00/288k [00:00 + + + + +.. raw:: html + +
+    
+ + + +.. parsed-literal:: + + /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/venv/lib/python3.10/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + return Tensor(self.data * unwrap_tensor_data(other)) + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ .. code:: ipython3 - from openvino.runtime import serialize - int8_model_pose_path = models_dir / f'{POSE_MODEL_NAME}_openvino_int8_model/{POSE_MODEL_NAME}.xml' + %%skip not $to_quantize.value + print(f"Quantized keypoint detection model will be saved to {int8_model_pose_path}") - serialize(quantized_pose_model, str(int8_model_pose_path)) + ov.save_model(quantized_pose_model, str(int8_model_pose_path)) .. parsed-literal:: @@ -943,36 +886,40 @@ on the image. .. code:: ipython3 + %%skip not $to_quantize.value + device +.. code:: ipython3 + %%skip not $to_quantize.value + + ov_config = {} + if device.value != "CPU": + quantized_pose_model.reshape({0: [1, 3, 640, 640]}) + if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): + ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} + quantized_pose_compiled_model = core.compile_model(quantized_pose_model, device.value, ov_config) + + def infer(*args): + result = quantized_pose_compiled_model(args) + return torch.from_numpy(result[0]) + + pose_model.predictor.inference = infer + + res = pose_model(IMAGE_PATH) + display(Image.fromarray(res[0].plot()[:, :, ::-1])) .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') - - - -.. code:: ipython3 - - if device.value != "CPU": - quantized_pose_model.reshape({0: [1, 3, 640, 640]}) - ov_config = {} - if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): - ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} - quantized_pose_compiled_model = core.compile_model(quantized_pose_model, device.value, ov_config) - input_image = np.array(Image.open(IMAGE_PATH)) - detections = detect(input_image, quantized_pose_compiled_model)[0] - image_with_boxes = draw_results(detections, input_image, label_map) - Image.fromarray(image_with_boxes) + image 1/1 /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/data/intel_rnb.jpg: 640x640 2 persons, 20.0ms + Speed: 3.5ms preprocess, 20.0ms inference, 1.1ms postprocess per image at shape (1, 3, 640, 640) - -.. image:: 230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_46_0.png - +.. image:: yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_44_1.png Compare the Original and Quantized Models @@ -983,7 +930,7 @@ Compare the Original and Quantized Models Compare performance of the Original and Quantized Models ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Finally, use the OpenVINO + Finally, use the OpenVINO `Benchmark Tool `__ to measure the inference performance of the ``FP32`` and ``INT8`` @@ -1000,21 +947,15 @@ models. .. code:: ipython3 + %%skip not $to_quantize.value + device - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') - - - .. code:: ipython3 - # Inference FP32 model (OpenVINO IR) - !benchmark_app -m $pose_model_path -d $device.value -api async -shape "[1,3,640,640]" + if int8_model_pose_path.exists(): + # Inference FP32 model (OpenVINO IR) + !benchmark_app -m $pose_model_path -d $device.value -api async -shape "[1,3,640,640]" .. parsed-literal:: @@ -1024,37 +965,37 @@ models. [Step 2/11] Loading OpenVINO Runtime [ WARNING ] Default duration 120 seconds is used for unknown device AUTO [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 17.85 ms + [ INFO ] Read model took 16.24 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [?,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [?,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [?,56,?] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [?,56,16..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 11.94 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 9.32 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,56,8400] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [1,56,8400] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 410.27 ms + [ INFO ] Compile model took 313.69 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 @@ -1063,43 +1004,47 @@ models. [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 [ INFO ] ENABLE_CPU_PINNING: True [ INFO ] ENABLE_HYPER_THREADING: True [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE [ INFO ] INFERENCE_NUM_THREADS: 36 [ INFO ] INFERENCE_PRECISION_HINT: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 [ INFO ] NUM_STREAMS: 12 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 - [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] PERFORMANCE_HINT: THROUGHPUT [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 - [ INFO ] PERF_COUNT: False + [ INFO ] PERF_COUNT: NO [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 120000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 33.91 ms + [ INFO ] First inference took 42.40 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 18420 iterations - [ INFO ] Duration: 120067.97 ms + [ INFO ] Count: 21612 iterations + [ INFO ] Duration: 120076.97 ms [ INFO ] Latency: - [ INFO ] Median: 74.24 ms - [ INFO ] Average: 78.05 ms - [ INFO ] Min: 39.74 ms - [ INFO ] Max: 165.06 ms - [ INFO ] Throughput: 153.41 FPS + [ INFO ] Median: 66.18 ms + [ INFO ] Average: 66.51 ms + [ INFO ] Min: 32.58 ms + [ INFO ] Max: 123.83 ms + [ INFO ] Throughput: 179.98 FPS .. code:: ipython3 - # Inference INT8 model (OpenVINO IR) - !benchmark_app -m $int8_model_pose_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 + if int8_model_pose_path.exists(): + # Inference INT8 model (OpenVINO IR) + !benchmark_app -m $int8_model_pose_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 .. parsed-literal:: @@ -1108,76 +1053,79 @@ models. [ INFO ] Parsing input parameters [Step 2/11] Loading OpenVINO Runtime [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 29.51 ms + [ INFO ] Read model took 23.83 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [1,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [1,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,56,21..] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [1,56,21..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 16.46 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 13.45 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,56,8400] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [1,56,8400] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 732.13 ms + [ INFO ] Compile model took 540.15 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT - [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 18 + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 [ INFO ] MULTI_DEVICE_PRIORITIES: CPU [ INFO ] CPU: [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 [ INFO ] ENABLE_CPU_PINNING: True [ INFO ] ENABLE_HYPER_THREADING: True [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE [ INFO ] INFERENCE_NUM_THREADS: 36 [ INFO ] INFERENCE_PRECISION_HINT: - [ INFO ] NETWORK_NAME: torch_jit - [ INFO ] NUM_STREAMS: 18 - [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 18 - [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 + [ INFO ] NUM_STREAMS: 12 + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 + [ INFO ] PERFORMANCE_HINT: THROUGHPUT [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 - [ INFO ] PERF_COUNT: False + [ INFO ] PERF_COUNT: NO [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values - [Step 10/11] Measuring performance (Start inference asynchronously, 18 inference requests, limits: 15000 ms duration) + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values + [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 26.46 ms + [ INFO ] First inference took 34.70 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 6426 iterations - [ INFO ] Duration: 15072.05 ms + [ INFO ] Count: 4248 iterations + [ INFO ] Duration: 15064.81 ms [ INFO ] Latency: - [ INFO ] Median: 40.12 ms - [ INFO ] Average: 42.00 ms - [ INFO ] Min: 27.49 ms - [ INFO ] Max: 121.32 ms - [ INFO ] Throughput: 426.35 FPS + [ INFO ] Median: 42.11 ms + [ INFO ] Average: 42.37 ms + [ INFO ] Min: 24.13 ms + [ INFO ] Max: 69.95 ms + [ INFO ] Throughput: 281.98 FPS Compare accuracy of the Original and Quantized Models @@ -1192,6 +1140,8 @@ accuracy on a dataset. .. code:: ipython3 + %%skip not $to_quantize.value + int8_pose_stats = test(quantized_pose_model, core, pose_data_loader, pose_validator, num_samples=NUM_TEST_SAMPLES) @@ -1203,6 +1153,8 @@ accuracy on a dataset. .. code:: ipython3 + %%skip not $to_quantize.value + print("FP32 model accuracy") print_stats(fp_pose_stats, pose_validator.seen, pose_validator.nt_per_class.sum()) @@ -1214,12 +1166,14 @@ accuracy on a dataset. FP32 model accuracy Boxes: + Best mean average: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 8 21 1 0.9 0.955 0.736 + all 8 21 1 0.899 0.955 0.736 INT8 model accuracy Boxes: + Best mean average: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 8 21 0.905 0.909 0.979 0.703 + all 8 21 0.952 0.938 0.953 0.638 Great! Looks like accuracy was changed, but not significantly and it @@ -1239,7 +1193,7 @@ inference, the application can perform other tasks in parallel (for example, populating inputs or scheduling other requests) rather than wait for the current inference to complete first. To understand how to perform async inference using openvino, refer to `Async API -tutorial <115-async-api-with-output.html>`__ +tutorial `__ Preprocessing API enables making preprocessing a part of the model reducing application code and dependency on additional image processing @@ -1249,10 +1203,10 @@ on a selected device (CPU/GPU etc.) rather than always being executed on CPU as part of an application. This will also improve selected device utilization. For more information, refer to the overview of `Preprocessing API -tutorial <118-optimize-preprocessing-with-output.html>`__. -To see, how it could be used with YOLOV8 object detection model , -please, see `Convert and Optimize YOLOv8 real-time object detection with -OpenVINO tutorial <230-yolov8-object-detection-with-output.html>`__ +tutorial `__. To +see, how it could be used with YOLOV8 object detection model , please, +see `Convert and Optimize YOLOv8 real-time object detection with +OpenVINO tutorial <./yolov8-object-detection.ipynb>`__ Live demo --------- @@ -1266,28 +1220,40 @@ The following code runs model inference on a video: import collections import time from IPython import display + import cv2 - def run_keypoint_detection(source=0, flip=False, use_popup=False, skip_first_frames=0, model=pose_model, device=device.value): + def run_keypoint_detection( + source=0, + flip=False, + use_popup=False, + skip_first_frames=0, + model=pose_model, + device=device.value, + ): player = None + + ov_config = {} if device != "CPU": model.reshape({0: [1, 3, 640, 640]}) - ov_config = {} if "GPU" in device or ("AUTO" in device and "GPU" in core.available_devices): ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} compiled_model = core.compile_model(model, device, ov_config) + + def infer(*args): + result = compiled_model(args) + return torch.from_numpy(result[0]) + + pose_model.predictor.inference = infer + try: # Create a video player to play with target fps. - player = VideoPlayer( - source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames - ) + player = VideoPlayer(source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames) # Start capturing. player.start() if use_popup: title = "Press ESC to Exit" - cv2.namedWindow( - winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE - ) + cv2.namedWindow(winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE) processing_times = collections.deque() while True: @@ -1306,17 +1272,15 @@ The following code runs model inference on a video: fy=scale, interpolation=cv2.INTER_AREA, ) - # Get the results. + # Get the results input_image = np.array(frame) - + start_time = time.time() - # model expects RGB image, while video capturing in BGR - detections = detect(input_image[:, :, ::-1], compiled_model)[0] + + detections = pose_model(input_image) stop_time = time.time() - - image_with_boxes = draw_results(detections, input_image, label_map) - frame = image_with_boxes - + frame = detections[0].plot() + processing_times.append(stop_time - start_time) # Use processing times from last 200 frames. if len(processing_times) > 200: @@ -1345,9 +1309,7 @@ The following code runs model inference on a video: break else: # Encode numpy array to jpg. - _, encoded_img = cv2.imencode( - ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100] - ) + _, encoded_img = cv2.imencode(ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image. i = display.Image(data=encoded_img) # Display the image in this notebook. @@ -1373,7 +1335,7 @@ Run Keypoint Detection on video .. code:: ipython3 - VIDEO_SOURCE = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4' + VIDEO_SOURCE = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4" .. code:: ipython3 @@ -1384,17 +1346,23 @@ Run Keypoint Detection on video .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') .. code:: ipython3 - run_keypoint_detection(source=VIDEO_SOURCE, flip=True, use_popup=False, model=pose_ov_model, device=device.value) + run_keypoint_detection( + source=VIDEO_SOURCE, + flip=True, + use_popup=False, + model=pose_ov_model, + device=device.value, + ) -.. image:: 230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_62_0.png +.. image:: yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_60_0.png .. parsed-literal:: diff --git a/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_16_1.jpg b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_16_1.jpg new file mode 100644 index 00000000000..9c3a311e877 --- /dev/null +++ b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_16_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:254000dd7415e7fe9d8352583701bfd61b9aeca783791ae5b5b17c9b6b90a12a +size 60096 diff --git a/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_16_1.png b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_16_1.png new file mode 100644 index 00000000000..2798035922b --- /dev/null +++ b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_16_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8056c2a3c3f6ce357cc5fca0af66fe1784b636ffbd457ef386dc70cf04b57b84 +size 579271 diff --git a/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_44_1.jpg b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_44_1.jpg new file mode 100644 index 00000000000..6f6c3098579 --- /dev/null +++ b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_44_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a47429973ae6a3c02f8d61c9e336351d94f418a8e1edea4ef83a4fdb6ce1365c +size 60047 diff --git a/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_44_1.png b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_44_1.png new file mode 100644 index 00000000000..5fcaf0b3c56 --- /dev/null +++ b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_44_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b87bba31fbbf57348dbab9a1ce17c0974dceb75a31efec6d41d53e668a490bc +size 578682 diff --git a/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_60_0.png b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_60_0.png new file mode 100644 index 00000000000..c22c3c0c03e --- /dev/null +++ b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_60_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e910e97b89a5b95bbd70fe1dcfaa2cc0a019386ff85377be269ad9675d5b4d5a +size 522672 diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_11_1.jpg b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_9_3.jpg similarity index 100% rename from docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_11_1.jpg rename to docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_9_3.jpg diff --git a/docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_11_1.png b/docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_9_3.png similarity index 100% rename from docs/notebooks/230-yolov8-keypoint-detection-with-output_files/230-yolov8-keypoint-detection-with-output_11_1.png rename to docs/notebooks/yolov8-keypoint-detection-with-output_files/yolov8-keypoint-detection-with-output_9_3.png diff --git a/docs/notebooks/yolov8-obb-with-output.rst b/docs/notebooks/yolov8-obb-with-output.rst new file mode 100644 index 00000000000..2ecfebe2acd --- /dev/null +++ b/docs/notebooks/yolov8-obb-with-output.rst @@ -0,0 +1,724 @@ +YOLOv8 Oriented Bounding Boxes Object Detection with OpenVINO™ +============================================================== + +`YOLOv8-OBB `__ is introduced +by Ultralytics. + +Oriented object detection goes a step further than object detection and +introduce an extra angle to locate objects more accurate in an image. + +The output of an oriented object detector is a set of rotated bounding +boxes that exactly enclose the objects in the image, along with class +labels and confidence scores for each box. Object detection is a good +choice when you need to identify objects of interest in a scene, but +don’t need to know exactly where the object is or its exact shape. + +Table of contents: +^^^^^^^^^^^^^^^^^^ + +- `Prerequisites <#prerequisites>`__ +- `Get PyTorch model <#get-pytorch-model>`__ +- `Prepare dataset and dataloader <#prepare-dataset-and-dataloader>`__ +- `Run inference <#run-inference>`__ +- `Convert PyTorch model to OpenVINO + IR <#convert-pytorch-model-to-openvino-ir>`__ + + - `Select inference device <#select-inference-device>`__ + - `Compile model <#compile-model>`__ + - `Prepare the model for + inference <#prepare-the-model-for-inference>`__ + - `Run inference <#run-inference>`__ + +- `Quantization <#quantization>`__ +- `Compare inference time and model + sizes. <#compare-inference-time-and-model-sizes>`__ + +Prerequisites +~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + %pip install -q "ultralytics==8.1.42" "openvino>=2024.0.0" "nncf>=2.9.0" tqdm + + +.. parsed-literal:: + + DEPRECATION: torchsde 0.2.5 has a non-standard dependency specifier numpy>=1.19.*; python_version >= "3.7". pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of torchsde or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 + Note: you may need to restart the kernel to use updated packages. + + +Import required utility functions. The lower cell will download the +notebook_utils Python module from GitHub. + +.. code:: ipython3 + + from pathlib import Path + + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + + from notebook_utils import download_file + +Get PyTorch model +~~~~~~~~~~~~~~~~~ + + + +Generally, PyTorch models represent an instance of the +`torch.nn.Module `__ +class, initialized by a state dictionary with model weights. We will use +the YOLOv8 pretrained OBB large model (also known as ``yolov8l-obbn``) +pre-trained on a DOTAv1 dataset, which is available in this +`repo `__. Similar steps are +also applicable to other YOLOv8 models. + +.. code:: ipython3 + + from ultralytics import YOLO + + model = YOLO("yolov8l-obb.pt") + +Prepare dataset and dataloader +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +YOLOv8-obb is pre-trained on the DOTA dataset. Also, Ultralytics +provides DOTA8 dataset. It is a small, but versatile oriented object +detection dataset composed of the first 8 images of 8 images of the +split DOTAv1 set, 4 for training and 4 for validation. This dataset is +ideal for testing and debugging object detection models, or for +experimenting with new detection approaches. With 8 images, it is small +enough to be easily manageable, yet diverse enough to test training +pipelines for errors and act as a sanity check before training larger +datasets. + +The original model repository uses a Validator wrapper, which represents +the accuracy validation pipeline. It creates dataloader and evaluation +metrics and updates metrics on each data batch produced by the +dataloader. Besides that, it is responsible for data preprocessing and +results postprocessing. For class initialization, the configuration +should be provided. We will use the default setup, but it can be +replaced with some parameters overriding to test on custom data. The +model has connected the task_map, which allows to get a validator class +instance. + +.. code:: ipython3 + + from ultralytics.cfg import get_cfg + from ultralytics.data.utils import check_det_dataset + from ultralytics.utils import DEFAULT_CFG, DATASETS_DIR + + + CFG_URL = "https://raw.githubusercontent.com/ultralytics/ultralytics/main/ultralytics/cfg/datasets/dota8.yaml" + OUT_DIR = Path("./datasets") + CFG_PATH = OUT_DIR / "dota8.yaml" + + download_file(CFG_URL, CFG_PATH.name, CFG_PATH.parent) + + args = get_cfg(cfg=DEFAULT_CFG) + args.data = CFG_PATH + args.task = model.task + + validator = model.task_map[model.task]["validator"](args=args) + + validator.stride = 32 + validator.data = check_det_dataset(str(args.data)) + data_loader = validator.get_dataloader(DATASETS_DIR / "dota8", 1) + example_image_path = list(data_loader)[1]["im_file"][0] + + + +.. parsed-literal:: + + datasets/dota8.yaml: 0%| | 0.00/608 [00:00`__ enables +post-training quantization by adding quantization layers into model +graph and then using a subset of the training dataset to initialize the +parameters of these additional quantization layers. Quantized operations +are executed in ``INT8`` instead of ``FP32``/``FP16`` making model +inference faster. + +The optimization process contains the following steps: + +1. Create a calibration dataset for quantization. +2. Run ``nncf.quantize()`` to obtain quantized model. +3. Save the ``INT8`` model using ``openvino.save_model()`` function. + +Please select below whether you would like to run quantization to +improve model inference speed. + +.. code:: ipython3 + + import ipywidgets as widgets + + INT8_OV_PATH = Path("model/int8_model.xml") + + to_quantize = widgets.Checkbox( + value=True, + description="Quantization", + disabled=False, + ) + + to_quantize + + + + +.. parsed-literal:: + + Checkbox(value=True, description='Quantization') + + + +Let’s load ``skip magic`` extension to skip quantization if +``to_quantize`` is not selected + +.. code:: ipython3 + + # Fetch skip_kernel_extension module + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/skip_kernel_extension.py", + ) + open("skip_kernel_extension.py", "w").write(r.text) + + %load_ext skip_kernel_extension + +.. code:: ipython3 + + %%skip not $to_quantize.value + + from typing import Dict + + import nncf + + + def transform_fn(data_item: Dict): + input_tensor = validator.preprocess(data_item)["img"].numpy() + return input_tensor + + + quantization_dataset = nncf.Dataset(data_loader, transform_fn) + + +.. parsed-literal:: + + INFO:nncf:NNCF initialized successfully. Supported frameworks detected: torch, tensorflow, onnx, openvino + + +Create a quantized model from the pre-trained converted OpenVINO model. + + **NOTE**: Quantization is time and memory consuming operation. + Running quantization code below may take some time. + +.. + + **NOTE**: We use the tiny DOTA8 dataset as a calibration dataset. It + gives a good enough result for tutorial purpose. For batter results, + use a bigger dataset. Usually 300 examples are enough. + +.. code:: ipython3 + + %%skip not $to_quantize.value + + if INT8_OV_PATH.exists(): + print("Loading quantized model") + quantized_model = core.read_model(INT8_OV_PATH) + else: + ov_model.reshape({0: [1, 3, -1, -1]}) + quantized_model = nncf.quantize( + ov_model, + quantization_dataset, + preset=nncf.QuantizationPreset.MIXED, + ) + ov.save_model(quantized_model, INT8_OV_PATH) + + + ov_config = {} + if device.value != "CPU": + quantized_model.reshape({0: [1, 3, 1024, 1024]}) + if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): + ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} + + model_optimized = core.compile_model(quantized_model, device.value, ov_config) + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +We can reuse the base model pipeline in the same way as for IR model. + +.. code:: ipython3 + + %%skip not $to_quantize.value + + def infer(*args): + result = model_optimized(args)[0] + return torch.from_numpy(result) + + model.predictor.inference = infer + +Run inference + +.. code:: ipython3 + + %%skip not $to_quantize.value + + res = model(example_image_path, device='cpu') + Image.fromarray(res[0].plot()[:, :, ::-1]) + + +.. parsed-literal:: + + + image 1/1 /home/ea/work/openvino_notebooks/notebooks/fast-segment-anything/datasets/dota8/images/train/P1053__1024__0___90.jpg: 1024x1024 240.5ms + Speed: 3.2ms preprocess, 240.5ms inference, 4.2ms postprocess per image at shape (1, 3, 1024, 1024) + + +You can see that the result is almost the same but it has a small +difference. One small vehicle was recognized as two vehicles. But one +large car was also identified, unlike the original model. + +Compare inference time and model sizes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. code:: ipython3 + + %%skip not $to_quantize.value + + fp16_ir_model_size = OV_MODEL_PATH.with_suffix(".bin").stat().st_size / 1024 + quantized_model_size = INT8_OV_PATH.with_suffix(".bin").stat().st_size / 1024 + + print(f"FP16 model size: {fp16_ir_model_size:.2f} KB") + print(f"INT8 model size: {quantized_model_size:.2f} KB") + print(f"Model compression rate: {fp16_ir_model_size / quantized_model_size:.3f}") + + +.. parsed-literal:: + + FP16 model size: 86849.05 KB + INT8 model size: 43494.78 KB + Model compression rate: 1.997 + + +.. code:: ipython3 + + # Inference FP32 model (OpenVINO IR) + !benchmark_app -m $OV_MODEL_PATH -d $device.value -api async -shape "[1,3,640,640]" + + +.. parsed-literal:: + + [Step 1/11] Parsing and validating input arguments + [ INFO ] Parsing input parameters + [Step 2/11] Loading OpenVINO Runtime + [ WARNING ] Default duration 120 seconds is used for unknown device AUTO + [ INFO ] OpenVINO: + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 + [ INFO ] + [ INFO ] Device info: + [ INFO ] AUTO + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 + [ INFO ] + [ INFO ] + [Step 3/11] Setting device configuration + [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. + [Step 4/11] Reading model files + [ INFO ] Loading model files + [ INFO ] Read model took 25.07 ms + [ INFO ] Original model I/O parameters: + [ INFO ] Model inputs: + [ INFO ] x (node: x) : f32 / [...] / [?,3,?,?] + [ INFO ] Model outputs: + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [?,20,16..] + [Step 5/11] Resizing model to match image sizes and given batch + [ INFO ] Model batch size: 1 + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 10.42 ms + [Step 6/11] Configuring input of the model + [ INFO ] Model inputs: + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] Model outputs: + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [1,20,8400] + [Step 7/11] Loading the model to the device + [ INFO ] Compile model took 645.51 ms + [Step 8/11] Querying optimal runtime parameters + [ INFO ] Model: + [ INFO ] NETWORK_NAME: Model0 + [ INFO ] EXECUTION_DEVICES: ['CPU'] + [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 + [ INFO ] MULTI_DEVICE_PRIORITIES: CPU + [ INFO ] CPU: + [ INFO ] AFFINITY: Affinity.CORE + [ INFO ] CPU_DENORMALS_OPTIMIZATION: False + [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 + [ INFO ] ENABLE_CPU_PINNING: True + [ INFO ] ENABLE_HYPER_THREADING: True + [ INFO ] EXECUTION_DEVICES: ['CPU'] + [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE + [ INFO ] INFERENCE_NUM_THREADS: 36 + [ INFO ] INFERENCE_PRECISION_HINT: + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 + [ INFO ] NUM_STREAMS: 12 + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 + [ INFO ] PERFORMANCE_HINT: THROUGHPUT + [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 + [ INFO ] PERF_COUNT: NO + [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE + [ INFO ] MODEL_PRIORITY: Priority.MEDIUM + [ INFO ] LOADED_FROM_CACHE: False + [Step 9/11] Creating infer requests and preparing input tensors + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values + [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 120000 ms duration) + [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). + [ INFO ] First inference took 362.70 ms + [Step 11/11] Dumping statistics report + [ INFO ] Execution Devices:['CPU'] + [ INFO ] Count: 1620 iterations + [ INFO ] Duration: 121527.01 ms + [ INFO ] Latency: + [ INFO ] Median: 884.92 ms + [ INFO ] Average: 897.13 ms + [ INFO ] Min: 599.38 ms + [ INFO ] Max: 1131.46 ms + [ INFO ] Throughput: 13.33 FPS + + +.. code:: ipython3 + + if INT8_OV_PATH.exists(): + # Inference INT8 model (Quantized model) + !benchmark_app -m $INT8_OV_PATH -d $device.value -api async -shape "[1,3,640,640]" -t 15 + + +.. parsed-literal:: + + [Step 1/11] Parsing and validating input arguments + [ INFO ] Parsing input parameters + [Step 2/11] Loading OpenVINO Runtime + [ INFO ] OpenVINO: + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 + [ INFO ] + [ INFO ] Device info: + [ INFO ] AUTO + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 + [ INFO ] + [ INFO ] + [Step 3/11] Setting device configuration + [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. + [Step 4/11] Reading model files + [ INFO ] Loading model files + [ INFO ] Read model took 46.47 ms + [ INFO ] Original model I/O parameters: + [ INFO ] Model inputs: + [ INFO ] x (node: x) : f32 / [...] / [?,3,?,?] + [ INFO ] Model outputs: + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [?,20,16..] + [Step 5/11] Resizing model to match image sizes and given batch + [ INFO ] Model batch size: 1 + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 20.10 ms + [Step 6/11] Configuring input of the model + [ INFO ] Model inputs: + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] Model outputs: + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_9) : f32 / [...] / [1,20,8400] + [Step 7/11] Loading the model to the device + [ INFO ] Compile model took 1201.42 ms + [Step 8/11] Querying optimal runtime parameters + [ INFO ] Model: + [ INFO ] NETWORK_NAME: Model0 + [ INFO ] EXECUTION_DEVICES: ['CPU'] + [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 + [ INFO ] MULTI_DEVICE_PRIORITIES: CPU + [ INFO ] CPU: + [ INFO ] AFFINITY: Affinity.CORE + [ INFO ] CPU_DENORMALS_OPTIMIZATION: False + [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 + [ INFO ] ENABLE_CPU_PINNING: True + [ INFO ] ENABLE_HYPER_THREADING: True + [ INFO ] EXECUTION_DEVICES: ['CPU'] + [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE + [ INFO ] INFERENCE_NUM_THREADS: 36 + [ INFO ] INFERENCE_PRECISION_HINT: + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 + [ INFO ] NUM_STREAMS: 12 + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 + [ INFO ] PERFORMANCE_HINT: THROUGHPUT + [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 + [ INFO ] PERF_COUNT: NO + [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE + [ INFO ] MODEL_PRIORITY: Priority.MEDIUM + [ INFO ] LOADED_FROM_CACHE: False + [Step 9/11] Creating infer requests and preparing input tensors + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values + [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 15000 ms duration) + [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). + [ INFO ] First inference took 124.20 ms + [Step 11/11] Dumping statistics report + [ INFO ] Execution Devices:['CPU'] + [ INFO ] Count: 708 iterations + [ INFO ] Duration: 15216.46 ms + [ INFO ] Latency: + [ INFO ] Median: 252.23 ms + [ INFO ] Average: 255.76 ms + [ INFO ] Min: 176.97 ms + [ INFO ] Max: 344.41 ms + [ INFO ] Throughput: 46.53 FPS + diff --git a/docs/notebooks/yolov8-obb-with-output_files/yolov8-obb-with-output_10_1.png b/docs/notebooks/yolov8-obb-with-output_files/yolov8-obb-with-output_10_1.png new file mode 100644 index 00000000000..50aaf319c9a --- /dev/null +++ b/docs/notebooks/yolov8-obb-with-output_files/yolov8-obb-with-output_10_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:119895531f8d84d19c1532048e112156f80b57512e0353b52a48c5899a3d5b3f +size 1421077 diff --git a/docs/notebooks/yolov8-obb-with-output_files/yolov8-obb-with-output_20_1.png b/docs/notebooks/yolov8-obb-with-output_files/yolov8-obb-with-output_20_1.png new file mode 100644 index 00000000000..50aaf319c9a --- /dev/null +++ b/docs/notebooks/yolov8-obb-with-output_files/yolov8-obb-with-output_20_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:119895531f8d84d19c1532048e112156f80b57512e0353b52a48c5899a3d5b3f +size 1421077 diff --git a/docs/notebooks/230-yolov8-object-detection-with-output.rst b/docs/notebooks/yolov8-object-detection-with-output.rst similarity index 64% rename from docs/notebooks/230-yolov8-object-detection-with-output.rst rename to docs/notebooks/yolov8-object-detection-with-output.rst index 02ddc6b09ed..e2bc325421a 100644 --- a/docs/notebooks/230-yolov8-object-detection-with-output.rst +++ b/docs/notebooks/yolov8-object-detection-with-output.rst @@ -29,8 +29,6 @@ Table of contents: - `Convert model to OpenVINO IR <#convert-model-to-openvino-ir>`__ - `Verify model inference <#verify-model-inference>`__ - - `Preprocessing <#preprocessing>`__ - - `Postprocessing <#postprocessing>`__ - `Select inference device <#select-inference-device>`__ - `Test on single image <#test-on-single-image>`__ @@ -70,6 +68,7 @@ Table of contents: steps <#describe-preprocessing-steps>`__ - `Integrating Steps into a Model <#integrating-steps-into-a-model>`__ + - `Postprocessing <#postprocessing>`__ - `Live demo <#live-demo>`__ @@ -105,8 +104,8 @@ Install necessary packages. .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" "nncf>=2.5.0" - %pip install -q "torch>=2.1" "torchvision>=0.16" "ultralytics==8.0.43" onnx --extra-index-url https://download.pytorch.org/whl/cpu + %pip install -q "openvino>=2024.0.0" "nncf>=2.9.0" + %pip install -q "torch>=2.1" "torchvision>=0.16" "ultralytics==8.1.42" onnx tqdm opencv-python --extra-index-url https://download.pytorch.org/whl/cpu Import required utility functions. The lower cell will download the ``notebook_utils`` Python module from GitHub. @@ -115,91 +114,26 @@ Import required utility functions. The lower cell will download the from pathlib import Path - # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file, VideoPlayer -Define utility functions for drawing results - -.. code:: ipython3 - - from typing import Tuple, Dict - import cv2 - import numpy as np - from ultralytics.yolo.utils.plotting import colors - - - def plot_one_box(box:np.ndarray, img:np.ndarray, - color:Tuple[int, int, int] = None, - label:str = None, line_thickness:int = 5): - """ - Helper function for drawing single bounding box on image - Parameters: - x (np.ndarray): bounding box coordinates in format [x1, y1, x2, y2] - img (no.ndarray): input image - color (Tuple[int, int, int], *optional*, None): color in BGR format for drawing box, if not specified will be selected randomly - label (str, *optonal*, None): box label string, if not provided will not be provided as drowing result - line_thickness (int, *optional*, 5): thickness for box drawing lines - """ - # Plots one bounding box on image img - tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1 # line/font thickness - color = color or [random.randint(0, 255) for _ in range(3)] - c1, c2 = (int(box[0]), int(box[1])), (int(box[2]), int(box[3])) - cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA) - if label: - tf = max(tl - 1, 1) # font thickness - t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0] - c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3 - cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA) # filled - cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA) - - return img - - - def draw_results(results:Dict, source_image:np.ndarray, label_map:Dict): - """ - Helper function for drawing bounding boxes on image - Parameters: - image_res (np.ndarray): detection predictions in format [x1, y1, x2, y2, score, label_id] - source_image (np.ndarray): input image for drawing - label_map; (Dict[int, str]): label_id to class name mapping - Returns: - Image with boxes - """ - boxes = results["det"] - for idx, (*xyxy, conf, lbl) in enumerate(boxes): - label = f'{label_map[int(lbl)]} {conf:.2f}' - source_image = plot_one_box(xyxy, source_image, label=label, color=colors(int(lbl)), line_thickness=1) - return source_image - .. code:: ipython3 # Download a test sample - IMAGE_PATH = Path('./data/coco_bike.jpg') + IMAGE_PATH = Path("./data/coco_bike.jpg") download_file( - url='https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bike.jpg', + url="https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bike.jpg", filename=IMAGE_PATH.name, - directory=IMAGE_PATH.parent - ) - - -.. parsed-literal:: - - 'data/coco_bike.jpg' already exists. - - - - -.. parsed-literal:: - - PosixPath('/home/ea/work/openvino_notebooks/notebooks/230-yolov8-optimization/data/coco_bike.jpg') - - + directory=IMAGE_PATH.parent, + ) Instantiate model ----------------- @@ -222,7 +156,7 @@ Let us consider the examples: .. code:: ipython3 - models_dir = Path('./models') + models_dir = Path("./models") models_dir.mkdir(exist_ok=True) .. code:: ipython3 @@ -232,7 +166,7 @@ Let us consider the examples: DET_MODEL_NAME = "yolov8n" - det_model = YOLO(models_dir / f'{DET_MODEL_NAME}.pt') + det_model = YOLO(models_dir / f"{DET_MODEL_NAME}.pt") label_map = det_model.model.names res = det_model(IMAGE_PATH) @@ -241,20 +175,24 @@ Let us consider the examples: .. parsed-literal:: - 2023-10-05 19:15:51.230030: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2023-10-05 19:15:51.269549: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2023-10-05 19:15:51.909328: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - Ultralytics YOLOv8.0.43 🚀 Python-3.8.10 torch-2.0.1+cpu CPU - YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs + Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8n.pt to 'models/yolov8n.pt'... + + +.. parsed-literal:: + + 100%|██████████████████████████████████████████████████████████████████████████████| 6.23M/6.23M [00:01<00:00, 3.73MB/s] + + +.. parsed-literal:: + - image 1/1 /home/ea/work/openvino_notebooks/notebooks/230-yolov8-optimization/data/coco_bike.jpg: 480x640 2 bicycles, 2 cars, 1 dog, 48.7ms - Speed: 2.6ms preprocess, 48.7ms inference, 1.3ms postprocess per image at shape (1, 3, 640, 640) + image 1/1 /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/data/coco_bike.jpg: 480x640 2 bicycles, 2 cars, 1 dog, 43.2ms + Speed: 1.9ms preprocess, 43.2ms inference, 0.9ms postprocess per image at shape (1, 3, 480, 640) -.. image:: 230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_11_1.png +.. image:: yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_9_3.png @@ -273,199 +211,33 @@ preserve dynamic shapes in the model. # object detection model det_model_path = models_dir / f"{DET_MODEL_NAME}_openvino_model/{DET_MODEL_NAME}.xml" if not det_model_path.exists(): - det_model.export(format="openvino", dynamic=True, half=False) + det_model.export(format="openvino", dynamic=True, half=True) + + +.. parsed-literal:: + + Ultralytics YOLOv8.1.42 🚀 Python-3.10.12 torch-2.2.2+cpu CPU (Intel Core(TM) i9-10980XE 3.00GHz) + + PyTorch: starting from 'models/yolov8n.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 84, 8400) (6.2 MB) + + OpenVINO: starting export with openvino 2024.0.0-14509-34caeefd078-releases/2024/0... + OpenVINO: export success ✅ 1.8s, saved as 'models/yolov8n_openvino_model/' (6.4 MB) + + Export complete (3.0s) + Results saved to /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/models + Predict: yolo predict task=detect model=models/yolov8n_openvino_model imgsz=640 half + Validate: yolo val task=detect model=models/yolov8n_openvino_model imgsz=640 data=coco.yaml half + Visualize: https://netron.app + Verify model inference ~~~~~~~~~~~~~~~~~~~~~~ -To test model work, we create inference pipeline similar to -``model.predict`` method. The pipeline consists of preprocessing step, -inference of OpenVINO model and results post-processing to get results. - -Preprocessing -~~~~~~~~~~~~~ - - - -Model input is a tensor with the ``[-1, 3, -1, -1]`` shape in the -``N, C, H, W`` format, where \* ``N`` - number of images in batch (batch -size) \* ``C`` - image channels \* ``H`` - image height \* ``W`` - image -width - -The model expects images in RGB channels format and normalized in [0, 1] -range. Although the model supports dynamic input shape with preserving -input divisibility to 32, it is recommended to use static shapes, for -example, 640x640 for better efficiency. To resize images to fit model -size ``letterbox``, resize approach is used, where the aspect ratio of -width and height is preserved. - -To keep a specific shape, preprocessing automatically enables padding. - -.. code:: ipython3 - - from typing import Tuple - from ultralytics.yolo.utils import ops - import torch - import numpy as np - - - def letterbox(img: np.ndarray, new_shape:Tuple[int, int] = (640, 640), color:Tuple[int, int, int] = (114, 114, 114), auto:bool = False, scale_fill:bool = False, scaleup:bool = False, stride:int = 32): - """ - Resize image and padding for detection. Takes image as input, - resizes image to fit into new shape with saving original aspect ratio and pads it to meet stride-multiple constraints - - Parameters: - img (np.ndarray): image for preprocessing - new_shape (Tuple(int, int)): image size after preprocessing in format [height, width] - color (Tuple(int, int, int)): color for filling padded area - auto (bool): use dynamic input size, only padding for stride constrins applied - scale_fill (bool): scale image to fill new_shape - scaleup (bool): allow scale image if it is lower then desired input size, can affect model accuracy - stride (int): input padding stride - Returns: - img (np.ndarray): image after preprocessing - ratio (Tuple(float, float)): hight and width scaling ratio - padding_size (Tuple(int, int)): height and width padding size - - - """ - # Resize and pad image while meeting stride-multiple constraints - shape = img.shape[:2] # current shape [height, width] - if isinstance(new_shape, int): - new_shape = (new_shape, new_shape) - - # Scale ratio (new / old) - r = min(new_shape[0] / shape[0], new_shape[1] / shape[1]) - if not scaleup: # only scale down, do not scale up (for better test mAP) - r = min(r, 1.0) - - # Compute padding - ratio = r, r # width, height ratios - new_unpad = int(round(shape[1] * r)), int(round(shape[0] * r)) - dw, dh = new_shape[1] - new_unpad[0], new_shape[0] - new_unpad[1] # wh padding - if auto: # minimum rectangle - dw, dh = np.mod(dw, stride), np.mod(dh, stride) # wh padding - elif scale_fill: # stretch - dw, dh = 0.0, 0.0 - new_unpad = (new_shape[1], new_shape[0]) - ratio = new_shape[1] / shape[1], new_shape[0] / shape[0] # width, height ratios - - dw /= 2 # divide padding into 2 sides - dh /= 2 - - if shape[::-1] != new_unpad: # resize - img = cv2.resize(img, new_unpad, interpolation=cv2.INTER_LINEAR) - top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1)) - left, right = int(round(dw - 0.1)), int(round(dw + 0.1)) - img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color) # add border - return img, ratio, (dw, dh) - - - def preprocess_image(img0: np.ndarray): - """ - Preprocess image according to YOLOv8 input requirements. - Takes image in np.array format, resizes it to specific size using letterbox resize and changes data layout from HWC to CHW. - - Parameters: - img0 (np.ndarray): image for preprocessing - Returns: - img (np.ndarray): image after preprocessing - """ - # resize - img = letterbox(img0)[0] - - # Convert HWC to CHW - img = img.transpose(2, 0, 1) - img = np.ascontiguousarray(img) - return img - - - def image_to_tensor(image:np.ndarray): - """ - Preprocess image according to YOLOv8 input requirements. - Takes image in np.array format, resizes it to specific size using letterbox resize and changes data layout from HWC to CHW. - - Parameters: - img (np.ndarray): image for preprocessing - Returns: - input_tensor (np.ndarray): input tensor in NCHW format with float32 values in [0, 1] range - """ - input_tensor = image.astype(np.float32) # uint8 to fp32 - input_tensor /= 255.0 # 0 - 255 to 0.0 - 1.0 - - # add batch dimension - if input_tensor.ndim == 3: - input_tensor = np.expand_dims(input_tensor, 0) - return input_tensor - -Postprocessing -~~~~~~~~~~~~~~ - - - -The model output contains detection boxes candidates, it is a tensor -with the ``[-1,84,-1]`` shape in the ``B,84,N`` format, where: - -- ``B`` - batch size -- ``N`` - number of detection boxes - -For getting the final prediction, we need to apply a non-maximum -suppression algorithm and rescale box coordinates to the original image -size. - -Finally, detection box has the [``x``, ``y``, ``h``, ``w``, -``class_no_1``, …, ``class_no_80``] format, where: - -- (``x``, ``y``) - raw coordinates of box center -- ``h``, ``w`` - raw height and width of the box -- ``class_no_1``, …, ``class_no_80`` - probability distribution over - the classes. - -.. code:: ipython3 - - def postprocess( - pred_boxes:np.ndarray, - input_hw:Tuple[int, int], - orig_img:np.ndarray, - min_conf_threshold:float = 0.25, - nms_iou_threshold:float = 0.7, - agnosting_nms:bool = False, - max_detections:int = 300, - ): - """ - YOLOv8 model postprocessing function. Applied non maximum supression algorithm to detections and rescale boxes to original image size - Parameters: - pred_boxes (np.ndarray): model output prediction boxes - input_hw (np.ndarray): preprocessed image - orig_image (np.ndarray): image before preprocessing - min_conf_threshold (float, *optional*, 0.25): minimal accepted confidence for object filtering - nms_iou_threshold (float, *optional*, 0.45): minimal overlap score for removing objects duplicates in NMS - agnostic_nms (bool, *optiona*, False): apply class agnostinc NMS approach or not - max_detections (int, *optional*, 300): maximum detections after NMS - Returns: - pred (List[Dict[str, np.ndarray]]): list of dictionary with det - detected boxes in format [x1, y1, x2, y2, score, label] - """ - nms_kwargs = {"agnostic": agnosting_nms, "max_det":max_detections} - preds = ops.non_max_suppression( - torch.from_numpy(pred_boxes), - min_conf_threshold, - nms_iou_threshold, - nc=80, - **nms_kwargs - ) - - results = [] - for i, pred in enumerate(preds): - shape = orig_img[i].shape if isinstance(orig_img, list) else orig_img.shape - if not len(pred): - results.append({"det": [], "segment": []}) - continue - pred[:, :4] = ops.scale_boxes(input_hw, pred[:, :4], shape).round() - results.append({"det": pred}) - - return results +We can reuse the base model pipeline for pre- and postprocessing just +replacing the inference method where we will use the IR model for +inference. Select inference device ~~~~~~~~~~~~~~~~~~~~~~~ @@ -483,8 +255,8 @@ Select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -495,7 +267,7 @@ Select device from dropdown list for running inference using OpenVINO .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') @@ -509,44 +281,42 @@ ready to check model prediction for object detection. .. code:: ipython3 + import torch + core = ov.Core() det_ov_model = core.read_model(det_model_path) + + ov_config = {} if device.value != "CPU": det_ov_model.reshape({0: [1, 3, 640, 640]}) - ov_config = {} if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} det_compiled_model = core.compile_model(det_ov_model, device.value, ov_config) - def detect(image:np.ndarray, model:ov.Model): - """ - OpenVINO YOLOv8 model inference function. Preprocess image, runs model inference and postprocess results using NMS. - Parameters: - image (np.ndarray): input image. - model (Model): OpenVINO compiled model. - Returns: - detections (np.ndarray): detected boxes in format [x1, y1, x2, y2, score, label] - """ - preprocessed_image = preprocess_image(image) - input_tensor = image_to_tensor(preprocessed_image) - result = model(input_tensor) - boxes = result[model.output(0)] - input_hw = input_tensor.shape[2:] - detections = postprocess(pred_boxes=boxes, input_hw=input_hw, orig_img=image) - return detections + def infer(*args): + result = det_compiled_model(args) + return torch.from_numpy(result[0]) - input_image = np.array(Image.open(IMAGE_PATH)) - detections = detect(input_image, det_compiled_model)[0] - image_with_boxes = draw_results(detections, input_image, label_map) - Image.fromarray(image_with_boxes) + det_model.predictor.inference = infer + det_model.predictor.model.pt = False + + res = det_model(IMAGE_PATH) + Image.fromarray(res[0].plot()[:, :, ::-1]) + + +.. parsed-literal:: + + + image 1/1 /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/data/coco_bike.jpg: 640x640 2 bicycles, 2 cars, 1 dog, 27.5ms + Speed: 3.2ms preprocess, 27.5ms inference, 1.2ms postprocess per image at shape (1, 3, 640, 640) -.. image:: 230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_22_0.png +.. image:: yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_16_1.png @@ -578,11 +348,14 @@ evaluation function. from zipfile import ZipFile + from ultralytics.data.utils import DATASETS_DIR + + DATA_URL = "http://images.cocodataset.org/zips/val2017.zip" LABELS_URL = "https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017labels-segments.zip" - CFG_URL = "https://raw.githubusercontent.com/ultralytics/ultralytics/8ebe94d1e928687feaa1fee6d5668987df5e43be/ultralytics/datasets/coco.yaml" + CFG_URL = "https://raw.githubusercontent.com/ultralytics/ultralytics/v8.1.0/ultralytics/cfg/datasets/coco.yaml" - OUT_DIR = Path('./datasets') + OUT_DIR = DATASETS_DIR DATA_PATH = OUT_DIR / "val2017.zip" LABELS_PATH = OUT_DIR / "coco2017labels-segments.zip" @@ -593,23 +366,10 @@ evaluation function. download_file(CFG_URL, CFG_PATH.name, CFG_PATH.parent) if not (OUT_DIR / "coco/labels").exists(): - with ZipFile(LABELS_PATH , "r") as zip_ref: + with ZipFile(LABELS_PATH, "r") as zip_ref: zip_ref.extractall(OUT_DIR) - with ZipFile(DATA_PATH , "r") as zip_ref: - zip_ref.extractall(OUT_DIR / 'coco/images') - - -.. parsed-literal:: - - 'datasets/val2017.zip' already exists. - 'datasets/coco2017labels-segments.zip' already exists. - - - -.. parsed-literal:: - - datasets/coco.yaml: 0%| | 0.00/1.25k [00:00 + + + + +.. raw:: html + +
+    
+ + + + +.. parsed-literal:: + + Output() + + +.. parsed-literal:: + + /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/venv/lib/python3.10/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + return Tensor(self.data * unwrap_tensor_data(other)) + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ .. code:: ipython3 - from openvino.runtime import serialize - int8_model_det_path = models_dir / f'{DET_MODEL_NAME}_openvino_int8_model/{DET_MODEL_NAME}.xml' + %%skip not $to_quantize.value + print(f"Quantized detection model will be saved to {int8_model_det_path}") - serialize(quantized_det_model, str(int8_model_det_path)) + ov.save_model(quantized_det_model, str(int8_model_det_path)) .. parsed-literal:: @@ -912,36 +866,41 @@ on the image. .. code:: ipython3 + %%skip not $to_quantize.value + device +.. code:: ipython3 + %%skip not $to_quantize.value + + ov_config = {} + if device.value != "CPU": + quantized_det_model.reshape({0: [1, 3, 640, 640]}) + if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): + ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} + quantized_det_compiled_model = core.compile_model(quantized_det_model, device.value, ov_config) + + + def infer(*args): + result = quantized_det_compiled_model(args) + return torch.from_numpy(result[0]) + + det_model.predictor.inference = infer + + res = det_model(IMAGE_PATH) + display(Image.fromarray(res[0].plot()[:, :, ::-1])) .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') - - - -.. code:: ipython3 - - if device.value != "CPU": - quantized_det_model.reshape({0: [1, 3, 640, 640]}) - ov_config = {} - if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): - ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} - quantized_det_compiled_model = core.compile_model(quantized_det_model, device.value, ov_config) - input_image = np.array(Image.open(IMAGE_PATH)) - detections = detect(input_image, quantized_det_compiled_model)[0] - image_with_boxes = draw_results(detections, input_image, label_map) - Image.fromarray(image_with_boxes) + image 1/1 /home/maleksandr/test_notebooks/update_ultralytics/openvino_notebooks/notebooks/yolov8-optimization/data/coco_bike.jpg: 640x640 2 bicycles, 2 cars, 1 dog, 18.4ms + Speed: 2.1ms preprocess, 18.4ms inference, 0.9ms postprocess per image at shape (1, 3, 640, 640) - -.. image:: 230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_45_0.png - +.. image:: yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_43_1.png Compare the Original and Quantized Models @@ -970,21 +929,15 @@ models. .. code:: ipython3 + %%skip not $to_quantize.value + device - - - -.. parsed-literal:: - - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') - - - .. code:: ipython3 - # Inference FP32 model (OpenVINO IR) - !benchmark_app -m $det_model_path -d $device.value -api async -shape "[1,3,640,640]" + if int8_model_det_path.exists(): + # Inference FP32 model (OpenVINO IR) + !benchmark_app -m $det_model_path -d $device.value -api async -shape "[1,3,640,640]" .. parsed-literal:: @@ -994,37 +947,37 @@ models. [Step 2/11] Loading OpenVINO Runtime [ WARNING ] Default duration 120 seconds is used for unknown device AUTO [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 16.72 ms + [ INFO ] Read model took 14.59 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [?,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [?,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [?,84,?] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_7) : f32 / [...] / [?,84,16..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 11.83 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 8.72 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,84,8400] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_7) : f32 / [...] / [1,84,8400] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 424.62 ms + [ INFO ] Compile model took 272.15 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 @@ -1033,43 +986,47 @@ models. [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 [ INFO ] ENABLE_CPU_PINNING: True [ INFO ] ENABLE_HYPER_THREADING: True [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE [ INFO ] INFERENCE_NUM_THREADS: 36 [ INFO ] INFERENCE_PRECISION_HINT: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 [ INFO ] NUM_STREAMS: 12 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 - [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] PERFORMANCE_HINT: THROUGHPUT [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 - [ INFO ] PERF_COUNT: False + [ INFO ] PERF_COUNT: NO [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 120000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 34.66 ms + [ INFO ] First inference took 41.00 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 15024 iterations - [ INFO ] Duration: 120272.02 ms + [ INFO ] Count: 21300 iterations + [ INFO ] Duration: 120060.45 ms [ INFO ] Latency: - [ INFO ] Median: 77.25 ms - [ INFO ] Average: 95.83 ms - [ INFO ] Min: 60.23 ms - [ INFO ] Max: 270.56 ms - [ INFO ] Throughput: 124.92 FPS + [ INFO ] Median: 67.21 ms + [ INFO ] Average: 67.48 ms + [ INFO ] Min: 31.90 ms + [ INFO ] Max: 143.04 ms + [ INFO ] Throughput: 177.41 FPS .. code:: ipython3 - # Inference INT8 model (OpenVINO IR) - !benchmark_app -m $int8_model_det_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 + if int8_model_det_path.exists(): + # Inference INT8 model (OpenVINO IR) + !benchmark_app -m $int8_model_det_path -d $device.value -api async -shape "[1,3,640,640]" -t 15 .. parsed-literal:: @@ -1078,76 +1035,79 @@ models. [ INFO ] Parsing input parameters [Step 2/11] Loading OpenVINO Runtime [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2023.2.0-12690-0ee0b4d9561 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 73.93 ms + [ INFO ] Read model took 21.34 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [1,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [1,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,84,21..] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_7) : f32 / [...] / [1,84,21..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 56.37 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 11.86 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,84,8400] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_7) : f32 / [...] / [1,84,8400] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 1742.92 ms + [ INFO ] Compile model took 478.52 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT - [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 18 + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 [ INFO ] MULTI_DEVICE_PRIORITIES: CPU [ INFO ] CPU: [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False [ INFO ] CPU_SPARSE_WEIGHTS_DECOMPRESSION_RATE: 1.0 + [ INFO ] DYNAMIC_QUANTIZATION_GROUP_SIZE: 0 [ INFO ] ENABLE_CPU_PINNING: True [ INFO ] ENABLE_HYPER_THREADING: True [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] EXECUTION_MODE_HINT: ExecutionMode.PERFORMANCE [ INFO ] INFERENCE_NUM_THREADS: 36 [ INFO ] INFERENCE_PRECISION_HINT: - [ INFO ] NETWORK_NAME: torch_jit - [ INFO ] NUM_STREAMS: 18 - [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 18 - [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT + [ INFO ] KV_CACHE_PRECISION: + [ INFO ] LOG_LEVEL: Level.NO + [ INFO ] NETWORK_NAME: Model0 + [ INFO ] NUM_STREAMS: 12 + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 + [ INFO ] PERFORMANCE_HINT: THROUGHPUT [ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0 - [ INFO ] PERF_COUNT: False + [ INFO ] PERF_COUNT: NO [ INFO ] SCHEDULING_CORE_TYPE: SchedulingCoreType.ANY_CORE [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values - [Step 10/11] Measuring performance (Start inference asynchronously, 18 inference requests, limits: 15000 ms duration) + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values + [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 58.19 ms + [ INFO ] First inference took 35.17 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 3150 iterations - [ INFO ] Duration: 15116.07 ms + [ INFO ] Count: 4104 iterations + [ INFO ] Duration: 15062.51 ms [ INFO ] Latency: - [ INFO ] Median: 79.96 ms - [ INFO ] Average: 85.97 ms - [ INFO ] Min: 56.29 ms - [ INFO ] Max: 154.33 ms - [ INFO ] Throughput: 208.39 FPS + [ INFO ] Median: 43.53 ms + [ INFO ] Average: 43.85 ms + [ INFO ] Min: 24.58 ms + [ INFO ] Max: 70.57 ms + [ INFO ] Throughput: 272.46 FPS Validate quantized model accuracy @@ -1162,6 +1122,8 @@ accuracy on a dataset. .. code:: ipython3 + %%skip not $to_quantize.value + int8_det_stats = test(quantized_det_model, core, det_data_loader, det_validator, num_samples=NUM_TEST_SAMPLES) @@ -1173,6 +1135,8 @@ accuracy on a dataset. .. code:: ipython3 + %%skip not $to_quantize.value + print("FP32 model accuracy") print_stats(fp_det_stats, det_validator.seen, det_validator.nt_per_class.sum()) @@ -1184,12 +1148,14 @@ accuracy on a dataset. FP32 model accuracy Boxes: + Best mean average: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 300 2145 0.594 0.543 0.579 0.417 + all 300 2153 0.594 0.542 0.579 0.417 INT8 model accuracy Boxes: + Best mean average: Class Images Labels Precision Recall mAP@.5 mAP@.5:.95 - all 300 2145 0.623 0.517 0.572 0.406 + all 300 2153 0.597 0.509 0.562 0.389 Great! Looks like accuracy was changed, but not significantly and it @@ -1198,20 +1164,19 @@ meets passing criteria. Next steps ---------- -This section contains + This section contains suggestions on how to additionally improve the performance of your application using OpenVINO. Async inference pipeline ~~~~~~~~~~~~~~~~~~~~~~~~ -The key advantage of the Async + The key advantage of the Async API is that when a device is busy with inference, the application can perform other tasks in parallel (for example, populating inputs or scheduling other requests) rather than wait for the current inference to complete first. To understand how to perform async inference using -openvino, refer to `Async API -tutorial <115-async-api-with-output.html>`__ +openvino, refer to `Async API tutorial `__ Integration preprocessing to model ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1265,7 +1230,7 @@ provide this to the tensor description. .. code:: ipython3 - ppp.input(0).tensor().set_shape([1, 640, 640, 3]).set_element_type(ov.Type.u8).set_layout(ov.Layout('NHWC')) + ppp.input(0).tensor().set_shape([1, 640, 640, 3]).set_element_type(ov.Type.u8).set_layout(ov.Layout("NHWC")) pass To perform layout conversion, we also should provide information about @@ -1286,14 +1251,14 @@ preprocessing steps: .. code:: ipython3 - ppp.input(0).preprocess().convert_element_type(ov.Type.f32).convert_layout(ov.Layout('NCHW')).scale([255., 255., 255.]) + ppp.input(0).preprocess().convert_element_type(ov.Type.f32).convert_layout(ov.Layout("NCHW")).scale([255.0, 255.0, 255.0]) print(ppp) .. parsed-literal:: - Input "images": + Input "x": User's input tensor: [1,640,640,3], [N,H,W,C], u8 Model's expected tensor: [1,3,?,?], [N,C,H,W], f32 Pre-processing steps (3): @@ -1315,14 +1280,206 @@ IR, using ``openvino.runtime.serialize``. .. code:: ipython3 quantized_model_with_preprocess = ppp.build() - serialize(quantized_model_with_preprocess, str(int8_model_det_path.with_name(f"{DET_MODEL_NAME}_with_preprocess.xml"))) + ov.save_model( + quantized_model_with_preprocess, + str(int8_model_det_path.with_name(f"{DET_MODEL_NAME}_with_preprocess.xml")), + ) The model with integrated preprocessing is ready for loading to a -device. Now, we can skip these preprocessing steps in detect function: +device. .. code:: ipython3 - def detect_without_preprocess(image:np.ndarray, model:ov.Model): + from typing import Tuple, Dict + import cv2 + import numpy as np + from ultralytics.utils.plotting import colors + + + def plot_one_box( + box: np.ndarray, + img: np.ndarray, + color: Tuple[int, int, int] = None, + label: str = None, + line_thickness: int = 5, + ): + """ + Helper function for drawing single bounding box on image + Parameters: + x (np.ndarray): bounding box coordinates in format [x1, y1, x2, y2] + img (no.ndarray): input image + color (Tuple[int, int, int], *optional*, None): color in BGR format for drawing box, if not specified will be selected randomly + label (str, *optonal*, None): box label string, if not provided will not be provided as drowing result + line_thickness (int, *optional*, 5): thickness for box drawing lines + """ + # Plots one bounding box on image img + tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1 # line/font thickness + color = color or [random.randint(0, 255) for _ in range(3)] + c1, c2 = (int(box[0]), int(box[1])), (int(box[2]), int(box[3])) + cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA) + if label: + tf = max(tl - 1, 1) # font thickness + t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0] + c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3 + cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA) # filled + cv2.putText( + img, + label, + (c1[0], c1[1] - 2), + 0, + tl / 3, + [225, 255, 255], + thickness=tf, + lineType=cv2.LINE_AA, + ) + + return img + + + def draw_results(results: Dict, source_image: np.ndarray, label_map: Dict): + """ + Helper function for drawing bounding boxes on image + Parameters: + image_res (np.ndarray): detection predictions in format [x1, y1, x2, y2, score, label_id] + source_image (np.ndarray): input image for drawing + label_map; (Dict[int, str]): label_id to class name mapping + Returns: + Image with boxes + """ + boxes = results["det"] + for idx, (*xyxy, conf, lbl) in enumerate(boxes): + label = f"{label_map[int(lbl)]} {conf:.2f}" + source_image = plot_one_box(xyxy, source_image, label=label, color=colors(int(lbl)), line_thickness=1) + return source_image + +Postprocessing +'''''''''''''' + + + +The model output contains detection boxes candidates, it is a tensor +with the [-1,84,-1] shape in the B,84,N format, where: + +B - batch size N - number of detection boxes For getting the final +prediction, we need to apply a non-maximum suppression algorithm and +rescale box coordinates to the original image size. + +Finally, detection box has the [x, y, h, w, class_no_1, …, class_no_80] +format, where: + +(x, y) - raw coordinates of box center h, w - raw height and width of +the box class_no_1, …, class_no_80 - probability distribution over the +classes. + +.. code:: ipython3 + + from typing import Tuple + from ultralytics.utils import ops + import torch + import numpy as np + + + def letterbox( + img: np.ndarray, + new_shape: Tuple[int, int] = (640, 640), + color: Tuple[int, int, int] = (114, 114, 114), + auto: bool = False, + scale_fill: bool = False, + scaleup: bool = False, + stride: int = 32, + ): + """ + Resize image and padding for detection. Takes image as input, + resizes image to fit into new shape with saving original aspect ratio and pads it to meet stride-multiple constraints + + Parameters: + img (np.ndarray): image for preprocessing + new_shape (Tuple(int, int)): image size after preprocessing in format [height, width] + color (Tuple(int, int, int)): color for filling padded area + auto (bool): use dynamic input size, only padding for stride constrins applied + scale_fill (bool): scale image to fill new_shape + scaleup (bool): allow scale image if it is lower then desired input size, can affect model accuracy + stride (int): input padding stride + Returns: + img (np.ndarray): image after preprocessing + ratio (Tuple(float, float)): hight and width scaling ratio + padding_size (Tuple(int, int)): height and width padding size + + + """ + # Resize and pad image while meeting stride-multiple constraints + shape = img.shape[:2] # current shape [height, width] + if isinstance(new_shape, int): + new_shape = (new_shape, new_shape) + + # Scale ratio (new / old) + r = min(new_shape[0] / shape[0], new_shape[1] / shape[1]) + if not scaleup: # only scale down, do not scale up (for better test mAP) + r = min(r, 1.0) + + # Compute padding + ratio = r, r # width, height ratios + new_unpad = int(round(shape[1] * r)), int(round(shape[0] * r)) + dw, dh = new_shape[1] - new_unpad[0], new_shape[0] - new_unpad[1] # wh padding + if auto: # minimum rectangle + dw, dh = np.mod(dw, stride), np.mod(dh, stride) # wh padding + elif scale_fill: # stretch + dw, dh = 0.0, 0.0 + new_unpad = (new_shape[1], new_shape[0]) + ratio = new_shape[1] / shape[1], new_shape[0] / shape[0] # width, height ratios + + dw /= 2 # divide padding into 2 sides + dh /= 2 + + if shape[::-1] != new_unpad: # resize + img = cv2.resize(img, new_unpad, interpolation=cv2.INTER_LINEAR) + top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1)) + left, right = int(round(dw - 0.1)), int(round(dw + 0.1)) + img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color) # add border + return img, ratio, (dw, dh) + + + def postprocess( + pred_boxes: np.ndarray, + input_hw: Tuple[int, int], + orig_img: np.ndarray, + min_conf_threshold: float = 0.25, + nms_iou_threshold: float = 0.7, + agnosting_nms: bool = False, + max_detections: int = 300, + ): + """ + YOLOv8 model postprocessing function. Applied non maximum supression algorithm to detections and rescale boxes to original image size + Parameters: + pred_boxes (np.ndarray): model output prediction boxes + input_hw (np.ndarray): preprocessed image + orig_image (np.ndarray): image before preprocessing + min_conf_threshold (float, *optional*, 0.25): minimal accepted confidence for object filtering + nms_iou_threshold (float, *optional*, 0.45): minimal overlap score for removing objects duplicates in NMS + agnostic_nms (bool, *optiona*, False): apply class agnostinc NMS approach or not + max_detections (int, *optional*, 300): maximum detections after NMS + Returns: + pred (List[Dict[str, np.ndarray]]): list of dictionary with det - detected boxes in format [x1, y1, x2, y2, score, label] + """ + nms_kwargs = {"agnostic": agnosting_nms, "max_det": max_detections} + preds = ops.non_max_suppression(torch.from_numpy(pred_boxes), min_conf_threshold, nms_iou_threshold, nc=80, **nms_kwargs) + + results = [] + for i, pred in enumerate(preds): + shape = orig_img[i].shape if isinstance(orig_img, list) else orig_img.shape + if not len(pred): + results.append({"det": [], "segment": []}) + continue + pred[:, :4] = ops.scale_boxes(input_hw, pred[:, :4], shape).round() + results.append({"det": pred}) + + return results + +Now, we can skip these preprocessing steps in detect function: + +.. code:: ipython3 + + def detect_without_preprocess(image: np.ndarray, model: ov.Model): """ OpenVINO YOLOv8 model with integrated preprocessing inference function. Preprocess image, runs model inference and postprocess results using NMS. Parameters: @@ -1350,7 +1507,7 @@ device. Now, we can skip these preprocessing steps in detect function: -.. image:: 230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_68_0.png +.. image:: yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_70_0.png @@ -1369,26 +1526,36 @@ The following code runs model inference on a video: # Main processing function to run object detection. - def run_object_detection(source=0, flip=False, use_popup=False, skip_first_frames=0, model=det_model, device=device.value): + def run_object_detection( + source=0, + flip=False, + use_popup=False, + skip_first_frames=0, + model=det_model, + device=device.value, + ): player = None + ov_config = {} if device != "CPU": model.reshape({0: [1, 3, 640, 640]}) - ov_config = {} if "GPU" in device or ("AUTO" in device and "GPU" in core.available_devices): ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} compiled_model = core.compile_model(model, device, ov_config) + + def infer(*args): + result = compiled_model(args) + return torch.from_numpy(result[0]) + + det_model.predictor.inference = infer + try: # Create a video player to play with target fps. - player = VideoPlayer( - source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames - ) + player = VideoPlayer(source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames) # Start capturing. player.start() if use_popup: title = "Press ESC to Exit" - cv2.namedWindow( - winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE - ) + cv2.namedWindow(winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE) processing_times = collections.deque() while True: @@ -1409,15 +1576,12 @@ The following code runs model inference on a video: ) # Get the results. input_image = np.array(frame) - + start_time = time.time() - # model expects RGB image, while video capturing in BGR - detections = detect(input_image[:, :, ::-1], compiled_model)[0] + detections = det_model(input_image) stop_time = time.time() - - image_with_boxes = draw_results(detections, input_image, label_map) - frame = image_with_boxes - + frame = detections[0].plot() + processing_times.append(stop_time - start_time) # Use processing times from last 200 frames. if len(processing_times) > 200: @@ -1446,9 +1610,7 @@ The following code runs model inference on a video: break else: # Encode numpy array to jpg. - _, encoded_img = cv2.imencode( - ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100] - ) + _, encoded_img = cv2.imencode(ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image. i = display.Image(data=encoded_img) # Display the image in this notebook. @@ -1495,7 +1657,7 @@ Run the object detection: if WEBCAM_INFERENCE: VIDEO_SOURCE = 0 # Webcam else: - VIDEO_SOURCE = 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4' + VIDEO_SOURCE = "https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/video/people.mp4" .. code:: ipython3 @@ -1506,17 +1668,23 @@ Run the object detection: .. parsed-literal:: - Dropdown(description='Device:', index=2, options=('CPU', 'GPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') .. code:: ipython3 - run_object_detection(source=VIDEO_SOURCE, flip=True, use_popup=False, model=det_ov_model, device=device.value) + run_object_detection( + source=VIDEO_SOURCE, + flip=True, + use_popup=False, + model=det_ov_model, + device=device.value, + ) -.. image:: 230-yolov8-object-detection-with-output_files/230-yolov8-object-detection-with-output_74_0.png +.. image:: yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_76_0.png .. parsed-literal:: diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_16_1.jpg b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_16_1.jpg new file mode 100644 index 00000000000..2b4b65964f1 --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_16_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d6901acdfbfd273c0a7970318f59ba9514dbee953dd870d71a5de412e0cc246 +size 111417 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_16_1.png b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_16_1.png new file mode 100644 index 00000000000..d42aab88446 --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_16_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40fa74aecca1fa02a15db2a8fc43c257f172db88e21b6bba1f67819a167f7449 +size 908462 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_43_1.jpg b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_43_1.jpg new file mode 100644 index 00000000000..228f5a92b15 --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_43_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b33d9b28c30cc0bb4c93410a0767b4e4d8cc4575ae8cfa2d26a64b94b73d939 +size 111335 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_43_1.png b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_43_1.png new file mode 100644 index 00000000000..5b521528600 --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_43_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9211888d2a74fcb67271b1c560fb4e2efedcefd37ac44481b05c75734908f8e +size 908423 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_70_0.jpg b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_70_0.jpg new file mode 100644 index 00000000000..35b6ae18fe9 --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_70_0.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:914205f2366830f620cc88c5c2a1e88b15e69f0afe385c481154e3e153480e0d +size 109877 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_70_0.png b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_70_0.png new file mode 100644 index 00000000000..f14dab1a70f --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_70_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9483b93e0c62b097c25dcc88646c392fe1445f91d7e11581ccbd430ca1ae95d +size 929860 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_76_0.png b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_76_0.png new file mode 100644 index 00000000000..8ff867ed34e --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_76_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14eee81cc9c0befa33164309f8520d262db19d12e88a991d26f4cc07fb2e03ed +size 534156 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_9_3.jpg b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_9_3.jpg new file mode 100644 index 00000000000..83bcf44d9d7 --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_9_3.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81fe23909563b71b50f1ae60c9ae80a4c2cd01a4ba5b9e706a65bd03c0275fe1 +size 111189 diff --git a/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_9_3.png b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_9_3.png new file mode 100644 index 00000000000..d4e0d69e39c --- /dev/null +++ b/docs/notebooks/yolov8-object-detection-with-output_files/yolov8-object-detection-with-output_9_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:930dcd05aa18f0ee65ce5b6db12e1732901a052d6f71aa5955ebdf322a854e3c +size 908490 diff --git a/docs/notebooks/122-yolov8-quantization-with-accuracy-control-with-output.rst b/docs/notebooks/yolov8-quantization-with-accuracy-control-with-output.rst similarity index 67% rename from docs/notebooks/122-yolov8-quantization-with-accuracy-control-with-output.rst rename to docs/notebooks/yolov8-quantization-with-accuracy-control-with-output.rst index b7a5f01792d..0606f49713e 100644 --- a/docs/notebooks/122-yolov8-quantization-with-accuracy-control-with-output.rst +++ b/docs/notebooks/yolov8-quantization-with-accuracy-control-with-output.rst @@ -65,17 +65,9 @@ Install necessary packages. .. code:: ipython3 - %pip install -q "openvino>=2023.1.0" - %pip install -q "nncf>=2.6.0" - %pip install -q "ultralytics==8.0.43" --extra-index-url https://download.pytorch.org/whl/cpu - - -.. parsed-literal:: - - Note: you may need to restart the kernel to use updated packages. - Note: you may need to restart the kernel to use updated packages. - Note: you may need to restart the kernel to use updated packages. - + %pip install -q "openvino>=2024.0.0" + %pip install -q "nncf>=2.9.0" + %pip install -q "ultralytics==8.1.42" tqdm --extra-index-url https://download.pytorch.org/whl/cpu Get Pytorch model and OpenVINO IR model --------------------------------------- @@ -105,14 +97,14 @@ we do not need to do these steps manually. from pathlib import Path from ultralytics import YOLO - from ultralytics.yolo.cfg import get_cfg - from ultralytics.yolo.data.utils import check_det_dataset - from ultralytics.yolo.engine.validator import BaseValidator as Validator - from ultralytics.yolo.utils import DEFAULT_CFG - from ultralytics.yolo.utils import ops - from ultralytics.yolo.utils.metrics import ConfusionMatrix + from ultralytics.cfg import get_cfg + from ultralytics.data.utils import check_det_dataset + from ultralytics.engine.validator import BaseValidator as Validator + from ultralytics.utils import DEFAULT_CFG + from ultralytics.utils import ops + from ultralytics.utils.metrics import ConfusionMatrix - ROOT = os.path.abspath('') + ROOT = os.path.abspath("") MODEL_NAME = "yolov8n-seg" @@ -123,22 +115,26 @@ we do not need to do these steps manually. .. code:: ipython3 # Fetch the notebook utils script from the openvino_notebooks repo - import urllib.request - urllib.request.urlretrieve( - url='https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/main/notebooks/utils/notebook_utils.py', - filename='notebook_utils.py' + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", ) + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file .. code:: ipython3 from zipfile import ZipFile + from ultralytics.data.utils import DATASETS_DIR + DATA_URL = "https://www.ultralytics.com/assets/coco128-seg.zip" CFG_URL = "https://raw.githubusercontent.com/ultralytics/ultralytics/8ebe94d1e928687feaa1fee6d5668987df5e43be/ultralytics/datasets/coco128-seg.yaml" # last compatible format with ultralytics 8.0.43 - OUT_DIR = Path('./datasets') + OUT_DIR = DATASETS_DIR DATA_PATH = OUT_DIR / "coco128-seg.zip" CFG_PATH = OUT_DIR / "coco128-seg.yaml" @@ -147,19 +143,19 @@ we do not need to do these steps manually. download_file(CFG_URL, CFG_PATH.name, CFG_PATH.parent) if not (OUT_DIR / "coco128/labels").exists(): - with ZipFile(DATA_PATH , "r") as zip_ref: + with ZipFile(DATA_PATH, "r") as zip_ref: zip_ref.extractall(OUT_DIR) .. parsed-literal:: - 'datasets/coco128-seg.zip' already exists. + '/home/maleksandr/test_notebooks/ultrali/datasets/coco128-seg.zip' already exists. .. parsed-literal:: - datasets/coco128-seg.yaml: 0%| | 0.00/0.98k [00:00 float: validator.seen = 0 validator.jdict = [] - validator.stats = [] + validator.stats = dict(tp_m=[], tp=[], conf=[], pred_cls=[], target_cls=[]) validator.batch_i = 1 validator.confusion_matrix = ConfusionMatrix(nc=validator.nc) num_outputs = len(compiled_model.outputs) @@ -290,7 +283,7 @@ Prepare validation function stats_metrics = stats["metrics/mAP50-95(M)"] if log: print(f"Validate: dataset length = {counter}, metric value = {stats_metrics:.3f}") - + return stats_metrics @@ -327,21 +320,10 @@ value 25 to speed up the execution. max_drop=0.01, preset=nncf.QuantizationPreset.MIXED, subset_size=128, - advanced_accuracy_restorer_parameters=AdvancedAccuracyRestorerParameters( - ranking_subset_size=25 - ), + advanced_accuracy_restorer_parameters=AdvancedAccuracyRestorerParameters(ranking_subset_size=25), ) -.. parsed-literal:: - - 2024-02-28 13:33:46.187903: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-02-28 13:33:46.189894: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. - 2024-02-28 13:33:46.226943: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. - To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. - 2024-02-28 13:33:46.942396: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT - - .. parsed-literal:: @@ -363,6 +345,12 @@ value 25 to speed up the execution. +.. parsed-literal:: + + /home/maleksandr/test_notebooks/ultrali/openvino_notebooks/notebooks/quantizing-model-with-accuracy-control/venv/lib/python3.10/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + return Tensor(self.data * unwrap_tensor_data(other)) + + .. parsed-literal:: @@ -388,19 +376,19 @@ value 25 to speed up the execution. INFO:nncf:Validation of initial model was started INFO:nncf:Elapsed Time: 00:00:00 - INFO:nncf:Elapsed Time: 00:00:05 - INFO:nncf:Metric of initial model: 0.36611468358574506 + INFO:nncf:Elapsed Time: 00:00:03 + INFO:nncf:Metric of initial model: 0.3651327608484117 INFO:nncf:Collecting values for each data item using the initial model - INFO:nncf:Elapsed Time: 00:00:06 + INFO:nncf:Elapsed Time: 00:00:04 INFO:nncf:Validation of quantized model was started INFO:nncf:Elapsed Time: 00:00:00 - INFO:nncf:Elapsed Time: 00:00:05 - INFO:nncf:Metric of quantized model: 0.3406029678292 + INFO:nncf:Elapsed Time: 00:00:03 + INFO:nncf:Metric of quantized model: 0.34040251506886543 INFO:nncf:Collecting values for each data item using the quantized model - INFO:nncf:Elapsed Time: 00:00:06 - INFO:nncf:Accuracy drop: 0.02551171575654504 (absolute) - INFO:nncf:Accuracy drop: 0.02551171575654504 (absolute) - INFO:nncf:Total number of quantized operations in the model: 91 + INFO:nncf:Elapsed Time: 00:00:04 + INFO:nncf:Accuracy drop: 0.024730245779546245 (absolute) + INFO:nncf:Accuracy drop: 0.024730245779546245 (absolute) + INFO:nncf:Total number of quantized operations in the model: 92 INFO:nncf:Number of parallel workers to rank quantized operations: 1 INFO:nncf:ORIGINAL metric is used to rank quantizers @@ -428,23 +416,100 @@ value 25 to speed up the execution. .. parsed-literal:: - INFO:nncf:Elapsed Time: 00:02:25 + INFO:nncf:Elapsed Time: 00:01:38 INFO:nncf:Changing the scope of quantizer nodes was started + INFO:nncf:Reverted 1 operations to the floating-point precision: + __module.model.4.m.0.cv2.conv/aten::_convolution/Convolution + INFO:nncf:Accuracy drop with the new quantization scope is 0.023408466397916217 (absolute) + INFO:nncf:Reverted 1 operations to the floating-point precision: + __module.model.18.m.0.cv2.conv/aten::_convolution/Convolution + INFO:nncf:Accuracy drop with the new quantization scope is 0.024749654890442174 (absolute) + INFO:nncf:Re-calculating ranking scores for remaining groups + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + INFO:nncf:Elapsed Time: 00:01:36 + INFO:nncf:Reverted 1 operations to the floating-point precision: + __module.model.22.proto.cv3.conv/aten::_convolution/Convolution + INFO:nncf:Accuracy drop with the new quantization scope is 0.023229513575966754 (absolute) INFO:nncf:Reverted 2 operations to the floating-point precision: - /model.22/Add_11 - /model.22/Sub_1 - INFO:nncf:Accuracy drop with the new quantization scope is 0.013524778006655136 (absolute) + __module.model.22/aten::add/Add_6 + __module.model.22/aten::sub/Subtract + INFO:nncf:Accuracy drop with the new quantization scope is 0.02425608378963906 (absolute) + INFO:nncf:Re-calculating ranking scores for remaining groups + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. raw:: html
+
+    
+    
+ + + +.. parsed-literal:: + + INFO:nncf:Elapsed Time: 00:01:35 INFO:nncf:Reverted 1 operations to the floating-point precision: - /model.22/Mul_5 - INFO:nncf:Accuracy drop with the new quantization scope is 0.011937545450662279 (absolute) - INFO:nncf:Reverted 1 operations to the floating-point precision: - /model.2/cv1/conv/Conv/WithoutBiases - INFO:nncf:Algorithm completed: achieved required accuracy drop 0.00905169821338292 (absolute) - INFO:nncf:4 out of 91 were reverted back to the floating-point precision: - /model.22/Add_11 - /model.22/Sub_1 - /model.22/Mul_5 - /model.2/cv1/conv/Conv/WithoutBiases + __module.model.6.m.0.cv2.conv/aten::_convolution/Convolution + INFO:nncf:Accuracy drop with the new quantization scope is 0.023297881500256024 (absolute) + INFO:nncf:Reverted 2 operations to the floating-point precision: + __module.model.12.cv2.conv/aten::_convolution/Convolution + __module.model.12.m.0.cv1.conv/aten::_convolution/Convolution + INFO:nncf:Accuracy drop with the new quantization scope is 0.021779128052922092 (absolute) + INFO:nncf:Reverted 2 operations to the floating-point precision: + __module.model.7.conv/aten::_convolution/Convolution + __module.model.12.cv1.conv/aten::_convolution/Convolution + INFO:nncf:Accuracy drop with the new quantization scope is 0.01696486517685941 (absolute) + INFO:nncf:Reverted 2 operations to the floating-point precision: + __module.model.22/aten::add/Add_7 + __module.model.22/aten::sub/Subtract_1 + INFO:nncf:Algorithm completed: achieved required accuracy drop 0.005923437521415831 (absolute) + INFO:nncf:9 out of 92 were reverted back to the floating-point precision: + __module.model.4.m.0.cv2.conv/aten::_convolution/Convolution + __module.model.22.proto.cv3.conv/aten::_convolution/Convolution + __module.model.6.m.0.cv2.conv/aten::_convolution/Convolution + __module.model.12.cv2.conv/aten::_convolution/Convolution + __module.model.12.m.0.cv1.conv/aten::_convolution/Convolution + __module.model.7.conv/aten::_convolution/Convolution + __module.model.12.cv1.conv/aten::_convolution/Convolution + __module.model.22/aten::add/Add_7 + __module.model.22/aten::sub/Subtract_1 Compare Accuracy and Performance of the Original and Quantized Models @@ -464,8 +529,8 @@ is not exceeded. device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -476,7 +541,7 @@ is not exceeded. .. parsed-literal:: - Dropdown(description='Device:', index=1, options=('CPU', 'AUTO'), value='AUTO') + Dropdown(description='Device:', index=4, options=('CPU', 'GPU.0', 'GPU.1', 'GPU.2', 'AUTO'), value='AUTO') @@ -484,17 +549,19 @@ is not exceeded. core = ov.Core() ov_config = {} + if device.value != "CPU": + quantized_model.reshape({0: [1, 3, 640, 640]}) if "GPU" in device.value or ("AUTO" in device.value and "GPU" in core.available_devices): ov_config = {"GPU_DISABLE_WINOGRAD_CONVOLUTION": "YES"} - quantized_compiled_model = core.compile_model(model=quantized_model, device_name=device.value, ov_config) - compiled_ov_model = core.compile_model(model=ov_model, device_name=device.value, ov_config) + quantized_compiled_model = core.compile_model(quantized_model, device.value, ov_config) + compiled_ov_model = core.compile_model(ov_model, device.value, ov_config) pt_result = validation_ac(compiled_ov_model, data_loader, validator) quantized_result = validation_ac(quantized_compiled_model, data_loader, validator) - print(f'[Original OpenVINO]: {pt_result:.4f}') - print(f'[Quantized OpenVINO]: {quantized_result:.4f}') + print(f"[Original OpenVINO]: {pt_result:.4f}") + print(f"[Quantized OpenVINO]: {quantized_result:.4f}") .. parsed-literal:: @@ -510,12 +577,13 @@ And compare performance. .. code:: ipython3 from pathlib import Path + # Set model directory MODEL_DIR = Path("model") MODEL_DIR.mkdir(exist_ok=True) - ir_model_path = MODEL_DIR / 'ir_model.xml' - quantized_model_path = MODEL_DIR / 'quantized_model.xml' + ir_model_path = MODEL_DIR / "ir_model.xml" + quantized_model_path = MODEL_DIR / "quantized_model.xml" # Save models to use them in the commandline banchmark app ov.save_model(ov_model, ir_model_path, compress_to_fp16=False) @@ -534,39 +602,39 @@ And compare performance. [Step 2/11] Loading OpenVINO Runtime [ WARNING ] Default duration 120 seconds is used for unknown device AUTO [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2024.1.0-14589-0ef2fab3490 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2024.1.0-14589-0ef2fab3490 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 17.83 ms + [ INFO ] Read model took 13.54 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [?,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [?,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [?,116,?] - [ INFO ] output1 (node: output1) : f32 / [...] / [?,32,8..,8..] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [?,116,16..] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [?,32,8..,8..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 13.50 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 8.56 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,116,8400] - [ INFO ] output1 (node: output1) : f32 / [...] / [1,32,160,160] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [1,116,8400] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [1,32,160,160] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 320.32 ms + [ INFO ] Compile model took 437.16 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 @@ -584,7 +652,7 @@ And compare performance. [ INFO ] INFERENCE_PRECISION_HINT: [ INFO ] KV_CACHE_PRECISION: [ INFO ] LOG_LEVEL: Level.NO - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] NUM_STREAMS: 12 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 [ INFO ] PERFORMANCE_HINT: THROUGHPUT @@ -594,21 +662,21 @@ And compare performance. [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 120000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 44.16 ms + [ INFO ] First inference took 46.51 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 14820 iterations - [ INFO ] Duration: 120139.10 ms + [ INFO ] Count: 16872 iterations + [ INFO ] Duration: 120117.37 ms [ INFO ] Latency: - [ INFO ] Median: 95.27 ms - [ INFO ] Average: 97.10 ms - [ INFO ] Min: 72.93 ms - [ INFO ] Max: 164.81 ms - [ INFO ] Throughput: 123.36 FPS + [ INFO ] Median: 85.10 ms + [ INFO ] Average: 85.27 ms + [ INFO ] Min: 53.55 ms + [ INFO ] Max: 108.50 ms + [ INFO ] Throughput: 140.46 FPS .. code:: ipython3 @@ -624,39 +692,39 @@ And compare performance. [Step 2/11] Loading OpenVINO Runtime [ WARNING ] Default duration 120 seconds is used for unknown device AUTO [ INFO ] OpenVINO: - [ INFO ] Build ................................. 2024.1.0-14589-0ef2fab3490 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] Device info: [ INFO ] AUTO - [ INFO ] Build ................................. 2024.1.0-14589-0ef2fab3490 + [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 [ INFO ] [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 28.33 ms + [ INFO ] Read model took 20.52 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: - [ INFO ] images (node: images) : f32 / [...] / [?,3,?,?] + [ INFO ] x (node: x) : f32 / [...] / [?,3,?,?] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [?,116,?] - [ INFO ] output1 (node: output1) : f32 / [...] / [?,32,8..,8..] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [?,116,16..] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [?,32,8..,8..] [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 - [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 17.60 ms + [ INFO ] Reshaping model: 'x': [1,3,640,640] + [ INFO ] Reshape model took 11.74 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: - [ INFO ] images (node: images) : u8 / [N,C,H,W] / [1,3,640,640] + [ INFO ] x (node: x) : u8 / [N,C,H,W] / [1,3,640,640] [ INFO ] Model outputs: - [ INFO ] output0 (node: output0) : f32 / [...] / [1,116,8400] - [ INFO ] output1 (node: output1) : f32 / [...] / [1,32,160,160] + [ INFO ] ***NO_NAME*** (node: __module.model.22/aten::cat/Concat_8) : f32 / [...] / [1,116,8400] + [ INFO ] input.199 (node: __module.model.22.cv4.2.1.act/aten::silu_/Swish_37) : f32 / [...] / [1,32,160,160] [Step 7/11] Loading the model to the device - [ INFO ] Compile model took 605.73 ms + [ INFO ] Compile model took 711.53 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 @@ -674,7 +742,7 @@ And compare performance. [ INFO ] INFERENCE_PRECISION_HINT: [ INFO ] KV_CACHE_PRECISION: [ INFO ] LOG_LEVEL: Level.NO - [ INFO ] NETWORK_NAME: torch_jit + [ INFO ] NETWORK_NAME: Model0 [ INFO ] NUM_STREAMS: 12 [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 12 [ INFO ] PERFORMANCE_HINT: THROUGHPUT @@ -684,19 +752,19 @@ And compare performance. [ INFO ] MODEL_PRIORITY: Priority.MEDIUM [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors - [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values + [ WARNING ] No input files were given for input 'x'!. This input will be filled with random values! + [ INFO ] Fill input 'x' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 12 inference requests, limits: 120000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). - [ INFO ] First inference took 22.24 ms + [ INFO ] First inference took 35.64 ms [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] - [ INFO ] Count: 33624 iterations - [ INFO ] Duration: 120057.46 ms + [ INFO ] Count: 33564 iterations + [ INFO ] Duration: 120059.16 ms [ INFO ] Latency: - [ INFO ] Median: 41.97 ms - [ INFO ] Average: 42.70 ms - [ INFO ] Min: 31.11 ms - [ INFO ] Max: 86.51 ms - [ INFO ] Throughput: 280.07 FPS + [ INFO ] Median: 42.72 ms + [ INFO ] Average: 42.76 ms + [ INFO ] Min: 23.29 ms + [ INFO ] Max: 67.71 ms + [ INFO ] Throughput: 279.56 FPS diff --git a/docs/notebooks/287-yolov9-optimization-with-output.rst b/docs/notebooks/yolov9-optimization-with-output.rst similarity index 65% rename from docs/notebooks/287-yolov9-optimization-with-output.rst rename to docs/notebooks/yolov9-optimization-with-output.rst index bad963a330a..7d8cd68d6d7 100644 --- a/docs/notebooks/287-yolov9-optimization-with-output.rst +++ b/docs/notebooks/yolov9-optimization-with-output.rst @@ -45,14 +45,14 @@ The tutorial consists of the following steps: Prerequisites ------------- -## Prerequisites + ## Prerequisites .. code:: ipython3 import platform - - %pip install -q "openvino>=2023.3.0" "nncf>=2.8.1" "opencv-python" "seaborn" "pandas" "scikit-learn" "torch" "torchvision" --extra-index-url https://download.pytorch.org/whl/cpu - + + %pip install -q "openvino>=2023.3.0" "nncf>=2.8.1" "opencv-python" "seaborn" "pandas" "scikit-learn" "torch" "torchvision" "tqdm" --extra-index-url https://download.pytorch.org/whl/cpu + if platform.system() != "Windows": %pip install -q "matplotlib>=3.4" else: @@ -62,7 +62,7 @@ Prerequisites .. parsed-literal:: DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - + .. parsed-literal:: @@ -72,7 +72,7 @@ Prerequisites .. parsed-literal:: DEPRECATION: pytorch-lightning 1.6.5 has a non-standard dependency specifier torch>=1.8.*. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063 - + .. parsed-literal:: @@ -81,12 +81,19 @@ Prerequisites .. code:: ipython3 - import sys from pathlib import Path - sys.path.append("../utils") - from notebook_utils import download_file - - if not Path('yolov9').exists(): + + # Fetch `notebook_utils` module + import requests + + r = requests.get( + url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py", + ) + + open("notebook_utils.py", "w").write(r.text) + from notebook_utils import download_file, VideoPlayer + + if not Path("yolov9").exists(): !git clone https://github.com/WongKinYiu/yolov9 %cd yolov9 @@ -98,358 +105,256 @@ Prerequisites .. parsed-literal:: - remote: Enumerating objects: 572, done. - remote: Counting objects: 0% (1/192) -remote: Counting objects: 1% (2/192) -remote: Counting objects: 2% (4/192) -remote: Counting objects: 3% (6/192) -remote: Counting objects: 4% (8/192) -remote: Counting objects: 5% (10/192) -remote: Counting objects: 6% (12/192) -remote: Counting objects: 7% (14/192) -remote: Counting objects: 8% (16/192) -remote: Counting objects: 9% (18/192) -remote: Counting objects: 10% (20/192) -remote: Counting objects: 11% (22/192) -remote: Counting objects: 12% (24/192) -remote: Counting objects: 13% (25/192) -remote: Counting objects: 14% (27/192) -remote: Counting objects: 15% (29/192) -remote: Counting objects: 16% (31/192) -remote: Counting objects: 17% (33/192) -remote: Counting objects: 18% (35/192) -remote: Counting objects: 19% (37/192) -remote: Counting objects: 20% (39/192) -remote: Counting objects: 21% (41/192) -remote: Counting objects: 22% (43/192) -remote: Counting objects: 23% (45/192) -remote: Counting objects: 24% (47/192) -remote: Counting objects: 25% (48/192) -remote: Counting objects: 26% (50/192) -remote: Counting objects: 27% (52/192) -remote: Counting objects: 28% (54/192) -remote: Counting objects: 29% (56/192) -remote: Counting objects: 30% (58/192) -remote: Counting objects: 31% (60/192) -remote: Counting objects: 32% (62/192) -remote: Counting objects: 33% (64/192) -remote: Counting objects: 34% (66/192) -remote: Counting objects: 35% (68/192) -remote: Counting objects: 36% (70/192) -remote: Counting objects: 37% (72/192) -remote: Counting objects: 38% (73/192) -remote: Counting objects: 39% (75/192) -remote: Counting objects: 40% (77/192) -remote: Counting objects: 41% (79/192) -remote: Counting objects: 42% (81/192) -remote: Counting objects: 43% (83/192) -remote: Counting objects: 44% (85/192) -remote: Counting objects: 45% (87/192) -remote: Counting objects: 46% (89/192) -remote: Counting objects: 47% (91/192) -remote: Counting objects: 48% (93/192) -remote: Counting objects: 49% (95/192) -remote: Counting objects: 50% (96/192) -remote: Counting objects: 51% (98/192) -remote: Counting objects: 52% (100/192) -remote: Counting objects: 53% (102/192) -remote: Counting objects: 54% (104/192) -remote: Counting objects: 55% (106/192) -remote: Counting objects: 56% (108/192) -remote: Counting objects: 57% (110/192) -remote: Counting objects: 58% (112/192) -remote: Counting objects: 59% (114/192) -remote: Counting objects: 60% (116/192) -remote: Counting objects: 61% (118/192) -remote: Counting objects: 62% (120/192) -remote: Counting objects: 63% (121/192) -remote: Counting objects: 64% (123/192) -remote: Counting objects: 65% (125/192) -remote: Counting objects: 66% (127/192) -remote: Counting objects: 67% (129/192) -remote: Counting objects: 68% (131/192) -remote: Counting objects: 69% (133/192) -remote: Counting objects: 70% (135/192) -remote: Counting objects: 71% (137/192) -remote: Counting objects: 72% (139/192) -remote: Counting objects: 73% (141/192) -remote: Counting objects: 74% (143/192) -remote: Counting objects: 75% (144/192) -remote: Counting objects: 76% (146/192) -remote: Counting objects: 77% (148/192) -remote: Counting objects: 78% (150/192) -remote: Counting objects: 79% (152/192) -remote: Counting objects: 80% (154/192) -remote: Counting objects: 81% (156/192) -remote: Counting objects: 82% (158/192) -remote: Counting objects: 83% (160/192) -remote: Counting objects: 84% (162/192) -remote: Counting objects: 85% (164/192) -remote: Counting objects: 86% (166/192) -remote: Counting objects: 87% (168/192) -remote: Counting objects: 88% (169/192) -remote: Counting objects: 89% (171/192) -remote: Counting objects: 90% (173/192) -remote: Counting objects: 91% (175/192) -remote: Counting objects: 92% (177/192) -remote: Counting objects: 93% (179/192) -remote: Counting objects: 94% (181/192) -remote: Counting objects: 95% (183/192) -remote: Counting objects: 96% (185/192) -remote: Counting objects: 97% (187/192) -remote: Counting objects: 98% (189/192) -remote: Counting objects: 99% (191/192) -remote: Counting objects: 100% (192/192) -remote: Counting objects: 100% (192/192), done. - remote: Compressing objects: 1% (1/84) -remote: Compressing objects: 2% (2/84) -remote: Compressing objects: 3% (3/84) -remote: Compressing objects: 4% (4/84) -remote: Compressing objects: 5% (5/84) -remote: Compressing objects: 7% (6/84) -remote: Compressing objects: 8% (7/84) -remote: Compressing objects: 9% (8/84) -remote: Compressing objects: 10% (9/84) -remote: Compressing objects: 11% (10/84) -remote: Compressing objects: 13% (11/84) -remote: Compressing objects: 14% (12/84) -remote: Compressing objects: 15% (13/84) -remote: Compressing objects: 16% (14/84) -remote: Compressing objects: 17% (15/84) -remote: Compressing objects: 19% (16/84) -remote: Compressing objects: 20% (17/84) -remote: Compressing objects: 21% (18/84) -remote: Compressing objects: 22% (19/84) -remote: Compressing objects: 23% (20/84) -remote: Compressing objects: 25% (21/84) -remote: Compressing objects: 26% (22/84) -remote: Compressing objects: 27% (23/84) -remote: Compressing objects: 28% (24/84) -remote: Compressing objects: 29% (25/84) -remote: Compressing objects: 30% (26/84) -remote: Compressing objects: 32% (27/84) -remote: Compressing objects: 33% (28/84) -remote: Compressing objects: 34% (29/84) -remote: Compressing objects: 35% (30/84) -remote: Compressing objects: 36% (31/84) -remote: Compressing objects: 38% (32/84) -remote: Compressing objects: 39% (33/84) -remote: Compressing objects: 40% (34/84) -remote: Compressing objects: 41% (35/84) -remote: Compressing objects: 42% (36/84) -remote: Compressing objects: 44% (37/84) -remote: Compressing objects: 45% (38/84) -remote: Compressing objects: 46% (39/84) -remote: Compressing objects: 47% (40/84) -remote: Compressing objects: 48% (41/84) -remote: Compressing objects: 50% (42/84) -remote: Compressing objects: 51% (43/84) -remote: Compressing objects: 52% (44/84) -remote: Compressing objects: 53% (45/84) -remote: Compressing objects: 54% (46/84) -remote: Compressing objects: 55% (47/84) -remote: Compressing objects: 57% (48/84) -remote: Compressing objects: 58% (49/84) -remote: Compressing objects: 59% (50/84) -remote: Compressing objects: 60% (51/84) -remote: Compressing objects: 61% (52/84) -remote: Compressing objects: 63% (53/84) -remote: Compressing objects: 64% (54/84) -remote: Compressing objects: 65% (55/84) -remote: Compressing objects: 66% (56/84) -remote: Compressing objects: 67% (57/84) -remote: Compressing objects: 69% (58/84) -remote: Compressing objects: 70% (59/84) -remote: Compressing objects: 71% (60/84) -remote: Compressing objects: 72% (61/84) -remote: Compressing objects: 73% (62/84) -remote: Compressing objects: 75% (63/84) -remote: Compressing objects: 76% (64/84) -remote: Compressing objects: 77% (65/84) -remote: Compressing objects: 78% (66/84) -remote: Compressing objects: 79% (67/84) -remote: Compressing objects: 80% (68/84) -remote: Compressing objects: 82% (69/84) -remote: Compressing objects: 83% (70/84) -remote: Compressing objects: 84% (71/84) -remote: Compressing objects: 85% (72/84) -remote: Compressing objects: 86% (73/84) -remote: Compressing objects: 88% (74/84) -remote: Compressing objects: 89% (75/84) -remote: Compressing objects: 90% (76/84) -remote: Compressing objects: 91% (77/84) -remote: Compressing objects: 92% (78/84) -remote: Compressing objects: 94% (79/84) -remote: Compressing objects: 95% (80/84) -remote: Compressing objects: 96% (81/84) -remote: Compressing objects: 97% (82/84) -remote: Compressing objects: 98% (83/84) -remote: Compressing objects: 100% (84/84) -remote: Compressing objects: 100% (84/84), done. - Receiving objects: 0% (1/572) -Receiving objects: 1% (6/572) + remote: Enumerating objects: 665, done. + remote: Counting objects: 2% (1/44) +remote: Counting objects: 4% (2/44) +remote: Counting objects: 6% (3/44) +remote: Counting objects: 9% (4/44) +remote: Counting objects: 11% (5/44) +remote: Counting objects: 13% (6/44) +remote: Counting objects: 15% (7/44) +remote: Counting objects: 18% (8/44) +remote: Counting objects: 20% (9/44) +remote: Counting objects: 22% (10/44) +remote: Counting objects: 25% (11/44) +remote: Counting objects: 27% (12/44) +remote: Counting objects: 29% (13/44) +remote: Counting objects: 31% (14/44) +remote: Counting objects: 34% (15/44) +remote: Counting objects: 36% (16/44) +remote: Counting objects: 38% (17/44) +remote: Counting objects: 40% (18/44) +remote: Counting objects: 43% (19/44) +remote: Counting objects: 45% (20/44) +remote: Counting objects: 47% (21/44) +remote: Counting objects: 50% (22/44) +remote: Counting objects: 52% (23/44) +remote: Counting objects: 54% (24/44) +remote: Counting objects: 56% (25/44) +remote: Counting objects: 59% (26/44) +remote: Counting objects: 61% (27/44) +remote: Counting objects: 63% (28/44) +remote: Counting objects: 65% (29/44) +remote: Counting objects: 68% (30/44) +remote: Counting objects: 70% (31/44) +remote: Counting objects: 72% (32/44) +remote: Counting objects: 75% (33/44) +remote: Counting objects: 77% (34/44) +remote: Counting objects: 79% (35/44) +remote: Counting objects: 81% (36/44) +remote: Counting objects: 84% (37/44) +remote: Counting objects: 86% (38/44) +remote: Counting objects: 88% (39/44) +remote: Counting objects: 90% (40/44) +remote: Counting objects: 93% (41/44) +remote: Counting objects: 95% (42/44) +remote: Counting objects: 97% (43/44) +remote: Counting objects: 100% (44/44) +remote: Counting objects: 100% (44/44), done. + remote: Compressing objects: 2% (1/37) +remote: Compressing objects: 5% (2/37) +remote: Compressing objects: 8% (3/37) +remote: Compressing objects: 10% (4/37) +remote: Compressing objects: 13% (5/37) +remote: Compressing objects: 16% (6/37) +remote: Compressing objects: 18% (7/37) +remote: Compressing objects: 21% (8/37) +remote: Compressing objects: 24% (9/37) +remote: Compressing objects: 27% (10/37) +remote: Compressing objects: 29% (11/37) +remote: Compressing objects: 32% (12/37) +remote: Compressing objects: 35% (13/37) +remote: Compressing objects: 37% (14/37) +remote: Compressing objects: 40% (15/37) +remote: Compressing objects: 43% (16/37) +remote: Compressing objects: 45% (17/37) +remote: Compressing objects: 48% (18/37) +remote: Compressing objects: 51% (19/37) +remote: Compressing objects: 54% (20/37) +remote: Compressing objects: 56% (21/37) +remote: Compressing objects: 59% (22/37) +remote: Compressing objects: 62% (23/37) +remote: Compressing objects: 64% (24/37) +remote: Compressing objects: 67% (25/37) +remote: Compressing objects: 70% (26/37) +remote: Compressing objects: 72% (27/37) +remote: Compressing objects: 75% (28/37) +remote: Compressing objects: 78% (29/37) +remote: Compressing objects: 81% (30/37) +remote: Compressing objects: 83% (31/37) +remote: Compressing objects: 86% (32/37) +remote: Compressing objects: 89% (33/37) +remote: Compressing objects: 91% (34/37) +remote: Compressing objects: 94% (35/37) +remote: Compressing objects: 97% (36/37) +remote: Compressing objects: 100% (37/37) +remote: Compressing objects: 100% (37/37), done. + Receiving objects: 0% (1/665) +Receiving objects: 1% (7/665) .. parsed-literal:: - Receiving objects: 2% (12/572) -Receiving objects: 3% (18/572) -Receiving objects: 4% (23/572) -Receiving objects: 5% (29/572) -Receiving objects: 6% (35/572) -Receiving objects: 7% (41/572) -Receiving objects: 8% (46/572) + Receiving objects: 2% (14/665) +Receiving objects: 3% (20/665) +Receiving objects: 4% (27/665) +Receiving objects: 5% (34/665) +Receiving objects: 6% (40/665) +Receiving objects: 7% (47/665) +Receiving objects: 8% (54/665) +Receiving objects: 9% (60/665) +Receiving objects: 10% (67/665) +Receiving objects: 11% (74/665) +Receiving objects: 12% (80/665) +Receiving objects: 13% (87/665) +Receiving objects: 14% (94/665) +Receiving objects: 15% (100/665) .. parsed-literal:: - Receiving objects: 9% (52/572) -Receiving objects: 10% (58/572) -Receiving objects: 11% (63/572) -Receiving objects: 12% (69/572) + Receiving objects: 16% (107/665) +Receiving objects: 17% (114/665) +Receiving objects: 18% (120/665) +Receiving objects: 19% (127/665) +Receiving objects: 20% (133/665) +Receiving objects: 21% (140/665) +Receiving objects: 22% (147/665) +Receiving objects: 23% (153/665) +Receiving objects: 24% (160/665) +Receiving objects: 25% (167/665) +Receiving objects: 26% (173/665) +Receiving objects: 27% (180/665) +Receiving objects: 28% (187/665) +Receiving objects: 29% (193/665) .. parsed-literal:: - Receiving objects: 13% (75/572) -Receiving objects: 14% (81/572) -Receiving objects: 15% (86/572) -Receiving objects: 16% (92/572) -Receiving objects: 17% (98/572) -Receiving objects: 18% (103/572) -Receiving objects: 19% (109/572) -Receiving objects: 20% (115/572) -Receiving objects: 21% (121/572) -Receiving objects: 22% (126/572) -Receiving objects: 23% (132/572) -Receiving objects: 24% (138/572) -Receiving objects: 25% (143/572) -Receiving objects: 26% (149/572) -Receiving objects: 27% (155/572) -Receiving objects: 28% (161/572) -Receiving objects: 29% (166/572) -Receiving objects: 30% (172/572) -Receiving objects: 31% (178/572) -Receiving objects: 32% (184/572) -Receiving objects: 33% (189/572) -Receiving objects: 34% (195/572) + Receiving objects: 30% (200/665) +Receiving objects: 31% (207/665) +Receiving objects: 32% (213/665) +Receiving objects: 33% (220/665) +Receiving objects: 34% (227/665) +Receiving objects: 35% (233/665) +Receiving objects: 36% (240/665) +Receiving objects: 37% (247/665) +Receiving objects: 38% (253/665) +Receiving objects: 39% (260/665) +Receiving objects: 40% (266/665) +Receiving objects: 41% (273/665) +Receiving objects: 42% (280/665) +Receiving objects: 43% (286/665) +Receiving objects: 44% (293/665) +Receiving objects: 45% (300/665) +Receiving objects: 46% (306/665) +Receiving objects: 47% (313/665) +Receiving objects: 48% (320/665) +Receiving objects: 49% (326/665) +Receiving objects: 50% (333/665) +Receiving objects: 51% (340/665) +Receiving objects: 52% (346/665) +Receiving objects: 53% (353/665) +Receiving objects: 54% (360/665) +Receiving objects: 55% (366/665) +Receiving objects: 56% (373/665) +Receiving objects: 57% (380/665) +Receiving objects: 58% (386/665) +Receiving objects: 59% (393/665) +Receiving objects: 60% (399/665) +Receiving objects: 61% (406/665) +Receiving objects: 62% (413/665) +Receiving objects: 63% (419/665) +Receiving objects: 64% (426/665) +Receiving objects: 65% (433/665) +Receiving objects: 66% (439/665) +Receiving objects: 67% (446/665) +Receiving objects: 68% (453/665) +Receiving objects: 69% (459/665) +Receiving objects: 70% (466/665) +Receiving objects: 71% (473/665) +Receiving objects: 72% (479/665) +Receiving objects: 73% (486/665) +Receiving objects: 74% (493/665) +Receiving objects: 75% (499/665) +Receiving objects: 76% (506/665) +Receiving objects: 77% (513/665) +Receiving objects: 78% (519/665) +Receiving objects: 79% (526/665) +Receiving objects: 80% (532/665) +Receiving objects: 81% (539/665) +Receiving objects: 82% (546/665) +Receiving objects: 83% (552/665) +remote: Total 665 (delta 21), reused 18 (delta 7), pack-reused 621 + Receiving objects: 84% (559/665) +Receiving objects: 85% (566/665) +Receiving objects: 86% (572/665) +Receiving objects: 87% (579/665) +Receiving objects: 88% (586/665) +Receiving objects: 89% (592/665) +Receiving objects: 90% (599/665) +Receiving objects: 91% (606/665) +Receiving objects: 92% (612/665) +Receiving objects: 93% (619/665) +Receiving objects: 94% (626/665) +Receiving objects: 95% (632/665) +Receiving objects: 96% (639/665) +Receiving objects: 97% (646/665) +Receiving objects: 98% (652/665) +Receiving objects: 99% (659/665) +Receiving objects: 100% (665/665) +Receiving objects: 100% (665/665), 3.24 MiB | 14.69 MiB/s, done. + Resolving deltas: 0% (0/260) +Resolving deltas: 2% (6/260) +Resolving deltas: 3% (8/260) +Resolving deltas: 5% (15/260) +Resolving deltas: 6% (18/260) +Resolving deltas: 7% (20/260) +Resolving deltas: 10% (26/260) +Resolving deltas: 11% (29/260) +Resolving deltas: 12% (33/260) +Resolving deltas: 15% (41/260) +Resolving deltas: 18% (47/260) +Resolving deltas: 28% (74/260) +Resolving deltas: 30% (80/260) +Resolving deltas: 31% (82/260) +Resolving deltas: 32% (84/260) +Resolving deltas: 33% (86/260) +Resolving deltas: 34% (90/260) +Resolving deltas: 36% (95/260) +Resolving deltas: 37% (97/260) +Resolving deltas: 38% (99/260) +Resolving deltas: 39% (102/260) .. parsed-literal:: - Receiving objects: 35% (201/572) -Receiving objects: 36% (206/572) -Receiving objects: 37% (212/572) -Receiving objects: 38% (218/572) -Receiving objects: 39% (224/572) -Receiving objects: 40% (229/572) -Receiving objects: 41% (235/572) -Receiving objects: 42% (241/572) -Receiving objects: 43% (246/572) -Receiving objects: 44% (252/572) -Receiving objects: 45% (258/572) -Receiving objects: 46% (264/572) -Receiving objects: 47% (269/572) -Receiving objects: 48% (275/572) -Receiving objects: 49% (281/572) -Receiving objects: 50% (286/572) -Receiving objects: 51% (292/572) -Receiving objects: 52% (298/572) -Receiving objects: 53% (304/572) -Receiving objects: 54% (309/572) -Receiving objects: 55% (315/572) -Receiving objects: 56% (321/572) -Receiving objects: 57% (327/572) -Receiving objects: 58% (332/572) -Receiving objects: 59% (338/572) -Receiving objects: 60% (344/572) -Receiving objects: 61% (349/572) -Receiving objects: 62% (355/572) -Receiving objects: 63% (361/572) - -.. parsed-literal:: - - Receiving objects: 64% (367/572) -Receiving objects: 65% (372/572) -Receiving objects: 66% (378/572) -Receiving objects: 67% (384/572) -Receiving objects: 68% (389/572) -Receiving objects: 69% (395/572) -Receiving objects: 70% (401/572) -Receiving objects: 71% (407/572) -Receiving objects: 72% (412/572) -Receiving objects: 73% (418/572) -Receiving objects: 74% (424/572) -Receiving objects: 75% (429/572) -Receiving objects: 76% (435/572) -Receiving objects: 77% (441/572) -Receiving objects: 78% (447/572) -Receiving objects: 79% (452/572) -Receiving objects: 80% (458/572) -Receiving objects: 81% (464/572) -Receiving objects: 82% (470/572) -Receiving objects: 83% (475/572) -Receiving objects: 84% (481/572) -Receiving objects: 85% (487/572) -Receiving objects: 86% (492/572) -Receiving objects: 87% (498/572) -Receiving objects: 88% (504/572) -Receiving objects: 89% (510/572) -Receiving objects: 90% (515/572) -Receiving objects: 91% (521/572) -Receiving objects: 92% (527/572) -Receiving objects: 93% (532/572) -Receiving objects: 94% (538/572) -Receiving objects: 95% (544/572) -Receiving objects: 96% (550/572) -Receiving objects: 97% (555/572) -Receiving objects: 98% (561/572) -Receiving objects: 99% (567/572) -remote: Total 572 (delta 143), reused 118 (delta 107), pack-reused 380 - Receiving objects: 100% (572/572) -Receiving objects: 100% (572/572), 3.20 MiB | 13.83 MiB/s, done. - Resolving deltas: 0% (0/204) -Resolving deltas: 2% (6/204) -Resolving deltas: 3% (7/204) -Resolving deltas: 4% (9/204) -Resolving deltas: 6% (13/204) -Resolving deltas: 7% (15/204) -Resolving deltas: 8% (17/204) -Resolving deltas: 9% (20/204) -Resolving deltas: 10% (21/204) -Resolving deltas: 11% (23/204) -Resolving deltas: 12% (25/204) -Resolving deltas: 13% (27/204) -Resolving deltas: 14% (30/204) -Resolving deltas: 15% (31/204) -Resolving deltas: 18% (37/204) -Resolving deltas: 19% (40/204) -Resolving deltas: 20% (41/204) -Resolving deltas: 21% (43/204) -Resolving deltas: 22% (45/204) -Resolving deltas: 25% (53/204) -Resolving deltas: 27% (57/204) -Resolving deltas: 40% (83/204) -Resolving deltas: 43% (88/204) -Resolving deltas: 44% (91/204) -Resolving deltas: 46% (94/204) -Resolving deltas: 65% (134/204) -Resolving deltas: 66% (136/204) -Resolving deltas: 67% (137/204) -Resolving deltas: 68% (140/204) -Resolving deltas: 82% (169/204) -Resolving deltas: 83% (171/204) -Resolving deltas: 84% (173/204) -Resolving deltas: 86% (177/204) -Resolving deltas: 87% (178/204) -Resolving deltas: 89% (183/204) -Resolving deltas: 93% (190/204) -Resolving deltas: 97% (199/204) -Resolving deltas: 98% (200/204) -Resolving deltas: 99% (203/204) -Resolving deltas: 100% (204/204) -Resolving deltas: 100% (204/204), done. + Resolving deltas: 44% (116/260) +Resolving deltas: 52% (136/260) +Resolving deltas: 58% (151/260) +Resolving deltas: 59% (154/260) +Resolving deltas: 60% (157/260) +Resolving deltas: 61% (160/260) +Resolving deltas: 62% (163/260) +Resolving deltas: 63% (164/260) +Resolving deltas: 65% (171/260) +Resolving deltas: 70% (183/260) +Resolving deltas: 72% (189/260) +Resolving deltas: 73% (190/260) +Resolving deltas: 75% (197/260) +Resolving deltas: 76% (198/260) +Resolving deltas: 79% (207/260) +Resolving deltas: 80% (210/260) +Resolving deltas: 82% (215/260) +Resolving deltas: 85% (223/260) +Resolving deltas: 88% (229/260) +Resolving deltas: 95% (247/260) +Resolving deltas: 96% (250/260) +Resolving deltas: 98% (256/260) +Resolving deltas: 99% (259/260) +Resolving deltas: 100% (260/260) +Resolving deltas: 100% (260/260), done. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/287-yolov9-optimization/yolov9 + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/yolov9-optimization/yolov9 Get PyTorch model @@ -473,7 +378,7 @@ applicable for other models from YOLO V9 family. MODEL_DIR = Path("model/") MODEL_DIR.mkdir(exist_ok=True) DATA_DIR.mkdir(exist_ok=True) - + download_file(MODEL_LINK, directory=MODEL_DIR, show_progress=True) @@ -487,7 +392,7 @@ applicable for other models from YOLO V9 family. .. parsed-literal:: - PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/287-yolov9-optimization/yolov9/model/gelan-c.pt') + PosixPath('/opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/yolov9-optimization/yolov9/model/gelan-c.pt') @@ -510,27 +415,26 @@ using ``ov.save_model``. import openvino as ov from models.yolo import Detect, DualDDetect from utils.general import yaml_save, yaml_load - + weights = MODEL_DIR / "gelan-c.pt" ov_model_path = MODEL_DIR / weights.name.replace(".pt", "_openvino_model") / weights.name.replace(".pt", ".xml") - + if not ov_model_path.exists(): model = attempt_load(weights, device="cpu", inplace=True, fuse=True) - metadata = {'stride': int(max(model.stride)), 'names': model.names} - + metadata = {"stride": int(max(model.stride)), "names": model.names} + model.eval() for k, m in model.named_modules(): if isinstance(m, (Detect, DualDDetect)): m.inplace = False m.dynamic = True m.export = True - - + example_input = torch.zeros((1, 3, 640, 640)) model(example_input) - + ov_model = ov.convert_model(model, example_input=example_input) - + # specify input and output names for compatibility with yolov9 repo interface ov_model.outputs[0].get_tensor().set_names({"output0"}) ov_model.inputs[0].get_tensor().set_names({"images"}) @@ -543,7 +447,7 @@ using ``ov.save_model``. .. parsed-literal:: - Fusing layers... + Fusing layers... .. parsed-literal:: @@ -553,7 +457,7 @@ using ``ov.save_model``. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/notebooks/287-yolov9-optimization/yolov9/models/yolo.py:108: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/notebooks/yolov9-optimization/yolov9/models/yolo.py:108: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! elif self.dynamic or self.shape != shape: @@ -592,15 +496,16 @@ To keep specific shape, preprocessing automatically enables padding. import torch from PIL import Image from utils.augmentations import letterbox - + image_url = "https://github.com/openvinotoolkit/openvino_notebooks/assets/29454499/7b6af406-4ccb-4ded-a13d-62b7c0e42e96" download_file(image_url, directory=DATA_DIR, filename="test_image.jpg", show_progress=True) - + + def preprocess_image(img0: np.ndarray): """ Preprocess image according to YOLOv9 input requirements. Takes image in np.array format, resizes it to specific size using letterbox resize, converts color space from BGR (default in OpenCV) to RGB and changes data layout from HWC to CHW. - + Parameters: img0 (np.ndarray): image for preprocessing Returns: @@ -609,18 +514,18 @@ To keep specific shape, preprocessing automatically enables padding. """ # resize img = letterbox(img0, auto=False)[0] - + # Convert img = img.transpose(2, 0, 1) img = np.ascontiguousarray(img) return img, img0 - - + + def prepare_input_tensor(image: np.ndarray): """ Converts preprocessed image to tensor format according to YOLOv9 input requirements. Takes image in np.array format with unit8 data in [0, 255] range and converts it to torch.Tensor object with float data in [0, 1] range - + Parameters: image (np.ndarray): image for conversion to tensor Returns: @@ -628,11 +533,12 @@ To keep specific shape, preprocessing automatically enables padding. """ input_tensor = image.astype(np.float32) # uint8 to fp16/32 input_tensor /= 255.0 # 0 - 255 to 0.0 - 1.0 - + if input_tensor.ndim == 3: input_tensor = np.expand_dims(input_tensor, 0) return input_tensor - + + NAMES = metadata["names"] @@ -668,12 +574,19 @@ algorithm and rescale boxes coordinates to original image size. .. code:: ipython3 from utils.plots import Annotator, colors - + from typing import List, Tuple from utils.general import scale_boxes, non_max_suppression - - - def detect(model: ov.Model, image_path: Path, conf_thres: float = 0.25, iou_thres: float = 0.45, classes: List[int] = None, agnostic_nms: bool = False): + + + def detect( + model: ov.Model, + image_path: Path, + conf_thres: float = 0.25, + iou_thres: float = 0.45, + classes: List[int] = None, + agnostic_nms: bool = False, + ): """ OpenVINO YOLOv9 model inference function. Reads image, preprocess it, runs model inference and postprocess results using NMS. Parameters: @@ -697,9 +610,14 @@ algorithm and rescale boxes coordinates to original image size. predictions = torch.from_numpy(model(input_tensor)[0]) pred = non_max_suppression(predictions, conf_thres, iou_thres, classes=classes, agnostic=agnostic_nms) return pred, orig_img, input_tensor.shape - - - def draw_boxes(predictions: np.ndarray, input_shape: Tuple[int], image: np.ndarray, names: List[str]): + + + def draw_boxes( + predictions: np.ndarray, + input_shape: Tuple[int], + image: np.ndarray, + names: List[str], + ): """ Utility function for drawing predicted bounding boxes on image Parameters: @@ -712,14 +630,14 @@ algorithm and rescale boxes coordinates to original image size. """ if not len(predictions): return image - + annotator = Annotator(image, line_width=1, example=str(names)) # Rescale boxes from input size to original image size predictions[:, :4] = scale_boxes(input_shape[2:], predictions[:, :4], image.shape).round() - + # Write results for *xyxy, conf, cls in reversed(predictions): - label = f'{names[int(cls)]} {conf:.2f}' + label = f"{names[int(cls)]} {conf:.2f}" annotator.box_label(xyxy, label, color=colors(int(cls), True)) return image @@ -739,14 +657,14 @@ select device from dropdown list for running inference using OpenVINO .. code:: ipython3 import ipywidgets as widgets - + device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) - + device @@ -775,7 +693,7 @@ select device from dropdown list for running inference using OpenVINO -.. image:: 287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_16_0.png +.. image:: yolov9-optimization-with-output_files/yolov9-optimization-with-output_16_0.png @@ -806,24 +724,21 @@ quantization. .. code:: ipython3 from zipfile import ZipFile - - sys.path.append("../../utils") - from notebook_utils import download_file - - + + DATA_URL = "http://images.cocodataset.org/zips/val2017.zip" LABELS_URL = "https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017labels-segments.zip" - - OUT_DIR = Path('.') - + + OUT_DIR = Path(".") + download_file(DATA_URL, directory=OUT_DIR, show_progress=True) download_file(LABELS_URL, directory=OUT_DIR, show_progress=True) - + if not (OUT_DIR / "coco/labels").exists(): - with ZipFile('coco2017labels-segments.zip' , "r") as zip_ref: + with ZipFile("coco2017labels-segments.zip", "r") as zip_ref: zip_ref.extractall(OUT_DIR) - with ZipFile('val2017.zip' , "r") as zip_ref: - zip_ref.extractall(OUT_DIR / 'coco/images') + with ZipFile("val2017.zip", "r") as zip_ref: + zip_ref.extractall(OUT_DIR / "coco/images") @@ -844,55 +759,60 @@ quantization. import yaml from utils.dataloaders import create_dataloader from utils.general import colorstr - + # read dataset config - DATA_CONFIG = 'data/coco.yaml' + DATA_CONFIG = "data/coco.yaml" with open(DATA_CONFIG) as f: data = yaml.load(f, Loader=yaml.SafeLoader) - + # Dataloader - TASK = 'val' # path to train/val/test images - Option = namedtuple('Options', ['single_cls']) # imitation of commandline provided options for single class evaluation + TASK = "val" # path to train/val/test images + Option = namedtuple("Options", ["single_cls"]) # imitation of commandline provided options for single class evaluation opt = Option(False) dataloader = create_dataloader( - str(Path("coco") / data[TASK]), 640, 1, 32, opt, pad=0.5, - prefix=colorstr(f'{TASK}: ') + str(Path("coco") / data[TASK]), + 640, + 1, + 32, + opt, + pad=0.5, + prefix=colorstr(f"{TASK}: "), )[0] .. parsed-literal:: - - val: Scanning coco/val2017...: 0%| | 0/5000 00:00 + + val: Scanning coco/val2017...: 0%| | 0/5000 00:00 .. parsed-literal:: - - val: Scanning coco/val2017... 985 images, 8 backgrounds, 0 corrupt: 20%|█▉ | 993/5000 00:00 + + val: Scanning coco/val2017... 1093 images, 10 backgrounds, 0 corrupt: 22%|██▏ | 1103/5000 00:00 .. parsed-literal:: - - val: Scanning coco/val2017... 2174 images, 17 backgrounds, 0 corrupt: 44%|████▍ | 2191/5000 00:00 + + val: Scanning coco/val2017... 2351 images, 22 backgrounds, 0 corrupt: 47%|████▋ | 2373/5000 00:00 .. parsed-literal:: - - val: Scanning coco/val2017... 3257 images, 31 backgrounds, 0 corrupt: 66%|██████▌ | 3288/5000 00:00 + + val: Scanning coco/val2017... 3536 images, 34 backgrounds, 0 corrupt: 71%|███████▏ | 3570/5000 00:00 .. parsed-literal:: - - val: Scanning coco/val2017... 4334 images, 41 backgrounds, 0 corrupt: 88%|████████▊ | 4375/5000 00:00 + + val: Scanning coco/val2017... 4594 images, 44 backgrounds, 0 corrupt: 93%|█████████▎| 4638/5000 00:00 .. parsed-literal:: - - val: Scanning coco/val2017... 4952 images, 48 backgrounds, 0 corrupt: 100%|██████████| 5000/5000 00:00 - + + val: Scanning coco/val2017... 4952 images, 48 backgrounds, 0 corrupt: 100%|██████████| 5000/5000 00:00 + .. parsed-literal:: @@ -908,8 +828,8 @@ expected format. .. code:: ipython3 import nncf - - + + def transform_fn(data_item): """ Quantization transform function. Extracts and preprocess input data from dataloader item for quantization. @@ -921,8 +841,8 @@ expected format. img = data_item[0].numpy() input_tensor = prepare_input_tensor(img) return input_tensor - - + + quantization_dataset = nncf.Dataset(dataloader, transform_fn) @@ -948,25 +868,29 @@ asymmetric quantization of activations. .. code:: ipython3 - ov_int8_model_path = MODEL_DIR / weights.name.replace(".pt","_int8_openvino_model") / weights.name.replace(".pt", "_int8.xml") - + ov_int8_model_path = MODEL_DIR / weights.name.replace(".pt", "_int8_openvino_model") / weights.name.replace(".pt", "_int8.xml") + if not ov_int8_model_path.exists(): quantized_model = nncf.quantize(ov_model, quantization_dataset, preset=nncf.QuantizationPreset.MIXED) - + ov.save_model(quantized_model, ov_int8_model_path) yaml_save(ov_int8_model_path.parent / weights.name.replace(".pt", "_int8.yaml"), metadata) .. parsed-literal:: - 2024-03-13 00:53:25.630509: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. - 2024-03-13 00:53:25.674983: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. + 2024-04-18 01:42:45.719609: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. + + +.. parsed-literal:: + + 2024-04-18 01:42:45.755102: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. .. parsed-literal:: - 2024-03-13 00:53:26.269021: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT + 2024-04-18 01:42:46.331038: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT @@ -992,7 +916,7 @@ asymmetric quantization of activations. .. parsed-literal:: - /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-632/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply + /opt/home/k8sworker/ci-ai/cibuilds/ov-notebook/OVNotebookOps-661/.workspace/scm/ov-notebook/.venv/lib/python3.8/site-packages/nncf/experimental/tensor/tensor.py:84: RuntimeWarning: invalid value encountered in multiply return Tensor(self.data * unwrap_tensor_data(other)) @@ -1028,10 +952,10 @@ check the model work on the previously used image. .. code:: ipython3 quantized_model = core.read_model(ov_int8_model_path) - + if device.value != "CPU": quantized_model.reshape({0: [1, 3, 640, 640]}) - + compiled_model = core.compile_model(quantized_model, device.value) .. code:: ipython3 @@ -1044,7 +968,7 @@ check the model work on the previously used image. -.. image:: 287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_27_0.png +.. image:: yolov9-optimization-with-output_files/yolov9-optimization-with-output_27_0.png @@ -1077,17 +1001,17 @@ models. [Step 2/11] Loading OpenVINO Runtime [ INFO ] OpenVINO: [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 - [ INFO ] + [ INFO ] [ INFO ] Device info: [ INFO ] AUTO [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 - [ INFO ] - [ INFO ] + [ INFO ] + [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files [ INFO ] Loading model files - [ INFO ] Read model took 27.34 ms + [ INFO ] Read model took 28.00 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] images (node: x) : f32 / [...] / [?,3,?,?] @@ -1099,7 +1023,7 @@ models. [Step 5/11] Resizing model to match image sizes and given batch [ INFO ] Model batch size: 1 [ INFO ] Reshaping model: 'images': [1,3,640,640] - [ INFO ] Reshape model took 8.24 ms + [ INFO ] Reshape model took 8.52 ms [Step 6/11] Configuring input of the model [ INFO ] Model inputs: [ INFO ] images (node: x) : u8 / [N,C,H,W] / [1,3,640,640] @@ -1113,7 +1037,7 @@ models. .. parsed-literal:: - [ INFO ] Compile model took 590.72 ms + [ INFO ] Compile model took 570.57 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model0 @@ -1145,18 +1069,14 @@ models. [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values - - -.. parsed-literal:: - + [ INFO ] Fill input 'images' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 6 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). .. parsed-literal:: - [ INFO ] First inference took 190.30 ms + [ INFO ] First inference took 189.94 ms .. parsed-literal:: @@ -1164,13 +1084,13 @@ models. [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] [ INFO ] Count: 222 iterations - [ INFO ] Duration: 15451.04 ms + [ INFO ] Duration: 15362.34 ms [ INFO ] Latency: - [ INFO ] Median: 417.09 ms - [ INFO ] Average: 414.67 ms - [ INFO ] Min: 298.90 ms - [ INFO ] Max: 436.39 ms - [ INFO ] Throughput: 14.37 FPS + [ INFO ] Median: 413.17 ms + [ INFO ] Average: 412.86 ms + [ INFO ] Min: 202.77 ms + [ INFO ] Max: 695.36 ms + [ INFO ] Throughput: 14.45 FPS .. code:: ipython3 @@ -1185,12 +1105,12 @@ models. [Step 2/11] Loading OpenVINO Runtime [ INFO ] OpenVINO: [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 - [ INFO ] + [ INFO ] [ INFO ] Device info: [ INFO ] AUTO [ INFO ] Build ................................. 2024.0.0-14509-34caeefd078-releases/2024/0 - [ INFO ] - [ INFO ] + [ INFO ] + [ INFO ] [Step 3/11] Setting device configuration [ WARNING ] Performance hint was not explicitly specified in command line. Device(AUTO) performance hint will be set to PerformanceMode.THROUGHPUT. [Step 4/11] Reading model files @@ -1199,7 +1119,7 @@ models. .. parsed-literal:: - [ INFO ] Read model took 52.40 ms + [ INFO ] Read model took 51.88 ms [ INFO ] Original model I/O parameters: [ INFO ] Model inputs: [ INFO ] images (node: x) : f32 / [...] / [1,3,640,640] @@ -1225,18 +1145,18 @@ models. .. parsed-literal:: - [ INFO ] Compile model took 1163.81 ms + [ INFO ] Compile model took 1174.80 ms [Step 8/11] Querying optimal runtime parameters [ INFO ] Model: [ INFO ] NETWORK_NAME: Model0 [ INFO ] EXECUTION_DEVICES: ['CPU'] [ INFO ] PERFORMANCE_HINT: PerformanceMode.THROUGHPUT - [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 - [ INFO ] MULTI_DEVICE_PRIORITIES: CPU .. parsed-literal:: + [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 6 + [ INFO ] MULTI_DEVICE_PRIORITIES: CPU [ INFO ] CPU: [ INFO ] AFFINITY: Affinity.CORE [ INFO ] CPU_DENORMALS_OPTIMIZATION: False @@ -1261,14 +1181,14 @@ models. [ INFO ] LOADED_FROM_CACHE: False [Step 9/11] Creating infer requests and preparing input tensors [ WARNING ] No input files were given for input 'images'!. This input will be filled with random values! - [ INFO ] Fill input 'images' with random values + [ INFO ] Fill input 'images' with random values [Step 10/11] Measuring performance (Start inference asynchronously, 6 inference requests, limits: 15000 ms duration) [ INFO ] Benchmarking in inference only mode (inputs filling are not included in measurement loop). .. parsed-literal:: - [ INFO ] First inference took 75.25 ms + [ INFO ] First inference took 78.86 ms .. parsed-literal:: @@ -1276,13 +1196,13 @@ models. [Step 11/11] Dumping statistics report [ INFO ] Execution Devices:['CPU'] [ INFO ] Count: 750 iterations - [ INFO ] Duration: 15106.68 ms + [ INFO ] Duration: 15191.54 ms [ INFO ] Latency: - [ INFO ] Median: 120.85 ms - [ INFO ] Average: 120.49 ms - [ INFO ] Min: 103.28 ms - [ INFO ] Max: 138.46 ms - [ INFO ] Throughput: 49.65 FPS + [ INFO ] Median: 121.65 ms + [ INFO ] Average: 121.13 ms + [ INFO ] Min: 73.78 ms + [ INFO ] Max: 139.99 ms + [ INFO ] Throughput: 49.37 FPS Run Live Object Detection @@ -1295,27 +1215,29 @@ Run Live Object Detection import collections import time from IPython import display - from notebook_utils import VideoPlayer import cv2 - - + + # Main processing function to run object detection. - def run_object_detection(source=0, flip=False, use_popup=False, skip_first_frames=0, model=ov_model, device=device.value): + def run_object_detection( + source=0, + flip=False, + use_popup=False, + skip_first_frames=0, + model=ov_model, + device=device.value, + ): player = None compiled_model = core.compile_model(model, device) try: # Create a video player to play with target fps. - player = VideoPlayer( - source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames - ) + player = VideoPlayer(source=source, flip=flip, fps=30, skip_first_frames=skip_first_frames) # Start capturing. player.start() if use_popup: title = "Press ESC to Exit" - cv2.namedWindow( - winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE - ) - + cv2.namedWindow(winname=title, flags=cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE) + processing_times = collections.deque() while True: # Grab the frame. @@ -1335,20 +1257,20 @@ Run Live Object Detection ) # Get the results. input_image = np.array(frame) - + start_time = time.time() # model expects RGB image, while video capturing in BGR detections, _, input_shape = detect(compiled_model, input_image[:, :, ::-1]) stop_time = time.time() - + image_with_boxes = draw_boxes(detections[0], input_shape, input_image, NAMES) frame = image_with_boxes - + processing_times.append(stop_time - start_time) # Use processing times from last 200 frames. if len(processing_times) > 200: processing_times.popleft() - + _, f_width = frame.shape[:2] # Mean processing time [ms]. processing_time = np.mean(processing_times) * 1000 @@ -1372,9 +1294,7 @@ Run Live Object Detection break else: # Encode numpy array to jpg. - _, encoded_img = cv2.imencode( - ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100] - ) + _, encoded_img = cv2.imencode(ext=".jpg", img=frame, params=[cv2.IMWRITE_JPEG_QUALITY, 100]) # Create an IPython image.⬆️ i = display.Image(data=encoded_img) # Display the image in this notebook. @@ -1412,7 +1332,7 @@ Run the object detection: .. code:: ipython3 WEBCAM_INFERENCE = False - + if WEBCAM_INFERENCE: VIDEO_SOURCE = 0 # Webcam else: @@ -1434,12 +1354,18 @@ Run the object detection: .. code:: ipython3 quantized_model = core.read_model(ov_int8_model_path) - - run_object_detection(source=VIDEO_SOURCE, flip=True, use_popup=False, model=quantized_model, device=device.value) + + run_object_detection( + source=VIDEO_SOURCE, + flip=True, + use_popup=False, + model=quantized_model, + device=device.value, + ) -.. image:: 287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_36_0.png +.. image:: yolov9-optimization-with-output_files/yolov9-optimization-with-output_36_0.png .. parsed-literal:: diff --git a/docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_16_0.jpg b/docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_16_0.jpg similarity index 100% rename from docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_16_0.jpg rename to docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_16_0.jpg diff --git a/docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_16_0.png b/docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_16_0.png similarity index 100% rename from docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_16_0.png rename to docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_16_0.png diff --git a/docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_27_0.jpg b/docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_27_0.jpg similarity index 100% rename from docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_27_0.jpg rename to docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_27_0.jpg diff --git a/docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_27_0.png b/docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_27_0.png similarity index 100% rename from docs/notebooks/287-yolov9-optimization-with-output_files/287-yolov9-optimization-with-output_27_0.png rename to docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_27_0.png diff --git a/docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_36_0.png b/docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_36_0.png new file mode 100644 index 00000000000..f37245d461f --- /dev/null +++ b/docs/notebooks/yolov9-optimization-with-output_files/yolov9-optimization-with-output_36_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf18440131a6efa4ac70b72167eb50c602fc705dc4f9a4dbce860b916b67e633 +size 495625 diff --git a/docs/notebooks/253-zeroscope-text2video-with-output.rst b/docs/notebooks/zeroscope-text2video-with-output.rst similarity index 99% rename from docs/notebooks/253-zeroscope-text2video-with-output.rst rename to docs/notebooks/zeroscope-text2video-with-output.rst index 6c7d82f64cd..28e28d50415 100644 --- a/docs/notebooks/253-zeroscope-text2video-with-output.rst +++ b/docs/notebooks/zeroscope-text2video-with-output.rst @@ -72,7 +72,7 @@ provides already pretrained model from ``cerspense``. .. code:: ipython3 - %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "diffusers[torch]>=0.18.0" transformers "openvino>=2023.1.0" numpy gradio + %pip install -q --extra-index-url https://download.pytorch.org/whl/cpu "diffusers>=0.18.0" "torch>=2.1" transformers "openvino>=2023.1.0" numpy "gradio>=4.19" .. code:: ipython3 @@ -122,7 +122,7 @@ of ``diffusers.DiffusionPipeline``. .. code:: ipython3 - pipe = diffusers.DiffusionPipeline.from_pretrained('cerspense/zeroscope_v2_576w') + pipe = diffusers.DiffusionPipeline.from_pretrained("cerspense/zeroscope_v2_576w") .. parsed-literal:: @@ -189,6 +189,7 @@ function to serialize the result of conversion. from pathlib import Path + def convert(model: torch.nn.Module, xml_path: str, **convert_kwargs) -> Path: xml_path = Path(xml_path) if not xml_path.exists(): @@ -247,7 +248,7 @@ inference, we need only decoder part. def __init__(self, vae): super().__init__() self.vae = vae - + def forward(self, z: torch.FloatTensor): return self.vae.decode(z) @@ -298,9 +299,7 @@ Build a pipeline video.clamp_(0, 1) # prepare the final outputs i, c, f, h, w = video.shape - images = video.permute(2, 3, 0, 4, 1).reshape( - f, h, i * w, c - ) # 1st (frames, h, batch_size, w, c) 2nd (frames, h, batch_size * w, c) + images = video.permute(2, 3, 0, 4, 1).reshape(f, h, i * w, c) # 1st (frames, h, batch_size, w, c) 2nd (frames, h, batch_size * w, c) images = images.unbind(dim=0) # prepare a list of indvidual (consecutive frames) images = [(image.cpu().numpy() * 255).astype("uint8") for image in images] # f h w c return images @@ -313,7 +312,6 @@ Build a pipeline from diffusers.utils.torch_utils import randn_tensor - class OVTextToVideoSDPipeline(diffusers.DiffusionPipeline): def __init__( self, @@ -462,9 +460,7 @@ Build a pipeline with self.progress_bar(total=num_inference_steps) as progress_bar: for i, t in enumerate(timesteps): # expand the latents if we are doing classifier free guidance - latent_model_input = ( - torch.cat([latents] * 2) if do_classifier_free_guidance else latents - ) + latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) # predict the noise residual @@ -480,35 +476,21 @@ Build a pipeline # perform guidance if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) - noise_pred = noise_pred_uncond + guidance_scale * ( - noise_pred_text - noise_pred_uncond - ) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) # reshape latents bsz, channel, frames, width, height = latents.shape - latents = latents.permute(0, 2, 1, 3, 4).reshape( - bsz * frames, channel, width, height - ) - noise_pred = noise_pred.permute(0, 2, 1, 3, 4).reshape( - bsz * frames, channel, width, height - ) + latents = latents.permute(0, 2, 1, 3, 4).reshape(bsz * frames, channel, width, height) + noise_pred = noise_pred.permute(0, 2, 1, 3, 4).reshape(bsz * frames, channel, width, height) # compute the previous noisy sample x_t -> x_t-1 - latents = self.scheduler.step( - noise_pred, t, latents, **extra_step_kwargs - ).prev_sample + latents = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs).prev_sample # reshape latents back - latents = ( - latents[None, :] - .reshape(bsz, frames, channel, width, height) - .permute(0, 2, 1, 3, 4) - ) + latents = latents[None, :].reshape(bsz, frames, channel, width, height).permute(0, 2, 1, 3, 4) # call the callback, if provided - if i == len(timesteps) - 1 or ( - (i + 1) > num_warmup_steps and (i + 1) % self.scheduler.order == 0 - ): + if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % self.scheduler.order == 0): progress_bar.update() if callback is not None and i % callback_steps == 0: callback(i, t, latents) @@ -573,16 +555,10 @@ Build a pipeline return_tensors="pt", ) text_input_ids = text_inputs.input_ids - untruncated_ids = self.tokenizer( - prompt, padding="longest", return_tensors="pt" - ).input_ids + untruncated_ids = self.tokenizer(prompt, padding="longest", return_tensors="pt").input_ids - if untruncated_ids.shape[-1] >= text_input_ids.shape[-1] and not torch.equal( - text_input_ids, untruncated_ids - ): - removed_text = self.tokenizer.batch_decode( - untruncated_ids[:, self.tokenizer.model_max_length - 1 : -1] - ) + if untruncated_ids.shape[-1] >= text_input_ids.shape[-1] and not torch.equal(text_input_ids, untruncated_ids): + removed_text = self.tokenizer.batch_decode(untruncated_ids[:, self.tokenizer.model_max_length - 1 : -1]) print( "The following part of your input was truncated because CLIP can only handle sequences up to" f" {self.tokenizer.model_max_length} tokens: {removed_text}" @@ -603,10 +579,7 @@ Build a pipeline if negative_prompt is None: uncond_tokens = [""] * batch_size elif type(prompt) is not type(negative_prompt): - raise TypeError( - f"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=" - f" {type(prompt)}." - ) + raise TypeError(f"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=" f" {type(prompt)}.") elif isinstance(negative_prompt, str): uncond_tokens = [negative_prompt] elif batch_size != len(negative_prompt): @@ -636,9 +609,7 @@ Build a pipeline seq_len = negative_prompt_embeds.shape[1] negative_prompt_embeds = negative_prompt_embeds.repeat(1, num_images_per_prompt, 1) - negative_prompt_embeds = negative_prompt_embeds.view( - batch_size * num_images_per_prompt, seq_len, -1 - ) + negative_prompt_embeds = negative_prompt_embeds.view(batch_size * num_images_per_prompt, seq_len, -1) # For classifier free guidance, we need to do two forward passes. # Here we concatenate the unconditional and text embeddings into a single batch @@ -684,28 +655,17 @@ Build a pipeline negative_prompt_embeds=None, ): if self.height % 8 != 0 or self.width % 8 != 0: - raise ValueError( - f"`height` and `width` have to be divisible by 8 but are {self.height} and {self.width}." - ) + raise ValueError(f"`height` and `width` have to be divisible by 8 but are {self.height} and {self.width}.") - if (callback_steps is None) or ( - callback_steps is not None - and (not isinstance(callback_steps, int) or callback_steps <= 0) - ): - raise ValueError( - f"`callback_steps` has to be a positive integer but is {callback_steps} of type" - f" {type(callback_steps)}." - ) + if (callback_steps is None) or (callback_steps is not None and (not isinstance(callback_steps, int) or callback_steps <= 0)): + raise ValueError(f"`callback_steps` has to be a positive integer but is {callback_steps} of type" f" {type(callback_steps)}.") if prompt is not None and prompt_embeds is not None: raise ValueError( - f"Cannot forward both `prompt`: {prompt} and `prompt_embeds`: {prompt_embeds}. Please make sure to" - " only forward one of the two." + f"Cannot forward both `prompt`: {prompt} and `prompt_embeds`: {prompt_embeds}. Please make sure to" " only forward one of the two." ) elif prompt is None and prompt_embeds is None: - raise ValueError( - "Provide either `prompt` or `prompt_embeds`. Cannot leave both `prompt` and `prompt_embeds` undefined." - ) + raise ValueError("Provide either `prompt` or `prompt_embeds`. Cannot leave both `prompt` and `prompt_embeds` undefined.") elif prompt is not None and (not isinstance(prompt, str) and not isinstance(prompt, list)): raise ValueError(f"`prompt` has to be of type `str` or `list` but is {type(prompt)}") @@ -728,9 +688,7 @@ Build a pipeline latents = 1 / scale_factor * latents batch_size, channels, num_frames, height, width = latents.shape - latents = latents.permute(0, 2, 1, 3, 4).reshape( - batch_size * num_frames, channels, height, width - ) + latents = latents.permute(0, 2, 1, 3, 4).reshape(batch_size * num_frames, channels, height, width) image = self.vae_decoder(latents)[0] image = torch.tensor(image) video = ( @@ -769,8 +727,8 @@ select device from dropdown list for running inference using OpenVINO device = widgets.Dropdown( options=core.available_devices + ["AUTO"], - value='AUTO', - description='Device:', + value="AUTO", + description="Device:", disabled=False, ) @@ -849,7 +807,7 @@ Video generation .. code:: ipython3 - frames = ov_pipe(prompt, num_inference_steps=25)['frames'] + frames = ov_pipe(prompt, num_inference_steps=25)["frames"] @@ -863,8 +821,8 @@ Video generation images = [PIL.Image.fromarray(frame) for frame in frames] images[0].save("output.gif", save_all=True, append_images=images[1:], duration=125, loop=0) with open("output.gif", "rb") as gif_file: - b64 = f'data:image/gif;base64,{base64.b64encode(gif_file.read()).decode()}' - IPython.display.HTML(f"") + b64 = f"data:image/gif;base64,{base64.b64encode(gif_file.read()).decode()}" + IPython.display.HTML(f'') @@ -882,9 +840,7 @@ Interactive demo .. code:: ipython3 - def generate( - prompt, seed, num_inference_steps, _=gr.Progress(track_tqdm=True) - ): + def generate(prompt, seed, num_inference_steps, _=gr.Progress(track_tqdm=True)): generator = torch.Generator().manual_seed(seed) frames = ov_pipe( prompt, @@ -893,9 +849,7 @@ Interactive demo )["frames"] out_file = tempfile.NamedTemporaryFile(suffix=".gif", delete=False) images = [PIL.Image.fromarray(frame) for frame in frames] - images[0].save( - out_file, save_all=True, append_images=images[1:], duration=125, loop=0 - ) + images[0].save(out_file, save_all=True, append_images=images[1:], duration=125, loop=0) return out_file.name @@ -912,7 +866,7 @@ Interactive demo ["A panda eating bamboo on a rock.", 0, 25], ["Spiderman is surfing.", 0, 25], ], - allow_flagging="never" + allow_flagging="never", ) try: diff --git a/samples/js/node/notebooks/001-hello-world.nnb b/samples/js/node/notebooks/001-hello-world.nnb index dcf861b8d69..dbc46d19634 100644 --- a/samples/js/node/notebooks/001-hello-world.nnb +++ b/samples/js/node/notebooks/001-hello-world.nnb @@ -3,7 +3,7 @@ { "language": "markdown", "source": [ - "# Hello Image Classification\n\nThis basic introduction to OpenVINO™ shows how to do inference with an image classification model.\n\n A pre-trained [MobileNetV3 model](https://docs.openvino.ai/2023.0/omz_models_model_mobilenet_v3_small_1_0_224_tf.html) from [Open Model Zoo](https://github.com/openvinotoolkit/open_model_zoo/) is used in this tutorial. For more information about how OpenVINO IR models are created, refer to the [TensorFlow to OpenVINO](../101-tensorflow-to-openvino/101-tensorflow-to-openvino.ipynb) tutorial.\n " + "# Hello Image Classification\n\nThis basic introduction to OpenVINO™ shows how to do inference with an image classification model.\n\n A pre-trained [MobileNetV3 model](https://docs.openvino.ai/2023.0/omz_models_model_mobilenet_v3_small_1_0_224_tf.html) from [Open Model Zoo](https://github.com/openvinotoolkit/open_model_zoo/) is used in this tutorial. For more information about how OpenVINO IR models are created, refer to the [TensorFlow to OpenVINO](../tensorflow-to-openvino/tensorflow-to-openvino.ipynb) tutorial.\n " ], "outputs": [] },